+ All Categories
Home > Documents > Teor¶‡a del Aut¶omata - Facultad de Ciencias de la...

Teor¶‡a del Aut¶omata - Facultad de Ciencias de la...

Date post: 17-Oct-2018
Category:
Upload: phungdan
View: 212 times
Download: 0 times
Share this document with a friend
113
Teor´ ıadelAut´omata Dr. Alfonso Alba Cadena Facultad de Ciencias [email protected] UASLP
Transcript
Page 1: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Teorıa del Automata

Dr. Alfonso Alba Cadena Facultad de Ciencias

[email protected] UASLP

Page 2: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Introduccion a las notas del curso

• Estas notas estan disenadas para ser una guıa en un cursobasico de teorıa de automatas y lenguajes formales. El cursoinicia con un breve repaso de teorıa de conjuntos, y posterior-mente presenta los conceptos basicos de automatas, lengua-jes, y gramaticas formales, para terminar con la definicionde maquinas de Turing, las cuales son una representacionabstracta de lo que es una computadora moderna.

• Se sugiere realizar multiples ejercicios, tanto en clase comoen casa, sobre cada uno de los temas revisados, ası comoimplementar simuladores de automatas y gramaticas en unlenguaje de uso comun como C/C++.

1

Page 3: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Objetivos Generales

• Presentar las maquinas abstractas que forman la base de

la teorıa de la computacion, y estudiar sus caracterısticas y

limitantes.

• Estudiar los lenguajes formales y sus propiedades. Mostrar

que cualquier problema de computo equivale al reconocimiento

de algun lenguaje.

• Introducir los conceptos basicos de computabilidad y com-

plejidad computacional.

2

Page 4: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Contenido

1. Conceptos basicos de teorıa de conjuntos

2. Automatas finitos y lenguajes racionales

3. Gramaticas y lenguajes

4. Automatas de pila

5. Maquinas de Turing

6. Computabilidad y complejidad computacional

3

Page 5: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Bibliografıa sugerida

• Teorıa de la Computacion: Lenguajes formales, automatas

y complejidad

J. Glenn Brookshear

Pearson, Addison Wesley Longman

• Automata and Languages

John M. Howie

Clarendon Press, Oxford

4

Page 6: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Unidad I

Conceptos basicos

5

Page 7: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Conjuntos

• Definicion ingenua: Un conjunto es una agrupacion o coleccion

de objetos de algun tipo, los cuales pueden o no estar definidos

por una o mas caracterısticas.

• Notacion:

– Explıcita: se enlistan todos los elementos entre llaves.

– Implıcita: se describen las caracterısticas que definen los

elementos del conjunto.

– Ejemplo: {2,4,6, . . .} = {x tal que x es entero par positivo}.

6

Page 8: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Notacion

• Los conjuntos tıpicamente se denotan mediante letras mayusculas. Ejem-plo:

A = {a, e, i, o, u}, Φ = {x tal que x2 = 1}.

• Los sımbolos ∈ y /∈ indican pertenencia o no-pertenencia de un elementoen un conjunto. Ejemplo:

u ∈ A, z /∈ A, −1 ∈ Φ, 3 /∈ Φ.

• Los sımbolos : y | significan “tal que”. Ejemplo:

A = {x : x es vocal minuscula}, Φ = {x | x2 = 1}.

• Notar que es posible que un conjunto pertenezca a otro:

A = {1,2}, B = {3,4,5} =⇒ {A, B} = {{1,2}, {3,4,5}} .

7

Page 9: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Paradoja de Russell

• Esta paradoja surge a partir de la definicion ingenua de con-

junto.

• Sea X un conjunto. Llamemosle a X “normal” si X /∈ X y

“anormal” si X ∈ X.

• Sea N el conjunto de todos los conjuntos normales; es decir,

N = {X | X /∈ X}.

• Es N normal o anormal?.

8

Page 10: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Subconjuntos

• Decimos que A es subconjunto de B si y solo si x ∈ A =⇒x ∈ B (es decir, todo elemento de A es tambien elemento deB).

• A es subconjunto propio de B si existe al menos un x ∈ B talque x /∈ A; es decir A 6= B.

• Notacion: A ⊆ B o A ⊂ B (algunos autores utilizan elsımbolo ⊂ para indicar un subconjunto propio)

• Notar que: A = B ⇐⇒ A ⊆ B y B ⊆ A.

9

Page 11: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Operaciones con conjuntos

• Union: A ∪B = {x | x ∈ A o x ∈ B}

• Interseccion: A ∩B = {x | x ∈ A y x ∈ B}

• Complemento: A′ = {x | x /∈ A}

• Resta: A−B = {x | x ∈ A y x /∈ B}

10

Page 12: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Propiedades de las operaciones

• Conmutativa: A ∪B = B ∪A, A ∩B = B ∩A

• Asociativa Union: (A ∪B) ∪ C = A ∪ (B ∪ C)

• Asociativa Interseccion: (A ∩B) ∩ C = A ∩ (B ∩ C)

• Distributiva Union: A ∪ (B ∩ C) = (A ∪B) ∩ (A ∪ C)

• Distributiva Interseccion: A∩ (B ∪C) = (A∩B)∪ (A∩C)

• Leyes de DeMorgan: (A∪B)′ = A′∩B′ y (A∩B)′ = A′∪B′

11

Page 13: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Producto Cartesiano

• El producto cartesiano A × B de dos conjuntos A y B sedefine como el conjunto de todos los pares ordenados en loscuales el primer elemento pertenece a A y el segundo a B:

A×B = {(a, b) | a ∈ A y b ∈ B} .

• Ejemplo:

A = {2,3}B = {x, y, z}

A×B = {(2, x), (2, y), (2, z), (3, x), (3, y), (3, z)}B ×A = {(x,2), (x,3), (y,2), (y,3), (z,2), (z,3)}

• Notar que A×B 6= B ×A.

12

Page 14: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Conjunto vacıo

• El conjunto vacıo es el conjunto unico que no contiene ele-mentos.

• El conjunto vacıo se denota por ∅ = {}.

• Algunas propiedades:

1. Para todo x, x /∈ ∅.

2. ∅ ∪A = A, ∅ ∩A = ∅, A− ∅ = A, ∅ ×A = ∅.

3. Para todo x ∈ ∅, x cumple cualquier propiedad.

13

Page 15: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Cardinalidad y conjunto potencia

• Un conjunto es finito si tiene un numero finito de elementos;de otra forma, el conjunto es infinito.

• El numero de elementos de un conjunto finito A se denominacardinalidad y se denota por |A|.

• Algunas propiedades:

|A ∪B| ≥ |A||A ∩B| ≤ |A||A ∪B| = |A|+ |B| − |A ∩B||A×B| = |A||B| si A y B son finitos

14

Page 16: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Conjunto potencia

• El conjunto potencia P(A) de un conjunto A es el conjunto

cuyos elementos son todos los subconjuntos de A; es decir:

P(A) = {X | X ⊂ A} .

• Ejemplo: si A = {1,2,3}, entonces

P(A) = {{}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}} .

• Si A es finito, entonces |P(A)| = 2|A|.

15

Page 17: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Relaciones

• Una relacion entre dos conjuntos A y B es un subconjunto

P de A×B.

• Si (a, b) ∈ P , para algun a ∈ A y b ∈ B, entonces decimos que

a esta relacionado con b mediante P .

16

Page 18: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Funciones

• Una funcion φ de un conjunto A a un conjunto B es una relacion de A aB en la que se cumple lo siguiente:

Si (a, b1) ∈ φ y (a, b2) ∈ φ, entonces b1 = b2.

• En otras palabras, una funcion asocia a un elemento de A con un unicoelemento de B.

• Notacion:

– Una funcion φ de A a B se denota como φ : A → B.

– Si (a, b) ∈ φ entonces decimos que b es la imagen de a bajo la funcionφ, y esto se escribe como b = φ(a).

17

Page 19: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Dominio e imagen de una funcion

• El dominio dom φ de una funcion φ : A → B se define como

