Teoria Computacion Wilber
Teoria Computacion Wilber
Teoria Computacion Wilber
1. Introducción 5
1.1. El papel de los algoritmos . . . . . . . . . . . . . . . . . . . . 5
1.2. Una breve historia de la computación . . . . . . . . . . . . . . 8
1.2.1. Primera Generación . . . . . . . . . . . . . . . . . . . . 14
1.2.2. Segunda Generación . . . . . . . . . . . . . . . . . . . 17
1.2.3. Tercera generación . . . . . . . . . . . . . . . . . . . . 20
1.2.4. Cuarta Generación . . . . . . . . . . . . . . . . . . . . 23
1.2.5. Quinta Generación . . . . . . . . . . . . . . . . . . . . 25
2. Lenguajes y Gramáticas 27
2.1. Gödel y Turing . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2. Autómatas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3. Lenguajes y Gramáticas . . . . . . . . . . . . . . . . . . . . . 29
2.4. Máquinas Abstractas y Lenguajes Formales . . . . . . . . . . 29
2.5. Alfabetos, Sı́mbolos y palabras . . . . . . . . . . . . . . . . . . 30
2.6. Operaciones con Palabras . . . . . . . . . . . . . . . . . . . . 32
2.6.1. Operación Cerrada: . . . . . . . . . . . . . . . . . . . . 32
2.6.2. Propiedad Asociativa: . . . . . . . . . . . . . . . . . . 32
2.6.3. Existencia de Elemento Neutro: . . . . . . . . . . . . . 33
2.6.4. Potencia de una Palabra: . . . . . . . . . . . . . . . . . 33
2.6.5. Reflexión de una Palabra: . . . . . . . . . . . . . . . . 33
2.7. Lenguajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.7.1. Concatenación de Lenguajes . . . . . . . . . . . . . . . 34
2.7.2. Clausura Positiva de un Lenguaje . . . . . . . . . . . . 34
2.7.3. Iteracción, Cierre o Clausura de un Lenguaje . . . . . . 35
2.7.4. Reflexión de Lenguajes . . . . . . . . . . . . . . . . . . 35
2.8. Conceptos Básicos sobre Gramáticas . . . . . . . . . . . . . . 35
2.8.1. Gramática de Estructura de Frases . . . . . . . . . . . 36
2.8.2. Tipos de Gramáticas . . . . . . . . . . . . . . . . . . . 39
2.9. Expresiones Regulares . . . . . . . . . . . . . . . . . . . . . . 41
2.10. Árboles de Derivación . . . . . . . . . . . . . . . . . . . . . . 43
3
4 ÍNDICE GENERAL
3. Autómatas Finitos 45
3.1. Autómatas Finitos Deterministas (AFD) . . . . . . . . . . . . 46
3.2. Autómatas Finitos no Deterministas (AFND) . . . . . . . . . 49
3.3. Otras Formas del Lema del Bombeo . . . . . . . . . . . . . . . 53
3.4. Equivalencia y Minimización de Autómatas Finitos . . . . . . 54
3.5. Lista de Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . 55
5. Máquinas de turing 81
5.1. Conceptos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2. Construcción Modular de Máquinas de Turing . . . . . . . . . 84
5.2.1. Bloques de construcción básicos . . . . . . . . . . . . . 84
5.2.2. Bloques más complejos . . . . . . . . . . . . . . . . . . 85
5.3. Evaluación de Cadenas . . . . . . . . . . . . . . . . . . . . . . 86
5.3.1. Máquinas de Turing de varias cintas . . . . . . . . . . 87
5.4. Máquinas de Turing no deterministas . . . . . . . . . . . . . . 90
5.5. Lenguajes aceptados por Máquinas de Turing . . . . . . . . . 91
5.5.1. Máquinas de Turing universales . . . . . . . . . . . . . 93
5.5.2. Lenguajes Aceptables y Decidibles . . . . . . . . . . . 94
5.5.3. El Problema de la Parada . . . . . . . . . . . . . . . . 95
5.6. Lista de Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . 95
Capı́tulo 1
Introducción
Para que una máquina como una computadora pueda llevar a cabo una
tarea, es preciso diseñar y representar un algoritmo de realización de dicha
tarea y en una forma que sea compatible con la máquina. A la representa-
ción de un algoritmo se le denomina programa. Por comodidad de los seres
humanos, los programas computacionales suelen imprimirse en papel o visua-
lizarse en las pantallas de las computadoras. Sin embargo para comodidad
de las máquinas, los programas se codifican de una manera compatible con
la tecnologı́a a partir de la cual esté construida la máquina. El proceso de
desarrollo de un programa en una máquina de denomina programación. Los
programas y los algoritmos, representan, lo que colectivamente se denomina
5
6 CAPÍTULO 1. INTRODUCCIÓN
software, y lo que tenga que ver con la propia máquina que se conoce con el
nombre de hardware.
Una vez que se ha encontrado el algoritmo para llevar a cabo una determi-
nada tarea, la realización de esta ya no requiere comprender los principios en
los que el algoritmo está basado. En cierto sentido, la inteligencia requerida
para resolver ese problema está codificada dentro del algoritmo.
Otro de los inventos mecánicos fue la Pascalina inventada por Blaise Pas-
cal (1623 - 1662) de Francia y la de Gottfried Wilhelm von Leibniz (1646 -
1716) de Alemania. Con estas máquinas, los datos se representaban mediante
las posiciones de los engranajes, y los datos se introducı́an manualmente es-
tableciendo dichas posiciones finales de las ruedas, de manera similar a como
leemos los números en el cuentakilómetros de un automóvil.
Figura 1.8: Glen Beck (background) and Betty Snyder (foreground) program
ENIAC in BRL building 328. (U.S. Army photo).
Figura 1.13: IUNIVAC 1105 operator console, in front of the cabinets con-
taining the CPU and memory.
Corporation modelo 1604, seguida por la serie 3000, la IBM mejoró la 709 y
sacó al mercado la 7090, la National Cash Register empezó a producir máqui-
nas para proceso de datos de tipo comercial, introdujo el modelo NCR 315.
La Radio Corporation of America introdujo el modelo 501, que manejaba
el lenguaje COBOL, para procesos administrativos y comerciales. Después
salió al mercado la RCA 601.
La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67,
75, 85, 90, 195 que utilizaban técnicas especiales del procesador, unidades de
cinta de nueve canales, paquetes de discos magnéticos y otras caracterı́sticas
que ahora son estándares (no todos los modelos usaban estas técnicas, sino
que estaba dividido por aplicaciones). El sistema operativo de la serie 360,
se llamó OS que contaba con varias configuraciones, incluı́a un conjunto de
técnicas de manejo de memoria y del procesador que pronto se convirtieron
en estándares.
compite son los modelos 1108 y 1110, máquinas en gran escala; mientras
que CDC produce su serie 7000 con el modelo 7600. Estas computadoras se
caracterizan por ser muy potentes y veloces.
A finales de esta década la IBM de su serie 370 produce los modelos 3031,
3033, 4341. Burroughs con su serie 6000 produce los modelos 6500 y 6700
de avanzado diseño, que se reemplazaron por su serie 7000. Honey - Well
participa con su computadora DPS con varios modelos.
1.2. UNA BREVE HISTORIA DE LA COMPUTACIÓN 23
Las enormes computadoras de las series CDC, CRAY, Hitachi o IBM por
ejemplo, eran capaces de atender a varios cientos de millones de operaciones
por segundo.
Lenguajes y Gramáticas
27
28 CAPÍTULO 2. LENGUAJES Y GRAMÁTICAS
2.2. Autómatas
Problemas no
computables
Gramáticas tipo 0 Lenguajes Máquinas de Problemas recursi-
computables Turing vamente enumera-
bles
Gramáticas tipo 1 Lenguajes Autómatas
dependientes Lineales
del contexto Acotados
Gramáticas tipo 2 Lenguajes Autómatas
indepen- de Pila
dientes del
contexto
Gramáticas tipo 3 Lenguajes Autómatas Expresiones regula-
regulares finitos res
Ejemplo 2.5.1.
Σ1 = {a, b, c, d, e, ..., z}
Σ2 = {0, 1}
Σ3 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Σ4 = Todas las palabras del diccionario
2.5. ALFABETOS, SÍMBOLOS Y PALABRAS 31
Ejemplo 2.5.2.
Ejemplo 2.5.3.
|w| = 11
|v| = 9
|u| = 7
|λ| = 0
El conjunto de todas las palabras que se pueden formar con los sı́mbolos
de un alfabeto se llama lenguaje universal de Σ. De momento se utilizará
la notación W(Σ) para representarlo. Es evidente que W(Σ) es un conjunto
infinito. Por ejemplo:
Ejemplo 2.6.1. Si
u = a1 , a2 , . . . , ai
v = b1 , b2 , . . . , bj
Se tiene que:
w = uv = a1 , a2 , . . . , ai , b1 , b2 , . . . , bj
u, v ∈ W ⇒ u.v ∈ W(Σ)
uk = u.uk−1 ,k > 0
u0 = λ
2.7. Lenguajes
1. Φ.L = L.Φ = Φ
2. Operación cerrada:
L1 ⊂ W(Σ) ∧ L2 ⊂ W(Σ) ⇒ L1.L2 ⊂ W(Σ)
3. Propiedad asociativa:
L1.(L2.L3) = (L1.L2).L3
4. Existencia de elemento neutro:
{λ} .L = L. {λ} .L = L
1. L∗ = L+ {λ}
S
2. L+ = L.L∗ = L∗ .L
3. Σ∗ = W(Σ)
Que es la notación que utilizaremos a partir de este momento.
4. Para todo alfabeto Σ , Σ∗ es infinito numerable.
5. El conjunto de todos lenguajes sobre Σ no es numerable.
En contraste con los lenguajes naturales, los formales están definidos por
reglas preestablecidas y, por lo tanto, se ajustan con todo rigor a ellas. Como
ejemplo tenemos los lenguajes de programación y la matemática. Gracias a
esta adhesión a las reglas, es posible construir traductores computarizados
eficientes para los lenguajes de programación, a la vez que la falta de adhesión
a las reglas establecidas dificulta la construcción de un traductor para un
lenguaje natural.
G = (ΣT , ΣN , v0 , 7−→)
2.8. CONCEPTOS BÁSICOS SOBRE GRAMÁTICAS 37
donde:
L(G) = {w ∈ Σ∗T / v0 ⇒∞ w}
y las producciones :
predicado.con.verbo.intransitivo7→ verbo.intransitivo
artı́culo 7→ la
adjetivo7→ feliz
adjetivo7→ soñolienta
nombre7→ tortuga
nombre7→ liebre
verbo.transitivo7→ rebasa, a
verbo.intransitivo7→ corre
adverbio7→ rápidamente
adverbio7→ lentamente
a. Sean v , w dos palabras del mismo alfabeto. Se dice que existe una
relación Tue entre v , w si se verifica que v 7→ w∞ v = w.
b. Una gramática G se llama recursiva en v si v 7→ xvy. Si x = λ se dice que
la gramática es recursiva a izquierdas. Si y = λ se dice que la gramática
es recursiva a derechas. Si un lenguaje es infinito, la gramática que lo
genera tiene que ser recursiva.
1. Gramáticas de Tipo 0:
Son las más generales. Las reglas de producción no tienen ninguna
restrición. Los lenguajes generados por estas gramáticas se llaman len-
guajes sin restricciones.
2. Gramáticas de Tipo 1:
Las reglas de producción de estas gramáticas v 7→ w son tales que
|v| ≤ |w|. Los lenguajes representados por este tipo de gramáticas se
llaman dependientes del contexto o sensibles al contexto.
40 CAPÍTULO 2. LENGUAJES Y GRAMÁTICAS
a. Las gramáticas, que resultan ser modelos muy tiles para el desarrollo
de software destinado a procesar datos que posean estructura recursiva.
El ejemplo más conocido es el analizador sintáctico, ó parecer, que es
la componente del compilador que se ocupa de las caracterı́sticas re-
cursivas de los lenguajes de programación tı́picos, como las expresiones
(aritméticas, condicionales, etc.)
b. Las gramáticas del Tipo 2 tienen métodos alternativos tiles para des-
plegar las producciones.
< numero − decimal > ::=< entero − sin − signo > | < decimal > |
< entero − sin − signo >< decimal >
< decimal > ::=< entero − sin − signo >
< entero − si − signo > ::=< digito > | < digito >< entero − sin − signo >
< digito > ::= 0|1|2|3|4|5|6|7|8|9
1. L(1) = {1}
1. r ∨ s = s ∨ r
2. r ∨ Φ = r = Φ ∨ r
3. r ∨ r = r
4. r ∨ (s ∨ t) = (r ∨ s) ∨ t
5. r.λ = λr = r
6. r.Φ = Φr = Φ
7. (r.s).t = r.(s.t)
15. r.r∗ = r∗ .r
1. (λ ∨ aa)∗
2. (λ ∨ aa).(λ ∨ aa)∗
3. a.(λ ∨ aa)∗ a ∨ λ
4. (a ∨ λ).a∗ .b
2.10. ÁRBOLES DE DERIVACIÓN 43
A lo largo del proceso de construcción del árbol, los nodos finales de cada
paso sucesivo leı́dos de izquierda a derecha, dan la forma sentencial obtenida
por la derivación representada por el árbol.
Se llama rama terminal aquella que se dirige hacia un nodo denotado por
un sı́mbolo terminal de la gramática. Este nodo se denomina hoja o o nodo
terminal del árbol. El conjunto de las hojas del árbol, leı́das de izquierda a
derecha, da la sentencia generada por la derivación.
Autómatas Finitos
45
46 CAPÍTULO 3. AUTÓMATAS FINITOS
S2
start S1
M = (S, Σ, δ, i, F)
donde:
Σ es el alfabeto de la máquina.
a. La función δ describe el efecto que tiene esta entrada sobre los estados
de la máquina. Ası́ si la máquina se encuentra en el estado si y ocurre
la entrada x, el siguiente estado de la máquina será δ(si , x) = sj .
δ∗ (si , x1 , x2 , . . . , xn ) = δ∗ (δ(si , x1 ), x2 , . . . , xn ),
δ∗ (si , xk ) = δ(si , xk )
S = {s0 , s1 , s2 }
Σ = {0, 1}
F = {s2 }
además:
δ(s0 , 0) = s0
δ(s0 , 1) = s1
δ(s1 , 0) = s1
δ(s1 , 1) = s2
δ(s2 , 0) = s2
δ(s2 , 1) = s0
si RM sj ⇔ ∃x(x ∈ Σ ∧ δ(si , x) = sj )
.
El digrafo asociado a RM le llamaremos diagrama de transiciones.
figura...
01110 ∈ L(M) ?
L(M) = ?
Ejemplo 3.1.2. Diseñar un AFD M tal que L(M) = {a, ab, b, ba, aa}
Ejemplo 3.1.3. Diseñar un AFD M tal que L(M) conste de todas las
cadenas que contengan los patrones abb baa.
3.2. AUTÓMATAS FINITOS NO DETERMINISTAS (AFND) 49
L(M) = {xn yn / n ≥ 0}
Ejemplos como como el 2.1.1-4 hacen pensar que encontrar un AFD que
corresponda a una expresión regular dada puede ser tedioso, sin embargo
si relajamos la condición del determinismo, el proceso de diseñar suele ser
mucho más sencillo. Estos autómatas son los que pasamos a definir a conti-
nuación.
M = (S, Σ, ρ, i, F)
donde:
Σ es el alfabeto de la máquina.
Ejemplo 3.2.3. Diseñar un AFND M tal que L(M) = L ((ab ∨ ba)∗ aba)
L(M) = L(M̃)
L(M) = L(M̃)
dı́gito
dı́gito
start 1 2
•
dı́gito
5 3
dı́gito
dı́gito
dı́gito
4
Figura 3.2: Diagrama de transición que acepta cadenas que representan en-
teros o cadenas que representan números reales en notaci’on decimal
M = (S, Σ, δ, i, F)
M = (P(S), Σ, δ̃, {i}, F̃)
Solución:
52 CAPÍTULO 3. AUTÓMATAS FINITOS
start {0}
{1} {2}
{1, 2}
a a
{1, 0} b a
a b
{0, 2}
a
b a, b
{0, 1, 2} b
{}
a, b
Teorema 3.1. Los lenguajes regulares es decir los lenguajes generados por
gramáticas del tipo 3 pueden ser generados por AF (expresiones regulares) y
recı́procamente.
no es regular.
Solución: Es frecuente que sea posible arreglárselas con una forma debili-
tada del lema de bombeo. Aquı́ se presentan dos versiones que omiten muchas
de las conclusiones del teorema 3.5, pero todavı́a poseen fuerza suficiente para
demostrar que ciertos lenguajes no son regulares.
Rk+1 v Rk , k ≥ 0
0 1
→s0 s1 s5
s1 s6 s2
*s2 s0 s2
s3 s2 s6
s4 s7 s5
s5 s2 s6
s6 s6 s4
s7 s6 s2
9. Obtener una expresión regular para representar los salarios que pueden
aparecer en los anuncios de trabajo. Considere que los salarios pue-
den especificarse por hora, semana, mes o año. Pueden aparecer con
3.5. LISTA DE EJERCICIOS 57
12. Construya los AF que acepten los lenguajes del alfabeto Σ = {0, 1}
M = (S, Σ, Γ, ρ, s0 , F),
donde
59
60 CAPÍTULO 4. AUTÓMATAS DE PILA Y L. I. DEL CONTEXTO
a) La principal diferencia entre los autómatas de pila y los finitos es que los
primeros cuentan con una pila en donde pueden almacenar información
pra recuperarla más tarde.
Figura 4.1:
b) El alfabeto de la pila puede incluir algunos o todos los sı́mbolos del al-
fabeto de entrada y quizás algunos sı́mbolos adicionales que la máquina
utiliza como marcas internas. Una máquina podrá almacenar sı́mbolos
especiales en su pila para separar secciones que tengan interpretacio-
nes distintas. Esto es, si un máquina inserta un sı́mbolo especial en
la pila antes de efectuarse algún otro cálculo, entonces la presencia de
este sı́mbolo en la cima de la pila pude usarse como indicador de “pila
vacia”para cálculos
(p, x, s; q, y)
x, s; y
p q
M = (S, Σ, Γ, ρ, s0 , F)
y, λ; x y, x; λ
λ, λ; # y, x; λ λ, #; λ
start S0 S1 S2 S3
Solución:
a) Diagrama de estados
63
L(M) = {xn yn /n ∈ N}
Ejemplo 4.0.3. Dado el autómata de pila
M = (S, Σ, Γ, ρ, s0 , F)
representado por el diagrama de transiciones
x, λ; x y, x; λ
y, x; λ
start S0 S1
Solución:
64 CAPÍTULO 4. AUTÓMATAS DE PILA Y L. I. DEL CONTEXTO
a) Diagrama de estados
x, λ; x y, x; λ λ, x; λ
λ, λ; # y, x; λ λ, λ; λ λ, #; λ
start i S0 S1 p q
Teorema 4.1. Para cada autómata de pila que acepta cadenas sin vaciar su
pila, existe un autómata que acepta el mismo lenguaje pero que vacı́a su pila
antes de llegar a un estado de aceptación.
G = (N, Σ, v0 , 7→)
donde:
V = {v0 , x, y}
Σ = {x, y}
66 CAPÍTULO 4. AUTÓMATAS DE PILA Y L. I. DEL CONTEXTO
7→ : v0 →
7 xv0 y
v0 →7 λ
L(G) = {xn ym /n ∈ N}
x
y
z
Solución:
67
y, λ; xx λ, #; λ
λ, λ; # y, x; λ λ, #; λ
start S0 S1 S2 S3
G = (N, Σ, v0 , 7→)
donde:
L(G) = L(M)
Solución:
Luego
M = (S, Σ, Γ, ρ, s0 , F)
se define por:
a, a,
a; a;
λa,aa; λ
λ, λ; v0
p b, b; λ q
λ, λ; # λ, #; λ
start S0 f
Teorema 4.3. Para cada autómata de pila M, existe una gramática G in-
dependiente del contexto tal que L(M) = L(G).
G = (N, Σ, v0 , 7→)
de la siguiente manera:
Σ = Sı́mbolos terminales
N = Sı́mbolos no terminales
V =N∪T
7→:
v0 7→< s0 , λ, f >
< p, λ, p >7→ λ
Observe que las producciones que hemos definido forman una gramática inde-
pendiente del contexto, que genera el mismo lenguaje que acepta el autóma-
ta.
a) Determinar L(M)
71
Solución:
•
< f, λ, f > →
7 λ
< g, λ, g > → 7 λ
< h, λ, h > → 7 λ
• Para la transición(g, c, c; h, λ)
< g, c, f > →
7 c < h, λ, f >
< g, c, g > → 7 c < h, λ, g >
< g, c, h > → 7 c < h, λ, h >
De acuerdo con el teorema 1.8, esta gramática, es tal que L(G) = L(M).
Observe, por ejemplo que cbbc ∈ L(M) se deriva con las producciones
de esta gramática.
v0
< f, λ, h >
cbbc
Tenemos que modificar esta gramática para que se adhiera a las restric-
ciones del teorema.
4.1. FORMA NORMAL CHOMSKY 75
v 7→ v1 r1
r1 7→ v2 r2
rn−1 7→ vn−1 vn
Definición 4.2. Se dice que una gramática independiente del contexto cuyas
producciones se adhieren a las restricciones del teorema 2.1 tiene la forma
normal de Chomsky.
Ap
0
p1 p3 p5 1 p7
start
0 1 0 1 0 1
0 1
0
p2 p4 p6 1 p8
1 0
0, 1
Aq
1 1
q1 q3 1 q5 1 q7
start
1
0 1 0 1 0 1
q2 q4 q6 0 q8
0
0
0 0
At
78 CAPÍTULO 4. AUTÓMATAS DE PILA Y L. I. DEL CONTEXTO
1
0
start t1 t4 t6 t7
0 1
1
1 1 1
1
0
0 0
t2 t3 t5
0
1
0
Ar
0 0
1
0
start r s t x
1 0
0
1 0
1
u w y
1 1
0, 1
Obtener para cada uno de ellos el autómata mı́nimo.
Establecer si son o no equivalentes:
• Por suma directa de autómatas.
• Cuáles son isomorfos.
Dado el AFD A, obtener el autómata finito mı́nimo equivalente A
q0 1 q42 q5
start
1
0
q1 q63
4.2. LISTA DE EJERCICIOS 79
L = {xn yn z xn yn / n ∈ N}
P
11. Decimos que una cadena de caracteres sobre el alfabeto = { [, ], (, ) }
es correcta si todos los paréntesis y corchetes que se abren se cierran
después, y ningún paréntesis o corchete se cierra dejando dentro otro
sin cerrar.
12. Demostrar que los siguientes lenguajes no son independientes del con-
texto:
a) L = {an / n es primo}
b) L = an bj / n < j2
P
13. Decimos que una cadena de caracteressobre el alfabeto = { [, ], (, ) }
es correcta si todos los paréntesis y corchetes que se abren se cierran
después, y ningún paréntesis o corchete se cierra dejando dentro otro sin
cerrar. Estudiar si el lenguaje formado por dichas cadenas de caracteres
es independiente del contexto.
Capı́tulo 5
Máquinas de turing
5.1. Conceptos
81
82 CAPÍTULO 5. MÁQUINAS DE TURING
q3 ..
.
q2 qn
q1 q0
Finite Control
M = {S, Γ, Σ, h, i, δ}
donde:
h ∈ Γ es el sı́mbolo en blanco h 6∈ Σ
i ∈ S es el estado inicial
S × Γ → S × Γ × {I, D}
Σ = {x, y}
84 CAPÍTULO 5. MÁQUINAS DE TURING
x y x x y x 4
x/R
y/R
R
4/R
x/L
y/L
L
4/L
x/x
y/x
x
4/x
• Situación inicial:
◦ Cabeza en el extremo izquierdo de la cinta.
◦ La cadena de entrada empieza en la segunda posición de la
cinta.
Situación final:
Sı́mbolos especiales :
Una transición:
Estado inicial:
L(M) = L(M 0 )
Demostración. Construcción de M 0
Previo:
→ R∆ SR L∆
Simulación de M
Demostración. .
(V, Σ, S, R)
donde
V = S, [, ], ∆, Y ∪ Γ
Σ =alfabeto de M
S: axioma.
92 CAPÍTULO 5. MÁQUINAS DE TURING
R:
S → [h∆Y∆]
∆ → ∆∆
δ(p.x) = (q, y) produce la regla qy → px
δ(p, x) = (q, R) produce la regla xq → px
δ(p, x) = (q, L) produce las reglas qyx → ypx∀y ∈ Γ
i∆ → λ
∆∆ → ∆
∆→λ
Teorema 5.4. Todo lenguaje estructurado por frases es aceptado por una
máquina de Turing.
Construcción de la máquina:
• i=0
• h = 00
• Los demás: a partir de 000 en adelante.
• L=0
• R = 00
• Simbolos de Σ: a partir de 000 en adelante.
• Espacio en blanco: cadena vacı́a.
Constan de 3 cintas:
94 CAPÍTULO 5. MÁQUINAS DE TURING
La máquina universal:
Σ = {a, b, c, . . . , k, l, m, n, . . . , r, s, . . . , x, y, z}
15. Diséñese una máquina de Turing, que acepte el lenguaje, dentro del
alfabeto {a, b, c }, cuyas cadenas no tienen ninguna a en su primera
mitad y ninguna b en su segunda. A tenor de esta especificación, debe
entenderse que las palabras de longitud impar no son admitidas.
99
100 ÍNDICE DE FIGURAS
4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2. Transiciones (p, x, s; q, y) . . . . . . . . . . . . . . . . . . . . . 61
4.3. Diagrama de transición para M = (S, Σ, Γ, ρ, s0 , F) . . . . . . . 62
4.4. Diagrama de transición para M = (S, Σ, Γ, ρ, s0 , F) . . . . . . . 63
4.5. Diagrama de transición para M = (S, Σ, Γ, ρ, s0 , F) . . . . . . . 64
4.6. Pila con elementos x, y, z . . . . . . . . . . . . . . . . . . . . 66
4.7. Autómata de pila . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.8. Autómata de pila . . . . . . . . . . . . . . . . . . . . . . . . . 69
101