Está en la página 1de 9

4.- Disear una Mquina de Turing que calcule la paridad de un nmero binario.

Es decir, si
el nmero de 1s de la cadena es par, se aade un 0 al final, y si es impar, se aade un 1.
Como se ve en la siguiente imagen, el conjunto de smbolos que lee la mquina es {0,1}, el
conjunto de smbolos que se escribe en la cinta es {0,1, }, los estados son {q0, q1, q2},
el estado inicial es qo y el final q2

Grafo que representa la mquina de Turing


- q0 es el estado par, es decir que se ha ledo un nmero de unos par en la palabra
de entrada (considerndose 0 unos como par).
-q1 es el estado impar, es decir que se ha ledo un nmero de unos impar en la
palabra de entrada.
-q2 es el estado final de aceptacin, al cual se tras escribir el 0 1 final.
Proceder a explicar cmo funciona la mquina, se inicia en q0 en caso de que lea un 0
en el primer espacio de la cinta se queda en el estado q0 escribe un 0 y se recorre a la
derecha, en caso de que el nmero sea 1 se pasa al estado impar, se escribe un 1 y se
recorre a la derecha. En ambos estados hace lo mismo por lo que mientras se recorre la
palabra la mquina pasa de un estado a otro, de q0 a q1, es decir de par a impar hasta que
se encuentre un espacio en blanco, al encontrar el espacio en blanco dependiendo de en
qu estado se qued se escribe un 0 si es par mantener la paridad un 1 para conseguir la
paridad y no se recorre la cinta.
Entrada
0

Q0
0,RQ0

Q1
0,RQ1

Q2
N/A

1
b

1,RQ1
0,SQ2

1,RQ0
1,SQ2

N/A
N/A

Ejemplo
Para la entrada 10101
10101
10101

10101
10101

10101

10101

q0q1
q0q1

q1q1
q1q2

q1q0

q0q0

final: 101011 ; lo cual indica que el nmero de unos es impar.


5.- Disear una MT que sea un contador unitario de caracteres del lenguaje con alfabeto
{a,b,c}. Es decir, se deben devolver tantos unos como caracteres haya en la palabra de
entrada. Considerar la codificacin unitaria del 0.
Tomando en cuenta que no no dice, si conservar la palabra original o no, podemos tener
dos soluciones una donde se conserve la palabra original y se cuenten los caracteres y otra
donde no importe si se guarda la palabra original.
Caso nmero uno.

Grafo que representa el caso uno de la mquina de Turing


- q0 es el estado inicial, este estado contabiliza las a, b, c de la cinta cambindolas
por unos y recorriendo la cinta a la derecha pero mantenindose en el estado q0.
-q1 es el estado final al que se llega cuando se encuentra un espacio vaco que indica
el final de la palabra al darse esta transicin se pone un espacio en blanco a la cinta
y se para la cinta.
Proceder a explicar cmo funciona la mquina, se inicia en q0 cada que detecta una a. b
o c se queda en el estado q0, cambia la letra por un uno y avanza a la derecha, en caso de
leer el final de la palabra osea un espacio en blanco avanza al estado q1 escribiendo un
espacio en blanco y deteniendo la cinta quedndose en este estado final y terminando la
cuenta.
Entrada
a

Q0
1,RQ0

Q1
N/A

b
c
b*

1,RQ0
1,RQ0
b*,SQ1

N/A
N/A
N/A

Ejemplo

Para la entrada aacbba


aacbba
111111

1acbba

11cbba

111bba

1111ba

11111

q0q0
q0q1

q0q0

q0q0

q0q0

q0q0

q0q0

final: 111111 ; lo cual indica una cuenta de 6 caracteres.


Caso nmero dos.

Grafo que

representa el caso
dos de la mquina de Turing

- q0 este estado funciona como marca de inicio para el conteo poniendo el primer
grafo como mayscula.
-q1 funciona como un estado de transicin para recorrer la cinta a la derecha y
contar el primer grafo.
-q2 funciona como un estado de transicin para recorrer la cinta a la izquierda y te
identifica el punto de inicio cambia la letra de inicio por minscula y te manda a q0.
-q3 Este estado funciona como estado para identificar el final de conteo
grafos te recorre los grafos a la izquierda y te manda al estado final.