dom φ = {a ∈ A | (a, b) ∈ φ para algun b ∈ B} ⊆ A.

Si dom φ = A, entonces φ es una funcion total, de lo contrario, φ esuna funcion estrictamente parcial. En general, a cualquier funcion se lepuede llamar funcion parcial.

• El contradominio, rango, o imagen im φ de una funcion φ se define como

im φ = {φ(a) | a ∈ dom φ} ⊆ B.

• La funcion identidad idA : A → A de un conjunto A se define comoidA(a) = a para todo a ∈ A. Notar que dom idA = im idA = A.

18

Page 20: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Tipos de funciones

• Una funcion φ : A → B es uno-a-uno o inyectiva si para todo

a1, a2 ∈ A se cumple que

φ(a1) = φ(a2) =⇒ a1 = a2,

o equivalentemente

a1 6= a2 =⇒ φ(a1) 6= φ(a2).

• Una funcion φ : A → B es sobre o subyectiva si im φ = B; es

decir, para todo b ∈ B existe algun a ∈ A tal que φ(a) = b.

• Una funcion es biyectiva si es uno-a-uno y sobre.

19

Page 21: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Composicion de funciones

• Dadas funciones φ : A → B y ψ : B → C, entonces podemosdefinir la composicion ψ ◦ φ : A → B como

(ψ ◦ φ)(a) = ψ(φ(a)),

para todo a ∈ A tal que φ(a) ∈ dom ψ.

• Notar que, en general, φ◦ψ no esta bien definido y es distintode ψ ◦ φ.

• Si φ : A → B es una funcion, entonces

φ ◦ idA = idB ◦ φ = φ.

20

Page 22: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Funcion inversa

• Dada φ : A → B, decimos que θ : B → A es una funcion

inversa de φ si

θ ◦ φ = idA y φ ◦ θ = idB.

• Teorema: La inversa de una funcion φ es unica y se escribe

como φ−1.

• Teorema: Una funcion φ : A → B tiene inversa si y solo si es

biyectiva.

21

Page 23: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Cardinalidad

• Para un conjunto finito A, su cardinalidad |A| es el numero

de elementos que contiene.

• Para conjuntos infinitos, el concepto de cardinalidad no es

tan claro. Sabemos, por ejemplo, que tanto el conjunto de

los numeros naturales positivos N+ como el de los numeros

reales R son infinitos, pero intuitivamente uno espera que Rtenga un mayor numero de elementos que N+ ya que N+ ⊂ R.

• Una forma de mostrar que dos conjuntos tienen la misma

cardinalidad es encontrando una funcion biyectiva entre ellos.

22

Page 24: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Teoremas sobre cardinalidad

• Teorema: Para cualquier conjunto X, |X| < |P(X)|.

• Corolario: |X| < |P(X)| < |P (P(X))| < . . ..

Es decir, no existe una cardinalidad maxima.

• Teorema: Para cualquier conjunto infinito X, |N+| ≤ |X|.

Es decir, no existe ningun conjunto infinito con cardinalidad

menor a la de N+.

23

Page 25: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Conjuntos contables e incontables

• Un conjunto X es contable si es finito, o si |X| = |N+|.

• Si |X| > |N+|, entonces decimos que X es incontable.

• El conjunto potencia de cualquier conjunto infinito es incon-

table.

• Si los elementos de un conjunto X se pueden listar de una

manera ordenada, entonces el conjunto es contable (ya que

existe una funcion biyectiva entre X y N+).

24

Page 26: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplos de conjuntos contables e incontables

• N+ × N+ es contable: se pueden enlistar primero las parejasque suman 2, luego las que suman 3, etc.

N+ × N+ = {(1,1), (1,2), (2,1), (1,3), (2,2), (3,1), . . .}.

• El conjunto F de funciones de N+ a N+ es incontable ya que|F| ≥ |P(N+)|.Prueba: sea X un subconjunto de N+, entonces podemos definir lafuncion fX : N+ → N+ como

fX(x) =

