Sei sulla pagina 1di 18

Captulo

MODELO DE LA MQUINA DE TURING

Operaciones:
1) Parar la computacin.
2) Moverse un cuadrado a la derecha.
3) Moverse un cuadrado a la izquierda.
4) Escribir el smbolo S0 en lugar de cualquier
otro que este en el cuadrado examinado.
5) Escribir el smbolo S1 en lugar de cualquier
otro que este en el cuadrado examinado.
.
.
.

(n+4) Escribir el smbolo Sn en lugar de cualquier


otro que este en el cuadrado examinado.

Captulo

Ejemplo 3.1 escribe S1 S1 S1


Especificaciones de la mquina:
a) Tabla de la mquina

q1
q2
q3

S0
S1q1
S1q2
S1q3

S1
Lq2
Lq3

accin,nuevo estado

b) Grafo de flujo
S0:S1

S0:S1

S0:S1

q1 S1:L q2 S1:L

q3

Smbolo
estado examinado : accin
actual

nuevo
estado

c) Conjunto de cudruples:
q1S0S1q1, q1S1Lq2, q2S0S1q2, q2S1Lq3, q3S0S1q3

Captulo

Funcionamiento de la mquina:
0000000

0000100

0000100

0001100

0001100

0011100

El grafo de flujo se puede escribir sin etiquetar los


estados:
S0:S1

S0:S1
S1:L

S0:S1
S1:L

La configuracin: 0011100
3

puede escribirse como:


S0S0S1S1S1S0S0
q3

Captulo

Ejemplo 3.2 Duplicacin del nmero de 1s.

Cmo funciona la mquina?


Supongmos que la configuracin inicial es: 111
1

las siguientes configuraciones seran:


0111,

00111,

10111,

010111,

110111.

en este momento se ha duplicado el primer 1 y se ha


separado de la cadena original con un 0.
Ahora debemos escribir un cero en el lado derecho de
la cadena original y borrar el 1 que esta en el extremo
derecho

110111, 110111, 110111, 110111, 110111,


5

1101110.
6
4

Captulo

Borrado del 1 que est ms a la derecha:

110111,

110110.

Se repite el ciclo para duplicar el siguiente 1 y llegar a la


configuracin:

1111010
7

a partir de ella se continua obteniendo:

111101, 111101, 111101, 111101, 111101, 111101,


8

10

10

10

10

0111101, 0111101,0111101, 1111101, 01111101


10

11111101.
4

Ahora tenemos seis unos y nos falta barrar un uno de


la cadena original:

11111101, 11111101,..., 11111101, 11111101,


5

11111101, 111111010, 11111101, 11111100,


6

1111110, 111111, 111111,..., 111111, 0111111,


8

11

11

11

111111.
12

11

Captulo

Ejemplo 3.3. Escribir 2n unos en una cinta en


blanco y parar, examinando el uno que est en el
extremo izquierdo.

0:1
Escribir juntas 2n replicas de :

0:1

0:1

0:1

0:1

0:R

1:L

1:L
1

1:L ...
2

...
n

3
0:L

Escribir n

1s
Duplicacin

10
1:L

Captulo

PROBLEMAS RESUELTOS

Problema 3.1.- Disee una mquina de Turing


para identificar si un nmero es par o impar.

f (n) =

0 si n es par
1 si n e s n o n

Configuracin inicial

11 ... 1

Estratgia:
Lee 1, borra y mueve hacia la derecha
Si lee 0: escribe 1, non
Si lee 1: borra 1, mueve hacia derecha
Si lee 0, termina par
Si lee 1, inicia rutina principal

Captulo

escribe B

mueve R

escribe 1

B:R

B:1

1:B

PAR

B:R

1:B

NON

Configuraciones:

NON
111 011 011 001 001 000 0000 0001
1

PAR
1111

0111

0111

0011

0001

0000

0000

0011
1

0001
2

Captulo

Problema 3.2
12121

32121

33121

32121

33121

03121

03121

32121

32121

33121

33121

033121

33121

33121

3121

0121

121

121

etc.

--------------------------------------

1122

3122

3132

3122

3122

3132

3122

3132

03132

3132

132

332

0332

332

333

333

0333

333

033

00

332