de los

-q4 es el estado final determina la aceptacin.


Proceder a explicar cmo funciona la mquina, al momento de arranque la mquina el
estado 0 cambia la primer letra a mayscula para identificar el inicio de carrera y pasa al
estado q1 el estado q1 se encarga de recorrer toda la cinta hasta encontrar un espacio en
blanco y cambiarlo por un 1 e iniciar el conteo pasando tambin al estado q2, el estado q2
recorre la cinta a la izquierda hasta identificar el inicio de carrera y te manda al estado q0 y
recorre el inicio de carrera al segundo grafo, este ciclo se repite en cuantos grafos existan

en la cinta. Cuando se llegue al final de la cinta el estado q0 mandar al estado q3 el cual


se encargar de recorrer cada uno de los grafos a la izquierda y asegurarse de que ya no
hay un punto de inicio mandando as al estado final q4.
Entrada
a
b
c
1
b*

Q0
A,RQ1
B,RQ1
C,RQ1
1,LQ3
N/A

Q1
a,RQ1
b,RQ1
c,RQ1
1,RQ1
1,LQ2

Q2
a,LQ2
b,LQ2
c,LQ2
1,LQ2
N/A

Q3
a,LQ3
b,LQ3
c,LQ3
N/A
b*,SQ4

Q4
N/A
N/A
N/A
N/A
N/A

N/A

N/A

a,RQ0

N/A

N/A

N/A

N/A

b,RQ0

N/A

N/A

N/A

N/A

c,RQ0

N/A

N/A

Ejemplo
Para la entrada abc
abc1

Abc
aBc1

Abc
aBc1

q0q1
q1q1
q1q1
q1q1

Abc

q1q1

Abc

q1q2

aBc1
aBc11
aBc11
abC11
abC111
abC111
q0q2
q2q2
q2q2
q2q2

abC111
abc111
q2q0

q2q2

abc111
q0q3

q1q2

aBc11

q2q0

q0q1

Abc1
q2q2

abc11
q1q1

Abc1
q2q0

abC11
q1q1

Abc1
q0q1

abC11
q1q2

abc111 abc111 abc111 abc111


q3q3

q3q3

q3q3

q3q4

Estado

final
6.-Disear una mquina de turing que haga una copia de una cadena de smbolos {A, B,
C}, sin carcter de separacin por ejemplo AABC, devuelve el valor en cinta AABCAABC.

Grafo que representa la solucin con mquina de Turing

- q0 te manda al estado q1 recorre la cinta a la derecha y reemplaza la letra con ella


misma.
-q1 recorre la longitud total de la cinta hasta el primer espacio en blanco dnde
colocara una Y para limitar la longitud de la palabra. Te pasa al estado q2, recorre la
cinta a la izquierda despus de colocar la Y que indica el final de cinta y mientras
existan letras en la cinta las reemplaza consigo mismas desplazando hacia la
derecha.
-q2 regresa la cinta a la izquierda reemplazando las letras consigo mismas hasta
llegar al espacio vaco lo cual te manda a q3 y recorre a la derecha.
-q3 te manda a q4 sin importar que tipo de letra te encuentres pues la reemplaza
consigo misma y te desplaza a la derecha.
-q4 acta como el copiador de las letras dependiendo de la letra que este leyendo en
ese momento, este te direccionar al ciclo para copiar, tambin al terminar el
copiado de las letras a la derecha de la letra de inicio detecta una Y que indica el
final de la palabra y recorre a la izquierda pasando al estado q11
-q5 reemplaza la letra A por una X y recorre la cinta a la derecha hasta encontrar un
espacio vaco y reemplazarlo por una A y recorrer la cinta a la izquierda.