{1 si x ∈ X0 si x /∈ X.

Por lo tanto, hay por lo menos tantas funciones como subconjuntos de

N+.

25

Page 27: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Otro ejemplo

• Supongamos que tenemos un lenguaje formado por un conjunto finito depalabras Σ = {w1, w2, . . . wn}, donde n = |Σ|.

• Un programa equivale entonces a una secuencia de palabras wa1wa2 . . . waq,

donde a1, a2, . . . , aq ∈ {1,2, . . . , n}.

• La secuencia a1a2 . . . aq equivale a un numero entero positivo escrito enbase n. Esto sugiere un mapeo biyectivo entre el conjunto Σ∗ de todaslos posibles programas escritos con palabras de Σ, y el conjunto N+.

• Por lo tanto, Σ∗ es contable. Es decir, solamente una cantidad contablede programas se pueden escribir con el lenguaje Σ.

• Sin embargo, hay un numero incontable de funciones de N+ a N+, lo cualsignifica que para algunas de estas funciones no es posible escribir unprograma que las resuelva.

26

Page 28: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Unidad II

Automatas Finitos

27

Page 29: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Maquinas abstractas

• Para estudiar el alcance y la potencia de computo de las maquinas ac-tuales, es necesario desarrollar modelos simples de maquinas que tenganlas mismas capacidades, pero que sean mas faciles de entender y analizar.

• Uno de los modelos mas simples (aunque no muy potente) consiste enun sistema en el que nuestra maquina abstracta pueda ubicarse en unode varios “estados” en un momento determinado.

• Ademas, la maquina puede recibir datos de entrada, a partir de los cualesdecide, segun un conjunto de reglas preestablecidas, si se mantiene en elmismo estado o cambia a un estado distinto.

• Estas maquinas abstractas tambien reciben el nombre de automatas.

28

Page 30: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Diagramas de transiciones

• Un diagrama de transiciones es un grafo en el cual los nodos representanlos distintos estados de un automata, y las aristas representan las posiblestransiciones entre estados.

• Cada arista tiene asociado un sımbolo. Una transicion de un estado aotro solo se realiza si el dato de entrada coincide con el sımbolo de laarista correspondiente.

• Tıpicamente existe un estado inicial (indicado con una flecha), y unestado terminal o de aceptacion indicado con un cırculo.

29

Page 31: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Tablas de transiciones

• Tambien es posible describir un automata mediante una tabla

de transiciones, como se muestra a continuacion.

⇐⇒

1 2 3 4a 2 4 4 -b - 3 1 1

Estado inicial: 1

Estado final: 4

30

Page 32: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Automatas finitos deterministas

• Formalmente, un automata finito determinista (AFD) se de-fine como una quıntupla A = (Q, A, φ, i, T ), donde

– Q es el conjunto finito de estados del automata.

– A es el alfabeto del automata; es decir, el conjunto de sımbolos quepuede recibir como entrada.

– φ : Q× A → Q es una funcion de transicion que asocia a cada pareja(q, a), q ∈ Q, a ∈ A un estado destino φ(q, a).

– i ∈ Q es el estado inicial.

– T ⊂ Q es el conjunto de estados terminales.

31

Page 33: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Palabras

• Dado un alfabeto A (es decir, un conjunto de sımbolos),una palabra en w en A es una secuencia finita de sımbolosw = a1a2 . . . an donde a1, a2, . . . , an ∈ A.

• La longitud |w| de una palabra w = a1a2 . . . an es precisa-mente n.

• La palabra vacıa es aquella que tiene longitud cero, y sedenota comunmente como 1 o ε (dado que 1 /∈ A o ε /∈ A).

• Las potencias de una palabra w representan la concatenacionde w con ella misma. Por ejemplo:

a3 = aaa, (ab)2 = abab, b(a2b)3a = baabaabaaba.

32

Page 34: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguajes

• Un lenguaje L sobre un alfabeto A es cualquier conjunto depalabras en A.

• El lenguaje que contiene a todas las palabras (finitas) for-madas con sımbolos de un alfabeto A se denota como A∗.

A∗ ={a1a2 . . . an : aj ∈ A para j = 1, . . . , n, y n ∈ N

}.

• El lenguaje que contiene a todas las palabras en un alfabetoA de longitud positiva se denota por A+. Este lenguaje nocontiene a la palabra vacıa.

A∗ = A+ ∪ {1}.

33

Page 35: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguaje aceptado por un AFD

• Notacion: Podemos representar una transicion φ(q1, a) = q2 como q1a =q2, de manera que es posible escribir algo como:

qa1a2 = (qa1)a2 = q′a2, si φ(q, a1) = q′.

• Si w = a1a2 . . . an ∈ A∗, entonces

qw = qa1a2 . . . an = (((qa1)a2) . . .) an.

• Dado un AFD A = (Q, A, φ, i, T ) y una palabra w ∈ A, podemos entoncesdeterminar el estado qw al que se llega cuando se ingresa la palabra w alautomata estando en el estado q.

• El lenguaje L(A) aceptado por el automata A se define entonces como

L(A) = {w ∈ A∗ : iw ∈ T} .

• Un lenguaje L ⊂ A∗ es reconocible por un AFD A si y solo si L = L(A).

34

Page 36: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejercicios:

1. Disenar un diagrama de transiciones para reconocer expresiones aritmeticassimples de numeros enteros positivos separados por los sımbolos +, −,×, ÷. Por ejemplo:

54 + 23, 12− 8, 12345× 54321, 8÷ 3.

2. Disenar un AFD para una maquina vendedora de refrescos que llegue aun estado de aceptacion cuando el usuario ha introducido la cantidad su-ficiente para comprar un refresco. Los refrescos cuestan $6 y la maquinaacepta monedas de $1, $2, y $5. Como manejarıa el caso en el que elusuario introduce mas de $6?

3. Dibuje el diagrama de transiciones y describa el lenguaje reconocido porel AFD A = (Q = {q1, q2, q1}, A = {a, b}, φ, i = q1, T = {q3}), donde φesta dada por la siguiente tabla:

q1 q2 q3

a q2 q2 q3

b q1 q3 q3

35

Page 37: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lımites computacionales de los AFD’s

• El lenguaje L = {anbn : n ≥ 1} no es reconocible por ningunAFD.

• Prueba: Suponer que existe un AFD A = (Q, A, φ, i, T ) talque L(A) = L. Sea qn = ian para n = 1,2, . . .. Entoncesqnbn ∈ T para todo n. Ya que Q es finito, entonces debenexistir m, n distintos tales que qm = qn. Entonces, iambn =qmbn = qnbn ∈ T ; sin embargo ambn /∈ L, lo cual contradicenuestra suposicion inicial.

• Ası como L, existen muchos lenguajes que no pueden recono-cerse por ningun automata finito.

36

Page 38: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lema del bombeo

• Sea L un lenguaje infinito reconocible en A∗. Existe entoncesun entero positivo N tal que toda z ∈ L con |z| > N puedefactorizarse como z = uvw donde

1. u, w ∈ A∗, v ∈ A+,

2. |uv| ≤ N ,

3. uvmw ∈ L para todo m ≥ 0.

• El lema del bombeo se utiliza comunmente para mostrar (porcontradiccion) que un lenguaje L no es reconocido por ningunAFD: uno supone que L es reconocible y elige una palabraz ∈ L y una factorizacion z = uvw adecuadas, de manera quepara algun m, uvmw /∈ L.

37

Page 39: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplo de uso del Lema del Bombeo

• Sea A = {a, b} y L = {w ∈ A∗ : wR = w}, donde wR denota el reverso deuna palabra. En otras palabras, L es el lenguaje formado por todos lospalındromos en A∗.

• Suponer que L es reconocible por algun AFD. Entonces, existe un N > 0para el cual se cumple el Lema del Bombeo.

• Sea n > N . Considerar la palabra z = anban ∈ L. Por el Lema delBombeo, z puede factorizarse como z = uvw con |v| ≥ 1 y |uv| ≤ N < n.Por lo tanto, u = ap, v = aq, y w = arban donde q ≥ 1 y p + q + r = n.

• Sin embargo, uvmw /∈ L para m 6= 1. Por ejemplo, para m = 0,

uv0w = uw = an−qban /∈ L.

• Por lo tanto, L no es reconocible.

38

Page 40: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Observacion

• Teorema: Para cualquier alfabeto A (no vacıo), existe una

infinidad de lenguajes en A∗ que no son reconocibles.

• Prueba: A∗ es infinito contable, por lo tanto, el conjunto de

todos los lenguajes en A∗, es decir, P(A∗) es incontable. Por

otro lado, el conjunto de todos los AFD cuyo alfabeto es A

es contable (se pueden enlistar primero todos los AFD con

un estado, luego los que tienen dos estados, etc). Por lo

tanto, no existen suficientes AFD para reconocer todos los

lenguajes en A∗.

39

Page 41: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejercicios

1. Mostrar, usando el Lema del Bombeo, que el lenguaje

L = {ap : p es primo}no es reconocible por ningun AFD.

2. Sea A = (Q, A, i, T, φ) un AFD. Disene otro AFD que reconozca el com-plemento de L(A) en A∗; es decir, A∗ − L(A).

3. Disene un AFD que reconozca numeros, con o sin decimales, positivos onegativos. Por ejemplo, las cadenas

3.1416, 6, −5.8

son reconocidas, mientras que

3.44.4, 5− 44.− 4, ..−−.− .− ..

no lo son. Utilice como alfabeto A = {0,1,2,3,4,5,6,7,8,9,−, .}.

40

Page 42: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Automatas Finitos No-Deterministas

• Un automata finito no-determinista (AFN) es una maquina

de estado finito en la cual de un mismo estado y con el mismo

sımbolo de entrada puede haber varias posibles transiciones

a distintos estados.

• La diferencia con un AFD es que, durante una transicion,

el estado destino es unico y esta bien determinado por la

funcion de transicion.

• En el caso de los AFN, la funcion de transicion no devuelve

un solo estado, sino un conjunto de estados destino.

41

Page 43: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Definicion formal de un AFN

• Un AFN es una quıntupla N = (Q, A, φ, i, T ) donde

1. Q es un conjunto finito no-vacıo de estados.

2. A es un alfabeto (conjunto de sımbolos finito no-vacıo).

3. φ : Q×A → P(Q) es la funcion de transicion.

4. i ∈ Q es el estado inicial.

5. T ⊆ Q es el conjunto de estados terminales.

• De modo que si q ∈ Q y a1, a2 ∈ A, entonces qa1 es un subconjunto de Qy

qa1a2 = (qa1)a2 =⋃

p∈qa1

pa2

es tambien subconjunto de Q.

• De igual manera se puede obtener el subconjunto qw ⊆ Q, donde q ∈ Q yw ∈ A∗.

42

Page 44: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

ε-transiciones

• Es posible extender la definicion de un AFN para que admitatransiciones de un estado a otro sin consumir ningun sımbolode entrada.

• Este tipo de transiciones se conocen como ε-transiciones(donde ε representa la palabra vacıa), de manera que lafuncion de transicion se define como

φ : Q× (A ∪ {ε}) → P(A).

• Es posible mostrar que para todo automata A que util-ice ε-transiciones puede encontrarse un automata A′ sin ε-transiciones tal que L(A′) = L(A).

43

Page 45: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguaje aceptado por un AFN

• El lenguaje aceptado por un AFN se define como el conjunto

de todas las palabras para las cuales existe una ruta que

lleva al automata del estado inicial a un estado terminal al

dar como entrada la palabra.

• Formalmente, si N = (Q, A, φ, i, T ) es un AFN, entonces

L(N ) = {w ∈ A∗ : iw ∩ T 6= ∅}.

44

Page 46: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Equivalencia entre AFN’s y AFD’s

• Teorema: Sea A = (Q, A, φ, i, T ) un automata, no necesari-

amente determinista, y sea L(A) el lenguaje reconocido por

A. Entonces existe un automata determinista completo A′tal que L(A′) = L(A).

• Metodo de conversion: Se define el AFD

A′ = (P(Q), A, ψ : P(Q)×A → P(Q), {i}, T ′ = {P ∈ P(Q) : P ∩ T 6= ∅}) ,

donde la funcion de transicion ψ esta dada por

ψ(P, a) =⋃

p∈P

φ(p, a), para todo P ∈ P(Q), a ∈ A.

45

Page 47: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Accesibilidad

• En un automata determinista A = (Q, A, φ, i, T ), un estado

q ∈ Q es accesible si existe w ∈ A∗ tal que iw = q; es decir,

si es posible llegar a q a partir del estado inicial mediante

alguna secuencia de sımbolos.

• Al automata A se le dice accesible si todo q ∈ Q es accesible.

• Dado un automata no accesible A, se puede obtener un

automata accesible A′ tal que L(A′) = L(A) simplemente

eliminando los estados no accesibles.

46

Page 48: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Coaccesibilidad

• Un estado q de un automata A = (Q, A, φ, i, T ) es coaccesiblesi existe w ∈ A∗ tal que qw ∈ T ; es decir, si existe alguna rutaque lleve al automata de q a algun estado terminal.

• Un automata es coaccesible si todos sus estados son coac-cesibles.

• Un automata podado (trim) es aquel que es tanto accesiblecomo coaccesible.

• El lenguaje reconocido por un automata no se modifica siuno elimina todos los estados que no son coaccesibles.

47

Page 49: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguajes racionales

• Dados dos lenguajes L1, L2 ⊆ A∗, definimos la concatenacion o productoL1L2 como

L1L2 = {uv : : u ∈ L1, v ∈ L2}.

• Dado un subconjunto L ∈ A∗ definimos

L∗ = {u1u2 . . . un : n ≥ 0, u1, u2, . . . , un ∈ L}.Esta operacion se conoce como operacion estrella de Kleene.

• Un subconjunto de A∗ se llama racional si puede obtenerse a partir desubconjuntos finitos de A∗ mediante un numero finito de operaciones deunion, concatenacion, y estrella de Kleene.

• El conjunto de todos los subconjuntos racionales de A∗ se denota porRat A∗.

48

Page 50: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Capacidad de reconocimiento de los automatasfinitos

• Sea A un alfabeto finito. Cualquier conjunto {w}, w ∈ A∗(es decir, lenguajes que consistan de una sola palabra) esreconocible.

• El conjunto vacıo es reconocible.

• Sea A un alfabeto finito y sean L1, L2 subconjuntos recono-cibles de A∗. Entonces, la union L1 ∪ L2 es reconocible.

• Sea A un alfabeto finito. Entonces, cualquier subconjuntofinito de A∗ es reconocible.

49

Page 51: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Teorema de Kleene

• Sea A un alfabeto finito y L un subconjunto de A∗. Entonces,

L es reconocible si y solo si L es racional.

• La prueba del teorema consiste en mostrar que los lengua-

jes reconocibles son cerrados bajo las operaciones de union,

concatenacion y estrella de Kleene.

50

Page 52: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Unidad III

Gramaticas y Lenguajes

51

Page 53: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Gramaticas

• Una gramatica formal o gramatica de estructura de frases es una cuadruplaΓ = (V, A, π, σ) donde

1. V es un conjunto finito de sımbolos llamado vocabulario de Γ.

2. A ⊆ V es el alfabeto terminal.

3. π ⊆ (V −A)+ × V ∗ es el conjunto (finito) de producciones.

4. σ ∈ V −A es el sımbolo inicial.

• Los elementos de π se llaman producciones y se denotan por u → v, conu ∈ (V −A)+ y v ∈ V ∗.

• Si u → v y u → w, podemos escribir simplemente u → v|w.

• La accion de una gramatica consiste en generar palabras mediante lasustiticion de sımbolos no terminales por cadenas de V ∗. Esta acciontermina una vez que la palabra generada contiene solamente sımbolosterminales.

52

Page 54: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguaje generado por una gramatica

• Dada una gramatica Γ = (V, A, π, σ), definimos una derivacionw ⇒ w′ para w, w′ ∈ V ∗ si existen x, y ∈ V ∗ y una produccionu → v en π tales que

w = xuy, w′ = xvy.

• En general, si existe una cadena de derivaciones w1 ⇒ w2 ⇒... ⇒ wn, podemos escribir simplemente w1∗ ⇒ wn.

• De esta manera, se define el lenguaje L(Γ) generado por Γcomo el conjunto de palabras en el alfabeto terminal quepueden derivarse del sımbolo inicial. Es decir,

L(Γ) = {w ∈ A∗ : σ∗ ⇒ w}.

53

Page 55: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplos de gramaticas

• Ejemplo 1: Sea Γ = (V, A, π, σ) con

A = {el, un, perro, gato, muerde, come},V = A ∪ {oracion, artıculo, sujeto, verbo},

y π consta de las siguientes producciones:

oracion → artıculo sujeto verboartıculo → el | unsujeto → perro | gatoverbo → muerde | come

• Ejemplo 2: Considerar la gramatica cuyas producciones son:

σ → aσ, σ → bσ, σ → aλ, λ → b.

54

Page 56: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Tipos de gramaticas

• Las gramaticas mas simples son las gramaticas regulares, en las cualestodas las producciones en π son de la forma

α → xβ, x ∈ A+, α, β ∈ V −A,

o bien

α → y, α ∈ V −A, y ∈ A∗.

• Una gramatica libre de contexto es aquella cuyas producciones son todasde la forma

α → z, α ∈ V −A, z ∈ V ∗.

• Un lenguaje es regular (resp. libre de contexto) si puede ser generadopor una gramatica regular (resp. libre de contexto).

• Notar que toda gramatica/lenguaje regular es libre de contexto.

55

Page 57: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguajes regulares y racionales

• Teorema: Un lenguaje es regular si y solo si es racional.

• Teorema: Dado un alfabeto finito A y un subconjunto

L ⊆ A∗, entonces los siguientes enunciados son equivalentes

(es decir, o bien todos son ciertos, o son todos falsos):

– L es racional.

– Existe un automata finito A tal que L = L(A).

– Existe una gramatica regular Γ tal que L = L(Γ).

56

Page 58: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejercicios

1. Considere la gramatica Γ = (V, A, π, σ) cuyas producciones son:

σ → ε|xλ|yγ

γ → yγ|ελ → xλ|ε

a) Describa el lenguaje generado por Γ.

