teoria de automatas y lenguajes formales - dean kelley

310
7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 1/310 ) ) ) ) ) )  No.DEUBR0^7;3-t± . ie» L  L  No. DEETIG. M ^ 4 - T ^ Teoría de autómatas  )  lenguajes formales Dean Kelley  Departamento de Matemáticas y Ciencias de la Computación  Gustavus Adolphus College Traducción: Ma Luisa Diez Platas  Facultad de Informática Universidad Pontificia de Salamanca en Madrid Revisión técnica: Luis Joyanes Aguilar  Facultad de Informática Universidad Pontificia de Salamanca en Madrid PRENTICE HALL Madrid • México • Santafé de Bogotá • Buenos Aires • Caracas • Lima • Moi San Juan • San José • Santiago • Sao Paulo • White Plains www.FreeLibros.com

Upload: hector-castillo

Post on 10-Feb-2018

247 views

Category:

Documents


26 download

TRANSCRIPT

Page 1: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 1/310

) ) ) ) ) ) N o .D E U B R 0 ^ 7 ;3 - t±

. i e » L _    L Z 

 No. DEETIG. M ^ 4 -T ^

Teoría de autómatas ) 

lenguajes formales

Dean Kelley Departamento de Matemáticas y Ciencias de la Computación 

Gustavus Adolphus College

Traducción:

Ma Luisa Diez Platas Facultad de InformáticaUniversidad Pontificia de Salamanca en Madrid 

Revisión técnica:Luis Joyanes Aguilar  Facultad de InformáticaUniversidad Pontificia de Salamanca en Madrid 

P R E N T I C E H A L LMadrid • México • Santafé de Bogotá • Buenos Aires • Caracas • Lima • Moi

San Juan • San José • Santiago • Sao Paulo • White Plains

www.FreeLibros.com

Page 2: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 2/310

CONSULTORES EDITORIALES:

SEBASTIÁN DORMIDO BENCOMO Departamento de Informática y Automática UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA

LUIS JOYANES AGUILAR  Departamento de Lenguajes, Sistemas Informáticos e Ingeniería de Software UNIVERSIDAD PONTIFICIA DE SALAMANCA en Madrid 

www FreeLibros com

Page 3: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 3/310

DEAN KELLEYTeoría de autómatas y lenguajes formales

 No está permitida la reproducción total o parcial de esta obrani su tratamiento o transmisión por cualquier medio o método,

sin autorización escrita de la Editorial.

DERECHOS RESERVADOS © 1995 respecto a la primera edición en español por PEARSON EDUCACIÓN, S. A.C / Nú ñez de Balboa, 12028006 Madrid

ISBN 0-13-518705-2Depósito Legal: M-21607-2001Última reimpresión, 2001

Traducido de:AUTOMATA AND FORMAL LANGUAGES: AN 1NTRODUCTION

PRENTICE HALL© 1995ISBN: 0-13-497777-7

Editor de la edición en español: Juan Stumpf Diseño de cubierta: DIGRAFComposición: AULA DOCUMENTAL DE INVESTIGACIÓNImpreso por ENCO Artes Gráficas, S.L. ,

IMPRESO EN ESPAÑA - PRINTED IN SPAIN

Este libro está impreso con papel y tintas ecológicos

www.FreeLibros.com 

Page 4: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 4/310

 A m is P adres 

. y a l tío F ud d 

www.FreeLibros.com 

Page 5: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 5/310

Contenido

Prólogo .................................................................................... ............. x i

0. Prelimin ares m atem áticos ........................................................... 10.1 Lógica elemental................................................................................... 10.2 Definiciones bás icas ...................................................... :.................... 60.3 Operaciones con co njun tos.................................................................. 80.4 Relaciones y fun ciones........................................................................ 12

0.5 Inducción................................................................................................ 19

0.6 Cardinalidad........................................................................................... 22

1. Alfabe tos y leng ua jes.................................................................... 29

1.1 Alfabetos, palabras y leng ua jes.......................................................... 29

1.2 Operaciones con cadenas..................................................................... 321.3 Operaciones con lenguajes.................................................................. 34Problemas ....................................................................................................... 41

2. Lenguajes re gula re s...................................................................... 45

2.1 Lenguajes sobre alfabetos.................................................................... 45

2.2 Lenguajes regulares y expresiones regu lares.................................... 482.3 Autómata finito determinista.............................................................. 53/

www.FreeLibros.com 

Page 6: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 6/310

VIII TEORIA DE AUTÓMATAS Y LENGUAJES FORMALES

2.4 AFD y lenguajes................................................................................... 592.5 Autómata finito no determ inista......................................................... 61

2.6 Equivalencia de AFN y AFD ............................................................... 66

2.7 8-transiciones......................................................................................... 702.8 Autómatas finitos y expresiones regula res........................................ 75

2.9 Propiedades de los lenguajes regulares .......................................... . 842.10 Aplicaciones de las expresiones regulares y los autómatas

finitos..................................................................................................... 90Problemas ....................................................................................................... 93

3. L en g u a je s i n d ep en d ien t e s d el co n tex to ........................................ 1053.1 Gramáticas regula re s.......................................................................... 1053.2 Gramáticas regulares y lenguajes regula res .................................... 1103.3 Gramáticas independientes del co ntex to.......................................... 1143.4 Árboles de derivación o de análisis y am bigüedad ........................ 1173.5 Simplificación de gramáticas independientes del co ntexto .......... 1223.6 Propiedades de los lenguajes independientes del contexto ........... 1363.7 Autóm ata de pila.................................................................................. 1443.8 Autóm atas de pila y lenguajes independientes del contexto ......... 1513.9 Forma normal de Greibach................................................................. 162Problemas ....................................................................................................... 168

4. M áq u in as d e T u r in g ................................................................................. 1714.1 Definiciones básicas ........................................................................... 171

4.2 Máquinas de Turing como aceptadoras de lenguajes ..................... 1784.3 Construcción de máquinas de Turing ............................................... 1844.4 Modificaciones de las máquinas de Tur ing...................................... 1944.5 Máquinas de Turing universales........................................................ 205Problemas ........................................................................."....:...................... 207

5. M áq u in as d e T urin g y le n g u a je s ........................................................ 209$ 5.1 Lenguajes aceptados por máquinas de Turin g ................................ 209

5.2 Lenguajes regulares, independientes del contexto, recursivosy recursivamente enumerables............................................................ 210

5.3 Lenguajes recursivos y recursivamente enumerables .................... 2155.4 Gram áticas no restringidas y lenguajes recursivamente

enumerables.......................................................................................... 221

5.5 Lenguajes sensibles al contexto y la jerarquía de Chom sky.......... 228Problemas ....................................................................................................... 235

www.FreeLibros.com 

Page 7: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 7/310

6. Resolubilidad.................................................................................. 2416.1 El problem a de para da........................................................................ 2416.2 El problema de correspondencia de Po st.......................................... 245

6.3 Irresolubilidad y lenguajes independientes del co ntex to............... 258

Problemas ....................................................................................................... 263

7. Intro du cció n a la com plejida d co m p u ta cio n a l......................... 265

7.1 Complejidad espacial.......................................................................... 2657.2 Complejidad tem pora l........................................................................ 2727.3 Introducción a la teoría de la complejidad ....................................... 281Problemas ....................................................................................................... 288

CONTENIDO IX

Referenciasybibliografía

índiceanalítico .................

291

293

www.FreeLibros.com 

Page 8: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 8/310

Prólogo

Este libro es el resultado de las anotaciones tomadas en el curso de introducción

a la teoría de la computación, impartido en la universidad Gustavus Adolfus. Dicho curso abarca los temas de lenguajes formales y autómatas, máquinas de Turing y computabilidad a través de la resolubilidad. El curso va dirigido a estudiantes de segundo año de Ciencias de la Computación y hasta ahora este cursotenía como principal prerrequisito el haber seguido con anterioridad un curso so

 bre lectura y tratam iento de las demostraciones matemáticas.

El libro está dirigido a estudiantes con los conocimientos m atemáticos mínimos. El Capítulo 0 trata dé los preliminares matemáticos necesarios para poder abordar la lectura del libro én su totalidad.

El nivel de conocimientos matemáticos en los capítulos siguientes es inicialmente bajo, pero se eleva a medida que los temas lo requieren y la capacidaddel estudiante se incrementa. Trataré de evitar las demostraciones matemáticasrigurosas en la medida de lo posible, en especial en los primeros capítulos. Por tanto, se evitará dar muchos detalles de las demostraciones que sean tediosas.Por otro lado, trataré de presentar teoremas y definiciones de la forma más precisa posible. La mayoría de mis razonamientos tienen la intención de motivar masque la de ser matemáticamente completos o elegantes.

Creo, además, que los ejercicios contribuyen, en gran medida, al buen

aprendizaje del proceso. Al final de cada sección, los ejercicios planteados pretenden ilustrar, revisar y ampliar los conceptos vistos en las mismas. Hay ejercí-

www.FreeLibros.com 

Page 9: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 9/310

XII TEORIA DE AUTÓMATAS Y LENGUAJES FORMALES

cios desde bastante fáciles a muy difíciles. La mayoría de los ejercicios más fáciles pretenden reforzar las ideas vistas en la sección, mientras que los más difíciles ilustran y amplían dichas ideas.

Los Capítulos del 1 al 7 terminan con unas colecciones de problemas. Dichos problemas pretenden animar al lector a investigar sobre los temas tratados.Generalmente (aunque no siempre), el material tratado en las colecciones de problemas representan lo que yo considero necesario para estar interesado en realizar incursiones a través de la línea de desarrollo principal del texto.

El texto consta de ocho capítulos. A continuación se realiza una breve descripción de cada uno de ellos.

El Capítulo 0 cubre los preliminares matemáticos y lógicos. Consiste en unarápida revisión de la lógica y la teoría de conjuntos, siendo un capítulo bastante

completo. Además, en este capítulo se repasan todos los conocimientos matemáticos necesarios para entender el resto del texto.

En el Capítulo 1 se presentan las definiciones básicas y la notación usada para alfabetos, cadenas y lenguajes. Se definen y estudian las operaciones elementales sobre cadenas y lenguajes.

El Capítulo 2 trata de los lenguajes y las expresiones regulares. Se definenlos autómatas finitos y se establece la relación de los mismos con los lenguajesregulares. Se introduce el no determinismo. Además, se estudian las propiedadesfundamentales de los lenguajes regulares (lema del bombeo, algoritmos de deci

sión, etc.).El Capítulo 3 introduce los conceptos sobre gramáticas desarrollando, ade

más, las propiedades de las gramáticas independientes del contexto y los autómatas de pila. Se presentan varias simplificaciones y formas normales de gramáticas.

El Capítulo 4 es el primero de los cuatro capítulos cuyo tema central son lasmáquinas de Turing. Este capítulo contiene definiciones básicas, las distintasversiones de máquinas de Turing e introduce la idea de funciones Turing-com- putables y lenguajes reconocidos por las máquinas de Turing.

El Capítulo 5 estudia las relaciones entre las máquinas de Turing y los lenguajes formales. Además, establece la jerarquía de Chomsky.

En el Capítulo 6 se habla de la resolubilidad. Comienza con el problema de parada de las máquinas de Turing, después trata el problema de la irresolubili-dad del problema de la correspondencia de Post y presenta algunos problemasirresolubles para los lenguajes y gramáticas independientes del contexto. El ca

 pítulo termina con el estudio de las funciones computables totales.

El Capítulo 7 es una introducción a la complejidad computacional del reconocimiento del lenguaje. Se estudia en función de los recursos de espacio ytiempo (de la máquinas de Turing).

www.FreeLibros.com 

Page 10: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 10/310

PRÓLOGO XIII

Aunque la mayoría del material presentado se corresponde con el contenidousual de un curso de introducción a la teoría, la novedad de este texto quizás radique en el nivel con el cual se enfoca. He tratado de transmitir todos estos conceptos a estudiantes que no sean avezados matemáticos, de forma que puedancomprenderlos al mismo tiempo que desarrollan su capacidad matemática.

Entiendo que éste es el material suficiente para cubrir un curso de un semestre de cuatro días a la semana. Generalmente trato los Capítulos del 1 al 5 en sutotalidad, con la rapidez con que los estudiantes son capaces de asimilarlos. Estematerial es el corazón de cualquier curso de teoría de lenguajes formales y nome importa tomarme el tiempo necesario para que los estudiantes puedan digerirlo. Dependiendo de la audiencia, imparto algunas clases del Capítulo 0 o sim plemente asigno trabajos a cerca del mismo. La mayoría del material presente enel Capítulo 0, proviene de un curso corto (2 créditos) de demostraciones matemáticas que una vez se impartió en la universidad. Siempre trato de desarrollar el Capítulo 6 en su totalidad, aunque depende del tiempo que quede del semestre. Al principio me sorprendió que, cuando el tiempo apremia, la resolubilidad

 puede ser presentada bastante bien por medio de conferencias cortas.Me gustaría agradecer a mi amigo Ding-Zhu Du de la Universidad de Min

nesota, Minneapolis, por sugerirme el Problema 1.7, el cual trata de la desigualdad de McMillan. El desarrollo anterior al Lema 2.8.3, usado en el lema de Arden, fue sugerido por una de las primeras personas que revisaron este libro. Megustaría agradecerle, a él o a ella, por llamar mi atención sobre el mismo (debidoa Brzozowski). Me gustaría también expresar mi aprecio a mis amigos T. J. Mo-rrison y D. J. Malmanger por su estímulo y apoyo moral a lo largo de este proyecto aparentemente infinito. Finalmente, me gustaría dar las gracias a las siguientes personas por sus comentarios cuando revisaron el manuscrito: MoonJung Chung (Michigan State University), Ronald K. Friesen (Texas A&M Uni-versity), Micha Hofri (University of Houston), Robert Kline (West Chester University) y S. A. Kovatch (General Electric).

 Dean Kelley

www.FreeLibros.com 

Page 11: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 11/310

Teoría de autómatas 

lenguajes formales

www.FreeLibros.com 

Page 12: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 12/310

o

Preliminares matemáticos

0.1 LÓGICAELEMENTAL

Para el estudio de la teoría de la computación se necesitan tres herramientas matemáticas básicas. Una de ellas es la notación teórica establecida, otra el dominiode los conceptos de funciones y relaciones, y la tercera son unos buenos conocimientos de inducción matemática. La capacidad para usar la notación teóricaestablecida depende, fundamentalmente, del conocimiento de las definiciones

 básicas de símbolos y sus significados. Conocer las otras dos herramientas de pende de la capacidad para entender razonamientos lógicos. Por tanto, comenzaremos con una presentación -de las ideas fundamentales de la lógica para pasar aestablecer los mecanismos matemáticos requeridos.

En lógica, una proposición o  sentencia es una frase de la cual se puede determ inar si es verdadera o falsa. Las frases “2 + 1 es 5”, “3 > V8~” y “ 17 es unnúmero primo” son proposiciones, mientras que “ven a nuestra fiesta”, “¿quéhora es?” y “esta proposición es falsa” no lo son. Si  P y Q son proposiciones, sedice que  P  es equivalente a Q si para todos los casos tienen el mismo valor deverdad. Por eso las frases “3 < 5” y “ íc es irracional” son equivalentes, como loson las frases “ Vfe es un entero” y “4 < 3”, puesto que sus valores de verdad sonlos mismos.

Si  P  es una proposición, su negación se denota por —i P. Si  P es verdadera,

-i  P es falsa, y si  P es falsa, -> P es verdadera.  —<P se lee “no  P”. Por ejemplo, si P es la proposición “3 < 5”, —>P es “3 > 5”. Dado que el valor de verdad d e —>P 

www.FreeLibros.com 

Page 13: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 13/310

2 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

depende del valor de verdad de P, podemos usar una tabla, llamada tabla de ver-dad, para indicar la dependencia:

 p - i  P 

V F

F V

La tabla de verdad presenta los valores de verdad de —i P  correspondientes a losvalores de verdad de  P.

La conjunción de las proposiciones  P  y Q se denota por  P  a   Q y se lee

“P y <2 ”• La proposición com puesta  P  a  

Q es verdadera sólo cuando  P  y Q seanverdaderas simultáneamente. Por eso podemos obtener la tabla de verdad siguiente:

 P  Q  P  a Q

V V V

V F F

F V F

F F F

Es importante hacer notar que para una proposición compuesta la tabla deverdad debe considerar todas las posibles combinaciones de los valores de verdad correspondientes a los componentes de la misma.

Considérense las conjunciones siguientes

1. 3 < V !7 y 25 = 52.

2. 3 < V77 y 26 = 52.

3. 3 > VÍ7 y 25 = 52.

4. 3 > VT7y 26 = 52.

De estas cuatro proposiciones compuestas, sólo la primera es verdadera. Entodas las demás, al menos uno de los componentes es falso, lo que hace que laconjunción sea falsa.

La disyunción de las proposiciones  P y Q se denota por  P v Q. Es verdadera

cuando al menos una de las dos es verdadera. Otra forma de decir esto es que P v Q e s falsa solamente cuando  P y Q son falsas a la vez.  P v Q s e lee “P o Q”.

www.FreeLibros.com 

Page 14: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 14/310

PRELIMINARES MATEMÁTICOS 3

La proposición  P —> Q se llama proposición condicional y tiene la siguientetabla de verdad

 p Q  P ^ Q

V V V

V F F

F V V

F F V

La condicional se lee “si  P entonces Q”. Para entender los valores de verdadde  P —>Q, considérese la proposición “Si el sol brilla, entonces Carlos juega al béisbol” . Para determinar cuando es verdadera esta proposición, nos preguntamos si la persona que la ha hecho está diciendo la verdad. Tenemos cuatro casosque corresponden a las cuatro líneas de la tabla de verdad precedente.

En el primer caso (el sol brilla y Carlos juega al béisbol), se ha dicho la verdad. En el segundo caso (el sol brilla y Carlos no juega al béisbol), no se ha dicho la verdad. En los dos últimos casos (el sol no brilla y Carlos juega al béis

 bol; el sol no brilla y Carlos no juega al béisbol), no deberíamos decir que la persona que hizo la proposición es un mentiroso puesto que el sol no brilla y él,o ella, sólo dijeron lo que ocurriría si el sol brillara.

En la condicional  P —>Q, la proposición  P  se llama hipótesis, condición oantecedente, mientras que Q se llama conclusión o consecuente.

La recíproca de la condicional  P   —>Q es la proposición Q —» P.

La contrapuesta de  P —>Q es (—' Q) —>(—' P). Advierta que  P —» Q y sucontraposición son equivalentes puesto que tienen los mismos valores de verdad

 para todos los casos, como muestra la siguiente tabla de verdad:

 p Q  P ^ Q ~ 'Q -I  p

V V V F F V

V F F V F F

F V V F V V

F F V V V V

Consideremos la proposición  P —>Q a   Q —» P. Es fácil ver que la proposición es. verdadera sólo cuando  P  y Q tienen los mismos valores de verdad. Esta

www.FreeLibros.com 

Page 15: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 15/310

4 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

 proposición en forma abreviada es  P Q, la cual se lee “P  si y sólo si Q". Sellama proposición bicondicional.

Las proposiciones —■(P  a   Q) y ( - 1 P) v ( - 1  Q) son equivalentes (ésta es una

de las leyes de De Morgan; véase Ejercicio 0.1.2). Considérese la proposición

- . ( / » A f i ) < - > ( - . P ) v ( - . Q)

A causa de la equivalencia de proposiciones, obtenemos que ambos ladosde la bicondicional tienen el mismo valor de verdad en todos los casos. Por tantola bicondicional es verdad en todos los casos. Esto sugiere el siguiente teorema:

Te orem a 0.1.1. Sea P  y Q proposiciones para las cuales  P o Q es siempre verdadera.Entonces  P  y Q son equivalentes. Por otro lado, si  P  y Q son equivalentes, entonces la bicondicional  P <-> Q es siempre verdadera.

Un proposición es una tautología si es siempre verdadera. Fíjese que si  P y Q son equivalentes entonces, según el teorema previo,  P Q t s una tautología.Por tanto, la equivalencia puede ser definida como:  P y Q son equivalentes si

 P Q es una tautología.

Cuando la proposición condicional  P —>Q es una tautología, se escribe

 P => Q. De forma similar podemos escribir  P <=í>Q si la bicondicional  P Q esuna tautología. Fíjese, que substancialmente, esto no significa más que la condicional (o bicondicional) es una proposición verdadera. La verdad de  P   —>Q depende de los valores de verdad de  P y Q. Por otro lado, —■{A  a   B) —»(—i A) v ( - 1 B) es una proposición verdadera sea cuales sean los valores deverdad de sus componentes  A y B. Esto puede ser representado por -i (A a  £ )= > (- . A) v(-<  B).

Una contradicción es una proposición que siempre es falsa. Por tanto, la negación de una tautología es una contradicción.

Una frase abierta o funció n proposicional es una proposición que contieneuna variable. Por ejemplo, la frase “ x2 + 2x+ 16 = 0” contiene la variable  x, aligual que la frase “jc fue el primer presidente de los Estados Unidos”. La colección de objetos que pueden ser sustituidos por una variable en una frase abiertase llama conjunto de significados de esa variable. Llamaremos conjunto de ver-dad de la frase abierta, al conjunto de objetos pertenecientes al conjunto de significados para los cuales la frase abierta se convierte en una proposición verdadera al sustituir la variable por ellos. Si se considera que el conjunto de significados para la frase abierta  x2 + 2x + 16 = 0 es el de los números reales, entonces

el conjunto de verdad es vacío. Si el conjunto de significados incluye además. —1 ± i VTT entonces el conjunto de verdad tiene algún elemento.

www.FreeLibros.com 

Page 16: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 16/310

PRELIMINARES MATEMÁTICOS 5

Si  P  es una frase abierta que contiene la variable x, se escribe  P (x). Generalmente, cuando se muestra una frase abierta, el conjunto de significados para

la(s) variable(s) que contiene es explícitamente declarado o se deduce fácilmente del contexto. Ciertos operadores indican la forma de seleccionar elementosdel conjunto de significados. Esos operadores son los cuantificadores universaly existencial.

Una frase de la forma “para todo x del conjunto de significados  P (x) es verdadera” se dice que es una frase universalmente cuantificada. Esto indica que elconjunto de verdad de  P (x) esta compuesto por todos los objetos pertenecientesal conjunto de significados de  x. Esto, en forma abreviada, se escribe Vx P  (x),lo cual se lee “para todo x, P (x)”. Fíjese que Vx P (x) ya no es una frase abierta,

 puesto que su verdad o falsedad puede ser determinada. Por ejemplo, si  P (x) esla frase abierta “x + 1> x” y el conjunto de significados es la colección de todoslos números reales, entonces Vx P (x) es una proposición verdadera.

Una frase de la forma “existe un x en el conjunto de significados para elcual  P (x) es verdadera” se dice que está cuantificada existencialmente. Esto indica que algún elemento del conjunto de significados es un valor que, al sustituir a x, hace que  P (x) sea verdadera. Lo cual quiere decir que algún elemento delconjunto de significados está también en el conjunto de verdad de  P (x). Esto enforma abreviada, se escribe 3 x  P (x) y se lee “existe un x tal que  P  (x)”, o “para

algún x, P (x)”. Tenga en cuenta que 3 x P (x) ya no es una frase abierta.

Teo rem a 0.1.2. —>(Vx P (x)) es equivalente a 3 x -> P (x).

 Dem ostración. Supongamos que - i V x P (x) es verdadera. Entonces Vx P (x) es falsa, y por tanto, el conjunto de verdad de  P (x) no es todo el conjunto de significadosde x. Entonces, el conjunto de verdad de —< P (x) contiene algún elemento. Por tanto la proposición 3 x —■ P (x) es verdadera.

Ahora supongamos que —>Vx P (x) es falsa. Entonces Vx P  (x) es verdadera,así que el conjunto de verdad de  P (x) es todo el conjunto de significados de x.Por lo tanto, el conjunto de verdad de -i  P (x) es vacío, lo que implica que3 x —i P  (x) es falsa.

Con esto hemos demostrado que las dos proposiciones tienen exactamentelos mismos valores de verdad y, por tanto, son equivalentes. □

Si  P  (x) es una frase abierta, entonces un contraejemplo para Vx P  (x) es unelemento, t, del conjunto de significados de forma que  P (t ) sea falsa. Se puededemostrar una proposición de la forma “Si para cada x  P  (x), entonces Q (x)” probando que Vx (P (x) —» Q (x)) es verdadera. Esto puede ser refutado si se proporciona un contraejemplo. Por ejemplo, la proposición “si n es primo enton-

www.FreeLibros.com 

Page 17: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 17/310

6 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

ces 2” - 1 es primo” podría ser refutada si se encuentra un contraejemplo talcomo «= 1 1.

EjerciciosdelaSección0.1

0.1.1. Obtener la tabla de verdad para P v Q .

0.1.2. Probar que -i (P a Q) es equivalente a (—> P) v (-> Q). Probar que —>(Pv Q) esequivalente a (—> P) a (—i Q). Estas dos equivalencias se conocen como las leyes de De Morgan.

0.1.3. Probar que P a (Q v   R) es equivalente a (P a Q) v   (P a  R) y que P  v (Q a  R) esequivalente a (P v 0 a (P v  P).

0.1.4. Probar que P y —>(—■ P) son equivalentes.0.1.5. Simplificar ' (( ■ P) v ( i 0 ) .

0.1.6. Simplificar -> ((-> Q) a (—>P)).

0.1.7. ¿Son equivalentes P —>Q y Q —>P?

0.1.8. ¿Cuáles de las siguientes proposiciones son tautologías?

(a) P o - . ( - .P ) , (e) P a  —i P.

0.1.9. Probar que las siguientes proposiciones son contradicciones:

(a) (P - ) 0 a ( P a i 0 .

(b) ((P v 0 a -i P) a (—>0 .

(c) (P a 0 A ( i P).

0.1.10. Mostrar que —>3 x P (x) es equivalente a Vx -> P (x).

DEFINICIONESBÁSICAS

Ahora veremos las nociones básicas sobre teoría de conjuntos.Un conjunto es una colección de objetos llamados elementos del conjunto.

Si A es un conjunto y a es un elemento de  A, se usa la notación a e  A (se lee “a es un elemento de A ”). Se usa la notación b <£ A cuando es necesario indicar queb no es un elemento de A.

Si sabemos que A contiene exactamente los elementos a\, <22 , a,„ lo indicamos escribiendo  A = {0 1 , <22 , . . . , an}. Por ejemplo, el conjunto de los números

naturales menores que 6 puede ser escrito  A = {0, 1, 2, 3,4, 5}. Esta notación

(b) — 1 (P v 0 <-» — 1 P a — 1 Q.

(c) P v —1 P.

(d) (P v —1 P) a ((2 v -< 0 .

(f) ( P a - P ) ^ Q .

( g ) ( P < - > 0 - * ( P - » 0 .

(h) ( P 0 -1 P v g.

www.FreeLibros.com 

Page 18: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 18/310

PRELIMINARES MATEMÁTICOS 7

 puede ser extendida a los conjuntos para los cuales no es posible listar todos suselementos, tales como N = {0, 1, 2, ...} o N + = {1 ,2, 3, . . . }. Un conjunto sólose caracteriza por sus elementos y no por el orden en el cual se listan. Por eso{1, 2, 3} y {2, 1,3} denotan el mismo conjunto.

Los conjuntos  A y  B son iguales si contienen exactamente los mismos elementos. Por tanto, si  A = {1, 2, 3} y  B = {2, 1, 3}, se puede escribir que A =  B. Fíjese que {a} y a no son lo mismo. Tenemos que a e  A, pero a & {a}. Tambiénel conjunto {{a, b ) } tiene un único elemento que es el conjunto {a, b). Por otrolado, [ a , b } tiene dos elementos, a y b. Por consiguiente, {{a, b}} ¿ {a, b}.

Si  A y  B son conjuntos y todos los elementos de  A son también elementosde  B, se escribe A c B y se dice que A es un  subconjunto de  B. Por ejemplo, si

 A = {1, 2, 3} y  B = {0, 1, 2, 3 ,4 , 5}, se tiene A c 8 . Por otro lado,  B no es unsubconjunto de A, porque los elementos 0 ,4 y 5 de B no lo son de A.

Obsérvese que  s i A Q B y B ^ A simultáneamente, entonces todos los elementos de  A están en  B y todos los elementos de  B están en  A. Por lo tanto, si

 A c  B y B c  A, tenemos que A = B.

T eo rem a 0.2.1. S i A c B y B c C , entonces A c C .

 Dem ostración. Sea x e A. Entonces, si  A c  B se obtiene que x e /?. Además, puestoque  B c C y x e  B, tenemos que x e C. Por tanto, dado que  x era un elemento

arbitrario de A, resulta que A c C . □

Para completar las definiciones, es conveniente considerar un conjunto es pecial 0, llamado conjunto vacío o nulo, el cual no tiene elementos. El conjuntovacío es un subconjunto de todos los conjuntos; por lo cual se puede escribir 0 c A , para todo conjunto A.

Algunas veces es conveniente describir el contenido de un conjunto en términos de una propiedad que sea característica de todos los elementos del con

 junto. Sea  P  (x) una proposición sobre x. La notación {x| P (x)}, que se inte rpr e

ta como “el conjunto de todos los  x tales que  P  (x)”, denota el conjunto de todoslos  x para los cuales  P  (x) es una proposición verdadera. Por ejemplo,Z + = { x | x e N y x > 0 } describe el conjunto de los enteros positivos.

 A = {x| x e N y x < 5} es el conjunto {(), 1, 2, 3,4}.

Supongamos que A es un conjunto. Definimos conjunto potencia de A como2 a = {S| B c A ¡ . Por ejemplo, sea A {a, b,c}. Entonces 2A es el conjunto

{0, {a}, {b}, {c}, {a,b}, {a,c} , {b,c }, {a, b,c}}

Obsérvese que 0 e 2 a y A e 2 aSupongamos que / es un conjunto. Si para todo a e l  tenemos que Aa es un

conjunto, entonces {Aa | a e /} se llama  fa milia indexada de conjuntos. Por 

www.FreeLibros.com 

Page 19: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 19/310

8 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

ejemplo, si para todo n > 0,  An = [-1 /n , l /n] , entonces {An\n e Z +} es la familia de los intervalos cerrados desde l / n a l / n para n = 1,2,3 ...

0.3 OPERACIONESCONCONJUNTOS

En aritmética se puede sumar, restar o multiplicar dos números. En la teoría deconjuntos existen tres operaciones que son análogas a las anteriores. La unión deconjuntos  A y B se denota por  A u  B y es un conjunto formado por los elementos que aparecen en A, en  B o en ambos. Por tanto A  kj B= {x | x e  A o x e B}.

La intersección de  A y B es el conjunto  A n B = {x\x e A y x e B} . Obsérvese que si x g  A n B entonces se puede decir que x aparece simultáneamente en

 A y B.Por ejemplo, si  A = {0, 1, 2, 3, 4, 5}  y B {2, 3, 5, 9} entonces  A u  B = {0,

1 ,2 ,3 ,4 , 5, 9} y A n f i = { 2 , 3 , 5 } .

Obsérvese que Z + u {0} = N , mientras que N n Z + = Z +.

Se dice que los conjuntos A y B son disjuntos si A n i 5 = 0.

Teorem a 0.3.1. Dados los conjuntos A y B, se tiene lo siguiente:

1. 0 u A = A .2. 0 n A = 0.

3. Si A c S , entonces A o  B = A.

4. Si A c  B, entonces A u  B = B.

5. A n A = A = A u A .

6. (a)  A u  B = B  kj A.

(b)  A n B = B n A .

7. (a) A u ( f i u C ) = ( A u S ) u C .

(b)  A n ( B n C ) = ( A n B ) n C .

8. (a) A n ( f i u C ) = ( A n B ) u ( A n C).

(b) A u ( B n C ) = ( A u B ) n ( A u C ) .

 Dem ostración. Dejaremos la demostración de la mayoría de las propiedades para que

sea realizada por el lector.

www.FreeLibros.com 

Page 20: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 20/310

PRELIMINARES MATEMÁTICOS 9

7. (a) Un elemento x satisface

A u ( 5 u Q « x e A o  x e ( B u C)« x e A o ( x e B o x e C )

« ( j t e A o  x e B) o  x e C  

O x g ( A u B ) o x e C   

<=> x e ( A u 5) u C

Por tanto tenemos que A u ( B u Q c ( A u B ) u C y también( A u f i ) u C c A u ( B u C ) con lo que ambos conjuntos son igua

les.8. (b) Un elemento x satisface

x e A u ( # n C ) < = > x G A o  x e (B n C )

<=> x g A o ( x e B y x e C )

<¿>(xe A o x e B) y ( x e A o  x e Q  

<=>x g (A u B) y x e ( A u Q

<=> x g ( A u B ) n ( A u Q

con lo que tenemos que cada uno de estos conjuntos A u (B n Q y  (A u  B) n (A u Q es un subconjunto del otro. Por tanto los dosconjuntos son iguales. □

Si A y B son dos conjuntos cualesquiera, el complemento de  B con respectoa A (también llamado complemento relativo) es el conjunto

 A B = {x\x e A y x g  B }

Por lo tanto,  A -  B esta compuesto por todos los elementos de  A que no están también en  B. Por ejemplo, si A = {0, 2,4, 6, 8, 10} y  B {0, 1, 2, 3,4}, entonces A -  B = {6, 8, 10}, mientras que B -  A = {1, 3}.

Es conveniente pensar que todos los conjuntos aquí tratados se consideransubconjuntos de un conjunto universal U. Los complementos pueden ser formados con respecto a este conjunto universal. Si A es un conjunto, entonces U -  A 

es el conjunto de todos los elementos que no están en  A. Conviene denotar talescomplementos mediante A; de forma que U A = A . Obsérvese que 0 = U yV=0.

www.FreeLibros.com 

Page 21: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 21/310

1 0 TEORIA DE AUTÓMATAS Y LENGUAJES FORMALES

Te orem a 0.3.2. Dados los conjuntos A y B:

1.  A B = A n B .

2. ( A n B ) = A u B.

3. ( A u B ) = A n B .

4.  Á = A.

 Dem ostración . Vamos a probar los Apartados 1 y 3 y dejaremos el resto para el lector.

Un elemento x satisface

 x e A B x e A y x £  B  

<=>x e A y x e B <=>xe A n B

Por lo tanto, tenemos que A B c : A n B y A n B c : A B , a s í  que tenemosque A -  B = A n  B con lo que (1) queda probado.

Para el Apartado 3, un elemento satisface

 x e A u  B <=> x i. A u  B

<=>x <£ A y x <£. B < = > x e A y x e B  

<=>x e A n B

Por lo tanto, tenemos que A u f i c A n B y A n B c A u B , con lo que losdos conjuntos son iguales. □

Téngase en cuenta que los apartados (2) y (3) del Teorema 0.3.2 se conocencomo las leyes de De Morgan para conjuntos.

Dados dos conjuntos A y B, su producto cartesiano , A x  B, es el conjunto detodos los pares ordenados de los que el primer elemento proviene de  A y el segundo de  B. Así que,

 A x  B= {(a, b) \a e A y b e B]

Por ejemplo, si A {1, 2, 3} y  B {5, 6} entonces

 A x B = {(1, 5), (2, 5), (3, 5), (1, 6), (2, 6), (3, 6)}

www.FreeLibros.com 

Page 22: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 22/310

PRELIMINARES MATEMÁTICOS 11

Obsérvese que dos pares ordenados son iguales si y sólo si los elementoscorrespondientes de los mismos son iguales. Por lo tanto (a, b) = (c, d) sólocuando a = c y b = d. Luego un par ordenado es distinto que un conjunto de dos

elementos.

EjerciciosdelaSección0.3

0.3.1. Probar las siguientes afirmaciones:

(a) Si A c  B, entonces 2 a c 2b.

(b) S i / l n 5 = (4 u 8 , entonces A = B.

(c) Si A = B entonces A r \ B = A u B.

0.3.2. Si  A c  B, entonces para todo conjunto C, se obtiene que A u C c B n C yA n C c f i n C . Probarlo.

0.3.3. Si A c C y B c  D ¿se cumple que C u D c / l u S ?

0.3.4. Probar o refutar las siguientes afirmaciones:

(a) Si A u  B A u C, entonces B C.

(b) S i A n / í = A n C , entonces B = C.

0.3.5. Sea {Z?a |a e /} una familia indexadadeconjuntos.Seusará lanotaciónu a s i Ba  para indicar la unión de todoslos Ba y n a6¡Ba  paraindicar la intersección de todos los  Ba. Probar que para todo conjunto  A se cumplen las siguientes igualdades:

(a)  A Oe / Bq ) —Wfx e I  r~'1 Ba)

(b)  A u (oa e / Ba) — r \( s i (A kj Ba).

0.3.6. Demostrar las siguientes igualdades:

(a)  A B = A ( B n A ) .

(b)  B c A si y sólo si A n  B = 0.(c) (r>ae iBa) A = n ae i (Bn A) .

(d) ( A B ) C = ( A C ) ( B C ) = A ( B u C ) .

(e)  A r \ B = 0 y A n B = 0 s \ y sólo si A = B„

0.3.7. ¿Son ciertos los siguientes resultados?

' (a) 2An 2 B = 2AnB.

(b) 2/'u 2 i = 2 AuB.

0.3.8. Los pares ordenados (x, y) se definen formalmente por medio de la siguienteigualdad (x,y) = {{a-}, {.v, y}¡. Usando la definición anterior, mostrar que(a, b) = (c, d) si y sólo si a = c y b = d.

www.FreeLibros.com 

Page 23: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 23/310

1 2 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

0.3.9. Dados los conjuntos A , ByC , probar que:

(a) A x ( g n Q = ( A x B ) n ( / l x q .

(b)  A  x  (B kj Q = (A x  B ) u  (A x  Q.

(c)  A x ( B Q = ( A x B ) ( A x C ) .

RELACIONESYFUNCIONES

Una relación del conjunto  A con el conjunto  B es un subconjunto de  A x B. Por tanto, si  R c  A x B y (a, tí) e R, se dice que a está relacionado con b bajo la relación  R. Por ejemplo, si  A = {2, 3 ,4 , 5} y  B = {1, 3, 5, 7, 9}, entonces

 R = {(2, 1), (2, 3), (5, 3), (5, 5)} es una relación, y 2 está relacionado con 1 bajo

esta relación.Si  A y B son el mismo conjunto, se dice que la relación es una relación so-bre A. Por ejemplo, sea í c N x N defin ida por  (x, y) e R si y sólo si x < y. R esla relación “menor o igual que” sobre N.

La relación  R c A x B define dos subconjuntos, uno de  A y otro de  B. Estosson

Dom (R) = {a | a e  A y (a, x) e  R para algún x e B)

Im (R)= {b | b e B y (y, b) e R para algún y e A)

y se conocen como el dominio y la imagen de R, respectivamente.Por ejemplo, si A = {<7. b. c, d , e} y B = {1, 2, 3,4, 5} con  R= {(a, 1), (a , 2),

(b, 5), (c, 4)}, entonces se tiene que

Dom (R) = {a, b, c} e Im (/?) = {1, 2,4, 5}

Si  R c z A x B es una relación de  A con  B, entonces el conjunto7T1= {(b , a)\(a, b) e /?} es un subconjunto de  B x A. Por consiguiente, ella misma es una relación de  B con  A. Llamaremos a R~] inversa de la relación R.

Sea  A un conjunto no vacío. Una colección Jl de subconjuntos no vacíos de A es una par tición de A si se cumple lo siguiente:

1. Si  B y C son conjuntos en ¡A. , entonces o bien B = C o B n C = 0.

2.  A =  B.

Intuitivamente, una partición de  A divide a A en partes no vacías disjuntas.Por ejemplo, sea A = {x| x e N y x < 10} y sea

*={{0,2 ,4} ,{1 ,3 ,5} ,{6 , 8 , 10},{7 ,9}}

www.FreeLibros.com 

Page 24: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 24/310

PRELIMINARES MATEMÁTICOS 1 3

una partición de A. Por otro lado,

®={{0, 2, 4, 6}, {1,2, 3, 5, 7}, {9, 10}, 0}

no es una partición.

Veamos otro ejemplo interesante. Sea Q el conjunto de los números racionales. Para cada r e ü , sea

Por tanto £>3/ 8 contiene a (3, 8), (6, 16), (9, 24) y así sucesivamente. Obsér

vese que la colección  F = {Qr\ r e Q} es una partición de N x Z +. Para verlo, primero obsérvese que si Qr y Qs son elementos de  F  y si (x, y) e Q, n Qs>entonces  s = x /y = r con lo que  s = r y por tanto Qr = Qs. Puesto que 2 r c N x Z +

 para todo r, tenemos que U r s ü & ' £ N x Z +. Por otro lado, si(x, y) e N x Z +, entonces x /y e Q , y, por tanto, (x, y) e Qr, siendo r —x/y . Así(jc, y) e s q    Qr. De todo ello se concluye que e q    Qr = N x Z +.

Vamos a ver un nuevo ejemplo de una partición de un conjunto que es lacolección {Zo, Z ¡, ..., Z m- 1 }, donde m es un entero positivo fijado y Z/ se define como

Por ejemplo, si m = 3, tenemos Zo = {0, ±3, ±6, ± 9 ,. . .}, Z i = { .. . ,- 5 ,-2 ,

Supongamos que SI es una partición del conjunto  X. Definamos una relaciónsobre X mediante

Por ejemplo, si  X= {0, 1,2} y  Jl = {{0}, {1,2}}, entonces  R sería el con junto  R = {(0, 0), (1, 1), (2, 2), (1,2), (2, 1)}.

Una relación definida'de esta manera tiene algunas propiedades interesantes. Primero obsérvese que, si a e X y puesto que A es una partición de X, existealgún A e JZ para el cual a e A . Por tanto (a, á) e R.

Segundo, si (a, b) e R ello significa que a y b están en el mismo conjuntode  A , con lo que también b y a están en el mismo conjunto de  A . Entonces

(,b, a) e R.Finalmente si (a, b) e R y (b, c) e R entonces a, b y c están en el mismo

conjunto de A . En consecuencia tenemos que (a, c) e  R.

Z; = {x\x e Z y  x i = km para algún entero k }

1,4, 7, ...} y Z2= {..., -4, -1, 2, 5, 8,...}.

 R = {(x, y) |x e y están en el mismo conjunto de A }

www.FreeLibros.com

Page 25: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 25/310

1 4 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

En resumen, para la relación

 R = {(x, y) | x e y están en el mismo conjunto de A]  

tendremos lo siguiente:

1. (a, a) e R para todo a e X  (propiedad reflexiva).

2. Si (a, b) e R, entonces (b, a) e R (propiedad simétrica).

3. Si (a, b) y (b, c) estlán en  R, entonces (a, c) e R (propiedad transitiva).

Toda relación que tenga estas tres propiedades se dice que es una relación de equivalencia.

Supongamos que  R es una relación de equivalencia sobre el conjunto  X. Para cada x e X, se define el conjunto [x] = [y e X \ (x, y) e  R } . El conjunto [a]se llama clase de equivalencia de x.

Te orem a 0.4.1. Las clases de equivalencia de una relación de equivalencia  R sobre unconjunto  X  forman una partición de  X.

 Demostración. Para probar este teorema se necesita demostrar que las clases de equivalencia son disjuntas entre sí y que 'su unión es  X. Primero veremos que son

disjuntas entre sí.Supongamos que  z e [x] n [y]. Entonces (x, z) e R y (z, y) e R. Dado que  R 

es transitiva, entonces (x, y) e  R. Por lo tanto, x e [>'] e y e [x], y en consecuencia (x, y) e R e (y, x) e  R. Ahora bien, si 16 [x], entonces (t , x) e R y, debido ala transid vidad de  R, (t, y) e  R. Por lo tanto t e [y], con lo que se obtiene[x] c [y]. A la inversa, si t e [y] entonces (t , y) e R, y (/, x) e  R, de lo que se deriva que t e [x] e [y] e [x]. De todo lo visto se sigue que si [x] n [y] * 0, en tonces [x] = [y].

Ahora bien, puesto que/f es una relación de equivalencia sobre  X, todo

 x e X  debe satisfacer (x,x) e  R, con lo que x e [x]. Esto significa que todo elemento de  X  está contenido en una clase de equivalencia, con su mismo nom bre. □

De lo visto anteriormente se deduce el siguiente teorema:

Teorem a 0.4.2. Cualquier partición A de un conjunto no vacío  X define una relación deequivalencia sobre X.

Por lo tanto existe una relación muy estrecha entre las relaciones de equiva

lencia y las particiones.

www.FreeLibros.com 

Page 26: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 26/310

PRELIMINARES MATEMÁTICOS 15

Una fu nción de ,4 a  B es una relación de A con  B con unas característicasadicionales. El conjv ' ' f e  A x  B una función si Dom ( f ) = A y si para cualquier pareja (x, y) y (x, r.) que pertenezcan a / entonces y = z Esto significa que \

 para todo elemento x ■' - Aexiste ' ’inico  y tal que (x, y) e /. Generalmente seescribe / :  A —» B y se usa la notación f ( x ) = y, donde (x, y) e /. De hecho, estanotación puede ser c.v, elida a ; : . jnes en general, como se ha hecho con la/?-imagen del Ejercicio n,4.3.

Teorem a 0.4.3. Sean las fu nc ion es /:  A —> B y  g: A —> B. Entonces f = g  si y sólo si/ (x) = g  (x) para t o d o A .

 Demostración. Supongamos que/ = g. Sea .v un elemento de A. Entonces si y = /(x) , setiene que (x, y) e  f y por tanto (x, y) e  g. En consecuencia, y = g  (x).

A la inversa, supongamos que f ( x ) g  (x) para todo x de A y supongamosque (x,y) es un elémtmo arbitrano de/. Entonces  y = / ( x ) = g (x) con lo que(x, y) e  g, obteniéndose que/ c  g. Por otro lado, si (x, y) es un elemento arbitrario de  g, tenemos que v —  g  (x) =/(x¡ y por tanto (x, y) 6 /, obteniéndose  g c / .Se concluye finalmente que,/=  g.

Para que / c A x 1'  ea una fcr.dón, se requiere que Dom (/) =A. Esto esmás restrictivo que lo de eable p e; ios objetivos de este libro. Definiremos/ífn-ción total como la e!;r de función ue hemos definido previamente. Definiremos función parcial  o una ó n / q u e satisface las condiciones de queDom ( /) c A , y que m v. y) y ( x . . pertenecen a / , entonces y Z La única diferencia que aparece aLu e es que ce ;a función parcial de A a i? el dominio de lafunción no necesita ser el conjuntoen su totalidad. Usaremos el término función, sin modificar, \ e.¡ referiré cualquier función parcialo total que cualificaremos sólo cuarta a nece-

Sea una función / : A —> B. Si A e A, diremos que la imagen de X ba jo f es

/(.Y) - {v e i : ; / (x) para algún x e X)

Si F e 5, la imagen : • *a de Y fe s el conjunto

 f '  (V) = jx e  A ; (x) = y para algún y e Y]

Teorem a 0.4.4. Sea/ : A —> B una función

1. / (0) = 0.2- /({*}) = { f (x)}para todo e s A.

3. S i X e F c itonce c / ( F ) .

www FreeLibros com

Page 27: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 27/310

1 6 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

4. S i l c 7 c 5 , entonces / 1 (X) c / 1(Y).

5. Si X  e Y son subconjuntos de B, entonces f ~ l ( X Y ) = f \ ( X ) ~ f { (Y).

 Dem ostración. La demostración se obtiene fácilmente a partir de las definiciones precedentes, por lo que se deja la misma para el lector. □

Una función/ : A —>B se dice que es uno a uno o inyectiva si, para cualesquiera (x, y) e / y (z, y) e /, entonces  x z . Esto quiere decir que si f ( x ) f ( z )  entonces  x = z.

Una función/se dice que es  sobreyectiva si, para cualquier  y e B, existe algún x e A para el c u a l/ (x) = y.

La funció n/: N -» N definida  por f ( n ) = n es a la vez inyectiva y sobreyectiva. La función  g: N —» N , donde  g (rí) = n + 1, es inyectiva pero no sobreyectiva, ya que no existe ningún x e   N, tal que x + 1 = 0. La función h:  R  —>R,donde h (x) = x2, no es ni inyectiva, ni sobreyectiva. S i/ e s inyectiva y sobreyectiva a la vez, se llama biyección o correspondencia uno a uno. Obsérvese que si/ :  A —> B es sobreyectiva entonces/-1 ({¿>}) ^ 0 para todo b e B . S ' i f e s una biyección, entonces, para todo b e B, f ~ ] ({£}) es un conjunto con un único elemento. Por tanto cu an do /es una biy ecc ión ,/-1 \ B —>Ae s una función.

Las funciones y las relaciones se pueden asociar de una manera adecuada.

Sean las relaciones  R ^ A x B y S c i B x C . Definimos la composición de  R y 5como

S ° R = {(a, c) e A x C \ para algún b e  B, (a, b) e R y (¿>, c) e 5}

Por tanto si  R { { 0, 1), (0, 2), (1, 1)} y S {(1, a), (2, fr)}, tendremos queS ° R = {(0, «), (0, b), (1, a)}. Por otro lado,  R ° 5 = 0, puesto que no hay símbolos que aparezcan simultáneamente como primer componente de un elemento de

 R y como segundo componente de un elemento de S. Por tanto, en general, R ° S  

 y S 0 R no son la misma.La composición de funciones se realiza de la misma forma:

 g ° f = { (a, b) | para algún y, /(«) = y y b =g (y)}

Por ejemplo, sea/ : R -> R definida com o/(x ) = x + 1 y g: R  —>R definidacomo g  (X) = x2. Entonces tenemos que

 y

8 ° / W = 8 ( / (*)) = 8 (x + 1) = (x + l)2

 f ° 8 (*) =f (8 (x)) = f ( x 2) = x2 + 1

www.FreeLibros.com 

Page 28: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 28/310

PRELIMINARES MATEMÁTICOS 1 7

EjerciciosdelaSección0.4

0.4.1. Sean A y B los conjuntos A = (2,3,4,5} y B= {1, 3, 5, 7, 9}. Sea R la relación

 R = {(•*,)') e  A x B\x<y]

Listar los pares ordenados de R.

0.4.2. Demostrar las siguientes igualdades:

(a) Dom (R~l) = Im (R).

(b) Im (JT1) = Dom (R).

0.4.3. Sea  R q A  x  B una relación de A con  B. Sea X c  A. Definimos  Rimagen de X  como

 R (X) = {>’ 6  B\ ( x , y) e  R para algún x e X]

Obsérvese que la /?-imagen de  X  es la imagen de la relación  R restringida alsubconjunto X x B de A x B. Sean D y E subconjuntos de A. Probar las siguientes igualdades:

(a) ü ( D u £ ) = í (D) u  R (E).

(b)  R (D n  E) = R (D) n R (£).(c) Dom (R) = R] (B).

(d) Im (R) = R(A).

0.4.4. Sean las relaciones  R q  A  x  B y S q  A  x B. Entonces R u S c A x B e s tambiénuna relación de A con  B, al igual que  R n S . Demostrar las siguientes afirmaciones:

(a) Dom (R<u S) = Dom (R) u Dom (S ).

(b) Im (i? u S) - Im (R) u Im (5).(c) (R u S) (X) = R (X) v S (X) para cualquier  X c A .

(d) (7? u S)_l = R~]u S~K 

(e) ( í n S J ' ^ J r ' o T 1.

0.4.5. Sea m =5. Encontrar los conjuntos Zo, Zi, Z 2, Z 3, Z4.

0.4.6. Probar que {Zo, Z j , . . Z„, _ j } constituye una partición de Z para un m > 0 determinado.

0.4.7. Determinar si cada una de las relaciones siguientes es una relación de equivalencia sobre el conjunto

A = {0, 1,2, 3, 4,5)

www FreeLibros com

Page 29: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 29/310

1 8 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

(a)  Rt = {(0, 0), (1, 1), (1, 2), (2, 2), (3, 3), (4,4), (5, 5)}.

(b) /?2 = í , u {(2,1)}.

(c) /?3= i? i -{ ( l ,2)}.

(d)  R, = R2 u {(2, 3), (1, 3), (3, 1), (3,2)}.

0.4.8. Sea {Z o , Z i , Z 2, Z 3 , Z 4 } la partición de Z definida en la página13.¿Cuál eslarelación de equivalencia sobre Z que genera esta partición?

0.4.9. Sea [A\,A2 , . . . ,Am} una partición de A y [B\,Bz, ■■■,B„}una particiónde B.Probar que el siguiente conjunto es una partición de A X B:

{A¡xBj\i= 1,2 , . . . , m y j= 1,2, ...,«}

0.4.10. Sean A y B los conjuntos definidos de la siguiente manera

A= {0, 1,2,3}

 y

* 5 ={-1, 0, l/2, l , 3/2,2,3,4}

¿Cuáles de las siguientes relaciones son funciones totales, cuáles funciones par

ciales y cuáles no son funciones?(a) / = {(0, 1), (1, 2), (2, 3), (3,4)}

(b) /= { (0 ,0 ), (1,1/2), (2,1), (3, 3/2)}

(c) / = {(0,0), (1,1), (1,-1), (2, 3)}

(d) /= { (0 , 0), (1,3), (2,2)}

(e) /'= {(0, 0)}

0.4.11. Sean / : A —>C y  g: B —>D dos funciones tales que,  f{x) = g (x) para todo x e A n  B. Probar q u e /u  g es una función d e A u B e n C u D .

0.4.12. Sea/: A —» B una biyección. Probar q u e /-1 también es una biyección.

0.4.13. Demostrar que si / “' (f (X)) = X para todo X c A entonces/ es inyectiva. Demostrar que si f ( f ~ [ (Y )) = Y para todo Y c  B. entonces/es sobreyectiva.

0.4.14. Sea / : A —>A una función para la cual / ( / (x)) = x para todo x e A. Probar que /es una relación simétrica sobre A.

0.4.15. Sean las funciones  f :A —>B y g: C —>D y supongamos que A n C = 0 y

B n D = 0. Probar q u e /u  g es sobreyectiva s i /y g lo son. Probar que / u g esinyectiva si / y g lo son.

0.4.16. Sean/y  g las funciones definidas como

Page 30: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 30/310

 g= {(x,y)\xe Z + e y e N e  y = 2 \x \ j

Obsérvese q u e /c N x Z + y g c Z + x N de modo que f ° g y g  °/están definidas. Describir/° g y g ° f.

0.4.17. Supongamos que A es un conjunto y que se define la relación

 IA = {(a ,á )\a e A]

(a) Probar que ¡ a es una función.

(b) Probar que I,\ es una biyección.

(c) Sea/: X —» K una función. Probar que f 0 Ix = h ° f - /•

(d) Si/:  X -» Y es una biyección, demostrar q u e /° / -1 = Jy y que/ " ' °/= /*.

0.4.18. Dadas las funciones/: A B y g : B ^ C. Probar que las siguientes afirmaciones son ciertas:

(a) Si/y  g son inyectivas, entonces g ° f tambiénlo es.

(b) Si/y  g son sobreyectivas, entonces g °/tam bién lo es.

0.5 INDUCCIÓN

Se dice que un subconjunto A de N es un conjunto inductivo si, para cada a e A, entonces a+ 1 también pertenece a A. Por ejemplo, el conjunto {5, 6, 7, ...} esinductivo, pero el conjunto {0. 2.4. 6. 8. 10. ...} no lo es. Para que un conjuntosea inductivo no puede tener un número finito de elementos. La mayoría de losconjuntos de números naturales que contienen el 0 no son inductivos. El hechode que haya una única colección de números naturales que contenga el 0 y seainductiva se conoce por el principio de la inducción matemática (PIM).

A continuación se muestra una breve exposición del principio de inducción 

matemática.

Dado A c N tal que satisface lo siguiente:

1. Oe A, ,

2. si n 6  A, entonces n + 1 e  A, 

entonces A N .

El principio de inducción matemática es muy usado en matemáticas. Pro porciona un método apropiado para definir conjuntos de objetos en los cualeshay un primer objeto, un segundo objeto y así sucesivamente. En el mismo, sedefine el primer objeto y el n + 1 se define en términos del enésimo.

PRELIMINARES MATEMÁTICOS 1 9

www FreeLibros com

Page 31: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 31/310

20 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Por ejemplo, el factorial de un número natural puede ser definido inductivamente como

0! = 1

 y(n+ 1)! = (n + 1) • n!, para n> 0

El PIM también se usa para probar planteamientos acerca de proposicionesque en uno u otro nivel pueden estar indexados mediante N. En tal prueba semuestra que la colección de índices es inductiva y contiene el 0 y, que por consiguiente, es N.

Por ejemplo, la proposición “n + 3 < 5 (n + 1) para todo número natural n”se puede demostrar como sigue:

Sea  A = { n e N | n + 3 < 5 (n + 1)}. Debemos probar que  A es N. Obsérvese que si n es 0 entonces se tiene que n + 3 = 3 y 5 (n + 1) es 5, demodo que la proposición se cumple. Por tanto se obtiene que 0 pertenece a  A. Ahora supongamos que n e A. Tenemos que probar que n + 1también está en  A. Obsérvese que ( n + l ) + 3 = « + 4= (« + 3) + l. Entonces:

5 ((« + 1) + l) = 5n + 10

= 5 (/? + 1) + 5> (;? + 3) + 5

> (n + 3) + 1

= (n+ l) + 3

Por tanto la proposición se cumple para n + 1 cuando se cumple para n, con lo que n + 1 e  A cuando n e A. Por el PIM, se obtiene que  A = N ,así que la proposición se cumple para todos los números naturales. D

Los pasos de una demostración en la que se usa el PIM son bastante fácilesde recordar.

1. Probar que la proposición se cumple para 0. .•

2. Suponer que la proposición se cumple para n y probar que esto implicaque se cumpla para n + 1.

3. Deducir que la proposición se cumple para todos los elementos de N .

La etapa1 se conocecomo etapa base o inicial. La suposición de que la

 proposiciónse cumple para n en laetapa 2 se conoce como hipótesis de induc-ción. La etapa 2 se llama etapa de inducción.

www.FreeLibros.com 

Page 32: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 32/310

PRELIMINARES MATEMÁTICOS 21

Es conveniente usar el PIM para probar proposiciones sobre colecciones denúmeros naturales que no contienen el 0. Por ejemplo, la proposición de la fór

mula 1 + 2 + ... + (2« - 1) = n2 no tiene sentido (no es verdadera) para n 0. Sinembargo, esta fórmula se cumple para todo n > 1. En este caso el conjunto de inducción elegido es distinto. Obsérvese que la fórmula se cumple para n = 1. Sea^

S { n e N | la fórmula se cumple para 1 + n]

Fíjese en que 0 e S. Por tanto si n e S se tiene que

1 + 2+ ...+ 2(2(1 + n) 1) = (1 + n)2

'Con lo que se prueba que la fórmula se cumple para n + 1. Es decir,n + 1 e S siempre que n e S. Para n + 1 se suma un valor apropiado en cada ladode la igualdad y se obtiene

1 + 2 +. . . + (2 (1 +n) - 1) + (2 (1 + ( « + 1 ) ) - 1) = (1 + n f + (2 (1 + (n + 1)) - 1)

= 1 + 2 (n + 1) + (1 + n)2

= ( l + ( « + l ) ) 2

Entonces, por medio de PIM, se tiene que S = N y por lo tanto la fórmula secumple para todo n > 1. □

En la práctica, el conjunto 5 no se especifica. Si se expresa una propiedadcomo  P (n) para todo n > k , la demostración se realiza de la siguiente manera:

1. (etapa base) Probar que P (k) se cumple.

2. (etapa de inducción) Probar que si  P (n) es verdadera entonces P (n + 1) es verdad para todo n > k.

3. (conclusión) Por las etapas 1 y 2 y el PIM,  P (n) es verdadera para todon>k.

Por tanto, la demostración del ejemplo precedente puede volver a realizarse de esta forma:

Sea n = 1. Entonces se tiene que 1 = l2, con lo que la fórmula se cum ple. Ahora se supone que la fórm ula se cumple para n > 1. Es decir ,

1 + 2 + ... + (2(1 + n) - ! ) = (! +n)2

Entonces se obtiene que

F Lib

Page 33: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 33/310

22 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

1 + 2 4-. .. + ( 2 ( 1 +  ií  ) ~~ 1) + (2 (1 + (n + 1)) —1)

= (1 + «)* + ( 2 ( l + (n + 1 ) ) - 1 )

= 1 + 2 (n + 1) + (1 + n)2 

= ( \ + ( n + \ ) ) 2

con lo que la fórmula se cumple para n+ 1. Entonces, debido al PIM, lafórmula se cumple para todo n > 1. □

EjerciciosdelaSección0.5

0.5.1. Probar que, para todo n e M,

2o + 21+ ... + 2" = 2" +1—1

0.5.2. Probar que, para todo n > 1,

21+ 22 + ... + 2" = 2" +1—2

CARDINALIDAD

Para comparar los distintos tamaños de los conjuntos se usan funciones entre los mismos que son biyectivas, sobreyectivas o inyectivas. Dos conjuntos A y

 fí  son equivalentes si existe una biyección entre ellos. Se emplea la notación A = B para denotarlo. Por tanto tenemos que {x,y,z} = { 1, 2, 3}, mientras que{x,y,z} 2 {1,2}.

Ejemplo 0.6.1.

Veamos un ejemplo trivial. Sea{ / 1/ : N —>{0, 1}} el conjunto de to

das las funciones de N en {0,1}; entonces 7 — 2N. Para probar esto se necesitauna biyección  H \ J 2:\ Por tanto, se necesita una regla que asocie cada función de 7  con algún subconjunto de N. Para  g e  J, sea H (g) = {x|g (x) = 1}.Obsérvese que todas las funciones de jF tienen una imagen bajo  H. Ahora probaremos que H es inyectiva y sobreyectiva.

Para ver que  H es inyectiva, sean g\ y gi unas funciones que pertenecen a7  y supongamos que  H (gi) = H (gi). Sea x e N. Debemos obtener que

 x €  H (gi) o x e H {g i). Si x s  H (g¡) entonces, dado que H (gi) = H (gi), se obtiene que  gi (x) = g 2 (x) = 1. Por otro lado, si  x £ H ( g i), entonces

 g i (x) = g 2

(x') = 0. Luego en ambos casos tenemos que gi (x) = g 2

(x) para un x e N arbitrario, con lo que gt = g2.

www.FreeLibros.com 

Page 34: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 34/310

PRELIMINARES MATEMÁTICOS 23

Para ver que  H es sobreyticiiva, sea A e - ' un subconjunto arbitrario deSe define la función g: N --> {0, 1} como

0, si ' \

1, si v t

Obsérvese que g e J  y que  H  (g) = A. Por ' uto para cualquier elemento Ade 2n, se puede encontrar una¡unción en J  formaque represente a A. Deesto se deduce que H es sobreyectiva.

Teorema 0.6.1. Supongamos que A = C y  B ■D con  A n 3= 0 y C n D = 0. Entonces A u B = C u D .

 Demostración. Puesto que A = C y  B = D existen iükis biyecciones  g: A —>C yh: B -> D. Definamos/: A ü />’ —-> 0 como

si .v e A

/ U j ; ( v), si v s  B

Por el Ejercicio 0.4 .15 ,/ e s b: x ió n pues. ><:;ue g  y h lo son. Por consi

guiente, A u B = C u D. □

Para cada número natural k > define {1 .2.......£}. Dichos conjuntos se usan como “estándar de tan con e! ; se compararan otros conjuntos.

Un conjunto A es fin ito si:

1. A = 0, en cuyo caso A tier  vardinalitkúf.O.

2. A = N*, en cuyo caso A ti , <ardiñal k.

Un conjunto es infinito si no es í -:ío.

Por ejemplo, A = {a, b, c, d, c inito o dinalidad 5 mientras que Nes infinito. Para simplificar, si A e ito escril;Reinos \A \ k  para representar su cardinalidad.

Supongamos que  A es finito i:c¡¡ cardinal k  y que  x<£ A. Obsérvese que{x} = {k + 1} por lo que  A u {x} Hén es y su cardinal es k+ 1. Este

resultado se obtiene a partir del Teoiv : x 0.6.1. y se extiende a:

Teo rem a 0.6.2. Si A y B son conjuntos c' ' ios fi nios itoncesA u  B es también finito y |A u i ? | = \A\ + \B\.

www.FreeLibros.com

Page 35: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 35/310

24 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

 Dem ostración. Si A = 0, entonces A u B = B, con lo que

|;4u s | = 0+ | B | = | f l |

Si  A & 0 y  B 0, entonces sean /:  A —> N m y  g: B —>N„ las biyeccionesa partir de las cuales se obtiene que \A \ = m y \B \ n . Se defineh\ N,¡ —>/ / = {m + 1, m + 2 , m + n } como h (x) = m + x. Es obvio que h esuna biyección y por tanto N „ =  H. Obsérvese que N m u  H {1, 2 , m + n) =

A

 N m+n y la f u n c i ó n / : A u B - > N n + mdefinida como

 f rx) í f t o > s i x e A  | h ° g  (x), si x e  B

es sobreyectiva e inyectiva. Por consiguiente,  A u B es finito y l A u S l =m + n = | A | + |5 ¡ . □

Una propiedad muy utilizada para conjuntos finitos es el principio del palo -mar. En esencia dice que si hay más palomas que agujeros se debe poner más deuna paloma en el mismo agujero.

Teorema 0.6.3. ( Principio del palomar). Sean  A y  B conjuntos finitos con| / 4 | > | ¿ ? | > 0 y / : A  —>B una función. Entonces / no es inyectiva.

 Dem ostración. La demostración se realiza por inducción sobre | B \ .

Si |f i | = l y | A | > | Z? | , entonces  A contiene al menos dos elementos distintos a\ y «2- Pero entonces f {a \ ) / { a i ) por lo que/no es inyectiva. Por tanto elresultado se cumple para | B \ = 1.

Ahora supongamos que el resultado se cumple para algún conjunto  B talque 0< |B | <n. Entonces sea  B un conjunto de forma que ¡ B\ = n + 1. Fijadoun elemento b e B, obsérvese que | B {b} \ n . Supongamos que A es un con

 junto tal que |A | > |¿?| y  f : A ^ B . Consideremos los dos casos siguientes para

r 1 {by

Caso 1: Supongamos que |/ “ ' (b) | > 2. En este caso habrá dos elementosai y ü2 de  A , de forma que a\ y ü2 están en / “' (b) o, lo que es lo mismo,

(«2) = b. En este caso / no es inyectiva.

Caso 2: Supongamos que | / “* (¿>)| < 1. Obsérvese que \ A f ~ l  (¿)| >|/ i | - 1 > n = - {b} | . Se define la función  g: A f ~ l (b) —> B {¿>} comog W = / ( 4 Obsérvese que, como | B f ~ l (¿)| =n y \ A f ~ \ b ) \ > | 5 -{¿>} | ,se satisface la hipótesis de inducción. Por lo tanto  g  no es inyectiva con lo que

www.FreeLibros.com 

Page 36: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 36/310

PRELIMINARES MATEMÁTICOS 25

existirán a\ y ai en A f ~ l  (b) para los cuales a\ * <22 y  g (a 1) =  g  (¿22). Por consiguiente, /( a i) = /( a 2 ), de lo que se deduce que / tampoco es inyectiva.

En ambos casos, si el resultado se cumple para cualquier conjunto  B con n elementos, también se cumple para cualquier  B con n + 1 elementos. Por tanto, y por el PIM, la proposición se cumple para todo conjunto finito  B con j# | > 0 . □

Hay muchos ejemplos en los que se aplica este principio. Si 11 zapatos sonelegidos al azar de una caja que contiene 10 pares de zapatos, al menos se obtiene un par completo. Si n ^ m , entonces N„ £ N w.

Corolario 0.6.4. Si A es un conjunto finito y  B es un subconjunto propio de A, enton-

Hay dos tamaños para los conjuntos infinitos, “grande” y “muy grande”. Unconjunto A es enumerable si A = N. En este caso, | A | = No (alef cero). Un con

 junto es numerable si es finito o enumerable.El conjunto Z es enumerable mediante la fun ció n/: N —>Z definida por 

es una biyección, que transforma 0 en 0, 1 en -1 , 2 en 1, 3 en -2 y así sucesivamente.

Teorema 0.6.5. Sea  A un conjunto enumerable. Si f i e A es un conjunto infinito, en

tonces B es enumerable*

 Demostración. Puesto que  A es enumerable, existe una b iy ec ción /: N —>A. Supongamos que tenemos que f ( n ) a n por lo que  A puede ser enumerado comoA = {«o, «i, ••• }• Sea »o el menor subíndice para el cual a„0 e B. Sea n\ el menor subíndice para el cual £  B {a„a}. Generalizando, sea nk el menor subíndice

 para el cual a„k € B {a„0, ant, ...,an4_,}. Puesto que  B es infinito, B {a„0, a„,,..., a„k_,} 0 para todo k, con lo que hemos construido una corres pondencia uno a uno entre N y B. Por tanto, B es enumerable. □

Puesto que los conjuntos finitos son numerables, se tiene que todo subcon junto de un conjunto numerable, es numerable.

Obsérvese cada conjunto infinito contiene un subconjunto enumerable. Para probarlo, sea X  infinito. Entonces  X & 0, por lo cual se puede seleccionar un ele-

ces A iB.

nsi n es par 

, s in es impar 2

Page 37: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 37/310

26 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

mentó de X, que llamaremos xo- Nuevamente, y puesto que X es infinito, tenemos que  X {xo} 5* 0 y se puede elegir  x \ e X {xo}. Una vez definidos cadauno de los elementos xo, *\> *k, se sabe que  X {xo, x \,..., xk] 0 con lo cualse puede seleccionar un

 xk+i e X - {x0, X], ...,xk}

El conjunto {x¿ | k = 0, 1,2, ...} es un subconjunto enumerable de X .

Terminaremos este capítulo mostrando un conjunto no numerable. Para ellousaremos una técnica de demostración muy eficaz llamada diagonalización.

Teorema 0.6.6. El conjunto 2N no es numerable.

 Demostración. Supongamos que 2N es numerable. Dado que es un conjunto infinito,debe suponerse que 2>: es enumerable y que por lo tanto, puede ser enumeradode la forma 2N - { Ao , A \,...}. Sea  D = {» e  N, n £  A„}. Obsérvese que D c Ny, por tanto,  D = Ak  para algún k. Consideremos dicho k. Si k e  Ak, entonces

 puesto que  Ak = D, k  no puede estar en  Ak. Por otro lado, si k <s Ak, entoncesk & D y por tanto k  debe estar en  Ak. Ambas posibilidades nos llevan a unacontradicción. Por consiguiente, la suposición de que 2N es enumerable es incorrecta. □

Sabemos, por el Ejemplo 0.6.1, que la colección  J  de funciones de N en{0. 1} es equivalente a 2"x. Ahora por el Teorema 0.6.6, sabemos que  J  no esnumerable.

La técnica de la diagonalización se usa para la refutación de muchas afirmaciones. En la demostración precedente no se ve claramente donde se usa dichatécnica. Un ejemplo clásico de diagonalización es la demostración de que el intervalo abierto (0, 1) no es numerable. Supongamos que (0, 1) es numerable, pollo que puede ser representado por el conjunto {ao, «i, Entonces cada a¡ serárepresentado por su desarrollo decimal y por convención se usará la forma incompleta tanto para los números de esa forma como para los de forma completa.

Por tanto, 0,25 se representará como 0,24999... Bajo esta representación,dos números en (0, 1) son iguales si y sólo si los dígitos correspondientes son losmismos. Haremos una lista con los a¡

ao0.doodo\do2.  

ai = O.diodi \d\2. ■

ük = 0.dkodk\dk2■■dkk •

www.FreeLibros.com 

Page 38: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 38/310

PRELIMINARES MATEMÁTICOS 27

Para demostrar que (0, 1) no es numerable debemos encontrar un númeroz e (0, 1) tal que  z ^ a¡ para cualquier /. Sea z = O.zqZi-- donde

lk5, si akk* 5

2. si akk= 5

Obsérvese que  z difiere de cada au en al menos una cifra decimal y que0 <  z < 1. Por tanto, hemos encontrado el  z que buscábamos, con lo que a¡ no dacuenta de todos los números pertenecientes a (0, 1).

Aquí la diagonalización resulta obvia.

EjerciciosdelaSección0.6

0.6.1. Dados los conjuntos A y B, si A es finito ¿A n B es finito?

0.6.2. Probar que si A c  B y A es infinito, entonces B es infinito.

0.6.3. Dar, si es posible, un ejemplo de cada apartado:

(a) Un subconjunto infinito de un conjunto finito.

(b) Una familia {A¡\i e N) de conjuntos finitos cuya unión sea finita.

(c) Una familia {A¡| i s N ¡ de conjuntos finitos cuya unión no lo sea.(d) Una familia finita de conjuntos finitos cuya unión sea infinita.

(e) Unos conjuntos finitos A y B tales que | A u  B \ * \,41+ | B \ .

0.6.4. Probar que N x N es numerable usando la función / : X x N —>X definidacomo f{n, m) = 2" 3'" además del Teorema 0.6.5.

0.6.5. Mostrar que N* es enumerable para cualquier k = 1,2,...

0.6.6. Probar que R no es numerable.

www FreeLibros com

Page 39: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 39/310www.FreeLibros.com 

Page 40: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 40/310

1

Alfabetos y 

lenguajes

ALFABETOS,PALABRASYLENGUAJES

Todo lo descrito a continuación tiene al menos dos cosas en común:

Programas escritos en algún lenguaje de programación como Pascal.

Palabras inglesas.Secuencias de símbolos que se usan para representar un valor entero.Frases escritas en algún lenguaje natural como el inglés.

Primero, cada uno está compuesto por secuencias de símbolos tomados dealguna colección finita. En el caso de las palabras inglesas, la colección finita esel conjunto de las letras del alfabeto junto con los símbolos que se usan paraconstruir palabras en inglés (tales como el guión, el apostrofe y otros por el estilo). De forma similar, la representación de enteros son secuencias de caracteresdel conjunto de los dígitos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Los programas de ordenador escritos en Pascal y las frases en inglés también están compuestos por sím

 bolos tomados de una colección finita. Sin embargo en estos, los conjuntos de

símbolos son distintos. En el caso de los programas en Pascal, el conjunto desímbolos es una colección de identificadores legales de Pascal con una longitudmenor o igual que una constante, palabras clave y palabras reservadas, símbolosespeciales de Pascal y espacios en blanco tales como el retomo de carro, el carácter de salto de línea y el espacio manual.

Page 41: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 41/310

30 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Segundo, en todos los casos vistos las secuencias de símbolos que constituyen los elementos en cuestión tienen longitud finita, aunque no existen limitaciones en cuanto a la longitud de las mismas.

La noción de secuencia finita de símbolos es el elemento principal a ser tratado por este texto. Introduciremos la notación y los nombres a usar para dichassecuencias.

Un conjunto no vacío y finito de símbolos se conoce como alfabeto. Por ejemplo, el alfabeto inglés está formado por 26 símbolos. En otro contexto se puede considerar com o alfabeto a la colección de todas las palabras inglesas correctas o la colección de todos los símbolos legales de Pascal (los identificadoresde Pascal, palabras claves y reservadas, caracteres especiales, y así sucesivamente). Si E es un alfabeto, o e X denota que ü es un símbolo de E. Por tanto, si

E = { 0 , 1,2, 3, 4, 5, 6, 7, 8,9}

 podemos decir que 0 e E.

Obsérvese que, puesto que un alfabeto es simplemente un conjunto finito novacío, dados Ei y E2 alfabetos, se tiene que Si u E2 también lo es. Es más, siSi n I 2, Sj - Z2 y Z2 - Si son conjuntos no vacíos, también son alfabetos.

Una secuencia finita de símbolos de un determinado alfabeto se conoce

como palabra sobre d icho alfabeto^ Si el alfabeto es el alfabeto inglés, algunas palabras pueden ser PR OGRAM, DIGIT, MOON y BLEAK. Es más, nuestradefinición permite que BXWTEEMRE y JIPOQPY sean también palabras.

 Nuestra experiencia nos lleva a identif icar el térm ino palabra con las palabras dealgún lenguaje natural. Por esta razón, a menudo se usa el término cadena en lugar de palabra con el fin de evitar esta idea preconcebida. A lo largo del texto seusarán por igual los términos cadena y palabra.

Obsérvese que si nuestro alfabeto base es el conjunto de todos los identificadores legales de Pascal cuya longitud es menor o igual que una constante, las

 palabras clave y reservadas, los símbolos especiales de Pascal, y así sucesivamente, un programa en Pascal bien construido, es una cadena. De la misma forma que basándonos en la definición se pueden formar palabras incorrectas a partir del alfabeto inglés también se pueden formar programas incorrectos sobre elalfabeto anterior. Aparentemente, las cadenas que constituyen programas enPascal bien construidos deben cumplir ciertas restricciones, al igual que las pala

 bras inglesas “legales” se construyen de una determinada manera sobre el alfa beto inglés.

Cada símbolo de un alfabeto es una cadena sobre dicho alfabeto. La cadena 

vacía, la cual se denota por el símbolo £, es una palabra sobre cualquier alfabeto. La palabra vacía es una secuencia vacía de símbolos tomados de cualquiera

www.FreeLibros.com 

Page 42: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 42/310

ALFABETOS Y LENGUAJES 31

que sea el alfabeto en cuestión. La cadena vacía tiene ciertas propiedades queveremos más adelante, i_ . . . ! /

Un lenguaje es un conjunto de palabras. Por tanto el conjunto {1,12, 123,1234, 12345, 123456} es un lenguaje sobre el alfabeto compuesto por dígitos.De forma similar, la colección de palabras inglesas “correctas” es un lenguajesobre el alfabeto inglés. Obsérvese que si Z es un alfabeto, también es un lenguaje —el formado por todas las cadenas con un único símbolo.

Los lenguajes pueden ser bastantes grandes, como es el caso de todas las palabras inglesas “correctas” o el lenguaje {1, 11, 111, 1111, 11111, .. .} formado por todas las cadenas finitas de unos. Obsérvese que este lenguaje es infinito(aunque cada cadena del mismo tenga longitud finita). Cuando un lenguaje tieneun tamaño muy grande es difícil especificar que palabras le pertenecen. La especificación de las palabras de un lenguaje es uno de los temas principales de estelibro, y le dedicaremos gran parte del tiempo.

Dado que un lenguaje es un conjunto de cadenas, se puede tener el lenguajecompuesto por ninguna cadena —el lenguaje vacío. Este no es el mismo lengua

 je que el que consta de la cadena vacía {£}. El lenguaje vacío se denota de lamisma forma que el conjunto vacío, 0.

Supongamos que Z es un alfabeto y w es una cadena sobre Z. Si  L es el lenguaje formado por algunas de las cadenas sobre Z y si w está en L, entonces setiene que w e L y se dice que w es un elemento de L, o w es un miembro de  L. Por tanto,

121 e {1.12,121,1212,12121}

Es necesario tener en cuenta el lenguaje compuesto por  tocias las cadenassobre el alfabeto Z. Se conoce como cerradura de Z o lenguaje universal sobre Z y se denota por Z*. Por ejemplo, si se tiene el alfabeto Z = {1}, entonces

Z*={£, 1, 11, 111, 1111,...}

Para cualquier alfabeto, Z* es infinito (ya que los alfabetos son no vacíos).

EjerciciosdelaSección1.1

1.1.1. ¿De qué conjunto de símbolos se derivan las frases inglesas?

1.1.2. ¿Por qué el lenguaje vacío 0 no es el rnismo que fe}?

www FreeLibros com

Page 43: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 43/310

32 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

OPERACIONESCONCADENAS

Si w es una cadena sobre cualquier alfabeto, su longitud se denota mediante elsímbolo | w | . La longitud de w es el número de símbolos que tiene la cadena.Así que, si >v = 121 sobre el alfabeto £ = { 1 , 2 } , entonces |w | = 3 . La cadenavacía e, no tiene símbolos con lo que leí = 0 .

Si w y  z son cadenas, la concatenación de w con  z es la cadena que se obtiene al añadir a la cadena w la palabra  z Por ejemplo, si w = “banana” y

 Z = “rama”, la concatenación de w con  z es la cadena “bananarama”. La concatenación de las palabras w y z se denota como wz o w z . Obsérvese que se tiene que

| wz | = | w\ + |z |

La concatenación de la palabra vacía e con cualquier otra palabra w, no modifica a la palabra w. Por esta razón, £ se comporta como la identidad con res

 pecto a la operación de concatenación.

Vamos a introducir la noción de potenc ia de una palabra sobre un alfabeto.Sea w una palabra; para n e N se define

si n = 0

ww " ~ *, si n > 0

Por tanto, si w = 122 sobre el alfabeto £ = {1,2}, se tiene

H’° = £

= 122

w2 = 122122

w3 = 122122122

y así sucesivamente. Se dice que w ' es la po tenc ia iésima de w.

Hasta ahora hemos usado el símbolo = de forma intuitiva, sin definirlo. Paraser más precisos, definiremos la igualdad de cadenas como sigue: si w y  z son

 palabras, se dice que w es igual a z, si tienen la misma longitud y los mismossímbolos en la misma posición. Se denota mediante w = z

Las nociones de su fijo y prefijo de cadenas sobre un alfabeto son análogas alas que se usan habitualmente. Siwyjt son palabras, se dice que  x es prefijo dew, si para alguna cadena  y se obtiene que w = xy . Por ejemplo, si w es la cadena121, entonces la cadena x = 12 es un prefijo de w e  y 1. Si se considera >• = £,entonces para w = xy se tiene que w = x, con lo que toda palabra puede conside

rarse prefijo de sí misma. Introduciremos el término prefijo propio para denotar aquellas cadenas que son prefijos de una palabra pero no iguales a la misma. Por 

www.FreeLibros.com 

Page 44: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 44/310

ALFABETOS Y LENGUAJES 33

Tjéso x= 121 es un prefijo de la cadena w = 121, pero no es un prefijo propio dew. Finalmente hay que tener en cuenta que la palabra vacía e es prefijo de cualquier palabra"^

Una cadena w es una subcadena o subpalabra de otra cadena z si existen lascadenas x e y para las cuales z = xwy.

La inversa o transpuesta de una palabra w es la imagen refleja de w. Por ejemplo, si w = “able” entonces su inversa es “elba”. Para denotar la inversa dew se usa w1. Una definición más precisa de la misma puede ser la siguiente:

 j _  {w, si w = £

W a, si w ay por tanto a e l y y e E *

Por ejemplo, supongamos que x = “able”. Si se sigue la definición anterior  para calcular w 7 se tiene:

x7= (able)7= (ble)7a 

= (le)7ba 

= (e)7 Iba 

= (e)7elba 

=  zelba 

= elba

Consideremos la concatenación de las palabras “ab” y “cd ” que forma“abcd ” sobre el alfabeto inglés. Sabemos que (abcd )1 = deba. Obsérvese quedeba = (cd )7{ab)1. Por lo tanto, si w e  y son cadenas y si x = wy, entonces

x7 = (wy)l = y1 wl.

La inversa se “deshace” a sí misma. Obsérvese que

((abcd Y y = (deba)1

= abcd 

En general, (x7)7= x.

EjerciciosdelaSección1.2

1.2.1. Sea £ = {1}. ¿Se puede decir que para todo número natural n hay alguna pala bra w e E* para la cual | vv j = ni Si w es una cadena de Z* para la cual | w \ —n, ¿es única? ¿Qué ocurriría si Z = {1 ?}?

Page 45: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 45/310

34 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

1.2.2. Para una palabra w, ¿se puede decir que

Encontrar una expresión para | vi>'+-/ | en términos de i ,j y | w |.

1.2.3. ¿La cadena vacía e es un prefijo propio de sí misma?

1.2.4. Definir las nociones de sufijo y sufijo propio de una cadena sobre un alfabeto.

1.2.5. Obtener todos los prefijos, sufijos y subpalabras de la palabra w = “bar” sobre elalfabeto inglés.

1.2.6. Probar formalmente que (wy)' = y' w'.

1.3 OPERACIONESCONLENGUAJES

Las ideas de concatenación, potencia e inverso se pueden extender al lenguaje en su totalidad. Sean  A y B lenguajes sobre un alfabeto. Se define el lenguaje concatenación de A y B como

 A ■B {vv • x \w e  A y  x e B)

Por tan to, A • B está formado por todas las cadenas que se forman concatenando cada cadena de A con todas las cadenas de B.

Por ejemplo, si A = {casa} y B = { pájaro ,  perro ), entonces A • B sería ellenguaje {casapájaro, casaperro).

Obsérvese que para formar el lenguaje concatenación A • B no es necesarioque A y B sean lenguajes sobre el mismo alfabeto. Si A es un lenguaje sobre Xi y B es un lenguaje sobre £ 2 , entonces A • B es un lenguaje sobre Z¡ u £ 2 -Se sueleescribir AB en lugar de A ■ B, cuando la expresión resulta ambigua.

Dado que para toda palabra  x, x ■e = x = £ • x, se obtiene que para cualquier lenguaje A, A • {£} = {£}  A =A. Es decir, el lenguaje cuyo único elemento es la palabra vacía , se comporta como la identidad para la operación de concatenaciónde lenguajes.

Al igual que para las cadenas, una vez que se ha definido la concatenaciónde lenguajes, se puede definir la potencia. Sea A un lenguaje sobre el alfabeto £.Definimos

f \|{£}, si n = 0

|A ■ A"~ *, si n > 1

Por tanto, si A = {ab} sobre el alfabeto inglés, se obtiene que

www.FreeLibros.com 

Page 46: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 46/310

ALFABETOS Y LENGUAJES 35

 A°= {e}

 A l =A = {ab)

 A2 = A •A1= {abab}

 A3= A A 2 {abcibab}

Interesa tener en cuenta que de esta definición se obtiene que 0° = {£}.

Puesto que un lenguaje es una colección o conjunto de cadenas, se puededefinir para el mismo la unión, intersección y sublenguaje, al igual que se definen para los conjuntos en general. Si A y B son lenguajes sobre el alfabeto I, entonces la unión de  A y  B se denota mediante A o  B y está formada por todas las

 palabras que pertenecen al menos a uno de los dos lenguajes. Por tanto,

A u 5 = {x | x e A o x e  B}

La intersección de los lenguajes A y B es el lenguaje

 A n  B = {x|x e A y x e B simultáneamente}

Luego,  A n B está formado sólo por las palabras que pertenecen a los len

guajes A y B a la vez.Veamos un ejemplo. Consideremos el alfabeto L={0, 1} y los lenguajes

 A = {e, 0, 1, 10,11} y  B= {£, 1,0110, 11010}. Entonces

A u 5 = {£.0. 1. 10, 11,0110, 11010}

 y

 A n B = {£, 1}

Antes de ver la relación que existe entre la concatenación y la intersección eunión de lenguajes, es conveniente definir formalmente sublenguaje y la igualdad de lenguajes. Si A y B son lenguajes sobre un alfabeto X y si todas las cadenas de A son también cadenas de  B, entonces se dice que A es un  sublenguaje de

 B. Dado que esto se corresponde exactamente con el concepto de subconjuntovisto en la teoría de lenguajes, A c z B denota que A es un sublenguaje de  B.

Para los lenguajes  A = {a, aci, aaa, aaaa, aaciaa} y B = {a" | n = 0, 1,2,...},se tiene que A c  B. Obsérvese que cualquier lenguaje  L sobre el alfabeto £ es unsublenguaje de I*, es decir. L c Z*.

Se dice que dos lenguajes  A y B son iguales si contienen exactamente lasmismas cadenas, es decir, son conjuntos iguales. Se denota con A B . Los teoremas siguientes muestran la relación que existe entre sublenguajes e igualdad.

www.FreeLibros.com 

Page 47: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 47/310

36 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Te orem a 1.3.1. Sean A y B dos lenguajes sobre el alfabeto X. Entonces  A B si y sólo s i A Q B y  B q  A.

 Dem ostración. Supongamos en primer lugar que  A =  B. Tenemos que probar queA c f i y í c A . Supongamos que x e A. Puesto que A y B tienen exactamente lasmismas cadenas, se obtiene que x e B, de lo que se deduce que A c í . Análogamente, si x es una cadena que pertenece a B, entonces como A y B tienen exactamente las mismas cadenas, se obtiene que x e A y por tanto B c A .

Supongamos ahora que / I c f i y B c A . Esto significa que toda cadena de A está también en  B y viceversa. Por tanto, A y B tienen exactamente las mismascadenas, con lo que son iguales. □

El Teorema 1.3.1 proporciona una forma de determinar oportunamente sidos lenguajes son iguales. Lo usaremos para demostrar que la concatenación esdistributiva con respecto a la unión.

Teorem a 1.3.2. Dados los lenguajes A, B y C sobre un alfabeto L, se cumple que:

i.  A ( B u Q = A B u A C 

ii. ( B u Q ■A = B ■A u C ■A

 Dem ostración, (i) Probaremos primero que  A ■(B u C) c;A ■B u A ■C. Seax e A ■(B u C). Entonces  x = w ■y para las cadenas w e A e y e B u C. Puestoque ye  B u C. entonces ye  B o y e C. Si y e  B, entonces w ■y e A ■B, y por tanto, w • y e A ■B u A ■C. Por otro lado, si  y e C, entonces w ■y e A ■C, conlo que de nuevo tenemos que w ■y 6  A ■B u A ■C. En ambos casos se obtieneque

 A - ( B u  Q q  A B u  A C 

Para probar que  A B u A C c z A ( B u C ) , supongamos que  x e A ■B u   A ■C. Entonces x e A B o x e A C . S i x e A ■B, entonces  x = u ■v para las cadenas u e A y v e B. Puesto que v e B entonces v e B u C   y, por tanto,uv e A ■(B u C). Por otro lado, si x e  A ■C, entonces x = w ■y para las cadenasw e  A e  y e C. En este caso y puesto que  y e C, se tiene que  y e B u C, y por tanto, w ■y e A ( B u C). Luego A B u A C c z A ( B u C ) . Luego por el Teorema 1.3.1 se obtiene que A ( B u C ) = A B u A C .

La prueba de la parte (ii) es similar y se deja como ejercicio. □

La relación que tiene la concatenación con la intersección no es tan buenacomo con la unión. Generalmente, la concatenación no es distributiva con res

 pecto a la intersección. Para verlo, supongamos que  A = {a, e}, 5={e} y

www.FreeLibros.com 

Page 48: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 48/310

ALFABETOS Y LENGUAJES 37

C={a} . Obsérvese que AB={a ,e} y  A ■C { a 2,a}, por lo tanto A B n A C = {a}. Por otro lado, B n C = 0, con lo que A ■(B n C) = 0.

Si A es un lenguaje sobre algún alfabeto X, se define la cerradura de Kleeneo cerradura de estrella de un lenguaje  A como A* = ^ J “ =oA". Definiremostambién la cerradura positiva de  A como A+= I^J“= i An. Obsérvese que las cadenas de la cerradura de Kleene se forman ai realizar cero o más concatenaciones de las cadenas del lenguaje, mientras que la cerradura positiva se forma alrealizar una o más concatenaciones.

Por ejemplo, supongamos que  A = {a} sobre el alfabeto inglés. Entonces tenemos que A°={e},  A 1= {«},  A2 = { a 2} y así sucesivamente. Por tanto

 A* = {e, a, a2, a3, ...}. Por otro lado, A+ = {a, a2, a3, ...}.

Obsérvese que si X es un alfabeto, entonces X* está formado por todas lasconcatenaciones de 0 o más símbolos de X. Precisamente, ésta será la colecciónde cadenas que constituyen el lenguaje universal, el cual también se denota por X*. Por tanto, nuestra notación es consistente. Además todo lenguaje sobre X esnecesariamente un sublenguaje de X*. Es más, si A es un lenguaje sobre X, se obtiene que A„ c X* para todo n = 0, 1, 2,..., y por tanto, A* c X ’ y A+ c X+. Obsérvese también que puesto que An c  A* para todo n , se tiene que A+c  A*. Finalmente, puesto que 0o = {e} y 0” = 0 para todo n > 1, entonces 0* = {e} y 0+ = 0.

Ejemplo 1.3,1

Consideremos £ = {0, 1,2, 3, 4,5,6, 7, 8, 9} y definamos A como el lenguaje formado por las cadenas que no contienen ninguno de los dígitos 2, 3,...,9. Entonces 8 € A, 0 e A y l e A. También 000101001 e A. Obsérvese que sik> 1 y x e Ak entonces  x = w\ ■w2 ■■■■Wk donde las cadenas w¡ e A. Puestoque las cadenas w¿ no contienen los dígitos 2, 3,..., 9, la cadena  x tampoco contiene ninguno de esos dígitos. Por tanto x e A. Es decir, Ak c: A para k > 1.

Por otro lado, si x e A, como e e A se puede poner que

la cual es una cadena de Ak. De aquí que AcA* para k > 1, y por tanto A =A k   para k > 1. De esto se obtiene que

oo ©o

A+= U  Ak = J J A=Ak=1 Jt=l

Además dado que A° = {e} c A, se deduce que A* = A° u A+ = A° kj A =A. Por tanto en algunos casos A* y A+ son el mismo.

www FreeLibros com

Page 49: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 49/310

38 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Si A y  B son lenguajes sobre £, definiremos la diferencia como

A - B = { x | x e A y x g B}

la cual es exactamente la misma definición que se vio en la teoría de conjuntos.

Ejemplo 1.3.2

Si A es como en el Ejemplo 1.3.1 y B es el lenguaje de todas las cadenas deceros, entonces  A B es el lenguaje de todas las cadenas de ceros y unos quetienen al menos un 1.

Definimos el complemento de un lenguaje A sobre el alfabeto £ como

A = £* - A

la cual es también una definición análoga a la dada para el complemento en lateoría de conjuntos. Nuevamente nos referiremos al Ejemplo 1.3.1 para obtener que A es el lenguaje de todas las cadenas que contienen al menos uno de los dí

gitos 2, 3,..., 9.La concatenación y la diferencia de lenguajes son incompatibles de forma

similar a como lo eran la concatenación y la intersección. En general,A ( B C ) ^ A B A C .

En el siguiente teorema se muestra una igualdad que relaciona las cerraduras A+ y  A*. Aunque el resultado es obvio intuitivamente hablando, convieneofrecer una demostración rigurosa de una parte del teorema puesto que es una buena forma de indicar cómo se demuestran tales igualdades.

Teorema 1.3.3. A+ = A • A* A* ■A.

 Demostración. Sea x e A+. De la definición de la cerradura positiva se obtiene quex e i Ak, así que para algún £o > 1, se sigue que x e  Akn.

Puesto queAt(, = A - A*0-1, se obtiene q u e x e A • Ak°~ *, y por tanto

oo oo

X e U (A •A'1) = A ■(_J A” = A • A* n = 0 n = 0

Esto prueba que A +c A • A*.

www.FreeLibros.com 

Page 50: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 50/310

ALFABETOS Y LENGUAJES 39

A la inversa, sea

oo oo

x e  A ■A* = A ■U  An = U (A ■A1')  j ,1=0 »= o

Entonces, para algún j > 0, se deduce que

oo

x 6  A ■Aj = A;+ 1c ( J  Ak = A+k= 1

Por lo tanto A ■A* c A+.La demostración de A+= A* ■A es similar y se deja parael lector. □

Consideremos el lenguaje A = {ab} sobre el alfabeto inglés.Tenemos que

 A+= {(ab)11/ > 1} = {ab, abab, ababab, ...}

Entonces podemos considerar el lenguaje (A+)'  para distintos exponentes i. Por ejemplo, si i = 2, se tiene

(A+)2 = A+■A+= {ab ■ab, ab ■abab, ab ■ababab, ...,

abab ■ab, abab •abab, abab ■ababab, ...}

Puesto que podemos obtener cada uno de los lenguajes (A+)', entonces tam bién se puede obtener (Apf. Es más, puesto que (A+)°= {e}, también se puedeconsiderar que (A+)*. Luego parece que tiene sentido preguntarse cómo son loslenguajes que son cerraduras de cerraduras. Las repuestas son sorprendentemente sencillas.

Si x es una cadena de (A+)+, entonces, puesto que (A+)+ = i (A+)k, tenemos que para algún n > 1, x e (A+)", y por tanto  x = x\ ■X 2 • ■■■ ■x„, donde cada

 x¡ e A+. Dado que x¡ e A+ = i A', existe algún i¡ > 1 para el cual x¡ e  A'1. Por tanto cada

 Xi = y¡,\ ■y i ,2 • ■ y¡,t,

donde cada y,y e A. Por tanto se obtiene

* = O’i.i y 1,2 ••• yi,/,) - 0 2 ,i yi. i ■■■yit2) ■■■■■ (y»,i y»,2 ■■■y,u„)

Pero ésta es justam ente una cadena perteneciente al lenguaje a ,|+,2 + -" + í".

Es más, puesto que t¡ > 1 para cada i, se obtiene que

t\ + t2 + ... + tn > 1

www.FreeLibros.com 

Page 51: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 51/310

40 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

 por lo que es una cadena de A+. Por tanto (A+)+ c A+. Por otro lado, puesto queA+ = (A+)* c i (A+)k = (A+)+, se obtiene que A+ c (A+)+, de lo que se des prende que A+ = (A+)+.

De forma similar se puede demostrar que (A*)* =A*. Estos resultados se pueden interpretar como que no se añaden nuevas cadenas a los lenguajes  A* oA+, aunque se vuelva a realizar sobre ellos cualquier tipo de cerradura. Esto desvela intuitivamente lo que significa el término cerradura.

También se puede desarrollar la idea de inverso o transpuesta de un lengua je. El inverso de un lenguaje A es

 A1= {x' \x e A}

Por ejem plo si A = {dog, bog}, entonces  A1= {god, gob}.Obsérvese que si se vuelve a realizar el inverso del inverso de todas las pa

labras de un lenguaje, entonces se obtiene, de nuevo, el lenguaje original. Por tanto, (A1)1 = A.

El comportamiento del inverso es bueno para la mayoría de las operacionessobre lenguajes, como se muestra en el Ejercicio 1.3.18.

El inverso de la concatenación no sólo invierte las palabras concatenadas delos lenguajes sino que también cambia el orden de la concatenación de los lenguajes, como se muestra en el siguiente teorema.

Teorema 1.3.4. (A • B)1=  B1 ■A 1.

 Demostración. Sea  x e (AB)1. Entonces  x ! e AB, con lo que  xJ = yz para las cadenas y e A y z e B. Por tanto,  x = (xJ )' = (yz)1=  z1• / . Pero dado que z e B, entoncesz7e B1. Además y e A, con lo que y1e A1, y por tanto se obtiene que  x e B1A1, lo cual prueba que (A5)7c Z?7•A7. A la inversa, si x e  B1A 1, entonces  x = uw 

 para alguna palabra u e B1y w e A 1. Pero entonces  x1= v / ul e AB, con lo quex7e  AB y x e (AB)1. Por eso  Bl A7c (AB)1, y por tanto (AB)1= B1A7. □

EjerciciosdeiaSección1.3

1.3.1. Para todo lenguaje A, ¿Qué es A •0?

1.3.2. Sean A = {the, my} y  B {horse, house, hose} lenguajes sobre el alfabeto inglés. Obtener  A ■B, A ■A y A ■B ■B.

1.3.3. Se supone que A = {e, a). Obtener A" para n = 0, 1,2, 3. ¿Cuántos elementostiene  A"  para un n arbitrario? ¿Cuáles son las cadenas de  A" para un n arbitrario?

1.3.4. Se supone que A = {e}.'Obtener  A" para un n arbitrario.

www.FreeLibros.com 

Page 52: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 52/310

1.3.5. Sean A = {e, ab} y B = {c<r/}. ¿Cuántas cadenas hay en A" 5 para un n arbitrario?

1.3.6. Sean A = {a} y B = {b}. Obtener A'1 B,ABn y (AB)".1.3.7. Sean A = {e}, B = [aa, ab, bb), C = {e, aa, ab} y D = 0 el lenguaje vacío. Obte

ner AuB , A uC , A uD ,  B u D y A n B , B r\C , C n D, A n D. Suponer que F es un lenguaje cualquiera. Obtener  F u D y F n £>.

1.3.8. Probar la parte ii del Teorema 1.3.2.

1.3.9. Si A y B¡ son lenguajes sobre £ para i = 1 ,2 ,3 ,.. ., probar que

ALFABETOS Y LENGUAJES 41

L U;= i

= U (A ■Bi)i —i

1.3.10. ¿Bajo qué condiciones A* = A+?

1.3.11.  Obsérvese que para todo lenguaje A se tiene que £ 6 A*. ¿Cuándo £ 6 A+?

1.3.12.  Probar que {e}” = {£} = {e}+.

1.3.13. En los Ejemplos 1.3.1 y 1.3.2 ¿por qué £ no está en los lenguajes A -  B y A?

1.3.14. Antes se obtuvo que  A* = A ° u A += {£} u A +. Cabría esperar que A+ = A" {£}. Probar que, en general, la expresión no es cierta. ¿Cuándo se cumpliráque A+ = A* - {£}?

1.3.15. Sean  A y B dos lenguajes sobre £. Probar que  A n B = A u B y queA u  B = A n B .

1.3.16. Obtener los lenguajes A, B y C tales que A (B C)^ AB AC.

1.3.17. Probar que (A*)* =A*, (A’)+ = A* y (A+)* = A*.

1.3.18. Demostrar que se cumplen las siguiente igualdades para los lenguajes A y i? so bre el alfabeto £:

(a) (A kj  B) '=A,X) BI 

(b) (A n  B)' = A, n B l 

(c) (A)1= (A7)

(d) (A+)'=(A')+

(e) (A*)! = (A1)*

Page 53: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 53/310

42 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

PROBLEMAS

1.1. Sea Z = [a, b , ..., z] el alfabeto inglés. Definir la relación < sobre Z \ de formaque x < y siempre que x preceda a y en orden alfabético (ordenación lexicográ

fica).1.2. Sea A un lenguaje sobre el alfabeto Z. ¿Cuándo se cumple A = A l 

1.3. Sea Z = {a, b, c} y sea L = {c' xcJ\ i,j >0}, donde x se restringe a x = £, x = aw o x = wb para algún w e Z. ¿Se cumple que L = E*? ¿Es cierto que L2= Z*?

1.4. Sea Z= {a, b}. Lo siguiente es una definición recursiva del lenguaje A:

i. £6/4.ii. Si x e A, entonces axb y bxa pertenecen a A.

iii. Si x e y pertenecen a A, entonces xy pertenece a A.iv. No hay nada más en A.

(a) Probar que

 A = {w e Z* | w tiene el mismo número de aes que de bes}

(b) Si b y £ están en A ¿qué más palabras hay en A l (c) Dar una definición recursiva para que A c [a, ¿>}*contenga todas las pala

 bras que tienen el doble de aes que bes.

1.5. Un  palíndrom o   es una cadena que se lee igual hacia adelante que hacia atrás.Por ejemplo, la palabra“a” es un palíndromo, al igual que la cadena “radar”. Dar una definición recursiva de un palíndromo (obsérvese que £ es un palíndromo).

1.6. Probar que para los lenguajes A y B, (A u  B f = (A* B*)*.

1.7. Desigualdad de McMillan. Aunque la definición de que un alfabeto es un con junto finito de símbolos es matemáticamente correcta, plantea problemas cuan

do se trata de aplicarla. Por ejemplo, si Z = {1, 11}, entonces l i l e Z , pero noestá claro si 111 = 11 1 ó 111 = 1 1 1 ó 111 = 11- 1. El problema es que,aunque desde un punto de vista teórico 11 es indivisible (es un único símbolo yno un par de unos), no tenemos forma de representarlo. Por tanto, aunquew\ — 1 • 11 y 11 • 1 parecen iguales, no lo son. Según la igualdad de cadenas, se deben tener los mismos símbolos y en la misma posición. En este problema se puede imponer una condición a los alfabetos cuyos símbolos son cadenassobre otros alfabetos. Esta condición garantiza que no se tenga el problema anterior con respecto a la igualdad de cadenas. Se conoce como la desigualdad deMacMillan y se enuncia como sigue:

 Desigualdad de McMillan: Sea Z un alfabeto formado por  r  símbolos.Sean a\, a2, ..., aq cadenas no vacías sobre Z. Si el conjunto {ai, a2, aq} es unalfabeto, entonces >

www.FreeLibros.com 

Page 54: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 54/310

ALFABETOS Y LENGUAJES 43

/= i

La demostración de la desigualdad de McMillan no es difícil pero requiereuna profundización en ciertas ideas sobre cadenas.

1. Obsérvese que para las cadenas w\ y w2, |wj | + ¡W'2 i = |m’i W2 I, ¿cómo

( <¡ \ nserá un término arbitrario de r"'0í' después de que se realice el pro-

/= 1

ducto (pero antes de efectuar cualquier simplificación)?

2. Sea

h= (Oh k, .. . ,Q\k = k , | + . . . + |a ,„ |}

Es decir, h es la colección de «-tupias de los índices de las a¡, que puedenser usadas para formar cadenas de longitud k. Sea Mk = | /¿-|, que es el número de cadenas de las a¡ que forman cadenas de longitud k. Probar que

í= 1 k =n

donde r = max {!«1 !. | aj \,.... | a„| ).

3. Por la parte 2. puesto que < i* para todo k. se obtiene que

<‘iI H * ¡í=t

< n (t 1) < nt 

Probar que si

se llega a una contradicción y por tanto se cumple la desigualdad deMcMillan.

La desigualdad de McMillan se usa para deducir un resultado más fuerte.

4. Sean /|, /2, ..., lq, q números naturales y Z un alfabeto con r= |zl. Existirán q cadenas a\, a2,..., aqen F de longitudes l\, h , l q, respectivamente,

que formarán un alfabeto si y sólo si

www.FreeLibros.com 

Page 55: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 55/310

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

1.8. Cadenas exentas de cuadrados y exentas de cubos. Sea E un alfabeto. Unacadena w e E* se dice que está exenta de cuadrados si w no es de la forma uv2 x

 para las subpalabras u,x y v, donde x e. La definición de cadena exenta de cu-bos es similar. La cadena w está fuertemente exenta de cubos si no contiene ninguna subcadena de la forma x2 a, donde x &e y a es el primer símbolo de x.

1. Probar que ninguna cadena de longitud mayor o igual que 4 sobre un alfa beto de cardinalidad 2 puede estar exenta de cuadrados.

Sea w e E ' . Una cadena w' e E* para la cual | w| = | vv' | es una inter- pretación de w si se satisface la siguiente condición:

Sea 1 < i < | w\ y 1 <j < \ w \. Si los símbolos i-ésimo y y-ésimo de vvson distintos, entonces los símbolos i y j de W son también distintos.

Por ejemplo, si vv = aaabab, entonces cdefgh y cdcece son interpretaciones de w, sin embargo cdefgc no lo es.

2. Probar que si w está exenta de cuadrados, exenta de cubos o estrictamenteexenta de cubos, entonces toda interpretación de vv también lo está.

Una ©-cadena (omega cadena) es una secuencia infinita de símbolossobre un alfabeto. Es decir, oo-cadenas son cadenas de longitud infinita.

3. Sea w, una co-cadena exenta de cuadrados, exenta de cubos o estrictamenteexenta de cubos sobre E en la cual aparecen todos los símbolos de E. Su

 pongamos que E' es un alfabeto que contiene estrictamente a E (es decir,E c E'). Probar que se puede construir una co-cadena a partir de vv, que estará también exenta de cuadrados, exenta de cubos o estrictamente exentade cubos (como lo es vv) y que contendrá todos los símbolos de E'.

Si una cadena u co-cadena w está exenta de cuadrados, se puede esperar que u- contenga dos ocurrencias de la misma subcadena x, es decir, unasubcadena de la forma  xy = zx para la cual 1< |j| = |¿| <|x|. Algunas pruebas sencillas sugieren que la construcción de dicha w es más difícil delo que parece. De hecho, ¡no es posible!

4. Probar que si vv es una cadena o co-cadena que contiene una subcadena xy de forma que xy = zxy 1< |>'| = |z| < |x|, entonces vv no está exenta decuadrados.

www.FreeLibros.com 

Page 56: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 56/310

2

Lenguajes 

regulares

2.1 LENGUAJESSOBREALFABETOS

 No es una coincidencia el que la mayoría de los lenguajes considerados hastaahora hayan sido bastante sencillos. Los procesos vistos hasta ahora para determinar qué cadenas pertenecen a un lenguaje sobre algún alfabeto £ resultan pesados y laboriosos excepto para £* y algún otro lenguaje sencillo. Nuestro obje

tivo a partir de ahora será la definición de lenguajes —esto es, especificar exactamente qué cadenas componen un lenguaje— . Ya que todos los lenguajes sobre£ son sublenguajes del lenguaje universal £*, tiene sentido determinar primerocuántos sublenguajes tiene £* para un alfabeto £ en particular. Comenzaremosestudiando el propio £*.

Como ejemplo, consideremos el alfabeto £ = [a, b}. Para todo número natural n, hay sólo un número finito de palabras sobre £ cuya longitud es n. (¿Cuántas hay?). Aún más, dichas cadenas se pueden ordenar lexicográficamen

te. Por lexicográficamente, se entiende la forma en la que estarían ordenadas enel diccionario. Por conveniencia, numeraremos £ como 0, después numeraremoslas palabras de longitud 1 y, en general, numeraremos las palabras de longitudn + 1 después de las de longitud n. Así tenemos

Page 57: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 57/310

46 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

e 0a 1b 2

aa 3ab 4ba 5bb 6

aaa 7y así sucesivamente

De manera más general, supongamos que tenemos un alfabeto arbitrario E.Puesto que todos los alfabetos son finitos, podemos asignar un orden arbitrario alos caracteres pertenecientes a E. Así, sin pérdida de generalidad, podemos es

cribir 

E = {íü|, Cl2, ÍJ/i}

 Num erarem os las palabras de E* de la misma forma.

e 0<31 1

a2 2

an n

a\a i n + 1

a\ü 2 n + 2

y así sucesivamente

Esta técnica de asignar números naturales a las cadenas de un lenguaje, se puede realizar de form a más precisa. Volviendo al ejem plo original, dondeE= {a, b}, haremos que cada cadena sobre E sea representada por un número en binario, usando los dígitos 1 y 2 en vez de 0 y 1. Sea a el 1y b el 2, entonces seobtiene

8 0a 1b 2

aa 11=3

ab 12 = 4

abaa 1211 = 19

De esta forma, cada palabra está representada por un entero único. Esto no

ocurriría si hubiésemos usado el 0 para representar a a y el 1 a b, ya que a1estaría representada por 0, par^ todo i > 0.

www.FreeLibros.com 

Page 58: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 58/310

LENGUAJES REGULARES 47

Obsé n c e que para todo número natural m , existe una única representación:1 m isr base n. Por eso podemos encontrar una cadena en Z* correspon

diente a Si m > 0, entonces debemos obtener la representación de m en base 2

sando 1 utos 1 y 2 en vez de 0 y 1). Para ello, se concatenan los caracteresque corresponden a los dígitos que aparecen en la representación de m en base 2.Así, si ni  32 ,  primero se convierte m a 11112 y entonces se concatenan las aes 

ia bes ha.-aa obtener aaaab.

Hemos \ isto una forma de relacionar las cadenas de Z* con los números na- p rales, de na que cada cadena está representada por un único número naturaly cada mime, o natural representa a una única cadena. Esto, esencialmente, define una función de N a Z*, con lo que, de hecho, se ha esbozado la demostracióndel siguiente eorema:

Teorem a 2.1.1. Para todo alfabeto X. X* es infinito numerable. □

Ahora ano ya sabemos el tamaño de Z*, se puede determinar cuántossublenguajes dé Z* existen y, en consecuencia, cuántos lenguajes hay sobre el alfabeto Z.

Teoí 1.1.2. El conjunto de todos los lenguajes sobre Z no es numerable.

 Demostrc ion. S. -ngam os que el conjunto de todos los lenguajes sobre Z es numera-Lian. >s a dicho conjunto L. Puesto que L es numerable, puede ser enu-

:• erado de ;a ; >rma Ao, Ai, Az, ... Usaremos el método de la diagonalización paragar a una .: ntradicción.

Sabe: 'v . que Z* es numerable y por tanto puede ser enumerado como »vo,.......S>.;; {vv,-1vv/ £  A¡}. Luego  B está formado por las palabras que no per-

tecen ; uaje que tiene el mismo índice que las mismas. Obsérvese que  B

(. un con /! ,; ! de cadenas sobre Z y que, por tanto, es un lenguaje. De aquí que

. =Ak, para algún k. Obsérvese que si  B. entonces Wk no está en  A k - B .Por tanto, ir* está y no está en  Ak, lo cual es una contradicción. Por otro lado, si

a ; g  B, entoaces, de la definición de  B, se obtiene que es una cadena de

= B y es;á :n  B. Por tanto, Wf. está y no está en  B, con lo que se llega a otra

ntradic Dado que w* debe o estar en  B o no estar en  B, la suposición de

qué el conjunto de todos los lenguajes sobre Z es numerable es falsa. Luego el

conjunto no es numerable. □

El T< • na 2.1.2 proporciona una idea acerca de la magnitud del problema

de espedirán- lenguajes: hay una cantidad innumerable de lenguajes que especi-ar sobre un alfabeto en particular. No existe ningún método de especificación

i lenguajes que sea capaz de definir todos los lenguajes sobre un alfabeto. Esto

nifica ado un método de representación de lenguajes, hay lenguajes que

www FreeLibros com

Page 59: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 59/310

no son representabas. Por otro lado, unos métodos tienen mayor fuerza expresiva que otros, es decir, unos definen más lenguajes que otros. Con el estudio deestos métodos de investigación podemos hacernos una idea de la naturaleza mis

ma de la computación.

EjerciciosdelaSección2.1

2.1.1. Para el alfabeto Z = [a, b] y usando la aplicación E*-4N dada en este apartado, ¿cuántas palabras de longitud 3 hay? ¿Y de longitud 5? ¿Y de longitud kl  ¿Cuál es el último número asignado a las palabras de longitud 2? ¿Y a las delongitud 5? ¿Y a las de longitud kl 

2.1.2. En el caso general de que haya n caracteres en el alfabeto Z ¿cuántas palabrasde longitud k habrá? Si ordenamos las palabras de Z en orden lexicográfico yles asignamos números comenzando por el 0 para 8 ¿Cuál será el número asignado a la última palabra de longitud k ?

2.1.3. Usando los dígitos 1 y 2 en vez de 0 y 1, obtener la representación binaria delnúmero decimal 22. ¿Cuál es la palabra perteneciente a Z* = (a, b}* correspondiente al número (en base decimal) 22?

\2.1.4. Ampliaremos la idea precedente para Z = [a, b, c) usando una representación

ternaria con los dígitos 1, 2, 3. Supongamos que a está asociado con 1, b con 2 yc con 3. ¿Cuál será el entero decimal que corresponde a la palabra abbacca deZ*? Encontrar la palabra de Z* correspondiente a 20.

48 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

2.2 LENGUAJESREGULARESYEXPRESIONESREGULARES

El primer método para especificar lenguajes que vamos a estudiar define el con junto de lenguajes llamado lenguajes regulares sobre un alfabeto. Los lenguajesregulares son interesantes desde el punto de vista práctico porque pueden ser usados para especificar la construcción de analizadores léxicos —programas queanalizan un texto y extraen los lexemas (o unidades léxicas) que hay en el mismo. Para un alfabeto Z dado, los lenguajes regulares sobre Z son interesantesdesde el punto de vista teórico porque ellos constituyen el menor conjunto delenguajes sobre Z que es cerrado con respecto a las operaciones de concatenación, la cerradura de Kleene y la unión de lenguajes y además contiene el lenguaje vacío 0 y los lenguajes unitarios {a} para a e Z.

Definición 2.2.1. Sea Z un alfabeto. El conjunto de los lenguajes regulares sobre Z sedefine recursivamente como sigue:

www.FreeLibros.com 

Page 60: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 60/310

LENGUAJES REGULARES 49

(a) 0 es un lenguaje regular.

(b) {£} es un lenguaje regular.

(c) Para todo a e £, {a} es un lenguaje regular.(d) Si  A y  B son lenguajes regulares, entonces  A u  B, A ■B y  A* son len

guajes regulares.

(e) Ningún otro lenguaje sobre Z es regular.

Por tanto, el conjunto de los lenguajes regulares sobre E está formado por ellenguaje vacío, los lenguajes unitarios incluido {£} y todos los lenguajes obtenidos a partir de la concatenación, unión y cerradura de estrella de lenguajes.

Ejemplo 2.2.1

Dado £ = {a, b}, las siguientes afirmaciones son ciertas:

0 y {£} son lenguajes regulares.{a} y {b}son lenguajes regulares.{a, b} es regular jorque es la unión de {a} y {&}.

[ab] es regular.[a, ab, b] es regular.{a'|/ > 0} es regular.{a1b>\ i > 0 y  j > 0} es regular.{(ab)‘ | / > 0} es regular.

¿El lenguaje de todas las cadenas sobre [a, b, c} que no tienen ninguna subcadena ac es un lenguaje regular? Para responder a esta pregunta, consideremosque A es ese lenguaje. Si A es regular, entonces puede ser escrito en la forma que

se indica en la definición. Obsérvese que las unidades de construcción básicason los lenguajes {a}, {b}, {c},0y {£}. Supongamos que w es una palabra perteneciente a A. Entonces vv comienza por 0 ó más ces. Si las suprimimos obtenemos una subcadena w que no empieza por ningún carácter c. Ésta subcadena estará constituida por aes, bes y ces, donde cualquier bloque de ces sigue a las bes. Es más, no puede haber ningún bloque de ces al principio de vv'. Por eso se tiene

w 'e ({a} u {¿>} {c}*)*

y por tantow e { c } * ( { a } u { b } {c}*)*

de lo cual se obtiene

A c { c } * ( { a } u { f e } { c } T

Page 61: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 61/310

50 TEORIA DE AUTÓMATAS Y LENGUAJES FORMALES

Para probar la otra inclusión, obsérvese que si u es una cadena que tiene unasubcadena ac entonces

u<£  {c}*({a} u {b } { c } T

ya que no hay forma de que una c pueda seguir a una a. Por tanto

{c}*({a}u{¿} { c } y < z A

Podemos simplificar la especificación de un lenguaje regular introduciendoun especie de abreviatura llamada expresión regular. Convenimos en escribir a en lugar del lenguaje unitario {a}. Por tanto

denota [a, b)ab denota {ab}

a* denota {«}*;a+ denota {a}+

Adem ás, se establece que el orden de precedencia de los operadores *, u y •es * primero, • el siguiente y u el último. Esto reduce la necesidad del uso de paréntesis y hace que las expresiones sean más fáciles de leer. Por ejemplo, una

expresión ({a}*{¿})u {c}, se reduce a la expresión regulara*/? u c.A continuación definiremos de forma recursiva lo que es una expresión re

gular sobre el alfabeto X, usando la notación convenida:

1. 0 y e son expresiones regulares.

2. a es una expresión regular para todo a e X.

3. Si r  y 5 son expresiones regulares, entonces r u  s, r ■s y r* también loson.

4. Ninguna otra secuencia de símbolos es una expresión regular.

Comparando esta definición con la definición de lenguajes regulares se deduce que toda expresión regular sobre X denota un lenguaje regular sobre X.

Por ejemplo, el lenguaje de todas las cadenas sobre {a, b, c) que no tieneninguna subcadena ac se denota mediante la expresión regular c* (a u be*)*.

Cuando sea necesario distinguir entre una expresión regular  r y el lenguajedenotado por la misma, usaremos  L (r) para denotar el lenguaje. En cualquier caso, si se afirma que w e r, ello equivale a decir que w e  L (r). Si r y s son ex

 presiones regulares sobre el mism o alfabeto y si  L (r) = L (s), entonces se diceque r y s son equivalentes. En el caso de que r y s sean equivalentes se puede es-

FreeLibros com

Page 62: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 62/310

cribir r s. También se puede usar r c 5 en el caso de que L ( r ) c L (s). Obsérvese que para obtener r s se debe demostrar que r c j c r .

/ Fíjese que de la definición de cerradura de estrella para lenguajes se obtiene

que 0* = {e}, y en términos de expresiones regulares se tiene que 0* = e. Por tanto, se podría omitir £ en la definición de expresiones regulares. No obstante,como £ es una forma de abreviar 0*, se incluirá £, más por conveniencia que por necesidad. Igualmente, abreviaremos la expresión rr  por medio de r+.

Obsérvese que hay muchas expresiones regulares que denotan el mismolenguaje. Por ejemplo (ab)* y £ u ( í i u í ) f  b denotan el mismo lenguaje: el lenguaje de todas las cadenas con 0 ó más aes y bes, que son tanto la cadena vacíacomo las que tienen una b al final. Por tanto, (a*bY = £ u ( a u l ) ) ' b. Se pueden

simplificar las expresiones regulares reemplazándolas por otras equivalentes pero menos complejas. Por ejemplo, la expresión ab u £ u (a u b)* b puede ser sustituida por ab u (a*b)*.

Existen muchas equivalencias con respecto a expresiones regulares basadasen las correspondientes igualdades de lenguajes. Las resumimos en el siguienteteorema.

Teorema 2,2.2.tonces:

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

LENGUAJES REGULARES 51

Sean r, ,v y t  expresiones regulares sobre el mismo alfabeto Z. En-

r u í = j u c .

r u 0 = r = 0 u r. 

r u r= r.

( r u i ) u í = r u (.vu t).

/■£ = £r = r. 

i'0 = 0 r ~ 0 .

(rs) t= r (st).

r ( s U í ) = rs u rt  y ( r u  s ) l ~ t 1 u  st.

r* = /•*” = r V = (e U r)* ~ r* ( r u e ) = ( r u £) r = £ u r r .

(r u s)* - (r  u sY = (r s*)* = (r 's f r = r* (,sr *)*.

r (sr)' = (rs)* r.

(r* s)* = £ U ( r u s)a s.

(rs*)* = e u r (rus)*,

s (r U £)* (r u £) u s = sr*.

Page 63: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 63/310

52 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Muchas de estas igualdades se pueden demostrar mediante reasociación. Como muestra, consideremos la igualdad 11, r (.sr)* = (rs)* r. Si vv e r  (sr)*, entonces vv = ro (.si n ) ... (sn r„) para algún n> 0. Puesto que la concatenación es

asociativa, se puede reasociar la última expresión, con lo que se obtienew = (ro s i) (ri 52) • • • (rn - 1  sn) rn e (rs)* r. De aquí se obtiene que r (sr)* c(rs)* r  [o  L (r (sr)*) c  L ((rs)* r)]. Igualmente se puede probar que (r s ) * r cr (jr)* con lo que se demuestra la igualdad.

Para probar igualdades también se puede hacer uso de las igualdades ya conocidas. Por ejemplo, si r = s*t, entonces

r = / í = ( e u 5+) t  ya que s’ = e u j +

= ( e u  ss*) t  

= £í u  ss*t  por (8)

= t u  sr  por (5)

= i r u í por(l)

lo cual prueba que r =  s*t, implica que r = í r u í ./

EjerciciosdeiaSección2.2

2.2.1. Verificar, aplicando la definición de lenguaje regular, que los siguientes sonlenguajes regulares sobre Z = [a, b}:

(a) {«'l» > 0).

(b) {a11i > n } para un n >0 fijado.

(c) {vv e Z* | vv termina con a}.

2.2.2. Verificar que el lenguaje de todas las cadenas de unos y ceros que tienen al menos dos ceros consecutivos, es un lenguaje regular.

2.2.3. Los identificadores de Pascal son cadenas de longitud arbitraria compuestas por caracteres alfabéticos y por dígitos. Los identificadores de Pascal deben empezar por un carácter alfabético. ¿Es este lenguaje un lenguaje regular?

2.2.4. Obtener una expresión regular que represente el lenguaje de los identificadoresde Pascal.

2.2.5. (a) Probar que (r u £)* = r*.

(b) Probar que (b u aa*})) u (b u aab) (a u ba’b)* (a u bab) ya*b (a u ba'b)* son equivalentes.

2.2.6. Sobre [a,b,c) ¿son equivalentes las parejas de expresiones regulares decada apartado?

www.FreeLibros.com 

Page 64: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 64/310

LENGUAJES REGULARES 53

(a) (a u b)* a* y ((a u b) a)*.

(b) 0** y e.

(c) ((a u b) c)* y (ac u be)*.

(d) b (ab u ac) y (ba u ba) (b u c).

2.2.7. Simplificar:

(a) 0 * u a * u l )’ u ( a u 6)’-

(b) ((aV)* • (b*a*)*)*.

(c) (a*b)* u (b*a)*.

(d) (a u b)* a(a'U b)*.

2.2.8. Probar que (aa)* a = a (aa)*.

2.2.9. Simplificar las siguientes expresiones regulares:

(a) (e u aa)*.

(b) (£ u aa) (e u aa)*.

(c) a (e u aa)* a \ j£ .

(d) a (e u aa)* (£ u aa) u a.

(e) (a u e) a*b.

(f) (£ u aa)* (£ u aa) avj a.

(g) (£ u aa) (£ u aa)* (£ u aa) u (£ u aa). i

(h) (£ u aa) (£ u aa)* (ab u b) u (ab u b).\

(i) (■a u b) (£ u aa)* (£ u aa) u f o u b).

(i) (aa)* a kj (aa)*.

(k)a*b ((a u b) a*b)* u a*b.

(1) a*b ((a u b) a*b)* (a u b) (aa)* u a (aa)* u a*b ((a u b) a*b)*.

AUTÓMATAFINITODETERMINISTA

Consideremos el lenguaje regular  A representado por c* (a u be*)*. Si dada unacadena vv se nos pregunta si vv pertenece a A, debemos analizar no sólo los caracteres que aparecen en vv, sino también sus posiciones relativas. Por ejemplo, lacadena abc

5ciab está en  A, sin embargo cabac’bc no lo está. Podemos construir 

un diagrama que nos ayude a determinar los distintos miembros del lenguaje.Tal diagrama tiene la forma de un grafo dirigido con información adicional añadida, y se llama diagrama de transición. Los nodos del grafo se llaman estados y se usan para señalar, en ese momento, hasta qué lugar se ha analizado la cade-

F Lib

Page 65: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 65/310

54 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

na. Las aristas del grafo se etiquetan con caracteres del alfabeto y se llamantransiciones. Si el siguiente carácter a reconocer concuerda con la etiqueta de al

guna transición que parta del estado actual, nos desplazamos al estado al que noslleve la arista correspondiente. Naturalmente, nosotros debemos comenzar por un estado inicial, y cuando se hayan tratado todos los caracteres de la cadena correspondiente, necesitamos saber si la cadena es “legal”. Para ello se marcanciertos estados como estados de aceptación o estados finales. Si cuando ha sidotratada la cadena en su totalidad terminamos en un estado de aceptación, entonces la cadena es “legal” . Marcaremos el estado inicial con una flecha (—») y alrededor de los estados de aceptación trazaremos un círculo.

Por ejemplo, el diagram a de la Figura 2.1 acepta todas las cadenas que están

formadas por 0 ó más aes seguidas por una única b. Obsérvese que para toda cadena de la forma ak b, para k > 0, el recorrido del diagrama termina en un estadode aceptación. El recorrido del mismo con cualquier otra cadena de aes y bes (incluida la cadena vacía) termina en cualquier otro estado, pero éste no es deaceptación.

a

a, b cá  ■-

'4''

6 a, b Figura 2.1

Considérese el lenguaje  A = {{ab)L\i > 1}, el cual está representado por laexpresión regular (ab)+. Obsérvese que una cadena de este lenguaje ha de tener 

al menos una copia de ab. Por tanto, si se construye un diagrama de transición para este lenguaje, el estado inicial no puede ser también estado de aceptación.Es más, si estando en el estado inicial se encuentra el carácter b, esto indica quela cadena no puede ser aceptada. Por tanto, hay dos transiciones a partir del estado inicial, una para a y otra para b. La transición correspondiente a , nos lleva aun estado en el que se espera encontrar como siguiente carácter de la cadena,una b. Si se obtiene b, entonces nos desplazaremos a un estado de aceptación.Luego, si no hay más caracteres a considerar, se habrá identificado una cadenalegal. Si no se han agotado los caracteres de la cadena, tomaremos la transición

apropiada que parta de dicho estado. El diagrama de transición para A es el quese muestra en la Figura 2.2. ~”7

Obsérvese que se tiene un único estado de aceptación. Si el análisis terminaen cualquier otro estado, la cadena no está correctamente construida: Obsérvese,

Page 66: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 66/310

LENGUAJES REGULARES 55

a, b

a .

a Figura 2.2

también, que una vez que se identifica un prefijo incorrecto, se realiza un des plazamiento a un estado que no es de aceptación y se permanece en el mismo.

Consideremos el lenguaje (ab)*. En este caso si se acepta la cadena vacía.Por tanto, el estado inicial también es de aceptación. El diagrama de transicióncorrespondiente se muestra en la Figura 2.3.

Vamos a etiquetar los estados del último diagrama de transición con las letras q¡, para i = 0, 1,2 . Obtendremos la Figura 2.4.

Podemos representar el diagrama de la Figura 2.4 por medio de una tabla

que indica el siguiente estado al que desplazarse, desde un estado combinadocon un símbolo de la entrada (Figura 2.5).

b

a

t ra, b Figura 2.3

b

a

a, b Figura 2.4

Page 67: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 67/310

56 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Obsérvese que la tabla para nuestro diagrama de transición tiene, para cada par estado actual-entrada, un único estado siguiente. Por tanto, para cada estadoactual y símbolo de entrada, se puede determinar cuál será el estado siguiente.Se puede pensar que el diagrama representa la acción de alguna máquina. Estamáquina puede pasar por diferentes estados. El cambio de estado depende de laentrada y del estado en que se encuentre. Dicha máquina se llama autómata fini -to, una computadora ideal. El autómata finito se define en términos de sus estados, la entrada que acepta y su reacción ante la misma. Hay autómatas finitos dedos tipos, deterministas y no deterministas, dependiendo de cómo se defina lacapacidad para cambiar de estado. El autómata que corresponde a la Figura 2.5

 para (ab)* es determinista.

EstadcAEntrada a b

Ct\ 92

<?2 (lo

<72 <72

Formalmente, un autómata fini to determinista M  es una colección de cincoelementos.

1. Un alfabeto de entrada Z.

2. Una colección finita de estados Q.

3. Un estado inicial 5.

4. Una colección  F de estados finales o de aceptación.

5. Una función 5: Q x Z —» Q que determina el único estado siguiente para el par  (g¡, o) correspondiente al estado actual y la entrada.

Generalmente el término autómata finito determinista se abrevia como AFD. Usaremos M = (Q , Z, s\ F, 8) para indicar elconjunto deestados, el alfabeto, el estado inicial, el conjunto de estados finales y lafunción asociada con elAFD M.

Por ejemplo, el AFD correspondiente al ejemplo anterior se representa mediante M (Q, Z,  s, F, 5), donde

Q= {<70, qu <72}

Z — {a,b} 

 s = qo

 F={qo)

www FreeLibros com

Page 68: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 68/310

LENGUAJES REGULARES 57

8 se define mediante la tabla de la Figura 2.6.

6 a b?o <71 <?2

<7i <¡2 qo

(¡2 Q2 <12 Figura 2.6 

La característica principal de un AFD es que 6 es una función. Por tanto, 8se debe definir para todos los pares (q¡, o) de Q x I. Esto significa que sea cual

sea el estado actual y el carácter de la entrada,  siempre hay un estado siguiente yéste es único. Por tanto, para un par (q¡, a) hay uno y sólo un valor de la función(estado siguiente), § (q¡, 0 ). En otras palabras, el estado siguiente está totalmentedeterminado por la información que proporciona el par (q¡, a).

Se puede crear un diagrama de transición a partir de la definición de unAFD. Primero, creamos y etiquetamos un nodo para cada estado. Entonces, paracada celda q¡ de la fila correspondiente al estado q¡, trazamos una arista desde q¡ a qj, etiquetada con el carácter de entrada asociado a qj. Finalmente, se marca elnodo 5 con una flecha, y se trazan unos círculos en todos los nodos de  F para in

dicar' cuáles son los estados de aceptación. Por tanto, el diagrama de transición para el AFD  M {Q, £, .y, F, 8}, donde

Q={qo, <7 1 }E = {a, b }

^={<70}

 s = qoy 8 representada mediante la Figura 2.7

8 a b

<?0 <?o.

9i <?i <?o Figura 2.7

se muestra en la Figura 2.8.

a

a-------> ®— 

F igura 2 . 8

Page 69: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 69/310

58 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Consideremos otro ejemplo. El AFD  M   {Q , X, s, F, 5} representado por 

Q = Wo, <?i, <?2, q3 }

 Z = { a ,b }(*) J - 9 0

 F = {<70, <?i,<?2 }y 8 dada por la tabla de la Figura 2.9.

5 a b

<?o <?o <?i

<?i 9o <72

<?2 qo <73

<?3 <73 <?3 Figura 2.9

El diagrama de transición correspondiente se muestra en la Figura 2.10.

a

-------»®----------£-------- >®---------- £-------->®---------£-----------b

(J% <?2 q3a

Figura 2.10

"T c ^ EjerciciosdelaSección2.3

2.3.1. Obtener la expresión regular que representa al lenguaje formado por todas lacadenas sobre {a, b} que tienen un número par de bes. Construir el diagrama de

transición para este lenguaje.2.3.2. Construir el diagrama de transición para el lenguaje dado por  c* (a u be*)*. 

Convertir el diagrama en una tabla como la dada en la Figura 2.5, etiquetandolos estados qo,q\, ...

2.3.3. Sea M= {Q, Z, s, F, 5} dado por 

Q=  {<?0,<7l,<72,?3}£={0,1}

{^0 }■5= <?0

y 8 dada por la tabla de la Figura 2.11.

www.FreeLibros.com 

Page 70: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 70/310

LENGUAJES REGULARES 59

5 0 1

Qo <72 <?1

<73 qa

<12 <73

43 <7i <72 Figura 2.11

Construir el diagrama de transición. Obtener la secuencia de estados por los quese pasa para aceptar la cadena 1 1 0 1 0 1 (el carácter del extremo izquierdo es el primero en ser analizado).

2.3.4. ¿La Figura 2.12 es un diagrama de transición correspondiente a un AFD? ¿Por qué o por qué no?

H>®-

crFigura 2.12

AFDYLENGUAJES

Para trabajar con los AFD es necesario usar ciertas definiciones y notaciones. Si M es un AFD, entonces el lenguaje aceptado por M es

 L (Ai) = {vv e L* | w es aceptada por  M }

Por tanto,  L ( M) es el conjunto de cadenas que hacen que  M pase de su estado inicial a un estado de aceptación.

Por ejemplo, el lenguaje aceptado por el AFD (*), presentado en la últimasección, es

 L (. M ) = {vv e [a, b } | vv no contiene tres bes consecutivas}

Merece la pena hacer hincapié en que  L ( M ) está formado por todas las ca

denas aceptadas por M, y no que es un conjunto de cadenas que son todas aceptadas por  M.Para cada (q¡, a) de Q x I . 5 (q¡, a) es un estado perteneciente a Q, y él mis

mo puede ser emparejado con la entrada. Este par se transforma mediante 8 enun nuevo estado de Q. En particular, si qo es el estado inicial de  M  y se tiene

Page 71: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 71/310

60 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

como entrada la cadena C 1G2 0 3 , el estado resultante se obtiene mediante la aplicación de 8  (8  (8  (qo, Ot), G2 ), 0 3 ). Por ejemplo, para el AFD (*) de la últimasección, se tiene 8  ( 8  ( 8  ( 8  (qo, b), b), a), b) = q\ para la cadena bbab. Obsérvesela aplicación recursiva de M sobre la cadena. Adviértase, también, que escribir esta expresión es un proceso bastante laborioso. Nos pondremos de acuerdo enusar 8 (qo, bbab) para abreviar 8  ( 8  (8  (8 (qo, b), b), a), b). Para ser más precisos,si q¡ e Q y vv es una cadena de la forma a¡ w'  para algún a¡ e E y una subcadenavv', definiremos 8  (q¡, w) como 8  (8  (q¡, a¡), w').

Diremos que dos AFD  M\ y  Mi son equivalentes si  L ( M \) = L (Mi). Por ejemplo, sean  M\ y M 2 sobre el alfabeto E = {a }, representados por los siguientes diagramas de transiciones

Mi:í) ®, M2:

Ambos aceptan el lenguaje a+ y, por tanto, son equivalentes. Por otro lado,sea M3 dado por el siguiente diagrama

 My. ®

no es equivalente a Mi o  Mz (¿por qué?). Obsérvese que M4 dado por el diagrama de transición siguiente

a

í)Mi: ----- > ®

es equivalente a M3 y es más “sencillo" puesto que tiene menos estados. Los problemas del final del capítulo estudian las dificultades que existen para determinar si dos AFD son equivalentes y para transformar un AFD en otro equivalente que sea más sencillo.

EjerciciosdelaSección2.4

2.4.1. Sea M un AFD. ¿Cuándo pertenecerá £ a L (Ai)?

2.4.2. Construir los AFD que aceptan cada uno de estos lenguajes sobre [a, b}:

(a) {vv | toda a de w está entre dos bes}

(b) {w\w contiene la'subcadena abab}

Page 72: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 72/310

LENGUAJES REGULARES 61

(c) {iv| vv no contiene ninguna de las subcadenas aaobb)

(d) {vv | vv tiene un número impar de aes y un número par de bes}

(e) {w | w tiene ab y ba como subcadenas}2.4.3. Sea S el conjunto de todos los AFD sobre el alfabeto £. Sea  R c z S x S  larela

ción definida de manera que: (Mu M 2 ) esté en i? si y sólo si M\ esequivalente a M 2 (como autómatas finitos). Probar que R es una relación de equivalencia en S  (y, por tanto, que la definición de equivalencia de AFD es consistente con el usomatemático habitual de los términos).

AUTÓMATAFINITONODETERMINISTA

Si se permite que desde un estado se realicen cero, una o más transiciones mediante el mismo símbolo de entrada, se dice que el autómata finito es no deter-minista. A veces es más conveniente diseñar autómatas finitos no deterministas(AFN) en lugar de deterministas. Consideremos el lenguaje a*b u ab*. Las cadenas pertenecientes a este lenguaje están formadas por algunas aes seguidas deuna b o por una a seguida de varias bes. El AFD que acepta A se representa por medio del diagrama de transición de la Figura 2.13.

Figura 2.13

Aunque el lenguaje es relativamente sencillo, debemos detenemos en poder determinar si este diagrama de transición corresponde al AFD de  A. Primero sedebe comprobar que reconoce sólo las cadenas pertenecientes a A, y después, sirepresenta a un AFD. Para ello, debemos comprobar que las reglas de transiciónconstituyen una función, es decir, que de cada estado parte una y sólo una transición para cada símbolo del alfabeto.

Consideremos ahora el diagrama de transición de la Figura 2.14. Obsérveseque este diagrama acepta sólo las cadenas pertenecientes a A. Fíjese también quelas reglas de transición no son una función de "Qx £ en Q porque no asigna unestado siguiente a los pares estado-entrada (<74, a), (<73 , a), ( 43 , b), (<72, o) y (q2 , b). Es más, existe_más de un estado siguiente correspondiente al par  (qo, a).

www FreeLibros com

Page 73: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 73/310

62 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Figura 2.14

Este diagrama de transición representa a un AFN. Finalmente, obsérvese que eneste diagrama es más fácil determinar qué lenguaje se acepta.

Si tratamos de definir el término autómata finito no determinista, veremos/ que la mayor parte de la definición se puede obtener a partir de la de AFD. Es

decir, tendremos un conjunto finito de estados Q, un alfabeto de entrada E, unestado inicial o de partida  s, un conjunto de estados de aceptación  F y una reglade transición. La única diferencia que existe se encuentra en las reglas de transición. En un AFN, las reglas asocian pares (q, o) con cero o más estados. Se puede decir qué las reglas relacionan pares (q, a) con colecciones o conjuntos de estados. Esto significa que la regla es una relación entre Q x E y <2. o sobre(Q x L) x Q. Por tanto, definiremos una autómata fini to no determinista median

te una colección de cinco objetos (Q , E,  s, F, A), donde

1. Q es un conjunto finito de estados.

2. E es el alfabeto de entrada.

3. í es nno de los estados de Q designado como estado de partida.

4.  F es una colección de estados de aceptación o finales.

5. A es una relación sobre (Q x E) x Q y se llama relación de transición.

Obsérvese que, puesto que A es una relación para todo par (q , o) compuesto por el estado actual y el símbolo de la entrada, A (q, o) es una colección de ceroo más estados fes decir, A (q , a) c Q], Esto indica que, para todo estado q, se pueden tener cero o más alternativas a elegir como estado siguiente, todas parael mismo símbolo de entrada.

Por ejemplo, el AFN descrito anteriormente para  A = a b u ab* se representa por medio de

Q = {qo, qí , <?2, <73, 94}

F = { q z , 43,94}

s = qo 

E = { a , ¿ }

93

www.FreeLibros.com

Page 74: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 74/310

LENGUAJES REGULARES 63

y A dada por la tabla de la Figura 2.15.

A a b

9o !<?b<?4) (<?3)

9i Í9i)

92 0 0

93 0 0

94 0 {9 4 } Figura 2.15

Obsérvese que en la tabla de la relación de transición las celdas son conjun

tos. El hecho de que existan celdas con 0, indica que no existe ninguna transición desde el estado actual mediante la entrada correspondiente. Que para un par estado actual-entrada exista más de un posible estado siguiente indica que se

 puede elegir entre las distintas posibilidades. En el modelo no existe nada quedetermine la elección. Por esta razón, se dice que el comportamiento del autómata es no determinista.

Veamos otro ejemplo. Consideremos el AFN  M = (Q .Z , s, F, A) dado por 

Q=  {<70, <71, <72 }

5 = qo 

 F = k/o}

y A dada por la tabla de la Figura 2.16. Este AFN tiene el correspondiente diagrama de transición que se muestra en la Figura 2.17.

A a b

<70 í<?i) 0

9i 0 Í9o, 9 2 )

92 (9o) 0

Figura 2.16 Figura 2.17

Este AFN acepta el lenguaje (ab u aba)*. Obsérvese que cuando se está enel estado q\, mediante el símbolo de entrada /?,*se puede pasar a dos posibles estados siguientes. Se puede elegir entre uno de estos estados. De nuevo, la elección de un estado no está determinada por el modelo. Si para el reconocimiento

Page 75: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 75/310

64 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

de la cadena aba, se elige 42 como estado siguiente desde el par (q\ ,b) llegamosa un estado de aceptación; sin embargo, si elegimos #0 no llegamos a un estado

' final. El análisis de cadenas mediante los AFN parece que implica ciertas conje

turas. Esta es una característica del no determinismo: cuando se debe realizar una elección y dicha elección no puede ser determinada por el modelo, debemosacertar la correcta. En un modelo de computación no determinista (del cual losAFN son una clase), asumimos que siempre se hace la elección correcta.

Como con los AFD, si  M  es un AFN, definimos el lenguaje aceptado por  M   por medio de

 L ( M) {w\ w es una cadena aceptada por  M)

donde una cadena vv es aceptada por  M, si M  pasa de su estado inicial a un esta

do de aceptación o final al recorrer w (vv es consumida en su totalidad).Para determinar si una cadena pertenece a  L (M), se debe recorrer el diagra

ma de transición correspondiente a M. Debemos encontrar un camino que termine en un estado de aceptación cuando haya sido consumida toda la cadena. Durante el recorrido, debemos elegir de forma no determinista la transición de unestado a otro cuando existe más de una para el mismo símbolo. Para afirmar quela cadena no está en  L (Ai), debemos agotar todos las formas posibles de recorrer el diagrama de transición para dicha cadena. Para diagramas de transición senci

llos, esto puede ocasionar un problema de gasto de tiempo. El siguiente ejemplo proporciona una form a de abordar este problema de una manera distinta, evitando la búsqueda exhaustiva por el diagrama.

Ejemplo 2.5.1.... s,

El diagrama de transición de la Figura 2.18 corresponde a un AFN queacepta el lenguaje

(a*b*)* (aa u bb) (a b*)*

www FreeLibros com

Page 76: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 76/310

LENGUAJES REGULARES 65

La tabla para A viene dada por la Figura 2.19

\

A a b ' 

4o {<?0> <?3) {4o-9i)

4i 0 {42}

92 {42} {42}

43 (44} 0

<74 {94 ) {44 } Figura 2.19

La naturaleza recursiva del análisis de cadenas que vimos para los AFD semanúene en los AFN si la notación se define con cuidado. Si  X  c Q, vamos a interpretar A ( X , a) como el conjunto de estados { p \ q e X   y  p e A (q, a)}. Por tanto, A (X, o) es el conjunto de todos los estados siguientes a los que se puedellegar desde  X  con la entrada a. Obsérvese que A (X, a) = {J 9e x A (qr, a) [recuérdese que A (q, a) es un conjunto para cualquier estado q\.

Por eso, en el ejemplo precedente,

A ({<70, qi, #3}, ¿0 = {?0, <7i} v {<72} U 0 = {<70, <71,42}

Ahora obsérvese que para la cadena abaab, se obtiene que A (qo, a) =

{40 , <7 3}, con lo que

A (qo, ab) = A (A (qo, a), b)

= A({qo, qz},b)

= {qo,q\} U 0

= {qo, q\)

Por tanto, podemos extender la notación usada para los AFD a los AFN yescribir A (qo, abaab) para abreviar A (A (A (A (A (<70, a), b), a), a), b).

En el Ejemplo 2.5.1, se tiene que A (qo, abaab) = {qo, <71, q4}. La colecciónA (qo, abaab) es el conjunto de todos los estados de  M  a los que se llega cuando

se analiza la cadena abaab. Esta colección tienen en cuenta todos los posiblescaminos o recorridos de  M  con esta cadena de entrada. A (qo, abaab) contiene almenos un estado de aceptación, ¿74, lo que indica que algún recorrido de este diagrama para la cadena abaab termina en un estado de aceptación. Por eso, abaab  pertenece al lenguaje aceptado por este AFN.

Page 77: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 77/310

66 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

EjerciciosdelaSección2.5

2.5.1. Construir un AFD y el diagrama de transición asociado que acepte el lenguaje(ab u aba)*. Compararlo con el AFN del Ejemplo 2.5.1.

2.5.2. Obtener un AFN (que no sea AFD) que acepte el lenguaje ab* u alia.

2.5.3. Usar la técnica precedente para determinar si las cadenas babba y aabaaba sonaceptadas por el AFN del Ejemplo 2.5.1.

2.5.4. Sea M el AFN dado por Q = [qo, q\}, 2 = {a, b}, s = qo, F= {gi} y A dada en laFigura 2.20. Determinar si a2b, ba y b2a están en L (M). Dibujar el diagrama detransición para M.

A a b

9o (<7o><?i) l<7i)

9i 0 lío.í i) Figura 2.20

EQUIVALENCIADEAFNYAFD

Hemos definido la equivalencia para los AFD. Extenderemos esta definición para la clase de todos los autóm atas finitos (AFD y AFN) de forma que un autómata M es equivalente a un autómata' M' si L (M ) =  L ( M ').

Ejemplo 2.6.1

Los autómatas representados en la Figura 2.21 son equivalentes. Obsérveseque uno es determinista y el otro no determinista. Sin embargo, ambos aceptanel mismo lenguaje, a f a u b)*.

. ' P )a'k Figura 2.21

Ya que una función es un caso especial de relación (es decir, las funciones

son relaciones que poseen requerimientos adicionales), las funciones de los AFD

se consideran como relaciones en los AFN. En consecuencia, todo AFD es unAFN. La colección de lenguajes aceptados por los AFN incluye a todos los len

guajes aceptados por los AFD. De esto resulta que los AFN sólo aceptan los len

www.FreeLibros.com 

Page 78: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 78/310

LENGUAJES REGULARES 67

guajes aceptados por los AFD. Por lo tanto, los AFN no son más potentes quelos AFD con respecto a los lenguajes que aceptan. Para probar esto, necesitamosdemostrar que todo lenguaje aceptado por un AFN también es aceptado por al

gún AFD.Sea M = (Q , £ ,  s, F, A) un AFN. En la sección anterior presentamos una for

ma de recorrer  M, de la cual se obtenía la colección de todos los estados accesi bles desde el estado inicial en cada una de las etapas de análisis de una cadena.Estas técnicas proporcionan la base para construir un AFD  M' = (Q\ E', / ,  F \ 8)que acepte el mismo lenguaje que Ai. Esencialmente, lo que se pretende es hacer que cada estado de Q'  se corresponda con un conjunto de estados de Q. Cuandose analiza una cadena con  M, ésta se acepta cuando la colección final de estados

contiene al menos un estado de aceptación perteneciente a  F. Por tanto, haremosque  F  sea el conjunto de estados de Q'  que se correspondan con los conjuntosde estados (de Q) que contienen un estado de  F. Haremos corresponder a s' conel conjunto | .y}, £ ' = £, y definiremos 5 de forma que nos desplacemos de unconjunto de estados de M  a otro, como hace A.

Ejemplo 2.6.2

Consideremos el AFN M que acepta a u (ab)*, representado por el diagrama de transición de la Figura 2.22. Para este AFN, tendremos

A (qa, a) = {q\, q2) 

 A(qo,b) =0

 A({qi ,q2 },a )= 0  

 A({q\,q2 }.b) = {qi]A (0, a)=A (0, b) = 0 

A (<?3, a)= {q2}A (<73, b) =0

A (q2, a) = 0 

 A (q2, b) = {<y3}

% a ->® 9ia

a b  Figura 2.22

Por tanto, el diagrama de transición correspondiente al AFD  M'  que esequivalente a M viene dado en la Figura 2.23. Obsérvese que cada estado de M' 

Page 79: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 79/310

68 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

0 8

a, b

Figura 2.23

• [q2

corresponde a un conjunto de estados de M. Los estados de aceptación de Af se

corresponden con los conjuntos de estados de M que contienen estados de aceptación.

Se verifica fácilmente que la regla de transición es una función. Por tanto M' = (Q, i ',  F , 5) donde

G ' = { 0 , { ® } . { 9 2 } . í « 3 } . { 9 l . f t } }  r = z

í '= {<?o}

f = { { ( ¡   3 }, \q\, <72 }}

y 8 viene dada por la tabla de la Figura 2.24.

§ a b

0 0 0

(<7o) {<7i><72) 0

{<72} 0 {<73}

(4 3 } i<?2) 0

f<?i> <?2¡ 0 {4 3 } Figura 2.24

Ahora demostraremos formalmente que todo lenguaje aceptado por un AFNes también aceptado por un AFD, con lo que probaremos que los lenguajes AFNy los lenguajes AFD están formados por la misma colección de lenguajes.

Teorem a 2.6.1. Sea  M = (Q, £, s, F, A) un AFN. Entonces existe un AFD  M' = = (Q s ' , F, 5) que es equivalente a M.

 Demostración. Definamos  M' = (Q \ £ ' ,  F , 8) como sigue: sea  s' = { 5 }, £ ' = £,Q = 2^ (que es la colección de todos los subconjuntos de Q) y F  la colección de

www.FreeLibros.com 

Page 80: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 80/310

LENGUAJES REGULARES 69

todos los subconjuntos de Q' que contienen estados deF. Téngase en cuenta quehemos incluido en Q' y F  algún objeto más que en el ejemplo anterior. Sin em-bargo, esto no alterará la construcción deM'. Para cada conjunto \q¡v q¡2, q¡n} deQ' y cada símbolo de entrada o de 2, definiremos 8 como

8 ({<?/,,qiv q¡„), o) = [pi,p 2 , ,Pk  }

si y sólo si

A ({<?(,, qiv q ¡„}, o) = {pup 2 , ,Pk  }

Obsérvese que 8, definida de esta forma, es una función de Q' x Z' en Q', puesto que está bien definida para todos los elementos deQ' x

Para probar que L (M ) — L (M'), debemos demostrar que para toda cadenaw, 8 (/, vv) = {pup 2 , ...,p j  } si y sólo si A (.y, w) = [p\,p% ...,p j  }, con lo cual M'  acepta vv si y sólo si M acepta vv. Probaremos esto por inducción sobre la longi-tud de vv. Si la longitud de w es 0 (es decir, w = e), entonces

A (5, vv) = A (5, e) = {.y} = 8 (.y', vv)

Ahora supongamos que para toda cadena w de longitud menor o igual quem  

se tiene que A (s , vv) = 8 (/, vv). Supongamos que u es una cadena de longitudm + 1. Entonces, existirá algún oe Z, de forma que se obtiene que u = wo, don-de w es una cadena de longitud m. En este caso, 8 (/, vvo) = 5(8 (s\ vv), o). Ahora, por la hipótesis de inducción, dado que vv tiene longitud m, 8 (/, w) =ÍP\,P2, •,P j  } si y sólo si A (s, vv) = [p\,p 2 , •••,P j  }• Pero por la forma en la quehemos definido 8, tendremos que

8 ({pi,jp2, -;P j} , O) = {ru r 2, ..., rk} 

si y sólo si

A ({puP 2 , ,P j  }, o) =  {ru r2, ..., rk] 

Por lo que 8 (/, vva) = {rt, r2, n }   si y sólo si A (s, wo) =  {n, n, >'k}-  Esdecir, la igualdad se cumple para cadenas de longitud m + 1si se cumple paracadenas de longitudm. Entonces por lo anterior tenemos que 8 (5', vv) es un esta-do de F  si y sólo si A (5, vv) contiene algún estado deF. Por tanto, M' acepta vvsi y sólo siM acepta w. □

Obsérvese que, en la demostración, el AFD M' correspondiente al AFN M  contiene muchos estados que no son accesibles desde el estado inicial. En lapráctica, es una buena idea empezar con s' y añadir estados sólo cuando son elresultado de una transición desde un estado previamente añadido.

www FreeLibros com

Page 81: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 81/310

Page 82: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 82/310

LENGUAJES REGULARES 71

V

Figura 2.27

Si un AFN tiene e-transiciones, la relación de transición A asocia pares de<2x(Eu {e})x(2 con subconjuntos de Q. Es decir, A es una relación sobreQ x (E u {e}) x Q. Se puede añadir una columna en la tabla de A para colocar los pares de la forma (q¡, e). jQuando hay e-transiciones en un AFN es conve

niente suponer que cada estadoj tiene una 8-transición que cicla en ese estadojUsaremos esto para sistematizar el cálculo de los AFN. Es decir, el AFN de laFigura 2.27 tendría la tabla de transición de la Figura 2.28.

A a b e

<?o í<7i) 0 0

<?i 0 i<?2Í 0

<72 {<7ol 0 í<?o) Figura 2.28

Para tratar de calcular el conjunto de los estados siguientes de un AFN quecontiene e-transiciones, debemos tener en cuenta las e-transiciones “anteriores”y “posteriores” a la transición etiquetada con o. Por ejemplo, consideremos elAFN M  dado en la Figura 2.29.

%

Figura 2.29

Como se ve en la Figura 2.29, el conjunto de estados siguientes al estado qo mediante la entrada a es el conjunto {q\,qn} debido a la 8-transición que hay

después de la transición con a. Igualmente, el conjunto de estados siguientessiendo q\ el estado actual y b la entrada, es el conjunto [qo, q2, qs} debido a la e-transición que existe antes de tomar la transición con b. Obsérvese que

A (qo, ahubbb) {qo, qs} con lo que ababbb es aceptada por  M.

F Lib

Page 83: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 83/310

72 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Se puede sistematizar el proceso para calcular el conjunto de los estados siguientes en un AFN con £-transiciones. Para todo estado q e Q , definimos la e-cerradura de q como

e c (q) = [p\p es accesible desde q sin consumir nada en la entrada}

Ampliaremos está definición para todo el conjunto de estados de la siguientemanera

71

({?/]»q¡2> •••>q¡„}) —i _ J e—c iq¡k)k= 1

Por ejemplo, para el AFN de la Figura 2.30, se tiene que

e - c f e ) = {4 3 }

Figura 2.30

ya que cada estado es accesible desde sí mismo sin consumir ningún carácter de

la entrada. También se obtiene

e -c (qo) = {qo, q \ ,q 7 )

e-c (44) = {<7 1 , <72 , <74}

Para q e Q y o 6 X se define

d (q, a) = {p | hay una transición de q a p etiquetada con o}

La colección d (q , a) es la colección de estados que “siguen” directamente aq pasando por la transición etiquetada con a. Ampliaremos la definición de d  alos conjuntos como sigue

Page 84: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 84/310

LENGUAJES REGULARES 73

d {{q¡v q¡2,....q¡„},C) ' J d (q¡k, a)k; I

Por tanto, en el ejemplo precedente se tiene que

d O/o, a) = {(¡i ] d Uto, b) = 0  

d({cjy, <  } ,b )= \qfí,q i)

Obsérvese que e-c (d  (q, o)) es el conjunto de todos los estados accesiblesdesde q, primero mediante una transición con es y después mediante una o máse-transiciones. Por otro lado, d  i- (q), o) el conjunto de todos los estadosaccesibles desde q tomando primero una o más e-transiciones y después unatransición con i-.

Finalmente, obsérvese que e-c id  (e -c O/i a) ) es el conjunto de todos losestados accesibles desde q tonua. . primero ;a o más e-transiciones, despuésuna transición con a y, por último, una o más ¿-transiciones. Téngase en mente

que permanecer en un estado es como ,o; ir una e-transición. Por tanto,e-c (d (e-c (q), a)) es el conjunto todos i nados siguientes al actual q mediante la entrada a . Esto sister el cál; ;e conjuntos de estados siguientes. Primero se obtiene e-c (q). ; o se c; \ -i:, d (e-c (q), o) y después se obtiene la e-cerradura del conjunto do estados : -.antes.

Ejemplo 2.7.1

Considérese el AFN c, í-transicioncs dado en la Figura 2.31. Usando lafórmula anterior, obtendremos el conjunto ee los estados siguientes al estado q  por medio del símbolo de la entrada a:

Figura 2.31

F Lib

Page 85: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 85/310

74 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

£c(<7o) = {<70, <71 }d (ec (q0), a) = {q , <74 }

ec ({<73, <?4}) = { i, <73, <74, <75 }

Así, mediante la entrada a,  el conjunto de los estados siguientes es[quqi, <74, qs)Es decir, A (<70, a) = {<71, <73, <74, 9 5}-

A partir de un AFN  M = (Q, E, 5 , F, A) que tiene e-transiciones, se puedeconstruir un AFN sin e-transiciones que acepte el mismo lenguaje. Se define

 M' = (Q, E,  s, F , A') como

 F = F u { q \& c ( q ) n F * & )

y A' (q, a) = e-c (d (e-c (q), a)), como antes.Obsérvese que el autómata transformado M'  no contiene e-transiciones.

Ejemplo 2.7.2

El AFN de la Figura 2.31 se transforma en el AFN de la Figura 2.32, cuando todas las e-transiciones son eliminadas mediante el proceso anterior.

b

Entonces, se deduce que la colección de lenguajes aceptados por los AFN

con e-transiciones es la misma que la aceptada por los AFN sin e-transiciones.Se ve fácilmente que la proposición inversa también es cierta. Por tanto, todos

nuestros autómatas aceptan la misma colección de lenguajes. Para construir un

autómata tendremos tres alternativas a elegir. Como veremos posteriormente, el

uso de e-transiciones es conveniente para unir autómatas finitos.

Page 86: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 86/310

LENGUAJES REGULARES 75

EjerciciosdelaSección2.7

2.7.1. Calcular A (qo, abb) y A (c/o, abcrb) para el AFN de la Figura 2.29.

2.7.2. Obtener £-c ({<71, ¿74}) para el AFN de la Figura 2.30.

2.7.3. Obtener e-c (el  (<73, /»)) en el AFN de la Figura 2.30.

2.7.4. Usar la técnica estudiada para calcular A Ui¡, b) en el Ejemplo 2.3. i .

2.7.5. Para el AFN dado en la Figura 2.33; (a) obtener la tabla de transición para A,(b)obtener la ¿-cerradura (q¡) para i 0, 1,2, y (c) calcular A (qo, a), A (qo, b) yA (qo, c) para la Figura 2.33.

a b ea p a p a * — » • ---------------- > • ---------------- >®q0 Q, q2 Figura 2.33

2.7.6. Para el AFN del Ejercicio 2.7.5, obtener el AFN que se obtiene al eliminar lase-transiciones. Dar la tabla para A'.

AUTÓMATASFINITOSYEXPRESIONESREGULARES

Hasta ahora, hemos tratado de la relación entre autómata finito y expresiones regulares de una forma intuitiva. En esta sección, formalizaremos dicha relación por medio del teorema de Kleene (Teorema 2.8.4). De momento, vamos a ver algunas propiedades de los lenguajes aceptados por autómatas finitos.

Para un alfabeto I se pueden construir los AFN (y los AFD) que acepten palabras unitarias. Por ejemplo, el AFN de la Figura 2.34 acepta el lenguaje unitario {«}. Para ello se puede construir, incluso, una AFN que acepte el lenguaje

vacío 0. Dicho AFN se muestra en la Figura 2.35. Obsérvese que este autómatano acepta ninguna cadena.

------- --------------------- f ----------------- >®  ------ >.Q, %

Figura 2.34 Figura 2.35

Supongamos que  M\ (Qj, I i , .vi, F¡, Ai) y  M 2 = (Q2 , E2, i'2, '^ 2 , A2) sonAFN. Podemos unir  Mi y  Mi en un nuevo AFN que acepte  L (M í)k j L (M 2), añadiendo un nuevo estado inicial  s y dos e-transiciones, una de s a íj y otra de  s 

a  s2. La construcción formal de este nuevo AFN  M = (Q ,Z , s, F, A) viene dado

 por X = I i u £ 2,  F= F\ u  F i y Q= Qi u £>2 u {5 }, donde 5 es el nuevo estado

Page 87: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 87/310

76 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

inicial y A se define de forma que se incluyan todas las transiciones de Ai, A2 ylas dos nuevas e-transiciones de  s a si y  s2. Conviene considerar las relacionesde transición Ai y A2 como colecciones de ternas ordenadas á t Q \ X ' Ly . Q \ y

f t x l x Q2, donde (q , a, p) significa que existe una transición de q a p mediante el carácter a (es decir, p e A, (q, a)). Usando esta notación se puede definir 

A = Ai u A 2 u {(i, 8 , ¿1 ), (s, e, 52)}

Por ejemplo, los AFN de la Figura 2.36, los cuales aceptan ab* y (ab)*, res pectivamente, se pueden unir formando el autómata con e-transiciones de la Figura 2.37, el cual acepta ab* u (ab)*.

® ■qy

Figura 2.36

-»•q2' 

b

Figura 2.37

Sean  M\ = (Q\, I i , 5 j,  F\ , Ai) y = (Qi, I 2, s2, F2, A2) dos AFN. Podemos

unirlos para formar un AFN que acepte  L (M\) L (M2). Se necesita un AFN quereconozca una cadena de  L (M¡) y después reconozca una de L (M2). Es decir, un

recorrido hasta un estado de aceptación para admitir la cadena en su totalidad, primero debe pasar por un estado de aceptación de  M\ y después pasar (y terminar) en un estado de aceptación de  M2. Esto se realiza de forma no determinista

Page 88: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 88/310

LENGUAJES REGULARES 77

 pasando del estado final de  M\ al estado inicial de  Mj_ por medio de una e-tran-sición.

Por ejemplo, los AFN de la Figura 2.38 aceptan los lenguajes {a} y {¿},

respectivamente. Uniéndolos como hemos dicho, se obtiene un AFN que aceptael lenguaje {ab} (véase la Figura 2.39).

----- » . ----------- ---------- » ® ----- > . ---------- ---------- > ®q; q; qy  q ? 

Figura 2.38

ay®Qf 

Figura 2.39

Obsérvese que el autómata que se obtiene tiene como estado inicial el esta

do inicial de  M\ y como estado(s) final(es) el(los) estado(s) final(es) de  M2. Por tanto, el AFN  M = (Q, Z, s, F, A) que acepta L ( M \)  L (M2) viene dado por 

Q = Q\ u Qi

S = S \

 F = F 2

A = Ai u A 2 u (F\ x {e} x {í2})

La relación de transición A incluye todas las transiciones presentes en losdos AFN junto con todas las ternas de la forma (q , £, ¿2)* donde q es un estadode aceptación de M \ . Es decir,  s2 e A (q , £) para todo q e  F\,

Se puede deducir un procedimiento para construir una AFN que acepte L (A/)* para el AFN  M = (Q, £,  s, F, A), como sigue. Primero, se añade un nuevoestado inicial / ; se hará que este estado sea además un estado de aceptación conel fin de que £ sea aceptada. Entonces, se permite una £-transición desde  s a el

antiguo estado inicial  s. Por tanto,  M comenzará una vez que  M'  se encuentre en s'. Se tendrá además, una £-transición desde todos los estados de aceptación hasta el estado inicial  s'. Una vez que la cadena deL(M) ha sido agotada, el análisis puede continuar a partir del estado inicial de Af o terminar en  s'. El autómata resultante será Af = (Q Z,  s', F , A'), donde

Page 89: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 89/310

78 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Q' = Q v { s ' }

A' = A u { ( / , e , .v) } u (F x {e} x {5'})

Obsérvese que en la definición de A' se incluyen las e-transiciones necesarias además de las del AFN  M original.

De la discusión anterior se obtiene el siguiente teorema.

Teorema 2.8.1. El conjunto de lenguajes aceptados por un autómata finito sobre el alfabeto Z contiene 0 y los lenguajes unitarios {fl} para todo a e Z. Este conjuntoes cerrado con respecto a la unión, concatenación y la cerradura de estrella.

Dada una expresión regular r para construir un AFN (con e-transiciones entodos los casos excepto para expresiones regulares triviales), podemos aplicar las técnicas precedentes a los términos de las expresiones regulares. Por tanto,todo lenguaje regular es aceptado por un autómata finito. Lo recíproco tambiénes cierto, como veremos en el Lema 2.8.3. Es decir, todo lenguaje aceptado por una autómata finito es también un lenguaje regular. Por lo tanto, el conjunto delos lenguajes regulares es el mismo que el conjunto de los lenguajes aceptados

 por un au tómata fin ito (Teorema 2.8.4).

Consideremos el autómata finito  M = (Q, Z, ,v, F, A) y supongamos que s = qo es el estado inicial. Para todo estado q¡, sea

 A¡ = {vt> e Z*| A (q\, vv) n F ^ 0}

Es decir, A¡ es el conjunto de las cadenas sobre Z que hacen que M pase desde q¡ hasta un estado de aceptación. Se dice que  A¡ es el conjunto de las cadenasaceptadas por el estado q¡. Obsérvese en que /Ao =  L ( M ). Adviértase, también,que es posible que A¡ = 0. Si qt e F, entonces se obtiene que £ e A¡.

Como ejemplo, consideremos el autómata finito de la Figura 2.40. En elmismo, se tiene que

A5 = 0,  A2 e

 A4 = e, A i= b

 A¡ = a, Ao = a b u ba

Supongamos que q¡ e A (q¡, a). Entonces  A¡ contiene a oAj. De hecho, se

tiene queA; = u {oAj\qj e A (q¡, o ) }

www.FreeLibros.com 

Page 90: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 90/310

LENGUAJES REGULARES 79

->®

4 Figura 2.40

Esto proporciona las técnicas recursivas básicas para obtener una expresiónregular a partir de un autómata finito. Como muestra, consideremos el ejemplo

anterior. Obsérvese que

Por tanto, se tiene un sistema de ecuaciones que se cumplen para  L (Ai). Se puede resolver por sustitución obteniendo que L ( M) = a b u ba.

Considérese el autómata finito dado por la Figura 2.41. Del mismo modo seobtiene que

Resolviéndolo por sustitución, resulta que Aq= ü  Aq  kj b y es imposible sim plificarlo más. El siguiente lema muestra cómo resolver esto para obtener  Ao = a b (que es lo que se espera tras inspeccionar el diagrama de transición).

Lema 2.8.2. (Lema de Arde n) Una ecuación de la forma  X = A X u  B, donde £ g  A, tiene una solución única X = A*B.

Demostración. Obsérvese que  A~B = (A+ u £.) B = A+B U :B = Á (Á 'B) u  B. Por tanto, A*B está contenida en toda solución. Supongamos que  X Á fB u C es una solución, donde C n Á B = 0. Si se sustituye la expresión anterior en la ecuación

 X = AX u  B, se obtiene

Ao = aA¡ u M 3 , A3 - Í 1A4 U M 5

 A 1 = bÁ 2 u C 1 A.5 , A4= £ u aAs u bA$

 A2 = £ u aAf¡ u bA 5, A5 = 0

Ao = «Ao u bA i

A] = £

•>®

Figura 2.41

Page 91: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 91/310

80 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

A * 5 u C = A (A * B u C )u 5

= A+B u AC u £

= A+B u S u  AC  = (A+u e ) B u A C   

= A*B u AC

Realizando en ambos lados la intersección con C se obtiene C = A C n C   (los otros términos son 0). Por tanto, C c A C . Pero, como £ £  A, la cadena máscorta de  AC  debe ser más larga que la cadena más corta de C. Esto contradiceque C c / l C a menos que C = 0. Luego se debe tener que C = 0 y, por tanto, A*B  

es la única solución. □

Consideremos el autómata finito de la Figura 2.42. Aquí se tiene

Ao = aA i

 A\ = aAi u bA$

 A i —aA 3 u bAá,

A3 = £ UClAj U ¿A4

Figura 2.42

Sustituyendo y aplicando el lema de Arden cuando sea necesario, se obtiene

A4 = b*

A3 = (7A3 u b+u £í: 7Íí

= a b 

 A2 = a+b* u b+

 A 1 = a (a+&* u ¿>+) u b+

 —aa+b* u ab+u b+Ao = ü  A\

= a1 a+b* u a2 b+u ab+ «■

Entonces se deduce el siguiente lema.

Page 92: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 92/310

LENGUAJES REGULARES 81

Lema 2.8.3. Sea  M  un autómata finito. Entonces existe una expresión regular r para lacual  L (/•) =  L ( M ).

Del Lema 2.8.3 junto con las observaciones anteriores al Teorema 2.8.1, seobtiene el teorema de Kleene.

Teorema 2.8.4. (Kleene) Un lenguaje es regular si y sólo si es aceptado por un autómata finito.

EjerciciosdelaSección2.8

2.8.1. Obtener un AFN que acepte e.

2.8.2. Obtener un AFN que acepte {a}. Obtener otro AFN que acepte {/>}. Usar lastécnicas vistas en esta sección para unir estos AFN en uno que acepte el lengua

 je [a, b}.

2.8.3. Obtener un AFN que acepte (a u b)* kj (abá)+■

2.8.4. Obtener un AFN que acepte todas las cadenas de la forma bowwow, bowwow wow, bowwowwowwowwow,... Conseguir un AFN que acepte todas las cadenasde la forma ohmy, ohmyohmy, ohmyohmyohmy, ... Unir los dos AFN para quese acepte la unión de los dos lenguajes. Téngase en cuenta que los símbolos de

un alfabeto no tienen por qué ser caracteres de longitud uno.2.8.5. Sea M\ dado por la Figura 2.43 y M2 dado en la Figura 2.44. Obtener un AFN

que acepte L (Mi) L (Mi). Obtener un AFN que acepte L (Mi) L (Mi).

Figura 2.43

Figura 2.44

2.8.6. Sean M, = ({^j, q2, qi), {a, b}, [qi\, {#i}, Ai) y  M 2= ({p \,p i,p i,p4},{0, 1},ÍPíK  [p\,pi\, Ai), donde Ai y A2 vienen dados en las tablas de la Figura 2.45. Obtener un AFN que acepte  L(M\) L(Mi). Obtener un AFN que

r <7,

3®t

®q2

-> ®q4

Pa

www.FreeLibros.com

Page 93: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 93/310

82 teor ía  de  autómatas  y  lenguajes  formales

acepte  L{Mi) L(M\) L{M\). Obtener finalmente, un AFN que acepte(L(M,))2uL(M,).

A 0 1

A a b  P\ \Pl\ 0

<7i (42, <?3) 0  P 2 0 [P)>P4}

<72 0 {?i} P3 {P 2 } 0

<73 lí3l (<?3)  P* Íí>3} 0

Figura 2.45

2.8.7. Obtener un AFN para (ab)* a partir de los AFN que aceptan {a} y {b}.2.8.8. Obtener un AFN para (aa u b)* (bb u a)* a partir de los AFN que aceptan {a}

 y [b).

2.8.9. Obtener un AFN para

((a u b) (a u b))* u ((a u b) (a u b) {a u b))*

a partir de los AFN para {a} y {£>}.

2.8.10. Si  M = (Q,?,, s, F, 8) es un autómata finito determinista, entonces el complemento de  L (M) [es decir, £* -  L (M)) es aceptado por el autómata  M  (<2, Z, s, Q -  F, 8). [M'  es un AFD o un AFN? Obtener un AFD que acepteab*ab. Obtener un autómata finito que acepte {a, b}* - ah"ab.

2.8.11. Demostrar que A¡ = {aAj | q¡ e A (q¡, a)}.

2.8.12. Obtener una expresión regular para el lenguaje aceptado por el autómata finitode la Figura 2.46.

->

Figura 2.46

Page 94: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 94/310

LENGUAJES REGULARES 83

2.8.13. Obtener una expresión regular para el AFD de la Figura 2.47.

-> ®

0a, b  Figura 2.47

2.8.14. Obtener una expresión regular para los lenguajes aceptados por cada uno de losautómatas de la Figura 2.48.

a. )a, b 

® -

 ________I í_  a, b 

 b. )

c. )

f t-» ®

<?3

d. )r o

a 'b  a

a, b . ----- — -----> ® í^

,Q4 <h

Figura 2.48

Page 95: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 95/310

84 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

PROPIEDADESDELOSLENGUAJESREGULARES

Los resultados de la última sección establecen la conexión entre autómata finitoy expresión regular. Todo lo que es verdad para lenguajes regulares también esverdad para lenguajes aceptados por un autómata finito y viceversa. Así, por ejemplo, la colección de lenguajes regulares es cerrada con respecto a la concatenación, unión y cerradura de estrella porque los lenguajes aceptados por un autómata finito también lo son (Teorema 2.8.1).

Es importante preguntarse si, dado un lenguaje  L, ¿L es regular? Desde luego, si  L es finito, es regular y se podrá construir un autómata finito o una expre

sión regular para ellos de forma sencilla. También, si  L es especificado ya sea por medio de un autómata finito o por una expresión regular, la respuesta es obvia. Por desgracia, hay relativamente pocos lenguajes que sean regulares y, en elcaso de un lenguaje infinito, la búsqueda exhaustiva de una expresión regular oun autómata finito puede resultar inútil. En este caso, se necesita obtener algunas

 propiedades que compartan todos los lenguajes regulares infinitos y que no estén presentes en los lenguajes no regulares.

Supongamos que un lenguaje es regular y que, por tanto, es aceptado por un

AFD  M = (Q, Z,  s, F, 5), donde Q contiene n estados. Si  L ( M) es infinito, podremos encontrar cadenas cuya longitud sea mayor que n. Supongamos quew = o\ a 2 ... a,, + i es una de las cadenas de longitud n + 1 que pertenece a L (Ai).Si tuviéramos

q\ = 8 (.?, a \)

<72 = 8 (^ 1 , ai)

y así sucesivamente, obtendríamos los n + 1 estados, q\, qi , ..., <?„+ j. Puesto queQ contiene sólo n estados, los q¡ no serán todos distintos. En consecuencia, para

algunos índices j y k, con 1 <j <k< n + 1, se obtendrá que qjqk Por lo tanto,tendremos un ciclo en el camino que parte de s hasta un estado de aceptación,según se muestra en la figura 2.49.

www.FreeLibros.com 

Page 96: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 96/310

LENGUAJES REGULARES 85

Figura 2.49

Puesto que j < k, se tiene que la “parte central”, es decir, aj+i ... tiene almenos longitud 1. Obsérvese además que la cadena w' = a i ... a¡ ci  + i ... an+\ debe pertenecer también a L (M). Por esto, se puede dar vueltas en el ciclo tantas

veces como se quiera, de forma que a\ ... aj(aj+ i ... cik)m cik+\ ... an+\ estaráen  L (M) para todo m> 0. Es decir, se puede “bombear” cero o más veces la parte central y seguir teniendo una cadena que sea aceptada por el autómata. Formalizaremos esto en el siguiente lema, conocido como lema de bombeo.

Lema 2.9.1. Sea  L un lenguaje regular infinito. Entonces hay una constante n de formaque, si w es un cadena de  L cuya longitud es mayor o igual que n, se tiene quew = uvx, siendo uvl x e  L para todo i > 0, con | v| > 1 y | uv\ <n.

El lema de bombeo presenta una propiedad que debe tener todo lenguaje regular y nos facilita una forma de determinar si un lenguaje no es regular. Parademostrar que un lenguaje no es regular, se mostrará que, para cualquier valor nlo bastante grande, se tendrá al menos una cadena de longitud n o mayor que falle al ser “bombeada”.

Por ejemplo, considérese el lenguaje

 L = \ a ? \ i > 1}

Toda cadena de  L debe tener una longitud que sea un cuadrado perfecto. Su pongamos que  L es regular y sea n la constante dada en el lema de bombeo. Obsérvese que a'r e L y que, por el lema de bombeo, tenemos a" = uvx de formaque 1 < | v| < n y u v l x e  L para todo i > 1. Entonces se obtiene que

n2 \uvx\

< Iuv2 x I »

< n2 + n

< (n + l)2

www.FreeLibros.com 

Page 97: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 97/310

86 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Es decir, la longitud de uv2x se encuentra, estrictamente, entre cuadrados perfectos consecutivos y, por tanto, no es un cuadrado perfecto. Luego uv2x no puede pertenecer a L. Es decir, L no puede ser regular.

Ejemplo 2.9.1

Consideraremos otro ejemplo. Sea el lenguaje  L {a"'bm\m >Q}. Se veclaramente que L es infinito y, si L es regular, podremos aplicar el lema de bom beo. Sea n la constante del lema y consideremos anbn, cuya longitud es mayor que n. Tendremos por tanto, que anbn = uvx para las cadenas u, v y x con | v| > 1y \uv\ <n. Nos centraremos en v, teniendo en cuenta que \uv\ < n fuerza aque v esté formado sólo por aes. Supongamos que v = as para ,v> 1. Entonces,si u = ar, se tiene que  x= an~<'r+s)b". De lo que se deduce que u ^ x  

ara2 sa”~l'r+^bn = an+sbn. Dado que  s> 1, la cadena no puede pertenecer a  L. Por tanto, L no puede ser regular ya que no satisface el lema de bombeo.

Que {anbn \ n > 0) no sea regular y, por tanto, no sea aceptado por un autómatafinito saca a la luz las propiedades comunes a todos los lenguajes regulares. Durante el análisis de una cadena por medio de un autómata finito, sólo tenemos anuestra disposición, en cada paso, el estado y el símbolo actual. Cuando analizamos las bes no tenemos información sobre cuántas aes han sido analizadas.

Otra forma de decirlo es que la cantidad de memoria necesaria para aceptar 

o rechazar una cadena debe ser limitada. Si consideramos los estados como memoria, el hecho de que el conjunto de estados sea finito provoca dichas limitaciones. Podríamos construir un autómata de estados no finito, que aceptara dicholenguaje. Podría estar formado por un estado inicial que también fuera estado deaceptación, con un camino para cada a”bn, para todo n > 0. Véase la Figura 2.50.Obsérvese que hay un número infinito de estados, por lo que la memoria en estaclase de autómatas no está limitada.

www.FreeLibros.com 

Page 98: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 98/310

LENGUAJES REGULARES 87

Además de ser una herramienta que determina si un lenguaje es regular, ellema de bombeo proporciona los medios necesarios para determinar si un autómata finito acepta cualquier lenguaje no vacío y si el lenguaje aceptado es finitoo infinito.

Teorem a 2.9.2. Sea M un autómata finito con k estados.

1.  L (M) 0 si y sólo si M acepta una cadena de longitud menor que k.

2. L ( M) es infinito si y sólo si  M  acepta una cadena de longitud n, dondek < n < 2k.

 Demostración. 1. Si  M  acepta una cadena de longitud menor que k. entonces

 L ( M) * 0 . A la inversa, supongamos que  L (M) * 0. Entonces existirá algúnw e L ( M ). Necesitamos probar que  L (M) contiene una cadena de longitud menor que k. Si | w\ <k, quedará probado. Sin embargo, supongamos que | w\ >k. Gracias a lo expuesto con anterioridad al Lema 2.9.1, sabemos que debería haber un ciclo en el camino que se recorre para aceptar  w y por tanto, se puede poner que w —uvx para algunas cadenas u, v y x, donde u es la parte anterior al ciclo, ves la parte del ciclo y  x es posterior al ciclo. Por tanto, | v¡ > 1 y se tiene queu v lx e L ( M ) para todo ?>(). En particular, uxe L (M) . Si |mx| <k, quedaría

 probado. Apliquemos ahora el proceso anterior a u x Obsérvese que| mjc| < | iivx | , de modo que de aplicaciones repetidas del proceso precedente,eliminando cada vez la subpalabra “central”, siempre que la cadena siga perteneciendo a  L (M), podrá obtenerse una cadena de  L (M) cuya longitud será menor que k.

2. Supongamos que w e L ( M  ) con k < \ w \ < 2 k . En lo visto antes delLema 2.9.1, se estableció que  M  debe tener un ciclo en el camino que acepta w y, por tanto, w uvx para algunas cadenas u, v, x con | v j > 1. En consecuencia,uv'x e  L (M ) para todo i, con lo que  L ( M ) es infinito. Al contrario, supongamos

que  L (M) es infinito. Entonces no todas las cadenas pueden tener longitud menor que k, y por tanto existirá alguna cadena w e L ( M ) cuya longitud sea al menos k. Si | w | < 2k, quedaría probado. Si no, aplicando a w la construcción anterior al Lema 2.9.1, se obtiene w u v x , donde | vj > 1 y \uv\ <k, con lo que| v| <k. Ahora tenemos que |w¡ >2 k  y que | v | <k, lo que produce que\ux\ >k. Como en la parte 1, si \ux\ <2k, quedaría probado. De lo contrario,aplicaremos repetidamente este proceso a ux hasta encontrar unir cadena cuyalongitud se encuentre entre k y 2k 1. □

vEl Teorema 2.9.2 nos proporciona un procedimiento para decidir si  L ( M) esvacío y si  L (M) es finito o infinito. Dado que los alfabetos son colecciones finitas, podemos realizar dichos procedimientos en tiempo finito, con lo que pode-

www.FreeLibros.com 

Page 99: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 99/310

88 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

mos afirmar que los mismos nos facilitan algoritmos para resolver dichos pro blemas. Sin embargo, dichos algoritmos no son particularmente eficientes. Paralos AFD hay una forma más rápida de poderlo realizar, eliminando los estadosque, para cualquier entrada, no sean alcanzables desde el estado inicial.  L ( M) no

será vacío si queda algún estado final. Entonces, si se eliminan todos los estadosno finales desde los cuales no pueda ser alcanzado ningún estado no final y com probamos los ciclos, se puede determinar si  L (M) es finito o infinito.

Los problemas del final del capítulo tratan otro problema de decisión, laequivalencia de lenguajes regulares.

Una vez que hemos visto algunos ejemplos de lenguajes no regulares, hayotras técnicas para comprobar la regularidad además de usar el lema do bombeo.

Supongamos que  L y  K son lenguajes sobre X. De las leyes de De Morgan

 para conjuntos se obtiene que

(X* - L) u (X* -  K) = X* - (L n  K)

Por tanto, se tiene que

 L n K = X* - (X* ( L n K ) )

= r - ((X* L ) \ j (I* -  K))

Entonces, por el Ejercicio 2.8.10, sabemos que, si  L y  K  son aceptados por un AFD, entonces X* -  L y X -  K  también lo son. Por tanto, si  L y K son regulares; entonces X* -  L y X* -  K  también lo son. También sabemos que la unión delenguajes regulares es regular, así que (X" - L) u (X* -  K) es regular y su com plemento X* - ((X' - L) u (X* -  K)) también es regular. Por tanto,  L n K es regular cuando  L y K  lo son.

La intersección es una técnica muy usada para determinar la regularidad delos lenguajes. Por ejemplo, sea X = {0. 1, 2, 3, 4, 5, 6, 7, 8, 9}. Entonces, el len

guaje de los enteros no negativos viene dado por  L ¡ = 0 u {1,2, ...,9} X*. Ellenguaje de todas las cadenas de dígitos terminadas en 0, 2, 4, 6, u 8 viene dado por  L2 = X* {0, 2, 4, 6, 8}. Obsérvese que ambos son regulares. El lenguaje detodos los enteros no negativos divisibles por 2, vendrá dado por  L = L\ n  Lz y también será regular.

Ejemplo 2.9.2

Sea £={«, b}. Usaremos la intersección para probar que el lenguaje L = {h’vv7Jir e X’} no es regular. Primero, fíjese que por el lema de bombeo L\ = {a"b2ka"\n, k>()} no es regular. Segundo, Li = {akb"am\k, n, m> 0} es regular (se denota mediante la expresión regular ab*a). Finalmente, obsérvese

www.FreeLibros.com

Page 100: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 100/310

Page 101: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 101/310

90 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

a

a,

a, b

b Figura 2.52

2.9.7. La construcción del Ejercicio 2.9.6, aunque efectiva, no es particularmente eficiente. En la parte (c) se obtiene un AFN a partir de la unión y después se transforma en un AFD para la intersección de lenguajes regulares sobre el mismo alfabeto haciendo uso del producto cartesiano. Sean  M\ = (Q¡, Z, sj, 8 i) y M 2= (Q2, £, í2, F2, 62) dos AFD. Definir  M = (Q¡ x Q2 , I , (su s2), F\ x F2, 5),donde (sj, 52) denota los pares ordenados de estados. La función de transición 5se define para todos los pares ordenados (q¡, p¡) 6   Q\ 'XQi y para todo a e X,

 por medio de

(a) Construir los AFD correspondientes a a b y ab* sobre Z= ¡ a. /;}.

(b) Usar esta técnica para construir directamente un AFD que aceptea b n ab*.

2.9.8. Usar el lema de bombeo para probar que no es regular el lenguaje L\ dado en elEjemplo 2.9.2.

2.9.9. Probar que {ww\ w e {a,b)*\ no es regular.

2.10 APLICACIONESDE LASEXPRESIONESREGULARESYLOSAUTÓMATASFINITOS

Los autómatas finitos se usan frecuentemente en los problemas que implican elanálisis de cadenas de caracteres. Tales problemas incluyen problemas de búsqueda e identificación, tales como la búsqueda de la existencia de una cadena enun fichero o el reconocimiento de cadenas de entrada que satisfagan ciertos cri

terios. Un autómata finito es, él mismo, un modelo de un procedimiento parare-conocimiento de cadenas por medio de la expresión regular asociada. Por tanto,en la búsqueda de una cadena en un fichero, podemos aplicar el autómata finitc

8 ((<?,-, qj), a) = (8 1 (<7,, a), 82 ( pj, a))

www.FreeLibros.com 

Page 102: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 102/310

LENGUAJES REGULARES 91

de forma sistemática a las cadenas del fichero hasta que se acepta la cadena o setermina el fichero.

Un problema común en la programación de computadoras es el de tener laseguridad de que los datos de entrada de un programa son correctos. Por ejem

 plo, si se espera un entero sin signo como dato de entrada y el usuario confundeuno de los dígitos con un carácter no numérico, se puede dar todo tipo de resultados impropios, desde una terminación anormal hasta el cálculo de resultadosincorrectos (basura dentro, basura fuera). La programación cuidadosa pretendeconstruir un programa a “prueba de balas”, incluyendo unas rutinas de entradaque analicen la información introducida por el usuario y, de alguna forma, prevenir que se aplique información incorrecta al programa. Si pudiéramos construir un autómata finito que aceptara solamente las cadenas que representan in

formación correcta, entonces tendríamos un modelo para dicha rutinr. de entrada.Puesto que los autómatas finitos se corresponden con las expresiones regulares,el problema se reduce a especificar la información correcta por medio de expresiones regulares.

En el caso de que la entrada esté formada por enteros sin signo, el lenguajevendrá dado por / = {1, 2, 3,4, 5, 6, 7, 8, 9} ■{0, 1, 2, 3,4, 5, 6, 7, 8,9}*. Es fácil construir un autómata finito que acepte / (véase Figura 2.53).

1, 2, 9

aCualquier carácter 

Figura 2.53

También es sencillo traducir el autómata finito a un código en un lenguajede programación; sólo se necesita seguir el rastro de la posición actual en la cadena y del estado actual. A la vez que se recorre la cadena, se cambia de estado

según corresponda y, cuando se acaba la cadena, se comprueba a qué estado seha llegado y, según eso, se acepta o se rechazadla cadena.

Las expresiones regulares se pueden usar para especificar las unidades léxicas presentes en un lenguaje de programación. Los autómatas finitos asociados

F Lib

Page 103: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 103/310

Page 104: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 104/310

LENGUAJES REGULARES 93

PROBLEMAS

2.1. El algoritmo de Moore. Sabemos que si L\ y Z,2 son lenguajes regulares sobreX, entonces X* -  L\ y 2T -  L2 son lenguajes regulares y por consiguiente

 L\ n (Z‘ -  La) y ¿2 í" 1 (X* -  L\) también lo son.Sea L {L\ n (X* -  LO) u (¿2 ^ (X* - ¿ 1)) y obsérvese que, puesto que  L 

es regular, es aceptado por una autómata M. Por el Teorema 2.9.2, podemos determinar si M acepta alguna cadena (es decir, si L = 0 o no). Pero obsérvese que,si  M  acepta una cadena, entonces  L contiene una cadena y, por tanto,

 L\ n (X* - ¿2) y ¿ 2 ^ (2* -  L\) no pueden ser ambos vacíos.

Supongamos que tenemos  L\ n (X* - ¿2) s* 0- Entonces existirá alguna cadena que esté en  L\ y no en ¿ 2, y por tanto L\ * Li. Igualmente, si ¿ 2 n (X* -

-  L\) *0, también llegaremos a que  L\ ■£ ¿2

- Por otro lado, si  M no acepta ninguna cadena, entonces  L = 0 y, por tanto,  L\ n (X* -  Li) y Li n (X* L\) seránambos vacíos. Es decir, no hay ninguna cadena en L\ que no lo esté en ¿ 2, y viceversa, y así L| = La.

Hemos probado que hay un algoritmo para determinar si dos lenguajes regulares son el mismo. Sin embargo, nuestro algoritmo no es particularmente eficiente, ya que primero tenemos que construir el lenguaje  L, obtener un AFD para él y después determinar si dicho AFD acepta alguna cadena. A continuación veremos un algoritmo mucho menos complejo que el de Moore.

Supongamos que M y M' son dos AFD sobre el alfabeto X. Para que la presentación sea lo más sencilla posible, supondremos que X= {a, b}. Primero renombraremos los estados de  M y M'  para que todos los estados sean distintos.Supongamos que q\ y q{ son los estados iniciales de M y M\ respectivamente.

Construiremos una tabla de comparación que (en este caso) consta de trescolumnas. Las entradas de cada columna son pares de estados (q, q'), uno de My otro de M’. La entrada de la columna 1 indica el par de estados que será tratado en la fila correspondiente. La entrada de la columna 2 es el par de estadosque sigue a los de la columna 1 mediante una transición con a. Del mismo

modo, la entrada de la columna 3 es el estado siguiente por medio de una transición con b.

Por tanto, si (q, q ) están en una entrada de la columna 1 y (p, //) y (r, r) son las entradas de la columna 2 y la columna 3 para la misma fda, entonces8  (q, a) = p, 8' (q a ) = p', 8 (q, b) = r y 8' (q\ b) = r  son las transiciones de M y

 M'. Construiremos la tabla fila por fila empezando por {q\, qf) como entrada dela columna 1 y primera fila. En general, si (<7, q) está en la columna I de cualquier fila, rellenaremos la columna 2 y la columna 3 de fornp apropiada. Sicualquiera de las entradas de la columna 1 y la columna 2 no están ya en la co

lumna 1 se añadirán antes de seguir con la fila siguiente.Siempre que en la tabla (y para cualquier columna) encontremos un par 

(j), p') en el cual p es un estado final de M, pero p no es un estado final de M’ (oviceversa), se parará el proceso ya que habremos llegado a la conclusión de que

www.FreeLibros.com 

Page 105: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 105/310

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

 M y M' no son equivalentes. De otro modo, el proceso parará cuando no quedeninguna fila por completar. En este caso, M y M' son equivalentes.

Por ejemplo, los AFD de la Figura 2.54 no son equivalentes porque su ta

 bla es (parcialmente) como sigue:

transición a transición b Columna 1 columna 2 columna 3

(<7 i.<7 i') (quqi') {qi,qí)

(<?2 , q i ) (<73. <?/) (<7 1 . 9 3 ')

a

a — > ® •\<k  q3

Figura 2.54

Aunque la tabla no se ha completado, el proceso termina porque q\ es unestado final del primer AFD, pero <73' no es un estado final del segundo. Por tanto, dichos AFD no son equivalentes.

El algoritmo de Moore se puede ampliar apropiadamente para cualquier alfabeto £. Simplemente se incluirá una columna para cada símbolo de X.

1. ¿Son equivalentes los AFD de la Figura 2.55 de la página 95?

2. ¿Son equivalentes los AFD de la Figura 2.56 de la página 95?

:.2. Considérese el AFD dado en la Figura 2.57 de la página 96. Obsérvese que cier

tos estados se comportan de la misma forma para toda cadena de entrada. Por ejemplo, si estamos en el estado q2 o q%y analizamos cualquier cadena de entrada no vacía, llegamos al mismo estado. De alguna forma la presencia de <72 y q%es redundante.

Page 106: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 106/310

LENGUAJES REGULARES 95

• <-

a3-» ®i — ~ — 

ü / i b a[ la

(J

Figura 2.55

-» • -> ®

(7a, fc>, c

Figura 2.56

Conviene obtener un AFD para un lenguaje que sea el AFD mínimo, en elsentido de que tenga un número mínimo de estados. Esencialmente, lo que haremos será eliminar todos los estados redundantes (según vimos anteriormente).

Sea M = (Q, 2, s, F, 8) un AFD. Los estados p y q son distinguibles si paraalguna cadena x de £*, se tiene que 8 (p, x) e F y 8 (q, x) & F, o viceversa. Si

Page 107: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 107/310

96 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Figura 2.57

Los pares de estados equivalentes (no distinguibles) se pueden encontrar  por medio de una tabla en la cual cada fila y columna corresponden a un estado.Inicialmente, se marcan como distinguibles las entradas correspondientes a unestado final y a un estado no final. Entonces, para cada par de estados que no seconocen como distinguibles, se considera p(¡= 8 (p, a) y qa= 8 {q, a) para todo

a e E. Si pa y qa son distinguibles por medio de la cadena x, entonces p y q sondistinguibles por medio de la cadena ax.

Así, si la celda correspondiente a p¡, y q„ está marcada para alguna a, marcaremos la celda para p y q. Si para todo a e X, no está marcada la celda corres

 pondiente a /?„ y q„. introduciremos (/;. q) en una lista asociada con (p„, qa) paratodo a. Si posteriormente se obtiene que p„ y q„ son distinguibles, se marcarántambién  p y q. Puesto que las celdas simétricas con respecto a la diagonal corresponden a los mismos pares de estados, necesitamos menos de la mitad de latabla. Es más, las celdas correspondientes a la diagonal son no distinguibles.

La tabla siguiente corresponde al AFD del ejemplo precedente.

<72 A'

<73  X X 

<74  X   X   X 

<75  X   X   X 

<76  X X   X X 

<77  X   X   X X X X 

<78  X   X X X X X 

q \ <72 <?3 <74 <?5 í/6 <77

Page 108: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 108/310

LENGUAJES REGULARES 97

Las colecciones de estados no distinguibles son {q\, q¡}, {q2, <?«}. {<y4, q6), { } y {<77}. En el AFD reducido que obtenemos reemplazaremos cada colección de estados no distinguibles por un único estado. Por tanto, el AFD reducido

 para nuestro ejemplo es el de la Figura 2.58.

1. Obtener los AFD mínimos que correspondan a los AFD de la Figura 2.59.

3. Sea E = {(a, b, c) | a, b, c e {0, 1}} el alfabeto formado por todas las 3-tuplas de

ceros y unos. Trataremos cada 3-tupla como un vector columna, es decir,Entonces, una suma binaria tal como

0011+ 0101

1000

se puede interpretar como la cadena100v

 sobre X.

V /  \

1. Probar que el lenguaje  L\ sobre Z, compuesto por todas las cadenas querepresentan sumas binarias “correctas”, es un lenguaje regular.

2. Usar el lema de bombeo (Lema 2.9.1) para probar que el lenguaje  L¿ formado por todas las cadenas que representan productos binarios correctosno es un lenguaje regular.

Hay muchas formas de tratar la adición. Cuando realizamos unasuma, generalmente sumamos los pares de dígitos correspondientes y unvalor previo para obtener un dígito resultante y un resto. Consideremos la

Page 109: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 109/310

98 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Figura 2.59

el valor previo es un 1, entonces la única forma de que un resto no sea un 1es que el par de dígitos a sumar sean dos ceros.

Vamos a usar la notación (x, y)/z para denotar el par de dígitos (x, y) que representan a los sumandos y z para indicar el dígito que resulta al sumar  x + y + (valor existente). Entonces, la suma binaria puede ser representada mediante el diagrama de la Figura 2.60. Obsérvese que este diagrama es muy semejante a un diagrama de transición de un autómata finito.

De hecho, tendremos dos estados distintos que corresponden a los valores previos, y unas transiciones entre los estados que dependen de los dígitos asumar (entrada), así como de los valores actuales (estado), y de un estado

www.FreeLibros.com 

Page 110: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 110/310

LENGUAJES REGULARES 99

inicial (el valor es inicialmente 0). La única diferencia entre este diagramay el diagrama de transición de un autómata finito es que en éste la salida serepresenta como el resultado de una suma.

(0,1 )/1(0, 0)/0(1,0)/1

 ____  _______________________  (1.D/0

estado = 0 t ______________________(0, 0)/1

Figura 2.60

Un transductor de estados finito determinista (autómata que produceuna salida) es una 6-tupla M (Q, Z, F, s, 8, x), donde Q es un conjunto finito de estados que contiene un estado inicial distinguible i ;E y F son alfa

 betos, siendo Z el alfabeto de entrada y F el alfabeto de salida; 8 es la función de transición, donde 8: Q X X —>Q\ y x es la función de salida, dondet ! ¡2 x e — r .

Obsérvese que, al igual que en los autómatas finitos vistos en este ca pítulo, 8 depende del estado actual y del símbolo de entrada actual, x tam bién depende del estado y la entrada actual y proporciona una salida.

Es importante notar que no hay ningún conjunto de estados finales.Los transductores no se ocupan de aceptar la entrada, sino de transformarla

• en una salida. En este sentido, los transductores transforman cadenas deentrada en cadenas de salida. Es decir, computan una función de Z” en F'.

3. Considérese una máquina expendedora de latas de soda. Por sencillez, su ponemos que hay un botón de selección y que la soda cuesta 0.30 dólares.

También suponemos que, una vez que se han introducido 0.30 dólares enla máquina, cualquier moneda que se introduzca posteriormente será devuelta. Crear un transductor de estados finito determinista que modele elcomportamiento de la máquina expendedora.

4. ¿Cómo se debería construir el transductor de estados finito determinista para que acepte un lenguaje?

2.4. Caracterización de los lenguajes regulares.  L c cí. En la Sección 2.9 y en sus

ejercicios, vimos lenguajes no regulares de la forma

{a' | i satisface alguna condición}

Por otro lado, muchos lenguajes que son de esta forma  son regulares, por ejemplo, los lenguajes  Li = {«A+ ' | i > 0} pafó k = 0,1,... Es razonable preguntarse bajo qué condiciones es regular un lenguaje de estas características En

(1, 0)/0(0, 1)/0(1,1)/1

Q-> • __ l estado = 0

Page 111: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 111/310

Page 112: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 112/310

Page 113: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 113/310

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

(c) Sea /? c £| un lenguaje regular. Probar que f (R) es un lenguaje regular.  Indicación: Aplique inducción sobre el número de operadores enuna expresión regular para R.

Supongamos que/es una sustitución en la cual, para todo a e Zj,/(«)contiene sólo una cadena. Dicha sustitución se llama homomorfismo. Si L c £ 1, se dice que  f (L) es la imagen homomórfica del lenguaje  L. Si L e Z 2, se dice que/ “' (L) es la imagen homomórfica inversa del lenguaje L.

Por ejemplo, sea / : {a, b, c)  —>{a, b}* definida como  f ( a ) a ,   f{b) = ba y  f(c ) = a. Entonces, si  L\ = a* {b kj c)*, se obtiene que/ (L]) = a*\ba u a)*. Si  L2 = (aba u a)*, entonces la imagen inversa es/ “' (L2) = {(a u c) a u (a u c))*. [Obsérvese que/(a ) = /(c) = a por lo que/ ”’ (a) = a u c.] En este caso, L2 es un lenguaje regular y / - 1 (¿2) también

lo es. Esto, como se verá en el Ejercicio 2, no es una coincidencia.2. Probar que, si L es un lenguaje regular y /e s un homomorfismo, entonces

/~ ' (L) es un lenguaje regular.

La afirmación anterior se puede generalizar. Si / es una sustitución,entonces/ “' (L) es regular si L es regular. Uniendo los ejercicios 1 y 2, setiene que la clase de lenguajes regulares es cerrada con respecto a la imagen homomórfica y la imagen homomórfica inversa.

Puesto que los homomorfismos y sus inversas “preservan” la regulari

dad, se pueden usar para determinar si un lenguaje es regular o no. La ideaes tomar un lenguaje que no se sabe si es regular y tratar de transformarlo por medio de homomorfismos en un lenguaje regular o no regular conocido.

Por ejemplo, se sabe que el lenguaje {anbn\n > 1} no es regular. Considere el lenguaje L = {a"ba" |n > 1}. Aunque el lema de bombeo se puedeaplicar para deducir que L no es regular, por medio de homomorfismos llegaremos a la misma conclusión. Supongamos que  L es regular. Sea/ : [a, b, c} —» {a, b}* el homomorfismo definido previamente y consideremos  L\ = / " ' (L) = /~ ' ({anba"\n > 1}). Ya que/ “*(a) = a kj c, se obtiene

que/ - ' (a"ban) = {a'daVba'c 'a'c" \i+j + k + l = n 

y r + s-f-f+M +l=/z}Por tanto

/ -l (L ) = {a'dakclba’csa 'c "\ i+ j + k + l = r + s + t + u +  1}

Entonces

/ “' (L) n a”be" = {a"bcn~ 11n > 1}

Ya que a’bc* es, claramente, regular y ya que suponemos que L es regular y que/ - 1 (L) es regular, debemos obtener que (anbc>' ~ 1 1 n >  1 } tam-

www.FreeLibros.com 

Page 114: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 114/310

LENGUAJES REGULARES 1 03

 bién es regular. Ahora sea g: {a ,b ,cJ ¥ {a, b}* el homomorfismo definido mediante g (a) a y g (b) = g (c) = b. Entonces se tiene

 g ( /" ' (L) n abe*) = g ({d'bc" ~11n > 1}) = {a"b" ¡n > 1}

Puesto que  g  es un homomorfismo, tendremos que {a"b"\n> 1} esregular, lo que es una contradicción. Por tanto, no puede ser que{a"ban\ n > 1} sea regular.

Probar que {a'b’c11i > /> 1} no es regular.

Probar que {a'ba' \ i ¿ j e i , j > 1} no es regular.

Page 115: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 115/310

Lenguajes independientes del contexto

GRAMÁTICAS REGULARES

Las expresiones regulares y los autómatas finitos nos proporcionan dos medios para especificar o definir lenguajes. Las expresiones regulares nos proporcionanuna plantilla o patrón para las cadenas del lenguaje. Todas las cadenas se corres

 ponden con un patrón en particular y dichas cadenas serán las únicas que formarán dicho lenguaje. Igualmente, un autómata finito especifica un lenguaje comoel conjunto de todas las cadenas que lo hacen pasar del estado inicial a uno desus estados de aceptación. También se podría intexpretar un autómata como ungenerador de cadenas del lenguaje, según se plantea a continuación. Un símbolo

se genera al recorrer el camino etiquetado con dicho símbolo y que parte del estado actual al siguiente. Se empieza con la cadena vacía y se obtiene una cadenadel lenguaje cuando el recorrido llega a un estado de aceptación.

Por ejemplo, se considera el autómata finito dado por el diagrama de transición de la Figura 3.1. Este autómata finito acepta el lenguaje regular a (a u bv) b. Imaginemos que se comienza en el estado inicial y se atraviesa eldiagrama de alguna forma. Cuando un camino va de un estado a otro, la “salida"es el símbolo que etiqueta dicho camino. Por tanto se podría obtener la cadenade salida aa2b pasando por los estados c¡\ - <72 

1/3

(¡3 qj - <75. Se ve fácilmente

que las cadenas generadas de esta forma serán aceptadas por este autómata finito. Es más, cualquier cadena aceptada por este autómata puede ser generada por este método.

www.FreeLibros.com 

Page 116: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 116/310

106 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

a

n

a

 b Figura 3.1

Obsérvese que todas las cadenas del lenguaje precedente estarán formadas por una a seguida de alguna “parte final”. Si hacemos que  E  represente la partefinal, lo dicho se puede representar simbólicamente mediante S   —>aE. La flecha

 —>se puede interpretar como “puede ser” o “se compone de”. La parte final deuna cadena estará formada por una de las dos listas de aes o bes. Por tanto, paraindicar las múltiples posibilidades que hay para  E  podemos escribir  E   —»A y

 E —> B. Las dos listas de aes y bes se pueden expresar como  A —» aA junto con

 A —>b para indicar que una cadena de aes va seguida de una b o como  B ~^bB   junto con  B —>b, para indicar que una cadena de bes va seguida de otra b.

En resumen, tendremos las siguientes expresiones

Estas expresiones pueden ser consideradas como reglas de sustitución parala generación de cadenas. El símbolo que se encuentra a la izquierda de la flechase puede sustituir por la cadena de la derecha.

Por ejemplo, podemos generar aab empezando por S, sustituyéndola por aE,  sustituyendo la  E  por  aA y finalmente sustituyendo la  A por  b. Tendremos unasecuencia de cadenas comenzando por S  y terminando con aab. En cada paso,las letras mayúsculas (S , E y A) representan la parte de la cadena final que* todavía no se ha generado. Bajo estas circunstancias tiene sentido interpretar la flecha en las expresiones precedentes como “es sustituido por".

S — aE  

 E ^ A

 E ^ B

 A > b  

 A —>aA 

 B ^ b

 B ^ b B

Page 117: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 117/310

LENGUAJES INDEPENDIENTES DEL CONTEXTO 1 0 7

Finalmente, introduciremos el símbolo | que será interpretado como “o”. Sise usa este símbolo, las dos reglas  E —>A y £ —> B, se pueden unir en  E —>A \B.  La colección precedente de reglas para generar cadenas puede volverse a escri

 bir como sigue:

1. S —»aE 

2 . E * A \ B

3.  A —>ciA | B

4 . B $ b B \ b

La cadena cr’b se puede generar a partir de 5 aplicando primero la regla 1

 para obtener aE. Entonces, aplicando la reglí12 se obtiene aA y aplicando la regla 3 se obtiene aaA y aaaA\ finalmente, se puede aplicar la segunda parte de laregla 3 para obtener aaab. Podremos escribir una descripción del proceso de generación como

S => aE => aA => aaA => aaaA => aaab

donde la doble flecha => se interpreta como “deriva”, “produce” o “genera”.Usaremos la notación  E ^ > w para indicar que la cadena w se deriva a partir de 5

en 0 o más etapas.Obsérvese que en este modelo hemos introducido una colección de nuevos

símbolos para representar las porciones de cadena que no han sido generadas.Cuando las cadenas han sido completamente generadas, estarán formadas en sutotalidad por símbolos del alfabeto £, pero antes de llegar a esto se obtendrán cadenas formadas por símbolos del alfabeto y por nuevos símbolos. Los nuevossímbolos se llaman no terminales, para indicar que deben ser sustituidos por símbolos del alfabeto antes de que la cadena haya sido totalmente generada. Por 

otro lado, los símbolos del alfabeto £ se llaman terminales, para indicar que noes posible que sean sustituidos. Obsérvese, también, que el símbolo usado pararepresentar a una cadena que no ha comenzado a generarse, debe ser necesariamente un no terminal. Finalmente, observemos que hemos generado las cadenasdel lenguaje de izquierda a derecha —en las cadenas de las etapas intermedias por las que se pasa al aplicar las reglas, los no terminales deben aparecer solamente en el extremo derecho. Esto refleja la forma en la que un autómata finitoreconocería una cadena del lenguaje.

Daremos la siguiente definición:

Definición 3.1.1. Una  gramática regular G es una 4-tupla G = (£,  N, S, P). donde £ esun alfabeto,  N  es una colección de símbolos no terminales, S es un no terminalllamado  símbolo inicial, y P  es una colección de reglas de sustitución, llamadas

Page 118: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 118/310

108 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

 producciones, y que son de la forma A —>w, donde A e N  y w es una cadena so bre l u  N que satisface lo siguiente:

1. w contiene un no terminal como máximo.

2. Si w contiene un no terminal, entonces es el símbolo que está en el extremo derecho de w.

El lenguaje generado por la gramática regular G se denota por  L (G).

Por ejemplo, considérese la gramática regular G = (Z, N, S, P), donde

1 = {a, b} N = { S , A }

 P : S ^ b A  

 A — aaA | b 18

Obsérvese que  L (G) contendrá todas las cadenas de la forma ba2nb y ba2". Es decir,  L (G) = b (a2)*  (b u e). Se puede demostrar, por inducción sobre n, que

todas las cadenas de la forma ba2"b o ba2" están en  L (G) y, por inducción sobrela longitud de una derivación, se demuestra que  L (G) está contenido enb {a2)* (b u £). (La etaba base es para una derivación de longitud 2).

De la definición se deduce que el lado derecho de una producción es unacadena de I ’ ( N u £). Obsérvese que £ puede ser el lado derecho de una producción. En el ejemplo precedente, la producción A —>£ acaba con la generaciónde una cadena (al igual que la producción  A -> b) ya que se “borra” el no ter

minal A.Dado que las producciones emparejan no terminales de  N  con cadenas de

I (/V u £), conviene representarlas como pares ordenados de iVx X* ( N  u £).Por tanto, el par  (x, y) de  N x I* (N u £) representa a la producción x —> y. Las producciones de  P del ejemplo anterior se podrían representar mediante

 P = { (S ,bA ),(A ,aa A ) ,(A ,b ) ,(A ,e )}

Si se llega al acuerdo de escribir los no terminales con letras mayúsculas ylos terminales con letras minúsculas y además se conviene que S  se use comosímbolo inicial, entonces una gramática regular puede ser completamente especificada por medio de sus producciones. Por ejemplo, S —>a5| b especifica com

l t t l áti l l l j b

Page 119: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 119/310

Page 120: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 120/310

110 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

i. Probar que G1es una gramática regular por la izquierda.

ii. Probar que w e  L (G) si y sólo si w1 e  L (G1) por inducción sobre elnúmero de producciones usadas para obtener w.

Se puede deducir de la parte (c) que la clase de los lenguajes generados por gramáticas regulares por la izquierda es la misma que la clase delos lenguajes generados por gramáticas regulares por la derecha. Por esohabitualmente, el término gramática regular se aplica para referirse a cualquier gramática ya sea regular por la izquierda o regular por la derecha.

3.2 GRAMÁTICASREGULARESYLENGUAJESREGULARES

Supongamos que  L es un lenguaje regular. Se puede obtener una gramática regular que genere  L por medio de un AFD  M = (Q, £,  s, F, 8) para el cual  L L (M).Definimos G = (N, X, S, P) por 

 N Q

I = Z

S = s

 P = {(q, ap)\§ (q, a) p} u {{q, e)|<?e  F]

Es decir, q —>ap siempre que 8 (q, a ) p y q — >z úq es un estado de aceptación del AFD.

Por ejemplo, el AFD dado en la Figura 3.2 acepta el lenguaje a*b. La gramática regular correspondiente tiene las producciones

q\ ~^aq\\bq 2 

q2 -> aq3 \ bq3 1 8

qi aq?, | bqi

En esta gramática los q¡ son no terminales (una ruptura con la notaciónusual, la cual puede ser restablecida sólo con renombrar los q¡ y cj\ como símbolo inicial).

Obsérvese que w e L ( M) para w = a i 02  ... o„ significa que

8 (s, c?i 02 •••  —p

Figura 3.2

a Q2a. b 

t ) a, b 

www.FreeLibros.com 

Page 121: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 121/310

LENGUAJES INDEPENDIENTES DEL CONTEXTO 1 1 1

 para algún p e F. Si escribimos q¡ + 1 = 8 (q,, o¡) con q\ =  s, entonces se obtiene

8 (s, Oí 0 2 ... 0„) = b(q i,O i 02 ... o„)

= 8 (<?2>02 ... On)= 8 (#3, 03 ... 0„)

= 8 (<7», 0/j)

= /? e F

Ahora, puesto que q¡+ i = 8 (<?,•, 0;), se obtiene que q¡ -» 0 / g,+ i pertenece aG y, por tanto, (ya que = <yi)

5 = q\ => 0| q2 

=> 0 l 0 2  q 3

=> 0] 02 ... On p  

=> 01 02 ... On

Así que w e  L (M) implica que w es generada por G; es decir,¿ (M )c L ( G ) .

A la inversa, si w es generada por G, mediante la derivación siguiente

q\ => 0i qi

=> 0i 02 <73

=> 0 102 ... 0« p 

=> 01 02 ... 0«

entonces en M  tendremos

8(5, 01 02 ... 0„) = 8(qi,0i 02 ... o„)

- 8(<72,02•••0,i)= 8(q3, 03 ... On)

= 8 (<7h, 0»)

p g F \ 

(ya que 5 = q i). Asi, que w e L (G) implica que w e L ( M ), con lo que se tieneque  L (G) c  L (M). Entonces se deduce que L (G) = L (M).

Page 122: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 122/310

Page 123: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 123/310

Page 124: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 124/310

Page 125: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 125/310

LENGUAJES INDEPENDIENTES DEL CONTEXTO 115

dida la manera en la que se pueden formar las producciones y, en consecuencia,restringe las clases de lenguajes que se pueden especificar.

Supongamos que se permite que  P q  N  x  ( N  kj Z)*, de forma que las pro

ducciones puedan tener cero, uno o más no terminales que aparezcan en cualquier lugar del lado derecho de las mismas. Por ejemplo, la gramática dada por 

5 —>afi | M

 A H> a\aS\bAA  

 B —>b\bS\aBB

es una gramática de este tipo. Observe que, en definitiva, esta gramática no es

una gramática regular. Por otro lado, todas las gramáticas regulares satisfaceneste nuevo requerimiento en lo que respecta a la forma en la que se construyenlas producciones y, por tanto, son gramáticas de este tipo. De esta forma, tendremos más de un tipo general de gramáticas.

Definición 3.3.1. Una  gramática independiente del contexto (GIC) es una 4-tupla

G ^ Í K X ^ P l  

donde  N  es una colección finita de no terminales, £ es un alfabeto (también conocido como conjunto de terminales), 5 es un no terminal determinado que sellama símbolo inicial y P c A 'x (N u X)* es un conjunto de producciones.

>El lenguaje generado por la GIC G se denota por  L (G) y se llama lenguaje independiente del contexto (LIC).

Por ejemplo, puesto que toda gramática regular es una GIC, se tiene quetodo lenguaje regular es un LIC.jy

Al igual que una gramática regular, una GIC es una forma de probar cómose generan cadenas en un lenguaje. Como con las gramáticas regulares, usaremos la notación => para indicar el acto de generar como opuesto a — el cual es

 parte de una regla de producción. Cuando derivamos una cadena, los no terminales representan la parte de la cadena que todavía no se ha generado. En el casode las gramáticas regulares, la parte de la cadena no generada siempre aparece alfinal. En las GIC que no son gramáticas regulares, puede haber más de un trozono generado y pueden aparecer en cualquier lugar de la cadena. Cuando la deri

vación se completa, todos los trozos no generados habrán sido sustituidos por cadenas (posiblemente vacías) de símbolos terminales.

Consideremos la GIC dada por *

www FreeLibros com

Page 126: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 126/310

Page 127: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 127/310

LENGUAJES INDEPENDIENTES DEL CONTEXTO 1 1 7

EjerciciosdelaSección3.3

3.3.1. Dada la siguiente gramática independiente del contexto

S ^ A A

 A -» AAA \a\bA\Ab

(a) Obtener una derivación para la cadena b2aba2ba.

(b) Probar cómo puede obtenerse una derivación parabm' ab"'2a .. . b'"2" ab'”2" *  para todo n > 0 y m¡, m2..... m2n + 1 > 0 .

3.3.2. La gramática G independiente del contexto dada por 

S —>aSb |aSa| bSa\bSb 16

no es una gramática regular, aunque L (G) es un lenguaje regular! Obtener unagramática regular G' tal que L (G') = L (G).

3.3.3. Obtener una gramática independiente del contexto para cada uno de los siguientes lenguajes independientes de contexto:

(a) {a"’b" | m > n }

(b) {w c {a, b}* | w tiene el doble de aes que de bes}(c) {á nbn\n <m < 2n}

(d) {a!"b"cpd q\m + n> p + q)

ÁRBOLESDEDERIVACIÓNODEANÁLISISYAMBIGÜEDAD

Cuando una cadena se deriva mediante una gramática independiente del contex

to, el símbolo inicial es sustituido por alguna cadena. Los no terminales de estacadena son sustituidos uno tras otro por otra cadena, y así sucesivamente, hastaque se llega a una cadena formada sólo por símbolos terminales. No se puede realizar ninguna sustitución más, puesto que no hay no terminales que puedan ser sustituidos. A veces, es útil realizar un gráfico de la derivación, que indique dequé manera ha contribuido cada no terminal a formar la cadena final de símbolos terminales. Tal gráfico tiene forma de árbol y se llama árbol de derivación (oárbol de análisis).

Un árbol de derivación para una derivación dada se construye creando un

nodo raíz que se etiquetó con el símbolo inicial. El nodo raíz tiene unos nodoshijos para cada símbolo que aparezca en el lado derecho de la producción usada

 para reem plazar el símbolo inicial. Todo nodo etiquetado con un no terminaltambién tiene unos nodos hijos etiquetados con los símbolos del lado derecho de

www.FreeLibros.com 

Page 128: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 128/310

Page 129: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 129/310

1. S=> SbS=> SbScS => SbSca => Sbaca => abaca

2. S => ScS => SbScS => abScS => abacS => abaca

El árbol de derivación para la derivación 1 es

LENGUAJES INDEPENDIENTES DEL CONTEXTO 119

I (a a

mientras que el árbol para la derivación 2 es

a a

Obsérvese que los dos árboles son distintos, aunque las cadenas producidasson la misma. (La cadena derivada corresponde a los nodos hoja y se llama pro-

ducto del árbol de derivación).Una gramática se dice que es ambigua si hay dos o más árboles de deri

vación distintos para la misma cadena. Una gramática en la cual, para toda cadena w, todas las derivaciones de w tienen el mismo árbol de derivación, es no am-bigua.

La ambigüedad puede ser un problema para ciertos lenguajes en los que susignificado depende, en parte, de su estructura, como ocurre con los lenguajes

naturales y los lenguajes de programación. Si la estructura de un lenguaje tienemás de una descomposición y si la construcción parcial determina su significado, entonces el significado es ambiguo. Consideremos la sentencia “Juan vio aun hombre con un telescopio”. El significado de esta sentenciares ambiguo debido a que “con un telescopio” puede describir al hombre que vio Juan o a la técnica que Juan empleó para ver al hombre. *

Page 130: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 130/310

Page 131: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 131/310

LENGUAJES INDEPENDIENTES DEL CONTEXTO 121

es inherentemente ambiguo. Intuitivamente, una gramática para  L debe tener unaclase de árbol de derivación para generar las cadenas para las cuales i = j y otro para las cadenas en las cuales j = k. Si una cadena tiene i = j k, tendrá dos derivaciones.

Vimos anteriormente que una* cadena dada no puede tener más de una derivación igual en una gramática independiente del contexto no ambigua. Las derivaciones distintas corresponden a la elección de distintos no terminales a expandir. Por convención, dos formas de generar una cadena tienen una única salida.En una derivación por la izquierda el no terminal que se expande es, siempre, eldel extremo izquierdo. Por tanto para la gramática

S   —>SbS\ScS\ a 

una derivación por la izquierda de abaca será

S => ScS=> SbScS => abScS => abacS => abaca

Una derivación por la derecha es aquella en la cual el no terminal que seexpande es el del extremo derecho. Por tanto

S => ScS=> Sea => SbScá => Sbaca => abaca

es una derivación por la derecha de la cadena dada. Obsérvese que las dos derivaciones tienen el mismo árbol de derivación:

a a

Este árbol de derivación también es compartido por otras derivaciones. Enesta gramática

S => SbS => abS  => abScS => abacS => abaca ■*

es una derivación por la izquierda distinta de la precedente. La presencia de dosderivaciones por la izquierda distintas se corresponde con la existencia de dosárboles de derivación distintos. Por tanto, una gramática ambigua se caracteriza

 por tener dos (o más) derivaciones por la izquierda para la misma cadena.

www.FreeLibros.com 

Page 132: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 132/310

LENGUAJES INDEPENDIENTES DEL CONTEXTO 123

 Nos gustaría establecer las restricciones necesarias para que las producciones se formen de manera que el árbol de derivación resultante no sea necesariamente complejo o inútilmente sencillo. A la vez, no se pretende constreñir la

formación de producciones hasta el punto de que no se pueda generar ningúnlenguaje independiente del contexto a partir de los conjuntos de produccionesque cumplan las restricciones. Pretendemos encontrar un modelo formal estándar (o una forma normal) para las producciones.

Como primer paso en el desarrollo del modelo, necesitamos limpiar las gramáticas para eliminar las producciones y símbolos inútiles. Consideremos lagramática independiente del contexto del ejemplo siguiente:

Ejemplo 3.5.1

S ^ A a \ B \ D

 B>b A —»aA\bA\B 

C —>a bel 

Obsérvese que C nunca formará parte de una derivación que parta del sím bolo inicial, es decir, no existe S => aC(3 para toda cadena a y p de (WuZ)*.Por consiguiente, el símbolo C y la producción

C ¡U abd 

son inútiles en el sentido de que nunca podrán contribuir a la generación de unacadena de L (G). El símbolo D se obtiene a partir de S pero nunca deriva una ca

dena de símbolos terminales y, por tanto, nunca formará parte de una derivaciónde una cadena de terminales. Por tanto,  D también es inútil, aunque por distintarazón. Por otro lado, el símbolo B es, en cierto modo, redundante, ya que derivaúnicamente un símbolo terminal; por tanto, las derivaciones S =>B =>b y

 A B ==>b podrían ser reducidas de forma que S => b y A => b, y eliminándose B. Finalmente, obsérvese que si se elimina la producción C -» abd, el símboloterminal d no puede aparecer en ninguna cadena de terminales generada mediante la gramática resultante.

Por tanto, hemos identificado muchos aspectos en los que las gramáticas independientes del contexto pueden ser depuradas. Cualquiera de e,sos problemas pueden ser eliminados sin afectar a la capacidad de generación de la gramática.Primero se eliminarán los no terminales que no deriven cadenas de terminales,tales como  D en el Ejemplo 3.5.1.

Sea G (N Z S P) una gramática independiente del contexto Transforma

Page 133: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 133/310

124 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

se obtenga que  A ==>w para algún w e 2T. Para realizarlo, construiremos iterativamente el nuevo conjunto de no terminales  N ' y el nuevo conjunto de producciones P' como sigue:

Algoritmo 3.5.1.

1. Inicializar  N '  con todos los no terminales  A para los que A —>w, es una producción de G, con w e X*.

2. Inicializar  P ' con todas las producciones A —> vv para las cuales A e  N '   y w e 1 *.

3. Repetir 

Añadir a N '  todos los no terminales A para los cuales A —» vv, paraalgún vv e (/V' u £)* que sea una producción de  P y añadirla a P'.

hasta que no se puedan añadir más no terminales a N '.

Obsérvese que el bucle del paso 3 termina, ya que  N y P  son finitos. Esencialmente, lo que estamos haciendo es recorrer hacia arriba todos los posibles ár

 boles de análisis a partir de las cadenas de terminales, anotando los no term inales (y las producciones) que se encuentren. Todo no terminal (y producción) que

no aparezca en  N ' , no contribuirá a formar una subcadena de cualquier cadena“final’" de terminales que sea generada por la gramática. Por tanto, su eliminación no altera el lenguaje generado.

Por ejemplo, en la gramática del Ejemplo 3.5.1, esperábamos eliminar el noterminal  D. Después de aplicar el Algoritmo 3.5.1 a esta gramática, obtendremosla siguiente:

iS — Aci ¡ B 

 A ^ a A \ b A \ B   B —>b 

C —>abd 

Las gramáticas independientes del contexto se han definido de forma quese permite que existan producciones que tengan e en el lado derecho. El Algoritmo 3.5.1 trata e como una cadena de un terminal. Por tanto, al transformar lagramática

• . . . •. . . ■• ■ ••  f .'S — ü  A I£ *

 A -> a A | bB | £

 B ^ b B

www FreeLibros com

Page 134: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 134/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 125

se obtendrá la gramática

S —>ciA | £

 A -> a A 18

Las producciones de la forma A  —>e se llaman producciones e. A veces sonnecesarias, pero otras no son ni necesarias ni deseables. Podremos eliminarlascuando no sean necesarias.

A menudo, tras la transformación de una gramática, nos quedan producciones como C —>abd que no se usan. La razón por la cual dicha producción se encuentra en la gramática transformada es que, de la aplicación de dicha producción, se obtiene una cadena de terminales. Sin embargo, su presencia no es deseable ya que nunca se podrá derivar una cadena a partir del símbolo S  que

contenga el no terminal C. Es más, puesto que el símbolo terminal d sólo aparece en una cadena que se obtenga a partir de dicha producción, puede ser eliminado del alfabeto sin que el lenguaje generado sea alterado. El siguiente algoritmoelimina aquellos terminales y no terminales que no aparezcan en las cadenas quese deriven a partir de S. La gramática transformada resultante garantiza que unsímbolo  X  será un terminal o no terminal de dicha gramática si y sólo siS => C/.X P para algunas cadenas a y (3 sobre (N  u Z)*.

Sea G = ( N , Z, S, P) una gramática independiente del contexto. Transformaremos G en la gramática G' = ( N ', Z', S, P') de forma que  L (G) =  L (G') y para

todo  X e i V 'n l ' , se tenga que S => a X  P para las cadenas a y p de (N ' n Z ') '.Para realizarlo, se construirán iterativamente los conjuntos de terminales, no terminales y producciones de la manera siguiente:

Algoritmo 3.5.2.

1. Inicializar  N '  de forma que contenga el símbolo inicial S, e inicializar  P'  y l ' a 0.

2. Repetir Para A e  N ', si A —>w es una producción de P, entonces:

1. Introducir  A —» w en  P'.2. Para todo no terminal B de w, introducir  B en  N'.3. Para todo no terminal 0 de w, introducir a en Z'.

hasta que no se puedan añadir nuevas producciones.

Obsérvese que, puesto que  P, N  y Z son finitos, el bucle de la etapa 2 siem

 pre termina. El algoritmo ha sido diseñado para tener en cuenta todos los terminales y no terminales que sean accesibles desde S. Si un terminal o un no terminal no puede ser conseguido a partir de S, nunca será incluido en N ' o Z'. Si un

www.FreeLibros.com 

Page 135: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 135/310

no terminal no es accesible, entonces todas las producciones que lo tengan en sulado izquierdo serán también excluidas.

Consideremos la gramática del Ejemplo 3.5.1 que fue transformada mediante el Algoritmo 3.5.1 en

S * A a \ B

 B * b

 A ^ a A \ b A \ B  

C —» abd 

La gramática obtenida al aplicar el Algoritmo 3.5.2 es

S > A a \ B  '  A —>a A | bA | B 

 B > b

Obsérvese que la producción C  —>abd  ha sido eliminada, junto con el noterminal C y el terminal d.

Hay que tener en cuenta que es importante el orden en el que los dos algoritmos precedentes son aplicados a una gramática. Consideremos la gramática

S —> AB | a

 A —^ £ 7

Si aplicamos el Algoritmo 3.5.1 antes que el Algoritmo 3.5.2 obtendremosun resultado distinto al que obtendríamos si aplicamos primero el Algoritmo3.5.2 y después el Algoritmo 3.5.1.

S — AB jci  A — a

S AB | (2 |  Alg. 3.5.2. 5 —> AB | Cl    Alg. 3.5.1 S —) Cl 

 A —>a j A —>a j  A ^ a

Ahora dirigiremos nuestra atención a las producciones s. Dichas prodiciones son de la forma A —» £. Indudablemente, si £ e  L (G), no podremos eliminar 

tales producciones para que e pueda ser generado por la gramática. De esto sededuce que, si £ no está en  L (G), todas las producciones £ pueden ser eliminadas.

Se dice que un no terminal  A es anulable si  A =^> £. Para la eliminación delas producciones £, es crucial identificar los no terminales anulables. El siguien-

126 TEORÍADÉAUTÓMATASYLENGUAJESFORMALES

 Alg. 3.5.1  Alg. 3.5.2

Page 136: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 136/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 127

te algoritmo identifica el conjunto 5\£, de todos los no terminales anulables enuna gramática independiente del contexto G = (N, Z, S, P).

Algoritmo 3.5.3.

1. Inicializar con todos los no terminales  A para los cuales existe una producción e, A —» e.

2. Repetir:

Si  B —> w para algún w e (J V u I) " y todos los símbolos de w estánen íAÍ, añadir  B a

hasta que no se añadan más no terminales a .

Por ahora, sólo nos ocuparemos de las gramáticas independientes del contexto G = ( N , Z, S, P), para las que  L (G) no contiene a e. Una vez que han sidoidentificados los no terminales anulables, se modifican las reglas de produccióncon el fin de poder eliminar las producciones e. Esto se realiza sustituyendo producciones de la forma  B ^> X \X 2 ... X„ por las producciones que se formen aleliminar los subconjuntos de  X¡ que son anulables. Se debe tener cuidado en noincluir  B -» e, incluso si todos los X¡ son anulables.

Se crea el nuevo conjunto de producciones  P'  como sigue:

Si  B —> X\ X 2 ■■■X,¡ es una producción de  P, entonces en  P'  introduciremos todas las producciones de la forma  B -» Y\ Y 2 .. . Y„, donde las Y¡ satisfagan:

Y¡ = X¡ si  X, no es anulable.

Y¡ = X¡ o 8 si  X¡ es anulable.

Y¡ no es e para todo i (es decir, no se introduce en  P'  ninguna

 producción de la forma B —»e)

Es importante señalar que a partir de una producción  B  —> X\ X 2 .. .  X„ de  P, se pueden conseguir nuevas producciones en  P'. Por ejemplo, si  B —»X¡  X 2 ytanto  X\ como  Xj son anulables, se podrían obtener las producciones

 B ^ > X x\X 2\XxX 2*

Consideremos la gramática G:*

S —>a A 

 A —>a A Ie

www FreeLibros com

Page 137: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 137/310

128 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Obsérvese que A es el único no terminal anulable (y que e £  L (G)). Si consideramos la producción S —>aA, tendremos que X\ = a y X 2 =A. Por tanto, añadiremos a la nueva colección las producciones S — >a\aA. La gramática que resulta, tras considerar todas las producciones originales, será

5  —» a A | a 

 A aA | a

Obsérvese que se ha eliminado la producción e, A —>£.

En una gramática independiente del contexto, si  L (G) contiene e, se puedeneliminar todas las producciones £ de G menos una. Primero, se eliminan todas

las producciones £ de G. Esto transformará la gramática G en G'  para la cual L (G') = L (G) - {£}. Después se añade la producción S —>£, la cual restituirá £al lenguaje generado.

Las producciones de la forma A —» B, donde A y B son no terminales, se llaman producciones unitarias o no generativas. La presencia de producciones unitarias no indica, necesariamente, que un símbolo es inútil. Sin embargo, las producciones unitarias hacen que la gramática independiente del contexto sea innecesariamente compleja.

Por ejemplo, la aplicación de una producción de la forma  A —>B simplemente renombra un no terminal y añade un paso más a la derivación. Cualquier cadena que sea derivable a partir de  B también lo será a partir de A. Por tanto, se puede eliminar ese paso extra saltando por encima de  B. Por ejemplo, si las producciones de A y B son

 A ^ B  

 B — wj ¡C

donde C e N y w\ e (/V u L )\ podemos eliminar la producción  A —> B e incluir la producción  A —» vvi | C. Obsérvese que, al eliminar la producción unitaria

 A —>B, se introduce la producción unitaria A  —>C. Se podría repetir este proceso hasta que no existiera ninguna producción unitaria en la gramática, pero se podría realizar otro planteamiento con el fin de eliminar la circularidad de este proceso.

Obsérvese que, en el proceso precedente, la producción unitaria  A —» C  seobtiene como resultado de las producciones  A —»B y B -» C de la gramática original. Si conocemos todos los no terminales  X  tales que  A =?> X, solamente mediante producciones unitarias, se podría entonces evitar introducirlas repetidamente e ir eliminando dichas producciones unitarias una a una. Para ver cómo se puede realizar este proceso, supongamos que tenemos las producciones

Page 138: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 138/310

Page 139: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 139/310

130 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Unitario (S)= {S,A , B, C, D}

Unitario (A) = {A, B, C, D}

Unitario (B) = {B, C, D}

Unitario (C) = {C,  D]Unitario (£>) = {D}

El algoritmo introduce primero las producciones

S —>b|ab  

 A ^ b \a b  

 B —>ab\b  

C * b \ a b

y entonces se eliminan las producciones S —>A, A — B —>C y C -»  D. Lagramática resultante es

5 —>b\ab\Aa  

 A b\ab  

 B —>ab\b  

C —>b | ab   D * b

Esta gramática puede simplificarse más, por medio de las otras técnicas.En lo visto anteriormente, hemos realizado la eliminación de producciones

en gramáticas independientes del contexto de una forma bastante incómoda.Como última etapa en la simplificación de gramáticas independientes del contexto, presentaremos un modelo o forma normal para las producciones. Se dice

que una gramática independiente del contexto está en forma normal de Chomsky  si no contiene producciones e y si todas las producciones son de la forma  A —» a, para a e Z, o de la forma  A —» BC, donde  B y C son no terminales. Es decir, enla forma normal de Chomsky el lado derecho de cada producción contiene unúnico símbolo terminal o una par de no terminales. Obsérvese que, para una gramática en forma normal de Chomsky, el árbol de derivación para cualquier derivación está bastante bien construido ya que, excepto en las hojas, ¡el árbol es binario!

Si G es una gramática independiente del contexto y 8 (G), G puede ser transformada en una gramática en forma normal de Chomsky. Para ello, primerose eliminan todas las producciones 8 , los símbolos inútiles y las produccionesunitarias de G. Obsérvese que, una vez que se ha realizado lo anterior, si  A —>w es una producción de G, se puede asegurar que | w\ > 1. Es más, si | vr| - ], entonces w es un símbolo terminal de Z, puesto que no hay producciones unitarias.

Page 140: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 140/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 131

Por otro lado, si |h>| > 1, entonces w puede contener tanto terminales como noterminales. Ahora transformaremos G convirtiendo tales w en cadenas que contengan sólo no terminales.

Supongamos que tenemos una producción de la forma  A —>w, donde

w = X\ X 2 .. .  Xn. Si  X¡ es un símbolo terminal, llamado a, sustituiremos  X¡ por un nuevo no terminal C0 y añadiremos la producción C„ —» a. Una vez que seaplica a G está conversión, todas las producciones son de la forma  A —>w, donde vv es un símbolo terminal o una cadena formada sólo por no terminales.

La última etapa para la transformación de G en forma normal de Chomsky,consiste en eliminar las cadenas con más de dos no terminales que se encuentrenen el lado derecho de una producción. Para ello, si  A  —> B\ B2 ... Bn es una pro

ducción con n >2

, la reemplazaremos por n -1

producciones

 A ->  B\ D\

 D\  —>B2 D2

 D„~ 2 —> Bn - 1   Bn

En ellas, los  D¡ serán nuevos no terminales. En la gramática transformadaresultante, el lado derecho de cada producción está compuesto por un único terminal o por una cadena de dos no terminales. Por lo tanto, todo lenguaje inde pendiente del contexto que no contenga £ puede ser generado mediante una gramática independiente del contexto en forma normal de Chomsky.

Por ejemplo, consideremos la GIC

S>bA \ aB  A — bAA jciS \ a 

 B ^> aB B \bS \b

Obsérvese que esta gramática no contiene producciones £, produccionesunitarias ni símbolos inútiles. Después de la primera transformación, la gramática se convierte en

S > C b A \ C a B  A -» ChAA\CaS\a  

 B > Ca BB\Ch S \b  

Ca — o,

Cb —>b

Page 141: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 141/310

132 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

En esta versión, el lado derecho de todas las producciones está formado por un único símbolo terminal o por una cadena de dos o más no terminales. Des pués de la última conversión, la forma normal de Chomsky de la gramática será

S > C h A \ C a A

 A —> Cfr D l | Ca 5 1Cl  

 D \ * A A

B —> Ce, D'i | C¡) S  | b 

D2  —>BB

Si  L es un lenguaje independiente del contexto que contiene 6 , se puede obtener un gramática independiente del conter.to en forma normal de Chomsky para  L - {£} y después añadir a la misma, la producción S —>e. La gramática re sultante estará en forma normal de Chomsky exceptuando la producción e.

EjerciciosdelaSección3.5

3.5.1. Aplicar el Algoritmo 3.5.1 a las siguientes gramáticas:

(a) S aAb\cEB\CE 

 A —>clBE\eeC  

 B ^ f f \ D

C —) gFB |ae 

 D ^ h

(b) S -> aB/I >bcCCC\dA 

 B —»e 

C —>fA 

 D —» Dgh

3.5.2. Aplicar el Algoritmo 3.5.1 a la siguiente gramática:

S — ci |o A | B j C

 A ■—>ciB!£ ».

 B —> Aci 

C —»bCD 

 D -» ccc

Page 142: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 142/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 133

3.5.3. Aplicar el Algoritmo 3.5.2 a la siguiente gramática independiente del contexto:

5 —»aAb 

 A —»ccC   B —>dd\D 

C — cíe

O —» /

3.5.4. Aplicar el Algoritmo 3.5.2 a la siguiente gramática independiente del contexto:

S a\aA\B 

 A aB\e 

 B  —»Aa 

 D —» ¿Wd

3.5.5. Eliminar los símbolos inútiles de la siguiente gramática por medio de los Algoritmos 3.5.1 y 3.5.2:

S>A\AA\AAA   A —> A5a| ACa | a

 B ABa\Ab\z 

C —» Cab | CC£) —» C£>| C<¿| CEa 

 E >b

3.5.6. Obtener la colección de no terminales anulables que pertenecen a la siguientegramática:

S -» aA | bA | a 

 A -» aA | bAb 18

3.5.7. Obtener, para la siguiente gramática, el número de no terminales anulables:

S —> ABaC  

 A AB 

Page 143: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 143/310

134 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

3.5.8. Eliminar las producciones E de la gramática:

S -» aA [bA | a 

 A -» aA | bAb I£

3.5.9. Eliminar de la siguiente gramática las producciones £:

S —>AB

 A aA IabB \ aCa  B^>bA\BB\z 

C —>£

 D^dB\BCB\

3.5.10. Eliminar de la siguiente gramática las producciones e:

S — ü |ciA| B  A —>ü  B I£ B — Aci

3.5.11. Eliminar las producciones £ de la gramática siguiente:

S -> C/i — AZ?

fí -» ¿ le

C-> Z)le D>d 

3.5.12. Simplificar la siguiente gramática tanto como sea posible

S —>atí\aaB A -» £

 B —>bA 

 B —> e

3.5.13. El lenguaje asociado con la siguiente gramática independiente del contexto contiene e. Eliminar las producciones e excepto S  £.

S — AB \ aB Ie

A —> BBB |aB | a Ie

 B — a | úA t £%

3.5.14. Realizar una algoritmo para construir Unitario (A) siendo A un no terminal deuna GIC.

Page 144: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 144/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 135

3.5.15. Eliminar todas las producciones unitarias de la siguiente gramática inde pendiente del contexto:

5 CBa\D

/I bbC  B Se |ddd C e A \ f \C  

 D E\SABC  E  —» gh

3.5.16. Eliminar todas las producciones unitarias de la siguiente gramática inde

 pendiente del contexto:

S  —> Aa|Ba | B 

 A ->Afile B *aA\B B\z

[Obsérvese que e e  L (G)].

3.5.17. Convertir las siguientes gramáticas a forma normal de Chomsky:

(a) S>AB\CA

A -> a

 B —> BC\AB 

C — ciB|b

(b) S>aAb\cHB\CH 

 A —»dBH\eeC   B * f f \DC —» gFB |ah 

 D —>i 

 E —*jF 

 F —>dcGGG \ cF  G ^ k F   

 H —> Hlm

3.5.18. Probar que, al realizar la conversión a forma normal de Chomsky, se puede elevar al cuadrado el número de las producciones de una gramática independiente

Page 145: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 145/310

Page 146: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 146/310

LENGUAJES.INDEPENDIENTESDELCONTEXTO 137

Lema 3.6.1. Sea L un lenguaje independiente del contexto que no contiene e. Entoncesexiste un entero k  para el cual, si  z e  L y | z | >k, entonces  z se puede volver aescribir como  z = u vwxy con las propiedades siguientes:

1 . | vwx | <k.

2. Al menos o v o x no es 8 .

3. uv'wx'y e  L para todo i > 0.

 Demostración. Supongamos que G = {N,Y ,,S,P) es unagramáticaindependiente delcontexto en forma normal de Chomsky conL = L(G ). Sea n el número de noterminales de N y sea k = 2n. Supongamos que z e  L con | z | > k.

Vamos a considerar el camino más largo del árbol de derivación correspon

diente a  z■Puesto que |z| > 2”, este camino debe contener más de n + 2 nodos.De los n + 2 últimos nodos del camino, el último corresponderá a un terminal.Por tanto n + 1 de dichos nodos están etiquetados con no terminales. Puesto quesólo hay n no terminales en N, alguno se repetirá. Supongamos que A está repetido en el camino. Entonces se tiene que

S => uvAxy => u v w x y z

 para algunas subcadenas u, v , i v , x e  y. Puesto que sólo hemos considerado los

n + 2 últimos nodos de este camino, el camino de A a vwx puede tener como máximo n + 2 nodos. Por tanto

| vwx | < 2" 

según las observaciones previas a este teorema.

Además, puesto que  A ==>vAx, debemos obtener que  A => v 'A jí  para algúni > 0. Por tanto, S => uv 'wx'y para todo i > 0.

Finalmente, obsérvese que, puesto que  A =>v/bc y puesto que G está en for

ma normal de Chomsky, se debe tener que

 A => 6 C=> vAx=$ vwx

 para algunos no terminales  B y C. Entonces  B =4 v y C=^> Ax o si no  B vA y C => x. Ya que v y x son cadenas de terminales y no hay producciones 8 , en el

 primer caso se tiene que | v| > 1 con lo que v ^ 8 y, en el segundo c§so, |x| > 1

con lo que x ^ 8 . En cualquier caso al menos uno de ellos no es 8 . □

Al igual que el lema de bombeo para lenguajes regulares, el lema de bom beo para lenguajes independientes del contexto nos proporciona la posibilidadde probar si ciertos lenguajes no son independientes del contexto. Para ello, usa-

www.FreeLibros.com 

Page 147: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 147/310

138 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

remos esencialmente el mismo planteamiento que en el caso de los lenguajes regulares.

Por ejemplo, el lenguaje L= {albJ\j = i2} no es independiente del contexto.Supongamos que  L es independiente del contexto. Probaremos que es imposible.

Si  L es independiente del contexto, entonces se puede aplicar el lema de bombeoy por tanto habrá un k  que satisfaga las condiciones del Lema 3.6.1. Consideremos z = akbk . Desde luego, z e  L y \z\ > k. Por tanto, z se puede descomponer en

 z = uvwxy

y se puede asegurar que uv'wx'y e L para todo /> 0 , tal que | vx | > 1 y| vwx | < k. Obsérvese que, si v = arbs para algún r y s, entonces V = (arbs)‘ y, por 

tanto, uvlw¿y tiene bes antes de aes con lo que no puede pertenecer a L. Deforma similar, si  x = arbs, tampoco pueden ser bombeados. Por lo que debemosobtener que

v a r y x ~ a s

o

v = br y x b 5

o también

v = a' y x b s

 para algún valor de r y s. En el primer caso se tiene

uv 2wx2y = ak +r+sbk~

En el segundo caso tenemos

u v2wx2y = akbk~+r+s

En ambos casos, cuando al menos uno de los dos r o s son mayores o iguales a 1 (como se requiere en el lema de bombeo), la cadena resultante no puede

 pertenecer a L. En el tercer caso, se obtendrá

u v iwxiy = cik+{i x)rbkl + {i {)s

el cual no pertenece a  L para toda i a excepción de un número finito. Por tanto,  L 

no puede ser independiente del contexto puesto que para él no se cumple el lemade bombeo.

El lema de bombeo tiene otros usos además de demostrar que un lenguajeno es independiente del contexto. Primero vamos a considerar el siguiente pro

 blema: para una GIC G arbitraria, ¿L (G) es finito?

Page 148: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 148/310

Page 149: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 149/310

140 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

 Demostración. Sea n = \ x | . Puesto que hay muchas subcadenas de x, las nombraremosmediante su posición inicial y su longitud. Sea w¡j la subcadena que comienza enla posición i y tiene una longitud j. Probaremos que el lema se cumple para todow¡j. Lo realizaremos por inducción sobre la longitud de la subcadena, es decir,

sobre j.Supongamos que / = 1. Entonces | w¡j\ = 1 y, por tanto, wy es un símboloterminal. Como la gramática está en forma normal de Chomsky, para algún noterminal  A se tiene que  A w¡j si y sólo si existe una producción  A  —>w¡j en  P. Es posible determinarlo, ya que P es finito.

Ahora supongamos que j > 1 y que la afirmación se cumple para toda subcadena de longitud menor que j . Obsérvese que A w¡j si y sólo si  A —>BC  paraalgún par  B y C de no terminales para los cuales  B => w¡k y C=> w¡ + k ,jk  para

algún k entre 1 y j 1. Entonces tanto w¡k como w¡ +k j k tienen longitud menor * £que  j y, por la hipótesis de inducción, es posible determinar si  B ==>w¡k  y siC =5> Wj + k jk Además podemos determinar si A =4 w¡j para cada i entre 1y n ycada j entre 1 y n i +  1 . □

En la demostración anterior se observa que si j = n entonces se puede determinar si

S ==>w\j —w\n —x

Es decir, se puede determinar si x  6   L (G) para cada x e I “.

Se cumple que .v s  L (G) si y sólo si S => x y, por el Lema 3.6.2, sabemosque es posible determinar si S => .v. Naturalmente, no es lo mismo saber que algoes posible, que hacerlo. Se conocen varios algoritmos para determinar si

 x e L (G). Vamos a presentar uno llamado algoritmo de CYK y que se debe aCocke, Younger y Kasami. El algoritmo de CYK simplemente construye con

 juntos  N¡j de no terminales que generan las subcadenas w¡j de x. Una vez hecho,si S e N\„, entonces x e L (G) (donde |jc[ = n). Obsérvese que se elimina muchotrabajo por el hecho de que no pueden existir subcadenas de longitud mayor quen i +  1 que empiecen en la posición i.

El algoritmo de CYK, se enuncia como sigue:

1 . Para cada i =  1 , 2,..., n, sea

Mi = {A \A  —>w¡\} »

Es decir,  N¡\ es el conjunto de todos los no terminales que producen el/-ésimo símbolo de x

www FreeLibros com

Page 150: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 150/310

Page 151: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 151/310

142 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Supongamos que Gy = (N i, Xj, Si,  P\) y G2 = (iV2, 1 2 , S2, P 2 ) son dos gramáticas independientes del contexto para las cuales  N\ y N 2 son disjuntos. Definiremos la gramática independiente del contexto G = ( N , X, S, P), donde

 N = N  i u   N2 u  {S}Z = Z i u l 2

/> = />, u /> 2 u { ( S , S , ) , (S, S2) }

siendo S un nuevo símbolo. Es decir,  P  contiene las producciones de  P\ y P 2 , además de dos nuevas producciones S —>Si | S2. Se ve fácilmente que  L (G) '=

 L (G i) u L (G2). Primero, si w e L (Gi), entonces se tiene que Si =4 w, con loque S => Si => w y, por tanto, se tiene que w e L (G). De forma similar, si

w g L (G2), entonces se tiene que w e L (G ) y, por tanto,  L (Gi) u  L (G2 ) c L (G). Por otro lado, si w e  L (G), entonces S => w. Pero S —>S 1 1S2 son las únicas producciones que tienen en su lado izquierdo el símbolo S. Entonces o bien

S => Si =$ vv

o

S =$ S2 ==> w

Ahora bien, como Ni n N 2 = 0, sólo se pueden usar producciones de  P\ en Si => w, con lo que si S => Si w, se deduce que w e  L(G\). De un modosimilar, si S => S2  w, se obtiene que w e L (G2). Por tanto,  L (G) c

 L (Gi) u  L (G2). Con lo que hemos demostrado el siguiente teorema:

Teorema 3.6.3. Si  L\ y L2 son lenguajes independientes del contexto, entonces  L\ u ¿ 2

es un lenguaje independiente del contexto.

Es decir, el conjunto de los lenguajes independientes del contexto es cerrado con respecto a la unión. Este conjunto también es cerrado con respecto a lacerradura de estrella.

Teorema 3.6.4. Si  L es un lenguaje independiente del contexto, entonces Ü  tambiénlo es.

Demostración. Sea  L L (G) para G = (N, X, S, P). Constituiremos una gramática inde pendiente del contexto G' = (N \ I , S', P') que genere L*, de forma que N' N  u ¡S', T), donde S' y T  son nuevos símbolos, y añadiremos las producciones S'  —» S T Ie y T  —>S T Ie. Obsérvese que si w¡, W 2, ..., wn e  L (G), se tiene

www.FreeLibros.com 

Page 152: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 152/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 143

S '=*ST=*SST 

=4S . . .ST  (h términos)

=> S ... S   e 

==> Wl W 2 . . . w n

Por tanto, L * c L (G'). □

Teorema 3.6.5. La concatenación de lenguajes independientes del contexto es inde pendiente del contexto.

Demostración. Véase el Ejercicio 3.6.5. □

En los Teoremas 3.6.3, 3.6.4 y 3.6.5 hemos enunciado tres  propiedades de cierre de los lenguajes independientes del contexto. Desgraciadamente, los lenguajes independientes del contexto no son cerrados con respecto a la intersección. El lenguaje

 L {í/7?'c'|í >0}

no es independiente del contexto, como se demostró en la aplicación del lema de bombeo (Lema 3.6.1). Obsérvese que  L\ = {a‘b^c^\i,j>0} es generado por lagramática independiente del contexto

A -» a AI £

C — bCc I£

y el lenguaje  Lo = {a‘b'cJ \ i, j > 0 } es generado por 

S ^ A C   

 A —>aAb\e 

C — cCl £

y, por tanto, son lenguajes independientes del contexto. Pero se tiene que L L \ n L2, y con lo que, la intersección de lenguajes independientes del con

texto no es necesariamente un lenguaje independiente del contexto.”Además, los lenguajes independientes del contexto no son cerrados con res pecto a la complementación. Si denotamos Z* -  L¡ mediante L. entonces

L\C\L2- (¿i u Li) 

www FreeLibros com

Page 153: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 153/310

144 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Ya que la unión de lenguajes independientes del contexto produce un lenguaje independiente del contexto, obsérvese que, si al complementar lenguajesindependientes del contexto siempre se obtuvieran lenguajes independientes delcontexto, la intersección anterior debería haber sido independiente del contexto.

EjerciciosdelaSección3.6

3.6.1. Probar que cada uno de los siguientes lenguajes no son independientes del contexto.

(a) {a‘b'c'\ i > 1}

(b) {a‘b'cj \j> i}

(c) {a‘b^ck\ i < j <k ]

(d) {a'| / es primo}

(e) {w e [a, ¿>, c}*| w tiene el mismo número de aes que de bes y ces}

(f)  {a"b"c'"\n < m < 2n)

(g) {ww| w e {a, b }*}.

3.6.2. Determinar si el lenguaje generado por 

S —>ciciA¡ B  B a A \ b  

 A —>ríS 16 1£es finito o infinito.

3.6.3. Determinar si bba, bab y babba están en L (G) correspondiente a la gramática G del Ejemplo 3.6.1, usando el algoritmo de CYK.

3.6.4. Sea G = (N, X, S, P) una G1C. Al igual que en la demostración del Teorema

3.6.4, construir G’ (Ar . X. S , P'). Demostrar que L (G’) c V \3.6.5. Demostrar el Teorema 3.6.5.

AUTÓMATADEPILA

Hemos visto que las gramáticas independientes del contexto amplían la capacidad para especificar lenguajes al incluir algunos lenguajes que no son reconocidos por un autómata finito. En esta sección consideraremos un autómata que

será capaz de reconocer todo lenguaje independiente del contexto.Intuitivamente, el problema que se plantea con los autómatas finitos es que

sólo tienen capacidad para una “memoria” finita. Lenguajes independientes delcontexto tan sencillos como {anb"\n > 0} necesitan guardar gran cantidad de in-

www.FreeLibros.com

Page 154: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 154/310

Page 155: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 155/310

146 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

A C 2  X (E U {£}) X T X <2 X r*

Ya que estamos definiendo un autómata de pila no determinista, cabe esperar que A no tiene por qué ser una función. Por tanto, si aplicamos A a la terna

(<7 i, a, b) se obtiene el conjunto {(<72 , cd), {qi, dcé), (9 3 , efe)}, del cual se elige deforma no determinista uno de los pares, de manera que el autómata de pila cam bia para reflejar dicha elección. Obsérvese que, puesto que los pares resultantes pertenecen a g x T y y a que £ e P , se puede tener que de A (q, a, b) se obtenga(p, £). Esto indica que el estado siguiente es p y que el símbolo b se elimina (o sedesapila) de la cima de la pila.

Al definir A c Q x (E u {£}) x T x Q x T*, se fuerza a que A deba considerar un símbolo de la pila en todos sus movimientos. Es decir, no es posible nin

gún movimiento si la pila está vacía. Por esta razón, se supone que inicialmentela pila contiene algún símbolo z, que es el símbolo inicial de la pila. Por otrolado, un movimiento tal como

A (q, £, a) = {(pf aa)}

indica que el ADPND puede cambiar a un estado  p y apilar una a en la pilasin consumir ningún símbolo de la entrada. Finalmente, obsérvese que si

A (q, 0 , y) = 0, no es posible ningún movimiento desde el estado q con el símbolo de entrada <3 y con el símbolo de la pila  y. En este caso, el ADPND parará suejecución.

Consideremos el autómata de pila no determinista definido por 

Q = {q\,qi, 23, <?4}I = { a , b }

r = { A , B }

 Z = AF = { q , }

 s = q\

 y A dado por la siguiente tabla:

A {a, A ) ib, A) (£ ,A ) (a,B) 0b , B) (£, B)

q\ {(q2, BA), (q4 ,A)} {(?4, £)} *

<?2i

f e  BB)} {(<?3,£)} *

<73 {(<74, ¿)} {(<73, £)}

www FreeLibros com

Page 156: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 156/310

Page 157: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 157/310

148 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

un instante en particular. Indicaremos un movimiento de una configuración aotra situando el símbolo i- entre dos descripciones instantáneas

(Y/i, aw, bx) t- (7/2, w, yx)

representa un movimiento que resulta de (<72 , y) e A (q\, a, b). Podemos denotar los movimientos con un número arbitrario de pasos por medio de t- y í (donde *indica “cero o más pasos” y + indica “uno o más pasos”).

Ahora definiremos formalmente lo que significa que un autómata de pila nodeterminista acepte un lenguaje.

Definición 3.7.2. Sea  M = (Q, Z, T, s, z, F, A) un autómata de pila no determinista. El

lenguaje aceptado por  M  se denota por  L (M) y es el conjuñ'o

 L ( M) = {w € E* I(.y, w, z) t- (p, e, u) para  p e  F  y « e F )

Obsérvese que la aceptación requiere que M se mueva a un estado finalcuando la cadena w se agote.  M  puede terminar o no con la pila vacía. (Sin em bargo, obsérvese que cuando la pila se vacía el ADPND debe parar, ya que todaslas transiciones requieren un símbolo de la pila).

Ejemplo 3.7.1

Supongamos que queremos construir un autómata de pila no deterministaque acepte el lenguaje

 L ~ { w e {«, ¿>}'| vv contiene la misma cantidad de oes que de bes}

Debemos contar el número de ocurrencias de aes y bes. Esto puede realizarse introduciendo símbolos en la pila cuando se lee algún carácter de entraday extrayéndolo cuando se lee otro. Sea M el ADPND dado por 

2 = k/!-<?2 }2 = [a,b] r = {A, B, Z}

 s = q\ 

 z = Z   F — {<?2}

y la regla de transición A dada por la lista

www.FreeLibros.com

Page 158: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 158/310

Page 159: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 159/310

Page 160: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 160/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 151

 pila a compararlos y desapilarlos. Usar el ADPND del Ejemplo 3.7.2 como punto de partida y construir un ADPND que acepte  L añadiendo o eliminando lastransiciones apropiadas.

3.7.5. Obtener los ADPND para los siguientes lenguajes:

(a) [anb2n\n>  0 }

(b) [anbmcn +m\ n >0 y m > 0 }

(c) {anb"'\n <m<3n}

(d) {we {a,b}”\w contiene una a más que bes]

(e) {a"bm\ n >0 y m * n )

(f) {w[C\V 21 W|, W 2 s {a,b}* y w¡ ^ wj}

3.7.6. ¿Qué lenguaje será aceptado por el M dado a continuación

Q= {quq2 , qi)Z = {a,b}F = E u {z}, donde z es el símbolo inicial de la pila

 s q \

F= {q3}

y A viene dado por la tabla

A (a. z) (a. b) ib, a) (b. b)

<7i {(</;. «.). ((]?.£)}

<72 m , o í {(<72./;)} {(cn,b))

¿Cuál será el lenguaje aceptado si se cambia  F por  F = [q¡, (¡2 , <73}?

3.7.7. Obtener un ADPND que acepte ciaba. La presencia de un dispositivo de memoria en un autómata puede permitir que se economicen estados. Un autómatafinito no determinista para el lenguaje precedente, necesariamente tiene al menos cuatro estados y, por tanto, un ADPND para este lenguaje que ignore su piladeberá tener, al menos, cuatro estados. Obtener un ADPND para adba que sólotenga dos estados.

AUTÓMATASDEPILAYLENGUAJESINDEPENDIENTES*DELCONTEXTO

El principal resultado de esta sección es que los autómatas de pila no deterministas aceptan los lenguajes independientes del contexto. Esto requiere que, paracada lenguaje independiente del contexto, debamos poder encontrar un autómata

www.FreeLibros.com

Page 161: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 161/310

152 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

de pila no determinista que lo acepte y a la inversa, para cada lenguaje aceptado por un autómata de pila no determinista, obtener una gramática independientedel contexto. Primero demostraremos que cualquier lenguaje independiente delcontexto es aceptado por un autómata de pila no determinista presentando un

método de construcción para dicho ADPND.Sea G = (N, X, S, P ) una gramática independiente del contexto. Desearíamos

construir un autómata de pila no determinista que acepte  L (G). El ADPND queconstruiremos debería poder verificar que todas las cadenas de  L (G) son deriva-

 bles. La idea principal es construir un ADPND que pueda realizar una derivación por la izquierda para cualquier cadena del lenguaje. Representaremos la derivación guardando en la pila los no terminales del extremo derecho de la derivación, mientras que la parte izquierda (compuesta totalmente por terminales) es

idéntica que la cadena de entrada que se ha leído.

Empezaremos por introducir en la pila el símbolo inicial (de G). En cadauna de las etapas posteriores realizaremos una de estas acciones:

1. Si el símbolo que está en la cima de la pila es un no terminal  A, lo sustituiremos por el lado derecho de la producción para A, A —» vv, o

2. Si el símbolo de la cima de la pila es un terminal y se corresponde conel siguiente símbolo de la entrada, los desapilaremos de la pila.

Estas acciones imitan una derivación por la izquierda para la cadena de entrada. Si se agota la cadena de entrada y en la cima de la pila se encuentra elsímbolo inicial de la pila, aceptaremos la cadena puesto que es posible la derivación de la misma. Obsérvese que el no determinismo se presenta en la etapa 1cuando se elige el lado derecho de alguna producción para que sea introducidoen la pila.

Para definir dicho autómata de pila no determinista  M, sean

Q={q\ ,q7 ,q2)

F = A í u Z u { z ¡ , donde z es un símbolo inicial de la pila

(y es distinto de todos los símbolos de N u 2 )

 F = { q i )  

 s = q\

y la regla de transición A está compuesta por cuatro tipos de transiciones:♦

1. A (qi, e,  z) = {(<?2, Sz)}, la cual se corresponde con la introducción delsímbolo inicial en la pila.

Page 162: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 162/310

Page 163: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 163/310

154 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

(42, a iü 2... a,„ Sz) H (<72, ai« 2 ■• • « í P i z )

I- (q2, <32 .. . «n, P iz )

h (<72, Ct„, a„z) 

i~ (<72, £, z)

H ( 9 3 , £ , z )

y por tanto se obtienen las derivaciones siguientes

5 c í i P i = > d i a 2P 2 = > . . . = > a\ü2  . . . an- w

Por consiguiente, si w es aceptada por un ADPND, entonces w se deriva dela gramática.

A la inversa, supongamos que tenemos una gramática en forma normal deChomsky. Si S = > «102 . . . an,  entonces tendremos una derivación de a\ü2 . . . an, 

 por la izquierda y de la forma

S = > / \ i O C i = > a\(X\ = > ci\A2(X2 =$ a\d 20*2  ^1^2 ■■■ a>\

Por tanto, en un ADPND derivado de esta gramática, se puede tener la secuencia

(<72, a\a2 . . . a„, Sz) h (<72, « i « 2 . • . a„, ci\<X\z)

1 - (cj2, C12 . . . a„, a i z)

h (<7 2, e , z)

1- (<73, e, z)

Es decir, el ADPND acepta la cadena vv - a\az .. . a„.  Por tanto, se deduce elsiguiente teorema:

Te orem a 3.8.1. Si  L es un lenguaje independiente del contexto, entonces existirá unADPND para el cual L L ( M).

El Teorema 3.8.1 representa la mitad de nuestro objetivo. Nuestra tarea pendiente es demostrar su inverso, es decir, que cualquier lenguaje aceptado por un

ADPND es independiente del contexto. Para generalizar, necesitaremos tomar un ADPND arbitrario y probar cómo se obtendrá una gramática independientedel contexto que genere el lenguaje aceptado por él. Con el objeto de simplificar el problema, trataremos con uno equivalente, desde el principio, en el cual elADPND se comporte correctamente.

www FreeLibros com

Page 164: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 164/310

Page 165: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 165/310

Page 166: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 166/310

Page 167: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 167/310

158 TEORIADEAUTÓMATASYLENGUAJESFORMALES

ción. Por tanto, dichos símbolos nunca podrán aparecer en una derivación de unacadena de terminales. A pesar de haber introducido una complejidad no desea ble, esta técnica de construcción se puede usar para cualquier ADPND cuyas re glas de transición satisfacen las condiciones. Se puede aplicar las técnicas de

simplificación vistas en la Sección 3.5 a la gramática resultante, con el fin de eliminar las partes inútiles. Obsérvese que, de la forma de construir una gramática a

 partir de un ADPND que satisfaga las condiciones dadas, se obtiene que

(q¡, uv,Ax) h- (cjj, v, x)

 por m edio de las operaciones que realiza un autómata de pila, entonces en la gramática resultante se tendrá

[q¡ Acjj | u

Es decir, si el ADPND elimina A de la pila cuando se lee la cadena u y pasadel estado q¡ al estado q j , entonces el no terminal [q¡ Aq¡ ] puede derivar u.

A la inversa, obsérvese que, si en alguna derivación se tiene

f q¡ Aqk ] a [q¡ Bqr] [qr Cqk ]

entonces A puede ser sustituido por  BC en la pila cuando se lea a y se pasará delestado q¡ al estado qj.

Por otro lado, si [q¡ Aq¡ ] => a es una derivación con un único paso, entoncesA (q¡ , a, A) contiene (q¡, e), con lo que A podrá ser desapilado al consumirse lacadena de entrada a. Por tanto, si [q¡ Aq¡ ] => u. la secuencia de cadenas de terminales y no terminales que forman la derivación se corresponde con la secuenciade movimientos que realiza un ADPND para el cual (q¡ , uv, Ax) h (c¡j, v, x). Por 

tanto, cualquier cadena de terminales generada por la gramática es aceptada por el ADPND, y viceversa. Enunciaremos el siguiente teorema:

Teo rem a 3.8.2. Si  L es aceptado por un ADPND. entonces  L es un lenguaje inde pendiente del contexto.

Los autómatas de pila no deterministas nos proporcionan otra alternativa

 para caracterizar los lenguajes independientes del contexto. Es tan fácil probar que un lenguaje es un lenguaje independiente del contexto, demostrando que esaceptado por un ADPND, como probar que es independiente del context® si esgenerado por una gramática independiente del contexto. A veces incluso es másfácil describir un ADPND que una gramática. Además, el modelo del ADPND

www FreeLibros com

Page 168: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 168/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 159

nos facilita la tarea de probar ciertas propiedades de los lenguajes inde pendientes del contexto.

Te orem a 3.8.3. Si  L\ es un lenguaje independiente del contexto y  Li es un lenguaje regular, entonces L\ n L2 es un lenguaje independiente del contexto.

 Demostración. Sea  M\ = (£>i, Zi, T, si, z, F\, Ai) un ADPND que acepta el lenguaje L\ . Sea M2 = (Q2, Z2, S 2 , F 2 , 8 ) un autómata finito determinista que acepta el lenguaje regular  L2. Construiremos un ADPND que acepte  L\ n  L2 mediante lacombinación de  M\ y  M 2. Este ADPND simulará paralelamente las acciones deMi y M 2 y aceptará una cadena cuando y sólo cuando  M\ y M2 acepten una. Definiremos el ADPND  M = (Q , Z, T, s, z, F, A) como sigue:

Q = Qp\ x Q2S = (S\,S2) 

 F =  F\ x  F 2 

 __ . Z = Z i u Z 2

y la regla de transición A se define de forma que se tiene que

((<?£, P l), x) G A {{q¡ , q}), a, b)

si y sólo si 8  (pj, a) = p¡ y (q¡c , x ) e Ai (q¡ , a, b). Es decir,

A ((q¡ , p j ), a , b ) = {  ((<7*, p ¡), x) I(qk , x) e Ai , «, ¿) y 8  {pj, a) = {p¡ }}

Obsérvese que los estados de M se etiquetan mediante pares que representanlos estados en las que estarán  M\ y Mi, respectivamente, tras procesar la entrada.Una cadena se acepta si provoca que  M  termine en un estado (q,p), dondeq g  F\ y p g  Fi . Es decir, se acepta si M\ acepta la cadena acabando en el estado

q y  M 2 acepta la cadena acabando en el estado  p. La inducción sobre el númerode pasos de una computación prueba que (5 , w, z) f- ((q, p), £, u) con c/g F¡ y

 p g  F 2 , si y sólo si (si, w,  z) h (?, e, u) y 8 (.V2, w) = p . □

En la Sección 3.7, descubrimos que la intersección de lenguajes inde pendientes del contexto no tenía que ser necesariamente un lenguaje inde pendiente del contexto. Es decir, la familia de los lenguajes independientes delcontexto no es cerrada bajo la intersección. El Teorema 3.8.3 prueba que esta familia es cerrada bajo la intersección regular.

Por ejemplo, el lenguaje  L = {a"b’l \n > 0 y n ¿ 100} es un lenguaje inde pendiente del contexto. Aunque dicha propiedad puede ser probada mediante laconstrucción de una gramática independiente del contexto que lo genere o de un

www.FreeLibros.com 

Page 169: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 169/310

Page 170: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 170/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 161

3.8.6. Obtener una derivación de a3b3mediante la gramática del Ejemplo 3.8.2.

3.8.7. Aplicar la construcción precedente al ADPND dado por  M = (Q, L, F, s, z, F, A),donde Q = {<71, q2, qi, q4}, F={q3), s = q[, 1 = {a ,b }, T = { A ,B ,z} y A como

se muestra a continuación

 A{qua,z)={(q\,Az)} A (qiy b,A) = {(q2, £)}

 A (<?4, e, z) = {(<7 i, Az)}A (<72, e, z) = {(qi, e)} A(qi,a,A)= {(q4, e)}

3.8.8. Obtener una gramática independiente del contexto que genere el mismo lengua je que el ADPND  M = (<2, E, T, s, z, F, A), donde Q= {q\,q2}, 2 = {a, b], 

T = {a,z}, s = q\, F= {q2} y A dado mediante

 A (qu a, z)= {(tfi.az)} A (qu b, a)= {(q¡,aa)}

A (<71, a, d)={ (q2,e)}

3.8.9. Obtener una grámatica independiente del contexto para el lenguaje aceptado por el ADPND  M = (Q, E, T, s, z, F, A), donde Q = {q¡, q2, 93},  Z={a,b}, T = {A, z},  Z  es el símbolo inicial de la pila, F = {<73}, y A dado por 

A (q¡, a, z) = {{qy,Az)} A(qi,a ,A)= {(<?], A)}

A b, A) = {(<72»e)}

 A(q2, e,z)= {(43, e)}

Obsérvese que este ADPND no satisface las dos condiciones requeridas para laconstrucción de una GIC.

3.8.10. Sea  M = {Q, I , T, s, z, F, A), donde Q= [q\, q2, q^q*}, E= {a, b}, T = {X, z}, s = q\,z es el símbolo inicial de la pila, F = 0 (es decir, este ADPND sólo aceptacadenas cuando la pila se vacía), y A dado por 

A (¿7i, b, z) ={(qi,Xz)} A(q i,C,z) = :((<?i,e)'}

A (qu b, X) = {(<71 , XX)} A (q2, b, X) = {(q2, e)JA (<7 i, a, X) = {(q2 ,X)} A(q2 ,a ,z) = {(?i,z)}

Después de realizar los cambios necesarios para que este ADPND satisfaga lascondiciones requeridas para construir una gramática independiente del contexto,obtener una gramática independiente del contexto para el lenguaje aceptado por 

t tó t

Page 171: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 171/310

Page 172: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 172/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 163

su lado izquierdo, entonces la producción  A —>aBy se puede reemplazar por  A -» «Piyl a p 2y | ... Ia(3my sin que varíe el lenguaje generado por la gramática.

Demostración. Sea G la gramática original y sea G'  la gramática que resulta de latransformación. Tenemos que probar que  L (G) = L (G'). Primero demostraremos que  L (G') c  L (G). Supongamos que w e  L (G'). Si la derivación de w nocontiene ninguna de las producciones  A —»a(3,y, entonces w e  L(G) y queda probado. Por otro lado, si la derivación de w usa una producción  A —>afi, y, entonces en G se puede usar   A => aBy => cxp,- y para derivar  w. Por tanto,vve L (G). Entonces se tiene L (G') c  L (G).

Para demostrar que  L (G) c  L (G'), consideremos que w e  L (G). Si

 A —>aBy no se usa en la derivación de w, entonces, puesto que todas las otras producciones de G están en G', we. L (G') y quedará probado. Si n ? aBy seusa en la derivación de w, entonces en algún momento,  B debe ser reemplazado

 por uno de los P¡. Esto se puede hacer de forma inmediata unificando ambos pasos en uno A => a(3, y. Pór tanto, w es derivable en G', con lo qué w e  L (G') y seobtiene que L (G) c  L (G')• □

Por ejemplo, consideremos la gramática independiente del contexto cuyas producciones son

5 —» a | aa§ L¡ Bab | abBc 4

 P> —>ha abS \ bba

Si realizamos la sustitución presentada en el Teorema 3.9.1, obtendremos lagramática

S —>a | acü¿acdiS \ aabba \ baabSab | bbaabI abbacfbS c | abbbac 0

 B —>baabñ\ bba

Obsérvese que las producciones de  B, B —>baabS | bba no desaparecen, perono podrán formar parte de ninguna derivación. Sin embargo, con el fin de sim

 plificar la gramática resultante, una de las técnicas de simplificación vistas en laSección 3.5 podría eliminar dichas producciones inútiles.

Una producción de la forma A -» oo4, donde a e (N u Z)!í, se conoce comorecursiva por la derecha. De forma semejante, una producción recursiva por la 

izquierda será de la forma  A —> Aa. Las producciones recursivas por la derecha^producen árboles que se expanden por la derecha, mientras que los árboles co

rrespondientes a las producciones recursivas por*la izquierda se expanden por laizquierda. En muchas aplicaciones correspondientes a las gramáticas, no es deseable que exista recursividad por la izquierda. El siguiente teorema proporciona

Page 173: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 173/310

Page 174: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 174/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 165

Definición 3.9.3. Una gramática independiente del contexto está en forma normal de Greibach (FNG) si todas las producciones son de la forma  A   —>aa, donde a esun símbolo terminal y a e ( l u  N)*.

Obsérvese que esta formal normal requiere que toda producción tenga unsímbolo del alfabeto como primer símbolo del lado derecho de las producciones.Por tanto una gramática en FNG no puede tener producciones recursivas por laizquierda. Es más, puesto que cada producción requiere que haya al menos unsímbolo del alfabeto, una gramática independiente del contexto en FNG sólo puede generar lenguajes no vacíos que no contengan e.

Es posible construir una gramática independiente del contexto en forma

normal de Greibach,para cualquier gramática independiente del contexto que nocontenga e. El algoritmo para realizar esto consiste en diferentes etapas.

Supongamos que  L es un lenguaje independiente del contexto no vacío queno contiene e. Primero, sea G = (£,  N, S, P ) una gramática independiente delcontexto en forma normal de Chomsky que genera L. Supongamos que

 N = {A\, A 2, ..., <4,ih donde  Ai =S. Entonces modificamos las producciones deforma que si A r —>A^a es una producción, entonces r<s . Supongamos que hemos modificado las producciones de forma que para 1 < i < k, si  A, —>Aj a, entonces i < j. Demostraremos como modificar las producciones para Ak+\.

Si Ak + 1 —> Aj a es una producción con k + 1 >j, se genera un nuevo conjunto de producciones para reemplazar las Ay que aparecen en el lado derecho de las

 producciones, por el lado derecho de todas las producciones de la forma Aj —>(3,como se vio en el Teorema 3.9.1. Cuando se realicen dichas sustituciones, se obtendrán producciones de la forma  Ak + 1 — >Ar a. Puede ocurrir que k + \ <r o que r < k + 1. Si k + 1 < r, se tendrá una producción de la forma deseada. Si

r < k + 1, deberemos repetir el proceso. Puesto que solamente hay k  índices menores que k +  1 , después de repetir el proceso k   1 veces, se habrán eliminadotodas las producciones de la forma  Ak  + 1   —>A r a para las cuales r < k + 1. Por tanto, las producciones que quedarán, serán todas de la forma  Ak + 1   —>Ar a, conk + 1 < r. Obsérvese que las producciones para las cuales k + i r son producciones recursivas por la izquierda que pueden ser eliminadas mediante el Teorema 3.9.2 introduciendo un no terminal nuevo Z* + j.

Repetiremos el proceso para cada uno de los no terminales originales desde

 Ai hasta A„. Por tanto sólo se tendrán producciones de las tres formas siguientes:

1 .  Ak> Aj a , con k < j

2 .  Ak -» aa, para a e £

3 Zk -» a para a e ( N u {Z¡ Z2 Z }>*

Page 175: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 175/310

166 TEORIADEAUTÓMATASYLENGUAJESFORMALES

Obsérvese que, puesto que An es el no terminal con mayor índice, todas las producciones para  A n deben ser del tipo 2. Es decir, en el extremo izquierdo dellado derecho de una producción para A„, debe haber un símbolo terminal. Tam

 bién, toda producción para A„_ i debe tener en el extremo izquierdo del lado derecho, un terminal o  An. Si tiene A„, puede ser reemplazado por el lado derechode una de sus producciones como se hace en el Teorema 3.9.1. Dichas producciones comenzarán con un terminal. Luego procederemos a transformar las producciones correspondientes a An 2 , A„ _ 3 y así sucesivamente, hasta que el ladoderecho de todas las producciones correspondientes a los no terminales originales comiencen con un terminal.

Finalmente, consideraremos las producciones para  Z\ , Z% ..., Z„. Puesto queinicialmente teníamos una gramática independiente del contexto en forma normal de Chomsky y sólo hemos aplicado los Teoremas 3.9.1 y 3.9.2, ninguna de

las producciones Z, —>a tendrá otro  Z¡ en el extremo izquierdo de su lado derecho. Por tanto, todas la producciones correspondientes a los Z/ tendrán terminales o A¡ al principio de su lado derecho. Para los que tengan al principio del ladoderecho alguna A¿, aplicaremos una vez más, el Teorema 3.9.1 y todas las producciones resultantes estarán en la forma deseada.

La transformación vista nos da pie para enunciar el siguiente teorema:

Teorem a 3.9.4. Todo lenguaje independiente del contexto no vacío, que no contiene la

 palabra vacía e, se puede generar mediante una gramática independiente del contexto G = (¿V, £, S, P ) en la cual todas las producciones son de la forma  A —>ciw  para A e N , a e ' L y w e N * .

Consideremos la gramática independiente del contexto en forma normal deChomsky (cuyos no terminales han sido etiquetados convenientemente)

 Ai —> A 2A21 ci 

 A2 —> A 1  A2 1 b

Obsérvese que las producciones A 1 —>A2A2 Ia ya se encuentran en la formanecesaria para realizar la primera etapa. (Las producciones deben satisfacer 

 A¡ -»  Aj a para i < j sólo cuando hay un no terminal en el lado derecho. Por tantoAi —>a es aceptable). Consideraremos las producciones correspondientes a  A2. La producción  A2 —>b se acepta, pero A2 —>A 1 A2 no. Debemos substituir A 1 , obteniendo las producciones  A 2 —>A2 A2 A 2 \ C 1 A2. Eliminamos la recursividad por la

izquierda y obtenemos el conjunto de producciones* %

Aj —>A2 A2 IÍÍ

A2 —>a M  | a A iZ \ b \ bZ 

www.FreeLibros.com 

Page 176: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 176/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 167

Finalmente, substituimos A i de forma apropiada para que el lado derecho detodas las producciones comience con un terminal. Esto produce

Ai -» a A 2 A 2 \a A 2 Z A 2\b A 2 \ b Z A 2 \a 

 A 2 —>a A 2\a A 2Z\ b\ b Z  Z —>a A 2 A 2\ aA2 Z A 2 \ bA 2 \ b Z A 2\ aA 2 A2 Z  \ a A 2 Z A 2 Z \ b A 2 Z \ b Z A 2 Z 

Obsérvese que todas las producciones de la forma dada en el Teorema 3.9.4son necesariamente de la forma apropiada para la FNG. Por tanto, se obtiene elsiguiente corolario:

C orola rio 3.9.5. Todo lenguaje  L independiente del contexto y no vacío, que r.o con

tenga e, puede ser generado mediante una gramática independiente del contextoen forma normal de Greibach.

Una definición alternativa para la FNG requiere que todas las produccionessean de la forma A —>aw para A e  N, a e E y w e  N*. Las dos definiciones deFNG son equivalentes (Ejercicio 3.9.5).

EjerciciosdelaSección3.9

3.9.1. Eliminar la recursividad por la izquierda de

S —>Sa |aAc | c

-4 —>Ab\ba

3.9.2. Eliminar la recursividad por la izquierda de S —>aSb | e.

3.9.3. En las observaciones anteriores al Teorema 3.9.3, la afirmación “ninguna de las producciones Z¡ —>a, tienen otro Zj en el extremo izquierdo del lado derecho dela producción”, depende de que el lado derecho de todas las produccionescorrespondientes a A, empiece con un terminal o con  Aj A¡, para algún j y algúnk. Probarlo por inducción sobre el número de aplicaciones del Teorema 3.9.1y 3.9.2.

3.9.4. Pasar a forma normal de Greibach

(a) 5 —»aSb |ab

(b) S —> AA |a 

 A>SS\b

(c) S  —>Sa | Sb | cA 

 A —) A a |o I£

www.FreeLibros.com 

Page 177: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 177/310

Page 178: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 178/310

LENGUAJESINDEPENDIENTESDELCONTEXTO 169

1 . vx tiene al menos una posición marcada.

2 . vwx tiene como máximo n posiciones marcadas.

3. Para todo i >0, uv ‘wx'y e  L.

3. Demostrar el lema de Ogden. Indicación: Por el Ejercicio 2, hay al menosk+ 1 puntos de rama en un camino elegido convenientemente. Apliqúesela demostración del lema de bombeo para el último de los k +  1 .

2. En los problemas siguientes se puede usar el lema de Ogden.

1. Aplicar el lema de Ogden para demostrar que el lenguaje

(aW' l i >  1 }

no es independiente del contexto.

2. Usar el lema de Ogden para demostrar que

{a‘bjckd l\i = 0 o  j = k = l}

no es un lenguaje independiente del contexto.

3. Usar el lema de Ogden para demostrar que

{a!b]ck\ i < j < k]

no es independiente del contexto.

4. ¿Es un lenguaje independiente del contexto el lenguaje

{a'bjck\i&j, j * k  e i ^ k}l  

¿Por qué o por qué no? ¿Qué ocurre con

{a‘bjck\ i * j y  j * k ) l 

3. Sea  L = {ww\w e [a, ¿>}*}. En el Ejercicio 3.6.1 (g) se propuso que se demostrará que L no era independiente del contexto. Demostrar que L, el complemen

to de  L en {a, b}*, es independiente del contexto.  Indicación: Obsérvese quecualquier cadena de longitud impar sobre {a, b}*, automáticamente pertenece a

 L. Por otro lado, cualquier cadena de longitud par de  L se puede escribir comoii\X\V\UiX 2V 7 , donde xi  y x%están en {a,b},x \*X 2 y |mi| = | « 2 1 y kil = IV21 -Considérese la unión de dos lenguajes independientes del contexto, uno de loscuales contenga sólo las cadenas de longitud impar sobre {a, b}’ y el otro con

l d d l f U\X\V\U X V

Page 179: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 179/310

170 TEORIADEAUTÓMATASYLENGUAJESFORMALES

3.4. Un tipo de autómata similar al ADPND, es- el autómata de pila con dos pilas y es una 7-tupIa  M = (Q, Z, T, A, s, F, z). En éste, Q, Z, T,  s y F son los mismosque en los ADPND, pero la relación de transición A es de la forma

A c Q x f Z u { e} ) x r x r x < 2 x r * x r *

Obsérvese que, cuando describimos una transición de A, se tiene en cuentaun símbolo de cada una de las pilas. Por ejemplo, una transición de la formaA (q, a, Ti, x2) = {(p, a, e)}cambiaría del estado q al estado p, sustituiría el sím

 bolo Ti de la primera pila por el símbolo (o cadena) a, y desapilaría el símbolo%2 de la segunda pila.

1. Probar que cualquier lenguaje independiente del contexto es aceptado por un autómata de pila con dos pilas.

2. Probar que el lenguaje  L= {a'b'c1| i > 0} es aceptado por un ADP con dos pilas.

3. Describir una técnica por medio de la cual el lenguaje L sea reconocido por un ADP con dos pilas

 L= {a'b‘c'd'\i>0}

3.5. Se dice que el deterninismo está presente en un autómata cuando no se puedeelegir cómo se comportará en cada estado. Una condición que debe cumplirse

 para que un autómata de pila sea determinista es que no puede haber más de unelemento en los conjuntos A (q, o, x). Sin embargo, esto no es suficiente paragarantizar el determinismo. Considérese el ADP que contiene las transiciones

A (q, a,A)={ (p, w) }A (q, e,A)={(p\ w') }

Obsérvese que este ADP tiene que elegir cómo comportarse una vez que seencuentra en el estado q. Por tanto, incluso si todos los conjuntos A (q¡, o, t)

contienen un único elemento, puede seguir habiendo no determinismo. Definimos un autómata de pila determinista (ADPD) como un ADP en el cual no hayninguna configuración para la cual el ADP tenga que elegir entre más de un movimiento. En otras palabras, un ADP es determinista si (a) cada A (q, a, A) tieneun elemento como máximo, y (b) si A (q, a, A) s* 0, entonces A (q, e, A) = 0. Unlenguaje independiente del contexto es un lenguaje independiente del contexto determinista (LICD) si es aceptado por un ADPD.

1. Probar que todo lenguaje regular es un LICD.

2. Probar que no todo LICD es regular.

3. Obviamente, cualquier LICD es un LIC ya que todo ADPD es un ADPND.Usar esto para demostrar que no todo LIC es un LICD.  Indicacióh: En elProblema 3.3, se obtuvo un lenguaje independiente del contexto cuyo com-

. plemento no era independiente del contexto.

F Lib

Page 180: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 180/310

Page 181: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 181/310

172 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

 posibilidad de “recordar” la cantidad de información necesaria para el reconocimiento de los lenguajes independientes: del contexto. Una pila es bastante restrictiva debido a que el acceso a la información que tenemos está limitado a lacima de la pila. Para poder acceder a los datos que se encuentran debajo de lacima, necesitamos sacar el dato de la cima —dato que puede que no deseemosque se pierda.

Por ejemplo, si pretendemos reconocer  {a'lbncn\n > 0} por medio de un autómata de pila no determinista, deberíamos contar el numero de aes que aparecen en la cadena de entrada introduciendo algunos símbolos en la pila. Después,

 para contar las bes, deberíamos desapilar los símbolos de la pila. Y, cuando llegue el momento de contar las ces, la pila estará vacía —nuestro recuento se ha

 brá perdido. El problem a subyacente no es la carencia de memoria, sino la formaen la que está organizada.

Supongamos que permitimos que la pila sea “recorrida” sin necesidad dedesapilar nada. Es decir, igual que antes, se puede apilar y desapilar pero, además, permitimos que los datos que se encuentran bajo la cima puedan ser consultados. Podríamos reconocer  {anbn¿ t \n >0} apilando un símbolo en la pila

 por cada a, como hacíamos antes. Para reconocer las bes podríamos situar unapuntador que apunte a la cima de la pila, de forma que por cada b el apuntador descienda por la pila. De esta forma, cuando leamos la parte de las ces que contiene la cadena de entrada, podremos usar el recuento realizado anteriormente,

ya que no ha sido destruido. La capacidad de recorrer la pila añade una capacidad substancial al proceso de reconocimiento.

Aunque se debería experimentar con distinto tipos de organización de lamemoria y sus operaciones, la organización introducida por las máquinas de Tu-ring es bastante sencilla. Consiste en una colección de celdas de almacenamientoque se extiende infinitamente en ambas direcciones —esencialmente es una cin-ta infinita. Cada celda es capaz de almacenar un único símbolo. La colección notiene una celda primera ni última y, por tanto, tiene una capacidad de almacenamiento ilimitada. A los contenidos de las celdas se puede acceder en cualquier orden. Además, tendrá, asociada con la cinta, una cabeza de lectura/escritura que

 puede moverse sobre la cinta y por cada movimiento leerá o escribirá un sím bolo.

Veamos la siguiente definición:

Definición 4.1.1. Una máquina de Turing es una 7-tupla M = (Q, X, T, s, b, F , 8 ), donde

Q es un conjunto finito de estados

X es un alfabeto de entrada *

r es una alfabeto llamado alfabeto de la cinta

www.FreeLibros.com 

Page 182: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 182/310

MÁQUINASDETURING 173

s e Q es el estado inicial

 b e T es el símbolo blanco (y no está en X)

 F c Q es el conjunto de estados finales o de aceptación

5: Q x T Q x T x {L, R) es una función parcial  que se llama funciónde transición

En esta definición se supone que el valor inicial de todas las celdas de lacinta es el símbolo b. La definición requiere que b í. X. Generalmente, permitimos que I g F - {&}. L a función de transición 5 transforma pares (q, a) forma

dos por el estado actual y los símbolos de la cinta en temas de la forma (p, t, X), donde p es el estado siguiente, t es el símbolo escrito en la cinta y X es un movimiento de lectura/escritura de la cabeza, que puede ser  L o R, según que el movimiento sea hacia la izquierda o hacia la derecha (nos imaginamos que la cinta seextiende de izquierda a derecha).

Por ejemplo, la transición 5 (<7 1 , a) = (#5, b, R) provoca que la máquina deTuring pase de una configuración

a b

T

Posición Estado interno <71

actual de lacabeza He

a la configuración

T

Posición Estado interno q\ actual de lacabeza lie

Haremos hincapié en que una función parcial no está necesariamente definida para todo elemento del conjunto del que se realiza la transformación. Por tanto, puede que 5 no tenga una imagen para algún par Q x T .

Obsérvese que las transiciones dependen únicamente del estado actual y del

Page 183: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 183/310

Page 184: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 184/310

Page 185: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 185/310

176 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

8 (<7 1 , a) (q\, a, L) 

d ( q u b) = (qi ,b, L)

8 (<?i, b) = (<72 , b, R)

8  (q2, a) ((73, a, L)8 (<72, b) = (<73, L)

8 (<72, 5) ~ (?3 ,

Esta máquina de Turing examinará la cinta hacia la izquierda hasta que seencuentre con la primera celda en blanco. Entonces parará y se colocará sobre el blanco. Por tanto, deberíamos tener 

(qi, aababb) (<7 1 , aababb) l- (<7 1 , aababb)(qi, aababb) h (q\,baababb) 

t- (q2 , aababb) H (^3, baababb)

o

aabq\abb H aaq\babb  1- aq\ababb l- q\aababb

H q\baababb i- qiaababb h q^baababb

Obsérvese que, cuando 8  (q, a) está indefinido y la configuración de la máquina de Turing es (q, w\a\V 2 ), es imposible que pase a otra. Entonces se diceque la máquina de Turing está parada. Puede que q e F, siendo  F el conjunto deestados finales, o puede que no. De cualquier forma, muchas veces nos gustaríadotar de significado a la parada en un estado de  F. De hecho, para simplificar,supondremos que 110 se definirá ninguna transición para cualquier estado de  F, 

 por lo que la máquina de Turing se parará siempre que llegue a un estado final.Sin embargo, en cualquier caso, la secuencia de todos los movimientos que con

ducen a una configuración de parada se llama computación.Consideremos la máquina de Turing dada por 

Q= {<?i, qi)L =  {<sr,¿>}

r = {a , b , b }

 s = q\

 F = 0y 8 definida por 

b( qi, a) = (q2 , a , R) „

8  (qi, b) = (<72 , b, R)

8  (qu b) = {q2, b, R)

8 (< a) = (q u a L)

Page 186: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 186/310

MÁQUINASDETURING 177

5 (<?2, b ) ..O/i, b, L)

ó (<72 , &) ~ (c/i, b, L)

Si en esta máquina de ng se c¿a con la cabeza de lectura/escritura

sobre la a de una cadena de la Forma abw, se tiene la siguiente secuencia de movimientos:

qiabw H uqzbw t- q\abw H aqjbw

La máquina de Turin;' mover tiempo indefinido con la cabeza delectura/escritura desplazándode dere i a izquierdaalternativamente. Éste esun ejemplo de máquinade Turing que n, :a parará (se dice, siguiendo la terminología de los programas de omputaci; que la máquina se encuentra en un

“bucle infinito”). Esta situación es funda) ental en la teoría de las máquinas deTuring y se representará p; r ( 7 , wiOU'} ¡- 00 o w\qo\V 2 t- «*>. Ello indica que lamáquina de Turing, que empr ¿6 con ¡a configuración inicial \v1qow2 , nunca sedetendrá.

EjerciciosdelaSeccic .I

 / 4 . Í . Í . Construir una máquina de Turingrué analice una cadena sobre [a, b}+desplazándose por la cinta cíe i quierda a d: echa y que reemplace todas las bes queaparezcan por una r. .áquin ring debería comenzar con la cabeza so bre el primer símbolo íC  que es?:; a la izquierda) de la cadena y terminar con la cabeza sobre eí blanco fin; ( i  blanco que sigue a la a o la c que estémás a la derecha en la cadena tran ¡. nada).

4.1.2. Construir una máqui ir Turing ¡re cuando se le presente una cadena de

 L = { ; ' | n, m > íi \ !os dos no son 0 a la vez}Comenzar el procesainiíhto con Ir; eza situada sobre el primer símbolo (elque está más a la izquierda) de la cauetia.

4.1.3. Construir una máquir Turing numere todos los enteros binarios, en orden numérico sobre s cinta cuaiv. ¡menee con (q1; 0Í>). Es decir, la maquinade Turing podría ejecwrsc de es¡a furnia:

(<yi,0 />) £ (q\,\_b) i- (</], 1 0 ¿>) £ (q¡, Ufe) £ ... ^

Obsérvese que esta'máquina nunca par.aá.

4.1.4. Construir una máqui r :e Turin;: •; ••• onümere sobre su cinta, todos los enteros binarios en orden wrn rico sep; r >.>s por blancos t> y que comience con(q^Ob).

F Lib

Page 187: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 187/310

Page 188: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 188/310

 M = ([q \ ,q i ,q z} ,q \ , {a,b}, { a ,b ,b } ,b , {<7 3}, 5)

donde 8 está definida mediante

8  (qu a) = (qu a, /?), 8  (q2, a) = (q2, a, R)8  (q\, b) (q2, b, R),  8  (q2, b) = (q2>b, R)

8  (qu t>) = (qz, b, R),  8  (q2, b) = (q2, b, R)

Obsérvese que si se encuentra una b, la máquina de Turing pasa al estadoq2. En el estado q2, la máquina de Turing siempre se mueve hacia la derecha.

Ejemplo 4.2.2

Consideremos el lenguaje {anb"\n> 1}. Para reconocer este lenguaje, nosólo se debe contar el número de aes y bes sino que también se tiene que verificar que todas las aes aparezcan a la izquierda de todas las bes. Una forma deabordar este problema es eliminar una por una las aes y las bes que están en sus posiciones correspondientes. Es decir, empezar con la a que está más a la izquierda y convertirla en algún otro símbolo; entonces, nos desplazamos hacia la

derecha hasta que encontramos la primera b. Entonces la convertimos en otrosímbolo y nos desplazamos hasta la a que está más a la i¿quierda. Repetimoseste.proceso hasta que no queden aes y bes.

Sea q\ el estado inicial y supongamos que usamos una c para reemplazar auna a y una d para reemplazar a una b. Las transiciones

8 _(<?i, a) = (q2, c, R),  8 (q2. d) = (q2, d, R)8 (q2, a) = (q2, a, R), 8 (q2, b) = (<73, d , L)

 provocan que la máquina de Turing reemplace la a que está más a la izquierda por una c y analice la cadena hacia la derecha, hasta encontrar una b. Esta b sesustituye por una d.

Las transiciones

S(qi,d) = (qi,d,L) 8 (<?3, a) = (7/3, a, L)

8 f e , c) = (<?|, c, R)

 provocan que la máquina de Turing retroceda hacia la izquierda hasta la a queesté más a la izquierda. Puesto que la máquina de Turing sólo puede pasar al estado <73 mediante ías transiciones del primer conjunto, se puede asegurar queuna c precede a la a que se encuentra situada más a la izquierda.

Si se acaban todas las aes, la máquina de Turing estará en el estado q\ y sit d b l ld d l i t ti d lt d d l últi

MÁQUINAS DE TURING 179

Page 189: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 189/310

180 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

transición presente en el conjunto precedente. Se debe realizar una comprobación final para ver si todas las bes han sido convertidas en des. Las transiciones

8 (<7i,í/) = (<?4, d, R)

8 (<?<,, d ) = (<?4, d, R)8 (<74, b) = (^5, b, L)

llevan a cabo dicha comprobación y, si dicha comprobación tiene éxito (es decir, si no quedan bes), deja a la máquina de Turing en el estado q$ y situada so bre la última d. Por tanto, la máquina de Turing que acepta {a"b" |n > 1} será

 M= ({qi,q2, #3. ?4. 95}, {a, b), {a,b, c,d},q\,b, {<?5}, 8)

donde 8 está representada por las 10 transiciones precedentes.

El Ejercicio 4.2.6 prueba que el lenguaje {anbncn\n > 0} es aceptado por una máquina de Turing. Aunque se sabe que este lenguaje no es independientedel contexto, las máquinas de Turing pueden aceptar algunos lenguajés que unautómata de pila no determinista no puede aceptar.

Un lenguaje que es aceptado por una máquina de Turing se conoce como

lenguaje recursivamente enumerable (a menudo se abrevia como lenguaje R.E.).El término enumerable proviene de que dichos lenguajes son aquellos cuyas cadenas pueden ser listadas (enumeradas) por una máquina de Turing. Esta clasede lenguajes es bastante grande, incluyendo los lenguajes independientes delcontexto.

Recuérdese que, para que una máquina de Turing acepte un lenguaje, no necesita parar sobre cualquier cadena de entrada. Sólo necesita parar en un estadode aceptación para aquellas cadenas que pertenezcan al lenguaje. De hecho hay

lenguajes R.E. para los cuales ninguna máquina de Turing que los acepte paracon todas las entradas (naturalmente, cualquier máquina de Turing para dichoslenguajes debe parar para toda cadena que pertenezca realmente al lenguaje). Lasubclase de los lenguajes recursivamente enumerables que son aceptados por almenos una máquina de Turing que para con toda cadena de entrada (dependiendo de si la cadena es aceptada o no), se conoce por la clase de los lenguajes re-cursivos. Más tarde volveremos a hablar sobre los lenguajes recursivos y recursivamente enumerables.

Puesto que las máquinas de Turing pueden leer y escribir sobre su cinta pueden convertir la entrada en salida. Hemos hecho uso de esto en el reconocimiento del lenguaje {a"b"\n >  1 }; cuando transformábamos las cadenas de aes y bes en cadenas de ces y des. La transformación de la entrada en salida es el

 primer propósito de las computadoras digitales; por tanto, una máquina de Turing se considera como un modelo abstracto de una computadora Se supone que

Page 190: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 190/310

la entrada para la máquina de Turing está formada por todos los símbolos de lacinta que no son blancos. La salida está formada por cualquiera de los símbolosque queden en la cinta cuando la computación termina.

Por ejemplo, considérese la máquina de Turing  M (Q , Z, F, s, b, F, 8)

dondeQ = { q \ , q i , <7 3}

2 = {a,b}

Y = {a, b, b} 

 s = qi 

 F = {q i )

y 8 dado por 

8 {<j\, a) (qi, b, R), 8 {q2, a) = (<72 , a, L)8 (q 1 , b) = (q 1 , a, R), 8 (q2, b) = {q2, b, L)

8 (qu b) = (qi, b, L), 8 (q2, b) = (4 3 , b, R)

Esta máquina de Turing complementa las cadenas sobre el alfabeto E. Esdecir,convierte las aes en bes y viceversa. Si se comenzó conla configuración((q\, aiCJ2 ••• 0;¡)> para con la configuración (^3 , cti« 2 ••• oc,¡), donde o.¡ es a si o¡es b y viceversa.

Obsérvese que las máquinas de Turing pueden ser consideradas como la im- plementación de una función de cadena/definida mediante f { w ) = u cuando secumple qsw h q/u, donde qs es el estado inicial y q/es un estado final. Por conveniencia y claridad, se requiere que la cabeza de lectura/escritura empiece ytermine, respectivamente, sobre el símbolo de las cadenas de entrada y salidaque está situado más a la izquierda.

Daremos la siguiente definición:

Definición 4.2.2. Se dice que una función de cadena / es Turing computable si existeuna máquina de Turing  M = (Q, Z, T, q\, t?, F, 8) para la cual q\w h q/u para algún q¡& F, cuando/(vv) = u.

Aunque la computabilidad de Turing se ha definido sólo para funciones decadena, se puede extender fácilmente esta definición a las funciones integrables,como se muestra en el siguiente ejemplo.

Ejemplo 4.2.3

Supongamos que tenemos Z = {a, b] y que representamos los enteros positivos mediante cadenas de aes. Así, el entero positivo n estaría representado por a". La función suma f(n ,m ) = n + m podría ser implementada mediante la trans-

/

MÁQUINAS DE TURING

www.FreeLibros.com 

Page 191: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 191/310

182 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

formación de anbamen an +mb. Podríamos obtener una máquina de Turing apro piada para la suma, que estaría representada por  M = (Q, £, F, s, b, F, 8 ), donde

Q = {<?l,<72, <73, <?4, <?s}

 F={qs}

y 8 dada por las siguientes transformaciones:

8 (qi, a) = (qu a ,  R),  8 (q3, a) = (9 4 , fe, L)

8 (4 1 , fe) = (<7 2 , a, R),  8 (<7 4 , a) = (q4, a, L)

8 (9 2 , a) = (9 2 , a, R),  8 (<7 4 , fe) = (<7 5 , fe, -K)

8 ( 9 2 , fe) = ( 4 3 , A I )

Esta máquina de Turing simplemente desplaza la fe hacia el final, a la derecha de a” +m. Para ello, se crea una a extra. La máquina de Turing “recordará”que se ha creado una a al pasar al estado q2 una vez que se ha encontrado la fe, yentonces se escxibirá una fe sobre la a que está al final de la cadena^ Obsérvese,también, que cuando termina, la máquina de Turing sitúa su cabeza de lectura/escritura sobre la a que se encuentra más a la izquierda.

EjerciciosdelaSección4.2

. / 4.2.1. Transformar la máquina de Turing del Ejemplo 4.2.1 para que, cuando recibauna cadena que deba aceptar, pare en un estado de aceptación con la cabeza delectura/escritura sobre el primer blanco que tenga la cadena.

í/4.2.2. Construir una máquina de Turing que acepte el lenguaje {a2"\n > 0} sobreE= {a, b}.

4.2.3. Mostrar la ejecución de la máquina de Turing del Ejemplo 4.2.2 cuando se parte de cada una de las siguientes configuraciones: (q\,aabb), (q\,aab) y(q\, aaabbb).

4.2.4. Diseñar una máquina de Turing que acepte el lenguaje {a"b"\n> 0}. Obsérveseque, además de tener en cuenta lo visto en el Ejemplo 4.2.2, debemos compro bar la cadena vacía. Transformar la máquina de Turing para que no pare si encuentra una cadena no aceptable.

4.2.5. Diseñar una máquina de Turing que acepte el lenguaje {a"b"\n > 1} por mediode la eliminación de las aes y bes que están en \os extremos opuestos de la cadena. Es decir, usando nuevamente c y d, la cadena aaabbb sería primero transformada en caabbd, después en ccabdd  y, por último, en cccddd.

4.2.6. Diseñar una máquina de Turing que acepte {anbnd' \ n >0}.

Page 192: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 192/310

MÁQUINAS DE TURING 1 83

4.2.7. Construir las máquinas de Turing que acepten los siguientes lenguajes sobreI={a,¿>}:

(e) [a"bman +m\ n >0 y m>\]

(f) {anb"a"b"'\n>0 y m > 0 }

(g) {anb2n\n>  1 }

(h) {vvw|vv e {a, b}+}

(i) {w\w = w '}

(j) {«"2| « > l í

(k) {a2"| n > 0}

4.2.8. Ejecutar la máquina de Turing del Ejemplo 4.2.3 sobre las entradas a2ba3 y crb. ¿Cómo se comportará esta máquina de Turiñg cuando se sume 2 + 0?

4.2.9. Una forma de abordar el método del Ejemplo 4.2.3 que suma n + m es añadir anb a a'ncuando la cadena de entrada viene dada por a"ba"'. Entonces la cadenaoriginal a"b se debe eliminar de la cinta. Construir una máquina de Turing queimplemente la suma de esta forma.

4.2.10. Para todo número natural, ya sea par o impar, construir una máquina de Turingque calcule la  función de paridad  de los números naturales, es decir, que

4.2.11. En el Ejercicio 4.2.10 hemos transformado cadenas de símbolos en cadenas formadas por un único símbolo. Hay algunos lenguajes que pueden ser reconocidos por medio de esta técnica. Si  L es un lenguaje (de un tipo apropiado comose verá más tarde), la función característica de L, transforma una cadena w sobre el alfabeto en una cadena con un único símbolo 0 ó 1 , dependiendo de siw pertenece a L o no. Es decir, %Lse define como

Construir una máquina de Turing que compute (w) para el siguiente lenguajesobre E= {a, b):

a) aba*b

 Jítf) {vv| la longitud de w es par}

[a"b"¡|n > 1 y m ¿ n }

J$) {w| w  contiene el mismo número de aes que de bes] ’ 

compute

Page 193: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 193/310

Page 194: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 194/310

Si=qi   *

ñ = { 4}

con 8 j de la forma siguiente:

8i {q\,á) = {q2, a, R)  

81 (qu b) = (<?2,b, R )

81  (<72,a) = (<72,a, R) 

§1 (<72,b) = (<73,b, L) 

81 (?3, b)  = (<74, b, R) 

8: (<73,a) = (<?4,«, /?)Sea M2  dada por 

Ql={P\,P2)I y T los mismos de M\ 

si = p\ Fl= {P 2}

con 82 como se escribe a continuación: >-

i b82 (pi ,a) = (p2, a,R) 

82 Oí, &) = (pz, a,jíí) 

Obsérvese que M\   busca el primer blanco que haya a la derecha de dondeha comenzado, mientras que M2  escribe una a  y para. (La a  se escribe inde

 pendientemente del contenido de la celda actual). Al combinar estas dos máquinas de Turing de forma que una computación de M\  vaya seguida por una deM2, obtenemos un dispositivo que primero busca hacia la derecha el primer b  ydespués escribe una a  en todas las celdas. Representaremos la combinación deestas dos máquinas de Turing mediante M\M 2  para indicar que la computaciónde M\  va seguida por la computación de Mi.

Vamos a definir formalmente la combinación o composición de máquinasde Turing como sigue:

yDefinición 4.3.1. Sean M\  y M2  dos máquinas de Turing sobre el mismo alfabeto de

entrada Z y el mismo alfabeto de la cinta T, doiide

MÁQUINAS DE TURING 185

 y

' M i = ( G , , i , r , s h b, Fu   8 1 )v ■

M2 - (02, z, r, .92, b,  f 2, 82)

www.FreeLibros.com 

Page 195: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 195/310

Page 196: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 196/310

♦MÁQUINAS neTURING 187

a a a b a a b b b

T

Posición de

la cabeza

mientras que la máquina de Turing compuesta Rt,RbRr> terminar: : en ia posiei

T

Posición dela cabeza

Otra forma de especificar las transiciones es el uso de una t:'>i;s. La tabla detransiciones correspondiente a  R¡, sería

8  (q, O) a * b <5= b

<7i (q2, a , R) (q2, t>, R)

<72 (<72- 0 . R) Cqi ,b ,L )

<73 (<74.0. R) (<74 , b, R)

Obsérvese que una de las columnas se especifica para un sí ' >de la cen particular y la otra especifica el resto de símbolos de la cin .. Ü» transí. ,

8  {c¡2 , ó) = (c¡2 , o, R) de la columna etiquetada con o ^ b indica que, para ísímbolo de la cinta 0 que sea distinto de b, la máquina de Turii ; e cribe a encinta, se mueve a la derecha y permanece en el estado q2. Aur : ai principiohabíamos especificado  R¡, sólo para el alfabeto de la cinta F = la. bJ, ahora hemos especificado  Rt, para todo alfabeto de cinta que incluya 1) cc :i bíano

Consideremos la ipáquina de Turing cuya tabla de transición es

8 a = b c ^ b

'■<?! (<72, b, L) (q2, O, L)

<72 (<72, b, L) (<93, V’ ti)

<73 (<?4, b, L) (<?4, a , L)

Page 197: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 197/310

Page 198: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 198/310

MÁQUINAS DE TURING 189

sita bifurcar el camino de ejecución. Consideremos la máquina de Turing cuyatabla de transición es

5 (q, 0 ) o = b c = a

<?i (<?2, b, L ) (<?4>a, L)

<?2 f e , t>, R) (<73, a, R)

<74 (<75, t>, R) (<?5, a, R)

donde  F = {q$, q¡} y s = q\ (obsérvese que no hay transiciones para q?, o qs). Su pongamos que componemos esta máquina de Turing con las máquinas de Turing

que escriben a y b de forma qtie, si termina en el estado <73 , se inicia la ejecuciónde la máquina de Turing que escribe a y, si termina en el estado q$, la ejecuciónque comienza será la de la máquina de Turing que escribe b. Hemos provocadouna bifurcación en la ejecución y se podría denotar mediante el diagrama

hemos representado la máquina de Turing que causa la bifurcación mediante lasflechas.

Por ejemplo, una máquina de Turing que analiza una cadena convirtiendotoda a en b y toda b en a, se podría representar 

\ , J 7

o = b 

a = a

Obsérvese que hemos marcado con una flecha la máquina de Turing senci

lla que comienza la secuencia de ejecución, al igual que hicimos con el estadoinicial de un autómata finito. Es más, puesto que no hay ningún estado siguientea  R cuando el símbolo actual de la cinta es b, entonces en ese caso, la máquinacompuesta se debería parar. / *

Las flechas múltiples pueden ser eliminadas de varias formas. Por ejemplo,si r = {a, ¿>, c, b}, la máquina compuesta denotada por

Page 199: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 199/310

190 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

a, b, b  R   >R

realiza lo mismo que la máquina compuesta

_________a _________I ^

 R ----------- - ----------- >RI b T

Es decir, se mueve una celda hacia la derecha y entonces, si el símbolo quehay en ese lugar es a, b o b se mueve nuevamente hacia la derecha.

Igualmente, la máquina de Turing denotada por 

o por 

o por 

o incluso por  RR o  R’\ simplemente mueve la cabeza de lectura/escritura dosceldas hacia la derecha (obsérvese que, puesto que T está formado solamente por los símbolos a , b , c y b, todos los símbolos de la cinta producen el segundo  R).

Un caso muy común es que se tenga una ramificación para un símbolo espe

cífico de la cinta y otra para todos los demás. Esto se puede denotar de variasformas. Por ejemplo, si T = {a, b, c, b}, entonces

Q ° =aR ---------<I*_3-------->b 

 busca hacia la derecha la primera celda que contenga un símbolo que no sea a y 

escribe una b en ese lugar. El diagrama

a “R ------------- 3------------> b 

denota lo mismo

a, b, c, h  R   >R

b IE> c ^ T? 

I b>K 

 R ---- >R

Page 200: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 200/310

MÁQUINAS DE TURING 191

Consideremos el problema del desplazamiento de una cadena sobre la cintauna celda a la derecha. Supongamos que se requiere que la cadena a desplazar sea precedida y seguida por blancos. Por tanto, desearíamos transformar bwb enbbw (el símbolo donde estará situada la cabeza de lectura/escritura se indica me

diante el símbolo de subrayado). Si suponemos que el alfabeto de la cinta, T, es{a, b, b}, dicha máquina de Turing podría ser construida como se muestra a continuación:

Esta máquina de Turing mueve, uno a uno, todos los símbolos de la cadenahacia la derecha hasta que encuentra el b que precedía originalmente a la cadena.

Entonces, se mueve hacia la derecha y para. Dos de los caminos pueden ser abreviados como

RBR --------------------------- > L2 ---------- -----------------» bRa - 

o = 5

El símbolo o en bRo significa que la máquina compuesta “recuerda” el sím bolo que ha sido sobrescrito con el b. (Originalmente se realizó por medio dedos caminos separados). Esta máquina de desplazamiento hacia la derecha es relativamente sencilla y útil. La denotaremos mediante S r .

Consideremos el proceso de reconocimiento de [ w w ' \ w e £}. Una forma

sería comparar los símbolos que están en los extremos derecho e izquierdo. Siconcuerdan, entonces los eliminamos y repetimos el proceso, lia cadena seráaceptada cuando todos los símbolos hayan sido eliminados. Por otro lado, si dossímbolos fallan al ser comparados, terminamos de forma inmediata en un estadoque no es de aceptación. Empezamos con bub y esperamos descubrir queu = wwl. Consideremos la máquina de Turing compuesta

Page 201: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 201/310

192 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

 R o * 6 ■> ----- g ^ r -----> L 

0 = 5

Para en un estadode aceptación

a * T 

Para en un estadoque no es de aceptación

Obsérvese que aquí estamos abreviando los caminos posibles al recordar dos símbolos de la cinta o y x. Los estados en los que termina esta máquina deTuring son estados de aceptación o no y son denotados por las tres trayectoriascon distintas condiciones.

Recordemos que la aceptación de un lenguaje requiere solamente que la máquina de Turing pare en un estado de aceptación si la cadena facilitada está en ellenguaje. Por tanto, una alternativa a la máquina compuesta precedente, podríaser 

í  R o #  6

c = 6

Para en un estadode aceptación

0 = T -»  Lr.

O * T

t)c

Esta máquina se detiene en un estado de aceptación para las cadehas de laforma w w 1 y, para todas las cadenas que no son de esta forma, no parará, sinoque escribirá b de forma infinita.

EjerciciosdelaSección4.3

4.3.1. ¿Cómo se podría realizar la máquina de Turing compuesta  M 2 M\ del Ejemplo4.3.1? %

4.3.2. Construir formalmente la máquina de Turing compuesta del Ejemplo4.3.1 (dar Q, F, s y 5).

Page 202: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 202/310

Page 203: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 203/310

Page 204: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 204/310

MÁQUINAS DE TURING 195

5 (q, a) o * b o = b

<71 (<72, O, L) (q2, 0 , L)

92 (<72, 0 , L) (<?3, S)

donde s q\ y  F= {<7 3 }. Obsérvese que esto es la implementación de una máquina de Turing que tiene la capacidad de no moverse. Consideremos  M 2 como unamáquina de Turing que responde a nuestra definición y, que se deriva de  M\ por medio de esta transformación, cuyas transiciones se presentan en la tabla

8(q, a) c * b  a = b 

<71  . (q2, O, L)  (q 2 , a, L) 

<72 (q 2 , O, L)  (<74,b, L )

<74 (<73,0 ,R)  (<73,b, R )

donde s q \ y  F= {g3}.

Otra modificación sencilla de nuestra máquina de Turing básica es aquella

mediante la cual cada celda de la cinta se divide en subceldas. Cada subcelda escapaz de contener un símbolo de la cinta. La cinta

b b b

a a b

a a b

tiene cada celda subdividida en tres subceldas. Se dice que esta cinta tiene múlti- ples pistas. Puesto que cada celda de esta máquina de Turing contiene múltiplescaracteres, el contenido de las celdas de la cinta puede ser representado mediante rc-uplas ordenadas. En el ejemplo anterior, las celdas de la cinta contienen(b, a, a), (b, a, a ) y (b , b, b). Por tanto, los movimientos que realice esta máquinadependerán de su estado actual y de la «-tupia que represente el contenido de lacelda actual.  ___  ....

Supongamos que T es un alfabeto de cinta. Una máquina de Turing que tiene una cinta de k pistas, cada una de las cuales contiene un símbolo de T, puedeinterpretarse como una máquina de Turing cuyo alfabeto de cinta estuviera formado por todas las ¿-tupias sobre T. Por ejemplo, si T = {a, b, b } y  M  es unamáquina de Turing de 2 pistas cuyas celdas contienen pares de símbolos de T, sepuede considerar que su alfabeto de cinta es F x f Viéndolo de esta forma está

Page 205: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 205/310

196 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

claro que una máquina de Turing multipista no tiene más potencia que nuestramáquina de Turing original. Sin embargo, hace que sea más fácil la construcciónde máquinas de Turing que resuelvan ciertos problemas.

Ejemplo 4.4.1

Supongamos que queremos construir una máquina de Turing que sume dosnúmeros binarios. Para ello, podemos construir una máquina de Turing de tres pistas. Se supone que la entrada serán dos números binarios que ocupen las dos pista superiores de la cinta. Suponemos que sus dígitos se alinean por la derecha, que sus representaciones binarias son de la misma longitud (lo que se puede conseguir rellenándolas con tantos ceros como sea necesario) y que la cabezade lectura/escritura se sitúa sobre la celda del extremo izquierdo de la cadena.Por tanto, si tuviésemos que sumar 101 y 10, la cinta debería contener 

b 1 0 1 b ■

b 0 l 0 b

b b b b b ■

Cabeza e!¡

La máquina de Turing realizará la suma en la tercera pista. Por tanto, el alfabeto de cinta estará formado por las ternas:

(■b,b,b) • ( 1 , 1 , b) (L 1 ,0 ) ( 1 , 1 , 1 )(0 , 0 ,* ) (0 , 0 , 0 ) (0 , 0 , 1 ) (M , 1 )(0 ,  I b ) ■ (0 , 1 . 0) (0 , 1 . 1 )( 1 , 0 , b) ■ (LO. 0 ) ( 1 , 0 , i)

Esta máquina de Turing primero buscará hacia la derecha el extremo dere

cho de los números que van a ser sumados. Entonces sumará pares de dígitos,desde la derecha hacia la izquierda, llevando la cuenta de los resultados que seobtengan y sumando a quienes corresponda. Por tanto, se obtiene (suponiendoque q\ es el estado inicial):

5 ( „ .o ) = | (‘!i’ 0 ' ' í>' si <>*«>■»■'»

Page 206: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 206/310

MÁQUINAS DE TÜRING 19 7

5 (92, (O, O, b)) = (q2, (0, 0 , 0), L)

6 f e (O, l ,b )) = (q2, (O, 1, 1 ) ,L )

5 (92, ( 1, 0, b)) = (92, (1, 0, 1), L) 

5 (92, ( 1 , 1, fe)) = (93, ( 1 , 1,0),  L) 

8 (92, (fe, b, fe)) = ( 94, (b, fe, 0), S)

8 (93, (O, O,b)) = (92, (O, O, i), L)

8 (93, (O, 1 ,b)) = (¿q3, (O, 1 . G), L)

8 (93, ( 1 ,0 , &)) = (93 , ( 1, 0 . 0). L)

8(93, ( 1 , 1 ,b'))= (93, (1 , i- ¡¡,¿)8 (92, (fe, fe,fe)) = (94, (fe, b I). 5)

¿r S % c j i

Obsérvese que se necesita que esta máquina de Turing tenga la  posibilidadde no moverse. La máquina de Turing transformará

fe 1 0 1 fefe 0 1 0 fe

fe fe fe b fe

en

fe fe 1 0 1 fe

fe fe 0 1 0

fe 0 1 1 1 fe

Otra mo dificación sencilla (y bastante común) que puede realizar • : nues

tra definición de máquina de Turing es que se use una cinta que se exiieinia infi

nitamente en una única dirección. Generalmente, se tiene una cinta que: se e x

tiende infinitamente hacia la derecha. N o está permitido realizar nin novi-

miento hacia la izquierda a partir de la celda del extremo izquie: o . )esdeluego , cua lquier máquina de Tu ring de esta form a, pued e ser simula - r una

de las que responden a nuestra definición original. Para cada comput; : ió.¡; s im

plemente marcaremos una de las celdas de nuestra cinta infinita por ios dos la

dos, com o la celda que se encuentra en el lím ite izquierdo.

Una máquina de Turing con una cinta finita en un sentido puedo simular

una máquina de Turing con la cinta infinita en los d is e n ti d o s pero con d o s pis

tas. Sea  M  una máquina de Turing con una cinta infinita en los dos s e n t i d o s . L amáquina de Turing  M ', que tiene una cinta infinita en un sentido,  p u e d o .¡mular

a  M  si tiene una cinta con dos pistas. La cinta superior contiene la in i o n nación

correspondiente a la parte derecha de la cinta de  M, a partir de un p le re

ferencia dado. La pista inferior contiene la parte izquierda de la cinta d e ’vl  (en

orden inverso). Por tanto, si la cinta de M  contenía

F Lib

Page 207: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 207/310

198 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

b a a

la cinta de  M'  podría ser como

b b a b 

\ Punto de referencia

* b b a b

* a a b b

Hemos usado un símbolo especial, *, para marcar el límite izquierdo de lacinta. Cuando  M  tuviera que pasar el punto de referencia,  M'  tendría que encontrarse con la celda marcada con *. Si M está trabajando sobre las celdas que estána la derecha del punto de referencia,  M'  está trabajando sobre la pista superior.Cuando M trabaja sobre las celdas que están a la izquierda del punto de referencia,  M'  trabaja sobre la pista inferior. Cuando  M  pasa el punto de referencia,

 M'  se encuentra con los *, cambia de dirección y cambia de pista sobre la quetrabajar.

Una modificación de nuestra definición, que es más complicada, es la máquina de Turing multicinta. Esta máquina de Turing tiene varias cintas, cada unade las cuales tiene su propia cabeza de lectura/escritura. Las cabezas de lectura/escritura se controlan independientemente (es decir, al mismo tiempo, no tienen que moverse en la misma dirección, ni realizar el mismo número de movimientos, ni incluso, hacer nada a la vez). En un sólo movimiento, esta máquinade Turing

1. Cambia de estado dependiendo del estado actual y del contenido de lasceldas de todas las cintas, que están analizando actualmente las cabezasde lectura/escritura.

2. Escribe un nuevo símbolo en cada una de las celdas barridas por sus ca bezas de lectura/escritura. y 7

3. Mueve cada una de sus cabezas hacia la izquierda o hí\cia la derecha(de forma independiente al resto de las cabezas). '

Por tanto, la función de transición para una máquina de Turing con n cintas,es de la forma

5: <2 x T " —> x T" x [L, R}n

donde una transición de la forma

Page 208: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 208/310

MÁQUINAS DE TURING 1 9 9

8 (q, (ai, a 2, a „ ) ) = {p, (ti, t 2, x„), (XUX2, ■■■,X,,))

significa que cambia del estado q a p, reemplaza a,- por  X¡ en la cinta i y mueve lacabeza de la cinta i en la dirección X¡.

Ejemplo 4.4.2

Las máquinas de Turing multicinta simplifican en gran medida alguna delas actividades que nos gustaría hacer con máquinas de Turing. Consideremos el proceso de reconocimiento de {a"b'x\n>  1 }. Éste es bastante laborioso en una

máquina de Turing con una única cinta. Es mucho más fácil realizarlo con unamáquina de Turing con dos cintas. Supongamos que, inicialmente, colocamos lacadena a analizar en la cinta 1 y que q\ es el estado inicial. Si la cabeza de lectura/escritura de la cinta 1 está situada inicialmente sobre el carácter del extremoizquierdo de la cadena, las cuatro transiciones siguientes son fundamentales

 para el reconocimiento (cualquier otra transición sería para cadenas mal formadas y se puede suponer que llega a un estado que no es de aceptación):

8  (qu (a, b))'= (<?i, (a, a), (R, R))S(qu (b,h)) = (q2, (,b, b), (S, L))

8 (<?2, (b, a)) = (<72, (b, a), (/?, L))

8 (92 , (fe, b)) = {q¡. (b. b),(R,L))

Aunque una máquina de Turing multicinta parece bastante distinta y posi blemente más potente que nuestra máquina de Turing definida originalmente, lasdos son equivalentes en el sentido de que cada una de ellas puede ser simulada

 por la otra.Sea M\ una máquina de Turing con k cintas.  M\ puede ser simulada median

te una máquina de Turing, M2, que tenga una única cinta dividida en 2k + 1 pistas. Cada una de las cintas de  M\ corresponde a dos pistas de  M2. Una pista almacena el contenido de la cinta de  M\ correspondiente, mientras que la otra seusa para guardar un marcador que afecta a la posición de la cabeza correspondiente a esta cinta de Mf^La última de todas las pistas de la cinta de  M 2 se usa para guardar los marcadores de final. Los marcadores de final indican las posiciones de los marcadores de la cabeza que están más a la izquierda y más a laderecha. Cada movimiento de  M\ es simulado por  M2, realizando un barrido consu cabeza de lectura/escritura, primero de izquierda a derecha y después de derecha a izquierda. La cabeza de  M 2 comienza en la celda marcada cómo extremoizquierdo (por el marcador de final izquierdo). Para simular un movimiento de lamáquina M\ de k cintas M2 hace un barrido hacia la derecha almacenando (por

Page 209: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 209/310

Page 210: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 210/310

MÁQUINAS DE TURING 201

Entonces, usaremos una cinta de dos pistas para simular la máquina de Turing. Una pista se encargará de almacenar el contenido de las celdas y la otra lascoordenadas. Según esto, si la celda (1,2 ) contiene una a y la celda (-3 , 12) contiene una b, la cinta de la máquina de Turing que realiza la simulación será como

a b

1 * 2 * 3 * 1 2

Obsérvese que se ha introducido un nuevo símbolo para separar los valoresde las coordenadas. Para simular un movimiento de una máquina de Turing de

dos dimensiones, esta máquina calcula la dirección de la celda a la que se movería la máquina de Turing de dos dimensiones. Entonces, localiza en la pista inferior la celda con dicha dirección y cambia el contenido de la celda en la pista su perior.

Finalmente, una modificación importante que se puede introducir en nuestradefinición original es la eliminación del requerimiento de que la regla de transición sea una función. Esta máquina de Turing se llamará máquina de Turing no determinista, ya que para un estado actual y el símbolo actual de la cinta, puede

haber un número finito de movimientos a elegir. Por tanto, la regla de transición,A, de dicha máquina, satisface

A (q, a) c Q x T x {L, R}

Por ejemplo, si la máquina de Turing tiene una transición

A (qi, a) =  {(q\,b , R), (<?2, a, L)} 

entonces los movimientos

{q\, abbab) t- (q\, abbbb) y (q\, abbab) l- (qz, abbab) 

son posibles.Ya que cualquier máquina de Turing determinista es también no determinis

ta, es lógico'qúe una máquina de Turing determinista se puede simular mediante

una no determinista. También una máquina de Turing determinista puede simular una no determinista. Por tanto, no se gana ninguna potencia adicional a causadel no determinismo.

Para ver como se realizaría la simulación, sea  M\ una máquina de Turing nodeterminista que acepta algún lenguaje. Describiremos una máquina de Turing(determinista)  Mi, que será de tres cintas, que simule  M\. Téngase en cuenta

Page 211: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 211/310

202 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

finito de movimientos para realizar a continuación. Numeraremos dichos movimientos 1,2, Puesto que tanto Qi como Ti de Mi son conjuntos finitos,sólo existirá un niimero finito de pares de estado actual y símbolo de la cinta.Por tanto, se puede obtener el par que tenga el mayor niimero de posibles movimientos a realizar a continuación. Sea este número n. Entonces cualquier computación para  M i se puede representar mediante una secuencia finita de númeroselegidos entre 1 y n, donde cada número representará el movimiento elegidopara ser realizado a continuación en esta etapa de la computación. No toda secuencia finita de números entre 1 y n representan computaciones válidas puestoque puede que haya menos de n elecciones para algún par estado-símbolo de lacinta.

En la máquina de Turing de tres cintas,  M 2 , la primera cinta almacenará laentrada y la segunda generará, de fornia sistemática, secuencias finitas de números entre 1 y n. Para cada secuencia, M 2 copiará la cadena de entrada en la tercera cinta y simulará  M\ sobre esta cinta usando la secuencia almacenada en la segunda cinta como guía para realizar la computación. Si una de las secuenciaselegidas hace que  M\ acepte la cadena, entonces dicha secuencia será generadapor AÍ2 y la cadena será aceptada. Si ninguna de las secuencias elegidas provoca

la aceptación por parte de M\, entonces tampoco M 2 la aceptará.Obsérvese que este razonamiento se redacta en términos de la aceptación de

lenguajes. Las máquinas de Turing no deterministas se interpretan como aceptadores de lenguaje. Además se puede generalizar este razonamiento fácilmente,para simular una máquina de Turing multicinta no determinista.

En esta sección hemos descrito varias modificaciones a realizar sobre nuestra máquina de Turing original, ninguna de las cuales tiene mayor o menor potencia que la original. Entonces, cabe preguntarse por qué nos hemos molestadoen estudiarlas si ninguna de ellas aporta ninguna ganancia en cuanto a capacidadcomputacional, o por qué no nos hemos centrado en la más sencilla de todasellas. Una de las razones es que, apartir de ahora, conocemos formas distintasde resolver problemas m e d ia n ía s máquinas de Turing. Si una de ellas resolviera un problema, de forma más fácil que la original entonces, sin temor a perder generalidad, usaremos dicha variante.

Otra razón aún más profunda para el estudio de dichas modificaciones y susequivalencias con el original, es que con esto se comprende aún más la actualidad de las máquinas de Turing. Cualquier computación que se pueda realizar por medio de una de las nuevas máquinas cae dentro de la categoría de “computablepor una máquina de Turing” y, por tanto, es mecánicamente computable.

Page 212: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 212/310

MÁQUINAS DE TURING 203

4.4.1. Eliminar dél Ejemplo 4.4.1 la restricción de que el más corto de los dos números binarios deba ser rellenado con ceros. -

«/4.4.2. Construir una máquina de Turing de tres pistas que reste el número binario de lasegunda pista del número binario de la primera y deje el resultado en la tercera

 pista.Hacer otra, suponiendo que la máquina de Turing es de dos pistas y que el

resultado se deja sobre la segunda.Hacerlo, también, para que el resultado quede en la primera.

4.4.3. Construir una máquina de Turing de tres pistas que determine si el número bina

rio que está en la primera pista es menor que el de la segunda. Si es menor, escribir el carácter 5 sobre la tercera pista y si no lo es, escribir los caracteres GE  sobre la tercera pista. ¿Cómo se podría incluir una forma de comprobar la igualdad?

4.4.4. Una máquina de Turing puede comprobar si un número binario mayor que 2, es primo. Para ello se escribirá dicho número en la pista 1. La máquina de Turingescribirá el número 2 en binario en la segunda pista y copiará la primera pistaen la tercera. Entonces restará la segunda pista de la tercera tantas veces como

sea posible (dejando el resultado en la tercera). En realidad, este proceso lo quehace es dividir el número de la pista uno entre el de la pista dos y deja el restoen la tercera. Si el resto es 0, entonces el número no es primo. Si no es 0, entonces el número de la pista dos se incrementa. Si el número de la primera pista esigual al de la segunda, entonces el número es primo ¿por qué? Si el número dela pista 2 , es menor que el de la 1 , se repite el proceso anterior para el nuevo número de la pista 2. Construir una máquina de Turing que realice este proceso decomprobación.

4.4.5. Las múltiples pistas sirven para realizar el reconocimiento de las frases de unlenguaje de forma no destructiva. La cadena en cuestión se sitúa sobre la primera pista y se usa una pista adicional para realizar el análisis de los símbolos(como contrapartida a la eliminación o sobreescritura de los mismos). Esto serealiza situando marcadores en la segunda pista sobre o bajo los símbolos de la

 primera pista que han sido ya considerados. Construir una máquina de Turingque reconozca el lenguaje {wcw\w e {a,b}”}.

4.4.6. Sea M una máquina de Turing con cinta infinita en los dos sentidos cuyas transiciones son

EjerciciosdelaSección4.4

5 {q, o) <3 a o b a = b

<?i (¡?i> c, R) (<qub , R) (<?2, b,L)

Page 213: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 213/310

204 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Supongamos que q\ es el estado inicial de  M. Construir una máquina deTuring con cinta infinita en un sentido que simule las acciones de  M para unacadena de entrada situada en cualquier posición de la cinta de M.

4.4.7. Diseñar una máquina de Turing con cinta infinita en un sentido que, cuando co

mience con la configuración (qu wb), aceptará

 L = {w e {a, b)*\w contiene al menos una a}

(Nota: Téngase en cuenta que, para que una cadena sea aceptada, la máquina de Turing tiene que parar en un estado de aceptación).

4.4.8. Describir la ejecución de la máquina de Turing de dos cintas del Ejemplo 4.4.2sobre la cadena a2b2.

4.4.9. Construir una máquina de Turing de dos cintas que reconozca el lenguaje L ~  {mv;| we {a, fr}+}. Supóngase que, inicialmente, las cadenas a analizar estánsituadas en la cinta 1 .

4.4.10. Supóngase que  M  es una máquina de Turing de dos cintas con un alfabetode cinta F —{¿2, ¿>}. Definir cada una de las partes de una máquina de Turingde cinco pistas  M'  que simule el movimiento 8 (q\, (a, b)) = (qi, (b, a), (R, L)) de M.

4.4.11. Supóngase que se define una máquina de Turing multicabeza, como una quetiene una única cinta pero varias cabezas de lectura/escritura sobre la cinta.Cada movimiento depende tanto del estado actual como de todos los símbolosreconocidos por las cabezas. En cada movimiento, si más de una cabeza está so

 bre la misma celda, se decide según lo convenido previamente.

(a) Construir una “maquina de copia” con dos cabezas que, en la cinta, transforme bwb en bwbwb.

(b) Obtener, de forma similar a como se simuló una máquina de Turing con k  

cintas mediante una máquina de Turing con una cinta, una simulación deuna máquina de Turing multicabeza mediante una máquina de Turing conuna sola cinta de dos sentidos.

4.4.12. ¿Cómo se puede simular una máquina de Turing que responda a nuestra definición,mediante una máquina de Turing multicinta? ¿Cómo puede una máquina de Turingmulticabeza, simular una máquina de Turing que cumpla la definición original?

4.4.13. Construir una máquina de Turing con una cinta de dos dimensiones que “dibu je” una tabla 2 x 3 y que empiece por la celda de la esquina inferior izquierda.

4.4.14. Construir una máquina de Turing, según nuestra descripción original, que genere todas las secuencias de los números 1, 2 y 3 sobre su cinta, de forma que lassecuencias menores aparezcan primero y las que tengan la misma longitud aparezcan en orden lexicográfico. ¿Cómo se podría generalizar para las secuenciasde los números 1 , 2 ,..., n?

Page 214: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 214/310

MÁQUINAS DE TURING 205

4.4.15. Construir una máquina de Turing no determinista que acepte el lenguaje  L  {mv|we {a, b}+}.

4.4.16. Construir una máquina de Turing no determinista que acepte

 L= {xww'y\x,y, w e [a, b}+ y | x | > | y | }

¿Cómo se podría resolver este problema de forma determinista?

4.4.17. Explicar con cuidado por qué la sentencia “Si ninguna de las secuencias elegidas nos lleva a una aceptación por parte de M\, entonces M 2 tampoco aceptará”es verdad con respecto a la descripción de la simulación de una máquina de Turing no determinista mediante una máquina de Turing (determinista).

MÁQUINASDETURINGUNIVERSALES

La máquina de Turing universal es una máquina de Turing que, a partir de unadescripción adecuada de una máquina de Turing  M  y una cadena de entrada w, simula el comportamiento de  M  sobre la cadena w. En esta sección describiremos dicha máquina de Turing. Necesitaremos este desarrollo posteriormente,cuando estudiemos la jerarquía de lenguajes y la resolubilidad, pero también nosservirá para fortalecer la conexión casi intuitiva, entre las máquinas de Turing ylas computadoras digitales modernas.

Lo primero que debemos hacer es encontrar la manera de describir una máquina de Turing arbitraria M = (Q, Z, T, s, b, F, 8 ) ya que su descripción sirve deintroducción a la máquina de Turing universal. Esto requiere que la descripciónsea codificada a partir de un alfabeto finito. Estableciendo unas sencillas convenciones, una codificación de ese tipo es algo realmente sencillo.

Para empezar, se requiere que  M  tenga un único estado de aceptación. Latransformación de una máquina de Turing arbitraria en una que tenga un únicoestado final es un proceso bastante sencillo. Simplemente se añaden las transiciones y los estados necesarios para que la máquina de Turing pueda pasar decada estado de aceptación q al nuevo estado de aceptación  p que será único, y lacabeza de lectura/escritura se dejará en la posición en la que estaba cuando sehabía llegado a q.

Entonces se supone que Q = {q \ , q2, ■■■, qn), donde q\ es el estado inicia] yq2 es el único estado final de M. Es más, suponemos T = {ai, o2,  dondeOí es el blanco. Partiendo de estas suposiciones,  M  estará completamente determinado por medio de su furtción de transición. Luego, para codificar  M, sólo hayque codificar 8 . Para ello, representamos q\ por  \,*q2 por 11 y así sucesivamente.De forma similar, representamos a,- por una cadena de i unos. Finalmente, r e p r e

sentamos las directivas para la cabeza de lectura/escritura de forma que  L  será 1

www FreeLibros com

Page 215: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 215/310

206 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

y  R será 11. Si usamos los ceros como separadores, podemos codificar una transición tal como

5(43, C i) = (<74, a 3, L)

mediante la cadena 011101011110111010. De ello se sigue que  M  tiene una codificación representada por una cadena finita de ceros y unos. Es más, dada unacodificación, podemos decodificarla correctamente.

Una máquina de Turing universal  M„ se puede implementar como una máquina de Turing de tres cintas cuyo alfabeto de entrada contenga ceros y unos. La primera cinta contiene la codificación de  M  con su cabeza situada sobre elcero inicial de la cadena de ceros y unos. La segunda cinta contiene la codifica

ción del contenido de la cinta de  M con su cabeza situada sobre el uno que pertenece a la codificación del símbolo actual. La tercera cinta se usa para guardar elestado actual de  M. Inicialmente, esta última cinta contiene la versión codificadadel estado inicial de  M  (estado q\ , al que le corresponde un uno) rodeado por 

 blancos. La cabeza de lectura/escritura se sitúa sobre el primer  uno de la cadenacodificada.

 M„ analiza y compara el contenido de las cintas segunda y tercera con el dela primera cinta, hasta que encuentra una transición para la configuración codifi

cada o hasta que agota todas las posibilidades. Si no se encuentra una transicióncorrespondiente a la configuración,  Mu para, como debería hacerlo  M. En otrocaso, M u se comporta como lo haría  M.

Si  M  con la cadena w, para, entonces M„ parará cuando tenga en sus cintasla codificación de  M  y la codificación de w. Es más, la cadena final que quedeen la cinta de  Mu será la codificación de la cadena que hubiera quedado en  M. Cuando M  para, M¡, puede decir si está en el único estado de aceptación y, segúnesto, moverse a uno de sus estados de aceptación o no.

EjerciciosdelaSección4.5

4.5.1. Sea M dado por 

Q = {<?i- <72, <73, #4, <75, <76, q i, q%) Z={a,b},

T={a, b, h),  s = q¡

{<76,47}

con 8 definida como sigue:

Page 216: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 216/310

MÁQUINAS DE TURING 207

8 (91, fe) = (q\, fe, R) 5 f e , fe) = f e , b, L)

8 f e , a ) = f e , fe, /?) 8 f e , «) = 8 f e , fe) = (98, fe, L)

8 f e , fe) = f e , fe, #) 8 f e , a) = (94, a, ¿)8 (92,«) = (92, a, 8 f e , fe) = f e , fe, L)

8 (92, fe) = (92, fe, /?) 8 (94, fe) = (95, fe, /?)

8 (92, fe) = f e , fe, £) 8 (95, a) = (91, a,  L)

8 f e , fe) = (97, fe,  R) 8 f e , fe) = f e , fe, /?)

8 (98, a) = 8 (98, fe) = 8 (98, fe) = f e , fe, ¿)

Convertir M en una máquina de Turing con un único estado.

4.5.2. Obtener una codificación completa de la máquina de Turing dada por

8 (91, C7t) = f e , Ci,  R)

8 (91, o2) = f e , oi tL)

8 (93, Oí) = (92, o2, L)

4.5.3. Obtener un algoritmo que determine si una cadena w e {0, 1}+ es una máquina

de Turing codificada.4.5.4. Hacer un bosquejo de un procedimiento que enumere las codificaciones de todas

las máquinas de Turing. Indicación: En el Ejercicio 4 .1.4 . se podía enumerar, en or

den, todos los números enteros binarios. Combinar esto con el Ejercicio 4.5.3.

El Ejercicio 4 .5.4 . tiene una consecuencia importante que será la siguiente:

4.5.5. Demostrar que el conjunto de las máquinas de Turing es numerable.

PROBLEMAS

En este capítulo hemos visto que nos es posible aumentar la capacidad decomputación de una máquina de Turing estándar, por mucho que se compliquela estructura de la cinta. Se puede probar que es posible limitar su potencia si serestringe la manera en la que se usa la cinta. Una restricción posible es limitar elnúmero de celdas de la cinta que pueden ser usadas por la máquina de Turing,

 basándose en la longitud de la cadena de entrada. Por tanto, podría haber más

espacio disponible para las computaciones de cadenas largas que para las cortas.Definiremos una autómata linealmente acotado (ALA) como una máquina de

Turing no determinista M = (Q, £, F, s, fe, F, A), en la cual el alfabeto de cinta contenga dos símbolos especiales < y >.M comienza con la configuración f e , < w >)(donde 91 es el estado inicial de M). No se permite que M reemplace los símbolos <o >, ni que mueva su cabeza a la izquierda de < o a la derecha de >. Obsérvese qun autómata linealmente acotado tiene que realizar su computación en las únicas

Page 217: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 217/310

208 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Q={quqi]2 ={a,Z>}T = {a, b, <, >}

 s = qi

 F={q2) y A dado por 

A ( i, <) = (<7i, <, R)

 A(q\,a) = (qu b,R)&{q\,b) = (qu a, R)

 A(q\,>) = (q2 , >,S)

Este ALA complementa sus cadenas de entrada convirtiendo las aes en bes y viceversa. Obsérvese que, aunque puede reconocer y trabajar sobre los símbolos < y >, no puede reemplazarlos o moverse más allá de ellos.

Supongamos que un ALA comienza siempre con su cabeza situada sobreel símbolo <.

4.1. Obtener un ALA que acepte el lenguaje {a"b"c" |n> 1}.

4.2. Obtener un ALA que determine si sus cadenas de entrada tienen longitud impar.Suponer que las cadenas de entrada pertenecen a {a, b}*.

4.3. Obtener un ALA que determine si sus cadenas de entrada, tomadas de [a, b}* son un palíndromo.

Un autómata linealmente acotado puede tener cintas con múltiples pistas.En el caso de las pistas múltiples, las celdas disponibles para la computación siguen restringidas a las que originalmente ocupó la cadena de entrada. Por ejem plo, si ti- = aban es la cadena de entrada para un ALA con dos pistas, la cinta podría ser como

< a b a a >

< >

(donde se supone que las celdas en blanco contienen £>).

4.4. Construir un ALA con dos pistas que acepte el lenguaje

> 0 }

donde ni es la función factorial. ( Indicación: Dividir la cadena repetidamenteentre 2, 3, 4, ... situando el divisor en la segunda pista. ¿Cuándo y cómo se podrá determinar si hay n\ aes en la primera pista?) ,

4.5. Sea k > 0 un entero fijado. Construir un ALA que, cuando se le den dos enteros( '1 "') d t i i di i ibl k

Page 218: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 218/310

5

Máquinas de Turing y lenguajes

5.1 LENGUAJESACEPTADOSPORMÁQUINASDETURING

En el Capítulo 4 hemos introducido las máquinas de Turing y estudiado algunasde sus propiedades. En particular, el desarrollo de una máquina de Turing universal sugiere que una máquina de Turing puede ser concebida de forma análogaa un programa de una computadora y, por tanto, las máquinas de Turing podríanmodelar los mecanismos de computación. Estableceremos esta conexión a lo largo del Capítulo 6 , donde estudiaremos los límites de un mecanismo de computación mediante el estudio de la resolubilidad. En este capítulo, estudiaremos lasclases de lenguajes que son aceptados por máquinas de Turing. Al realizarlo, lle

garemos a un problema general en todas las máquinas de Turing. Este problemase llama prob lema de parada. El problema de parada será la clave para tratar laresolubilidad. Terminaremos con un teorema (el teorema de la jerarquía) que relacionará todos los tipos de lenguajes estudiados.

Recordaremos que una cadena vv sobre algún alfabeto es aceptada por unamáquina de Turing  M, cuando una computación que empezó con vv en la cinta de

 M  y con  M  en su estado inicial, termina con  M  en un estado final. Por otro lado,vv puede ser rechazada de dos formas, ya sea porque  M  para en algún estado queno es de aceptación o porque  M  nunca para. Los dos métodos de rechazo de cadenas no son equivalentes. Por tanto, hemos définido los lenguajes recursiva mente enumerables como los lenguajes que son aceptados por una máquina deTuring (de alguna forma) y los lenguajes recursivos como los lenguajes acepta

www.FreeLibros.com 

Page 219: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 219/310

Page 220: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 220/310

MÁQUINAS DE TURING Y LENGUAJES 211

8 ' (q, o) = (8  (q, a), a,  R), para q e Q y 0 e  I f  

8 ' (<7, b) = (q\ b, S), para todo q e F, donde S es la directiva de cinta

“no moverse”

La máquina de Turing resultante analiza sus cadenas de entrada de izquierda a derecha. Con cada símbolo de entrada cambia su estado para reflejar el correspondiente cambio de estado en el autómata finito. Cuando se encuentra un b en el extremo derecho de la cadena de entrada, pasa a un estado de aceptaciónsólo si el autómata finito aceptara la cadena.

Obsérvese que, ya que nunca puede haber en  M pares de la forma (q, b), definiendo 8 ' igual a 8 en lo que sea posible y 8 ' (q , b) = (q \ b, S ) para el estado

q e F, 8 ' se convierte en una función de trarsición bien definida.

Puesto que todo lenguaje regular puede ser aceptado por un autómata finitodeterminista, tendremos el siguiente teorema:

Teorem a 5.2.1. Si L es un lenguaje regular, entonces L es también un lenguaje recursivo.

Por el Ejemplo 4.2.2 sabemos que hay una máquina de Turing que para sobre

todas las entradas y que acepta {a"b"\n >  1 }. Por el Ejemplo 2.9.1 sabemos queeste lenguaje no es regular. Por tanto, hay lenguajes recursivos que no son regulares.

Sea  M  un autómata de pila no determinista. Podemos construir una máquinade Turing que emule el comportamiento de  M  en lo que se refiere a a la aceptación o rechazo de cadenas. Para esto debemos tener en cuenta los cambios de estado de  M  y los cambios que se producen en la pila de  M  cuando está reconociendo una cadena. Para simplificar, usaremos una máquina de Turing con doscintas. La cinta 1 almacenará la cadena de entrada y la cinta 2 almacenará elcontenido de la pila de M. Un apilamiento corresponde a un movimiento hacia laderecha seguido por una actualización de la cinta 2. Por tanto, la cabeza de lectura/escritura de la cinta 2 siempre analizará el símbolo de la cima de la pila. Loscambios de estado de la máquina de Turing reflejan los cambios de estado de M. Consideremos un ADPND  M dado por 

Q= {q\ ,qi, <73},

1 = {a, b},r = b, ¿},

F ~  {<73}

 s = q \

A(<?i,£, z)={(<?3, £)}, A{q\,a, a)= {(<?!, cía)} ,

A (q2 , b, a) = {(<72, £)},

£±(q¿,a, z) = {{q\,az)} 

A (qi, b, a)= {(q2, £)}

A (<72 , £, z) = {(<73, £)}

Page 221: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 221/310

Page 222: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 222/310

MÁQUINAS DE TURING Y LENGUAJES 2 1 ' í

Turing que paran sobre toda cadena. Entonces, si w e  L (M¡), sabemos que M¡ 

 parará en un estado de aceptación y, si w <£ L (M¡), M¡ parará en un estado qino es de aceptación para cada i 1,2. Sea  M  una máquina de Turing que tier 

dos cintas. La cadena de entrada w estará en la cinta 1 y se hará una copia de c en la cinta 2. La máquina  M emulará a M\ mediante la cinta 1 hasta que M\ pa: .Si Mi  para en un estado que no es de aceptación, entonces  M  también para en u r>estado que no es de aceptación. Por otro lado, si  M\ aceptara w, entoncesemularía a M 2 mediante la cinta 2 (con la copia de vv). Si M 2 parara en un estadoque no es de aceptación, entonces  M  también para en un estado que no es <'aceptación. Sin embargo, si  M 2 aceptara w, entonces  M  acepta vv. Por tamow e L (.M) si y sólo si w e L (Mi) y w e L (M2), con lo que obtenemos que

 L (M) =  L (Mi) n  L (M2). Finalmente, obsérvese que para toda entrada,  M  pa; .'.ya que  M\ y  M 2 también lo hacen. Por tanto,  L (M) es un lenguaje recursi\ .Veamos el siguiente teorema:

Teorema 5.2.3. Si L\ y L2 son lenguajes recursivos, entonces  L\ n  L2 también lo es.

Por el Capítulo 3 sabemos que  L = {a‘b'cl\i>0} es la intersección de d<lenguajes independientes del contexto, pero que él mismo no es independien!:del contexto. Por medio de los Teoremas 5.2.2 y 5.2.3 se obtiene que  L es ivalenguaje recursivo. Por tanto, el inverso del Teorema 5.2.2 no se cumple. Es decir, hay lenguajes recursivos que no son independientes del contexto.

EjerciciosdelaSección5.2

5.2.1. Si L es regular, ¿L es recursivamente enumerable? ¿Por qué?

5.2.2. El autómata finito determinista  M  acepta las cadenas de longitud par sob eX= {a, b}. Construir una máquina de Turing, a partir de este autómata, c¡'acepte L (M).

 M=(Q, Z, 5, F, 5)

donde

Q={q\ ,q t )  z = {a ,b }

 s = qi 

 F ={<?,}8 (qi,á) = 5(qi ,b) = q2*8  (q2, a) = 8  (q2, b) = qy

*

5.2.3. Usar la técnica vista en esta sección para construir una máquina de Turing tvacepte el lenguaje aceptado por el siguiente autómata finito determinista:

Page 223: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 223/310

214 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

5.2.4.

5.2.5.

Usar la técnica de construcción de esta sección para construir una máquina deTuring que acepte las mismas cadenas que el ADPND dado por 

0={<7l, qi)  Z={a,b}

r = { a , b ,z }

y A dado por 

A (qu £, z) = {(q2 ,z)}  A(q\,a, z) = {(tfi.az)}

 A (q u b,z) = {(qubz)}A (<7i, b, b) = {(qubb)}

 s = q i

 F={qz}

 A(qi,a, a) = {(qu cta)) 

A(<?i, b, «) = {(<?i,£)}A (9 1 , a, b)= {(4 i,£)}

(a) ¿Cómo se podría tratar la transición

A (q, a, b) = {( p, )}

a la hora de constaiir una máquina de Turing que corresponda a un

ADPND?(b) ¿Como podría tratarse una transición de la forma

A (q, a, b)={{q\,b), (q2, a)}

al construir una máquina de Turing que corresponda a un ADPND? Obsérvese que, puesto que los ADPND tienen muhas posibilidades de ser no deterministas, se nos puede plantear un problema de estas características.

{Indicación: ¿Qué sabemos acerca de las máquinas de Turing no deterministas?)

(c) Usar las respuestas a los apartados (a) y (b), además de la técnica de construcción de máquinas de Turing para ADPND, con el objeto de construir una máquina de Turing que acepte el lenguaje aceptado por el ADPND siguiente:

Page 224: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 224/310

MÁQUINASDETURINGYLENGUAJES 215

Q ~ <?3> <?4, <?5, <76 } .V= <71

2 = {a,6 } F={%}T {a,b,z)

 y A dado por:

Afai.e, z)= {(<?6. £)}A (</i, a, z) = { (<?2. babz)}

 A (<?2, a, b) = {(<?2, ¿><tí¿>¿»), (c/3, babb)}

&(qi,b, b) = {(<74, 8)} A  (<74, a , a ) = {(<75, e)}

 A (95. b) = {(93, e))

A (<75. e, z ) = {(<76. £)}

{Nótese que el lenguaje aceptado por este autómata es {a" (bab)n \ n > 0}.]

5.2.6. Definir formalmente la técnica de construcción del Ejercicio 5.2.5, que construye una máquina de Turing  M'  que acepta el mismo lenguaje que un ADPNDM = « 2 , Z , T , s,F,z, A ).

5.2.7. En la construcción de una máquina de Turing a partir de un ADPND, se aseguraque la máquina de Turing construida para con todas las cadenas, por tanto ¿es posible afirmar que los lenguajes independientes del contexto son recursivos (envez de sólo recursivamente enumerable)?

5.2.8. Probar que la unión de dos lenguajes recursivos es un lenguaje recursivo. ¿Launión de dos lenguajes recursivamente enumerables arbitrarios es también unlenguaje recursivamente enumerable?

5.2.9. Probar que la intersección de lenguajes recursivamente enumerables es un lenguaje recursivamente enumerable.

5.2.10. Probar que el siguiente lenguaje L sobre el alfabeto Z= {a, b) es un lenguajerecursivo. ( Indicación: Encontrar un lenguaje independiente del contexto apro

 piado para realizar la intersección).

 L  {w | h' contiene el mismo número de aes que de bes yno contiene ninguna subcadena aab)

LENGUAJESRECURSIVOSYRECURSIVAMENTEENUMERABLES

Supongamos que  L es un lenguaje recursivo sobre el alfabeto E. Entonces, hayuna máquina de Turing  M = (Q , £, F, s, b, F, 8 ) que para sobre toda entrada y

acepta  L. Considérese la máquina de Turing  M' = (Q, I , T, s ,b, Q F, 8 ). Obsérvese que cualquier cadena de  L hace que  M'  pare en algún estado de  F y, por tanto, M'  rechaza todas las cadenas de  L. Por otro lado, si w g  L, M  parará en algún estado que no es de  F. cuando w esté en su cinta al principio de la computa-

www.FreeLibros.com 

Page 225: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 225/310

216 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

ción. Es decir,  M  para en algún estado de Q -  F. Pero entonces,  M'  también parará y, por tanto, si w g  L, entonces w e L ( M ')• Así,  L ( M ') = Z s -  L. Es más, yaque  M  para sobre todas las cadenas, entonces  M'  también lo hace. Finalmente,tendremos el siguiente lema:

Lema 5.3.1. Si  L es un lenguaje recursivo, entonces Z* -  L es un lenguaje recursivo.

Ésta es una propiedad de los lenguajes recursivos que, en general, no secumple para los lenguajes recursivamente enumerables. Para verlo, supongamosque Z es un alfabeto. Ya que Z* es numerable, podemos enumerarlo comoZ* = {vvi, W 2 , W3 , ...}. En la sección de las máquinas de Turing universales indicamos que todas las máquinas de Turing sobre I podían ser enumeradas (por 

medio de las cadenas de símbolos generadas para representar las máquinas deTuring codificadas). Por tanto, podremos listar todas las máquinas de Turing so bre Z como  M i, M 2 , ••• Sea

 L = {w¡ | w¡ es aceptado por  M¡)

Este lenguaje es recursivamente enumerable, pero su complemento no.Primero, veremos que L es recursivamente enumerable, obteniendo una má

quina de Turing  M  que acepte L. M  será una composición de varias máquinas deTuring. Si se tiene una cadena w sobre Z, obsérvese que w = w,- para algún i. M   primero generará w\, w2, ... hasta que encuentre un i para el cual w = w¡. Entonces  M  generará la (codificada) ¡-ésima máquina de Turing  M¡, codificará w¡, y 

 pasará de la codificación de  M¡ y w¡ a la máquina de Turing universal U  queemule  M¡ sobre w¡. Si  M¡ para y acepta w¡, entonces U para en un estado de aceptación y, por tanto,  M  para y acepta w¡.

Por otro lado,  M¡ puede que pare sin aceptar w¡ o puede que no pare. En am bos casos,  M  no para y no acepta w¡. Así, w¡ e  L ( M ) si y sólo si w¡ e L ( M¡).

Segundo, observemos que 2T —  L no es recursivamente enumerable. Paraello, supongamos que  J7 —L es recursivamente enumerable. Entonces debe ser aceptado por una máquina de Turing, que llamaremos Consideremos. w¡. Siwj e  L (Mj) ,   tendremos que Wj e L = Z* -  L  ( ) y, por tanto, w¡ g  L (A/y). A lainversa, si wj £ L (Mj) ,   entonces wj ¿  L y, por tanto, se tiene que wj e Z* -  L == L (Mj).  En ambos casos se llega a una contradicción, luego el lenguaje Z* -  L no es aceptado por ninguna máquina de Turing. Veamos el siguiente teorema:

Teorem a 5.3.2. Hay un lenguaje recursivamente enumerable  L para el cual Z* L noes recursivamente enumerable.

Obsérvese que el lenguaje  L descrito aquí no puede ser recursivo porque, silo fuera, su complemento también lo sería y, por tanto,  L sería recursivamente

www FreeLibros com

Page 226: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 226/310

MÁQUINASDETURINGYLENGUAJES 217

enumerable. Luego tendremos un lenguaje recursivamente enumerable que no esrecursivo. Por consiguiente, la inversa de la sentencia que dice que todo lenguajerecursivo también es recursivamente enumerable no es cierta.

Como ya hemos comentado, las máquinas de Turing pueden considerarsecomo modelos de computación mecánica. Una máquina de Turing que realizauna tarea —ya sea reconocer un lenguaje o realizar un patrón sobre una cintamultidimensional— modela un proceso. Los procesos que siempre terminan sellaman algoritmos y, por tanto, una máquina de Turing que para sobre cualquier cadena, es un modelo de algoritmo. Esto significa que, para los lenguajes recursivos, hay un algoritmo que determina si una cadena w está en un lenguaje  L. Este algoritmo será modelado por una máquina de Turing que para sobre cualquier entrada y acepta L.

Por otro lado, si  L es recursivamente enumerable pero no recursivo, no hayuna máquina de Turing que pare sobre todas las entradas y acepte  L. De esto sededuce que no hay ningún modelo de algoritmo que determine si w e L, parauna cadena arbitraria w. El problema de los miembros (¿está w en L?) para loslenguajes recursivamente enumerables arbitrarios que no son recursivos es unejemplo del problema de irresolubilidad, que es un problema para el cual no hayningún algoritmo que pueda dar una respuesta al mismo, ya sea negativa o positiva. Trataremos estas cuestiones en el Capítulo 6 .

El Teorema 5.2.3 junto con los Ejercicios 5.2.8 y 5.2.9 muestran que el con junto de los lenguajes recursivos es cerrado con respecto a la unión y la intersección. También los lenguajes recursivamente enumerables son cerrados con res pecto a la unión y la intersección. La demostración de que la intersección de lenguajes recursivamente enumerables es recursivamente enumerable es similar a lade los lenguajes recursivos y fue vista en el Ejercicio 5.2.8. La demostración deque la unión de lenguajes recursivamente enumerables es también un lenguajerecursivamente enumerable proporciona una técnica de demostración muy útil e

interesante.

Teorem a 5.3.3. Si  L\ y Lz son lenguajes recursivamente enumerables, entonces L\ u L2 es también recursivamente enumerable.

 Demostración. Si  L\ y L2 son recursivos, entonces sabemos que su unión también esrecursiva y, por tanto, recursivamente enumerable. Luego para este caso quedaría probado.

Supongamos que, al menos uno de los dos, es recursivamente enumerable pero no recursivo. Sea  Lr=L (M¡), donde  M¡ = (Q¡, Z, T(, s¡, b , F¡, 8 ,) son máquinas de Turing para i = 1 e i = 2. Vamos a hacer, un esbozo de la construcción deuna máquina de Turing M = (Q, £, T, 5 , t>, F, 8 ) que acepte  L\ u  Lj En otras palabras, M acepta w si y sólo si w es aceptada por al menos una de las  M¡, M  será

www FreeLibros com

Page 227: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 227/310

218 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

una máquina de Turing con dos cintas que simulará simultáneamente  M\ en lacinta 1 y AÍ2 en la cinta 2. Si  M\ o  M 2 para en un estado de aceptación,  M  tam bién para y acepta la cadena de entrada. Si una de la dos para en un estado queno es de aceptación antes de que la otra pare, M centrará su atención en la má

quina de Turing que todavía no paró. Si, para la cadena vv, ninguna de las máquinas de Turing para (y por tanto vv g  L\ \ j L2), M  nunca parará y, por tanto, nuncaaceptará vv.

Esta simulación se realiza incluyendo en Q los pares de Q\ x Q2 y permitiendo todo movimiento de la forma

8 (0?i, <?2>, (ai, 02)) = (pi,p2), (ti, x2), (Xi, X2))  

donde para cada ¿ = 1 , 2 ,

8 / ((¡¡i, Oí) = (p¡, t ¡, X¡)

es una transición de M¡.Además, para incluir las situaciones en las que una de las máquinas de Tu

ring para en un estado que no es de aceptación antes de que la otra pare, necesitamos incluir las transiciones que permitan que  M  siga simulando la otra máquina de Turing. Por ejemplo, si  M\ parara en el estado <73, que no es de aceptación

(en este caso,  M\ no tendría ninguna transición desde <73 sobre cualquier símbolode la cinta), deberíamos incluir en  M  todas las transiciones de la forma

8 ((<?3, <?), (ai, o2)) = ((<73, p), (O], t2), (S ,X2)) 

donde 82 (q , 0 2 ) = (/?, ^ 2 , X2) es una transición de  M2. Si hiciéramos esto para todos los estados en los cuales  M\ o M 2 para sin aceptar ninguna cadena, entonces

 M  no pararía en todas ellas cuando  M\ y  Mi parasen sin aceptar “una cadena”

¿por qué se considera aceptable este comportamiento?Finalmente para cada par (q\, q2) en los cuales q\ ó q2 es un estado de acep

tación de su correspondiente máquina de Turing, incluiremos las transiciones dela forma

8 ((<?], <?2), (ai, a2)) = (<7, (ai, a2), (5, 5)) 

donde q e Q es un nuevo estado que es el único estado de aceptación de  M. □

La demostración del Teorema 5.3.3 sugiere una técnica que puede ser usada para probar que cualquier lenguaje recursivamente enumerable cuyo complemento es recursivamente enumerable debe ser un lenguaje recursivo. Para pro barlo, supongamos que  L y L* -  L son ambos recursivamente enumerables. Usaremos el método de construcción usado en la demostración del Teorema ,5.3.3

 para construir una máquina de Turing que acepte  L u (E* -  L). Naturalmente,

Page 228: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 228/310

Page 229: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 229/310

220 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

GiG„, a^Oi, O2G2 , •••> OiOn, ..., onon, y así sucesivamente. (Obsérvese que el orden en el que son listadas, determina el orden lexicográfico de las cadenas).

Para organizar las simulaciones de secuencias de movimientos de  M  sobredichas cadenas,  M'  genera £ primero y simula un movimiento sobre ella. En un

segundo paso,  M'  simula dos movimientos sobre £ (si es posible), genera Gi y simula un movimiento sobre ella. En tercer lugar,  M'  simulará tres movimientossobre £, dos sobre Oí, y entonces genera 0 2 y simula un movimiento sobre ella.La cinta 2 se usa para llevar cuenta de las cadenas generadas y del número demovimientos realizados sobre ellas. Por tanto, después de i pasos, la cinta 2 contendrá i cadenas sobre Z* así como el total de movimientos realizados sobreellas. En los siguientes pasos, M'  procesa cada una de las i cadenas incrementando además el contador de movimientos para cada una de ellas, copiándola en la

cinta 3 y simulando  M  sobre ella con el número de movimientos especificado. Si M acepta la cadena, entonces  M'  la copia en la cinta 1.

 Nótese que, de esta forma, se elimina el problema de que  M  nunca pare so bre una cadena específica. Cualquier cadena de  L se genera sobre la cinta 2 y seacepta durante la simulación de  M. Por tanto, cualquier cadena de  L aparece enla cinta 1. Veamos el siguiente teorema:

Teorem a 5.3.5. Un lenguaje L es recursivamente enumerable si y sólo si L es enumerado por alguna máquina de Turing.

Por tanto, la capacidad de ser enumerado por una máquina de Turing, caracteriza completamente a los lenguajes recursivamente enumerables.

EjerciciosdelaSección5.3

5.3.1. En la construcción de la demostración del Teorema 5.3.3, si M\ y Mi rechazaranuna cadena al pararse en un estado que no es de aceptación, la máquina de Turing M rechazaría la cadena al no pararse. Realizar un esbozo de la forma en laque se debe construir  M para que también pare en un estado que no es de aceptación.

5.3.2. Usar la misma construcción anterior para probar que L\ n ¿ 2 es recursivamenteenumerable si L\ y ¿2 son recursivamente enumerables.

5.3.3. Esbozar la máquina de Turing descrita mediante las observaciones anteriores alTeorema 5.3.4. ¿Cómo se determina si la que acepta la cadena es M\ o M2?

«5.3.4. Supongamos que L\, Li, ..., L„ son lenguajes que forman una partición de £*. Sitodos los L¡ son recursivamente enumerables, probar que cada uno de ellos tam bién es recursivo.

www.FreeLibros.com 

Page 230: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 230/310

MÁQUINASDETURINGYLENGUAJES 221

5.3.5. La técnica descrita en esta sección para enumerar un lenguaje recursivamenteenumerable mediante una máquina de Turing no es muy eficiente. Las cadenasse escriben repetidamente sobre la cinta 1 , puesto que una vez que su contador 

de movimientos tiene una valor mayor o igual que el número de movimientos, M necesita aceptarlas y serán escritas en la cinta 1. Sugerir una técnica para eliminar esta redundancia (teniendo en cuenta que puede que sea necesario que lascadenas se queden en la cinta 2 para que pueda continuar el proceso de generación de 2T, en orden lexicográfico).

5.3.6. Supongamos que  L es recursivamente enumerable pero no recursivo, Probar que, para toda máquina de Turing  M  que acepte L, hay un número infinito decadenas que pueden hacer que M no pare.

GRAMÁTICASNORESTRINGIDASYLENGUAJESRECURSIVAMENTEENUMERABLES

A través del estudio de lenguajes que hemos realizado, hemos tratado dos técnicas para especificarlos. Podemos especificar un lenguaje describiendo un procedimiento para reconocer sus cadenas. Estos procedimientos tomaron la forma deautómatas de varios tipos. Alternativamente, se puede especificar un lenguaje

 por medio de una técnica que genere sus cadenas. Las gramáticas nos proporcionan este método.

Tanto en las gramáticas regulares como en las que son independientes delcontexto, se restringió la manera de formar las producciones. ¿Hasta qué puntose pueden relajar estas restricciones y hacer que todavía tengan sentido los lenguajes resultantes? Es más, ¿cómo se pueden relacionar dichos lenguajes con losque son aceptados por las máquinas de Turing?

Si representamos las producciones de las gramáticas regulares por mediodel producto cartesiano de conjuntos, éstas serán pares de  N  x Z* (N u e) (paragramáticas regulares por la derecha), que indican que el lado izquierdo de la producción debe estar formado por un único no terminal, mientras que el lado derecho de la producción debe estar compuesto por cualquier cadena de terminalesseguida por un no terminal. Al pasar a las gramáticas independientes del contexto, la estructura de la parte derecha de las producciones se hizo menos restrictiva; es decir, se permitió que fueran pares del producto  N x ( N u 2)*. Ahora, ellado derecho podrá contener cualquier número de no terminales, mientras que ellado izquierdo sigue restringido a un único no terminal.

Aunque en una gramática independiente del contexto la estructura del ladoderecho de las producciones parece ser lo más general posible, podemos dar almenos dos sugerencias con respecto al lado izquierdo. Se debería poder permitir que en el lado izquierdo hubiera cadenas no vacías de no terminales e inclusocadenas de no terminales y terminales. De las dos, las cadenas no vacías de ter-

Page 231: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 231/310

222 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

mínales y no terminales a la vez, es la forma más general. Según esto, nuestras producciones podrían ser pares del producto ( N u X)4' x (N u £)*. De esta manera hemos eliminado todas las restricciones en cuanto a la manera de formar las producciones. (Obsérvese que, si se permitiera que el lado izquierdo de una producción fuera la cadena vacía, se tendría la posibilidad de tener más de un puntode partida para las derivaciones, lo que no es deseable. Por tanto, no permitiremos £ como lado izquierdo de una producción).

Veamos la siguiente definición:

Definición 5.4.1. Una  gramática no restringida (que también se conoce como una gramática estructurada por frases) es una 4-tupla G = ( N, Z, S, P ), donde

 N es un alfabeto de símbolos no terminales

Z es un alfabeto de símbolos terminales con N n Z = 0S e N es el símbolo inicial P  es un conjunto finito de producciones de la forma a  —>(3, donde

a e ( iVuZ)+ y p e ( JV uZ f (es decir,  P c (N u Z)+ x (N u Z)* y esun conjunto finito).

Obsérvese que cualquier gramática regular o independiente del contexto esademás una gramática no restringida. Como cabría esperar, tenemos una poten

cia generativa mayor que la que tienen las gramáticas independientes del contexto o las regulares, debido a que la gramática es menos restrictiva con respecto ala formación de las producciones.

Por ejemplo, consideremos la gramática no restringida dada por 

S * a S B C \ a B C   

CB —> BC  

aB —» ab 

bB -> bb  bC —» be 

cC —» cc

(En estas gramáticas mantenemos las convenciones adoptadas al estudiar lasgramáticas regulares y las gramáticas independientes del contexto. Es decir, S sigue siendo el símbolo inicial, las minúsculas los terminales y las mayúsculas losno terminales).

En la cadena que resulta al sustituir el símbolef inicial, siempre hay el mismo número de aes, Bes y Ces. Es más, todas las aes preceden a las  Bes y a lasCes. La producción CB  —>BC nos permite intercambiar los no terminales C y B, obteniendo una cadena de la forma a"B C n. Las producciones aB —>ab y

www.FreeLibros.com 

Page 232: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 232/310

MÁQUINASDETURINGYLENGUAJES 223

b B ^ b b , transforman toda  B en b, obteniéndose anb"C". Finalmente, las producciones bC —» be y cC   —>cc transforman la cadena en anbncn:

Por otro lado, si n 1, esta gramática puede derivar  abe por medio de

S => aBC => abC => abe. Si ri> 1, entonces la cadena anbnc'1 se deriva por medio de

S "=* an ~ 'S (B C )" ~  1 => a" (BC )" 4 a '7 / C n a W 1

Por tanto, en G se deriva cualquier cadena de la forma anbncn para n > 1.

De esto se deduce que  L (G) = {a"bncn\n > 1}. Luego con esta gramática podemos derivar lenguajes que no son independientes del contexto.

Veamos otro ejemplo de la potencia generativa de las gramáticas no restringidas. Consideremos la gramática

S —> ACaB, Ca —>aaC 

CB —> DB | E, aD —> Da

 AD — AC , aE —  Ea

 A E ^ e

Esta gramática genera  L = {a \ k > 0}. Para hacemos una idea de cómo segeneran cadenas en L, consideremos la derivación a 2 = a4. Tendremos

S  ACaB => AaaCB => AaaDB => AaDaB => ADaaB => ACaaB 

=> AaaCaB => AaaaaCB => AaaaaE => AaaaEa => AaaEaa 

=> AaEaaa ==>AEaaaa => aaaa

 A y B actúan como marcadores de final de la cadena de aev que están siendogeneradas. C se desplaza hacia la derecha al duplicarse el número de a<?.? hastaque está junto a entonces se transforma en una  D. D se desplaza hacia la derecha hasta que encuentra una  A , y entonces se convierte en C. Cuando CB esreemplazada por  E, termina la generación de aes. Entonces la  E  se desplaza hacia la izquierda hasta que encuentra la A, momento en el cual se elimina AE.

Supongamos que G es una gramática no restringida. Se pueden listar todaslas vv para las cuales S => w, es decir, todas las cadenas que son derivadas en un

sólo paso. El número de cadenas de este tipo que se puede obtener será finito, puesto que la colección de producciones de la gramática es finita. También podremos hacer una lista de las cadenas que se derivan en dos pasos, en tres pasos,y así sucesivamente. Cada una de estas colecciones será también finita. De loque se deduce que L (G) puede ser listada de esta forma. Lo que quiere decir que

 podría haber una máquina de Turing que enumerase  L (G). Esto no nos sorprend l i d d d i d

Page 233: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 233/310

224 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Aplicando el Teorema 5.3.5 a las observaciones anteriores podemos deducir el siguiente teorema:

Teorem a 5.4.2. Si G es una gramática no restringida, entonces  L (G) es un lenguaje re-

cursivamente enumerable.

También se cumple que todo lenguaje recursivamente enumerable es generado por una gramática no restringida. Para verlo, supongamos que  L es un lenguaje recursivamente enumerable que es aceptado por una máquina de Turing

 M = (Q, Z, T, s = q i, b, F, 8 ). Vamos a construir una gramática no restringida, Gcon base en  M. Si w e  L (M), entonces q\\v xq/y, donde q j e F  es un estado deaceptación de  M y x e  y son cadenas de (T— {b})*. La gramática G produce la

cadena w, mediante una derivación hacia atrás, desde  xq/y a q\\v, eliminandodespués, q\. G se define como G = (N, Z, S, P), donde N  es la coleción de símbolos  N = ( r - Z) u Q u {Ai, A2 , 5}, siendo Ai, Ai y S  son unos símbolos nuevos.

Las producciones de  P  son de cuatro tipos. Primero queremos que G deriveuna configuración final de la forma  xq/y . Esto se consigue mediante las producciones de la forma

S * b S \ S b \ A \ A 2 

 A2 —>aA21 A2a | q

 para toda a e T - {/>} y toda q e  F. (Obsérvese que b e F c M con lo que bS  ySb pertenecen a (/V u Z)“.) Introducimos Aj como un marcador, que solamentese elimina al final de la derivación. Mediante dichas producciones se obtienenderivaciones de la forma

S=$b ... t>A\xqjyb ... b

 para todo  x e  y pertenecientes a (F - {&})' y los estados finales q¡ de  F. Puesto que estamos realizando un proceso hacia atrás para que  M  acepte una cadena, debemos pasar de la configuración  xqfy a q\\v, lo que significa que necesitamos reemplazar  A\xq¡y por  A\q\w. Para ello añadimos a  P  las producciones dela forma bpj —» q¡a, donde 8  (q¡, a) - (qj, b, R) es una transición de  M, y las producciones de la forma q} cb —» cq¡ a para cualquier símbolo c de F. donde8 (q¡, a) = (qj, b, L) es una transición de  M. El primer tipo de producciones (co

rrespondientes a los movimientos hacia la derecha), “deshacen” lo hecho por latransición de  M, al sustituir la b por la a y desplazarse al no terminal que se encuentre a la izquierda de a. En las producciones correspondientes a los movimientos hacia la izquierda, se reemplazan las cadenas de la forma q¡cb por lascadenas de la forma cq¡a, donde c es cualquier símbolo que se encontraba originalmente a la izquierda de la cabeza de  M. Por tanto, para la transición

Page 234: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 234/310

MÁQUINASDETURINGYLENGUAJES 225

8  (q¡, a) = (q¡, b, L) correspondiente a un movimiento hacia la izquierda, debemos añadir todas las producciones de la forma q¡ cb —» cq¡ a, donde c e T.

Finalmente, puesto que pueden quedar blancos h y algunos símbolos  A\ y

q\, limpiaremos la cadena por medio de las producciones

 A\q\ —> £

b -> £

Como un ejemplo muy sencillo de la construcción de dicha gramática, consideremos la máquina de Turing  M = (Q, X, T, s = q\, b, F, 8 ), teniendo

Q = { q u q2 ,q i)

E = { a }

T = { a , b }

 F = {qs}  

h( q\ ,á ) = (q\,a, R)

h{q ub ) = {q2, b ,R )

8(q2, 6) = (<?3> L) 

Esta máquina de Turing acepta a*. Aplicando la construcción anterior, obtendremos los siguientes grupos de producciones:

 para el primer paso

 para las transiciones que muevenla cabeza de M hacia la derecha

 para las transiciones que muevenla cabeza de M  hacia la izquierda

 para el último paso

Para comprender la conexión que existe entre la forma en la"que  M  aceptauna cadena y la forma en la que G genera la misma cadena, consideremosw = a2. M  acepta w por medio de las siguientes {ransiciones:

S ^& S |S & |A i A 2

A2 aA2\A2a\qi 

aq\  —>q\a bqi -» q\b

qiab —>aq2b 

qibb —>bq2b

 A\q\ —» £ 1

b > e j

Page 235: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 235/310

Page 236: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 236/310

MÁQUINASDETURINGYLENGUAJES 227

S =>b ... t>A\xq¡yb ... b

=>&... bqiwb ... b£

=> w

con lo que obtenemos que  xqjy => qyw. Puesto que q\\v corresponde a la configuración inicial de  M  cuando comienza el procesamiento de vv, un razonamientoinductivo sencillo probará que q\\v h  xqjy y, por lo tanto, w e L ( M). □

Uniendo los Teoremas 5.4.2 y 5.4.3, obtendremos el siguiente resultado:

Teo rem a 5.4.4. Un lenguaje L es recursivamente enumerable si y sólo si  L L (G) para alguna gramática G, no restringida.

Los lenguajes que se obtienen a partir de las gramáticas no restringidas sonexactamente los mismos que son aceptados por máquinas de Turing.

EjerciciosdelaSección5.4

5.4.1. ¿Qué lenguaje genera esta gramática?

5 —> Ba ¡a. Set  —> Bb

Sb —>e,  B>bS\BB\b

¿Es un lenguaje independiente del contexto? ¿Es regular?

5.4.2. Obtener una gramática no restringida para cada uno de estos lenguajes

(a) {a"b’'a"b"\n>Q}

(b) { a 'b ^ \i <j < k}

(c) {ww|vve {a, b}’’}

(d) {www\w e {«, b}*}

5.4.3. Algunos textos definen una gramática no restringida como aquella en la cual todas las producciones son de la forma a —>(3, donde a e (iVu £)’ N ( iV u I f y(3 igual que en nuestra definición. Es decir, a contiene al menos un no terminal.Esta fue la definición que dimos en la Sección 4.3, de manera informal. Probar 

 por qué las gramáticas de este tipo no tienen ni mayor ni menor potencia generativa que las que corresponden a nuestra definición. ( Indicación¿ ¿Cómo se podría transformar una gramática de este tipo en una del otro? ¿A qué afecta dicha

transformación?) *5.4.4. Hacer un esbozo del diseño de una máquiná de Turing que enumere L (G) para

una gramática no restringida G ( Indicación: Considérese una máquina de Turing que tenga al menos tres cintas. La cinta 1 es la cinta de salida sobre la cual

www.FreeLibros.com 

Page 237: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 237/310

228 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

se enumera L (G), la cinta 2 contiene la lista de las producciones de G y la cinta3 es la cinta de trabajo. Buscar una forma para que dicha máquina de Turing genere, en primer lugar, las cadenas que se derivan de G en un sólo paso, ordenadas de alguna manera sobre la cinta 3 y que luego las copie sobre la cinta 1; des

 pués genere las cadenas que sé derivan de G en dos pasos, y así sucesivamente).5.4.5. En las observaciones anteriores al Teorema 5.4.3 y en su demostración se plan

tean, implícitamente, dos requerimientos que deben cumplir las máquinas deTuring que se transforman en gramáticas no restringidas. Primero, la máquinade Turing debe ser no supresora. Es decir, no puede tener ninguna transición dela forma 8 (<j, a) ~{p,b,X) para cualquier a * b. Segundo, se supone que la máquina de Turing, cuando pare (al aceptar una cadena), lo hará con su cabeza delectura/escritura sobre el primer blanco seguido de la cadena que no sea de blancos, el cual estará a la izquierda de la cinta.

(a) Probar que si L es aceptado por una máquina de Turing M  arbitraria, entonces L será aceptada por una máquina de Turing M' no supresora.

(b) Construir una máquina de Turing no supresora que acepte el lenguaje{anbm|n, m > 0 }, y que pare sobre el primer blanco que vaya seguido de lacadena que queda sobre su cinta.

(c) Usar la técnica vista en esta sección para obtener la gramática no restringida asociada a este lenguaje.

(d) Obtener una derivación (usando la gramática de la parte c) y la secuenciade las DI de la máquina de Turing de la parte b que se obtienen al aceptar la cadena crba.

5.4.6. Probar que. si L¡ y Li son lenguajes recursivamente enumerables, entonces L\Lo y L) son lenguajes recursivamente enumerables.

5.5 LENGUAJESSENSIBLESALCONTEXTO

YLAJERARQUÍADECHOMSKYEntre las gramáticas no restringidas y la forma restringida de las gramáticas independientes del contexto, se pueden definir varias gramáticas con diferentes niveles de restricción. No todas producen una clase de lenguajes interesante, perounas que si lo hacen son las que forman el conjunto de gramáticas sensibles alcontexto. Las gramáticas sensibles al contexto producen una clase de lenguajesque está estrictamente situada entre los lenguajes independientes del contexto ylos lenguajes recursivos.

Definición 5.5.1. Una gramática G = (N, I , S, P) es una gramática sensible al contexto si todas las producciones son de la forma a —>[3, donde a , (3 e (N u E)+ yl a ! < | p | .

www FreeLibros com

Page 238: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 238/310

MÁQUINASDETURINGYLENGUAJES 229

S —» abe | a Abe 

 Ab —>bA  Ac —>Bbcc 

bB —> Bb  

aB —>aa\aaA

es una gramática sensible al contexto. Esta gramática genera el lenguaje{d lb'lcn|n > 1 }, con lo que tenemos un ejemplo de un lenguaje sensible al contexto que no es independiente del contexto.

Recordemos que toda gramática independiente del contexto se puede poner en forma normal de Chomsky, en la cual las producciones son de la formaA - > a o también  A => BC. Puesto que las producciones de esta forma satisfacenla definición de gramáticas sensibles al contexto, se deduce que toda gramáticaindependiente del contexto es también una gramática sensible al contexto. Por tanto podremos enunciar el siguiente lema:

Lem a 5.5.2. El conjunto de los lenguajes sensibles al contexto contiene el conjunto de

los lenguajes independientes del contexto.

La restricción de que el lado derecho de las producciones en una gramáticasensible al contexto sea al menos tan largo como el lado izquierdo hace que lagramática sea no contráctil. Puesto que la cadena vacía tiene longitud 0, podemos deducir de la definición que £ £  L (G), para cualquier gramática G sensibleal contexto. A veces es conveniente que la cadena pertenezca al lenguaje que hasido generado por una gramática sensible al contexto. Luego extenderemos

nuestra definición con el fin de permitir producciones de la forma S —» £ (siendoS el símbolo inicial), con tal de que S no aparezca en el lado derecho de cualquier producción.

Lema 5.5.3. Sea G (N, E, S, P ) una gramática sensible al contexto. Entonces, existe una gramática Gi = (A/j, £, Si,  Pi) sensible al contexto, para la cual L (G) L (G i) y Si nunca aparece en el lado derecho de una producción de  P\.

 Demostración. Sea  N\ = {Si} ü  N, donde Si es un símbolo nuevo. Sea  P\ el conjuntodefinido por Pi = P u {Si —» a | S —» a es una producción de G}. Obsérvese que P\ satisface la condición de que Si nunca aparete en el lado derecho de una producción. Es más, si S =4 w es una derivación en G, entonces alguna producciónS — cc es el primer paso de la misma (es decir, se tiene que S = > « ,—>w). Pero

Por ejemplo, la gramática dada por 

www FreeLibros com

Page 239: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 239/310

230 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

entonces —> a es una producción de  P\ y, por tanto, Si => a => w es una derivación de Gi. Así w e L (G) si y solo si w e L (<?i). □

Supongamos que G = ( N , Z, S, P ) es una gramática sensible al contexto y

que w e L (G). Si w = e, entonces se tiene que S —>e. Si w * e, entonces habráalguna derivación tal que 5 => ai => ... a„, = w. Puesto que una gramáticasensible al contexto es no contráctil, se debe cumplir que

Iai| < |oc2| <... < |am| = |w|

Si m > | vv | (es decir, la derivación se realiza en más pasos que símbolos tiene w), entonces existirá algún i , j y p para los cuales

|a,| = |a¿+i| = ••• = Icc¡ +j | = p

Es decir, durante j + 1 pasos de la derivación, la cadena que se está generando no crece en longitud. Ahora bien, puesto que  N y Z son conjuntos finitos, tendremos que |A^uZ| k  para algún k , y por tanto hay k 1’ cadenas posibles delongitud p. Si el número de pasos de la derivación donde la cadena parcialmentederivada tiene longitud  p es mayor que el número de cadenas posibles de dichalongitud (es decir, si y + 1 > k p), entonces al menos dos de los a,-, a, + 1 , ..., a j+j deben ser el mismo. Entonces, en este caso, podemos eliminar de la derivaciónal menos un paso. Es decir, si a , = a.s-, entonces

S  ai =>... => <xr => a¿ +1 ==>• • • => ocin= w

eliminando a, + i => ... => a.,, con lo que se obtiene una derivación más corta.

La idea es que si w es derivable en G entonces hay alguna derivación de w que “no es demasiado larga”. Lo que indica que hay un algoritmo para determinar si w e  L (G). Es decir, podemos obtener una máquina de Turing que para so bre toda entrada y que acepta  L (G).

Lem a 5.5.4. Sea G = (N, Z, S, P) una gramática sensible al contexto. Entonces existeuna máquina de Turing T, que para sobre toda entrada y acepta L (G).

Demostración. Vamos a describir una máquina de Turing,  M, no determinista con trescintas que acepta L (G). La cinta 1 es la cinta de entrada. La cinta 3 guarda la de

rivación de la cadena de entrada w, si existe tal derivación. La cadena 2 contienelas producciones de G, donde la producción u —» v se representa mediante ubv.

Una computación de M  con una cadena de entrada w consiste en las tres eta pas siguientes:

www.FreeLibros.com 

Page 240: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 240/310

MÁQUINASDETURINGYLENGUAJES 231

1. Se escribe la cadena Sb en la cinta 3.

2.  M  genera las producciones de G sobre la cinta 2.

3. Hasta que M  para, se repiten los pasos siguientes:

3a. Se elige una producción ubv de la cinta 2.

3b. Si bxb es la cadena que se encuentra más a la derecha en la cinta 2(la que se derivó más recientemente), se elige, si existe, un ejemplode una subcadena u de x. Si no hay una subcadena u de x, entonces

 M para.

3c. Se reemplaza por  v la subcadena u de la cadena bxb anterior y seescribe sobre la cinta 3 la cadena  x que se obtiene, seguida por 

bxb. (Por tanto, si bxb es la cadena bx\ux/ib, escribiríamos x ' = x¡vx2 sobre la cinta 3, y a continuación se pondría bxb.)

3d. Si x vv, entonces M  para en un estado de aceptación.

3e. Si x ' está en la cinta 3, pero en otro lugar, entonces  M para y rechaza vv.

3f. Si \x'\ > | w |, entonces M para en un estado que no es de aceptación.

Ya que sólo hay un número finito de cadenas de ( iV u I ) ‘ cuya longitud esmenor o igual que | vv|. toda derivación para, entra en un ciclo o deriva una cadena de longitud mayor que jvv|. Todas estas posibilidades se contemplan en(3b), (3d), (3e) o (3f). Por tanto  M  para sobre todas las cadenas. Como se vio enlas observaciones que preceden a este teorema, toda cadena de  L (G) se puedederivar mediante una derivación no cíclica. Si vv se deriva mediante tal derivación,  M simula la derivación y para. □

El Teorema 5.5.5 se obtiene a partir del Lema 5.5.4.

Teorema 5,5.5. Si  L es un lenguaje sensible al contexto, entonces  L es recursivo.

Consideremos el conjunto de todos los lenguajes sensibles al contexto conL = {a, b). Dado que todo conjunto de no terminales es finito, supongamos quelos renombramos, con lo que obtenemos  N c {A i, A2, ...} si G = (/V, Z, S, P) escualquiera de las gramáticas sensibles al contexto. Suponemos que  A\ es, siem

 pre, el símbolo inicial. Vamos a codificar todas las gramáticas sensibles al contexto sobre {a, b} como cadenas de 0 y 1 .Primero codificaremos los símbolos a y b como 00 y 001. Después codifica

remos cada no terminal  A; como 01'. Representaremos la flecha (—») de las producciones mediante 0011 y la coma (,) mediante 00111. Toda gramática sensible

Page 241: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 241/310

232 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

al contexto, se puede describir como una cadena de producciones separadas por comas (usando la flecha, — para separar los lados izquierdo y derecho de las

 producciones) y, por tanto, se puede codificar como una cadena de ceros y unos,formadas como hemos visto.

Obsérvese que cualquier gramática sensible al contexto puede ser descodificada fácilmente. Nótese, también, que no todas las cadenas de ceros y unos representan gramáticas sensibles al contexto, pero que dada una cadena, se puededecir fácilmente si representa a una gramática sensible al contexto sobre {a, b}.

Si generamos cadenas de ceros y unos en orden lexicográfico (alfabético), podemos comprobar si cada una de ellas representa a una gramática sensible alcontexto codificada. Por tanto, podemos encontrar la iésima gramática G¡ sensi ble al contexto codificada mediante la generación de cadenas en este orden hastaque se genera la í-ésima cadena que es una gramática sensible al contexto codificada. Luego podremos indexar las gramáticas sensibles al contexto sobre {a, b), de forma significativa, G\, G2, ...

Ahora, supongamos que enumeramos {a, b}* en orden alfabético, comow\, vt'2 , . .. Definimos  L {w¡\ w¡ <£ L(G¡)}. Podemos probar de forma bastantesencilla que  L es recursivo. Dado w e {a, b}*, determinamos i para el cualw = w¡. Entonces generamos G¡ y determinamos si w = w, e L (G¡) usando el algoritmo anterior (Lema 5.5.4). Componemos las máquinas de Turing apropiadas para obtener una máquina de Turing  M  que pare sobre todas las entradas con L = L(M).

Probaremos que ninguna gramática sensible al contexto genera L, realizando una sencilla diagonalización. Supongamos que  L L{G) para alguna gramática sensible al contexto G sobre {a, b). Entonces G G ¡ para algún i. Si w¡ e  L L (G¡), entonces mediante la definición de  L obtenemos quew¡ g  L (G¡), lo que es una contradicción. A la inversa, si w¡ <£ L = L (G¡), entonces, nuevamente por la definición de  L, w¡ e L. Lo que de nuevo es una contra

dicción. Por tanto concluimos que ninguna gramática sensible al contexto sobre{a, b }genera  L. De ello se deduce que  L es un lenguaje recursivo que no es sensible al contexto.

Luego tendremos el siguiente lema:

Lema 5.5.6. Hay lenguajes recursivos que no son lenguajes sensibles al contexto.

Obtendremos el siguiente teorema, a partir de los Lemas 5.5.2 y 5.5.6. y del

Teorema 5.5.5.

Teorem a 5.5.7. Los lenguajes sensibles al contexto contienen, propiamente, a los lenguajes independientes del contexto A su vez, los lenguajes recursivos contienen

 propiamente a los lenguajes sensibles al contexto.

Page 242: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 242/310

MÁQUINASDETURINGYLENGUAJES 233

]¡r MÍ59, íoam Chomsxy clasificó las gramáticas en cuatro familias. Lasgramít i as :io estrmgidas, sensibles al contexto, independientes del contexto yregulu : i que í conocen como gramáticas de tipo 0 , de tipo 1 , de tipo 2 y de

tipo  X  i; ; ::ect /ámente. Los lenguajes que resultan de dichas gramáticas tam bién se . íiTitif :an como ler guajes de tipo 0, 1 , 2 y 3. Como ya hemos visto,todo le i maje i (dependiente, del contexto que contiene la cadena vacía se generamedi ir :: usa j ramática independiente del contexto en la cual S —>e es !a única

 produc : á i E. zuaJmente, hemos demostrado que todo lenguaje sensible al contexto c : >ul ;ne (•: se deriva de una gramática “limpia” en la cual S —>e es laúnicí ] i j .lucci in £. Dejando a un lado los problemas que se derivan de la pala

 bra v i i, ■■■i rm s que todo lenguaje de tipo i es también de tipo i 1 , teniendo un

tipo de :. ::l,ü«i< n propia.ii i erax< ,iía de lengua jes se conoce como la jerarquía de Chomsky¿ La Fi

gura 5 .1 il'Jitrí las relaciones, que existen.

Regulares

Independientesdelcontexto

Lenguajessensiblesalcontexto

Lenguajesrecursivamenteenumerables

Figura 5.1

\ Im ás c : los tipos de lenguajes/gramáticas estudiados por Chomsky, tam bién h no: >2s lidiado los lenguajes/gramáticas recursivas que se encuentran entre 1 « ergua ;s recursivamente enumerables y los lenguajes sensibles al con-texte . i i Jeme ; defi nir otras familias de lenguajes y su lugar dentro de la jera rquía q i i l cr ic >presentado.

C : -\i \:rn s esta sección y capítulo con el teorema de la jerarquía, el cual

resu n : tú .1as tS relaciones entre lenguajes/gramáticas que hemos descrito.

%eorem a 5.: i. Sob e un alfabeto dado, el conjunto de los lenguajes recursivamente

enurif i -bles. <:>atiene propiamente al conjuntó de los lenguajes recursivos quecont ie; i pi op unence al conjunto de los lenguajes sensibles al contexto que contiena j ! ; r ¡:im nte al; conjunto de lenguajes independientes del contexto, que a su

Page 243: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 243/310

Page 244: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 244/310

MÁQUINASDETURINGYLENGUAJES 235

(d) Sea G la gramática dada por las producciones

S —» aSBC\aBC, bB  —>bb

CB BC, bC -> beaB —>ab, cC —» cc

1. Usar el algoritmo para probar que abac i L (G).

2. Usar el algoritmo para determinar si abaa y aabbcc son cadenas de L (G).

5.5.5. Dada una cadena de ceros y unos, proponer una técnica que determine si dicha

cadena representa a una gramática sensible al contexto sobre {a, b] codificadade la forma descrita en el Lema 5.5.6.

5.5.6. Codificar  A\ aAiA\\b  

 Aia —»o Ai |ab 

 I 7 A2 —>bb

mediante el método descrito en el Lema 5.5.6.

5.5.7. Sea G (N, Z, S, P) una gramática no restringida. Sea c un símbolo terminalque 110 pertenece a Z. Construir una gramática sensible al contexto G' basada enG, con G' = (AÍ,Zu {c}, S, P') para la cual w e L (G) si y sólo si vvc* e  L (G‘ ')

 para algún k > 0 .

5.5.8. Sea C un mecanismo de alguna clase. Supongamos que podemos enumerar C  mediante  M\. M i ... y que hay un algoritmo que, dado un mecanismo M de C yuna entrada w, determina si  M acepta ir. Probar que no todos los lenguajes recursivos sobre el alfabeto Z son aceptados por un mecanismo de C.

5.5.9. ¿El conjunto de los lenguajes sensibles al contexto es cenado con respecto a launión, la concatenación o la cerradura de estrella? ¿Por qué?

PROBLEMAS

5.1. Si  L\, Li son lenguajes recursivamente enumerables sobre Z, ¿Es VJT*i U  re~cursivamente enumerable? ¿Por qué?

5.2. Probar que el complemento de un lenguaje independiente del contexto es recursivo.

5.3. Si  L\ es recursivo y  L2 es recursivamente enumerable, probar que  L\  ¿2 esrecursivamente enumerable. ¿ ¿ 2 -  L\ es recursivo? ¿Es recursivamente enumerable?

5.4. Si  L\ y L2 son lenguajes recursivamente enumerables sobre Z, esbozar la construcción de unamáquina de Turing que acepte L\Li y L\ (Indicación: considerar

Page 245: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 245/310

236 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

5.5. Nuestro razonamiento de que los lenguajes generados por gramáticas no restringidas son recursivamente enumerables (Teorema 5.4.2) se basaba en la capacidad de poder obtener una máquina de Turing que enumerase las cadenas dellenguaje de forma ordenada. Se puede obtener un razonamiento alternativo me

diante la construcción de una máquina de Turing no determinista que acepte lascadenas del lenguaje.

Sea G una gramática no restringida. La máquina de Turing M que construyamos elegirá de forma no determinista una derivación de G y la simulará sobresu cinta. Entonces comparará la cadena derivada con la cadena de entrada y, sicoinciden, la aceptará. Si no coinciden, M simulará otra derivación, y así sucesivamente. Si la cadena de entrada está en L (G), entonces M simulará una derivación de la misma; en otro caso M nunca parará.

Para realizar la simulación, primero se escribe el símbolo inicial S sobre lacinta. Entonces M entra en un bucle, el cual puede que termine después de uncierto numero de pasos. Cada paso corresponde a una elección de una producción de G realizada de forma no determinista, que se tratará de aplicar, y de una

 posición en la cadena que está en la cinta, y a la cual se pretende aplicar la producción. Una vez que se selecciona la posición, M comprueba si dicha posicióncomienza con una secuencia de símbolos que se corresponden con el lado izquierdo de la producción seleccionada y, si es así, se reemplaza la secuencia por 

el lado derecho de la producción. Este bucle se repite hasta que  M elija, de forma no determinista, que quiere salir del mismo. Entonces será cuando se com pare la cadena generada con la cadena de entrada para comprobar si coinciden.

1. Obsérvese que el no determinismo está presente en tres momentos de la simulación que M realiza: en la elección de la producción a usar, en la elección de la posición inicial y al tomar la decisión de salirse del bucle. ¿Por qué es necesario que exista no determinismo cuando se decide la salida del

 bucle?

2. Describir la máquina de Turing M.

a. ¿Cómo se pueden representar las producciones de G de forma que se pueda elegir entre ellas de forma no determinista?

 b. ¿Qué cinta y qué alfabeto se necesitan incluir?

c. Describa la mayoría de los componentes de M.

3. Describir con cuidado todos los pasos necesarios para realizar una vueltadel bucle.

a. ¿En qué afecta el no determinismo a la elección de una producción?¿En la posición inicial? ¿En la salida del bucle?

b Có li d ió h l id

Page 246: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 246/310

Page 247: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 247/310

TEORÍADEAUTÓMATASYLENGUAJESFORMALES

 posición y que no será alterado durante la simulación de  M. El segundoelemento se usa en la simulación de M , como describiremos brevemente.

 N también contiene los símbolos 5 y A. S es el símbolo inicial de G y A se usa para generar cadenas de pares que representan la cadena de entra

da para M. Las producciones para S y A sonS —>(a, qi < a) A | (a, q¡ < a > ), para todo a e X (q¡ es el estado

inicial de M) A —» (a, a) A I{a, a> ), para todo a e Z 

Dichas producciones pueden generar cadenas de la forma

*7i ^i|) ( ¿2> 2

) •• • fah* '*>)Obsérvese cómo es la cadena formada por los segundos elementos

<71 < a/,íi¡2 ... a¡t >

la cual representa una configuración inicial de M sobre la cadena de entrada formada por los primeros elementos.

2. Proponer una forma para construir las producciones que simulan la computación de  M  sobre la cadena formada por los segundos elementos de unacadena de pares ordenados.  Indicaciones: Dichas producciones se formarían con los no terminales que pertenecen al conjunto anterior (*). Para ver un ejemplo, consideremos el funcionamiento de un ALA M (con un estadoinicial q\ y un estado de aceptación qn) que acepta el lenguaje formado por las cadenas de aes y bes en las que al menos hay una a y una b. M aceptaaba de esta forma:

q\ < aba > y < q\aba > t- < aqiba > (- < abq^a > 1- < abaq^ > 1- < abaq¿\ >

Si la cadena generada por G se corresponde con una cadena de  L (M), la simulación de M  llegará a un estado de aceptación y terminará, cuandodicha simulación se realice sobre la cadena formada por los segundos elementos. Será en este momento, cuando deseemos transformarla en una cadena formada por los primeros elementos que sea una cadena de símbolosterminales. Esto se realiza mediante las producciones de la forma

( (a, q < b) a, (a, bq>) -» a,

(a, < qb) -» a, (a, q<b) —>a, para todo q e  F 

(a, qb) -> a, (a, < qb) -> a, * y toda b e l .

(a, qb>) a, (a, < bq) —>a ‘

d l f

Page 248: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 248/310

MÁQUINASDETURINGYLENGUAJES 239

(2) (a, x) b —> ah,

b (a, x) -» ba, para toda b e Z y  (a, x) e N

3. ¿Por qué se necesita que las producciones de (1) dependan de q, pero las

de (2) no?

4. a. Obtener un A LA que acepte el lenguaje de los palíndromos sobre

{a,b}.

b. Usar la técnica anterior para transformar un A LA en una gramática

sensible al contexto.

Sea a —> P una producción no contráctil (es decir, Ia | < ! (31).

1. Construir una secuencia de producciones no contráctiles, de forma que el

lado derecho de cada una tenga una longitud menor o igual a 2 y que pro

duzca p a partir de a (es decir, a => (3por medio de dichas producciones).

2. Construir una secuencia de producciones de la forma uAv —> uwv (es decir,

a —> (3donde

a s { N K j Y f   N { N v j Y)* y p e (N u I)* £ + (N u Z)*)

lo cual produce los mismos resultados que AB —» CD.

3. Demostrar que todo lenguaje sensible al contexto se genera mediante una

gramática sensible al contexto en la cual cada producción es de la forma

uAv -—>¡ívi-'vpara ve e L+ y  ú, v e (IVu X)'.

www.FreeLibros.com 

Page 249: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 249/310www.FreeLibros.com 

Page 250: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 250/310

Page 251: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 251/310

Page 252: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 252/310

RESOLUBILIDAD 2 4 3

Se puede afirmar que  L no es un lenguaje recursivamente enumerable. Parademostrarlo, supongamos que  L es un recursivamente enumerable. Entonces  L debe ser aceptado por alguna máquina de Turing, llamada M*. Consideremos w*.

Obsérvese que, si w* e  L, entonces Wk no debe ser aceptada por  Mk, con lo queWk €  L ( Mk) = L, lo que es una contradicción. Por otro lado, si vv¿ <é L, entoncesya que L = L (Mk ), se obtiene que vv¿ £  L (Mk) y, por tanto, w* debe estar en L, loque es otra contradicción. De esto se deduce que no hay ninguna máquina de Turing que acepte L y que, por tanto, no puede ser recursivamente enumerable.

Ahora supongamos que el problema de parada tiene solución. Es decir, quehay una máquina de Turing que para sobre todas las cadenas de entrada y, queante una descripción de una máquina de Turing y una cadena de entrada (ambascodificadas), se puede determinar si  M   para sobre la cadena de entrada. Entonces, se puede construir una máquina de Turing  M i que acepte el lenguaje anterior. Sea w una cadena. Primero,  M l enumera w i, wi, ... hasta que encuentra el k  

 para el cual w = w*. Entonces  M   genera  Mk y   pasa el código correspondiente aWk y  Mk a la supuesta máquina de Turing, la cual determina si  Mk para sobre laentrada w*. Si se obtiene que  Mk no para sobre la entrada Wk, entonces  M l para yacepta wk = w (¿por qué?). Por otro lado, si se obtiene que  Mk para sobre la entrada Wk,  entonces se pasan los códigos correspondientes a Mk y Wk  a la máquinade Turing universal que simula  Mk sobre Wk En este caso, la máquina de Turing

universal parará, determinando si  Mk  acepta w*. Si  Mk  acepta Wk, entonces  M l   para y rechaza w^  Si Mk no acepta entonces M l para y acepta Wk.

Por tanto, w e L (M  l ) si y sólo si w e L y, entonces, se obtiene que L - L (M  l ). Esto, a su vez, contradice el hecho de que  L no es recursivamenteenumerable. Por tanto, no puede haber un algoritmo general que dé respuesta al

 problema de parada para una combinación arbitraria máquina de Turing-cadenade entrada. Luego podemos enunciar el siguiente teorema:

Teorema 6.1.1. El problema de parada para las máquinas de Turing es irresoluble.

Podemos usar la irresolubilidad del problema de parada para demostrar queotros problemas también son irresolubles. Una forma de hacerlo es demostrandoque, si un determinado problema se puede resolver, entonces el problema de parada también es resoluble.

Por ejemplo, el problema de la cinta en blanco consiste en el problema dedecidir si una máquina de Turing parará cuando comience con unaxinta en blanco. Para demostrar que el problema de la cinta en blanco es irresoluble, demostraremos que, si fuera resoluble, el problema de parada también lo sería. Entonces, consideremos que el problema de la cinta* en blanco es resoluble. Sean  M  una máquina de Turing y w cualquier cadena. Sea  M'  la máquina de Turing quecomienza con una cinta en blanco, luego escribe w sobre la cinta y se ejecuta

www FreeLibros com

Page 253: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 253/310

244 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

como si hubiera comenzado con la configuración q\\v (donde c¡\ es el estado inicial de  M). Obsérvese que M ' es una máquina de Turing que al principio tenía la

cinta en blanco. Si obtenemos un algoritmo que determine si una máquina deTuring arbitraria que comienza con una cinta en blanco para, podremos determinar si  M’ para. Pero  M '  para si y sólo si la máquina de Turing  M  original, paracon la cadena w como entrada. Por tanto podríamos obtener una solución para el problema de parada si existiera un algoritmo general para el problema de la cintaen blanco. Esto contradice el Teorema 6.1.1 y, por tanto, el problema de la cintaen blanco es también irresoluble.

La técnica que relaciona el problema de parada con el problema de la cinta

en blanco de forma que nos permite deducir a partir de la irresolubilidad del pro blema de parada la irresolubilidad del problema de la cinta vacía, se llama re-ducción. Se dice que el problema de parada se reduce al problema de la cinta vacía porque la resolubilidad del problema de la cinta vacía nos permite deducir que la resolubilidad del problema de parada (Un problema X se reduce al problema Y si, al obtener la solución de Y, se puede obtener la solución de X.)

EjerciciosdelaSección6.1

6.1.1. Demostrar que si el problema de parada se puede resolver, entonces todo lenguaje recursivamente enumerable es recursivo.

6.1.2. Sea M una máquina de Turing con un alfabeto de entrada Z. Sea w,„ una codificación de M sobre {0, 1}. Sea

 L = {w,„w | M  para sobre la cadena de entrada codificada como w }

Demostrar que  L es recursivamente enumerable. Demostrar que  L no es recursivo.

6.1.3. El  problema de la entrada en un estado para máquinas de Turing se puedeenunciar como sigue:

Para una máquina de Turing arbitraria M = (£>, Z, F. s, b, F, 8), el estado q y la cadena w e £*, ¿entrará  M en el estado q cuando comience con la cadenatv? Demostrar que este problema es irresoluble aplicando la reducción corres

 pondiente al problema de parada.

6.1.4. El problema de la vacuidad, “es L (M) = 0” para una máquina de Turing arbitraria, también es una problema irresoluble. Demostrar que este problema es irresoluble mediante la reducción del problema de la cinta en blanco al mismo»

6.1.5. Mediante reducciones apropiadas, demostrar que cada uno de los problemas sii t i l bl

Page 254: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 254/310

RESOLUBIIJDAD 245

(a) Para una máquina de Turing  M  con un alfabeto de entrada £, ¿es L (M) = £*?

(b) Para las máquinas de Tuung M\ y Mi arbitrarias ¿son L (M\) = L (AÍ2)?(c) Para una máquina de Turing  M  arbitraria con el alfabeto de cinta F y

a e  r , si M comienza con la cinta en blanco, ¿escribirá el símbolo a en lacinta alguna vez?

ELPROBLEMADECORRESPONDENCIADEPOST

Los problemas irresolubles que hemos visto hasta ahora atañen a las propiedades

de las máquinas de Turing. El hecho de que el problema de parada sea irresolu ble también tiene consecuencias en otra áreas. En muchos casos, es difícil obtener dichas consecuencias a partir del problema de parada. En esta sección vamosa obtener la irresolubilidad del problema de correspondencia de Post (al que nosreferiremos como PCP).

Un caso del PCP se llama  sistema de correspondencia de Post y está com puesto por tres elementos: un alfabeto X y dos conjuntos  A y 5, de cadenas deZ+, donde ambos tienen el mismo número de cadenas. Supongamos que

 A = {u\, U2 , U k ) y 5 = {vj, V2, v ¿ } . Una  solución para este caso (es decir,una solución para el problema de correspondencia de Post) es una secuencia deíndices /j, ¿2,..., in, para los cuales ... u¡n= v;,v,\... v¡„.

Por ejemplo, si E = {a, b}, A = {a, abaaa, ab) y B = {aaa,ab, /;}, la solución a este sistema de correspondencia de Post viene dada mediante í |= 2 .¡2 = ¿3 = 1, e ¿4 = 3 ya que U 2U\U\U?, = abaaaaaab V2V1V1V3 .

Conviene interpretar el sistema de correspondencia de Post como una colección de bloques de la forma

u¡v¡

Por tanto, el sistema de correspondencia visto anteriormente será

a abaaa ab

acia 5 ab>

b

i = 1 i =2 i = 3*

Una solución se corresponde con la forma en la que se colocan los bloquesuno al lado del otro, de manera que la cadena formada con las celdas superioresse corresponda con la cadena formada con las celdas inferiores. Por tanto, la solución anterior se representa

Page 255: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 255/310

246 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

abaaa a a ab

ab aaa aaa b

;,= 2 ¿2= 1 <3 = 1 (4= 3

Consideremos el sistema de correspondencia de Post dado por 

ab baa aba

aba aa baa

/'= I i =2 i = 3

Obsérvese que cualquiera de las soluciones debe empezar con i\ = 1, ya que

éste es el único bloque donde ambas cadenas empiezan por la misma letra. El siguiente bloque para esta solución debe comenzar con una a en la celda superior;de aquí que o bien ¡2 = 1 o ¡2 = 3. Pero h 1 no sirve ya que obtendríamos

ab ab

aba aba

¿i =1 í2= l

donde las cadenas superior e inferior no pueden ser iguales. Por tanto, ii debe ser 3, obteniéndose

ab aba

aba baa

¡i - 1 <2-3

De forma similar se puede demostrar que ¡3 debe ser 3, obteniéndose

ab aba aba

aba baa baa

 í'i = 1 (2= 3 /3= 3

Pero este razonamiento es infinito, ya que nunca podremos elegir un índiceque consiga que la cadena superior llegue a tener la misma longitud que la inferior. Luego este sistema de correspondencia de Post no tiene solución.

El problema de determinar si un sistema de correspondencia de Post arbitrario tiene solución es el problema de correspondencia de Post  (PCP).

En los ejemplos precedentes, fue posible obtener un razonamiento (o unaconstrucción especifica) que resolviera cada uno de los casos de PCP existentes.En general, pensamos que no hay ningún algoritmo que decida si un sistema decorrespondencia de Post tiene solución. Probaremos esto, demostrando que si

Page 256: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 256/310

Page 257: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 257/310

248 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

o, de forma equivalente,

$ah $ah $ ... $a lmi $ .. .$ % = $&!, $bh $ ... $biH $ ... $%

Si se ignoran los signos $, se obtiene

u\u  Í2 ... u¡r — V\V¡2 ... vir 

lo que es una solución de la muestra de PCPM anterior. Por tanto, si el PCP esresoluble, entonces el PCPM es resoluble. □

El Lema 6.2.1 nos da la capacidad de demostrar que un PCP es irresolublemediante la demostración de que el PCPM es irresoluble. Esto simplifica nuestro problema puesto que el PCPM es más estructurado. Demostraremos que si elPCPM fuera resoluble, entonces el problema de parada para máquinas de Turingtambién lo sería, y, por tanto, el PCPM no puede ser resoluble.

Supongamos que el PCPM es resoluble, es decir, que existe un algoritmogeneral que se puede usar para determinar si cualquier muestra del PCPM tienesolución. Entonces, nuestro objetivo es demostrar que hay un algoritmo que pue

de determinar si una máquina de Turing  M  arbitraria, parará cuando empiececon una cadena arbitraria w sobre su cinta.

Para realizarlo, observaremos que cualquier máquina de Turing puede convertirse en una máquina que sólo para en un estado de aceptación. Es fácil de hacer, puesto que si la máquina de Turing para en un estado que no es de aceptación, se le pueden añadir transiciones que provoquen que la máquina entre en un

 bucle infinito. Obsérvese que el lenguaje aceptado por la máquina de Turing

transformada es el mismo que el que acepta la máquina de Turing original. Luego vamos a suponer que cualquier máquina de Turing es de esta forma.

Ahora supongamos que M = (Q, E, T, s, b, F, 5) es una m áquina de Turing yw es una cadena sobre E. Vamos a demostrar cómo construir una muestra delPCPM para la que la capacidad de determinar si existe una solución, impliqueque  M  tenga la capacidad de parar sobre la entrada w [y, por tanto, determinar siw e L (M)].

Sea $ un símbolo que no pertenece a T. Construiremos las listas/I = {«i, «2,..., i(n} y B = {vi, V2, ..., V/,} del PCPM mediante cinco grupos. Parasimplificar, representaremos dichas listas como bloques.

El primer grupo estará formado por un único bloque

MI $

Page 258: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 258/310

RESOLUBILIDAD 249

en el que q\ es el estado inicial de  M.

El segundo grupo de bloques está formado por el bloque

$$y todos los bloques de la forma

a

0

donde a es un símbolo no blanco de T.

El tercer grupo se deriva de las transiciones de M. Si 5 (q , O) = (p, t,  R), añadimos el bloque

qo

Si 5 (q, O) = (p, x, L), incluimos el bloque de la forma

 py i

 para y e T ~ [b}. Si S (q, b) (p, t ,  R), añadimos el bloque

qS 

 xp$

 y si 5 (q, b) = [p, x, L), añadimos todos los bloques de la forma

 Y<?$PTC$

 para toda y e T - {&}.

El cuarto grupo se deriva del conjunto de estados de aceptación de  M. Paracada q e F y para todas o yx pertenecientes a T - {&}, añadimos los bloques

aqx a^$ $91. y

9$$

<79

q$ $q s

Page 259: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 259/310

250 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Ejemplo 6.2.1

Supongamos que M  tiene el estado inicial 17 1 y el estado de aceptación <73

con las transiciones dadas por la tabla

8 {q„ a) a = a <5= b G = b

q\ (qi, b, R) (<?2. a, L) (<?2, b, L)

q2 (93, a, L) (qu a, R) (<?2, a, R)

Sea w~ab.  La muestra del PCPM dada por la máquina de Turing y esta 

cadena estaría representada por los siguientes bloques:

Grupo 1:

Grupo 2:

Grupo 3:

$

i= 1

a b

a b

i=  1 i =3

qxcipara 8  (¿ 7

bq2i' = 5

aq\b bq\b

q^aa q2ba

i ~ 6 i = 7

a<7i$ bq\$

q2ab% q2bb$

í = 4

para 5 (qh b) = (q2, a, L)

para 8  (7/,, b) = (q2, b, L)

i = 9

aq2a bq2a

q^aa qiba

qib 

aq\ i =  12

para 8  (q2, a) = (4 3 , a, L)

¡'=10  í = 11

para 8  (<72, b) = [q\, a. R)

Page 260: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 260/310

RESOLUBILIDAD 251

<72$

«<72$

i = 13

para 8 {q2, b) = (q2, a, R)

aq¡a aqib bqiü bq^b

<73 <73 <73 <?3i =14  ¡=15  (=16 i =17

aq$> £><73$

<73$ <73$

/ = 18 ¿=19

$<?3« $q¡b

$<73 $<73

¿= 20 i = 2 1

f f3$$

i r 

i =22

Supongamos que tratamos de encontrar una solución para dicha muestra dePCPM. Debemos empezar con

Esto deja un “resto” de q\ab$ en los v,- que se debe ajustar a los u¡. Eligiendo M5W3M4, compensamos dicho resto e introducimos un nuevo resto de bqib%. 

Este resto puede ser cubierto mediante Ú3W12M4, lo que introduce un nuevo restobaq)%.  Si seguimos realizando composiciones y generando restos (realizando enalgún caso un retroceso cuando se realiza un mala elección entre todas las opciones disponibles), se obtiene la solución:

$ q\a b $ b q2b $ b aq¡$ bq2a b $q3b a b $<M b $<?3b $ 4 3 $$

bq2 b $ b aq\ s b q2ab% q,ba b $93 a b $43 b $93 $ $

 índice 1 5  3  4  3  12  4  3 8 11  3  21  2  3  20  3 - 2 1   4  22

•x

La cadena formada mediante esta solución es:

$¿71ab $bq2b$baq 1%bqiab Sc]}bab$qj ab Sq^bSqi$ $

www.FreeLibros.com 

Page 261: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 261/310

252 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Obsérvese ab e L (M), por lo que será aceptada mediante la computación

q\ab h bq2b (- baq\ H bq2ab Y q¡bab

Las configuraciones individuales de esta computación se separan mediantelos signos $ y en el orden en que aparecen en la cadena formada en la solucióndel PCPM.

Si repasamos la forma en la que se definieron las u¡ y las v¡ en la construcción de la muestra del PCPM para las máquinas de Turing M, nos vemos obligados a elegir el bloque

«1 $

VI $<?1W$

 para empezar una solución (si es que existe alguna). La parte q\w que apareceentre los $ de vi representa la configuración inicial de M como comienzo de lacomputación de w. Entonces, si vv empieza por 0 y si 6  (q 1 , 0 ) = {qu, x, R), construimos el par (u¡, v¡) como

q\Q

vqk 

de forma que, para compensar el resto que le falla a la cadena del cuadrado su perior, debemos construir la siguiente configuración de  M  en el cuadro inferior.Entonces el resto se rellena añadiendo los símbolos restantes que faltan de w enlas cadenas superior e inferior. Por tanto, añadiremos todos los pares de la forma

0 , $

0 /J

$

Cuando en los cuadrados superiores se consigue la cadena que hay en elcuadrado inferior de la primera caja, la cadena inferior debe crecer para representar la siguiente configuración de M. Extenderemos la cadena de la misma for

ma. En cada etapa, la cadena inferior va un paso por delante de la cadena superior, por tanto, cada vez que la cadena superior completa una configuración de

 M, la cadena inferior tiene que construir la siguiente configuración. Cada uno delos restos es necesario para incluir los pares (u¡, v¡) apropiados, de forma que lacadena superior concuerde con la inferior una vez que se llega a una configuración M que sea de aceptación.

Page 262: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 262/310

RESOLUBILIDAD 253

Primero obsérvese que, si la cadena de las u¡ es de la forma a$ y la cadenade las v,- es de la forma a$;t$, entonces podemos ampliar lasw,- a a$x$ y las v,- aa$JC$y$, donde  y representa la configuración de  M  un movimiento después. Además, la cadena de las v,- es la única cadena que se puede corresponder con la nueva cadena de las

Para probarlo, supongamos que la cadena de las u¡ es a$ mientras que la cadena de las v; es a$Oi(j2 ... OtqOk + i o* + m$ para algún m > 0. Además, su

 pongamos que 8 (q , (?* + 1) = (</, x, R). Las otras posibilidades son similares. Los bloques que nos permiten ampliar la cadena de las u¡ son

el bloque

g,

ca-

 para / = 1 , 2 , •••, k 

q<5k+ 1

 xp

 bloques de la forma

0 /

0 ;

 , para i ~ k  + 2 ,..., k + m

y finalmente el bloque

La cadena que se obtiene en las v¡ es

CX$CTi ... C):qOk + 1 ... Ok + ,„$01 .. . GkXpCk +2 ■■■0A + mS

Obsérvese que  y = Oí ... OkXpOk +2 ••• ®k +>n es exactamente la configuración de  M  que resulta de esta transición. Es más, puesto que en este proceso nohay ningún par (w, v) que se pueda elegir, no hay otra cadena de v¡ que se puedaobtener.

Recuérdese que hemos supuesto que una máquina de Turing  M  para sólocuando acepta una cadena de entrada.

Lema 6.2.2.  M  para sobre la entrada w si y sólo si hay una solución de la muestra derivada de PCPM.

♦ Dem ostración. Supongamos que  M  para sobre la entrada w. En ese caso hay una se

cuencia de configuraciones de  M  que comienza con q\\v y termina en un estado

www FreeLibros com

Page 263: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 263/310

254 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

de aceptación. Supongamos que dicha secuencia se representa mediante las cadenas  x \, X 2 , X k  para algún k. Según lo visto anteriormente, podemos construir una secuencia de u¡ de la forma $jc i $jc2 ••• $Xt- i$ y una secuencia de v,- de la forma $xi$x2 ... $Xk \$xi$. Ya que  M  para en la configuración  x ^  debemos tener 

que  X k y q z para algún estado q e F  y las cadenas  y y  z pertenecientes a P . Sial menos una de las dos cadenas no es una cadena vacía, podemos ampliar la cadena u¡ y la cadena v¡ por medio de uno de los pares (u, v) del cuarto grupo y posiblemente distintos de

a,- $Oi  $

lo que hace que la cadena de las u¡ sea como $jcj$X2$ ... $ X k   i$x*$ y la cadenade las V,- como $*i$X2$ ... $x*_ i$Xk$Xt.  donde  x ^   tiene al menos un símbolo menos que  x ^   Repetimos esto, reduciendo la cadena que se encuentra entre el último p ar de $ de la v¿ hasta obtener cadenas de la forma:

u¡:  $ x i $X2$ . . . $Xk$ . . . $

v,-: $X|$X2$ . . . S x k S x i s S . . . $q$

El último grupo de pares (w, v) contiene un bloque de la forma

q$$

$

el cual se puede añadir para obtener cadenas iguales. Por tanto, si  M  para sobrela entrada vv, podemos obtener una solución para la muestra derivada del PCPM.

A la inversa, supongamos que  M  no para sobre la entrada vv. Por lo anterior,las cadenas de las u¡ y las v, de la muestra derivada del PCPM representan confi

guraciones de  M  consecutivas. Ya que  M  nunca pasa a un estado de parada (todos los cuales son de aceptación), no se puede añadir ninguno de los pares(u¡, v;) pertenecientes al cuarto grupo. Por inducción se demuestra que el desarrollo de las cadenas u¡ y v¡ siempre tiene un número distinto de signos $ y, por tanto, esta muestra del PCPM no tiene solución. □

Entonces podemos deducir el siguiente teorema:

Teorema 6.2.3. El PCP no es resoluble.

 Dem ostración. Sea  M  una máquina de Turing arbitraria y vv una cadena arbitraria (su ponemos que  M  para sólo cuando acepta una cadena). Si el PCP es resoluble, en-

/

www.FreeLibros.com 

Page 264: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 264/310

RESOLUBILIDAD 2 5 5

tonces por el Lema 6.2.1 podemos determinar si tiene solución la muestra delPCPM derivada de  M. Por tanto, por el Lema 6.2.2 se puede determinar si  M  

 para sobre la entrada w. Ya que M  era una máquina de Turing arbitraria y w unacadena arbitraria, existe un algoritmo para resolver una muestra arbitraria del

 problema de parada, lo que contradice el Teorema 6.1.1. Por tanto el PCP no esresoluble. □

EjerciciosdelaSección6.2

6.2.1. El sistema de correspondencia de Post representado por 

aaa baa

aa abaaaí= 1 i = 2

tiene solución. Encontrarla.

6.2.2. ¿Tiene solución este sistema de correspondencia de Post?

ab bba aba

aba aa bab/'= 1 i = 2 i - 3

6.2.3. Para cada uno de los siguientes sistemas de correspondencia de Post, obtener 

una solución o demostrar que no existe.

a bb a

aa b bbi=  1 i =2 ( = 3

a aab abaa

aaa b abi = 1 ( = 2 ( = 3

(c)ab ba b ba

a bab aa ab

( = 1 i = 2 i = 3 i' = 4

Page 265: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 265/310

Page 266: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 266/310

RESOLUBILIDAD 2 5 7

 F 

FS=>

i= I

Para cada x e N u E, añadiremos el bloque

A"

 x

Sea E un símbolo que no pertenece a iV u L, y añadimos el bloque

=> wE  

 E 

Para cada producción a —>(5 de P, añadir un bloque

a

I j l

Finalmente, añadir el bloque

=>

i. Para la siguiente gramática no restringida y la cadena construir una muestra del PCPM:

S>aASB\aBb 

aA aa aB —» ab 

bB -> bb

ii. Obtener una derivación de a3/;3 mediante esta gramática.

iii. Obtener una solución para la muestra del PCPM que hemos construido.

(c) Esbozar una demostración de la siguiente sentencia: Si G es una gramáticano restringida y w e £+ es una cadena, la muestra del PCPM construidacomo en la parte (b) tiene solución si y sólo si vv e  L (G).

(d) Probar que si el PCPM es resoluble entonces el problema de los elementosde un lenguaje recursivamente enumerable es también resoluble (demostrando que el PCPM es irresoluble).

F Lib

Page 267: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 267/310

258 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

6.2.9. Demostrar que el PCP sigue siendo irresoluble incluso si los sistemas de corres pondencia de Post se restringen sobre alfabetos de dos símbolos.

6.2.10. Usar el PCP para demostrar que el problema de la vacuidad para las gramáticassensibles al contexto es irresoluble. [El problema de la vacuidad para gramáti

cas sensibles al contexto es, “Para una GSC arbitraria G, ¿L (G) = 0?”].  Indica-ción: Una consecuencia del Problema 5.6 es que, para cualquier autómata linealmente acotado M, podemos construir una gramática sensible al contextoque genere L (M ). Queremos demostrar que PCP es resoluble si el problema dela vacuidad para gramáticas sensibles al contexto es resoluble, para ello consideraremos un ALA que acepte sólo las cadenas  y para las cuales«/, ••• «4:=Vf | ... v¡=y.

IRRESOLUBILIDADYLENGUAJESINDEPENDIENTESDELCONTEXTO

En el Capítulo 3 mostramos algoritmos para algunos problemas de decisión paragramáticas y lenguajes independientes del contexto. En particular, obtuvimosuna solución para el problema de los elementos de lenguajes independientes delcontexto, para el problema de si una gramática independiente del contexto genera alguna cadena de terminales (el problema de la vacuidad), y para el problema

de si una gramática independiente del contexto genera o no, un lenguaje infinito.Además dedujimos que muchas de las preguntas que se pueden responder paralenguajes regulares se convierten en preguntas irresolubles para gramáticas inde

 pendientes del contexto. La irresolubilidad del PCP proporciona una herramientaútil para demostrar la irresolubilidad de algunos problemas.

 Nuestro primer planteamiento para demostrar que una pregunta acerca degramáticas o lenguajes independientes del contexto es irresoluble es demostrar que, si fuera decidible, entonces el PCP sería decidible. Para cada una de las pre

guntas demostraremos cómo se construye una gramática independiente del contexto a partir de un sistema de correspondencia de Post arbitrario, de forma que,si la pregunta acerca de las gramáticas fuera decidible, entonces una muestra ar bitraria del PCP sería también decidible.

Supongamos que 2,  A y B es una muestra del PCP, arbitraria, donde  A esu\ ,u 2 , . ..,u k  y B  es vi, V2, ..., v¿, listas de cadenas sobre £. Supongamos queC {ai, «2 ,..., ak} son símbolos que no pertenecen a E. Vamos a construir dosgramáticas independientes del contexto G a y Gb que se derivan de A, B y C.

Sea Ga = ({Sa}, £ u C, Sa, Pa) y  Gb = ({Sb}, C, Sb, Pb), donde Sa y Sb son símbolos nuevos. El conjunto de producciones  Pa contiene todas las producciones de la forma Sa —>u¡ Sa a¡ \ u¡ a¡ para *= 1 ,2 ,..., k. Igualmente,  Pg contienetodas las producciones de la forma Sb —» v¡ Sb a¡ | v¡ a¡ para i = 1 , 2 ,..., k.

www FreeLibros com

Page 268: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 268/310

RESOLUBIUDAD 2 5 9

Obsérvese que el lenguaje generado por  G a  se compone de todas las cadenas no vacías de la forma

u¡|u¡2 ... uin_xu¡na¡nain_x ... ai2a¡t  

De forma similar, Gb genera todas las cadenas no vacías de la forma

 v / .v jj .. . v¡n_xvinai a¡n_] .. . aha h 

Si la muestra anterior del PCP tiene una solución, donde

UhU¡2 ... Uin_lU¡n= VjjVjj ...

entonces se obtiene que la cadena

. . . u¡n_lu¡ndi„a¡n_l ... ahat[   e  L (Ga) n  L (Gb)

A la inversa, si para una cadena w se tiene que w e L (G a ) r i  L (G b ),  entonces vv debe ser de la forma

w = w'aina¡n_l . .. ai2ait 

 para un w' e L+ y   un sufijo a/i:a,ti_, ... a¡2aiv   Pero la única forma en que se puedegenerar este sufijo es generando el prefijo u¡tui2 ... u\n ,u¡n de Ga y el prefijov/,v¿2 ... v¡n_]v¡nde Gb; por tanto

w = u¡n_ |u¡naina ¡n_, ... üí 2üí¡

= v¡ivi2 .. . Vin_{Vinaina¡n_\ ... a¡2a¡]

 y  

entonces la cadenau¡tu¡2

.. . es una solución del ejemplo del PCP. De loque se deduce que dicha instancia del PCP tiene una solución si y sólo si L (G a ) o  L (G b ) * 0.

Teo rem a 6.3.1. El problema de la intersección vacía para las gramáticas inde pendientes del contexto es irresoluble.

Dem ostración. Supongamos que este problema es resoluble. Entonces hay un algoritmo para decidir si  L (Gi) n L (G2 ) = 0. Sean  A, B y Z una muestra del PCP. Por 

la construcción anterior, se derivan las dos gramáticas Ga y Gb Usaremos el algoritmo para decidir si  L (Ga) o  L (Gb) = 0. E*sta muestra del PCP tiene solución si y sólo si  L (Ga) o  L (Gb) * 0. Por tanto, podemos determinar si unamuestra arbitraria del PCP es resoluble, lo que contradice el Teorema 6.2.3. □

www.FreeLibros.com 

Page 269: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 269/310

260 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Recuérdese que una gramática independiente del contexto es ambigua sihay dos derivaciones por la izquierda que son distintas para la misma cadena. Lagramática independiente del contexto

S^>aSB\SS \e B > b

es ambigua, ya que hay dos derivaciones por la izquierda de a2b2.

Por desgracia, en general no es posible determinar si una gramática inde pendiente del contexto es ambigua. Es decir, la cuestión de la ambigüedad de  gramáticas independientes del contexto, “¿es G una gram ática independiente delcontexto ambigua?”, es irresoluble. Para probarlo, vamos a suponer que la pre

gunta es resoluble; es decir, que hay un algoritmo que decide sobre ella, parauna gramática independiente del contexto. Demostraremos que el PCP deberíaser resoluble.

Una vez más, sean Z ,A y 8 una muestra arbitraria del PCP y construyamos,como antes, las gramáticas G a y G b■Definimos una nueva gramática G basadaen G a y G b. Sea G ({5, S  a , S  b }, X, S, P), en la cual el conjunto de producciones  P  viene dado mediante  P  a u  P  b u {5 —>S  a , S   —>S  b }. Obsérvese que G genera  L (G a ) u  L (G b ). Es más, debido a la estructura de las producciones de G,\ y G b , todas las derivaciones de G son derivaciones por la izquierda.

Se ve fácilmente que las gramáticas G a y G b no son ambiguas. Por ejemplo,en  L (G a ) cualquier cadena que termina con a¡ se debe derivar a partir de la producción S  a —> UiSAa¡. Igualmente podríamos decir qué producciones se aplicaronen etapas posteriores. Entonces se deduce que si G es una gramática independientedel contexto ambigua, entonces lo es porque hay una cadena vv para la cual

S => 5/i => w = ... u¡na¡n ... ai2a¡¡

 y también

S => Sb =¿> w = v/,v/2 ... v¡na¡n .. . aÍ 2aix

Es decir, w e  L (G a ) o  L (G b ). Pero  L (G a )   L (G b ) &0 es equivalente atener una solución de esta muestra del PCP.

Por tanto, si hay un algoritmo para determinar si una gramática inde pendiente del contexto es ambigua, entonces podemos determinar si existe unasolución para una muestra arbitraria del PCP. Esto es una contradicción y por tanto podem os enunciar el siguiente teorema: ‘

*Teorem a 6.3.2. El problema de la ambigüedad para gramáticas independientes del

contexto es irresoluble.

www.FreeLibros.com 

Page 270: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 270/310

RESOLUBILIDAD 2 6 1

Aunque el PCP es útil para demostrar la irresolubilidad de muchos problemas sobre lenguajes y gramáticas de contexto libre, también hay otros métodos.Este método implica el problema de la vacuidad para máquinas de Turing (véase

Sección 6.2). Supongamos que  M = (Q, £, T, s = q\, b, F , 8 ) es una máquina deTuring y supongamos que q \ w \ x \ ( - . . . \ xn es una computación de  M  [conw e L (A/)]. Entonces la cadena q\w$x\ $X 2$X§ $ ... se llamará computación vá-lida (en la misma se supone que $ es un símbolo que no pertenece a F). Obsérvese que cada configuración x¡ es una cadena de F* QV'  y que no empieza ni termina con b. Necesariamente xn también es una cadena de T* FT*.

Obsérvese que toda computación válida de  M  se puede considerar como unacadena sobre F u Q u {$}. Definimos el conjunto de las computaciones no váli-

das de  M  como el complemento del conjunto de las computaciones válidas conrespecto a T u Q u {$}.

Es lógico preguntarse cómo sería una cadena que consta de una computación no válida. Si la cadena w es una computación no válida, entonces w satisface una de las siguientes condiciones:

1 . w no es de la forma )’()$>’] $>’2$ ••• $»$, donde  y¡ es una configuración

de M si i es par o sino y f  es una configuración de  M si i es impar.2 .  yo no es de la forma q\x para algún x e I*.

3.   yk  no es una configuración de aceptación de  M\  es decir, y* £ r *  FF*.

4. No se cumple que y¡ t- yf+ i para algún i par.

5. No se cumple que y f  r- y, + | para algún i impar.

El conjunto de las cadenas que satisfacen la condición 1 forma un lenguajeregular, al igual que los conjuntos que satisfacen las condiciones 2 y 3. Por tanto, las cadenas que satisfacen las condiciones 1 ó 2 ó 3 constituyen un lenguajeregular (Teorema 2.8.1). Por consiguiente, se puede construir un autómata finito

 para este lenguaje y entonces obtener una gramática regular (y, por lo tanto, independiente del contexto).

Los conjuntos de cadenas que satisfacen las condiciones 4 y 5 son lenguajes

independientes del contexto. Para probarlo, construiremos un autómata de pilano determinista  M’ que acepte el lenguaje de la condición 4.  M’ selecciona deforma no determinista una i   para la cual y¡ va precedido por un número par designos $. Entonces analiza  y¡ y, cuando lo hace, introduce x en lá pila, dondey,-1- a; está en M. Una vez-que M '  encuentra el $ del final derecho de y¡, comparay ¡+ 1 con el contenido de la pila, estrayendo los símbolos que coinciden. Obsér

Page 271: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 271/310

2 6 2 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

sería sencillo hacer que la pila también se vaciara cuando se hace una aceptación. La construcción para el lenguaje que cumple la condición 5 es similar.

Por tanto, el conjunto de las computaciones no válidas es la unión de doslenguajes independientes del contexto y un lenguaje regular, y además es un lenguaje independiente del contexto. (Teorema 3.6.3). Es más, podemos construir 

una gramática independiente del contexto para este conjunto a partir de los dosADPND y la gramática regular.

Entonces, hemos demostrado lo siguiente:

Lem a 6.3.3. El conjunto de las computaciones no válidas de la máquina de Turing  M  es un lenguaje independiente del contexto.

Entonces se puede demostrar el Teorema 6.3.4.

Teorem a 6.3.4. Para una gramática independiente del contexto arbitraria, la pregunta¿L (G) = Z*? es irresoluble.

 Demostración. Supongamos que este problema es resoluble. Demostraremos que el problema de la vacuidad para máquinas de Turing es resoluble, con lo que secontradice el Ejercicio 6.1.4.

Sea M = (Q , Z, r , q\, b, F, 5) una máquina de Turing arbitraria. Por el Lema3.3, podemos construir una gramática independiente del contexto G que generetodas las computaciones no válidas de  M. Obsérvese que  L (M) = 0 si y sólo si

 L (G) = Z*. Por tanto, si esta pregunta fuera decidible. entonces la pregunta de lavacuidad también lo sería. □

A partir del Teorema 6.3.4 se deducen varios resultados. Por ejemplo, si G\ es una gramática independiente del contexto y G2 es una gramática que generaZ* (donde Z es el alfabeto de terminales de Gi), entonces la pregunta“¿L (Gi) =  L (G2)?” es equivalente a la del teorema. Por tanto, no se puede decidir si  L (Gi) = L (G2) para dos gramáticas Gi y G2 arbitrarias, independientes delcontexto.

Si  R es un lenguaje regular arbitrario y G\ es una gramática independientedel contexto, la sentencia “¿Es  L (Gi) = R T  no es resoluble. Para demostrarlo,consideramos  R = ~L*, donde Z es el alfabeto de los terminales de Gi. Una vezmás se puede observar que “¿Es  L (G¡) = R T  es equivalente a la sentencia delTeorema 6.3.4.

EjerciciosdelaSección6.3♦

6.3.1. ¿Es decidible el siguiente problema? Sea G¡ una gramática regular arbitraria yG2 una gramática independiente del contexto arbitraria. ¿L (G|) n  L (Gi) = 0?

www.FreeLibros.com 

Page 272: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 272/310

RESOLUBILIDAD 2 6 3

6.3.2. Los lenguajes  L (G a ) y L (GB) tienen una propiedad interesante. Si  L (G a) r> L (G b) es regular, entonces es vacía. Demostrar esta propiedad. Para ello utiliceel hecho de que para una gramática independiente del contexto G, el problema“¿L (G) es regular?” es irresoluble.

6.3.3. Supóngase que no hay ninguna computación válida de M. ¿En qué afecta esto a L(M)7 

6.3.4. Construir expresiones regulares para cada uno de los lenguajes de las condiciones 1, 2 y 3, vistos antes del Lema 6.3.3.

6.3.5. Demostrar que L (G\) c  L (G?_) es un problema irresoluble para las gramáticasindependientes del contexto G\ y Gz

6.3.6. Demostrar que es irresoluble que R c  L (G) para un lenguaje regular  R arbitrario y una gramática independiente del contexto G.

6.3.7. Para una gramática G, independiente del contexto, arbitraria y para un lenguaje R regular arbitrario, la pregunta “¿Está L (G) c  RT’ ¿es una pregunta decidible?[Indicación: L (G) ciR si y sólo si  L (G) n  R = 0 ¿Qué sabemos sobre el lenguaje  L (G) n  Rí  ¿Qué sabemos sobre la resolubilidad del problema de la vacuidad para L{G) n R l 

PROBLEMAS

6.1. En este problema vamos a usar una técnica distinta para llegar a la conclusióndel Teorema 6.3.1, es decir, el problema de la intersección vacía para las gramáticas independientes del contexto es irresoluble.

Sea M —(Q, X , r , í = q\, b, F, 8) una máquina de Turing para la cual el sím bolo $ í F. Recuérdese que una manera de representar configuraciones de una

máquina de Turing consiste en hacerlo mediante las cadenas de la formaOia2 ... OkqOk + 1 ... o,„ donde los a¡ e T y q e Q. Es decir, una configuraciónes una cadena sobre F* QT*. Sean

 A z e T <2F e  y l- z está en  M}

 B { $z | jy, z e T* QT* e yl-z está en  M }

1. Demostrar que A y B son lenguajes independientes del contexto, f  Indica-

ción: Esbozar un ADPND que acepte A (o B) y aplicar el Teorema 3.8.2.]2. Demostrar que los lenguajes L \y Li son lenguajes independientes del con

texto, donde

Li = (A$)‘ ( £ u r ’ F r $ )

L2 = q{L* $ (5$)* ( e u r ' F T* $)♦

Page 273: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 273/310

264 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

4. Supóngase que el problema de la intersección vacía para gramáticas inde pendientes del contexto fuera resoluble. Construir un algoritmo que res ponda al problema ¿Es vacío L ( M) para una máquina de Turing M arbitra

ria? Deducir que el problema de la intersección vacía para lenguajes inde pendientes del contexto no es resoluble.

6.2. 1. Sea M una máquina de Turing que, para cada cadena de entrada, realiza almenos tres movimientos. (Obsérvese que cualquier máquina de Turing

 puede transformarse en una de este tipo). Demostrar que el conjunto de lascomputaciones válidas de M es un lenguaje independiente del contexto si ysólo si L ( M) es finito. [Indicación: Sí L ( M) es finito, entonces el conjuntode las computaciones válidas también es finito, con lo que quedaría proba

do. Por otro lado, si  L (M) es infinito y las computaciones válidas formanun lenguaje independiente del contexto, entonces hay una computación válida de la forma W|i>W2$W3$ ... con | w2\ de un tamaño para el que se pueda aplicar el lema de Ogden (véase Problemas 3.1 y 3.2).]

2. Demostrar que para una gramática G arbitraria, independiente del contexto, el hecho de saber si L (G) es un lenguaje independiente de contexto, esirresoluble.

3. Demostrar que es irresoluble saber si L(G¡) n  L(G 2) es un lenguaje in

dependiente del contexto, para las gramáticas independientes del contextoGi y G2.

www.FreeLibros.com 

Page 274: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 274/310

7

Introducción a la complejidad computacional

En la Sección 4.4 demostramos que las distintas definiciones de una máquina deTuring no incrementaban la potencia computacional del modelo básico. Hicimosesto para demostrar que una máquina de Turing de un tipo puede simular una

máquina de Turing de otro tipo.Cuando se simulan las acciones de una máquina de Turing de un tipo más

complejo mediante una que corresponde a nuestra definición básica, es habitualque se consuma la mayoría del espacio y del tiempo. El modelo de máquina deTuring que se use no afecta a la potencia computacional o a la capacidad paradecidir un problema. Sin embargo, los requerimientos de espacio y tiempo parauna computación se ven claramente afectados por el modelo elegido. La comple

 jidad de una computación mide los requerimientos de la misma en cuanto a es pacio y tiempo. En este capítulo haremos una breve introducción de la teoría de la complejidad computacional con respecto a los autómatas y lenguajes.

7.1 COMPLEJIDADESPACIAL o

La complejidad de una computación se mide por la cantidad de espacio y tiempoque consume. Las computaciones eficientes tienen unas exigencias de recursos pequeñas (considerando “pequeñas” de una manera relativa). Los recursos quenecesita una computación que acepta cadenas de algún lenguaje, puede depender 

www.FreeLibros.com 

Page 275: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 275/310

266 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

del tamaño (longitud) de la cadena de entrada. Empezaremos por considerar losrecursos espaciales.

Definición 7.1.1. Sea  M  una máquina de Turing con k  cintas. Supongamos que, sobre

cualquier entrada de longitud n, la cabeza de lectura/escritura de  M  consulta almenos S (ri) celdas de cualquiera de las cintas, donde S: N —» N es una función.Entonces se dice que  M  tiene una complejidad espacial S (ri) o que es una máquina de Turing espacialmente acotada por S (ri). También se dice que  L (M) esun lenguaje con complejidad espacial S (ri).

Ejemplo 7.1.1

Consideremos el lenguaje

 L= [xyzy!\x,y<= X\ j e  I /}

Una máquina de Turing no determinista con dos cintas, que acepta el lenguaje  L tiene la entrada >vsobre la cinta 1. Cuando recorre w, averigua (de forma no determinista) dónde empieza y, lo copia en la cinta 2. Continúa el recorrido después de copiar  y, ignorando z,, y entonces debe averiguar (de forma no determinista) donde empieza yR. Mientras recorre yR, compara los símbolos de la

cinta 1 con los de la cinta 2. Suponiendo que la máquina de Turing comienzacon la cabeza de la cinta 1 situada sobre el primer símbolo de la entrada, obsérvese que se recorre w en su totalidad, al igual que los b que siguen a u\ Es más,en la cinta 2 se analizan tanto y como los blancos anteriores y  posteriores. Por tanto, una cota espacial para esta máquina de Turing es

S (») = max [n + l ,n + 2 ] n + 2

Obsérvese que, cualquier S': N —>N para la cual 5 (ri) < S'  (n) también es

una cota espacial.

Ya que una máquina de Turing recorre al menos una celda de cada cinta, lacota espacial debe ser al menos 1. Para tratar la complejidad espacial, a vecesconviene suponer una máquina de Turing que tenga una única cinta de lectura yuna o más cintas de trabajo. Vamos a modificar la definición de complejidad es pacial para que signifique que las cabezas de lectura/escritura de las cintas detrabajo recorran com o máximo S (ri) celdas. Debido a esto, no contamos las celdas recorridas sino que simplemente analizamos la cadena de entrada. Por lo

tanto en algunas circunstancias puede darse el hecho de que la complejidad es pacial sea menor que la lineal. *

Recuérdese que en la Sección 4.4 simulamos una máquina de Turing de k  cintas mediante una máquina de Turing de una cinta con 2 k+ 1 pistas. Luego

www.FreeLibros.com 

Page 276: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 276/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 2 6 7

 podemos usar la misma simulación para nuestra máquina de Turing con k cintasde trabajo y una cinta de entrada. Es más, si S  (n) es una cota espacial para lamáquina de Turing con k  cintas, la simulación no usará más de S (n) celdas delas 2k + 1 pistas de sus cintas de trabajo, ya que S (n) también es una cota espa

cial para la simulación. Por tanto tenemos el siguiente teorema:

Teorem a 7.1.2. Si una máquina de Turing con k cintas de trabajo y cuya cota espaciales S (n) acepta el lenguaje  L, entonces una máquina de Turing con una cinta detrabajo y cota espacial S  (n) también lo acepta.

El Teorema 7.1.2 dice que el número de cintas de trabajo usadas al aceptar un lenguaje, no afecta a la complejidad espacial de  L. De hecho, podemos com

 primir mediante un factor constante la cantidad de espacio de cinta que se usa alaceptar un lenguaje, codificando distintos símbolos de la cinta en uno. Por ejem plo, si el alfabeto de la cinta está formado por a, b y b, podríamos considerar unacodificación de pares de símbolos. Esto podría aumentar el tamaño del alfabetode cinta, pero también reduciría el espacio de cinta a la mitad.

Te orem a 7.1.3. Sea L un lenguaje aceptado por una máquina de Turing  M  con k cintasde trabajo, cuya cota espacial es S (n). Para todo c > 0, hay una máquina de Tu

ring espacialmente acotada por cS (n) que acepta L.

 Demostración, (esbozo) Sea r  un entero que satisface que re > 1. Codificaremos elalfabeto de la cinta de  M  como bloques de r símbolos. Usaremos las transiciones de  M  para definir las nuevas transiciones basadas en los bloques de r  sím

 bolos. □

Como resultado del Teorema 7.1.3, podemos comparar el comportamientoasintótico de las cotas espaciales cuando comparemos los requerimientos espaciales de las máquinas de Turing. Por tanto, la máquina de Turing  M\ con cotaespacial S i (n ) n 2 + 2n + l   y la máquina de Turing  M i con cota espacial52 («) = 3n2 1, tienen ambas la misma complejidad espacial S (n) ir. Por otrolado, una complejidad espacial de n3 es menor que las complejidades espacialesn4o 2 ”.

Recuerde que una DI de una máquina de Turing tiene en cuenta tanto el estado actual como el contenido actual de la cinta. Así, una cota espacial para unamáquina de Turing proporciona una cota sobre el tamaño de una DI. Si unimosla información que aporta una cota espacial con lo que sabemos acerca del tamaño de los conjuntos de estados y de símbolos de cinta, obtendremos una cota

 para el número de movimientos que se realizan en una secuencia de aceptación.Por ejemplo, una máquina de Turing con k cintas de trabajo con un conjunto deestados Q, un alfabeto de cinta V y una cota espacial S (n) tiene n + 2 posiciones

www.FreeLibros.com 

Page 277: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 277/310

268 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

 para su cabeza de entrada, S (n) posiciones para las cabezas de lectura/escriturade cada una de las k  cintas de trabajo, I contenidos posibles para cada unade las cintas de trabajo, y | Q\ elecciones a realizar para obtener el estado actual.Por tanto, hay un máximo de |(7| (n + 2) | r | fcS (S  (n))* posibles DI. Enton

ces, si M acepta su entrada en más de \Q\ (n + 2 ) IFI (S (n))k movimientos,entonces hay alguna' DI repetida. Esta computación de aceptación contiene un

 bucle que puede ser omitido. De lo que se deduce que, si  M  acepta una entradade longitud n, lo hará en | Q\ (n + 2) IFl*5^ (S (n))k movimientos como máximo. Obsérvese que si S (n) > log n entonces se puede encontrar una constante c 

 para la cual \Q\ (n + 2) IF Ik S (S (n))k < cs (véase Ejercicio 7.1.2). Tendremos el siguiente lema:

Lem a 7.1.4. Sea  M  una máquina de Turing Je k cintas con complejidad espacial S (n), donde S (n) > log n. Entonces existe una contante c para la cual, si w es una entrada cualquiera con longitud | w| = n, de modo que:

1.  M  tiene como máximo c5 ^ descripciones instantáneas.

2. Si  M acepta vi-, entonces lo hace en c‘s movimientos como máximo.

Para eliminar los bucles (es decir, la secuencia de DI repetidas) de una com

 putación de aceptación de M, tenemos el siguiente corolario:

Coro lario 7.1.5. Sea  M  una máquina de Turing de k  cintas con complejidad espacial5 (n), donde S (n) > log n. Entonces existe una constante c para la cual, si  M  acepta la entrada w, entonces existe una computación a i i- <X2 i- ... i- cx,„ dondelos o.¡ son distintos y m < ci{n).

En la Sección 4.4 se demostró que las máquinas de Turing deterministas yno deterministas son iguales en cuanto a capacidad de aceptación. La simulación

de una máquina de Turing no determinista mediante una determinista realizaráuna búsqueda exhaustiva de todas las secuencias finitas de movimientos hastaobtener una computación de aceptación (si existe). De hecho, vamos a ver que es

 posible que bajo ciertas circunstancias, se pueda construir una máquina de Turing determinista que acepte el mismo lenguaje que una no determinista y cuyacomplejidad espacial sea el cuadrado de la complejidad de la no determinista.

Primero, observemos que, si  M  es una máquina de Turing de k cintas no determinista, podemos construir una máquina de Turing determinista  M\ de forma

que. dadas dos DI de  M, I\ e compruebe si I\ t- h. M\ intentará obtener sistemáticamente, una transición de  M  que produzca h a partir de  I\. Si encuéntrauna, la acepta o devuelve “verdad”. Si no encuentra ninguna, la rechaza o devuelve “falso”.

www.FreeLibros.com 

Page 278: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 278/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 2 6 9

Supongamos que 1\ e h son DI de  M  y m > 0. Definimos el predicado PRODUCE (/], h , m) que devuelve la respuesta a la pregunta ¿I\ lo para algúnt < m l  

Obsérvese que PRODUCE (/i, h , ni) se comporta como sigue:

1. Si m = 0 e I\ Ij, devuelve “verdadero”.

2. Si m = 1 e I\ i- h , devuelve “verdadero”.

3. Si m > 1 y PRODUCE (/], /', [ f]) y PRODUCE (/', I2, |_fJ) devuelven“verdadero”, entonces devuelve “verdadero”.

4. En otro caso, devuelve “falso” .

Añadiendo una cinta de trabajo que funcione como una pila para la máquinade Turing determinista  M i, podemos calcular el predicado PRODUCE (/i, h , m). En cada llamada recursiva,  M\ introduce  I\ , h e T  en la pila. Todos tienen una longitud máxima de S (n). En este caso, para determinar si  M  acepta la entrada w, podemos evaluar PRODUCE (/),  I/, ni), donde /i es una DIinicial de  M, //-es una DI de aceptación y m ~ c s (n\ [Obsérvese que m puede ser codificado en modo binario usando como máximo S (n) log c bits o celdas. Luego, en cada apilamiento se podrían introducir (3 + log c) S (n) símbolos en la

 pila.] Ya que el parámetro m es dividido por dos en cada llamada recursiva, sehacen como máximo 1 + [log cs *w)1 = 1 + f S (n) log c] llamadas. Por tanto, la pila necesita un espacio igual a (1 + [S (n) log <?]) (3 + 5 (n) log c). Es decir,  M\ tiene una cota espacial ci (S (n))2, donde S (n) es la cota espacial de  M  y c\ esuna constante. Ya que M i es determinista, podemos usar una máquina de Turingdeterminista con complejidad espacial o (5 (n) )2 que acepta el mismo lenguajeque la máquina de Turing no determinista  M, y la cual usa un espacio de 5 (n) 

 para aceptar una cadena.

Obsérvese que lo anterior depende totalmente del valor de S (n). Para la entrada w de longitud |vv| = n, si sabemos el valor de S (n), podemos calcular m = cs (li>y determinar las DI  I \ , h t í  con una longitud apropiada, para determinar si  M  puede aceptar w de forma determinista en un espacio c\ (S (n))2. Si nosabemos el valor de S (n), no podemos determinar la longitud máxima de una DIo la longitud máxima de una computación de aceptación.

Definición 7.1.6. Se dice que una función S  (n) es totalmente construible* en espacio si

hay una máquina de Turing  Ms que tiene una cota espacial 5 (n) y, para toda entrada de longitud n, Ms usa exactamente las S (n) celdas de su cinta de trabajo.

* NOT A: A p esar de que este término no se encuentra en la úl tima edición del DR AE, lo acuñamos debido a

que es el adjet ivo que m ejor expresa el hecho de q ue una función se const ruye.

F Lib

Page 279: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 279/310

270 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Obsérvese que si S (n) es totalmente construible en espacio entonces, dadauna entrada w de longitud |w| =n, podemos usar Ms para distinguir las S (n)celdas de la cinta de trabajo. La máquina de Turing Mi precedente, puede usar dichas S (n) celdas para generar la DI y calcular m = cs<'n\ Nótese que  Ms es necesariamente una máquina de Turing determinista y, por tanto, la máquina deTuring compuesta  M , construida a partir de Mi y  Ms también es determinista.Finalmente, obsérvese que por el Teorema 7.1.2,  M '  tiene una cota espacial de(S (n))2. Luego hemos demostrado el siguiente teorema:

Teorema 7.1.7. (Teorema de Savitch) Si S (n) es totalmente construible en espacio yM es una máquina con Turing no determinista de complejidad espacial S (n), entonces hay una máquina de Turing M' determinista, con complejidad espacial(S (n ))2 para la cual  L (M) = L (M').

Los lenguajes acotados espacialmente forman una jerarquía en función delespacio requerido para que sean aceptados.

Definición 7.1.8. La familia de los lenguajes aceptados por máquinas de Turing deterministas con complejidad espacial S (n) es ESPACIOD (S  (n)). La familia de loslenguajes aceptados por máquinas de Turing no deterministas con complejidadespacial S  (n ) es ESPACION (S («)). Estas clases se conocen como clases de complejidad espacial.

Resumiremos en el Teorema 7.1.9, las relaciones que, según hemos visto,existen entre estas clases de complejidad.

Teorema 7.1.9. Sean Si, 5 2 y 5 funciones de N en N . Supongamos que Si (n) < S2 («) para todo n, y que c > 0. Entonces

1. ESPACIOD (Si (n)) c ESPACIOD (S2 («)).

2. ESPACIO N (S, (n)) c ESPACION (S2 («)).

3. ESPA CIOD (S (n)) c ESPACION (S (n)).

. 4. ESPACIOD (S (n)) = ESPACIOD (c S («)).

5. ESPACION (S («)) c ESPACIOD ((S (n))2).*

La inclusión de la parte (1) del Teorema 7.1.9 es propia bajo determinadascircunstancias. Vamos a ofrecer el siguiente teorema, el cual no demostraremos:

www.FreeLibros.com 

Page 280: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 280/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 2 7 1

Te orem a 7.1.10. Si S2 (n) es totalmente contruible en espacio y

n-»o® S 2 (n)

y si S\ (n) > log n y ¿ 2 (n) > log n, entonces existe un lenguaje

 L € ESPACIOD (S2 (n)) ESPACIOD (Si (n))

Obsérvese que el Teorema 7.1.10 no requiere que Si (n) < S 2 (n )  para todon. Si, además de los requisitos que necesita el Teorema 7.1.10, también tenemos

que S] (n) < S 2 (n) se cumple para todo n, entonces ESPACIOD (Si («)) c ES-PACIOD (S2 («))> es decir, se cumple la inclusión propia.

Definición 7.1.11. Si una máquina de Turing determinista con complejidad espacialS (n) = aun + ak \nk~ 1 + ... «o, acepta el lenguaje L, entonces se dice que  L esun lenguaje de la clase ESPACIOP. Si la máquina de Turing que acepta  L es nodeterminista y tiene cota espacial polinómica, entonces  L es un lenguaje de laclase ESPACIONP.

Obsérvese que, puesto que

ciknk + ak-\nk~ 1 + ... «o< (¡í(*| + l«¿-- 1 1 + ... + |«oI) nk 

 por el Teorema 7.1.3 se obtiene que

ESPACIOD (aknk  + ak _ \nk ~ 1 + . . . a0) c ESPACIOD (nk)

Por tanto, podemos caracterizar ESPACIOP = 1 ESPACIOD (nk). Demanera similar, ESPACIONP = 1  ESPACION (n k). Obsérvese que el teorema de Savitch (Teorema 7.1.7) dice que ESPACIONP = ESPACIOP ya queESPACION (nk)  c ESPACIOD( nk).

EjerciciosdelaSección7.1

7.1.1. Sea  M una máquina de Turing de una cinta, definida mediante las transicionesque damos más abajo_y en la que #3 es el único estado de aceptación y <71 es elestado inicial. Supongamos que el alfabeto de la cinta es {a, b, b}.  Obsérveseque L(M) = {a2k +lb\k> ()}. Construir una máquina de Turing  M' para la cual L (M') = L (M), pero de forma que W  tenga como símbolos de la cinta codificaciones de pares de símbolos de la cinta de M (véase Teorema 7.1.3).

Page 281: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 281/310

2 7 2 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

 A{q\,a) = {(q2 ,a ,R )}, A(q2 ,a) = {(ql,a,R )}

A(<?2, b)= {(qx b,R)}

7.1.2. En este problema derivamos la constante c del Lema 7.1.4, haciendo referenciaa las observaciones que preceden al Lema 7.1.4.

(a) Para log n < S («), demostrar que log|r| (n + 2) < (k + 1) S (n) con lo que(n + 2) < | r l (í+1)S<").

(b) Usar la parte (a) para demostrar que (n + 2) (5 («))* < | r | (2*+

(c) Obtener una constante c para la cual | Q \ (n + 2) ITI *\ s (n))k < cs

7.1.3. ¿A cuál de las clases de complejidad espacial pertenecen los siguientes tipos delenguajes? Lenguajes regulares, lenguajes independientes del contexto, lengua

 jes sensibles al contexto.

7.1.4. Demostrar que, si una máquina de Turing con cota espacial S (n) > log n aceptael lenguaje L, entonces existe una máquina de Turing con una cota espacialS (n) que acepta el lenguaje L y que para sobre todas las cadenas. (Por tanto, loslenguajes espacialmente acotados son lenguajes recursivos).

7.2 COMPLEJIDADTEMPORAL

Aunque el espacio es un recurso importante de cualquier máquina de Turing, eltiempo de computación también es importante. En esta sección consideraremosque la complejidad temporal de las computaciones de máquinas de Turing, de

 pende del tamaño de la cadena de entrada. El tiempo se mide por el número demovimientos que hace una máquina de Turing.

Definición 7.2.1. Sea M  una máquina de Turing de k cintas. Supongamos que  M  realizacomo máximo T (n) movimientos sobre toda cadena de longitud n y para unafunción T: N  —> N . Entonces se dice que  M  tiene complejidad temporal T (n) o

que es una máquina de Turing con cota temporal T («). Además se dice que L (M) es un lenguaje temporalmente acotado por  T (ri) o con complejidad tem poral T (n).

Obsérvese que, para que una máquina de Turing lea su entrada, debe realizar al menos n + 1 movimientos. Por tanto, T (n) > n + 1 para cualquier cotatemporal T (n).

Ejemplo 7.2.1 «

Consideremos el lenguaje L = {xcx!\x e X'}. Para reconocer el lenguaje  L con una máquina de Turing de una cinta, podemos recorrer la entrada de atrás

www.FreeLibros.com 

Page 282: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 282/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 2 7 3

hacia adelante comparando los símbolos del comienzo con los símbolos del final hasta que encontremos la c central. Cada recorrido completo a través de laentrada requiere 2 1 movimientos, donde t es la longitud actual de la cadena deentrada “no comparada”. En cada recorrido completo, t  se reduce en 1. Esto

continúa hasta que t = 1(la c está en el centro). Por tanto, tenemos que

T{n) = n2 + n 2

También podríamos reconocer  L usando una máquina de Turing de doscintas. La máquina de Turing copia los símbolos de la entrada en la segundacinta hasta que encuentra la c central. Entonces, en cada paso mueve la cabezade la segunda cinta hacia la izquierda, comparando los símbolos de la segundacinta con los de la primera. Esta máquina de Turing requiere n + 1movimientos

 para reconocer una entrada de longitud n. Por tanto, para ésta, T (n) = n + 1.

El Ejemplo 7.2.1 sugiere que la complejidad temporal está relacionada conel número de cintas disponibles para realizar la computación.

El Teorema 7.1.3 decía que si se trataran los símbolos de las múltiples cintas de forma ingeniosa, como un único símbolo, podríamos reducir linealmenteel espacio requerido para la computación. Se puede aplicar lo mismo en el casodel tiempo; teniendo en cuenta ciertas restricciones, se puede incrementar linealmente la velocidad de una computación.

Supongamos que  M  es una máquina de Turing de una cinta. Consideramos M', la cual se deriva de  M  por medio de la unión de m símbolos de la cinta enuno sólo. (El alfabeto de la cinta de M' debería ser P = F" , donde F es el alfabeto de la cinta de  M). Entonces, cuando la cabeza de lectura/escritura de  M  entraen un bloque de m celdas de la cinta, entra o por el lado derecho o por el izquierdo. Al principio, la cabeza de lectura/escritura de  M  se encuentra sobre la celdadel extremo izquierdo del primer bloque de m celdas.  M' puede usar los estados

 para guardar en qué lugar del bloque de m celdas, que corresponde a una única

celda de la cinta de M', se encuentra la cabeza de M. Una vez que la cabeza de M  entra en un bloque de m celdas, realiza una secuencia de movimientos antes desalir. Dichos movimientos pueden cambiar el contenido del bloque de m celdas.Es decir, cuando la cabeza de  M' se mueve desde una celda de la cinta, debemosescribir en dicha celda el bloque de m símbolos que se corresponde con el contenido de la cinta de  M  cuando su cabeza se mueve desde el bloque de m celdascorrespondiente. Podemos determinar, qué tiene el bloque de m celdas mirandosimplemente el comportamiento de  M  sobre la cinta que contiene el blo.que de m 

símbolos. Por tanto, dado un bloque de m símbolos, podemos determinar qué bloque de m símbolos lo sustituirá. Es decir, podemos determinar que escribirá M’ sobre su cinta cuando retira su cabeza del símbolo actual.

Consideremos la máquina de Turing  M  que calcula la función de cadena f((a b )n) = (ab)n+ \ para la cual se tienen las siguientes transiciones:

Page 283: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 283/310

274 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

 A (qu a) = (q2, a, R) A (qu b) = (<75, b, S)

A (q2, b) = (4 1 , b, R ) A (q2 , a) = (q5, a, S)

A (qu b) = (<73, a, R) A (4 3 , a) = (q5 , a, S)

A (<73, &) = (q4, /?) A (4 3 , b) = (q5, b, S)

(aquí, el estado inicial es q\, y <74 es el único estado final), Para construir unamáquina de Turing  M', que una las dos cintas de celdas de  M  en una sola celda,necesitamos un alfabeto

r = {‘aa’, ‘ab’, ‘b a ‘bb’, ‘bb’, ‘ab’, ‘ba’, ‘bb’, ‘bb’ }

Obsérvese que esto es esencialmente F x F . Las transiciones de  M'  tienen

en cuenta las acciones que realiza  M  sobre cada bloque de símbolo de las doscintas. Por tanto,  M '  tiene las siguientes transiciones:

A' ip u ‘ab’) = (ph ‘ab’, R) A' (pu ‘bb’) = (p2, ‘ab’, R)

 A ' (pu ‘ab’) = (p3, ‘ab’, R) A' (pu ‘aa’) = (p3, ‘aa’, R)

 A ' (pu ‘ba’) = (pa, ‘ba’, R) A' (pu ‘bb’) = (p3, ‘bb’, R)

 A ' (pu ‘bb’) = (p3, ‘bb’, R) A' (pu ‘bb’) = (p3, W ,  R)

Obsérvese que, para una computación de  M  sobre la entrada (ab)", se cum ple que T (n) = 2n + 2, mientras que para la computación correspondiente a  M'  sobre la entrada (ab)" se cumple T ' (n) = n + 1 .

Esto, todavía se puede mejorar. Si sabemos el contenido de los bloques dem símbolos que ocupan las celdas que se encuentran a la izquierda y a la derechadel bloque actual de m celdas de M, podemos determinar sus contenidos despuésde que  M  mueva su cabeza hacia la izquierda o hacia la derecha del bloque ac

tual de m celdas. Por tanto, podemos determinar el contenido de las celdas de lasdos cintas que se encuentran a la izquierda o a la derecha de la celda de la cintaactual de M '. Puesto que M  requiere al menos m movimientos para salir de la región de 3m celdas, podemos simular al menos m movimientos de  M  ajustandolas celdas de las tres cintas de  M ' y moviendo su cabeza.

Supongamos que M '  mueve su cabeza una celda hacia la izquierda, dos celdas hacia la derecha y después una celda a la izquierda, guardando (por mediode los estados) el contenido de las celdas que se encuentran a la izquierda y la

derecha de la celda actual. En este momento, tenemos información suficientecomo para determinar cuál será el contenido de esas tres celdas, cuando  M  mueva su cabeza fuera de las 3m celdas correspondientes. En cuatro movimientos,

 M' puede actualizar el contenido de las celdas derecha, izquierda y actual do forma adecuada y mover su cabeza al lugar que corresponde a la posición de la ca beza de  M  cuando ha llegado al final de dichos movimientos. Por tanto, en ocho

Page 284: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 284/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 2 7 5

movimientos  M'  simula al menos m movimientos de  M. Si  M  hace T (n) movimientos, M ' hace como máximo 8 T— 1 movimientos.1 m 1

Aunque hemos centrado nuestra atención sobre una máquina de Turing de

una cinta, no se plantea ningún problema si extendemos lo visto a una máquinade Turing de k cintas. Sin embargo, antes se suponía que la entrada se le proporciona a  M '  en forma codificada. Si  M  es un máquina de Turing de k cintas conk> 1, podemos construir una máquina de Turing  M ' como antes pero añadiéndole la capacidad de recibir la misma cadena de entrada de M y codificarla.  M '  simplemente recorre la cinta sobre la que se encuentra la entrada, codificándolay uniendo m símbolos en uno, escribiendo el resultado en la segunda cinta. Estasegunda cinta se convierte en la cinta de entrada, mientras que la primera pasa a

ser la cinta de trabajo. Obsérvese que realiza n movimientos para recorrer la entrada y movimientos para mover la cabeza de lu nueva cinta de trabajo a la

 posición de comienzo de la cadena de entrada codificada. Por tanto, enn + I~ml+ 8 r ~ r l movimientos,  M'  puede realizar la misma computación que Mhace en T (n) movimientos.

Consideremos la cantidad n + f~] + 8 p-”'-]. Primero observemos que, paracualquier número  x, [x~|<x+l. Segundo, obsérvese que, cuando n>  6 ,T(n)> 7. Finalmente, supongamos que inf„ por lo tanto, para cualquier constante d  existe un  N  tal que, para n > N, tenemos > d. Suponiendoque n > N >  6 , obtenemos:

/

= (n +2 ) + — + 8 ^ ^ + 7 <

m m

< 2n+ — + S ^ + T (n )<m m

^  2T{n) l Tin)

d dm+ T(n) — +1

m

d dm m\  

\  

Por tanto, dado un c > 0, podemos ajustar m y d de forma que el número demovimientos de  M'  sea como máximo cT («). Ésta es la aceleración lineal que

Page 285: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 285/310

2 7 6 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Teorema 7.2.2. Sea k >  1. Supongamos que inf„ _><*>~ Si la máquina de Turingde k cintas con complejidad temporal T («), acepta el lenguaje L, entonces, parac > 0, la máquina de Turing de k cintas con complejidad temporal cT (n) tambiénacepta  L.

Obsérvese que si  L es aceptado por una máquina de Turing de una cinta concota temporal T (/?), entonces también es aceptado por una máquina de Turing dek  cintas con complejidad temporal T (n) para k> 1. Por tanto, obtenemos el siguiente corolario:

Corolario 7.2.3. Sea inf„ _> Si una máquina de Turing que tiene complejidadtemporal T (n) acepta  L, entonces, para todo c > 0, una máquina de Turing concomplejidad temporal cT (n) acepta  L.

Si T\ (n) < Ti (n) para todo n y  L es un lenguaje con complejidad temporalT\ (n), entonces  L también tiene complejidad temporal T 2 (n). En particular, si  L es un lenguaje con complejidad temporal

T  1  ( n ) = cik n k  + cik _ 1  n k ~ 1 + ... + a o

obsérvese que T\ (n) < ( | a* ¡ + | a* - 1 1 + ... + | ao I) nk para todo n. Aplicando loanterior con

IQk I + Ia *  - 11+ . •. + |«ol

se obtiene que  L tiene complejidad temporal nk.En el Ejemplo 7.2.1, vimos cuál era la complejidad temporal de

L = [ xcd  |jcg X*}. Cuando usábamos una máquina de Turing con una cinta, lacomplejidad temporal era de n2. Sin embargo, con dos cintas,  L tiene complejidad temporal n. De esto se obtiene el siguiente teorema:

Teorema 7.2.4. Si  L es aceptado por una máquina de Turing de k cintas con complejidad temporal T (tí) y si inf„ _> = 00, entonces  L es aceptado por una máquina de Turing de una cinta que tiene complejidad temporal (T («))2.

 Demostración. Si una máquina de Turing de una cinta con complejidad temporal T («),acepta el lenguaje L , entonces, puesto que T («) < (T (n ))2 para todo n, L tambiénes aceptado por una máquina de Turing de una cinta con complejidad ( T (n))2.Supongamos que  L se acepta mediante una máquina de Turing con k > 1 cintas y

cota temporal T (n). Consideramos una simulación de una máquina de Turing dek  cintas por medio de una máquina de Turing de una cinta, como vimos en laSección 4.4. Después de t movimientos, los marcadores de cabeza pueden estar 

www.FreeLibros.com 

Page 286: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 286/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 2 7 7

21 celdas más allá. Cada movimiento de la máquina de Turing de k cintas corres ponde a un barrido de todas las celdas marcadas que se analizan mediante las k  cabezas, seguido por un barrido hacia atrás para actualizar los marcadores de ca

 beza y el contenido de las celdas. El barrido hacia atrás realiza cinco movimien

tos por celda. Por tanto, t movimientos de la máquina de Turing de k cintas corresponden a 12? movimientos de la simulación. Luego T (ri) movimientos pueden requerir 

T(n)£ 12t = 6 (T(n ))2 + 6T(n) t= l

movimientos en la simulación. La simulación se puede acelerar vía el Teorema

7.2.2 a (T (ri))2. □

A continuación definiremos unas clases análogas a las clases de complejidad espacial ESPACIOD y ESPACION:

Definición 7.2.5. La familia de los lenguajes aceptados por máquinas de Turing deterministas con complejidad temporal T (ri) es TIEMPOD (T (ri)). La familia de loslenguajes que aceptan las máquinas de Turing no deterministas con complejidadtemporal T (ri) es TIEMPON (T (ri)). Dichas clases se llaman clases de compleji-

dad temporal.

Teorem a 7.2.6.

1. Si Ti (ri) < T2 (ri), entonces TIEMPOD (Ti (n)) c TIEMPOD (T 2 («)).

2. Si T\ (ri) < T 2 (ri), entonces TIEMPON (Ti («)) c TIEMPON (Tz (ri)).

3. TIEMPOD (T (ri)) c TIEMPON (T (ri)).

4. Si inf„ _> co = <x>, entonces TIEMPOD (T (ri)) TIEMPOD (cT (ri))  para todo c > 0 .

Las partes 1 y 2 del Teorema 7.2.6 dicen que todo lenguaje con complejidadtemporal Ti (ri) también tiene complejidad temporal Ti (ri) para T 2 (n) “mayor”que Ti (ri). Es lógico preguntarse cuánto más grande debe ser T¿ (n), ya que haylenguajes con complejidad temporal T 2 (ri) que no tienen complejidad temporalTi (ri). La parte 4 del Teorema 7.2.6 dice que si Ti (ri) satisface inf„ _*«,

entonces T 2 (n) debe ser mayor que una constante multiplicada por  Ti (ri). ElTeorema 7.2.8 el cual presentaremos sin realizar su demostración, nos proporciona las condiciones suficientes para que existan lenguajes que pertenezcan aTIEMPOD (T 2 («)) que no estén en TIEMPOD (Ti (n)). El Teorema 7.2.8 de pende de la siguiente definición, la cual es análoga a la Definición 7.1.6.

www.FreeLibros.com 

Page 287: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 287/310

278 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Definición 7.2.7. Una función T (n) es totalmente contruible en tiempo si existe unamáquina de Turing acotada temporalmente mediante T (n) que tenga exactamente una duración de T (n) sobre todas las cadenas de longitud n.

Te orem a 7.2.8. Si Tz (n) es totalmente construible en tiempo y

in f7 i (n) log(7 iPQ)_ 0«-*«> Tz (n)

entonces existe un lenguaje L e TIEMPOD (Tz (n)) - TIEMPOD (Ti (n)).

El Teorem a 7.2.9 presenta la relación que existe entre tiempo y espacio.

Te orem a 7.2.9. Si L e TIEMPOD (/(« )), entonces L e ESPACIOD (/(/?)).

 Demostración. Supongamos que la máquina de Turing que realiza como máximo f (n )  movimientos sobre la cadena de longitud n, acepta el lenguaje  L. Entonces  M  

 puede inspeccionar  1  + f (n ) celdas de la cinta como máximo, y por tanto L e ESPACIOD ( f ( n ) + 1). Pero/(n) + 1< 2/(«), ya que las cotas temporalesson al menos n + 1, luego por el Teorema 7.1.3,  L e ESPACIOD ( / (ti)). □

Hay una forma importante de relacionar el tiempo determinista y el tiempo

no determinista. Supongamos que  M  es una máquina de Turing 110 deterministacon una cota temporal T (n). Vamos a contar (y limitar) el número de posiblesDI de  M. Si  M  tiene k  cintas, entonces  M  puede inspeccionar  T (n) + 1 celdascomo máximo durante el tiempo T (n). Por tanto, en T (n) movimientos una cinta

 puede llegar a contener como máximo una cadena de longitud T (n) + 1. Si T esel alfabeto de la cinta de  M, hay Ir | r (") + 1 cadenas de longitud T(n) + 1 posi

 bles. Éste es el número de cadenas que M  puede dejar sobre su cinta. Puesto quehay k  cintas, existen | r | A(r ") + 1) cadenas posibles que describen el contenido

de las cintas de  M  después de realizar  T (n) movimientos. Es más, cada cabezade lectura/escritura puede estar sobre una de las T (rí) + 1 celdas posibles de cadauna de las k  cintas. Si Q es el conjunto de estados de  M, entonces el número deDI posibles sobre una cadena de entrada n es

\ Q \ (T (n )+ l ) k  | r | ^ r W + 1><c7'(,,)

 para una constante c elegida de forma apropiada. Sistemáticamente, vamos a buscar una DI de aceptación que sea accesible desde la DI inicial de  M  medianteT (n) movimientos y usando una máquina de Turing determinista que genere ycompruebe dichas DI. Primero buscaremos las DI a las que se pueden acceder enun único movimiento, luego las que son accesibles en dos y así sucesivamente,

www.FreeLibros.com 

Page 288: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 288/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 2 7 9

hasta llegar a T (n) movimientos. Sea r  la longitud de una DI. Suponiendo quegeneramos las DI una tras otra sobre la cinta, realizaremos como máximo 3r movimientos para generar y comprobar cada DI. En cada etapa hay como máximo

DI siguientes. Por lo tanto, cada etapa requiere como máximo 3?r/("f mo

vimientos. En esta búsqueda hay como máximo T (n) etapas, de modo que dicha búsqueda requiere 3rT (n) c1 (n) movimientos. La longitud de una DI es comomáximo r = 1 + k (T (n) + 2); por tanto, dada una constante d  elegida de formaapropiada, la búsqueda requiere d 1 (n) movimientos como máximo. Veamos elsiguiente teorema:

Teorem a 7.2.10. Si una máquina de Turing no determinista con complejidad temporalT (n) acepta  L, entonces existe una máquina de Turing determinista con comple

 jidad temporal d Tin\ para alguna contante d, que también acepta  L. Es decir, si L e TIEMPON (T («)), entonces hay una constante d  para la cual L e TIEM-POD (dTW).

En el Lema 7.1.4 se observó que si  M  tiene complejidad espacialS (n) > log n, entonces podemos limitar el número de DI distintos que  M  tiene, por  cs para alguna constante c. Si  M  es una máquina de Turing determinista,

entonces que la misma DI aparezca dos veces, indica que  M  entra en un bucle y, por tanto, nunca para o no acepta la cadena. De esto se deduce que se puedeconstruir una máquina de Turing  M', determinista, que simule M y lleve la cuenta de los movimientos sobre una cinta adicional. Si la cuenta supera cs ^n\ la simulación tiene DI de  M  repetidas, y en consecuencia  M' para y rechaza la cadena. Está claro que M '  tiene una cota temporal de 2cs n\ Si aplicamos el Teorema7.2.2 se obtiene el siguiente teorema:

Teorema 7.2.11. Si  L s ESPACIOD (5 (»)) y S { n ) > \ o g n , entonces  L e TIEM-POD (c5 ('!)) para una constante c.

En la Definición 7.1.11, agrupamos en una clase todos los lenguajes queaceptaban las máquinas de Turing deterministas con cota espacial polinómica ytodos los que aceptaban las máquinas de Turing no deterministas con cota espacial polinómica, en otra. El teorema de Savitch demuestra que esjas dos clases

de lenguajes son la misma puesto que se pasa de espacio no determinista a espacio determinista sólo con elevar al cuadrado la cota espacial. Del Teorema7.2.10 se puede deducir que no se puede obtener un resultado tan bueno para lasclases de complejidad temporal ya que el pasar del no determinismo al determi-nismo, eleva a un exponente la cota temporal.

www.FreeLibros.com 

Page 289: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 289/310

280 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Definición 7.2.12. La clase T  se compone de todos los lenguajes que acepta una máquina de Turing determinista que tiene una cota temporal polinómica. La clase5\¿!P se compone de todos los lenguajes que aceptan máquinas de Turing no deterministas que tengan una cota temporal polinómica.

Obsérvese que, para todo n

ak nk + ak \ nk~  1 + ... + a 0 < ( |a*| + |a*-i | + . . . + |«o|) nk  

así que, aplicando el Corolario 7.2.3, se obtiene

TIEMPOD (ak nk + ak _ i nk ~ 1 + ... + a0) c TIEMPOD (nk)

De lo que se deduce que podemos caracterizar T como

i P = U TIEMPOD (nk)¡i >i

De forma similar,

* i T = ( J TIEMPON (nk)n > i

Finalmente, puesto que TIEMPOD (nk) c TIEMPON (nk) para todo k, obtenemos que T  c £A¿5P. Desgraciadamente, esto queda un poco lejos de los conocimientos que tenemos. Uno de los problemas más importantes que todavía no haresuelto la ciencia de la computación es la cuestión de la igualdad de 5P y üiT. Responder afirmativamente implica tener que demostrar que todo lenguaje de‘HjP  también es de T. Esto requeriría encontrar alguna forma de transformar unamáquina de Turing no determinista con cota temporal polinómica en una máquina de Turing determinista con cota temporal polinómica (los polinomios no tienen por qué ser del mismo grado). El Teorema 7.2.10 dice que podemos realizar la transformación de una máquina de Turing no determinista a una deterministae incrementamos la cota temporal en una cantidad exponencial. Esto no quieredecir que la transformación que necesitamos sea imposible, sólo que no sabemoscómo realizarla.

Por otro lado, demostrar que T  requiere que encontremos un lenguajeque esté en pero no en T. Si L es dicho lenguaje, debemos demostrar qué nohay ninguna máquina de Turing con cota temporal polinómica que acepte  L. Detodas formas, hay lenguajes de9¿T que no sabemos si están en T  o no lo están.

www FreeLibros com

Page 290: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 290/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 281

EjerciciosdelaSección7.2

7.2.1. Demostrar que, si una máquina de Turing de k  cintas con cota temporalT (n) = en para k > 1 y una constante c acepta L, entonces, para todo e > 0, hay

una máquina de Turing con cota temporal (1 + e) n que acepta L.

7.2.2. ¿Es cierto que TIEMPOD (2r ) c TIEMPOD (2r +")? ¿Por qué?

7.3 INTRODUCCIONALATEORIADELACOMPLEJIDAD

En la Definición 4.2.2, definíamos que una función de cadena / e s Turing com- putable si existe una máquina de Turing  M  que, dada una cadena de entrada w, 

calcula u siempre que/(vv ) = u. Una función de cadena que es Turing comput-able se dice que es computable en tiempo polinómico si hay una máquina de Turing que la calcula y tiene una cota temporal polinómica.

Definición 7.3.1. Se dice que un lenguaje  L\ es reducible en tiempo polinómicoa unlenguaje L2 si hay una función de cadena computable en tiempo polinómico parala cual/ (u) €  L2 si y sólo si u e  L\.

Las reducciones en tiempo polinómico son importantes para determinar acual de las clases (T o pertenece un lenguaje, como indica el siguiente teorema.

Teorem a 7.3.2. Si L\ es reducible en tiempo polinómico a L2 , entonces

a. Si L2 e T  entonces  L\ e íP.

 b. Si ¿ 2 e 9¿T  entonces  L\ e $¿T.

 Dem ostración, (b) Supongamos que  L2 e OiT y que/es una función que reduce  L\ a L2 en tiempo polinómico. Para comprobar sí una cadena w está en  L \, podemoscalcular/(w) en tiempo polinómico y entonces usar una máquina de Turing nodeterminista con una cota temporal polinómico para L2 , para comprobar si

 f (w ) e Z,2 . Puesto que la composición de polinómicos con polinómicos es tam bién polinómico, queda demostrado.

La demostración de (a) es similar. □

La notación  L\ <p L2 se usa para indicar que  L\ es reducible a ¿ 2 en tiempo polinómico. Obsérvese que si  L\ <p L2, entonces determinar si w e  L\ no es másdifícil que determinar si f (w ) e L2, donde/es la función que reduce  L\ a L2 entiempo polinómico.

www.FreeLibros.com 

Page 291: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 291/310

282 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Definición 7.3.3. Para toda clase C de lenguajes, un lenguaje  L se dice que es Cdifícil  (o difícil para la clase C ) si, para todo  L' e C, L ' <p L. Es decir, todos los lengua

 je s se reducen a L en tiempo polinómico.

En particular  L es í\¿!P-difícil si para todo lenguaje  L' e 9¿T, L' <,, L.

Obsérvese que‘la definición del lenguaje C-difícil  L, no dice nada sobredónde está  L. Es decir, L puede estar o no estar en C.

Definición 7.3.4. Si L es Cdifícil y L e C, entonces se dice que  L es Ccompleto.

En particular, si  L es f7\¿íP-difícil y  L también es un lenguaje que pertenece a5\£íP, entonces  L es 5\¿!P-completo.

Teorem a 7.3.5. S i L es un lenguaje¡A£íP-completoy  L e T, entonces T = 9{T.

 Dem ostración. Sea el lenguaje  L\ e %{T. Entonces, puesto que  L es ;A£íP-difícil, tenemos que  L \< P L. Ya que  L e CP, aplicamos el Teorema 7.3.2, con lo queLi e fP. □

El Teorema 7.3.5 nos proporciona un medio para establecer la igualdad en

tre fP y 9iT . Es decir, podemos demostrar que T = demostrando que un lenguaje íA^íP-completo está en íP. Naturalmente, esto requiere que tengamos un lenguaje 2\£íP-completo. Vamos a construir un lenguaje í\(!P-complelo y demostraremos que lo es. El Teorema 7.3.8 y su corolario nos muestran una forma,relativamente fácil, para obtener lenguajes S\£;P-completos.

El primer lenguaje fA£!P-completo que encontramos es el lenguaje llamadoLsat. Se compone de todas las expresiones booleanas codificadas para las queuna asignación de valores de verdad, hace que sean evaluadas como verdaderas.

Una variable booleana es un variable que toma los valores de verdadero ofalso. Vamos a representar verdadero mediante 1 y falso por medio del 0. Se llama literal a una variable o á su negación. Recordemos las conectivas lógicas a  

(y/conjunción), v (o/disyunción) y la negación vistas en el Capítulo 0. Dichasconectivas se usan para formar expresiones booleanas. Una cláusula es un tipode expresión booleana que consiste en la disyunción de literales. Por tanto,

 y v  z v x es una cláusula. Una asignación de valores de verdad para un conjuntode variables booleanas es una asignación de los valores 0 y 1 a las variables booleanas del conjunto. Una cláusula  X  es  satisfactible* si hay una asignación devalores de verdad para sus variables que hacen que  X  sea verdadera. Una colec

* NOT A: Ac uñam os es te término p or cons iderar que expresa, mejor que cualquiera que aparece en el DRAE.el significado de lo que se quiere definir .

www.FreeLibros.com 

Page 292: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 292/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 283

ción de cláusulas es satisfactible si hay una asignación de valores de verdad paralas variables de las cláusulas que satisface todas las cláusulas simultáneamente.

Por ejemplo, sea

C = [ x l V  X 2 , X ] V X  2 V X 3 , X l V  X 2 V X 3 }

Una asignación de valores de verdad que sea satisfactible para C es  x\ = 1,X2 = 0 y X3 = 1. Todas las colecciones de cláusulas No son satisfactibles. Por ejemplo, el conjunto

 D = {xi,xi v x 2, xi VX2 }

no es satisfactible. El problem a de la satisfactibilidad* (SAT) es el problema de

decidir si es satisfactible una colección de cláusulas arbitraria.Obsérvese que hemos descrito un problema de decisión: “Dado un conjunto

de cláusulas, ¿Es satisfactible dicho conjunto de cláusulas?” Podemos transformar SAT en un lenguaje Lsal por medio de la codificación de las muestras deSAT. Supongamos que una muestra de SAT contiene las variables X],X2,

 podemos codificar  x¡ como el símbolo ‘&’ seguido por  i escrita como una cadena binaria (de ceros y unos). Para representar un ejemplo de SAT necesitamosun alfabeto £ = {*,’, V , ‘0’, ‘1’}, donde se usa para representar la

negación. Sea

Lsat = {vv e 2 *| w representa un conjunto satisfactible de cláusulas)

Dada una cláusula codificada y una asignación de valores de verdad para lasvariables, podemos evaluar la cláusula en tiempo polinómico. Por tanto, dadauna asignación de valores de verdad podemos determinar, en tiempo polinómico, si se satisface un conjunto codificado de cláusulas. Por tanto Lsat está en 9{,T  

 puesto que una máquina de Turing no determinista puede determinar si w e Lsat, buscando primero una asignación de valores de verdad y después evaluando lascláusulas en tiempo polinómico. Así, tendremos el siguiente lema:

Lema 7.3.6. Lsat e

Por tanto, si podemos demostrar que Lsat es fA¿!P-difícil, tendremos un lenguaje íA/'í’-completo. Para demostrar que Lsat es £A¿íP-difícil debemos buscar un

lenguaje  L e ‘  HjP y reducirlo a Lsat en tiempo polinómico. Ya que L es arbitrario,no no depende de ninguna de las características de L, sólo de que está en OiT. Esdecir, sólo sabemos que  L es aceptado por uña máquina de Turing no determi-

*. Ver nota de la página anterior.

www.FreeLibros.com 

Page 293: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 293/310

Page 294: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 294/310

Page 295: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 295/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 287

es polinómico en T (n). La reducción de  L a ¿sat requiere tiempo polinómico y,de esa forma, Lsat es 5\^rP-difícil.

Vamos a demostrar el teorema de Cook.

Teorema 7.3.7. (Cook) L^t es íA¿í,-completo.

Una vez que se ha obtenido un lenguaje ^!P-completo, la reducción de lenguajes nos proporciona una técnica para demostrar que otros lenguajes son !Aincompletos.

Lema 7.3.8. Si  L\ es ¡A£íP-completo y L\ <p L2 , entonces  L2 es 5^!P-difícil.

 Demostración. Supongamos que  L e Entonces, puesto que  L\ es í^íP-completo,

hay una función/1 , computable en tiempo polinómico, de forma que f \ : L ) L \  con la propiedad de que w e L si y sólo si/i (w) e L\. Puesto que  L\ <p L2 , haytambién una función computable en tiempo polinómico que es fe . L\ -»  La, conlo que u e  L\ si y sólo si/2 (u) e L2. Obsérvese que w e L si y sólo si f \ (w) €  L\ si y sólo si (f i (w)) e L2 . Es más, puesto que f \ y f 2 son computables en tiem

 po polinómico en la longitud de sus argumentos, / 2  ( / 1 (w)) es computable entiempo polinómico en la longitud de f \ (w), lo que por medio del Teorema 7.2.9es polinómico en la longitud de w. Por tanto, la función/2 (/i (w)) compuesta, escomputable en tiempo polinómico. De lo que se deduce que  L <p L2 , y, por tanto,

 L2 es ^¿íP-difícil. □

Corolario 7.3.9. Si  L\ es S^íP-completo y  L2 € con  L\ <p L2 , entonces  L2 es ^ in completo.

Este corolario nos muestra una técnica para obtener otros lenguajes quesean ^incompletos. Dado un lenguaje  L de 9{_P, si podemos reducir a L, entiempo polinómico, un lenguaje que sea incom pleto, entonces  L también es

J^n-completo. Cuando nos encontramos con un lenguaje que se sospecha que esSY/jP-completo, podemos aplicar fácilmente este corolario y demostrar que lo es.Otras veces,  L puede ser similar a un lenguaje  L, que hemos demostrado que esíV^n-completo. A veces la similitud permite que la demostración de que  L'  es5\£íP-completo pueda ser adaptada para demostrar lo mismo con respecto a L.

EjerciciosdelaSección7.3

7.3.1. Hemos tratado las cláusulas codificadas como cadenas sobre el alfabeto‘v ’, *&’, ‘0’, ‘1’}. Dada una*asignación de valores de verdad, ¿se podría codificar de forma que pudiera ser analizada por una máquina de Turingque pudiera evaluar la cláusula codificada?

www.FreeLibros.com 

Page 296: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 296/310

288 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

7.3.2. Describir cómo una máquina de Turing puede evaluar un conjunto de cláusulasen tiempo polinómico.

7.3.3. Describir una técnica para volver a indexar los literales de en tiempo polinómico en el tamaño de Ew.

7.3.4. Demostrar que, si T («) es un polinómico en n, entonces la siguiente expresióntambién lo es:

ak T(n)k + ak. \ T(n )k ~ 1 + ... +ai T{n) + ao

PROBLEMAS

7.1. Hemos mostrado muchos lenguajes que son 3\£íP-co'mpletos. En este problemavamos a estudiar un lenguaje derivado de un problema llamado 3SAT. 3SAT esun problema de satisfactibilidad como SAT, excepto porque las cláusulas implicadas en el mismo están formadas por tres literales (en SAT no se restringió elnúmero de literales).

Obviamente, una máquina de Turing que acepte Lsat, se puede adaptar paraque acepte L3sM. La modificación que se necesita consiste en una “submáquina”que comprueba que la muestra codificada está formada por cláusulas que contienen exactamente tres literales. El resto de la máquina Lsat no se tiene por qué

cambiar. Por tanto, e 5\£5?.Para realizar la reducción en tiempo polinómico de Lsat a se necesita

tomar cadenas que potencialmente pertenecen a LiM y hacer que parezcan cadenas de L3saf. En vez de tratar este problema a nivel de lenguaje, lo vamos a tratar a nivel de cláusula. Es decir, cogeremos una muestra de SAT y la transformaremos en una muestra de 3SAT.

Supongamos que tenemos un conjunto de cláusulas C: es decir, tenemosuna muestra de SAT. Si todas las cláusulas están formadas por tres literales,

quedará probado. Si todas las cláusulas no están formadas por tres literales, de bemos convertir C en C', de forma que todas las cláusulas de C' estén formadas por tres literales, por lo tanto C  es satisfactible sólo si C lo es y, por tanto, cualquier asignación de valores de verdad que satisfaga C , también satisfará C. Su pongamos que c es una cláusula de C que no contiene tres literales. Podemosconsiderar tres casos. La cláusula c puede contener uno, dos, o más de tres literales. Supongamos que c contiene dos literales, entonces c = *i v jr2. Podemosconstruir dos cláusulas ci y c2 con tres literales a partir de c y con la propiedad

de que una asignación de valores de verdad que sea satisfactible para el conjunto {ci, c2) induce una asignación de valores de verdad para las variables de c, yviceversa. Sea a una nueva variable booleana (la cual no aparece en ninguna delas cláusulas de C), Obsérvese que cj = .Y| v j 2 v a*y C 2 = x¡ vjc2v a son lasdos cláusulas que se querían. t

1. Supongamos que c es una cláusula que está formada por un único literal.D t ó t j t D d lá l t l

Page 297: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 297/310

INTRODUCCIÓNALACOMPLEJIDADCOMPUTACIONAL 289

 propiedad de que ninguna asignación de valores de verdad para D, que losatisfaga, induce una asignación de valores de verdad para la variable x, y viceversa. Indicación: Se puede realizar con cuatro cláusulas.

En el caso de que c sea una clase compuesta por más de tres literales, podemos construir un conjunto de cláusulas que tengan la propiedad deseada. Para ello, supongamos que c es la cláusula x\ vj:2v ... vxk-  Seana i , a2, ..., a* - 3 unas nuevas variables booleanas. Sea  D la cláusula formada por *i v x 2 v ai, x 2 v (X| v a 2, x3 v a2v a?, xk.  i v xk  v a*_3. Obs-sérvese que  D cumple la propiedad deseada. Es decir, una asignación devalores de verdad para las variables x\, x 2,...,xk  que haga que c sea verdadera, induce una asignación de valores de verdad que satisface  D, y vice

versa.Por tanto, una colección de cláusulas se puede transformar en una co

lección de cláusulas que estén formadas por tres literales con la propiedadde que una asignación de valores de verdad que satisface el conjunto original, induce una asignación de valores de verdad para el conjunto transformado y viceversa.

2. Demostrar que la transformación anterior se puede realizar en tiempo poli-

nómico.3. Demostrar que Z,3Sat es 5\¿!P-completo.

www.FreeLibros.com 

Page 298: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 298/310www.FreeLibros.com 

Page 299: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 299/310

Referencias y bibliografía

El material para realizar este libro proviene de muchas fuentes, al igual que laforma en la que se presenta. En este pequeño comentario vamos a mencionar ciertos temas que provienen de fuentes particularmente importantes. En la bibliografía que aparece a continuación, se enumeran muchas de las fuentes que elautor usó para preparar este texto. Sin embargo, no se pretende que este comentario y la bibliografía sean particularmente exhaustivos o completos.

El Problema 1.8 se debe a Salomaa [11]. El Lema 2.8.2 es una modificación

de un teorema de Arden [1], Este lema se usa para desarrollar el Lema 2.8.3, elcual se basa en un trabajo realizado por Brzozowski [2], Éste también proporciona una técnica elegante para derivar un autómata finito a partir de una expresiónregular. El Problema 2.4 procede del Harrison [4], La Sección 4.3 debe sus orígenes a Lewis y Papadimitriou [7], Su libro trata de la construcción de máquinasde Turing, más de lo que nosotros lo hemos hecho.

Los libros mencionados anteriormente, así como los libros restantes, se usa

ron para gran parte del desarrollo y la presentación. Los excelentes libros de Lewis y Papadimitriou [7], Harrison [4] y Hopcroft y Ullman [5] son clásicos enesta materia. Los otros tres son apropiados para ser estudiados después de estelibro, como es Wood [13]. El primero de los libros de Hopcroft y Ullman [5] esun compendio sobre lenguajes formales, teoría de autómatas y complejidadcomputacional, que se desarrollan aún más en (6 ]. Los libros de Linz [8], Carrolly Long [3], Rayward-Smith [10], Martin [9] y Sucjkamp [12] son introduccionessobre este tema y son similares a este libro. Los cinco son una excelente refer

encia durante la lectura de este libro.

www.FreeLibros.com 

Page 300: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 300/310

2 9 2 TEORIADEAUTÓMATASYLENGUAJESFORMALES

REFERENCIAS

[1] A r d e n , D. N. “Delayed Logic and Finite State Machines”, in Theory ofCompu ting Machine Design. Ann Arbor, MI: University of Michigan Press, 1960.

[2] BRZOZOWSKI, J. A. “Derivatives of Regular Expression”, Journal o f the Associa tion fo r Computing Machinery, 11, no. 4 (October 1964), pp. 481-494.

[3] CARROLL, JOHN, and Darrell LONG. Theory of Finite Autómata with an Intro duction to Formal Languages, Englewood Cliffs, NJ: Prentice Hall, 1989.

[4] HARRISON, MlCHAEL.  Introduction to Formal Language Theory, Addison-WesleySeries in Computer Science. Reading, MA: Addison-Wesley, Inc., 1978.

[5] HOPCROFT, John E., and JEFFREY D. U llman. Formal Languages and Their Re la t ion to Autómata, Addison-Wesley Series in Computer Science. Reading, MA:

Addison-Wesley, Inc., 1969.[6] HOPCROFT, John   E., and JEFFREY D. ullman . Introduction to Autómata Theory and Computation, Addison-Wesley Series in Computer Science. Reading, MA:Addison-Wesley, Inc., 1979.

[7] Lewis, H. R., and C. H. Papadimitriou . Elements of the Theoiy o f Computation, Englewood Cliffs, NH: Prentice Hall. 1981.

[8] Linz, Peter . An Introduction to Formal Languages and Autómata, Lexington,MA: D. C. Heath and Compány, 1990.

[9] M artin , Joh n  C.  Introduction to Languages and the Theory of Computation,  New York: McGraw-Hill. Inc.. 1991.

[10] R ayward-Smith, V. J. ,4  First Course in Formal Language Theory, Computer Science Texts Series. Oxford. UK: Blackwell Scientific Publications. 1983.

[11] SALOMAA, Arto . “Morphisms on Free Monoids and Language Theory”, in  For-mal Language Theory: Perspectives and Open Problems, ed. Ronald V. Book.

 New York: Academic Press, Inc.

[12] SüDKAMP, Thomas A.  Languages and Machines, An Introduction to the Theoiy of Computer Science, Addison-Wesley Series in Computer Science. Reading,

MA: Addison-Wesley, Inc., 1988.[13] WOOD, DERICK. Theory of Computation.  New York: John Wiley & Sons, Inc.,

1987.

www.FreeLibros.com 

Page 301: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 301/310

Indice analítico

b , 173 Alfabetos, palabras y lenguajes, 29V x , 5 Ambiguas, gramáticas, 1193 x , 5 Ambigüedad, problema para GIC,e , 6 260= , 22 Analizador léxico, 48e , 30 Árbol de análisis, 1170 , 3 1 Arden, lema de, 79

0o, 35 Arden, D.N., 281, 292<p , 281 Autómatav , 282 de pila (ADPND), 144i- , 148, 175 finito determinista (AFD), 53=> , 107 finito no determinista (AFND),-> ,106 612*, 37 linealmente acotado (ALA), 207,3SAT, 288 237

A B

Aceleración lineal, 273 Bicondicional, proposión, 4ADPND, 144 Biyección, 16AFND, 61 * Blanco, símbolo, 173ALA, 207 Bombeo, lema de

y LSC, 237 para lenguajes independientes delAlfabeto, 30 contexto, 136

www.FreeLibros.com 

Page 302: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 302/310

294 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

 para lenguajes regulares, 85Book, Ronald V., 292Booleana

expresión, 282

variable, 282Brzozowski, J. A., 291, 292

C

C-completos, lenguaje, 282C-difíciles, lenguaje, 282Cadena, 30

0,44aceptada por una máquina deTuring, 209

característica de un lenguaje,función, 182

complementación, 181concatenación, 32exenta de cuadrados, 43exenta de cubos, 43

exponenciación, 32fuertemente exenta de cubos, 43función, 99igualdad de, 32interpretación de, 44inversa, 33longitud de, 32rechazada por una máquina de

Turing, 209representación ternaria de, 48Transpuesta, 33vacía, 30

Caracterización de lenguajesregulares, 99

Cardinalidad, 22, 23Carroll, John, 291 ,29 2Cerradura

de estrella (*), 31, 37Kleene, 37

 positiva (+), 37

 propiedades de los lenguajesindependientes del contexto,143

Cinta

compresión, 266, 272entrada, 266infinita, 172

Cláusula, 282Cocke, Younger y Kasami, algoritmo

de (CYK), 140Complejidad de clases

espacial, 270

temporal, 271, 272, 276Complejidad, teoría de, 281Complemento

de cadenas, 181de un conjunto, 9de un lenguaje, 38relativo, 9

Componente léxico, 48Composición

de funciones, 16de máquinas de Turing, 185de relaciones, 16

Computable, función, 241Computación de una máquina de

Turing, 176no válida, 260válida, 260

Concatenaciónde cadenas, 32de lenguajes, 34

Condicional, 2antecedente, 3conclusión, 3condición, 3consecuente, 3contrapuesta, 3hipótesis, 2 ♦ proposición, 2

recíproca, 3 y

www.FreeLibros.com 

Page 303: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 303/310

ÍNDICEANALÍTICO 2 9 5

Conjunción, 2Conjunto

cardinalidad, 22, 23

' complemento, 9de cadenas aceptadas, 78de significados, 4de valores de verdad, 4directo, 72disjunto, 8

elemento de, 6

enumerable, 25

equivalente, 7familia indexada, 7finalmente periódico, 1 0 0

finito, 23igualdad, 7inductivo, 19infinito, 23intersección, 8

leyes de De Morgan para, 10no numerable, 26nulo, 7numerable, 25 potencia, 7 producto cartesiano, 1 0

unión de, 8

universal, 9

vacío, 7Construible, función

totalmente en espacio, 269totalmente en tiempo, 278

Contraejemplo, 5Cook, teorema de, 287Correspondencia uno-a-uno, 16Cuantificación

existencial, 5universal, 5

CYK, algoritmo, 140Chomsky, jerarquía de, 233Chomsky, Forma normal de, 130Chomsky, Noam, 233

D

De Morgan, leyes de, 4, 5

 para conjuntos, 1 0Decidir un lenguaje, 210Derecha, derivación por la, 121Derecha, producción regular por la,

144Derecha, producciones recursivas

 por la, 163Derecha, gramática regular por la,

109,222Derivaciónárbol, 117

 por la derecha, 1 2 1

 por la izquierda, 1 2 1

Descripción instantánea (DI), 147,267Determinista, autómata de pila, 170Determinista, Autómata finito, 53

definición, 56equivalente, 60equivalente a AFND, 6 6

estados redundantes, 94mínimo, 95

Determinista independiente delcontexto, lenguaje, 170

DI, 147, 267

Diagonalización, 26Difícil, 282Directo (de un AFD), conjunto, 72Disjunto, conjunto, 8

Distinguible, estados, 95Disyunción, 2Dominio de una relación, 12Dos pilas, autómata de pila con, 172

Du, Ding-Zhu, xii

E

£-transiciones, 70Elemento, 6

Page 304: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 304/310

296 TEORIADEAUTÓMATASYLENGUAJESFORMALES

Eliminar un no terminal, 108Entrada, cinta de, 266Enumerable, conjunto, 25Equivalencia

autómata finito, 6 6

clase, 14conjuntos, 2 2

de autómatas finitosdeterministas, 59

expresiones regulares, 50 proposiciones, 1

Espacial, complejidad, 270Espacialmente acotada, máquina deTuring, 265

Espacialmente acotados, lenguajes ylenguajes regulares, 272

ESPACIOD (S Oí)), 270ESPACION, 270ESPACION (,S («)), 270

ESPACIOP, 271Estado, 53cadenas aceptadas por, 78de aceptación, 53distinguible, 95inicial, 53no distinguible, 95

 problema de la entrada, 244

Estados no distinguibles, 95Estructura de frase, gramática con,

116, 2 2 1

Exenta de cuadrados, cadena, 43Exenta de cubos, cadena, 43

fuertemente, 43

FFactorial, 20

función, 208Familia indexada de conjuntos, 7Finales, estados, 53Finalmente periódico, conjunto, 100

Finito, autómata, 56como generador de cadenas, 105determinista, 53, 56equivalencia de, 6 6

equivalencia de AFND y AFD, 6 6

y expresiones regulares, 75Finito, conjunto, 23Forma normal, 116, 123

Chomsky, 130Greibach, 162, 163, 168

Fuertemente libre de cubos, 43

Función biyección, 16cadena, 99composición de, 16computable, 241computable polinómica en

tiempo, 281d e A a B , 15

factorial, 208no computable, 241

 proposicional, 4 proyección. 184sobreyectiva, 16total, 15totalmente construí ble en

espacio, 269

totalmente construible en tiempo,278

transición (de un AFD), 57Turing computable, 181, 241

G

Generación de símbolos, 105

Gramáticacon estructura de frase, 116, 2 2 1

independiente del contexto, 115,233

no ambigua, 119no contráctil 229

Page 305: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 305/310

ÍNDICEANALÍTICO 2 9 7

no restringida, 116, 2 2 0 , 2 2 1 ,227, 233

regular, 105, 107, 233

regular por la derecha, 109, 221regular por la izquierda, 109sensible al contexto, 116, 228,

233tipo 0, 116, 233tipo 1, 233tipo 2, 233tipo 3, 233

Greibach, forma normal de, 162, 163definición, 168

H

Harrison, Michael, 291, 292Homomórfica imagen

de un lenguaje, 1 0 2inversa, 1 0 2

Homomorfismo, lenguaje, 101Hopcroft, John E., 291, 292

I

Igualdad

de cadenas, 32de lenguajes, 35

Imagende una función, 15de una relación, 1 2

inversa homomórfica, 1 0 2

Independiente del contexto,

gramática (GIC), 233ambigua, 119ambigüedad, problema de, 260

definición, 114lenguaje generado por, 114

 problema de la intersección

Independiente del contexto, lenguaje(LIC), 115

determinista, 170inherentemente ambiguo, 1 2 0

lema de bombeo, 136 propiedades de, 135 propiedades de la cerradura, 143

Inducción, 19, 20conclusión, 2 1

demostración, 2 0

etapa, 2 0

etapa base, 2 1

hipótesis, 2 1

Inductivo, conjunto, 19Infinito, conjunto, 23Inherentemente ambiguo, lenguaje

independiente del contexto, 1 2 0

Interpretación de una cadena, 44Intersección

de conjuntos, 8

de lenguajes, 35de lenguajes recursivamente

enumerables, 215regular, 159

Inversade una relación, 1 2

de Fbajo una función, 15imagen homomórfica, 1 0 2

Inversode cadenas, 33de lenguajes, 40

Irresolubilidad y lenguajesindependientes del contexto, 258

Izquierda, producción regular por, 114

Izquierda, gramática regular por, 109Izquierda, derivación porv 121Izquierda, producción recursiva por,

163Jerarquía

Chomsky, 233

Page 306: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 306/310

298 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

K

Kleene, cerradura de, 37Kleene, teorema de, 81

Kovatch, Sally, A., xiii

L

^3sat >283^sat >283Lenguaje, 30

aceptado por pila vacía, 155aceptado por un ADPND, 148aceptado por un AFD, 59aceptado por un AFND, 64aceptado por una máquina de

Turing, 178,209complejidad espacial de 265complemento, 38

concatenación, 34cota espacial, 272decidir, 2 1 0

diferencia, 38

enumerado por una máquina deTuring, 219

espacialmente acotada yrecursiva, 271

generado por una GIC, 115generado por una gramática

regular, 108homorfismo, 1 0 2

igualdad, 35imagen homórfica inversa, 1 0 2

independiente del contexto, 115intersección, 35

inversa, 40OiT, 2925\¿!P-completo, 2825V>difícil, 282operaciones, 34 potencia, 34

recursivo, 180, 209, 210, 215recursivamente enumerable, 180,

212,215

sensible al contexto, 228sustitución, 1 0 1

temporalmente acotada, 272unión, 35universal, 31vacío, 31

Lewis, Harry, R., 291, 292Lexema, 48

Lexicográficamente ordenado, 45Linealmente acotado, autómata

(ALA), 207lenguajes sensibles al contexto,

237Linz, Peter, 291, 292Literal, 282Long, Darrell, 291, 292

Longitud de una cadena, 32

M

Malmanger, Debra J. xiiMáquina de Turing

multidimensional, 199Máquina de Turing determinista,

201,267Máquina de Turing multicinta, 198Máquina de Turing con cinta infinita

en una dirección, 197, 198Máquina de Turing con cinta

multipistas, 195Martin John C., 291, 292Me Millan, desigualdad de, xii, 42

Mínimo, AFD, 95Modificación del problema de

correspondencia de Post (PCPM),246

Moore, algoritmo de, 93Morrison, T. J., xiii .

Page 307: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 307/310

ÍNDICEANALÍTICO 299

Muestras del problema de decisión,241,242

N

N, 7N+, 7

 Negación de una proposición, 1 No ambigua, gramática, 119 No computable, 241 No determinista, autómata de pila

(ADPND)

definición, 145lenguaje aceptado por, 148

 No determinista, autómata finito(AFND), 61

definición, 62equivalencia con AFD, 66

 No distinguible, estado, 96 No contráctil

gramática, 225 producción, 238

 No numerable, conjunto, 26 No restringida, gramática, 116, 220,

221,227, 233y lenguajes recursivamente

enumerables, 2 2 0

 No válida de una máquina de Turing,computación, 2605\£íP-clases de lenguajes, 280

íP-difícil, lenguaje, 2825\¿!P-completo, lenguaje, 282

 Nulo, conjunto, 7 Numerable, conjunto, 25

O

Ocadena (omega-cadena, 44Ogden, lema, 168,264Operadores lógicos

 bicondicional, 4

condicional, 3conjunción, 2

disyunción, 2

negación, 1

P

(P clase de lenguajes, 279Palabra, 30Palíndromo, 42Palomar, principio del, 24Papadimitriou, Christos, 291, 292

Parada en una máquina de Turing,176

Parcial,f unción, 15Paridad, función de, 183Partición, 12PCP, 245, 246Pila, autómata de, 144

determinista, 170y lenguajes independientes del

contexto, 151PIM. 19Positiva, cerradura, 37Post, sistema de correspondencia de,

245Post, problema de correspondencia

de (PCP), 245muestra de, 245solución de una muestra, 245

Potenciade cadenas, 32de lenguajes, 34

Potencia, conjunto, 7Prefijo, 32

Principio de inducción matemática(PIM), 19

Problema de la intersección vacía para GIC, 259, 264

Problema de la vacuidad, 244 para GSC, 258

Page 308: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 308/310

300 TEORÍADEAUTÓMATASYLENGUAJESFORMALES

Problema de parada en las máquinasde Turing, 209, 241, 242

Problema de los elementos de unlenguaje recursivamenteenumerable, 256

Problema de decisión, 241cuestión de la ambigüedad para

GIC, 260muestras de, 241, 242Post, problema de

correspondencia de, 245, 246Problema de correspondencia de

Post modificado, 245, 246 problem a de la cinta en blanco,

243 problem a de la intersección vacía

 para GIC, 259, 264 problem a de la vacuidad para

GSC, 258 problem a de los elementos de

lenguajes recursivamente

enumerables, 256 problema'de parada de las

máquinas de Turing, 209, 241 problema del estado de la

entrada, 244SAT, 283satisfactibilidad, problema de la,

283

vaduidad, 244Problema irresoluble, 217, 242Problemas resolubles, 242Producción e, 125Producción no generativa, 128Producciones, 108

no contráctil, 238no generativa, 128

recursiva por la derecha, 163recursiva por la izquierda, 163regular por la derecha, 114regular por la izquierda, 114

unitaria, 128Producto cartesiano, 10Progresión aritmética, 100Propiedades

de lenguajes independientes delcontexto, 135

de lenguajes regulares, 84Proposición, 1

 bicondicional, 4condicional, 13conjunción, 2

disyunción, 2

equivalente, 1

negación, 1

Proposicional, función, 4Proyección p¡, función, 184Prueba de balas, 91

Q

Q (números racionales), 13

R

R  (números reales), 167?-imagen de una relación, 14, 16Rayward-Smith, V. J„ 291, 292Recursivamente enumerable (r.e.),

lenguajes, 209, 215

abreviatura, 180intersección, 215

 problema de los elementos de,256

unión de, 217Recursivos, lenguajes, 180, 209. 210.

215Rechazar una cadena de entrada%

(máquina de Turing), 178Reducción, 244en tiempo polinómico, 281

Redundantes, estados, 95

www.FreeLibros.com 

Page 309: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 309/310

ÍNDICEANALÍTICO 301

Reflexiva, relación, 14Regular, gramática, 105, 233

definición, 107

lenguaje generado por, 108 por la derecha, 109 por la izquierda, 19y lenguajes regulares, 108, 1 1 0

Regular, intersección, 159Regulares, expresiones, 50

equivalente, 50, 51 precedencia de operadores, 50

Relacióncomposición de, 16de A a B, 12dominio de, 1 2

imagen de, 1 2

inversa de, 1 2

/?-imagen de, 14, 16

reflexiva, 14simétrica, 14sobre A, 1 2

transición, 62transitiva, 14

Relativo, complemento, 9Regular, lenguaje, 48, 49Resolubilidad, 241

S

SaíidaAlfabeto de (de un transductor de

estados finito determinista), 99Función de (de un transductor de

estados finito determinista), 99

Saloma, Arto, 291, 292SAT, 283Satisfactibilidad, problema de la

(SAT), 283Satisfactible (cláusula), 282Savitch, teorema de, 270

Sensible al contexto, gramática(GSC), 116,228

 problema de la vacuidad, 258

y ALA, 237Sentencia abierta, 4Símbolo no terminal, 107Simétrica, relación, 14Subcadena, 33Subconjunto, 7Sublenguaje, 35Sudkamp, Thomas A., 291, 292

Sufijo, 32Sustitución, lenguaje, 101

T

Tautología, 4Temporal, complejidad, 271

clases de, 276de una máquina de Turing, 272Temporalmente acotado, lenguaje,

272Temporalmente acotada, máquina de

Turing, 272Teoría de la complejidad

computacional, 281

Terminal, símbolo, 107Ternaria, representación de una

cadena, 48Tiempo polinómico, función de

cadena computable en, 281Tiempo determinista, 278Tiempo polinómico, reducible, 281TIEMPOD (S (n)), 277

TIEMPON (T («)), 277Tipo 3, gramática, 233Tipo 2, gramática, 233TipO‘l , gramática, 233Tipo 0, gramática, 116, 233Total, función, 15

Page 310: Teoria de Automatas y Lenguajes Formales - Dean Kelley

7/22/2019 Teoria de Automatas y Lenguajes Formales - Dean Kelley

http://slidepdf.com/reader/full/teoria-de-automatas-y-lenguajes-formales-dean-kelley 310/310

302 TEORÍADEAUTÓMATASYLENGUAJESFORMALES