-q6 reemplaza la letra B por una X y recorre la cinta a la derecha hasta encontrar un
espacio vaco y reemplazarlo por una B y recorrer la cinta a la izquierda.
-q7 reemplaza la letra C por una X y recorre la cinta a la derecha hasta encontrar un
espacio vaco y reemplazarlo por una C y recorrer la cinta a la izquierda.
-q8 recorre la cinta a la izquierda hasta encontrar el espacio ocupado por la X y
reemplazarlo por la letra A
-q9 recorre la cinta a la izquierda hasta encontrar el espacio ocupado por la X y
reemplazarlo por la letra B
-q10 recorre la cinta a la izquierda hasta encontrar el espacio ocupado por la X y
reemplazarlo por la letra C.
-q11 recorre la cinta hacia la izquierda hasta encontrar un espacio en blanco, lo
reemplaza por un espacio en blanco y recorre a la derecha
-q12 este estado nos ayuda a copiar la primera letra de la palabra sin importar cul
sea, este estado te direcciona a la ltima etapa de copiado, dependiendo si la
entrada es A, B, C. te direcciona al estado q13, q14 q15 respectivamente.
-q13 recorre la cinta a la derecha hasta encontrar la Y que limita el tamao de la
palabra y la reemplaza por una A y te manda a q16.
-q14 recorre la cinta a la derecha hasta encontrar la Y que limita el tamao de la
palabra y la reemplaza por una B y te manda a q16.
-q15 recorre la cinta a la derecha hasta encontrar la Y que limita el tamao de la
palabra y la reemplaza por una C y te manda a q16.
-q16 te termina de recorrer la cinta hacia la derecha y al encontrar un espacio en
blanco lo reemplaza consigo mismo y se detiene la cinta y te manda al estado final.
-q17 Es el estado que valida la palabra.
Entrada
A
B
C
Y
X
b

q0
A,R-->q1
B,R-->q1
C,R-->q1
N/A
N/A
N/A

q7
A,R-->q7
B,R-->q7
C,R-->q7
Y,R-->q7
N/A
C,L-->q10

q8
A,L-->q8
B,L-->q8
C,L-->q8
Y,L-->q8
A,R-->q4
N/A

q14
A,R-->q14

q15
A,R-->q15

q1
A,R-->q1
B,R-->q1
C,R-->q1
N/A
N/A
Y,L-->q2
q9
A,L-->q9
B,L-->q9
C,L-->q9
Y,L-->q9
B,R-->q4
N/A
q16
A,R-->16

q2
A,L-->q2
B,L-->q2
C,L-->q2
N/A
N/A
b,R-->q3

q3
A,R-->q4
B,R-->q4
C,R-->q4
N/A
N/A
N/A

q10
A,L-->q10
B,L-->q10
C,L-->q10
Y,L-->q10
C,R-->q4
N/A
q17
N/A

q4
X,R-->q5
X,R-->q6
X,R-->q7
Y,L-->q11
N/A
N/A

q11
A,L-->q11
B,L-->q11
C,L-->q11
N/A
N/A
b,R-->q12

q5
A,R-->q5
B,R-->q5
C,R-->q5
Y,R-->q5
N/A
A,L-->q8

q12
A,R-->q13
B,R-->q14
C,R-->q15
N/A
N/A
N/A

q6
A,R-->q6
B,R-->q6
C,R-->q6
Y,R-->q6
N/A
B,L-->q9

q13
A,R-->q13
B,R-->q13
C,R-->q13
A,R-->q16
N/A
N/A

B,R-->q14 B,R-->q15 B,R-->17


N/A
C,R-->q14 C,R-->q15 C,R-->18
N/A
B,R-->q16 C,R-->q16
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
b,S
N/A
Tabla de comportamiento de la mquina de Turing en sus diferentes estados.
Demostracin de funcionamiento de la mquina de Turing (a diferencia de los ejercicios
anteriores el ejemplo ser puesto con imgenes de JPLAB por su complejidad.
EL EJEMPLO SE DA CON LA SECUENCIA :

ABCA

Secuencia paso a paso parte 1

Secuencia paso a paso

parte 2

Secuencia
paso a paso parte 3

Secuencia paso a paso parte 4

Secuencia
paso a paso
parte 5
Secuencia paso a paso parte 6

parte
a paso parte 8

parte
paso a paso parte 10

Secuencia
7

Secuencia
9

paso a paso
Secuencia paso

paso a paso
Secuencia

Secuencia paso a paso parte 11 final de la


secuencia