b) Dibuje el diagrama de transiciones de un automata finito que re-conozca el mismo lenguaje.

2. Escriba una gramatica regular que reconozca el lenguaje L = b2(ab)∗a2.

3. Sean L1 y L2 lenguajes regulares, generados respectivamente por lasgramaticas Γ1 = (V1, A1, φ1, σ1) y Γ2 = (V2, A2, φ2, σ2). Construya unagramatica regular que genere la concatenacion L1L2.

4. Escriba una gramatica que genere todos los nombres de variables permi-tidos en el lenguaje C.

57

Page 59: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Gramaticas libres de contexto

• Como se vio anteriormente, una gramatica libre de contexto

(LDC) es aquella en la cual todas las producciones son de la

forma

α → z, α ∈ V −A, z ∈ V ∗.

• Las gramaticas LDC son mas generales que las regulares, por

lo que todo lenguaje racional es libre de contexto.

• Sin embargo, no todo lenguaje libre de contexto es regular.

58

Page 60: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguajes libres de contexto

• Ejemplo 1: el lenguaje L = {anbn : n ≥ 1} no es regular,

pero es LDC ya que es generado por la siguiente gramatica:

σ → aλb

λ → aλb

λ → ε

• Ejemplo 2: Mostrar que el lenguaje L ={w ∈ {a, b}∗ : w = wR

}

es libre de contexto, pero no regular.

59

Page 61: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguajes libres de contexto

• Ejemplo 3: Dado un alfabeto A, si a ∈ A y w ∈ A∗, entonces

|w|a denota el numero de ocurrencias de a en w. Verificar

que el lenguaje

L = {w ∈ {a, b}∗ : |w|a = |w|b}es generado por la siguiente gramatica:

σ → aµσ → bλ