2
3
3
3
0

132 ...

333

033
6

2
2
2
3
0

332

1
1
1
3
0

0132
5

RESUMEN:
1
3
0
0
0

3122

33

03

Captulo

Problema 3.3

1)
2)
3)

312

313

319

310

310

320

B0

10

O:L
X:X+1

2
B:1

10

Captulo

Problema 3.4
Multiplicar en notacin mondica.
1110111
0110111
011001101
0110001011

Leay Frog Routine

0110000111
0010000111
001000001101
0010000001011
0010000000111

0000 000000111
0000100000111
0000110000111

.
.

0000111111111

11

Captulo

Problema 3.5
P

111011
011011
011111
1:0

1:R
0:R

1:L
0:1

0:R
3

q1S1S0q1; q1S0Rq2; q2S1Rq2; q2S0S1q3; q3S1Lq3;


q3S0Rq4;

12

Captulo

Problema 3.6: Numeracin de mquinas de Turing


Smbolo
: ACTO
entrada

qi

qj

Simbolos de Entrada:
Acto: {L ,
Estados:

R, S

{q 1 ,

{S 0 , S 1 , . . . ,

,S 1 , . . . , S

Sn

q 2 , . . ., q n }

Lista de Smbolos:
1
2
3
4
5
6
7
.
.
.

R
L
S0
q1
S1
q2
S2
.
.
.

12
122
1222
12222
122222
1222222
1222222

Configuracin Standard:
111011

+
13

0111110

Captulo

Considere mquinas m1 y m2
B:R

m1: q1S0Rq1

f(n) = n 122222 1222 12 12222


q1

S0

q1

B:L

m2: q1S0Lq1

f(n) = n

12222 1222 122 12222

f(n) =

12222 122222 12 12222

1:R

ms: q1S1Rq1

En general si w especifca una mquina de Turing


a) Longitud de w es divisible por 4
b) Solo q1, q2, q3, ... ocurren en posicin 1, 4, 5, 8, ... 4n,
4n + 1
c) Solo S0, S1, S2 ... ocurren en posicin 2, 6, 10, ... , 4n +2
d) Solo R1 L1 S0, S1, S2 ... ocurren en posicin 3, 7, 11, ...
4n + 3
c) No qiSj ocurre ms de una vez
entonces podemos identificar el conjunto numerable
m1, m2, m3, . . . mn
14

Captulo

Mquinas Equivalentes
q1S0Rq1

12222 1222 12 12222

q2S0Rq2
.
.
.
etc.

1222222 1222 12 1222222

Mquinas descritas con un Cudruple


B:R

B:L

I:R

I:L

q1S0Rq1

q1S0Lq1

q1S1Rq1

q1S1Lq1

f(n) = n

f(n) = n

f(n) =

f(n) =

B:R

1
q1S0Rq2
f(n) = n

B:L

I:R

q1S0Lq2
f(n) = n

15

I:L

q1S1Rq2

q1S1Lq2

f(n) =

f(n) =

Captulo

HALTING PROBLEM

111

Mn

? (para o no para)

3 casos
1) Mn para en conf. standard: Funcin Total

2) Para algunos argumentos Mn para en conf.


diferente de la standard: Funcin Parcial
I:L

3) Mn(m) no para

B:L

no para

Cmo saber si una mquina cualquiera para


evaluando un argumento arbitrario ?

16

Captulo

Considere mquina M (Mm) y argumento m


defina halting funcin h:

2 s i M (n ) p a r a
h( m, n) =
1 s i M ( n ) n o p a r a
m

M
1:R
DUPLICA
n

B:L
B:R

b
I:R

Se hacen tres suposiciones:


a) H para
b) En el estado final de H no existe un arco
etiquetado con un 1.
c) Las mquinas se pueden concatenar y la
concatenacin depende de la configuracin
standar.

17

Captulo

M2:
11 caso 1: h(2,2) para
11011

H
1

caso 2: h(2,2) no para

Caso 1: 11 11 110 1100 11000 ... no para


a

Caso 2:

1 10 10
a

para

B:L
anti h
a

B:R

1:R

Si H para

Si H

no para

no para

para

Si aplicamos M, Si M para entonces M no para


18

Potrebbero piacerti anche