Вы находитесь на странице: 1из 3

7.1.

Codificaci
on de m
aquinas de Turing

Toda MT se puede codificar como una secuencia finita de ceros y unos.


En esta seccion presentaremos una codificacion valida para todas las MT
que act
uen sobre un alfabeto de entrada pre-establecido. Para simplificar la codificacion, suponemos que toda MT tiene un u
nico estado inicial,
denotado q1 , y un u
nico estado final, denotado q2 (en la seccion 6.4.1 se mostro que esta modificacion siempre se puede hacer, sin alterar los lenguajes
aceptados). El alfabeto de cinta de cada MT M es de la forma
= {s1 , s2 , . . . , sm , . . . , sp }
donde s1 representa el smbolo blanco b, = {s2 , . . . , sm } y sm+1 , . . . , sp
son los smbolos auxiliares utilizados por M (cada MT utiliza su propia
coleccion finita de smbolos auxiliares). Todos estos smbolos se codifican
como secuencias de unos:
Smbolo
s1 (smbolo b)
s2
s3
..
.

Codificacion
1
11
111
..
.
11
1}
| {z

sm

m veces

..
.
sp

..
.
11

| {z 1}
p veces

Las cadenas de se pueden codificar usando 0 como separador. Por ejemplo, la cadena aabbab se codifica como
01101101110101101110
si los smbolos del alfabeto de cinta b, a y b se han codificado como 1, 11 y
111, respectivamente. Notese que en la codificacion de una cadena w
no aparecen nunca dos ceros consecutivos. En general, la codificacion de
una cadena si1 si2 sik es
01i1 01i2 0 01ik 0.
Los estados de una MT, q1 , q2 , q3 , . . . , qn , se codifican tambien con secuencias de unos:
1

Estado
q1 (inicial)
q2 (final)
..
.

Codificacion
1
11
..
.
11
1}
| {z

qn

n veces

Las directrices de desplazamiento , y se codifican con 1, 11 y 111,


respectivamente. Una transicion (q, a) = (p, b, D) se codifica usando ceros
como separadores para los estados, los smbolos del alfabeto de cinta y la
directriz de desplazamiento D. As, la transicion (q3 , s2 ) = (q5 , s3 , ) se
codifica como
01110110111110111010
En general, la codificacion de una transicion cualquiera (qi , sk ) = (qj , s` , D)
es
01i 01k 01j 01` 01t 0
donde t = 1 o 2 o 3, seg
un D sea , o . Observese que aparecen
exactamente seis ceros separados por secuencias de unos.
Una MT se codifica escribiendo consecutivamente las secuencias de las
codificaciones de todas sus transiciones. Mas precisamente, la codificacion
de una MT M es de la forma
C1 C2 Cr
donde las Ci son las codificaciones de las transiciones de M . Puesto que
el orden en que se presentan las transiciones de una MT no es relevante,
una misma MT tiene varias codificaciones diferentes. Esto no representa
ninguna desventaja practica o conceptual.

Ejemplo

Considerese la siguiente MT M que acepta el lenguaje a+ b:


(q1 , a) = (q3 , a, )
(q3 , a) = (q3 , a, )
(q3 , b) = (q4 , b, )
(q4 , b) = (q2 , b, )

Si los smbolos del alfabeto de cinta b, a y b se codifican con 1, 11 y 111,


respectivamente, la MT M se puede codificar como la siguiente secuencia
binaria:
010110111011010011101101110110100111011101111011101001111010110101110.

la cual se puede escribir tambien como


01012 013 012 010013 012 013 012 010013 013 014 013 010014 01012 01013 0.
Cambiando el orden de las transiciones de M obtendramos en total 4! = 24
codificaciones diferentes para M .
Es claro que una secuencia de ceros y unos que represente una MT se
puede decodificar. De hecho, es facil concebir un algoritmo que determine
si una secuencia binaria finita dada es o no una MT y que la decodifique
en caso afirmativo.

Ejercicios de la secci
on 7.1

1.

Sea M la MT definida por el siguiente diagrama de estados:


b|b

a|a

> q1

q3

b|b
q4

a|a

b|b
q2

Determinar el lenguaje aceptado por M y codificar la maquina M


siguiendo el esquema presentado en esta seccion (codificar los smbolos
del alfabeto de cinta b, a y b con 1, 11 y 111, respectivamente).
2.

Las siguientes secuencias binarias codifican MT que act


uan sobre el
alfabeto de entrada = {0, 1}, siguiendo el esquema de codificacion
presentado en esta seccion. Decodificar las maquinas y determinar en
cada caso el lenguaje aceptado (los smbolos b, 0 y 1 estan codificados
como 1, 11 y 111, respectivamente).
sigue

(a)

010110111011010011101110111101110100111101110
111101110100111101101111101101001111010110101110

(b)

01013 01013 01001012 013 012 01001012 015 012 0100

sigue

sigue

13 012 014 012 010014 013 01013 010015 013 01013 0100
15 01012 01013 00101012 01013

Es corriente identificar las cadenas w y las MT M con sus respectivas codificaciones binarias, y haremos eso en lo sucesivo.
3

Вам также может понравиться