λ → aλ → aσ

λ → bλ2

µ → bµ → bσ

µ → aµ2

60

Page 62: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Forma Normal de Chomsky

• Una gramatica libre de contexto que genere un lenguaje en

A+ se encuentra en la Forma Normal de Chomsky si cada

una de sus producciones es de alguno de los siguientes tipos:

λ → µν, λ, µ, ν ∈ V −A,

λ → a, λ ∈ V −A, a ∈ A.

• Teorema: Todo lenguaje libre de contexto en A+ puede

generarse mediante una gramatica en la Forma Normal de

Chomsky.

61

Page 63: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Conversion a la Forma Normal de Chomsky

1. Eliminar las producciones del tipo λ → ε.

2. Eliminar producciones triviales del tipo λ → µ, µ ∈ V −A.

3. Por cada a ∈ A, agregar un no-terminal βa y reemplazar lasocurrencias de a en todas las producciones por βa. Luego,agregar producciones βa → a para cada a ∈ A.

4. Cambiar cada produccion de la forma λ → α1α2 . . . αn por unacadena de producciones λ → α1λ1, λ1 → α2λ2, . . ., λn−2 →αn−1αn.

62

Page 64: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejercicios

1. Para cada uno de los lenguajes siguientes, escribir una gramaticalibre de contexto que lo genere:

(a) L = {arbsct : s = r + t}.

(b) L = {ambnam : m, n ≥ 1}.

(c) L = {anbm : 0 ≤ n < m}.

2. Para cada una de las siguientes gramaticas, describir el lenguajeque genera y convertirla a la Forma Normal de Chomsky:

(a) σ → aσb | cλd,λ → σ | ε.

(b) σ → λcµ,λ → aλ | ε,µ → bµ | ε.

63

Page 65: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Unidad IV

Automatas de pila

64

Page 66: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Limitantes de los automatas de estado finito

• Los automatas de estado finito realizan una transicion ha-cia un nuevo estado determinado unicamente por el estadoactual y el sımbolo de entrada, sin importar los estados re-corridos anteriormente, o las entradas previas.

• Esta incapacidad de recordar estados o entradas previas limitala capacidad de reconocimiento de los automatas finitos.

• Para superar esta limitante, podemos agregar algun tipo dememoria al automata. Una de las estructuras mas basicas dememoria es una pila, en la cual se pueden insertar y extraersımbolos unicamente por un solo extremo de la pila, llamadotope.

65

Page 67: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Automatas de pila

• Un automata de pila (ADP) es un automata de estado finitono-determinista al que se le agrega una pila de sımbolos y lasiguiente funcionalidad:

1. En cada transicion, se extrae un sımbolo de la pila y seutiliza para decidir a que estado ir.

2. En cada transicion se puede insertar cualquier cantidad desımbolos en la pila.

• De esta forma, el estado destino esta determinado por: (1)el estado actual, (2) el sımbolo de entrada, y (3) el sımboloextraıdo del tope de la pila.

66

Page 68: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Definicion formal de automata de pila

• Formalmente, un ADP es una septupla M = (Q, A, S, φ, i, ζ, T ), donde

– Q es un conjunto finito de estados

– A es el alfabeto del automata

– S es un conjunto finito de sımbolos llamado el alfabeto de la pila

– φ : Q×(A∪{ε})×(S∪{ε}) → P(Q×S∗) es la funcion de transicion.

– i es el estado inicial.

– ζ ∈ S es el sımbolo inicial de la pila.

– T ⊆ Q es el conjunto de estados terminales.

• La pila del automata es simplemente una cadena p ∈ S∗, la cual semodifica en cada transicion. Inicialmente, la pila contiene unicamente alsımbolo ζ.

67

Page 69: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Transiciones

• La funcion de transicion se define como

φ : Q× (A ∪ {ε})× (S ∪ {ε}) → P(Q× S∗),

por lo tanto, podemos definir una transicion como una quıntupla

de la forma

(q, a, α) → (q′, z), q, q′ ∈ Q, a ∈ A ∪ {ε}, α ∈ S ∪ {ε}, z ∈ S∗,

si (q′, z) ∈ φ(q, a, α).

Esto significa que, estando en el estado q, con el sımbolo

de entrada a, y la cadena pα, p ∈ S∗ en la pila, el automata

puede ir al estado q′, quedando la cadena pz en la pila (se

extrae α y se inserta z).

68

Page 70: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplo

• Considerar el ADP

M = ({q0, q1, q2}, {a, b}, {ζ, α}, φ, q0, ζ, {q2}) ,

donde φ contiene las siguientes transiciones:

φ(q0, a, ζ) = {(q0, αζ)} ,

φ(q0, a, α) ={(q0, α2)

},

φ(q0, b, α) = {(q1, ε)} ,φ(q1, b, α) = {(q1, ε)} ,φ(q1, ε, ζ) = {(q2, ζ)} .

• Notar que solamente se llega al estado terminal si la cadenade entrada tiene la forma anbn, n ≥ 1.

69

Page 71: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Computos

• Una descripcion instantanea (DI) es una tercia (q, τ, w) donde

– q ∈ Q es el estado en el que se encuentra el automata

– τ ∈ S∗ es el contenido de la pila

– w ∈ A∗ es la cadena de sımbolos de entrada que aun noha sido leıda.

• Un computo en un ADP es una secuencia de DI’s que seobtiene a partir de la aplicacion de una o mas transiciones,y puede representarse de la siguiente manera:

(q1, τ1, a1a2 . . . an) → (q2, τ2, a2 . . . an) → . . . → (q′, τ ′, w′).

70

Page 72: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguaje reconocido por un ADP

• Sea M = (Q, A, S, φ, i, ζ, T ) un ADP.

• Una palabra w ∈ A es reconocida M si existe un computo dela forma

(i, ζ, w) → . . . → (qt, τ, ε), qt ∈ T, τ ∈ S∗,es decir, que lleve al automata desde el estado inicial a unestado terminal en el cual la secuencia de sımbolos de entradaes precisamente w.

• El lenguaje L(M) reconocido por M es el conjunto de todaslas palabras w ∈ A que son reconocidas por M:

L(M) = {w ∈ A∗ : existe un computo (i, ζ, w) → . . . → (qt, τ, ε), qt ∈ T, τ ∈ S∗}.

71

Page 73: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Reconocimiento por pila vacıa

• Como se menciono anteriormente, una palabra w es recono-cida por un automata de pila M = (Q, A, S, φ, i, ζ, T ) si existeun computo

(i, ζ, w) → . . . → (t, τ, ε), t ∈ T, τ ∈ S∗.

• Otra posibilidad consiste en considerar una palabra w comoreconocida si y solo si la pila queda vacıa una vez que se haconsumido la palabra de entrada; es decir, si y solo si existeun computo

(i, ζ, w) → . . . → (q, ε, ε), q ∈ Q.

Notar que en este caso, ya no es necesario definir un conjuntoT ⊆ Q de estados terminales.

72

Page 74: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Equivalencia entre criterios de reconocimiento

• Llamemos ADP-ET a los automatas de pila que reconocen

palabras cuando se llega a un estado terminal, y ADP-PV a

los que reconocen palabras al vaciarse la pila.

• Se puede demostrar facilmente que los ADP-ET y los ADP-

PV pueden reconocer la misma clase de lenguajes; es decir,

para cada ADP-ET existe un ADP-PV que reconoce el mismo

lenguaje, y viceversa.

73

Page 75: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Automatas de pila y lenguajes libres de contexto

• Teorema: Sea A un alfabeto y L ⊆ A∗. Entonces, L es libre de contextosi y solo si es reconocido por un ADP.

• Demostracion (parcial): Suponer que L es LDC, y es generado por unagramatica Γ = (V, A, π, σ) en la Forma Normal de Chomsky. Construır elADP

M = ({i, q, t}, A, (V −A) ∪ {ζ}, φ, i, ζ, {t}) ,

donde φ contiene las transiciones

– π(i, ζ, ε) = {(q, ζσ)},– π(q, λ, ε) ⇒ (q, βα), por cada produccion de la forma λ → αβ,

