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

Post on 11-May-2020

4 views 0 download

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

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

edfranco@ipn.mx

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

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

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

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

[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

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

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

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

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

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

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