Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Buen Documento PDF
Buen Documento PDF
AUTOR:
http://www.camayat.com
Duitama (ZCBOY)
Versin 4 2014.
CONTENIDO
4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Tabla de contenido
LISTA DE FIGURAS................................................................................................................................ 8
LISTA DE TABLAS................................................................................................................................ 10
INTRODUCCIN ................................................................................................................................. 11
I. GENERALIDADES: ............................................................................................................ 16
I.III RELACIONES:........................................................................................................................ 20
5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LECCIN 24. FUNCIONES QUE SE APLICAN SOBRE LOS STACKS. (PILAS). ................................ 98
6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LECCIN 27. RELACIN ENTRE LOS AUTMATAS DE PILA Y LENGUAJES LIBRES DE CONTEXTO
................................................................................................................................................. 102
LECCIN 29. ALGORITMOS DE DECISIN PARA LOS LENGUAJES LIBRES DE CONTEXTO. ....... 106
LECCIN 30. PROBLEMAS INDECIDIBLES PARA LENGUAJES LIBRES DE CONTEXTO. .............. 108
LECCIN 33. DIFERENCIAS ENTRE LAS COMPUTADORAS Y LAS MQUINAS DE TURING ..... 116
LECCIN 44. APLICACIONES DE LAS MAQUINAS DE ESTADOS. ALGORITMO DE TRELLIS. ..... 135
7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LISTA DE FIGURAS
Pg
8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
LISTA DE TABLAS
Pg
10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
INTRODUCCIN
Los contenidos que s e documentan y explican, llevan al lector a que asimile dos
temticas bsicas para esta rea de conocimiento:
Se presentan temticas que son base para comprender los lenguajes de programacin de
alto y bajo nivel y que propician la distincin entre lenguajes formales con reglas
sintcticas y semnticas rgidas, concretas y bien definidas, de los lenguajes
naturales como el ingls o el espaol, donde la sintaxis y la semntica no se pueden
controlar fcilmente. Los intentos de formalizar los lenguajes naturales, lleva a la
construccin de gramticas, como una forma de describir estos lenguajes, utilizando
para ello reglas de produccin para construir las frases del lenguaje. Se puede entonces
caracterizar un lenguaje mediante las reglas de una gramtica adecuada.
Muchos autores referenciados en las fuentes bibliogrficos y de los cuales se han tomado
anlisis y ejercicios clave para poder comprender la temtica, usan diferentes tipos de
nomenclaturas, frmulas y smbolos, ya que como tal, los lenguajes, expresiones
regulares, funciones entre otros deben representarse matemticamente. Para
estandarizar de manera sencilla, se presenta como Anexo a este libro, la lista de smbolos
usados y su significado.
Como complemento a una aplicabilidad que tienen las Teora de lenguajes y autmatas,
se explica el funcionamiento del algoritmo de la modulacin codificada de Trellis y la
Decodificacin de Viterbi (algoritmos creados para el aumento de velocidad y para la
mejora de la veracidad) codificaciones de canal y de fuente en transmisin de datos como
tcnicas de deteccin y correccin de errores. Este algoritmos se explica mediante los
diagramas de rbol y grafos para cdigos convolucionales en los que se observa el paso
de las transiciones la entrada de datos y los cambios de estado.
Finalmente les he desarrollado un material en video que les apoya el desarrollo de los
ejercicios de este libro, unos tomados de otras fuentes documentales y otros de autora
propia y que estn a disposicin para su descarga o visualizacin.
13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los siguientes son los smbolos usados en el presente libro y son la base para todos los
ejercicios y temticas expuestas. Muchos autores difieren en el tipo de simbologa usada,
pero se ha procurado consolidar y usar los ms comunes acorde a su significado y
aplicabilidad.
Sigma Alfabeto
L Letra Ele Lenguaje sobre un determinado alfabeto
mayscula
M Eme Mquina de estados Finitos
A A Autmata
K Ka Suele denotar el conjunto de estados de un autmata
F Efe Suele denotar el conjunto de estados finales de un autmata
S Ese Suele denotar el estado inicial de un autmata
Sigma Denota una funcin.
Ro Funcin de transicin de un autmata
Omega Denota una cadena o palabra sobre un alfabeto
Upsilon Denota una cadena o palabra sobre un alfabeto
Alpha Otras cadenas. En algunos caso indica una Expresin Regular (ER)
Beta Otras cadenas. Muy usado en denotar cadenas en gramticas.
Lambda Representa una cadena vaca
Delta
Gamma Suele denotar el Alfabeto de una Pila (AP) (PDA)
Gammar Suele denotar un conjunto de cadenas de un PDA
G Ge Representa una gramtica
Unin
Interseccin
Comparacin Menor o igual que
Comparacin Mayor o igual que
< Comparacin Menor que
14
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
15
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
I. GENERALIDADES:
Las nociones bsicas de la Teora de conjuntos, son necesarias para el inicio del estudio
de la Teora de la Computacin.
Dado dos conjuntos A y B, estos son exactamente iguales si contienen exactamente los
mismos elementos: A={1,2,3} y B ={2,3,1}, es vlido afirmar y escribir que A=B. No se
tienen en cuenta las repeticiones de elementos ni tampoco el orden de estos.
Es relevate para este estudio diferenciar que a y {a} no son lo mismo a {a} .
Teorema 2. Si A B y B C , entonces A C
16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Conjunto Vaco: Es llamado tambin nulo y es aquel que no tiene elementos. Se denota
como . El conjunto vaco es un subconjunto de todos los conjuntos; por lo cual es vlido
denotar: A para todo conjunto A.
B= {x A | x cumple la propiedad P}
Sea P(x) una proposicin sobre x. La notacin {x | P(x)} se interpreta como: el conjunto de
todos los x tales que P(x), denota el conjunto de todos los x para los cuales P(x) es una
proposicin verdadera. Ejemplo 4:
En aritmtica bsica se pueden trabajar tres operaciones: sumar restar y multiplicar dos
nmeros. E la teora de conjuntos existen tres operaciones que son anlogas a la suma,
resta y multiplicacin.
17
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
A B {x | x a V x B}
A B {x | x a x B}
A B {x | x a x B}
18
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Bsicamente consiste y son tiles para reemplazar expresiones pro otras equivalentes o
que tengan el mismo resultado.
Teorema 3.
A A
A
Si A B , entonces A B A
Si A B , entonces A B B
Idempotencia: A A A ; A A A
Conmutatividad: A B B A ; A B B A
Asociatividad: ( A B) C A ( B C )
( A B )C A ( B C )
Distributividad: A ( B C ) ( A B) ( A C )
A ( B C ) ( A B) ( A C )
Absorcin: A ( A B) A ; A ( A B) A
Leyes de Morgan:
A B A B se suele denotar tambin como: ( A B) C A C B C
A B A B se suele denotar tambin como: ( A B) C A C B C
Doble complemento. ( AC ) C A
19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
O de igual forma: 2 A {x | x A}
Ejemplo 11: 2{1, 2,3} { ,{1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}}
El conjunto vaco siempre forma parte de todo conjunto potencia. La notacin 2 A recuerda
que el tamao del conjunto potencia de A es 2 elevado a la potencia del tamao de A, esto
es, | 2 A | = 2| A| .
Ejemplo 12: Sea U (El Universo de los nmeros naturales), el complemento de los
nmeros mltiplos de tres (3) {3,6,9,12,15,...}c = {1,2,4,5,7,8,10,11,13,14, .}.
I.III RELACIONES:
Ejemplo 13: Sea el conjunto A = {a, b, c}. El grafo de la figura (1) representa una relacin
binaria definida en A, puesto que los pares (c,a), (b,a) (b,b) constituyen un subconjunto de
A x A.
20
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:<El autor>
Ejemplo 14: La relacin contiene los pares de los nmeros naturales tales que el primer
componente es menor o igual al segundo, esto es,
= {(1,1),(1,2),(1,3),(1,4),(2,3)}
Tngase en cuenta que se llama par ordenado a una pareja de objetos escritos entre
parntesis y separados por comas.
Por ejemplo, (a,b) es un par ordenado y a,b son los componentes del par ordenado. No es lo
mismo (ya que el orden si influye), lo siguiente:
( a, b) {a, b}
(a, b) (b, a )
El orden si influye, sin embargo, no todos los subconjuntos del producto cartesiano,
pueden ser aceptados como la relacin de la condicin que exprese. Algunas
caractersticas de estas relaciones son:
21
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
R 1 {( y, x) | ( x, y) R}
Propiedad Condicin
Reflexiva R es reflexiva si a A : aRa
Antireflexiva R es antireflexiva si a A : (aRa ) aRa
Simtrica R es simtrica si a, b A : (aRb) (bRa )
Antisimtrica R es antisimtrica si a, b A : (aRb) (bRa )
Transitiva R es transitiva si a, b, c A : (aRb) (bRc) (aRc)
Fuente: El Autor
Fuente:<El autor>
22
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:<El autor>
Simtrica: Cada relacin de ida tiene otra de vuelta. Ejemplo 18 Si A={1,2,3,4} y R es tal
que R = {(-1, -1), (-1, -3), (2, 2), (2, 4), (-3, -1), (-3, -3), (4, 2), (4, 4)}.
Fuente:<El autor>
Antisimtrica: Ninguna flecha de ida tiene otra de vuelta, salvo en el caso de los bucles,
que estn permitidos. Ejemplo 19 Si A = {1, 2, 3, 4} y R es la relacin ser menor o igual
que, se tiene: R = {(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4), (1, 1), (2, 2), (3, 3), (4, 4)}
Fuente:<El autor>
Transitiva: Si existen dos relaciones o flechas consecutivas, debe haber otra que una el
primer elemento con el tercero. Ejemplo 20 Si A = {1, 2, 3, 4} y R es la relacin ser mayor
que, se tiene: R = {(3, 2),(2, 1), (3, 1), (4, 1), (4, 2), (4, 3)}
23
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:<El autor>
Otra forma de interpretar esta relacin dice que siempre que contiene los pares (x,y) y (y,
z) tambin contiene (x, z). Por ejemplo, la relacin {(1,2), (2,3), (1,1), (1,3)} es transitiva,
pero {(2,3), (1,2), (1,1)} no lo es.
Fuente:<El autor>
I.IV FUNCIONES:
Las funciones son un caso particular de las relaciones. Simplemente son asociaciones,
combinaciones o relaciones en las que no hay dos pares ordenados que tengan el mismo
primer componente. Es decir, los pares ordenados asocian a cada primer componente un
nico segundo componente. Por ejemplo, la relacin {(1,2), (2,3), (1,3)} no es una funcin,
pero {(1,2), (2,3), (3,3)} s lo es.
En conjuntos, la notacin habitual suele ser: f(1) = 2 que significa que a partir de la
entrada 1 se obtiene la salida 2. (se usa la f como indicador de la funcin). En Autmatas.
La funcin suele denotarse con el smbolo
24
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Para la teora de autmatas. Las funciones son vistas desde la perspectiva de lenguajes
aceptados, por eso la temtica que aborda as funciones en conjuntos como las funciones
totales, inyectivas y sobreyectivas, pueden referenciarse en:
Se da inicio a un concepto: Mquinas secuenciales, que hacen parte tambin del estudio
de la teora de autmatas y que tienen sus inicios en el campo de la Ingeniera
Electrnica. El fin de los modelos no es la de describir detalles de los componentes de
hardware de un computador, sino de determinar caractersticas poco visibles o
intangibles de estas mquinas como por ejemplo capacidad de proceso, memoria,
procesamiento de datos e informacin. Es por ello que se han dividido en diferentes reas
de conocimiento este tipo de estudio como por ejemplo: Arquitectura de computadores,
Sistemas de informacin, sistemas Distribuidos lgica Matemtica, Ensamble de
mquinas, entre otros.
Los Lenguajes ms sencillos son los considerados lenguajes regulares, es decir, los que
se pueden generar a partir de lenguajes de un elemento con la aplicacin de ciertas
operaciones estndar realizadas un nmero finito de veces.
Estos son pues los lenguajes que pueden reconocer los dispositivos llamados Autmatas
finitos (AF) que son mquinas de cmputo con memoria muy restringida. En esta
unidad se considera como segundo aspecto la idea de que un lenguaje no sea regular,
adems de proporcionar un modelo sencillo de computacin que se puede
generalizar en las unidades siguientes.
sencillos con sus respuestas y que permiten determinar la utilidad de los lenguajes
regulares en aplicaciones del mundo real.
EPOCA PRECURSORES
1845 -1918 Iniciada por Godel, Church, Post, Turing y Kleene, tiene sus races en la
Lgica Matemtica. Ya se haba inventado la Teora de Conjuntos
1
<NAVARRETE,Isabel. Teora de Autmatas y lenguajes Formales. Departamento Ingeniera. Universidad de Murcia. P
133. Sept 2008>
26
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Turing
>Calculan los algoritmos A y B la misma funcin? (Problema de la
equivalencia)
>Parar el algoritmo A para una de sus entradas? (Problema de la parada)
> Parar el algoritmo A para todas sus entradas? (Problema de la
totalidad)
> Parar el algoritmo A la funcin f? (Problema de la verificacin)
1954 - 1969 El matemtico norteamericano Shanon (que luego se hara famoso por su
Teora de la Informacin) vino a establecer las bases para la aplicacin de
la Lgica Matemtica a los circuitos combinatorios y posteriormente
Huffman en 1954 los amplio a circuitos secuenciales y utiliza conceptos
Mquinas
como estado de un autmata y tabla de transicin. A lo largo de las
secuenciales y
dcadas siguientes, las ideas de Shanon se desarrollaron
Autmatas finitos.
considerablemente, dando lugar a la formalizacin de una Teora de las
Maquinas Secuenciales y de los Autmatas Finitos (1956). Otros trabajos
importantes sobre maquinas secuenciales son debidos a Mealy (1955) y
Moore.
1956 en adelante Noam Chomsky propone en 1956 tres modelos para la descripcin de
lenguajes, que son la base de su futura jerarqua de los tipos de lenguajes
Noam Chomsky (1959), que ayudo tambin en el desarrollo de los lenguajes de
propone varios programacin. Chomsky estableci una clasicacion de gramticas de
modelos para acuerdo con el formato de sus producciones y distingui cuatro clases
clasificar: fundamentales de lenguajes y relaciones de inclusin entre ellas.
Gramticas y
Lenguajes formales.
Fuente: El Autor
http://youtu.be/tO-WgRXKcAo
Tras las huellas de la mente de Alan Turing. La polmica historia de esta brillante
mente. Un reto complejo para quienes quieran entender y seguir sus pasos. "Un genio
trgico".
Solo escchenla y quedarn sorprendidos del legado que Alan Turing ha dejado.
Pelcula que cuenta la historia de un genio controvertido "Alan Turing". Con subttulos http://youtu.be/uoKLtu2Am6k
en espaol.
DANGEROUS KNOWLEDGE. Conocimientos peligrosos. El documental, narrado PARTE 1: CANAL VIMEO
por David Malone, se centra en la vida de cuatro brillantes matemticos - Georg
Cantor, Ludwig Boltzmann, Kurt Gdel y Alan Turing -, lo que rode sus http://vimeo.com/30482156
descubrimientos y las reacciones de la comunidad cientfica hacia ellos, as como la
evolucin de sus personas hasta el declive. Sus trabajos han llegado a influir
PARTE 2: CANAL VIMEO
enormemente incluso en mbitos no cientficos, o en la perspectiva de como
observamos el mundo en general y nuestro pequeo entorno en particularmente.
Desafortunadamente sus mentes privilegiadas no pudieron impedir que llegaran a http://vimeo.com/30641992
enloquecer hasta el punto de cometer suicidio.
O consulta esta URL:
http://www.mates.byethost4.com/audiovisuales/matematicas/documentales-bbc.html
Secretos de la segunda guerra mundial. El cdigo Eigma. El trabajo de los http://youtu.be/EVQNosg6wEQ
criptgrafos.
Fuente: <El autor>
28
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
problema. Los smbolos de un alfabeto pueden ser nmeros, letras, entre otros y suelen
estar escritos en minsculas.
Ejemplo: Sea A = {0,1} indica el Alfabeto A compuesto por los smbolos 0,1
No hay que confundir los smbolos del alfabeto B con los smbolos del lenguaje (o ms
precisamente meta-lenguaje) que usamos para expresarnos todos los das. Son dos cosas
totalmente distintas. Nosotros para comunicarnos usamos un lenguaje que tiene unos smbolos
que son las letras del alfabeto latino, los nmeros, las letras del alfabeto griego, y una serie de
smbolos especiales propios del lenguaje matemtico (el meta-lenguaje). Con este lenguaje
tambin definimos los conceptos de alfabeto y smbolo.
Ejemplo 21: Si A = {0,1} entonces 0111 es una palabra sobre este alfabeto.
Definicin4. La palabra vaca es la palabra de longitud cero. Es la misma para todos los
alfabetos y se denota como
Definicin5. Al conjunto de todas las palabras o cadenas sobre el alfabeto en las que
se excluya la cadena vaca se denota como:
29
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Las operaciones fundamentales que se derivan del tratamiento del conjunto * , son las
de concatenacin:
Ejemplo 22 Para definir la concatenacin: Dada las siguientes cadenas , formadas desde
el alfabeto :
| . || | | |, , *
Asociativa: .(. ) (. ). , , , *
Elemento neutro: . . , *
Se notan los siguiente ejemplos de algunos lenguajes (sin definir su jerarqua que se ver
en la siguiente leccin) sobre el alfabeto
30
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
L1L2 {12 | 1 L1 , 2 L2 }
Asociativa: L1 ( L2 L3 ) ( L1L2 ) L3
L0 {}
Li 1 Li L
L L* si L
L L* {}si L
31
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los (LP) se rigen por reglas de sintaxis y semntica ms complejas y definidas y que
finalmente son manejadas por los computadores. En los lenguajes naturales (LN), estos
no estn tan definidos ni delimitados, ya que estn controlados por reglas gramaticales
que evolucionan y derivan nuevos lenguajes.
Gracias a las estructuras definidas de los lenguajes de programacin (LP) (las reglas
gramaticales (sintaxicas y semnticas) han posibilitados la construccin de traductores
automticos para estos lenguajes. Algunas definiciones que contextualizan estas
temticas referencian a los Compiladores como software que traduce un programa
escrito en un determinado lenguaje de programacin a otro lenguaje de programacin,
con el objeto de generar u programa equivalente que una mquina computacional pueda
interpretar para podrselo mostrar al usuario.
2
Tomado de https://es.wikipedia.org/wiki/Int%C3%A9rprete_%28inform%C3%A1tica%29 con acceso Julio
de 2013
32
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:<El autor>
33
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:<El autor>
A bC
Ab
A
dnde: A,C VN y b VT
A Cb
Ab
A
Para cada Gramtica lineal por la derecha existe una Gramtica lineal izquierda que
genera el mismo lenguaje y viceversa.
Los Lenguajes Regulares son lenguajes formales que tienen estas caractersticas:
34
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Puede ser descrito mediante una expresin regular (expresar de forma compacta
cmo son todas las cadenas de smbolos que le pertenecen).
Puede ser generado mediante una gramtica regular (obtener todas las cadenas
de smbolos que le pertenecen).
Los lenguajes generados por este tipo de gramticas se llaman lenguajes libres del
contexto y la clase es L2, que incluyen a los Lenguajes Regulares. Por ejemplo, la mayora
de los lenguajes de programacin son Lenguajes Libres de Contexto.
Los lenguajes generados por las gramticas de tipo 1 se llaman lenguajes sensibles al
Contexto y su clase es L1:
TIPO 0: (Gramticas con estructura de frase) Son las gramticas ms generales, que por
ello tambin se llaman gramticas sin restricciones. Esto quiere decir que las
producciones pueden ser de cualquier tipo permitido, es decir, de la forma:
con (V* . VN . V*) y en la que no puede ser vaco
Los lenguajes generados por estas gramticas son los lenguajes con estructura de frase,
que se agrupan en la clase L0: Estos lenguajes tambin se conocen en el campo de la
Teora de la Compatibilidad como lenguajes recursivamente enumerarles.
35
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
La siguiente tabla muestra la asociacin de las gramticas con el lenguaje que genera y el
tipo de mquina abstracta que la trabaja:
Fuente:<El autor>
Esto es: L3 L2 L1 L0
Un lenguaje se dice que es de tipo i (i= 0;1;2;3) si y solo si es generado por una
gramtica de tipo i. La clase o familia de lenguajes de tipo i se denota por Li.
LECCIN 5. AUTMATA
La palabra autmata evoca algo que pretende imitar las funciones propias de los seres
vivos, especialmente relacionadas con el movimiento, por ejemplo el tpico robot
antropomorfo. Un ejemplo de una maquina real que automatiza un proceso puede ser
una mquina empacadora de algn producto que se fabrique en serie y con una serie de
instrucciones, pasos y caractersticas definidas e iguales para cada salida (producto final).
36
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Las maquinas que se estudiarn son abstracciones matemticas que capturan solamente
el aspecto referente a las secuencias de eventos que ocurren, sin tomar en cuenta ni la
forma de la maquina ni sus dimensiones (aspectos de hardware por referir una analoga).
En esta parte estudiaremos las maquinas abstractas ms simples, los autmatas finitos,
las cuales estn en relacin con los lenguajes regulares
Los estados son la base de un diseo de los modelos que estamos estudiando, pues
recuerdan las situaciones bsicas por las que pasa el proceso.
Las condiciones asociadas a los estados deben ser excluyentes, esto es, no
deben verificarse varias simultneamente.
37
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Fuente:<El autor>
La cabeza lectora se coloca en los segmentos de cinta que contienen los caracteres que
componen la palabra de entrada, y al colocarse sobre un smbolo lo lee y manda esta
38
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
La aguja del control puede estar cambiando de posicin, (de un estado a otro) y hay
algunas posiciones llamadas finales (como la indicada por un punto, q3) que son
consideradas especiales, porque permiten determinar si una palabra es aceptada o
rechazada.
Otra forma de describir la sintaxis de los lenguajes es usando gramticas y sus reglas de
produccin. El objetivo de caracterizar lenguajes es proporcionar una forma concisa y
relativamente sencilla (aunque menos intuitiva) para describir los lenguajes regulares,
exponiendo detalles de su estructura que no quedan tan claros en las otras
caracterizaciones.
Los smbolos y notaciones matemticas usados, sern los que durante todo el desarrollo del
contenido se aplicarn para describir matemticamente estas mquinas. Otros autores usan otra
39
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
simbologa, que solo difiere en la forma mas no en la interpretacin de las definiciones formales de
estas mquinas. Se ha estandarizado las simbologa ms sencilla para efectos de didctica e
interpretacin
es el alfabeto de entrada.
sK es el estado inicial.
Tabla de transiciones.
Diagrama de Moore.
Tabla de transiciones: Consiste en una tabla, con tantas filas como estados y tantas
columnas como entradas. El estado inicial en la columna izquierda est indicado con una
flecha. El estado final en la columna izquierda est indicado con un numeral. (No
confundir esto con la estrella de kleene que se ver ms adelante en la leccin de
Expresiones Regulares). Ejemplo 24 Se puede representar el autmata finito dado por:
Donde la funcin : {q0, q1, q2, q3 } {0, 1} {q0, q1, q2, q3} viene dada por:
(q0, 0) = q0 (q0, 1) = q1
(q1, 0) = q0 (q1, 1) = q2
(q2, 0) = q3 (q2, 1) = q1
(q3, 0) = q3 (q3, 1) = q2
40
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Diagramas de Moore: Los diagramas de Moore son otra forma de representar las
funciones de transicin y salida de un autmata. El diagrama de Moore es un grafo
orientado en el que cada nodo corresponde a un estado. Para el ejemplo 24, el diagrama
de Moore equivalente estara definido as:
Los estados son el nico medio de que disponen los AF para recordar los eventos que
ocurren (por ejemplo, que caracteres se han ledo hasta el momento); esto quiere decir
que son mquinas de memoria limitada. En ltima instancia, las computadoras digitales
son mquinas de memoria limitada, aunque la cantidad de estados posibles de su
memoria podra ser enorme.
42
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Otras apreciaciones de estos AFD lo definen como otro mecanismo para describir
lenguajes. En vez de pensar en generar las cadenas (como las ERs), un AFD describe un
lenguaje mediante reconocer las cadenas del lenguaje, y ninguna otra.
1. se coloca en la cinta de entrada, con un smbolo en cada celda. (en este caso es
aaabab )
Ciclo de ejecucin bsico del autmata: Como cualquier computador, una vez se ha
inicializado, comienza la ejecucin desde la palabra de entrada .
2. se calcula el estado siguiente a partir del estado actual y del smbolo actual segn la
funcin de transicin, esto es, (estado actual; smbolo actual) = estado siguiente
donde la funcin de transicin est dada por: : {q0, q1, q2, q3 } {x, z} {q0, q1, q2, q3}
q0 { q3}
43
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 13: Tabla de transicin para un Autmata Finito generado con software simulador VAS.
El diagrama de transicin de un AFD tiene por cada nodo un solo arco etiquetado con
cada uno de los smbolos del alfabeto.
el diagrama de transicin de un AFD tiene por cada nodo un slo arco etiquetado
con cada uno de los smbolos del alfabeto.
33
VAS. Visual Autmata Simulator. Disponible en internet <http://www.vas.org>
44
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
la cantidad de estados finales puede ser cualquiera, inclusive cero (para algunos
modelos), hasta un mximo de |K| (la cantidad de estados).
Entindase por configuracin un par (q, ) donde q es un estado y una palabra. En este
orden q ser el estado en el que se encuentra el autmata y lo que queda por leer en
un momento dado.
Esto se explica indicando que la configuracin inicial indica que estamos en el estado
inicial y nos queda por leer toda la palabra .
Una extensin a los autmatas finitos deterministas es la de permitir que de cada nodo del
diagrama de estados salga un nmero de flechas mayor o menor que As, se puede
permitir que falte la flecha correspondiente a alguno de los smbolos del alfabeto, o bien
que haya varias flechas que salgan de un solo nodo con la misma etiqueta. Inclusive se
permite que las transiciones tengan como etiqueta palabras de varias letras o hasta la
45
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Dado que los AFND tienen menos restricciones que los AFD, resulta que los AFD son un
caso particular de los AFND, por lo que todo AFD es de hecho un AFND.
Recordemos que para un AFD dado el estado actual y el siguiente caracter, el AFD pasa
exactamente a un siguiente estado. Por eso se lo llama determinstico. Una versin en
principio ms potente es un AFND, donde frente a un estado actual y un siguiente
caracter, es posible tener cero, uno o ms estados siguientes.
: K x (K)
Ejemplo 25 Si se tiene (q,a) = {q1, q2, . , qm) lo que indica que estando en un estado
actual q y un smbolo de entrada a, el estado siguiente puede ser cualquier estado entre
q1 y qm.
Ejemplo 26 Puede darse el caso que (q,a) = lo que indica que el estado siguiente no
est definido.
46
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
= {(q1,a,q2),(q1,a,q3),(q2,b,q4),(q2,b,q2),(q3,a,q3),(q3,b,q4),(q4,a,q4)}
: K x ( U { }) (K)
47
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los AF reconocen cierto tipo de lenguajes, pero esto depende de la configuracin del
autmata. Esta configuracin viene dada por el instante del autmata en un momento
dado y la porcin de cadena de entrada que le queda por leer (no la cadena completa).
48
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Por lo que se concluye: que un AFD reconoce o acepta una palabra si se cumplen las
siguientes condiciones:
2. al terminarse la palabra, el estado al que llega es uno de los estados finales del
autmata (los que tienen doble crculo en los diagramas, o que son parte del conjunto F
en la representacin formal).
A diferencia del caso de AFDs, dada una cadena x, es posible llegar a varios estados
distintos (o a ninguno) luego de haberla consumido. La cadena se declara aceptada si
alguno de los estados a los que se llega es final.
Intuitivamente, un AFND acepta una palabra de entrada siempre que sea posible
comenzar por el estado inicial y que exista una secuencia de transiciones que nos lleven a
consumir la palabra y acabe el autmata en un estado final. Puede que tengamos otras
secuencias de transiciones que no acaben en estado final, pero basta que exista una que
acabe en estado final para que la palabra sea aceptada.
49
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
L = { {a,b}* = abia, i 0 }
Fuente:<El autor>
50
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
L es finito;
L es la unin o la concatenacin de otros lenguajes regulares R1 y R2,
L = R1 U R2 o L = R1R2 respectivamente
Una expresin regular (ER) es una notacin normalizada para representar lenguajes
regulares, es decir, lenguajes generados por gramticas de tipo 3. Las expresiones
regulares permiten describir con exactitud y sencillez cualquier lenguaje regular. Para
definir una ER se pueden utilizar todos los smbolos del alfabeto y, adems y . Los
operadores que tambin se pueden utilizar son:
+ representa la unin.
representa la concatenacin (este smbolo no se suele escribir).
* representa el cierre de Kleene
() modifican las propiedades de los dems operadores.
51
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Una ER tambin se define bajo los siguientes criterios: (Se muestran tambin los
lenguajes que describen estas ER)
L + = L U L
L = L L
* i 0 i
El orden de prioridad de los operadores es, de mayor a menor: * , , +
Este orden puede alterarse mediante parntesis, de forma anloga a como se hace con
las expresiones aritmticas.
53
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Hasta ahora, la relacin entre los autmatas finitos y las expresiones regulares se ha
tratado de una manera intuitiva. Ahora formalizaremos dicha relacin probando que para
cualquier expresin regular exista un autmata finito equivalente. Lo que se establece
ahora con un teorema fundamental en el estudio de los Autmatas:
Hasta ahora hemos confirmado como las, ERs, AFDs y AFNDs son mecanismos
equivalentes para denotar los lenguajes regulares.
Para ello se usan las grficas de transicin (GT). Estas ltimas son esencialmente
AFND en que las etiquetas de las flechas tienen expresiones regulares, en lugar de
palabras. Entonces se definen las grficas de transicin (GT) as: son por lo tanto
quntuplos
M = (, K, , q 1 , F) donde K x ER x K
En este ejemplo en particular se evidencia que se debe aceptar palabras que tienen
primero una sucesin de as, luego repeticiones de ab, y finalmente repeticiones de bs.
({q0, q1}, {a, b}, {(q0, a, q0), (q0, (ab)*, q1), (q1, b, q1)}, q0, {q1})
Los AFN son un subconjunto propio de las GT, puesto que las palabras en las etiquetas
de un AFN pueden ser vistas como expresiones regulares que se representan a s
mismas.
55
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejemplo 32: Tomado de:4 Dada la ER= (a + ba)* bb, obtener el AFN que acepta el
lenguaje de dicha ER.
4
<BRENA,R; Autmatas y lenguajes, un enfoque de diseo. 2003. Monterey. 214p>
56
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
El procedimiento aplica los siguientes pasos: Para ello se ilustra el siguiente ejemplo:
Esta transformacin tiene por objeto que haya un estado inicial al que no llegue ninguna
transicin, y un solo estado final, del que no salga ninguna transicin. Esta condicin se
requiere para llevar a cabo el siguiente paso. Hay muchos autmatas que ya cumplen
estas condiciones sin necesidad de aadir un nuevo estado inicial o un nuevo estado final.
La figura 24 muestra estas acciones realizadas (se adiciona un nuevo estado inicial y
final) para este primer paso para el ejercicio 33 propuesto.
5
Bis(4).
57
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
PASO 2: Eliminacin de nodos intermedios. Eliminamos primero el nodo q1. Para ello,
consideramos que trayectorias o rutas pasan por el nodo a eliminar. Por ejemplo, en la
figura 23 vemos solamente una trayectoria que pasa por q1, la cual va de q0 a f.
Ahora nos proponemos eliminar el nodo q1, pero sin modificar lo que se gasta para
pasar de q0 a f. Es fcil ver que para pasar de q0 a f se gasta primero una a y luego algn
nmero de repeticiones de a o b (para llegar de q1 a f no se gasta nada). Esto
corresponde a la ER a(a + b)*, que sera la etiqueta de la nueva ruta directa de q0 a f,
sin pasar, por q1, como se evidencia en a figura 25.
58
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
59
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
K = P(K)
q0 = {q0}
= (,a) = * (,a)
60
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
De igual forma y a manera inversa para el teorema: dado un autmata finito determinstico
AFD M = (, K, , q0, F). se puede construir uno no-determinista:
M = (, K, , q0, F).
que acepta el mismo lenguaje. Solo se debe considerar:
(q0,a) = { (q0,q)}: en el que en cada situacin solo hay un camino posible que es el que
Para los autmatas de la figura 28; Reconocen el lenguaje formado por todas las cadenas
que empiezan por 1 excepto las terminadas en dos ceros consecutivas, Adems se debe
incluir la cadena vaca. Ambos autmatas reconocen el mismo lenguaje.
Ejemplo 35: Tomado de: 6El siguiente ejemplo muestra cmo puede darse el caso en el que
varios AF distintos acepten un mismo lenguaje. La figura 30 muestra los autmatas (a) y
(b) que aceptan el lenguaje a*. Lo que se indaga ahora es si estos son equivalentes. Lo
que se concluye tambin que para comprobar la equivalencia se debe realizar una
demostracin de igualdad de lenguajes (operacin que suele ser compleja si son
lenguajes infinitos).
6
Bis (4)
61
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Teorema 8: Teorema de Moore: Existe un algoritmo para decidir si dos autmatas finitos
son equivalentes o no. Este algoritmo consiste en la construccin de un rbol de
comparacin de autmatas. Este rbol permite convertir el problema de la comparacin
de los lenguajes aceptados en un problema de comparacin de estados de los autmatas.
Definicin 11: dos estados q y q son compatibles si ambos son finales o ninguno de los
dos es final. En caso contrario, son estados incompatibles.
El nico problema con esta idea estriba en que hay que garantizar que sean cubiertas
todas las posibles cadenas de caracteres w, las cuales son infinitas en general. Por ello
se pens en explorar todas las posibles combinaciones de estados mediante un rbol.
Dicho rbol de comparacin se construye de la manera siguiente, para dos autmatas:7
M = (, K, , s, F) y M = (, K, , s, F).
7
Bis (4)
62
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
1. Inicialmente la raz del rbol es el par ordenado (s, s) que contiene los estados
iniciales de M y M respectivamente.
2. Si en el rbol hay un par (r, r), para cada caracter en se aaden como hijos
suyos los pares (r , r ) donde r = (r , ) , r (r, ) en caso de que no
estn.
De manera general: El nico problema con esta definicin es que, para verificar si dos
estados dados p y q (para el ejercicio sera q1 y q6) son equivalentes, habra que examinar,
64
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Para saber si dos estados q1 y q6 son equivalentes, se les pone a ambos como estado
inicial de sendos autmatas M1 y M2 , y se procede a comparar dichos autmatas. Si stos
ltimos son equivalentes, quiere decir que los estados q1 y q6 son equivalentes.
Una vez que se sabe que dos estados son equivalentes, se puede pensar en eliminar uno
de ellos, para evitar redundancias y hacer ms eficiente a AFD. Sin embargo, la
eliminacin de un estado en el AFD plantea el problema de qu hacer con las flechas que
conectan al estado eliminado con el resto del autmata. Esta cuestin se resuelve con los
siguientes criterios:
66
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Vamos a definir la nocin de estados distinguibles, que intuitivamente quiere decir que si
dos estados son distinguibles, ya no pueden ser equivalentes. La definicin es inductiva:
Los estados p y q son distinguibles si son incompatibles (es decir, uno es final y el otro no
final). Esta es la base de la induccin. Se puede verificar el ejercicio.
4. CONSTRUCCIN DE TABLA:
Construir tabla T con filas desde q1 hasta qn y columnas desde q0 hasta qn-1
Obsrvese que en la tabla Figura 36 se omite la diagonal principal, pues no tiene caso
confrontar cada estado contra s mismo.
67
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Empezamos en la parte inferior (eje horizontal) de menor a mayor desde q0 hasta qn-1
Luego el eje vertical de arriba hacia abajo: q1 hasta qn
Se aprecian signos en las celdas, que se obtienen directamente del hecho de que
son pares de estados incompatibles por lo tanto distinguibles. En otras palabras lo que
hemos hecho es: marcar (par (qi , qj)) donde un estado del par es final y el otro no.
Resultado final: Al final quedan sin marcar PAR (q3,q0) y PAR (q6,q1) y por lo tanto:
q0 q3 y q1 q6
Todo el proceso de minimizacin adems de otras caractersticas las puede visualizar en:
68
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los lenguajes independientes del contexto que tambin se conocen con el nombre de
gramticas de contexto libre son un mtodo recursivo sencillo de especificacin de reglas
gramaticales con las que se pueden generar cadenas de un lenguaje.
Es factible producir de esta manera todos los lenguajes regulares, adems de que existen
ejemplos sencillos de gramticas de contexto libre que generan lenguajes no regulares.
Las reglas gramaticales de este tipo permiten que la sintaxis tenga variedad y
refinamientos mayores que los realizados con lenguajes regulares, en gran medida
sirven para especificar la sintaxis de lenguajes de alto nivel y otros lenguajes
formales.
Hasta ahora, se han visto dos formas de definir lenguajes: a travs de autmatas finitos, y
por medio de expresiones regulares. Ahora veremos otra forma, usando el concepto de gramticas.
Basamos el estudio siguiente en el concepto bsico de gramtica formal como un conjunto de
69
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
reglas para formar correctamente las frases de un lenguaje (ejemplo la gramtica del espaol,
ingls, francs, etc).
Las caractersticas y notacin especfica de gramtica fue dada por Chomsky,N, quin bas esta
descripcin en las denominadas Reglas Gramaticales.
Definicin 12: Reglas Gramaticales: Son especficamente, reglas de reemplazo. Una regla es
un expresin de la forma en donde tanto como son cadenas de smbolos en donde
pueden aparecer tanto elementos del alfabeto como unos nuevos smbolos, llamados variables.
Los smbolos que no son variables son constantes. Por ejemplo una regla gramatical es dada como:
X aX . Otro ejemplo: Aplicar la regla a la palabra da como resultado (operacin
de reemplazo) . Otro ejemplo: Si se tienen los smbolos bbXa y se le aplica la regla X aX
da como resultado la nueva cadena bbaXa.
V = Es el alfabeto de variables
= Es el alfabeto de constantes
A aB o bien A a
A Ba o bien A a
70
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
1. S 0A 1. S S10
2. A 10A 2. S 0
3. A
Se pueden derivar muchas otras palabras como bababa L(G) y que pertenecen tambin
al lenguaje generado por la gramtica. Formalmente esta gramtica se representara
como:
({S, A,B}, {a, b}, {(S, aA), (S, bA), (A, aB), (A, bB), (A, a), (B, aA), (B, bA)}, S)
71
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Una cadena (esto es, formada exclusivamente por constantes) es derivable a partir
de una gramtica G si existe una secuencia de pasos de derivacin:
S 1 2
Definicin 14: El lenguaje generado por una gramtica G, L(G), es igual al conjunto de
las palabras derivables a partir de su smbolo inicial. Es decir:
L (G) = { * S * }
Teorema 10: Si L es un lenguaje generado por una gramtica regular, entonces existe un
autmata finito determinstico que lo reconoce.
Teorema 11: La clase de los lenguajes generados por alguna gramtica regular es
exactamente la de los lenguajes regulares.
Para el caso de las reglas A b, se tienen transiciones (A, b,Z), donde Z es un nuevo
estado para el que no hay un no terminal asociado; Z es el nico estado final del
autmata.
Ejemplo 39: Obtener un autmata finito para la gramtica regular G1 siguiente: (V, , R, S).
Se denota la gramtica en un formato comprimido: (en fila):
S aA S bA A aB A bB A a B aA B bA
Es lo mismo que:
S aA bA , A aB bB a , B aA bA
72
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
En la Figura 38, haciendo uso del simulador JFLAP8 , que dentro de sus opciones nos
permite introducir una gramtica y generar el AF, se muestra el resultado de la conversin
automtica de G AF (de Gramtica a Autmata Finito).
8
JFLAP Version 7.0 RELEASED August 28, 2009. Last update May 15, 2011. Disponible en internet.
<http://www.jflap.org/>
73
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
K {[ ] : ( S ) (A V , , talesque. A R)}
q0 = [S]
F = {[ ]}
Si a y ( *V ) , entonces ([ a ], a ) [ ]
Pasar a no-finales los estados finales originales y unir estos mediante una
transicin nula con el nuevo estado final.
74
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejemplo 41: Dado el AFD de la Figura 41, determinar las reglas de produccin que
determinan la gramtica regular.
75
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
76
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los lenguajes de tipo 0 incluyen a los de tipo 1, estos a los de tipo 2, etc.
Las GLC tienen reglas menos rgidas que las gramticas regulares. As toda gramtica
regular es GLC pero no viceversa
Algunos autores Brena R. 9definen: Al proceso de aplicar una regla se le conoce como
paso de derivacin, y se denota usando una flecha de direccin: . Una secuencia de
pasos de derivacin a partir de una variable especial de la gramtica llamada smbolo
inicial se llama simplemente derivacin.
(V, , R, S) en donde:
V = Es el alfabeto de variables
9
Bis (6)
77
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
S ...
L { * | S ... }
Las GLC tienen la propiedad de que las derivaciones pueden ser representadas en forma
de rbol ramificado o arboles de derivacin, o tambin arboles de compilacin por usarse
extensivamente en los compiladores y son de vital importancia para la teora de los
compiladores de los lenguajes de programacin.
Definicin15: Sea: G = (V, , R, S) una GLC. Entonces el rbol de derivacin cumple las
siguientes propiedades:
78
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
3. La etiqueta de los nodos que no son hojas debe estar en V, y las de las hojas en:
4. Si un nodo n tiene etiqueta A, y los nodos n1, ., nm son sus hijos (de izquierda a
derecha), con etiquetas respectivamente A1, .., Am, entonces A A1, ., Am R.
Ejemplo 42: Para explicar como un rbol de derivacin ilustra diferentes derivaciones para
una misma cadena, es tpico ejemplificar el caso de describir las secuencias de unos
parntesis bien balanceados, en el que se presenta el caso ideal que nunca se han
cerrado ms parntesis de los que se han abierto y en el que al final los nmeros
coinciden.
S Ss
El rbol de derivacin para este ejemplo estara dado en la figura 42 (las distintas rdenes
de derivacin no son los nicos responsables de que existan distintas formas de derivar
79
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
una misma cadena. Es posible que una misma cadena tenga dos rboles de derivacin
distintos.)
Figura 42: rbol de derivacin para una secuencia de parntesis bien balanceados.
Analizamos la cadena o palabra = aabbaa que genera un rbol y que puede provenir
de varias cadenas de derivaciones distintas as:
Derivacin por la izquierda: Cuando en cada paso siempre se sustituye primero la primera
variable (ms a la izquierda) de la palabra que tenemos.
Derivacin por la derecha. Cuando en cada paso siempre se sustituye primero la ltima
variable (ms a la derecha) de la palabra que tenemos
Las derivaciones por la izquierda son mostradas en la figura 45. Fueron generadas con
software simulador JFLAP.
81
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Se concluye: En efecto, hay GLC en las cuales para ciertas palabras hay ms de un rbol
de derivacin.
Definicin 17: Una GLC G es ambigua si existen dos rboles de derivacin distintos para
G que generan una misma cadena L(G).
Definicin 18: Todo lenguaje Regular es Libre del Contexto. El conjunto de los lenguajes
LC incluye al de los regulares.
Ejemplo 45: Dada la siguiente GLC para las expresiones aritmticas de las variables:
10
MORAL, S. Modelos de Computacin. p. 92
82
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Cmo eliminar la ambigedad de una GLC: Consiste en introducir nuevos estados no-
terminales de modo que se eliminen los rboles de derivacin no deseados. Para el
anterior ejemplo es tpica la solucin introduciendo variables (T) y factores (F). La
gramtica resultante es:
E E + T T ; TT * F F ; F (E) x y
Con esta nueva GLC, el rbol de derivacin de la figura 46 (a) se elimina, quedando
finalmente una adaptacin del rbol de la figura 46 (b) a la GLC con trminos y factores.
11
(Bis)4
12
MORAL, S; Modelos de computacin. 130 p.
83
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Es suficiente que haya una palabra con dos rboles de derivacin distintos para que la
gramtica sea ambigua. Esto quiere decir que existe otra gramtica de tipo 2 no ambigua
y que genera el mismo lenguaje. El lenguaje generado es {a 23i : i 0} y otra
gramtica no ambigua que tambin genera este lenguaje es:
Se trata de modificar las reglas de la gramtica para que cumplan ciertas propiedades o
por simple estandarizacin o facilidad de implementacin computacional; pero sin
modificar el lenguaje aceptado.
84
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
S x
El algoritmo para eliminar los smbolos y producciones intiles consta de dos pasos
fundamentales:
1. Eliminar las variables desde las que no se puede llegar a una palabra de y las
producciones en las que aparezcan.
2. Eliminar aquellos smbolos que no sean alcanzables desde el estado inicial, S, y las
producciones en las que estos aparezcan.
1. V = 0
3. Mientras V cambie
B se introduce en V
7. Eliminar todas las producciones donde aparezca una variable de las eliminadas en el
paso anterior
1. J = {S}
85
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
V = {S}
2. Mientras J
6. Si B no est en V aadir B a J y a V
S AB, S a, A a
S a, A a
86
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
87
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
4.
88
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Eliminacin de reglas inaccesibles: Dada la gramtica GLC con las siguientes reglas:
S aXbb, X bSa, Y SX
La tercera regla es intil, porque no hay nadie que produzca la Y necesaria para que
dicha regla se aplique. A reglas como stas se les llama inaccesibles.
Para eliminar una regla inaccesible no se necesita hacer ninguna otra modificacin a la
gramtica ms que simplemente borrarla. La equivalencia de la gramtica sin la regla
inaccesible y la original est garantizada por el hecho de que dicha regla no participa en
ninguna derivacin.
13
BREANA, R; Autmatas y Lenguajes un enfoque de diseo. 214 p.
14
Bis (13)
89
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
1. A a, con a
Esta forma normal tiene por objeto facilitar el anlisis sintctico de una palabra de
entrada, siguiendo las siguientes estrategias:
El objetivo es verificar que dado un lenguaje L no cumple que sea LLC. El teorema de
bombeo permite verificar esta condicin. Este lema de bombeo tambin puede verse
como una condicin necesaria que deben de cumplir todos los lenguajes libres de
contexto.
1. vx 1
2. vwx n, y
3. i 0, uv i wx i y L
90
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
91
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
K es el conjunto de estados
es el alfabeto de entrada
es el alfabeto de la pila
S K es el estado inicial
Z0 es el smbolo inicial de la pila (o tambin se denota como Z simplemente)
F K es un conjunto de estados finales.
( K x * x *) x ( K x *) es la relacin (funcin) de transicin.
: K x ( U { }) x 2 K x *
92
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
La pila funciona de manera que el ultimo caractr que se almacena en ella es el primero
en salir (LIFO por las siglas en ingles), como si se apilaran platos uno encima de otro, y
naturalmente el primero que quitaremos es el ltimo que hemos colocado. Un aspecto
crucial de la pila es que solo podemos modificar su tope, que es el extremo por donde
entran o salen los caracteres. Los caracteres a la mitad de la pila no son accesibles sin
quitar antes los que estn encima de ellos.
93
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
La pila tendr un alfabeto propio, que puede o no coincidir con el alfabeto de la palabra de
entrada. Esto se justifica porque puede ser necesario introducir en la pila caracteres
especiales usados como separadores, segn las necesidades de diseo del autmata.
Al iniciar la operacin de un AP, la pila se encuentra vaca. Durante la operacin del AP,
la pila puede ir recibiendo (y almacenando) caracteres, segn lo indiquen las transiciones
ejecutadas. Al final de su operacin, para aceptar una palabra, la pila debe estar
nuevamente vaca.
En los AP las transiciones de un estado a otro indican, adems de los caracteres que se
consumen de la entrada, tambin lo que se saca del tope de la pila, as como tambin lo
que se mete a la pila.
(q, , ) ( K x * x *) en donde:
La Notacin grfica que se asemeja a la de los autmatas finitos (AF) es la dada as:
94
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Al igual que los AF, los AP tienen estados finales, que permiten distinguir cuando una
palabra de entrada es aceptada. De hecho para que una palabra de entrada sea aceptada
en un AP se deben cumplir todas las condiciones siguientes:
Aunque en el caso de los AP no hay metodologas tan generalmente aplicables como era
el caso de los autmatas finitos, siguen siendo vlidas las ideas bsicas del diseo
sistemtico, en particular establecer claramente qu es lo que recuerda cada estado del
AP antes de ponerse a trazar transiciones a diestra y siniestra. Para los AP,
adicionalmente tenemos que establecer una estrategia clara para el manejo de la pila.
95
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Se recuerda que un AP no puede realizar ningn movimiento si la pila est vaca. Por lo
que un AP reconocer una cadena de entrada por estado final si partiendo de su
configuracin inicial (q0, t, Z0), llega a una configuracin final (qf, , ) empleando
movimientos vlidos y se expresa como:
La cadena ser aceptada por vaciado de pila si despus de leerse toda la cadena se llega
a un estado con la pila vaca, independientemente del tipo de estado en el que se
encuentre el AP.
96
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
La construccin en diseo indica utilizar la pila como contador para recordar la cantidad
de as que se consumen, y luego confrontar la cantidad de bs. Una primera versin de
este diseo utiliza un solo estado q, con transiciones a/ /a y b / a / de q as mismo.
El diseo del autmata se ve en la figura 56.
97
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Para verificar el funcionamiento del autmata, podemos simular su ejecucin, listando las
situaciones sucesivas en que se encuentra, mediante una tabla que llamaremos traza de
ejecucin. Las columnas de una traza de ejecucin para un AP son: el estado en que se
encuentra el autmata, lo que falta por leer de la palabra de entrada, y el contenido de la
pila.
Por ejemplo, la traza de ejecucin del AP del ltimo ejemplo, para la palabra aabb, se
muestra a continuacin en la tabla 13:
q .aabb
q .abb .a
q .bb .aa
q .b .a
q
Concluimos que el AP efectivamente puede aceptar palabras como anbn. Sin embargo,
hay un problema: el AP tambin acepta palabras como abab, que no tienen la forma
deseada! (es fcil construir la traza de ejecucin correspondiente para convencerse de
ello). El problema viene de que no hemos recordado cuando se terminan las a y principian
las b, por eso ha sido posible mezclarlas en abab. Una solucin es utilizar los estados
para memorizar las situaciones de estar consumiendo a o estar consumiendo b. El
diagrama de estados correspondiente se muestra en la figura 55(b).
Stacks: Podemos identificar las pilas con ciertos lenguajes y ciertas funciones sobre un
alfabeto del modo siguiente:
98
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
100
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
(q0, Z) = (q1,Z)
(q1, x, ) = (q1,x)
(q1, y, x) = (q2, )
(q2, y, x) = (q2, )
(q2, , Z) = (q3, Z)
Los lenguajes aceptados por los Autmatas de Pila se denominan lenguajes libres del
contexto.
L(M ) { * : (q0 , , Z 0 ) ( , , ), F , *}
N ( M ) { * : (q0 , , Z 0 ) * ( , , ), K }
En el primer caso, una palabra es aceptada, si se puede llegar a un estado final despus
de consumir la entrada. En el segundo criterio, los estados finales no tienen ningn
significado, y una palabra se acepta si cuando se termina de leer la entrada la pila se
queda vaca.
101
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Para el caso del ejemplo 52 para la cadena vlida o aceptada = xxx las transiciones
dadas estn definidas as para el recorrido de la Pila:
(q0, xxx, Z) (q1, xxx, Z) (q1, xx, xZ) (q1, x, xxZ) (q1, , xxxZ)
La pila qued llena xxxZ y el autmata en el estado q1 reconoci por completo la cadena.
Para la cadena vlida = xxy las transiciones dadas estn definidas as para el
recorridao de la Pila:
(q0, xxy, Z) (q1, xxy, Z) (q1, xy, xZ) (q1, y, xxZ) (q2, , xZ)
Aunque la pila no qued del todo vaca (qued xZ) se reconoci toda la cadena completa
y el autmata qued en un estado de aceptacin q2.
Para la cadena vlida = xxyy las transiciones dadas estn definidas as para el
recorrido de la Pila:
(q0, xxyy, Z) (q1, xxyy, Z) (q1, xyy, xZ) (q1, yy, xxZ) (q2, y, xZ) (q2, ,Z) (q3, ,Z)
La cadena es procesada por completo, en la pila queda el smbolo inicial de pila y por
tanto la cadena es aceptada.
Para la cadena no vlida o no aceptada = xyy las transiciones dadas estn definidas
as para el recorrido de la Pila:
102
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejemplo 53 Obtener un AP que acepte el LLC generado por la gramtica con reglas:
1. S aSa
2. S bSb
3. S c
1 (p, , ) (q,S)
2 (p, ,S) (q,aSa)
3 (q, ,S) (q,bSb)
4 (q, ,S) (q,c)
5 (q,a, a) (q, )
6 (q,b, b) (q, )
7 (q,c, c) (q, )
103
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Existe sin embargo un problema tcnico: si observamos la corrida para la palabra abcba,
nos daremos cuenta de que no estamos aplicando las reglas en el orden descrito en el
prrafo anterior, esto es, primero la transicin del grupo 1, luego las del grupo 2 y
finalmente las del grupo 3, sino que ms bien en la cuarta lnea de la tabla se consume un
caracter a (aplicacin de una transicin del grupo 3) seguida de la aplicacin de una
transicin del grupo 2. Esto no es casualidad; lo que ocurre es que las variables no
pueden ser reemplazadas por el lado derecho de una regla si dichas variables no se
104
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
encuentran en el tope de la pila. En efecto, recurdese que los AP solo pueden accesar el
caracter que se encuentra en el tope de la pila.
Por esto, se hace necesario, antes de reemplazar una variable por la cadena del lado
derecho de una regla, desenterrar dicha variable hasta que aparezca en el tope de la
pila, lo cual puede hacerse consumiendo caracteres de la pila (y de la entrada, desde
luego) mediante la aplicacin de transiciones del tipo 3.
Unin
Concatenacin
Clausura
Demostracin:
Sean G1 = (V1, T1, P1, S1) y G2 = (V2, T2, P2, S2) dos gramticas libres de contexto y L1 y
L2 los lenguajes que generan. Supongamos que los conjuntos de variables son disjuntos.
Demostraremos que los lenguajes L1 U L2, L1 L2 y L1* son libres de contexto,
encontrando gramticas de tipo 2 que los generen.
L1L2. Una gramtica que genera este lenguaje es G4 = (V1 U V2 U {S4}, T1 U T2, P4,
S4), donde S4 es una nueva variable, y P4 =P1 U P2 ms la produccin S4 S1S2.
L1* Una gramtica que genera este lenguaje es G5 =(V1 U {S5}, T1,P5,S5 ) donde
P5 es P1 ms las producciones S5 S1S5 y S5 .
S AB
A aAb | ab
B cB | c
S CD
C aC | a
D bDc bc
Existen una serie de problemas interesantes que se pueden resolver en la clase de los
lenguajes libres de contexto. Por ejemplo, existen algoritmos que nos dicen si un
Lenguaje Libre de Contexto (dado por una gramtica de tipo 2 o un autmata con pila no
determinstico) es vaco, finito o infinito. Sin embargo, en la clase de lenguajes libres de
contexto comienzan a aparecer algunas propiedades indecidibles. A continuacin,
veremos algoritmos para las propiedades decidibles y mencionaremos algunas
propiedades indecidibles importantes.
a) vaco
b) finito
c) infinito
106
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Demostracin.
a) En la primera parte del algoritmo para eliminar smbolos y producciones intiles de una
gramtica, se determinaban las variables que podan generar una cadena formada
exclusivamente por smbolos terminales. El lenguaje generado es vaco si y solo si la
variable inicial S es eliminada: no puede generar una palabra de smbolos terminales.
A BC, A a
Se construye entonces un grafo dirigido en el que los vrtices son las variables y en el
que para cada produccin de la forma A BC se consideran dos arcos: uno de A a B y
otro de A a C. Se puede comprobar que el lenguaje generado es finito si y solo si el grafo
construido de esta forma no tiene ciclos dirigidos.
S AB
A BC | a
B CC | b
Ca
107
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los lenguajes libres de contexto tienen una aplicacin a los compiladores, aunque existen
otras aplicaciones como la comparticin de informacin. Es aqu donde se presentan
interrogantes a las denominadas gramticas sensibles al contexto.
La ltima Unidad de este mdulo (Unidad 3: Lenguajes estructurados por frases) le llevar
a comprender como se ha demostrado que hay infinitos problemas para los que no se va
a tener una Mquina de Turing (MT) que los resuelva (ni siquiera los reconozca). Tambin
se ha formulado la tesis de Church-Turing, que determina el lmite de los computadores
actuales. Si esto es as, llegamos al caso de formular la pregunta:
Es otro contexto que podr concluir cuando se analice la MUT (Mquina Universal de
Turing) como una mquina programable. Para demostrar esta afirmacin, se puede
proceder primero simulando una MT con un computador y segundo simular un
computador con una MT.
Para el primer paso, si tenemos una MT con cinta semi-infinita, la unidad de control se
simula por el procesador, cada uno de los smbolos de cinta se codifican como la
informacin que se permiten guardar en la memoria del computador. Los estados, al ser
finitos, se pueden guardar en una tabla (en realidad sera el estado del procesador, que
incluye el contador de programa) y las transiciones se simulan mediante un programa. La
cinta se simulara con la memoria. El inconveniente de que un computador tiene
una memoria finita se soluciona suponiendo que siempre es posible aadirle, de
forma indefinida, ms memoria. De esta forma un computador simulara el funcionamiento
de una MT cualquiera.
108
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
En las Unidades precedentes se han estudiado lo que se puede considerar las mquinas
abstractas que permiten solucionar ciertos tipos de algoritmos, los algoritmos en los
que no puede recordarse ms que una cantidad fija de informacin y otros en los
que la informacin desarrollada durante la ejecucin del algoritmo puede recuperararse
solo en concordancia con la regla lifo ltimos en entrar primeros en salir, en esta
unidad se describe una maquina abstracta, llamada Mquina de Turing , que es
aceptada de manera amplia como modelo general de computacin, aunque las
operaciones bsicas de esta mquina son comparables en su sencillez a las de las
mquinas estudiadas en las unidades anteriores, las nuevas mquinas pueden
realizar una amplia variedad de operaciones de computo. Adems de aceptar lenguajes
les es posible computar funciones y de conformidad con la tesis de Church-Turing,
ejecutar casi cualquier procedimiento algortmico concebible.
Los modelos abstractos de computacin tienen su origen en los aos 30, bastante antes
de que existieran los ordenadores modernos, en el trabajo de los lgicos Church, Gdel,
Kleene, Post, y (Alan Mathison Turing). Estos primeros trabajos han tenido una profunda
influencia no solo en el desarrollo terico de las Ciencias de la Computacin, sino que
109
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
muchos aspectos de la prctica de la computacin que son ahora lugar comn de los
informticos, fueron presagiados por ellos; incluyendo la existencia de ordenadores de
propsito general, la posibilidad de interpretar programas, la dualidad entre software y
hardware, y la representacin de lenguajes por estructuras formales basados en reglas de
produccin.
As como en secciones anteriores vimos como al aadir al autmata finito bsico una pila
de almacenamiento auxiliar, aumentando con ello su poder de clculo, cabra ahora
preguntarnos qu es lo que habra que aadir a un autmata de pila para que pudiera
analizar lenguajes como {anbncn}. Bsicamente se trata del diseo de un Autmata con
mayor poder de reconocimiento y proceso de lenguajes, que tomas y fusiona aspectos de
un AF y de un PDA.
A Turing propuso en los aos 30 un modelo de maquina abstracta, como una extensin
de los autmatas finitos, que result ser de una gran simplicidad y podero a la vez. La
mquina de Turing es particularmente importante porque es la ms poderosa de todas las
maquinas abstractas conocidas.
Gracias a ser tan simples, resulta ms fcil demostrar que algo no se puede
resolver con ellas.
Gracias a su equivalencia con los lenguajes de programacin, entonces facilitan la
demostracin de que cierto problema, no se puede resolver con un lenguaje de
programacin.
Mecanismo de cmputo muy sencillo de definir. Pero tan potentes como los
lenguajes de programacin de muy bajo nivel.
Por ser tan de demasiado de Bajo Nivel no resultan prcticas para programar.
La parte final del estado de las mquinas de Turing nos lleva a analizar la Tesis de
Church, que dice que las Mquinas de Turing son equivalentes a cualquier modelo de
computacin factible de construir.
111
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
La funcin de transicin del control finito debe considerar como entradas el estado actual,
que es un elemento de K pero que no puede ser h as como el caracter ledo en la
cinta, que es elemento de .
K x ( U { L,R }
As, si (q, a) = (p, b), donde b , esto quiere decir que estando la MT en el estado q
con la cabeza lectora sobre un caracter a, la funcin de transicin enviar al autmata a un
estado p, y adicionalmente escribir el carcter b. Similarmente si (q, a) = (p, L) la
cabeza de la MT har un movimiento a la izquierda adems de la transicin de estado.
Ejemplo 55: Sea la MT siguiente: K = {s, h}, (solo est el estado inicial, adems del halt)
donde:
Puede verse por la funcin de transicin que esta MT ejecuta un ciclo repetitivo en que
mueve la cabeza hacia la derecha en tanto siga leyendo un caracter a, y se detiene (hace
halt) en cuanto llega a un blanco.
Ntese que, puesto que es una funcin, en principio debe tenerse por cada estado y
cada caracter una transicin. Esto quiere decir que cada estado debe tener una cantidad
de flechas de salida igual a | |. Por ejemplo, si = { , a, b}, y K = {q, h}, entonces
debe haber flechas de salida de q con a, de q con b y tambin de q con .
En la prctica, sin embargo, una gran cantidad de flechas tiende a hacer menos
comprensible un diagrama, por lo que solamente incluiremos las flechas necesarias,
suponiendo en consecuencia que las dems flechas pueden tener una salida cualquiera,
sin afectar esto el funcionamiento de la MT. Por ejemplo, a partir del estado inicial
112
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Tiene, como los autmatas que hemos visto antes, un control finito, una cabeza
lectora y una cinta donde puede haber caracteres, y donde eventualmente viene la
palabra de entrada.
La cinta es de longitud infinita hacia la derecha, hacia donde se extiende
indefinidamente, llenndose los espacios con el caracter blanco (que
representaremos con ).
La cinta no es infinita hacia la izquierda, por lo que hay un cuadro de la cinta que
es el extremo izquierdo, como el que se muestra en la figura 61.
En la MT la cabeza lectora es de lectura y escritura, por lo que la cinta puede ser
modificada en curso de ejecucin.
En la MT la cabeza se mueve bidireccionalmente (izquierda y derecha), por lo que
puede pasar repetidas veces sobre un mismo segmento de la cinta.
Estas dos acciones son excluyentes, es decir, se hace una o la otra, pero no ambas a la
vez.
primer cuadro un caracter blanco. Como la cinta es infinita, inicialmente toda la parte de la
cinta a la derecha de la palabra de entrada est llena del caracter blanco ().
Cuando queremos que una palabra no sea aceptada, desde luego debemos evitar que la
MT llegue al halt. Podemos asegurarnos de ello haciendo que la MT caiga en un ciclo
infinito.
Al disear una MT que acepte un cierto lenguaje, en realidad diseamos el autmata finito
que controla la cabeza y la cinta, el cual es un autmata con salida (acepta cadenas
vlidas). As podemos usar la notacin grfica utilizada para aquellos autmatas para
indicar su funcionamiento. En particular, cuando trazamos una flecha que va de un estado
p a un estado q con etiqueta /L, quiere decir que cuando la entrada al control finito
(esto es, el caracter ledo por la cabeza de la MT) es , la cabeza lectora hace un
movimiento a la izquierda, indicada por el caracter L (left, en ingls); similarmente cuando
se tiene una flecha con /R el movimiento es a la derecha. Cuando la flecha tiene la
etiqueta / , donde es un caracter, entonces la accin al recibir el caracter
consiste en escribir el caracter en la cinta. Con estos recursos es suficiente para disear
algunas MT, como en el ejemplo que se visualiza en el recurso web.
Fuente:<JFLAP El Autor>
115
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
116
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Hasta aqu hemos considerado cada esquema funcional asociado a su MT propia. Pero
es posible concebir una MT capaz de ejecutar cualquier algoritmo; es decir capaz de
realizar los clculos que realizara cualquier otra MT, o sea, capaz de simular (tener el
mismo comportamiento) cualquier MT particular.
Esta mquina Universal no debe ser diseada para realizar un clculo especfico, sino
para procesar cualquier informacin (realizar cualquier clculo especfico -MT particular-
sobre cualquier configuracin inicial de entrada correcta para esa MT particular).
Resultara sumamente tener un modelo similar para MTs. En particular, elegimos las MTs
como nuestro modelo de mquina \ cableada" y a la vez como nuestro modelo de
lenguaje de programacin. La Mquina Universal de Turing (MUT) recibir dos entradas:
una MT M y una entrada , codificadas de alguna forma, y simular el funcionamiento de
M sobre . La simulacin se detendr, se colgar, o correr para siempre segn M lo
haga con En caso de terminar, dejar en la cinta la codificacin de lo que M dejara en
la cinta frente a .15
15
NAVARRO, A: Fundamentos de la ciencia de la computacin. 178 p.
117
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
El lenguaje aceptado o reconocido por una Mquina de Turing (MT), que se denota como
L(MT), es el conjunto de palabras formadas con el alfabeto *, que hace que la mquina
de Turing se detenga al alcanzar un estado final.
L(M) = { : q0 * 1p 2, p }
Los lenguajes formales que son aceptados por una mquina de Turing son exactamente
aquellos que pueden ser generados por una gramtica formal. El clculo Lambda es una
forma de definir funciones. Las funciones que pueden se computadas con el clculo
Lambda son exactamente aquellas que pueden ser computadas con una mquina de
Turing. Estos tres formalismos, las mquinas de Turing, los lenguajes formales y el
clculo Lambda son formalismos muy dismiles y fueron desarrollados por diferentes
personas. Sin embargo, ellos son todos equivalentes y tienen el mismo poder de
expresin. Generalmente se toma esta notable coincidencia como evidencia de que la
tesis de Church-Turing es cierta, que la afirmacin de que la nocin intuitiva de algoritmo
o procedimiento efectivo de cmputo corresponde a la nocin de cmputo en una
mquina de Turing.
118
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Teorema: Todo lenguaje estructurado por frases es aceptado por una mquina de Turing.
Para cada gramtica G existe una mquina de Turing no determinista M de 2 cintas que
aceptas el lenguaje generado por G.
Construccin de la mquina:
x L, M se DETIENE en q
x L, M se DETIENE en q o bien NO se DETIENE,
119
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
L es un lenguaje recursivo si existe una MT M tal que L(M) = L y M se DETIENE con todas
las cadenas de entrada.
Se dice que L es un lenguaje recursivo si existe al menos una MT M tal que L = L(M) y
x L, M se DETIENE en q
x L, M se DETIENE en q
Segundo nivel: se clasifican en funcin del tiempo que tardan en ejecutarse. Se conocen
con el nombre de problemas indecidibles, impracticables o solucionables.
Tercer nivel: comprende aquellos problemas que por ejemplo requiere un tiempo
linealmente proporcional a su tamao.
PRINCIPIO DE CHURCH-TURING:
Todo proceso fsico puede ser simulado por un dispositivo universal de computacin."
120
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
ENUNCIADOS: CHURCH
"La clase de las funciones que pueden ser calculadas mediante un algoritmo
coincide con la clase de las funciones recursivas." (Tesis de Church).
Apoyado en esta tesis junto a la definicin de funcin definible, encontr varios ejemplos
de problemas cuya resolucin era irresoluble llegando a manifestar que el
Entscheidungsproblem era uno de estos problemas
ENUNCIADOS: TURING
Es decir, si una funcin es computable entonces puede ser computada por una
mquina de Turing.
La clase de las funciones que pueden ser calculadas mediante un mtodo definido
coincide con la clase de las funciones calculables mediante una Mquina de Turing.
CHURCH Y TURING
121
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
"Toda funcin que pueda ser fsicamente computable, puede ser computada por
una mquina de Turing"
ORIGEN
XITO DE LA TESIS
122
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Hay otras definiciones de las mquinas de Turing que son equivalentes. Algunos de esos
modelos alternativos son mucho ms complicados aunque todos tienen la misma potencia
computacional (o de clculo). Muchas de ellas dotan de mayor flexibilidad al diseo de
una mquina de Turing que resuelva un problema en particular.
MTs que usan varias cintas, MTs con varios cabezales, MTs con cinta infinita hacia
ambos lados, MTs con cinta k-dimensional, etc. De todos esos mecanismos, el ms til es
la MT con k cintas, Una MT de k cintas tiene un cabezal en cada cinta. En cada paso, lee
simultneamente los k caracteres bajo los cabezales, y toma una decisin basada en la k-
upla. Esta consiste de pasar a un nuevo estado y realizar una accin en cada cinta.
Mquina no determinista: Mquina de Turing con una nica cinta y control finito nico.
Mquina de Turing de Cinta infinita en una Direccin: Mquina de Turing que usa una
cinta que se extiende infinitamente en una nica direccin. Generalmente, se tiene una
cinta que se extiende infinitamente hacia la derecha. No est permitido realizar ningn
movimiento hacia la izquierda a partir de la celda del extremo izquierdo. Desde luego,
cualquier mquina de Turing de esta forma puede ser simulada por una de las que
responden a la definicin original. Para cada computacin, simplemente se marca una de
las celdas de la cinta infinita por los dos lados, como la celda que se encuentra en el lmite
izquierdo.
Mquina de Turing en Dos Direcciones: Una mquina de Turing con una cinta infinita
en un sentido puede simular una mquina de Turing con la cinta infinita en los dos
sentidos pero con dos pistas. Sea M una mquina de Turing con una cinta infinita en los
dos sentidos. La mquina de Turing M, que tiene una cinta infinita en un sentido, puede
simular a M si tiene una cinta con dos pistas. La cinta superior contiene la informacin
correspondiente a la parte derecha de la cinta M, a partir de un punto de referencia dado.
La pista inferior contiene la parte izquierda de la cinta M (en orden inverso).
Las matemticas son 'completas', esto es, cada afirmacin matemtica se puede
probar?
Las matemticas son 'consistentes', esto es, es posible probar paralelamente una
afirmacin y su negacin?
Las matemticas son 'decidibles', esto es, se puede encontrar un mtodo definido
aplicable a cualquier afirmacin matemtica, que nos de cmo resultado si es o no cierta
la aseveracin evaluada?
124
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los problemas de Hilbert son una lista de 23 problemas matemticos compilados por el
matemtico alemn David Hilbert para la conferencia en Pars del Congreso Internacional
de Matemticos de 1900. Los problemas estaban todos por resolver en aquel momento, y
varios resultaron ser muy influyentes en la matemtica del siglo XX. Hilbert present diez
de los problemas (1, 2, 6, 7, 8, 13, 16, 19, 21 y 22) en la conferencia, en un acto el 8 de
agosto en La Sorbona.
Aunque se han producido intentos de repetir el xito de la lista de Hilbert, ningn otro
conjunto tan variado de problemas o conjeturas ha tenido un efecto comparable en el
desarrollo del tema y obtenido una fraccin importante de su celebridad. Por ejemplo, las
conjeturas de Weil son famosas pero fueron poco publicitadas. Quiz el propio
temperamento de Andr Weil evit que intentase ponerse en posicin de competir con
Hilbert. John von Neumann produjo una lista, pero no obtuvo reconocimiento universal.
A primera vista, este xito podra atribuirse a la eminencia del autor de los problemas.
Hilbert estaba en la cspide de su poder y reputacin en aquel momento y continu
dirigiendo la sobresaliente escuela de matemtica en la Universidad de Gttingen. Un
examen ms cuidadoso revela que el asunto no es tan simple.
125
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
tanto, su valor documental es el de ensayo: una visin parcial, personal. Sugiere algunos
programas de investigacin y algunas direcciones a seguir sin fin concreto.
De hecho, muchas de las preguntas daban una falsa idea del matemtico profesional del
siglo XXI, o incluso de 1950, en que la forma de una solucin a una buena pregunta
tomara la forma de un artculo publicado en una publicacin matemtica. Si este fuera el
caso de todos los veintitrs problemas, se hubiera simplificado el comentario hasta el
punto de poder dar una referencia a una revista, o considera la pregunta como abierta
todava. En algunos casos el lenguaje usado por Hilbert se sigue considerando un tanto
"negociable", en cuanto al significado real de la formulacin del problema (en ausencia,
repetimos, de fundamentos axiomticos, basados en matemtica pura, empezando con el
propio trabajo de Hilbert sobre geometra euclidiana, pasando por el Principia
Mathematica, y terminando con el grupo Bourbaki y el "terrorismo intelectual" para
terminar el trabajo). Los problemas Primero y Quinto se encuentran, quiz
sorprendentemente, en un estado de formulacin de una claridad menos que total
(vanse las notas). En casos como el Vigsimo, el problema se podra leer de forma
razonable en una versin "interna", relativamente accesible, en la que el lector puede
saber a qu estaba apuntando Hilbert; o como una penumbra "externa" y especulativa.
Dicho todo esto, por tanto, la razn ms importante es la gran rapidez con la que acept
la lista de Hilbert la comunidad matemtica de aquel momento (lo cual es una frmula
menos convencional que ahora, ya que por entonces haban pocos lderes investigadores,
que generalmente se encontraban en unos pocos pases Europeos y se conocan todos
entre ellos). Los problemas se estudiaron con gran atencin; resolver uno labr
reputaciones.
El estilo fue al menos tan influyente como el contenido de los problemas. Hilbert solicitaba
clarificaciones. Pidi soluciones en principio a preguntas algortmicas, no a algoritmos
prcticos. Pidi un fortalecimiento de los cimientos de partes de la matemtica que a los
no practicantes an se antojaban guiadas por intuiciones opacas (el clculo de Schubert y
la geometra enumerativa).
Estas actitudes fueron adoptadas por muchos seguidores, aunque tambin fueron
discutidas, y continan sindolo. Treinta aos despus, Hilbert haba endurecido su
postura: vase ignorabimus.
Problema 1. La hiptesis del continuo (esto es, no existe conjunto cuyo tamao est
estrictamente entre el de los enteros y el de los nmeros reales) Se ha probado la
126
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Problema 2. Probar que los axiomas de la aritmtica son consistentes (esto es, que la
aritmtica es un sistema formal que no supone una contradiccin). Parcialmente resuelto:
hay quienes sostienen que se ha demostrado imposible de establecer en un sistema
consistente, finitista y axiomtico Sin embargo, Gentzen prob en 1936 que la
consistencia de la aritmtica se deriva del buen fundamento del ordinal 0, un hecho
sujeto a la intuicin combinatoria.
Problema 3. Se puede probar que dos tetraedros tienen igual volumen (bajo ciertas
asunciones)? Resuelto. Resultado: no, probado usando invariantes de Dehn
Problema 4. Construir todas las mtricas cuyas rectas sean geodsicas. Demasiado
vago para decidir si se ha resuelto o no.
Problema 10. Encontrar un algoritmo que determine si una ecuacin diofntica polinmica
dada con coeficientes enteros tiene solucin entera. Resuelto. Resultado: no, el teorema
de Matiyasevich implica que no existe tal algoritmo.
Problema 11. Resolver las formas cuadrticas con coeficientes numricos algebraicos.
Parcialmente resuelto
127
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Problema 13. Resolver todas las ecuaciones de 7 grado usando funciones de dos
parmetros. Resuelto. Lo prob posible Vladimir Arnold.
Problema 17. Expresin de una funcin definida racional como cociente de sumas de
cuadrados. Resuelto. Resultado: se estableci un lmite superior para el nmero de
trminos cuadrados necesarios
Problema 18. Existe un poliedro irregular y que construya otros poliedros? Cul es el
apilamiento compacto ms denso?. Resuelto.
Problema 19. Son siempre analticas las soluciones de los Lagrangianos? Resuelto.
Resultado: s
Problema 20. Tienen solucin todos los problemas variacionales con ciertas condiciones
de contorno?. Resuelto. Ha supuesto un rea importante de investigacin durante el siglo
XX, culminando con las soluciones al caso no lineal.
Problemas de decisin.
128
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Si es soluble.
Si es un problema soluble.
No es insoluble.
Un lenguaje decidible es aquel lenguaje L para el cual existe una mquina de Turing que
le puede aceptar cualquier cadena { L}.
Hay lenguajes formados por cadenas tales que una mquina de Turing logra un estado
final con las cadenas que reconoce y acepta, solamente. En este caso se dice que la
mquina de Turing semidecide al lenguaje. Los lenguajes semidecididos por una MT se
llaman recursivos numerables. Las gramticas sin restricciones son las que generan los
lenguajes recursivos numerables. De aqu en adelante ser suficiente referirse a los
lenguajes recursivos numerables, pues estos generalizan a los lenguajes recursivos, los
129
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
cuales generalizan a los lenguajes libres de contexto, y estos a los lenguajes regulares.
Lo anterior tiene relacin directa con que los autmatas de Turing generalizan a los de la
pila y estos a su vez a los autmatas finitos. Por otro lado, pese a que lenguajes formales
ms generales que los recursivos numerables no son reconocidos por un autmata de
Turing, no existe hasta el momento ningn autmata ms poderoso capaz de
reconocerlos
Es decir, si un dado un conjunto de entradas bajo las cuales una MT logra un estado de
parada para cada entrada, la maquina corresponde a la implementacin de un algoritmo.
Esta es la Tesis de Church Turing. No es un teorema pues no se puede demostrar
matemticamente, de manera general y categrica. Es solo la afirmacin de que el
concepto informal del algoritmo corresponde a un objeto matemtico. Al ser solo una
afirmacin no demostrable, puede suceder que luego fuera refudada. Para que esto
ocurra, se necesitara encontrar un autmata ms potente que uno de Turing tal que fuese
la implementacin de un algoritmo. Si bien hay algunas propuestas interesantes que
pretende generalizar a la MT, hasta la fecha ninguna de ellas ha sido aceptada para
sustituir nuestro actual concepto de procedimiento comprable.
Por otro lado, mientras que los lenguajes computables son una infinidad numerable, los
lenguajes no computables son una infinidad no numerable. Por ello, son ms los
lenguajes no computables o indecidibles. Una teora lgica (TL) se define a partir de un
conjunto de enunciados dados llamados axiomas, unas reglas de inferencia y un esquema
de derivacin. A partir de los axiomas y aplicando la regla de inferencia y el esquema de
derivacin se infieren los teoremas de la teora. El conjunto de teoremas de la teora
forma un lenguaje formal.
Si es posible definir una mquina de Turing tal que reconozca al lenguaje de los
teoremas, este lenguaje es decidible y la teora tambin lo es en consecuencia. Dicho en
otras palabras, si el conjunto de teoremas visto como un lenguaje es reconocido por una
mquina de Turing, entonces la TL es decidible. Y viceversa. Puede hablarse entonces de
130
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
manera indistinta de teoras lgicas o de lenguajes decididles, como aquellos para los que
existe una mquina de Turing capaz de reconocerlos. Luego la correspondencia entre la
sintaxis de una teora lgica (lenguaje formal) y reconocimiento simblico del mismo por
parte de un autmata queda establecida.
Una de las razones por la que es importante conocer que el problema de la parada no
tiene solucin, es que nos permite decidir si otros problemas son resolubles o no. El
razonamiento a seguir sera: si suponiendo que un problema es decidible, podemos
demostrar que el problema de la parada tiene solucin, entonces podemos llegar a la
conclusin de que el problema en cuestin no la tiene, por reduccin al absurdo.
Definicin:
Sea M una mquina de Turing arbitraria con un alfabeto de entrada . Puede decidirse si
la mquina M se detendr con la entrada ?
Solucin:
Por otro lado, son muchos los problemas interesantes que se han demostrado
computables. Todas las funciones construidas por recursividad primitiva o minimalizacin
a partir de funciones calculables resultan ser calculables como consecuencia de los
trabajos de Church y Turing. Pero adems, otras funciones ms complejamente definidas
tambin son computables, siendo el resultado ms significativo en relacin con esta
cuestin el dado por el siguiente teorema:
Primer teorema de Recursin. Todo operador entre funciones calculables que sea
recursivo (esto es que se defina la imagen de f mediante una funcin calculable en
trminos de una parte finita de f), tiene una funcin parcial computable que es el menor
punto fijo, es decir, esta funcin es un punto fijo y cualquier otro punto fijo del operador es
una extensin de esa funcin.
132
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Este teorema recibe su nombre porque podemos definir una funcin mediante una
ecuacin recursiva ms general que la permitida por la recursividad primitiva, a saber
dnde es un operador recursivo. El primer teorema de recursin nos dice que esta
definicin es posible; hay una funcin recursiva que satisface esta ecuacin. Como en
matemticas se requiere que la definicin sea unvoca, se dice que dicha ecuacin define
el menor punto fijo del operador. As, y de acuerdo al primer teorema de recursin, la
clase de las funciones calculables es cerrada bajo una muy general forma de definicin
por recursin.
FUNCIONES COMPUTABLES:
El modelo en el que se inspir fue el de una persona real llevando a cabo un clculo
mecnico, por ejemplo una multiplicacin de dos grandes nmeros en el sistema decimal.
Las funciones computables son usadas para discutir computabilidad sin referirse a ningn
modelo de computacin concreto, como el de la mquina de Turing o el de la mquina de
registros.
Alternativamente se pueden definir como los algoritmos que pueden ser calculados por
una mquina de Turing, una mquina de Post, o una mquina de registros.
Se cita un ejemplo:
Hay que hacer notar que este mtodo no hace referencia a la manera en la que se
soluciona P1 o P2, sino que determina como la solucin de P2 conduce a solucionar P1.
Tambin se puede ver que P2 es un problema ms general que P1. De hecho este
mtodo no funcionara en el sentido inverso: siempre se reduce un problema a otro ms
general.
Otro ejemplo ms tpico: El jefe al fin se ha decidido a dar las vacaciones, pero estamos a
30 de julio y queremos ir con la familia, que resulta que est en Australia. El problema
entonces se reduce a encontrar un billete de avin a este destino.
134
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
algoritmo que convierta una cadena de L1 en otra cadena de L2 (L2 puede tener
ms cadenas aceptables, pero nos interesan las que se pueden obtener por el algoritmo
desde L1), decidindose entonces si pertenece a L2.
Que haya que demostrar que L2 es RE. Para ello partimos de la certeza de que L1 es
RE (por ejemplo Lu) y lo reducimos a L2. Se supondr que este ltimo es decidible, es
decir, que se puede encontrar una MT que, siendo la entrada una cadena de L1, esta
se puede convertir en una cadena de L2, y decidir si esta ltima pertenece a L2 o no.
Si se encuentra al algoritmo de conversin, se habr encontrado una MT que es capaz de
reducir L1 a L2, y por tanto, la manera de decidir L1. Pero esto es una contradiccin,
pues sabemos de antemano que L1 es RE, por lo que, forzosamente, L2 no puede ser
decidible. Se llega a la conclusin de que L2 tambin es RE.
Que haya que demostrar que L2 no es RE. Para ello partimos de la certeza de que L1 no
es RE (por ejemplo Ld) y lo reducimos a L2. Se supondr que este ltimo es RE, es decir,
que se puede encontrar una MT que, siendo la entrada una cadena de L1, esta se
puede convertir en una cadena de L2, y aceptarla si esta ltima pertenece a L2. Si se
encuentra un algoritmo de conversin, se habr encontrado una MT que es capaz de
reducir L1 a L2, y por tanto la manera de aceptar L1. Pero esto es una contradiccin,
pues sabemos de antemano que L1 no es RE (ninguna MT puede aceptarlo), por lo que,
forzosamente, L2 no puede ser RE. Se llega a la conclusin de que L2 tampoco es RE.
Hemos visto como la Teora de Autmatas, que engloba tambin al estudio de las
Mquinas secuenciales, tiene su origen en el campo de la Ingeniera Elctrica. El
135
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ms tarde en otros trabajos destacados, vino a establecer las bases para la aplicacin de
la Lgica Matemtica a los circuitos combinatorios y posteriormente Huffman en 1954 los
ampli a circuitos secuenciales y utiliza conceptos como estado de un autmata y tabla de
transicin.
19
ALGORITMO DE TRELLIS Y VITERBI:
16
<C. E. Shannon, ``A mathematical theory of communication,'' Bell System Technical Journal, vol. 27, pp.
379-423 and 623-656, July and October, 194>
17
< W. Weaver and C. E. Shannon, The Mathematical Theory of Communication, Urbana, Illinois: University
of Illinois Press, 1949, republished in paperback 1963 .>
18
Reprinted with corrections from The Bell System Technical Journal, Vol. 27, pp. 379423, 623656, July,
October, 1948. Disponible en internet < http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf >.
19
The Viterbi Algorithm: A Personal History. Disponible en internet:
<http://arxiv.org/pdf/cs/0504020v2.pdf>
136
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
puede explicarse gracias a las numerosas ventajas que posee con respecto a los mtodos
analgicos. Hasta unos aos, la transmisin digital de seales analgicas (voz, vdeo,
etc.) resultaba tcnica y econmicamente costosa. Sin embargo, recientemente han
sucedido hechos que originaron importantes avances en esta rea de las
comunicaciones:
APLICACIONES DEL ALGORITMO: Como resultado de estos avances, las fronteras del
mundo de las comunicaciones digitales se han expandido en todos los sentidos: (a) las
distancias entre transmisor y receptor se han incrementado considerablemente
(comunicaciones satelitales, telemetra de sondas espaciales, etc.); (b) es posible
establecer comunicaciones de buena calidad en ambientes de gran interferencia (telefona
celular); (c) los espacios lgicos (y fsicos) necesarios para almacenar la informacin se
han reducido radicalmente (DVD).
Entre todos los avances que han permitido este extraordinario desarrollo de las
comunicaciones, se encuentran las tcnicas de codificacin. Estas mejoran el
comportamiento de los sistemas de comunicaciones mediante la inclusin de redundancia
en la informacin a transmitir. Esta informacin adicional permite detectar, corregir y/o
prevenir errores en transmisiones por canales ruidosos.
El primer esquema de TCM fue propuesto en 1976 por Gottfried Ungerboeck. Seguido por
una publicacin en la revista information theory del IEEE en el ao de 1982, con la cual se
dio una revolucin en las investigaciones de su teora y mtodos, adems se estableci
un lugar a las posibles implementaciones de TCM.
CC-DV son utilizados en los sistemas de telefona celular digital como es el caso del
estndar IS-95 (utilizado en nuestro medio por CTI), como as tambin en comunicaciones
de satlites geoestacionarios como las redes VSAT (Very Small Aperture Terminal). Las
ganancias que se logran con estos sistemas de codificacin se reflejan en la reduccin del
consumo de los transmisores o en la reduccin del tamao de las antenas (o simplemente
en la mejora de las tasas de transmisin).
saber cules de los bits recibidos estn errados, especialmente si se requiere una altsima
veracidad por la transmisin de datos.
Los cdigos secuenciales son utilizados tambin con el propsito de identificacin, pero
se asignan en el orden en el cual los clientes entran al sistema.
Los cdigos pueden dividirse en subconjuntos o subcdigos, caracteres que son parte del
nmero de identificacin que tienen un significado especial. Los subcdigos indican al
usuario informacin adicional sobre el artculo, Ejemplo La clase de producto, el
proveedor, esta informacin se lleva a travs de dgitos significativos.
El problema est en cmo elegir los 2Rn vectores que se van a enviar, es decir, en la
decisin. Al sistema que realiza dicha decisin se le llama codificador.
140
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Los cdigos convolucionales realizan esta seleccin, son cdigos lineales que tienen la
propiedad de que la suma de dos palabras de cdigo cualesquiera tambin es una
palabra de cdigo. Luego, el codificador convolucional, es una manera de reducir el
nmero de mensajes que enviamos por el canal, cumpliendo de esta forma la
recomendacin de Shannon. (Bsicamente el codificador convolucional es una mquina
de estados que aplica la Teora de Autmatas).
141
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
A este cociente se le denomina ratio del codificador. He definido para esta aplicacin un
codificador convolucional (2,1,3), es decir: un bit para representar la palabra de datos, dos
bits de palabra de codificacin por cada bit de palabra de datos y tres bits de longitud de
registro. En nuestro caso el ratio es .
Figura 66: Mquina de estados. Registro de desplazamiento convolucional de ratio = y una etapa
142
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Figura 67: Mquina de estados. Registro de desplazamiento convolucional (datos 000 y 100)
Seguimos con el caso de que hemos introducido un uno porque con el cero observamos
que se forma un bucle. Ahora en la situacin (1, 0, 0) veamos cmo codifica el sistema
usando una mquina de estados si le introducimos un cero y cmo si es un uno el bit que
entra al canal:
Figura 68: Mquina de estados. Registro de desplazamiento convolucional (datos 010 y 110)
En los diagramas, cada estado del codificador convolucional se representa mediante una
caja y las transiciones entre los estados vienen dadas por lneas que conectan dichas
cajas. Para saber de una manera rpida en qu estado se encuentra el codificador, basta
143
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
con observar los dos bits del registro de memoria ms alejados de la entrada. Puede
comprobarse interpretando la mquina de estados correspondiente. Para el codificador de
la Figura 69, el diagrama de estados correspondiente es:
RBOLES: Para la descripcin, utilizaremos un caso particular con m=3, k=1 y n=2.
Consideramos el codificador convolucional de la figura 70
144
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
DIAGRAMAS DE TRELLIS:
Una manera de representar las distintas transiciones y los caminos que stas describen
es mediante un Diagrama de Trellis. Una descripcin de Trellis de un codificador
convolucional muestra cmo cada posible entrada al codificador influye en ambas salidas
y a la transicin de estado del codificador. Un cdigo de longitud restringida m tiene un
Trellis con 2k(m-1) estados en cada intervalo ti. As que tendremos cuatro estados en ti. De
cada estado parten otros dos, uno si el bit enviado es un 1 y otro si es un 0.
145
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
El sistema tiene memoria: la codificacin actual depende de los datos que se envan
ahora y que se enviaron en el pasado. Por lo tanto, el diagrama completo que obtenemos
con nuestro codificador.
En nuestro caso (2,1,3), una vez enviado el ltimo bit, tendremos que enviar dos ceros
para finalizar la secuencia en cero y de esta forma volver a poner el codificador a cero.
As, queda listo para otro envo futuro y se facilita por lo tanto el proceso.
Sea una entrada de datos de 8 bits. Una vez elegido el codificador convolucional con ratio
1/2, procedemos como se ha explicado en la teora para obtener la secuencia de 16 bits
correspondientes a la palabra codificada.
Datos a la entrada: 1 1 0 0 1 0 1 1
Hemos dicho que el codificador parte del estado todo cero. Fijndonos en la mquina de
estados de las figura 69, partimos del estado 00, si entra un 1, se ha explicado como
entra al codificador, cul es la salida codificada (11) y a qu estado pasa (10). A este
nuevo estado le llamaremos estado presente. En nuestro ejemplo:
1 Dato entrada: 1
Dato codificado: 11
Estado presente: 10
2 Dato entrada: 1
Dato codificado: 10
Estado presente: 11
3 Dato entrada: 0
Dato codificado: 10
Estado presente: 01
4 Dato de entrada: 0
Dato codificado: 11
147
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Estado presente: 00
Estado presente: 10 11 01 00 10 01 10 11
Entrada codificada: 11 10 10 11 11 01 00 10
Representamos cmo sera el camino de Trellis seguido por los datos correctos ya
codificados. Para esto nos fijamos en la secuencia de estados presentes:
148
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Datos 1 1 0 0 1 0 1 1
Estado Presente 10 11 01 00 10 01 10 11
Codificado 11 10 10 11 11 01 00 10
Recibido 10 10 11 11 01 01 00 10
149
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Veamos las distintas representaciones grficas que desarrollan el proceso segn dicta
nuestra mquina de estados. Sobre cada lnea de unin de estados colocaremos en rojo
el nmero de errores acumulados en relacin con la seal recibida.
DISTANCIA DE HAMMING.
En los cdigos no recurrentes (o sea que utilizan estructura de bloques) son formados con
agrupaciones de n bits llamadas bloques, cada bloque se diferencia de otro de acuerdo
con la distancia que exista entre ellos. Como lo muestra la siguiente figura 75:
1.- El primer y segundo nivel son fijos para cualquier entrada. Del estado 00 tenemos dos
posibles ramas, hacia el estado 00 y hacia el 10
150
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
3.- A partir del tercer nivel, en cada estado convergern dos ramas, analizamos los
errores en la mtrica de cada camino posible en relacin con la seal recibida.
151
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
4.- Segn el nmero de errores acumulados en relacin con la seal recibida, elegimos un
camino u otro. Nos quedamos con el de menor error acumulado. As pues, partimos de
menos ramas para el siguiente nivel del proceso.
5.- De cada nodo parten de nuevo otras dos ramas Colocamos nicamente los errores
correspondientes al ltimo nivel, para una mejor visualizacin:
6.- Procedemos del mismo modo que para el tercer nivel y nos quedamos con las ramas
de menor error acumulado:
7.- Con esta metodologa aplicada al resto de niveles, las cuatro ramas seleccionadas que
llegaran a los cuatro ltimos estados dada su menor acumulacin de error acumulada
sern:
Por lo tanto, el trayecto ptimo es aquel que finaliza en el estado 11, ya que tiene tres
errores acumulados frente a los cuatro de los otros estados. As pues, el trayecto
recorrido ptimo es
152
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
153
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Una explicacin del algoritmo, puede ser visualizada en los recursos de la tabla 17.
Sigue al autor
154
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
SIMULADORES:
Los simuladores son compatibles con cualquier sistema operativo. Solo requieren que
tenga instalado el plugin de java en su navegador web. Puede realizar la descarga de los
simuladores desde los siguientes recursos:
http://www.java.com/es/do
wnload/index.jsp
JFLAP V 7.0 http://datateca.unad.edu.co/contenidos/301405/SI http://www.jflap.org/getjflap.html
MULADORES/JFLAP.zip Gua o Tutorial:
http://www.jflap.org/tutorial/
Tutorial:
http://sistemas.uniandes.edu.co/~isis1106/dokuwiki
/lib/exe/fetch.php?media=tutoriales:tutorial_vas.pdf
155
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 1: Una de las operaciones que se puede formar con las palabras de un alfabeto
es La potencia. Dada una palabra w * se define inductivamente la potencia n-sima
de w, que se denota w n , como: w 0 = cadena vaca, w n = w . w n 1 para n > 0
Si w = aba es un palabra sobre el alfabeto {a,b} entonces:
A. 2
= aabb
B. 2
= abaaba
C. 2
= abab
D. 2
= ababab
Ejercicio 2: Indique cul de las siguientes afirmaciones referidas a lenguajes del alfabeto
= {0,1,2} son ciertas:
Ejercicio 3: Sea el alfabeto = {a,b} con la Expresin Regular: a(a+b), identifique las
cadenas vlidas que se pueden generar:
A. {aba, aab,}
B. {a, aab, abb}
C. {aa, ab,}
D. {a, b, aa, bb}
156
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 3.1 Para el siguiente autmata, identifique cul es la Expresin Regular (ER)
que mejor lo representa:
A. (ab+ba) + a
B. (ab + aba)*
C. a +(ab)*
D. ab +(ab)*
1. La ER (0+1)*01 genera cadenas vlidas para el autmata del ejercicio doce (12)
pero no para las del autmata del ejercicio once (11).
2. La ER (0+1)*01 genera las mismas cadenas para el Autmata del ejercicio dos
(2) y del ejercicio doce (12)
3. La ER (0+1)*11(01)* genera cadenas vlidas para el autmata del ejercicio
dos (2) pero no para las del autmata del ejercicio doce (12).
4. La ER (1*00*1(00*1)*1)*1*00*1(00*1)* genera las mismas cadenas para
el Autmata del ejercicio doce (12) y del ejercicio once (11).
157
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Q es un conjunto de estados.
es el alfabeto de entrada
f: Q X Q es la funcin (total) de transicin.
q 0 Q es el estado inicial.
F Q es el conjunto de estados finales.
2
A. { a | {a,b} }
*
B. { a | {a,b} }
C. Todas las palabras que terminan en a y que estn precedidas por
una b
D. Todas las palabras que terminan en dos as
159
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
n *
A. L = (A 2 ) = {0, 001, 01111, } = { 1(10) /n 0} La expresin regular es: 0(01)
n *
B. L = (A 2 ) = {1, 101, 10101, } = { 1(01) /n 0} La expresin regular es: 1(01)
n
C. L = (A 2 ) = {0, 111, 11100, } = { 1(10) /n = 0} La expresin regular es: 1(01)
n *
D. L = (A 2 ) = {0, 001, 00100, } = { 1(01) /n 0} La expresin regular es: 0(01)
A. (10 + 0)* 10
B. (10 + 0)
C. (10 + 0)*
D. (0+1+0*)
160
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 10: Una de las operaciones que permiten las Expresiones Regulares es el
Cierre u operacin estrella. Si es una expresin regular, entonces * es una
{ } . Es decir denota las cadenas:
*
expresin regular que denota
A. , , , ,
B. , , , , ,
C. , , , ,
D. , , , , , ,
.
Ejercicio 12: Analice el siguiente Autmata y determine cules apreciaciones son vlidas
en su anlisis:
161
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 13: Dado los siguientes dos autmatas A y B, analice los enunciados dados e
identifique cuales son verdaderos.
162
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Para el ejercicio analice la cadena sin tener en cuenta si es vlida o no, (aceptada
o no aceptada)
Ejercicio 16: Para el siguiente autmata finito determinstico (AFD), identifique que
afirmaciones son vlidas para la expresin:
Tenga en cuenta que se denomina cadena, palabra o frase a una secuencia finita de
smbolos de un alfabeto . Estas cadenas son denotadas como w.
163
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
A. 0110
B. 0111
C. 0101
D. 0011
1. (q2 , a ) = q 2 (q2 , b ) = q 3
2. (q 4 , a ) = q 4 (q 4 , b ) = q 4
3. (q 3 , a ) = (q 3 , b ) = q 3
4. (q 1 , a ) = q 2 (q 1 , b ) = q 4
Ejercicio 19: Identifique de los cuatro autmatas que se muestran a continuacin, (A, B,
C o D), cul reconoce las cadenas que contienen la subcadena aba y cuya definicin
formal sera la siguiente:
K = {1,2}
={a,b}
s={1}
F={2}
={((1,a),1),((1,b),1),((1,aba),2),((2,a),2),((2,b),2)}
165
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 21: Dado el Autmata con la siguiente tabla de transicin, identifique las
cadenas que son vlidas para el lenguaje que acepta.
166
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 22: Indique cul de las siguientes afirmaciones referidas a los autmatas de la
figura, son ciertas. (Observe que hay una transicin que no lee ningn smbolo de la
cadena de entrada):
1. Los autmatas reconocen el lenguaje formado por todas las cadenas que
empiezan por 1 y que no terminan en dos ceros consecutivos.
2. Ambos autmatas reconocen el mismo lenguaje incluyendo la cadena vaca.
3. El autmata A es ms potente por ser No Determinista.
4. Cualquier autmata no determinista que reconozca el mismo lenguaje que el
autmata B tiene al menos cuatro estados.
167
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 26: La relacin entre un AP y un LLC (Lenguaje Libre de contexto) permite que
dada una Gramtica G, existe entonces un AP que acepta exactamente el lenguaje
generado por G. Dado el siguiente autmata de pila (AP) cuyo funcionamiento se
representa en la siguiente tabla, identifique la gramtica correcta y sus reglas que aceptan
el LLC dado por el AP.
168
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 27: Dadas las siguientes gramticas, ascielas a los enunciados que se
presentan de forma correcta. Tenga en cuenta que como Smbolo inicial se toma a S
que son los estados iniciales y como smbolos no terminales los estados en el orden de su
nombramiento. El conjunto finito de smbolos terminales son los smbolos del alfabeto
del autmata.
169
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 28: Dada la siguiente gramtica G= (VN= {S, A}, VT= {0,1}, S, P) donde P son
las producciones:
Ejercicio 29: Las Gramticas regulares pueden ser de dos formas: Lineales por la
derecha y Lineales por la izquierda. Tambin pueden ser ambiguas si existen dos rboles
de derivacin distintos para una misma palabra. Dada la Gramtica G = {S, A}, T= {0,1}
representada en los dos rboles de derivacin siguiente, identifique el tipo de
producciones y el lenguaje que generan:
170
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 30: Para el autmata del ejercicio anterior, (ejercicio 201 1ESTE ES)
determine que afirmacin es vlida si se presenta la siguiente gramtica. Para el anlisis,
asigne un nombre a los estados del autmata que apliquen a la gramtica dada.
S xS
S yA
S zB
A yA
A yB
B zB
B
A xzS | B A xzS | yz |
B yz |
Gramtica G 1 Gramtica G 2
171
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 32: Las gramticas del ejercicio anterior (ejercicio 31), tienen dos
particularidades que son vlidas afirmarlas:
1. Las reglas de las gramticas difieren por que tienen diferentes terminales.
2. La palabra generable por la gramtica G 1 y G 2 es xxzyzy
3. La palabra generable por la gramtica G 1 y G 2 es xyzyzy
4. La lista de reglas estn denotadas de forma comprimida.
S aA | bA
A aB | bB | a
B aA | bA
A. {a,b}
B. El conjunto de cadenas que pueda generar la ER = a*b*a
C. {aa, aaaa, bbba, ba, bba, baaa, baba}
D. {baaaa, aaaaa, bba}
172
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
173
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 38: Un problema de decisin (PD) es aquel formulado por una pregunta
(referida a alguna propiedad) que requiere una respuesta de tipo si/no. Para la Teora
de Lenguajes, un problema de decisin es insoluble cuando:
Ejercicio 39: Dada la siguiente Mquina de Turing (MT), determine que afirmaciones son
vlidas para su anlisis:
174
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 40: Con referencia a una Mquina de Turing (MT) de dos direcciones: Una
Mquina de Turing con una cinta infinita en un sentido puede simular una Mquina de
Turing con la cinta infinita en los dos sentidos. Sea M una Mquina de Turing con una
cinta infinita en los dos sentidos, entonces:
175
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
4. Identifique los elementos (tupla que es). Debe explicar y describir cada
elemento y la funcin y significado en el autmata. Conceptos y
definiciones adicionales.
5. Identifique la ER que lo representa. Explique los operadores y cmo actan
en la funcin.
6. Identifique el lenguaje que genera.
7. Muestre en el simulador (grficamente) como recorre una cadena vlida.
Explique cada secuencia.
8. Muestre el diagrama de Moore generado en JFLAp y en VAS y comente
que similitudes o diferencias encuentra al realizarlo en los dos simuladores.
(herramientas que ofrezca uno u otro).
9. Genere la tabla de transicin en VAS y plsmela en el documento,
comprela con la plasmada en el ejercicio.
Ejercicio 42: identifique las cadenas vlidas que generan las siguientes ER:
muestre algunas, pero ms que las cadenas identifique el lenguaje que
representa. Genere el diagrama de moore o grafique la mquina correspondiente.
si A = {0,1}
a) 0*+1*(01)
b) 10* + 10
c) 01* + 0
d) (1.11*0) *
e) (1 + 10) + 0
f) 1* 0*10
g) 00* 11*
176
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
h) (0+1)*11(1+0)*
178
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Ejercicio 44: Disee un APD que acepte el Lenguaje L = {0a 1a+b 2b 3c+1 }
donde a,b,c 0
S 0A 1
A 1A | 1B
B 0S
Gramtica G 1
Ejercicio 46: Disee una MT que reconozca el lenguaje de cadenas Mquina que
acepta el lenguaje de palabras sobre {0,1} que comienzan y acaban con el mismo
smbolo
180
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
181
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
Tabla 25: Clculo de un dato de entrada a partir de un dato codificado con error.
(Ntese que hay interacciones con smbolo vaco, diferente a cadena vaca)
PARTE 1
PARTE 2: Para cada una de las Expresiones Regulares siguientes (ER) realice:
184
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
EXPRESIONES REGULARES:
Primera: (a+b)*b(b+a)b(b+a)*
Segunda: (0+1)*11(1+0)0(1+10*)*
Tercera: 0*1*+(01)*+(11*00*+01)
185
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
BIBLIOGRAFIA
JFLAP, (2004, 2008) JFLAP Version 7.0 Release August 28, 2009. Extrado
el 30 de Mayo de 2011 desde http://www.jflap.org/
Hall
186
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
MODULO CURSO: 301405 AUTMATAS Y LENGUAJES FORMALES. Ing. (Msc). Carlos Alberto Amaya Tarazona
187