– π(q, ζ, ε) = {(t, ζ)},– π(q, λ, a) ⇒ (q, ε), por cada produccion de la forma λ → a.

No es difıcil ver que L(M) = L(Γ).

74

Page 76: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lema del Bombeo para lenguajes LDC

• Sea L un lenguaje libre de contexto. Entonces, existe unentero N > 0 que depende unicamente de L, con la propiedadde que si z ∈ L y |z| > N , entonces z puede factorizarse comoz = uvwxy de manera que

1. |vx| ≥ 1,

2. |vwx| < N ,

3. uvmwxmy ∈ L para todo m ≥ 0.

• Ejemplo: mostrar que el lenguaje L = {anbnan : n ≥ 1} noes libre de contexto.

75

Page 77: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplos de lenguajes no LDC

•{w2 : w ∈ {a, b}+

}

• {an2: n ≥ 1}

• {ap : p es primo}

•{w ∈ {a, b, c}+ : |w|a = |w|b = |w|c

}

•{wwRw : w ∈ {a, b}∗

}

76

Page 78: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Propiedades de cerradura de los lenguajes LDC

1. Si L1 y L2 son LDC, entonces L1 ∪ L2 y L1L2 tambien lo son.

2. Si L es LDC, entonces L∗ tambien lo es.

3. Si L1 y L2 son LDC, entonces L1∩L2 no es necesariamente LDC. Ejemplo:

• L1 = {ambm : m ≥ 1} es LDC

• L2 = {bnan : n ≥ 1} es LDC

• L3 = L1 · a+ = {ambman : m, n ≥ 1} es LDC

• L4 = a+ · L2 = {ambnan : m, n ≥ 1} es LDC

• Sin embargo, L3 ∩ L4 = {anbnan} no es LDC.

4. Si L ⊆ A∗ es LDC, entonces A∗−L no es necesariamente LDC (usar leyesde DeMorgan).

5. Si L1 es regular y L2 es LDC, entonces L1 ∩ L2 es LDC.

77

Page 79: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejercicios

1. Para cada uno de los siguientes lenguajes, encontrar un ADP que loreconozca:

(a) {anb2n : n ≥ 1}(b) {apbp+qaq : p, q ≥ 1}(c) {ambn : m > n ≥ 1}(d)

{wa|w| : w ∈ {a, b}+}

2. Describir el lenguaje reconocido por el siguiente ADP:

(i, a, ζ) = {(i, ζα2)}, (i, a, α) = {(i, α3)},(i, b, α) = {(q, α2)}, (q, b, α) = {(q, α2)},(q, a, α) = {(q′,1)}, (q′, a, α) = {(q′,1)},(q′,1, ζ) = {(t, ζ)}.

78

Page 80: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Unidad V

Maquinas de Turing

79

Page 81: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Introduccion

• Podemos pensar en un automata (de estado finito o de pila) como una

maquina que escanea una palabra w = a1a2 . . . an impresa en una cinta:

i↓a1 a2 . . . an

donde la maquina esta en el estado inicial i, escaneando el sımbolo masa la izquierda.

• Tanto los automatas de estado finito como los automatas de pila, es-canean un sımbolo en la cinta, y se mueven a la derecha, posiblementecambiando de estado (y en el caso de los ADP’s, haciendo posibles ajustesa la pila).

80

Page 82: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Limitantes de los automatas

• Los automatas de estado finito se ven limitados en los si-guientes aspectos:

1. Solamente pueden escanear la cinta hacia la derecha, siendoimposible regresar a escanear sımbolos anteriores.

2. Solamente pueden leer el contenido de la cinta, pero nomodificarlo.

• Los automatas de pila pueden modificar el contenido de lapila (la cual puede verse tambien como una cinta), pero so-lamente en un extremo. Tampoco pueden recorrer la cintamas que hacia la derecha.

81

Page 83: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Maquinas de Turing

• Definicion formal: Una maquina de Turing (MT) es una septupla T =(Q, A, M,∆, θ, i, T ), donde

– Q es un conjunto finito de estados.

– A es un alfabeto finito.

– M ⊇ A es el conjunto finito de sımbolos de la cinta de T .

– ∆ ∈ M −A es el sımbolo blanco.

– i ∈ Q es el estado inicial.

– T ⊆ Q es un conjunto no-vacıo de estados terminales.

– θ es una funcion parcial de Q × M a Q × M × {L, R}, donde L y Rindican izquierda y derecha, respectivamente.

82

Page 84: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Descripciones instantaneas

• Una descripcion instantanea (DI) es una palabra w1qw2, donde

w1 ∈ M∗, w2 ∈ M+, y q ∈ Q, e indica que el contenido de

la cinta es w1w2, y que la MT se encuentra en el estado q,

escaneando el primer sımbolo de w2.

• Si w1 = a1a2 . . . am, y w2 = b1b2 . . . bn, entonces la DI w1qw2

puede representarse con el siguiente diagrama:

q↓

a1 a2 . . . am b1 b2 . . . bn

83

Page 85: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Computos

• Consideremos la DI w1qw2, donde w1 = w′1α y w2 = βw′

2 (con α, β ∈ M).Entonces, el comportamiento de la maquina de Turing puede ser uno delos siguientes:

1. Si θ(q, β) = (q′, β′, R), entonces

w′1αqβw′

2 −→ w′1αβ′q′w′

2.

2. Si θ(q, β) = (q′, β′, L), entonces

w′1αqβw′

2 −→ w′1q′αβ′w′

2.

3. Si q se encuentra cerca del final de la DI y la maquina se muevehacia la derecha de la cinta, entonces se insertan sımbolos blancosconforme sea necesario. Por ejemplo, si θ(q, β) = (q′, β′, R), entonces

w1qβ −→ w1β′q′∆.

• Si dos DI’s pueden conectarse mediante una secuencia de transicionescomo las mostradas arriba, entonces a esa secuencia se le llama uncomputo en T .

84

Page 86: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguaje reconocido por una MT

• Si w ∈ A∗, entonces decimos que w es reconocida por T si

existe un computo

iw → . . . → z1tz2,

donde i es el estado inicial, t es un estado terminal, z1 ∈ M∗,y z2 ∈ M+.

• El lenguaje L(T ) reconocido por T es el conjunto de todas

las palabras w ∈ A∗ reconocidas por T .

85

Page 87: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplo

• Considerar la MT T = (Q, A, M,∆, θ, i, T ) con Q = {i, q1, q2, q3, q4, t},M = {a, b,∆, λ, µ}, A = {a, b}, T = {t}, y θ dada por

θ(i, a) = (q1, λ, R), θ(q3, µ) = (q3, µ, L),θ(q1, a) = (q1, a, R), θ(q3, a) = (q3, a, L),θ(q1, µ) = (q2, µ, R), θ(q3, λ) = (i, λ, R),θ(q2, b) = (q3, µ, L), θ(i, µ) = (q4, µ, R),θ(q2, µ) = (q3, µ, L), θ(q4, µ) = (q4, µ, R),θ(q1, b) = (q3, µ, L), θ(q4,∆) = (t,∆, R).

• Verificar que L(T ) = {anbn : n ≥ 1}.

86

Page 88: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejercicios

1. Construır maquinas de Turing que reconozcan los siguientes lenguajes:

(a) L ={wwR : w ∈ {a, b}∗}.

(b) L ={w ∈ {a, b}+ : |w|a = |w|b

}.

(c) L = {anbnan : n ≥ 1}.(d) L =

{w ∈ {a, b, c}+ : |w|a = |w|b = |w|c

}.

Notar que los lenguajes (c) y (d) no son libres de contexto.

2. Construır una maquina de Turing que reconozca el lenguaje

L = {ambn : m es divisor de n}.Sugerencia: por cada a encontrada, cambiarla por λ y luego buscar unab y cambiarla por µ. Una vez que no haya mas a’s, verificar si ya noquedan b’s. En ese caso, aceptar la palabra. De otra manera, cambiartodas las λ’s por a’s y comenzar nuevamente.

