20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2....

12
Clase 20: Variantes de la Máquina de Turing 1 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom [email protected]

Transcript of 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2....

Page 1: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Clase 20: Variantes de la Máquina de Turing

1M. en C. Edgardo Adrián Franco Martínez

http://computacion.cs.cinvestav.mx/~efranco

@efranco_escom

[email protected]

Page 2: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Contenido

• Introducción

• Almacenamiento en el Estado

• Ejemplo 01

• Separar la cinta en tramos o pistas

• Ejemplo 02

• Combinando variantes

• Ejemplo 03

Compiladores (Lenguajes y gramáticas - Edgardo A. Franco)

2

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 3: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Introducción

Compiladores (Lenguajes y gramáticas - Edgardo A. Franco)

• Hay otros modelos de máquinas de Turing

• Todos ellos son equivalentes al modelo simple

(máquinas estándar).

1. Cualquier máquina estándar puede ser simulada por

una máquina de estos modelos

2. Cualquier máquina de estos modelos puede ser

simulada por una máquina estándar.

3. Ningún modelo es más potente que el modelo

estándar3

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 4: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Almacenamiento en el Estado

Compiladores (Lenguajes y gramáticas - Edgardo A. Franco)

• Una máquina M puede almacenar datos en su

unidad de control (y realizar los movimientos en

función de estos datos y del estado actual):

(no cambia la definición de la máquina de Turing) 4

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 5: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Ejemplo 01• M= ({0,1,•},{1,0},•,Q,[q0,•],f,{[q2, •]})

Donde: Q={[q0,•], [q1,1], [q1,0], [q2,•]} ⊆{q0,q1,q2}×{0,1, •}

(los estados son tuplas [estado, dato])

Transiciones:

f([q0,•],0)= ([q1,0], •,R)

f([q0,•],1)= ([q1,1], •,R)

f([q1,0],1)= ([q1,0], •,R)

f([q1,1],0)= ([q1,1], •,R)

f([q1,0],0)= ([q2,•],0,L)

f([q1,1],1)= ([q2,•],1,L) 5

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 6: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

[q0,•]01011├ [q1,0]1011├ [q1,0]011├ [q2,•]•011

6

[q0, •]= 0 1 1 1 …

[q1,0]= … 1 0 1 1 …

[q1,0]= … 0 1 1 …

[q2,•]= … • 0 1 1 …

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 7: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Separar la cinta en tramos o pistas• Se puede considerar que la cinta de una máquina M

tiene varias pistas o tramos (para almacenar

distintos datos).

• Idea: se considera los símbolos de la cinta como

tuplas [X,Y]

7

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 8: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Ejemplo 02• Usar el primer tramo para marcar celdas en el

segundo tramo.

• Marcar la primera b (alfabeto de entrada es {a,b}) 8

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 9: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Transiciones:

f(q0,[•,a])= (q0,[•,a],R)

f(q0,[•,b])= (q1,[*,b],R)

••••• •••• ••* q0a...ab...├* a...aq0b...├ a...abq1...

9

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 10: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Combinando variantes• Si consideramos el almacenamiento de símbolos en

el estado y el aumento de la cantidad de cintas,

podríamos facilitar la tarea de implementar

problemas más complejos de manera más simple.

10

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 11: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Ejemplo 03

• Buscar la celda marcada, cópiala al dato

almacenado en el estado y quita la marca (alfabeto

de entrada es {a,b})

f([q0,•],[•,a])= ([q0,•],[•,a],R)

f([q0,•],[•,b])= ([q0,•],[•,b],R)

f([q0,•],[*,b])= ([q1,b],[•,b],R)

f([q0,•],[*,a])= ([q1,a],[•,a],R)

••*• •• *• ••• •

[q0,•] aabb...├* aa[q0,•] bb...├ aab[q1,b]b... 11

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

Page 12: 20 Variantes de la Máquina de Turing - Edgardo A. Franco · una máquina de estos modelos 2. Cualquier máquina de estos modelos puede ser simulada por una máquina estándar. 3.

Teo

ría

co

mp

uta

cio

na

l

Cla

se 2

0:

Va

ria

nte

s d

e la

qu

ina

de

Tu

rin

g

la c

inta

en

tra

mo

s P

rof.

Ed

ga

rdo

Ad

riá

n F

ran

co M

art

íne

z

12

Quedando de la siguiente manera:

q1 b