87

Page 89: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Maquinas de Turing como procesadores de texto

• Si consideramos la cinta de una MT como una cadena de caracteres,entonces uno puede considerar la MT como un procesador de texto querealiza alguna tarea especıfica.

• Por ejemplo, es relativamente sencillo construır maquinas de Turing querealicen los siguientes procesos:

1. Reemplazar un caracter por otro

2. Reemplazar una seccion del texto por otra de la misma longitud

3. Insertar un sımbolo, desplazando el texto hacia la derecha

4. Eliminar un sımbolo, desplazando el texto siguiente a la izquierda

5. Duplicar una seccion del texto

6. Verificar si dos palabras son iguales

88

Page 90: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Clase de lenguajes reconocidos por las MT

• Es facil demostrar que cualquier lenguaje regular puede ser reconocidopor una MT.

• Tambien es posible demostrar que una maquina de Turing no-deterministatiene la misma capacidad de computo que una MT determinista.

• Utilizando lo anterior, es posible demostrar que cualquier lenguaje librede contexto puede ser reconocido por una MT (determinista o no deter-minista).

• De hecho, la clase de lenguajes que son reconocidos por las maquinas deTuring, son precisamente los lenguajes de estructura de frases; es decir,aquellos que pueden ser generados por una gramatica de estructura defrases, donde todas las producciones son de la forma:

u → v, u ∈ (V −A)+, v ∈ V ∗.

• Los lenguajes reconocidos por las maquinas de Turing tambien se llamanrecursivamente ennumerables.

89

Page 91: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Conjuntos reconocidos por las MT

• Utilizando las subrutinas de procesamiento de textos, es posi-

ble realizar algunas operaciones relativamente complejas con

una MT. Algunos ejemplos son:

Operacion Entrada Salida

Suma am∆an∆ am+n∆

Resta am∆an, n ≤ m am−n∆

Producto am∆an∆ amn∆

Division am∆an∆ aq∆ar∆, m = nq + r, r < n

90

Page 92: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejercicios

• Disene una maquina de Turing que invierta una cadena de

texto.

• Describa, en terminos de subrutinas de procesamiento de

textos, como construır maquinas de Turing que reconozcan

los siguientes lenguajes:

1. L = {an2: n ≥ 1}

2. L = {ap : p es primo}.

91

Page 93: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Jerarquıa de Chomsky

• Sea A un alfabeto finito no vacıo, y

– F(A∗) el conjunto de todos los lenguajes finitos en A∗,

– Rat A∗ el conjunto de todos los lenguajes regulares en A∗,

– LDC A∗ el conjunto de todos los lenguajes libres de con-texto en A∗,

– RE A∗ el conjunto de todos los lenguajes recursivamenteennumerables en A∗,

• Entonces, se cumple la siguiente relacion:

F(A∗) ⊂ Rat A∗ ⊂ LDC A∗ ⊂ RE A∗ ⊆ P(A∗).92

Page 94: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Conjuntos que no son reconocidos por las MT

• Dado un alfabeto finito no-vacıo A, existe una cantidad innumerable delenguajes en A∗. Esto es debido a que A∗ es infinito contable, y por lotanto, P(A∗) es infinito incontable.

• Por otra parte, el numero de maquinas de Turing que pueden disenarse escontable (pueden enlistarse primero todas las MT con un estado, luegotodas las MT con dos estados, etc).

• Esto significa que existen lenguajes en A∗ que no pueden ser reconocidospor una maquina de Turing.

• Estos lenguajes, sin embargo, no son faciles de encontrar, ya que nopueden ser descritos mediante ningun proceso algorıtmico.

93

Page 95: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Codificacion de una MT

• Supongamos que se desea describir completamente una maquina

de Turing T = (Q, A, M,∆, θ, i, T ) mediante una cadena en

{a, b}∗; es decir, mediante una codificacion binaria.

• Para hacer esto, podemos ordenar los elementos de Q, T , A,

y M −A de una manera conveniente:

1. Q = {q1, q2, . . . , qk, t1, . . . , tl}, con i = q1 y T = {t1, . . . , tl},

2. A = {a1, . . . , am}, con a1 = a y a2 = b,

3. M −A = {α1, . . . , αn}, con α1 = ∆.

94

Page 96: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Codificacion de una MT

• A continuacion, podemos definir las siguientes funciones:

– c1(qi) = ba2i+1b, para i = 1, . . . , k,

– c1(tj) = ba2jb, para j = 1, . . . , l,

– c2(ar) = ba2r+1b, para r = 1, . . . , m,

– c2(αs) = ba2sb, para s = 1, . . . , n,

– c3(L) = bab,

– c3(R) = ba2b.

• Definimos tambien la funcion c : Q×M ×Q×M × {L, R} → {a, b}∗ como:

c(q, α, q′, α′, X) = c1(q)bc2(α)bc1(q′)bc2(α

′)bc3(X).

• Notar que la funcion c codifica una instruccion de la MT en una cadenade a’s y b’s:

θ(q, α) = (q′, α′, X) −→ c(q, α, q′, α′, X).

95

Page 97: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Codificacion de una MT

• Una MT puede definirse completamente mediante una secuencia finitade instrucciones, por lo que podemos pensar en cualquier MT como unelemento del conjunto

(Q×M ×Q×M × {L, R})p , p ≤ 1.

• Sea K : (Q×M ×Q×M × {L, R})+ → {a, b}∗ una funcion que mapea unaMT a una palabra en {a, b}∗ definida como:

K(z1, z2, . . . , zp) = c(z1)b2c(z2)b

2 . . . b2c(zp),

donde zi = Q×M ×Q×M × {L, R}.

• K es una funcion uno-a-uno, de manera que a cada maquina de Turingle corresponde una codificacion unica bajo K. Esa codificacion dependedel orden en que se enlisten los estados, sımbolos, e instrucciones de laMT.

• Si bien una codificacion de una MT es una palabra en {a, b}∗, ss impor-tante notar que no cualquier palabra en {a, b}∗ corresponde a la codifi-cacion de alguna MT.

96

Page 98: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Un lenguaje no reconocido por ninguna MT

• Sea A = {a, b}, y W ⊂ A∗ el conjunto de palabras que son codificacion deuna maquina de Turing; es decir,

W = {K(z1, z2, . . . , zp) : zi ∈ Q×M ×Q×M × {L, R}, i = 1, . . . , p, p ≥ 1} .

• Para w ∈ W , sea T (w) la maquina de Turing tal que K(T (w)) = w.

• Uno podrıa preguntarse si, dada una palabra w ∈ W , la MT T (w) reconocew. Decimos que w es una buena codificacion si

w ∈ L (T (w)) .

• Sea G ⊂ W el conjunto de palabras que son buenas codificaciones.

• Entonces, el conjunto D = A∗−G; es decir, el complemento de G en A∗,no es recursivamente enumerable.

• La prueba se realiza por contradiccion, suponiendo que D = L(T ) paraalguna MT T y verificando si una codificacion w de T es buena o no loes.

97

Page 99: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Maquinas de Turing universales

• Una maquina de Turing universal U es una maquina de Turing que tomacomo entrada una palabra

w = w1∆w2 ∈ {a, b},donde w1 = K(M) es la codificacion de una maquina de Turing M conalfabeto A, y w2 es la codificacion de una palabra en A∗; es decir,

w2 = c2(a1)c2(a2) . . . c2(an), a1a2 . . . an ∈ A∗.

• La accion de U consiste en simular la accion de la maquina M = T (w1)cuando la entrada de M es a1a2 . . . an (se puede demostrar que existe unamaquina de Turing U es capaz de hacer esto).

• Por lo tanto, una maquina de Turing universal es una maquina de Turingque es “programable” cuyo programa se escribe (de manera codificada)en la cinta.

98

Page 100: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Maquinas de Turing universales

• Consideremos el lenguaje

G = {w ∈ {a, b} : w ∈ L (T (w))} ;

es decir, el lenguaje que consiste en las codificaciones de todas aquellasmaquinas de Turing que aceptan su propia codificacion.

• Este lenguaje puede reconocerse mediante una maquina de Turing uni-versal que realice los pasos siguientes:

1. Duplicar la palabra en la cinta: w∆ −→ w∆w∆.

2. Codificar la segunda palabra en la cinta:

w∆w∆ −→ w∆c2(a1)c2(a2) . . . c2(an)∆,

donde w = a1a2 . . . an.

3. Simular la maquina descrita por w con entrada w.

• Ya que D = A∗ − G no es reconocible por ninguna maquina de Turing,entonces es claro que el complemento de un lenguaje recursivamenteenumerable no necesariamente es recursivamente enumerable.

99

Page 101: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Lenguajes decidibles

• Un lenguaje L ⊂ A∗ es decidible si existe una maquina de Turing capazde decidir, para cada w ∈ A∗, si w pertenece o no a L.

• En otras palabras, un lenguaje L ⊂ A∗ si tanto L como A∗ − L sonreconocibles por maquinas de Turing.

• Todos los lenguajes libres de contexto son decidibles.

• El lenguaje G = {w ∈ {a, b} : w ∈ L (T (w))} no es decidible.

• Uno puede construır una maquina de Turing que “decida” un lenguajedecidible L haciendo que esta escriba una a al final de la cinta si la palabrade entrada es aceptada, o una b si la palabra no es aceptada.

100

Page 102: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Problema de la parada

• Una maquina de Turing T con alfabeto {a, b} es autoterminante si even-tualmente se detiene cuando se le da como entrada la palabra K(T )(independientemente de si la palabra es o no aceptada por la maquina).

• Definamos el lenguaje H ⊂ {a, b}∗ como

H = {K(T ) : T es autoterminante}.

• Consideremos el problema de decidir H. De cierta forma, esto implicadecidir si una maquina de Turing se detiene cuando se le da como entradauna cadena especıfica. Debido a esto, al problema de decidir H se leconoce como el problema de la parada.

• Puede demostrarse que H no es decidible (suponer que lo es, considerarla MT TH que decide H y modificarla para que entre en un ciclo infinitocuando una palabra es aceptada, preguntarse si esta nueva maquina esautoterminante).

101

Page 103: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Unidad VI

Computabilidad ycomplejidad computacional

102

Page 104: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Computabilidad

• Nos interesa ahora el estudio de aquellos procesos que son realizables poruna maquina de Turing.

• En general, podemos pensar que cualquier tipo de proceso computacionaltoma una entrada y devuelve una salida correspondiente a dicha entrada.

• Por lo tanto, cualquier proceso computacional puede representarse comouna funcion.

• Aunque los dominios y contradominios de las funciones computablespueden ser muy diversos, en general es posible, mediante codificacionesadecuadas, representar cualquier funcion computable como una funcionparcial de la forma

f : Nm → Nn.

103

Page 105: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Funciones iniciales

• Es facil ver que las siguientes funciones son computables:

– Funcion cero: ζ() = 0.

– Funcion sucesor: σ(x) = x + 1.

– Proyecciones: πmk (x1, x2, . . . , xm) = xk.

104

Page 106: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Combinacion y composicion

• La combinacion de dos funciones f : Nm → Np y g : Nm →Nq es la funcion f × g : Nm → Np+q, definida como

(f × g)(x) = (f(x), g(x)),

es computable si f y g lo son.

• La composicion de dos funciones f : Nm → Np y g : Np → Nn

es la funcion g ◦ f : Nm → Nn, definida como

(g ◦ f)(x) = g(f(x)),

es computable si f y g lo son.

105

Page 107: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Recursividad primitiva

• Una funcion recursiva primitiva h : Nm+1 → Nn se define apartir de otras dos funciones f : Nm → Nn y g : Nm+n+1 → Nn

mediante la siguiente formula recursiva:

h(x,0) = f(x),

h(x, y + 1) = g(x, y, h(x, y))

• Si f y g son computables, entonces h es tambien computable.

• Ejemplo: La funcion suma sum : N2 → N puede definirsecomo

sum(x,0) = π11(x),

sum(x, y) = (σ ◦ π33)(x, y, sum(x, y))

106

Page 108: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Funciones recursivas primitivas

• Las funciones recursivas primitivas son todas aquellas que

pueden construırse a partir de funciones iniciales mediante la

aplicacion de un numero finito de combinaciones, composi-

ciones, y recursiones primitivas.

• Toda funcion recursiva primitiva es computable y total. En

otras palabras, si f : Nm → Nn es recursiva primitiva, entonces

el dominio de f es Nm.

• La mayorıa de las funciones que se requieren en procesos de

computo tradicionales son recursivas primitivas.

107

Page 109: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplos de funciones recursivas primitivas

Funcion constante:Km

c (x) = cKm

0 (x) = ζ(),Km

c (x) = σ(Kmc−1(y))

Producto:prod(x, y) = x · y prod(x,0) = K1

0(x),prod(x, y + 1) = sum(x, prod(x, y)).

Potencia: pot(x,0) = K11(x),

pot(x, y + 1) = prod(x, pot(x, y)).

Predecesor: pred(0) = ζ(),pred(y + 1) = π2

1(y, pred(y)).

Resta no-negativa:monus(x, y) = x−y

monus(x,0) = π11(x),

monus(x, y + 1) = pred(monus(x, y)).

Comparacion:x == y

eq(x, y) = monus(1, sum(monus(x, y), monus(y, x))).

108

Page 110: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Ejemplos de funciones recursivas primitivas

Funcionescaracterısticas:

κi(x) = eq(x, K0i ).

Negacionlogica:

neg(x) = monus(K01 , x).

Funcionestabulares:

f(x) = K0y1() · κx1(x) +

K0y2() · κx2(x) +...

K0y0· neg(κx1(x)) · neg(κx2(x)).

Cociente: coc(0, y) = ζ(),coc(x + 1, y) = coc(x, y) + eq(x + 1, (coc(x, y) · y) + y).

109

Page 111: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Funcion totales no recursivas primitivas

• No toda funcion total es recursiva primitiva. Algunos ejemplos son:

1. Es claro que el conjunto F de todas las funciones recursivas primitivases contable, por lo tanto, pueden enlistarse como PR = {f1, f2, . . .}.Considerar la funcion f : N→ N tal que f(n) = fn(n)+1. Claramentef es total ya que esta bien definida para toda n ∈ N. Sin embargo, sepuede probar tambien que f /∈ PR, y por lo tanto, f no es recursivaprimitiva.

2. La funcion de Ackermann A : N2 → N se define recursivamente medi-ante las siguientes ecuaciones:

A(0, y) = y + 1,

A(x + 1,0) = A(x,1),A(x + 1, y + 1) = A(x, A(x + 1, y)).

Se puede demostrar que A es computable y total, pero no recursivaprimitiva (se demuestra que la funcion f(n) = A(n, n) crece masrapido con respecto a n que cualquier funcion recursiva primitiva).

110

Page 112: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Funciones recursivas parciales

• Para obtener una funcion parcial f : Nm → Nn (es decir, que no estenecesariamente definida para todo x ∈ Nm), se requiere del operador deminimalizacion µ, cuya accion puede definirse como sigue:

f(x) = µy [g(x, y) == 0] ,

lo cual significa que f(x) es el menor valor de y tal que g(x, y) == 0 yg(x, z) esta definida para todo z < y.

• Ejemplo: La division entera es una funcion recursiva parcial que puededefinirse como sigue:

div(x, y) = µt [((x + 1)−((t · y) + y)) == 0] .

• Si g(x, y) es computable, entonces f(x) = µy[g(x, y) == 0] tambien lo es.

• Se puede demostrar que la clase de funciones recursivas parciales es lamisma que la clase de funciones computables por una maquina de Turing.

111

Page 113: Teor¶‡a del Aut¶omata - Facultad de Ciencias de la ...galia.fc.uaslp.mx/~fac/automata/automata.pdf · Introducci¶on a las notas del curso † Estas notas est¶an dise~nadas para

Complejidad computacional

112


Recommended