Libro Automatas continuacion

download Libro Automatas continuacion

of 60

Transcript of Libro Automatas continuacion

  • 8/18/2019 Libro Automatas continuacion

    1/60

    3 3 O P E R A C I O N E S CON CONJUNTOS REGUL ARES 61

    3 3 Operaciones on onjuntos regulares

    Existen operaciones bajo cuya aplicación los conjuntos regulares

    son estables es decir el conjunto que se obtiene como resultado estambién regular. Ejemplo de ellas son las siguientes:

    • unión concatenación y clausura

    • complementación

    • intersección

    • sustitución• cociente

    • inversión

    La unión concatenación y clausura de conjuntos regulares es re-gular por la misma definición de conjunto regular. Que el comple-mentario L = S* — L) de un conjunto regular L es regular se puededemostrar construyendo a partir de M — el AFD que acepta L— unautómata M que reconoce L. Para ello basta con tomar M idénticoa M con la salvedad de que el nuevo subconjunto de estados acep-tables es F = Q - F. Es evidente que

    Como consecuencia inm ediata de lo an terior la intersección dedos conjuntos regulares también es regular pues puede expresarseeri términos de unión y complementación: L\ fl 1/2 = L\ U L < ¿ Una

    forma, en general más sencilla de construir el autómata que acep-ta LI n Z 2 a partir de M\ y M < ¿ los AFD que reconocen respectivamente es tomar

    donde C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    2/60

    62 3 LENGU JES REGUL RES

    Una sustitución es un homomorfismo / : S* —> P A*), tal quela imagen f a] de cualquier elemento a £ £ es un conjunto regularsobre otro alfabeto A. En el monoide final la operación definida esla concatenación de lenguajes, y en el inicial la concatenación decadenas. Sabemos que:

    • f x y ) — f x ) f y ) por definición d e homomorfismo);

    • f e ) {e} la imagen del elemento neutro a través de un ho-momorfismo es el elemento neutro del monoide de llegada).

    Dadas estas propiedades, se concluye trivialmente que la imagenf w ) de una cadena w 6 £* es un conjunto regular. En particular,f w ) es concatenación de los conjuntos regulares que se obtienen alaplicar / a cada uno de los símbolos que componen la cadena. Siw = 0 , 1 0 , 2 0 , 3 . . . entonces f w ] f 0,1) f a < ¿ ) f 0 , 3 ) . . . N o sóloes regular, también la imagen de un conjunto R de cadenas lo es,

    siempre que R

    sea regular, dado que:

    y por tanto, los conjuntos regulares son estables bajo sustituciones.Un caso particularmente interesante de sustitución se da cuando / esde la forma: / : E* — • A* y cada cadena es sustituida por otra.

    El cociente de dos cadenas se define como la operación inversade la concatenación. Dado que la concatenación no es conmutativa,debe distinguirse entre el cociente por la derecha y el cociente por laizquierda:

    El cociente entre conjuntos se define entonces:

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    3/60

    3 3 OPER CIONES CON CONJUNTOS R E G U L A R E S 63

    Otro concepto utilizado con frecuencia es el de conjunto de col sde la cadena w £ £* en el lenguaje L, definido como w~ lL. Si elconjunto de colas de w es no vacío (w~ lL 0), entonces diremosque w es un prefijo de L. A su vez, diremos que w es un sufijo dellenguaje L si

    En general, el cociente de un lenguaje regular R con un lenguajecualquiera (no necesariamente regular) / es regular. En efecto, dadoR existe un AFD que reconoce a í?, por ejemplo El AFD que reconoce a C = RL~ l es M = Q , S, ¿, < /1 ? F ), con

    Trivialmente:

    Luego C = L(M'), lo que demuestra que .RL" 1 es regular. Si elcociente se realizase por la izquierda, el proceso sería semejante, pero

    redefiniendo el estado inicial q\. Este pasaría en general a ser un

    subconjunto de estados iniciales Qi, que pueden reducirse a uno únicomediante las técnicas de conversión a AFD explicadas en la sección2.5.1.

    Conviene destacar que el procedimiento anterior, no constituyepor sí solo un procedimiento efectivo para encontrar el autómata M',puesto que la cadena y debe buscarse entre un conjunto eventual-mente infinito de cadenas L, y el tiempo requerido para ello puede noestar acotado. Esto no ocurre si L está caracterizado como lenguajeregular o por una gramática independiente del contexto. Volveremossobre esta cuestión de la resolución algorítmica de problemas másadelante en la sección 4.2.

    Por último, se define W R , la c den inversa de la cadena u > deforma recursiva:

    También se define lengu je inverso de un lenguaje L a C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    4/60

    64 3 LENGUAJES REGULARES

    Obviamente, 0^ = 0. Con estas definiciones, el conjunto L R es re-gular si y sólo si L es regular. Para probarlo, basta con observar

    que:

    Esto permite obtener una expresión regular para L R conocida una

    expresión para L, y viceversa, con el convenio de que r R representaa la expresión regular que denota

    Ejercicios

    3 4 ¿Es la unión de infinitos conjuntos regulares también regular?¿Y cualquier subconjunto de un conjunto regular? Justifica la res-

    puesta.

    3 5 Demuestra que si A © B la diferencia simétrica de A y B yA son regulares entonces B es regular.

    3 16 Dem uestra que si M ^ es el AF D qu e acepta cadenas binariascuyo valor es múltiplo de k, entonces

    3.17 Razona la validez de las siguientes identidades:

    3.18 Demuestra que el conjunto de prefijos Pr L) de un lenguajeregular L es regular: Pr L) = [x E S* : xw E L para alguna Haz lo mismo con el conjunto C L] = {y e S* : xyz L para algunas

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    5/60

    3 3 OPERACIONES CON CONJUNTOS REGULARES 65

    3 19 ¿Cómo se construiría a partir de M el AFD que aceptasiendo f una sustitución? Aplica el razonamiento para demostrar que

    es regular.

    3.20 Justifica que, para cualquier lenguaje L, L*)R — LR)*.

    3.21 Demuestra que si f £* — >• A* es un homomorfismo y R CA* es regular entonces f~l R] — { x E S * : f x ) E R} es regular(estabilidad para la inversa del homomorfismo).

    3.22 Demuestra que

    3.23 Dado un autómata, A definimos el lenguaje L formado portodas las cadenas w = aiü2...a\ w \ tales que su longitud w es par yademás 0,20,4....a\w es aceptado por A. Describe cmo puede construir-se un AFD B que reconozca L. Explica el procedimiento aplicndoloal autmata A que reconoce

    3.24 Sea la operación P definida sobre una cadena w como sigue:

    si w contiene dos a consecutivas, cada b se convierte en una c; si wcontiene dos b consecutivas cada a se convierte en una c. ¿Es la clasede los lenguajes regulares sobre {a, 6} cerrada bajo P?

    3.25 Obtener un AFD para el lenguaje L(M) — a ba)*, siendo M elautómata de la figura.

    3.26 Construye un AFD que reconozca las cadenas binarias que,empezando y acabando por el mismo dígito, tienen un valor numéricomúltiplo de tres.

    3.27 Sea la transformación h {0,1}* — )• {a, b}* tal que / ¿ O ) = aay h(l) = aba, con la propiedad de conservación de la concatenación se tendrá, por ejemplo, que /i 010) = aaabaaa); y sea el lenguajeL = (ab + ba}*a. Encontrar el autómata determinista mínimo quereconozca el lenguaje

    es decir, L está formado por las cadenas sobre el alfabeto 0,1} cujaimagen pertenece a L.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    6/60

    66 3 LENGU JES REGUL RES

    3 28 Dado el lenguaje L = ( 1 (10 )* , escribe una expresión regular usando sólo operadores de unión, concatenación y clausura) para el

    lenguaje

    3 29 Calcula el cociente entre el lenguaje reconocido por el autóma-ta de la figura y:

    1 la cadena a;

    2. la expresión regular a ab

    3 3 Dado un lenguaje regular L, definimos el lenguaje:MAX L) = {x 6 L para ninguna y diferente de e se tiene xy E

    L}.Construye un autómata finito para MAX L) si L es el lenguaje

    representado por la expresión regular

    3 31 Explica un método general para encontrar el autómata quereconoce cualquier cadena binaria que contiene una subcadena dellenguaje definido por otro autómata dado M. Aplícalo como ejemploal autómata

    3 32 Describe un algoritmo que, dadas dos expresiones regulares ry s permita saber si r C s.

    3 33 El contorno de una figura plana puede representarse medianteuna cadena que indica direcciones T V , £ , 5, W) de los movimientos

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    7/60

    OPERACIONES CON CONJUNTOS REGULARES 7

    del lápiz cuando recorre en sentido horario) el borde la figura, em-pezando por un punto del borde y retornando al mismo punto. Paraevitar que el resultado dependa del punto del contorno elegido comoinicial se define el conjunto de cadenas giradas respecto al conjuntode partida:

    Describe algún método para transformar el autómata finito determi-nista que reconoce L en uno indeterminista) que reconoce todas lascadenas en cycle L). Toma, por ejemplo, el caso del lenguaje

    3.34 Sea el lenguaje regular .ñ = 0 | l )*l l 0 | l )*yel lenguaje inde-pendiente del contexto L = {cadenas binarias con igual númerode ceros que de unos}. Dibuja un autómata para el cociente

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    8/60

    his page intentionally left blank

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    9/60

    Capítulo

    Construcción de

    autómatas finitos

    4 1 Lema de bombeo

    Un problema que se plantea con frecuencia es el de diseñar unautómata finito (o alternativamente encontrar una expresión regu-lar) para el reconocimiento de un lenguaje dado. Para ello, convienepregun tarse previam ente si el con junto en el que estamos interesadoses efectivamen te regular. Aun que no disponemos de un método gene-ral que responda a esta pregunta en todos lo s casos, existen al menosalgunas propiedades que debe cumplir cualquier lenguaje regular yque, en caso de no ser satisfechas, permiten descartar la posibilidadde que el co njun to dado sea regular. Una de ellas es el lema de bombeo. Esencialmente, lo que recoge su enunciado es que los lenguajesregulares son reconocibles mediante autómatas con un número fini-to de estados y por tanto, la cantidad de información que en ellosse puede almacenar es finita. En particular, al proceder al recono-cimiento de una cadena lo suficientem ente larga, el autóm ata debepasar más de una vez por alguno de los estados. En ese caso, el ca-

    mino recorrido presenta un bucle, y el fragmento de cadena que loorigina podría repetirse ( bombearse ) tantas veces como se quiera.Veamos el enunciado del lema de bombeo:

    Lema 4 1 Para todo conjunto regular L existe un número E N tal

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    10/60

    70 4 CONSTRUCCIÓN DE AUTÓMATAS FINITOS

    que

    emostración Si L es regular, existe M, un AFD que acepta L.Sea n = \M\ el número de nodos de M y u? = d\ai • . . a m una cadenade E* con m > n. Cada símbolo de w induce una transición a otro

    estado en M, por lo que al cabo de m transiciones al menos algúnnodo Q Í ha sido visitado dos veces 1 . Supongamos que la sucesiónde estados inducida por w en M es q\q

  • 8/18/2019 Libro Automatas continuacion

    11/60

    4 1 LEM DE BOMBEO \_

    ya que la subcadena y debe estar compuesta de uno o más ceros,y al variar k se varía el contenido de ceros de la cadena sin variar

    simultáneamente el de unos. Por tanto, si k

    1 entonces y el conjunto C no es regular.

    Ejercicios

    4 Demuestra que D — {w E £* : w = On } no es regular.

    4 2 Razónese qué subconjuntos de 0,1}* de entre los siguientes sonregulares:

    • {0 2n : n 6 N};

    • el conjunto de las cadenas que representan un número primo;

    • el conjunto de las cadenas que representan múltiplos de 3;

    • el conjunto de las cadenas cuya longitud es un cuadrado per-fecto;

    • el conjunto de las cadenas que tienen el mismo número de cerosque de unos;

    • el conjunto de las cadenas palíndromas capicúa);

    • el conjunto de los prefijos de 1/3;

    • el conjunto de los prefijos de \/2;

    • el conjunto de las cadenas cuyo contenido en ceros y unos difiereen un número par

    4 3 Dado un lenguaje regular L ¿son regulares los siguientes con-

    juntos?

    mitad L) {x 3y x — \y\ xy E L}, donde x es la longitudde la cadena x

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    12/60

    72 4 CONSTRUCCIÓN DE AUTÓMATAS FINITOS

    4.4 Dada la cadena s = abaababaababaab..., ¿es Pr s} = {x :x es un prefijo de s} regular?

    4.5 Dado un lenguaje de cadenas binarias L C {0,1}*, construimosel lenguaje formado por las cadenas de L cambiadas de la siguienteforma:

    todos los dígitos en posición par se cambian, los que ocupan po-sición impar se mantienen.

    Por ejemplo, si 01001 E L, entonces se obtiene 00011.Justifica que si L es regular, entonces también lo es L . Encuentra

    un AFD para L si L es el lenguaje definido por la expresión regular

    4.6 Dado un lenguaje L C {0,1}*, sea

    Esto es, L contiene todas las cadenas obtenidas borrando exacta-mente un 1 a las cadenas de L. Justifica que si L es regular, entoncestambién lo es L . Encuentra un AFD para L si L es el lenguajedefinido por la expresión regular

    4.7 Dado un lenguaje regular L, llamamos err L) a todas las cade-nas que pueden obtenerse por error en un símbolo (si el alfabeto es{0,1}, Un cero ha sido cambiado por un uno o al revés) de las cadenasde L. Justifica que err L) es regular. Encuentra el autómata paraerr L) si L es el lenguaje formado por todas las cadenas binarias talesque la diferencia (absoluta) entre el número de ceros y de unos no esmúltiplo de 3.

    4.8 Sea L un conjunto regular. Justificar que entonces también esregular el conjunto

    X/2 está formado por la primera mitad de las cadenas de L).4.9 Dado un lenguaje L sobre S, definimos el conjunto MT L) como

    Por ejemplo, si L = {e a a , bab bbab aabbab} entonces MT(L] —{e a, bb}. Demostrar que si L es regular, entonces MT(L] tambiénes regular.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    13/60

    4 ALGORITMOS Y DECIDIBILIDAD 7

    4.10 Sea una sucesión infinita de palabras x\ 2 , £ 3 , • • • x n ... so-bre un alfabeto E. Definimos el lenguaje L de la siguiente forma:

    j e L si y sólo si i < j ¿Es L regular? Justifiqúese la respuesta.Una consecuencia relacionada con el lema de bombeo es que no

    existen autómatas finitos que reconozcan cadenas prefijo de un núme-ro irracional, por ejemplo \/2- Esto equivale a afirmar que \/2 no escomputable: cualquier ordenador tiene un número finito de estados(y la memoria accesible en la práctica está acotada) y por tanto elresultado obtenido sería periódico a partir de cierta cifra, y po r tantoincorrecto.

    4 2 A lgoritmos y decidibilidad

    Un algoritmo es una secuencia finita de instrucciones inambiguasy efectivas que constituyen un método general para obtener la res-puesta a una pregunta determinada. Por efectivo debemos entenderque éste proporciona la respuesta siempre en un t iempo finito. A laspreguntas para las que existe dicho método se las denomina decidi-bles. No todas la s cuestiones admiten una solución algorítmica 2 . Eneste apartado estudiaremos la decidibilidad de preguntas como: ¿sonequivalentes dos autóm atas?; ¿genera un autómata dado M un con-junto vacío, finito o infinito de cadenas? Veremos que estas preguntasson decidibles, en el sentido de que disponemos de un método general

    que p roporciona una respuesta en un t iempo finito en cualquier casoque se p resente. Para ello enunciaremos los siguientes teoremas:

    Teorema 4 1 El lenguaje aceptado por un AFD es distinto del vacíosi y sólo si existe una palabra w en este lenguaje cuya longitud es máspequeña que el número de estados del autómata:

    Demostración La implicación hacia la izquierda es trivial, así quedemostraremos la implicación hacia la derecha. Sea n = \M\ SiL M) 7 ̂ 0 entonces L M) contiene al menos una cadena w. Siw < n ya está dem ostrado Si w > n entonces por e l lema de

    2 Por ejemplo, la existencia o no de un cardinal intermedio entre el de losnúmeros naturales y el de los reales ver página 144)

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    14/60

    74 4 CONSTRUCCIÓN DE AUTÓMATAS FINITOS

    bombeo w = xyz con \y\ > 1 y además xz G L M] , cuya longitud esestrictamente menor que la de w. Si xz < n ya hemos terminado.Si no, se procede sucesivamente, aplicando el lema de bombeo a lanueva cadena obtenida. En cada paso la longitud de la cadena seacorta al menos en un símbolo, por lo que en algún momento debeobtenerse una subcadena cuya longitud es menor que n.

    Teorema 4 2 El lenguaje aceptado por un autómata es infinito s ysólo si existe alguna palabra en este lenguaje cuya longitud se encuen-tra entre dos cotas: el número de estados del autómata y dos veces elnúmero de estados del autómata:

    Demostración

    - 4 = ) Es consecuencia del lema de bombeo y de que \w\ > |M|. Enefecto, si w = xyz es la partición de la cadena que satisface ellema de bombeo, entonces xy kz genera un conjunto infinito decadenas al variar fc, todas ellas de L M).

    = ¿ > ) Si L M] es infinito, entonces existen en él cadenas de longitudsuperior a cualquiera dada, puesto que en caso contrario el co n-junto sería finito. Tomemos w ; : w > n = \M\. Si w está com-prendida entre n y 2n ya está demostrado. Si w ; > 2n entonces

    se puede aplicar el lema de bombeo con k = O, obteniendo unacadena más corta. Como w = xyz \y\ > 1, xy\ < n, necesaria-mente 1 < \y\ < n, y la cadena se va acortando en fragmentosde longitud menor o igual que n. Es necesario, por tanto, queen algún momento la cadena que obtenemos tenga una longitud/ comprendida entre n y 2n n < / < 2n .

    uestión Si L M] es finito y n — |M|, ¿cuál es como máximo lalongitud de las cadenas aceptadas por M?

    Teorema 4 3 Existe un algoritmo que determina si dos autómatasson equivalentes por tanto, también si dos expresiones regulares re-presentan al mismo conjunto).

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    15/60

    4 3 MINIMIZACIQN DE AUTÓMATAS FINITOS 7

    Demostración. Para determinar si L M\) — L M

  • 8/18/2019 Libro Automatas continuacion

    16/60

    76 4 CONSTRUCCIÓN DE UTÓM T S FINITOS

    La existencia de un mínimo hace que el problema de encontrar elAFD más pequeño que genera un lenguaje regular L dado esté biendefinido. Es posible demostrar que cualquier otro AFD que acepteL es en realidad una copia del mínimo, en la que algunos nodos sehan multiplicado de forma innecesaria en forma de nodos equivalen-tes. Las transiciones que se originan en estos nodos equivalentes sonlas mismas que las del nodo original en el AFD mínimo, es decir,conducen al mismo estado o a estados equivalentes entre sí.

    Existen diversos algoritmos para encontrar el autómata mínimoM que acepta L cuya justificación es posible a partir del teoremade Myhill y Nerode. Sin embargo, en muchos casos se conoce yaun autómata determinista A tal que L = L A) y lo que se deseaes obtener la partición de los estados de A en las clases de nodosequivalentes que son copia del nodo original del autómata mínimoM). Ambas cuestiones serán tratadas a continuación, pero antesintroduciremos algunas definiciones 3 .

    efiniciones

    • Se llama orden de una relación de equivalencia al número desus clases. Si este es finito se dice que la relación es de orden inito

    • Dadas P\ y P < 2 dos particiones del mismo conjunto, P\ es un

    refinamiento de P <

    si cada clase de P\ está totalmente incluidaen alguna de P < ¿ .

    • Sea R una relación en E*. Se dice que R es invariante por laderecha si

    • Dado un lenguaje L C E , se define RL como la relación deequivalencia entre cadenas: x RL y => x~

    l = y~ lL. Es decir,

    x RL y si los conjuntos de las colas de x y de y en L coinciden.

    • Dado un autómata finito determinista M, se define la relaciónde equivalencia R M entre cadenas de E mediante:

    3Véanse también los conceptos de partición y relación de equivalencia en lapágina 142.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    17/60

    4 3 MINIMIZACIÓN DE AUTÓMATAS INITOS 77

    Ejercicios

    4 13 Comprueba que RM es una relación de e quivalencia invariantepor la derecha y de orden finito, cuyo orden es menor o igual que eltamaño \M\ del autómata.

    4 14 Comprueba que RL es una relación de equivalencia invariantepor la derecha.

    4 15 Justifica que la relación RL definida anteriormente se puedeexpresar también de la siguiente manera:

    4 3 1 Teorema de Myhill y Nerode

    Teorema 4 4 de Myhill y Nerode) Dado M, un autómata finitodeterminista:

    a) La partición de S inducida por RM es un refinamiento de la

    partición inducida por RL M)

    b) L C S es regular RL es de orden finito.

    Demostración

    a) Esta proposición es equivalente a la implicación:

    Dada una cadena iu , vamos a denotar como q w el nodo tal queq w = 6w qi] y por L qw) el lenguaje generado por M cuando setoma q w como estado inicial. Por la definición de cociente:

    Esto expresa que las colas en lenguaje definido por el autómatade una cadena w dada son las cadenas que conducen a estadosde aceptación partiendo del nodo q w al que se llega desde q\ me-diante w. Como consecuencia de lo anterior, si x e y conducenal mismo estado, sus conjuntos respectivos de colas coinciden:

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    18/60

    78 4 ONSTRU IÓN DE AUTÓMATAS FINITOS

    es decir, x RM y => RLÍM) V aunque no necesariamente alrevés), lo que implica que la partición establecida por RM es

    un refinamiento de la establecida por RL M}- b) =>) Si L es regular, existe un autómata finito M de tamaño

    n tal que L = L M}. Como RM es un refinamiento de RL, yademás es de orden finito menor que n se satisface:

    n > orden de RM > orden de RL

    En otras palabras, como mucho existen n conjuntos de colas

    distintos en E* uno por cada nodo del AFD, pudiendo ademásalgunos de ellos coincidir).

    b) < £ = ) Para probar que L es regular basta con encontrar M, unAFD tal que L = L M}. Para ello aprovechamos el hecho deque RL establece una partición de E* en un número finito declases. Interpretaremos que cada uno de dichos subconjuntoses un estado, y que se pueden efectuar transiciones entre ellos

    de la siguiente forma: si la cadena w pertenece a un subcon-junto, el símbolo a produce una transición al estado en el quese encuentra wa. Rigurosamente, se definen:

    Q = {£[x}: clases de equivalencia de RL}-, el conjunto finito) de las clases de equivalencia de la partición definidaen E* por la relación RL]

    — q\ = £[e], la clase de equivalencia a la que pertenece e; F = { C [ x ] x E £}, el conjunto de las clases de equivalen-

    cia a las que pertenecen las palabras del lenguaje;

    - ¿a CIXI) — ̂ [xa]i es decir, si el autómata está en el es tadoasociado a la clase de equivalencia a la que pertence x,el símbolo a £ E produce una transición al estado querepresenta a la clase de equivalencia donde se encuentraxa.

    Con estas definiciones 8x

  • 8/18/2019 Libro Automatas continuacion

    19/60

    4 3 MINIMIZACION DE UTÓM T S FINITOS 79

    Ejercicios

    4.16 Demuestra a partir de que RL es invariante por la derechaque la definición de la función 6 es consistente:< 5a C M ) - Demuestra también la consistencia de la definición de F.

    4.17 Dado S = {a, 6}, se define el conjunto de lenguajes finitos:L n = {wcw1 : w, w (E Sn A w ^ w }. Demuestra que L = Un>0 Ln noes regular.

    Corolario 4.1 Dado L regular existe un único (salvo reordenaciónde las etiquetas de los nodos) autómata finito determinista M tal queL = L(M) y cuyo número de nodos sea mínimo.

    Demostración. El autómata M es el que se ha definido en el teo-rema anterior a partir de RL, que tiene tantos estados como clasespresenta RL. En efecto, cualquier autómata M equivalente a M ge-nera también el lenguaje L y define una relación RM> —cuyo índicees como mucho \M — que origina un refinamiento de la particióninducida por RL- Por tanto:

    \M \ > índice de RM> > índice de RL(M] — \M\

    Luego cualquier otro autómata determinista equivalente contiene unnúmero mayor o igual de estados. Además, en el caso particular de

    que |M| = \M , entonces M y M1

    son idénticos, salvo reordenacionestriviales de los nodos, pues el refinamiento tiene el mismo númerode clases que la partición más gruesa y, por tanto, sólo pueden seriguales.

    4.3.2 Algoritmos de minimización

    En el apartado anterior hemos visto cómo es posible construir el

    AFD mínimo que acepta un cierto lenguaje regular L a partir de lasclases de equivalencia de RL- Sin embargo, no se proporcionaba unmétodo efectivo para obtener dichas clases. El procedimiento habi-tual es partir de A , un AFD ya conocido 4 que acepta L = L(A), y sebusca el mínimo autómata equivalente a A. Para ello demostraremos

    4 M uchas veces A ha sido cons truido a partir de una expresión regular siguiendolas técnicas del apartado 3.2.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    20/60

    80 4 CONSTRUCCIÓN DE AUTÓMATAS FINITOS

    que es equivalente hablar de partición en L y de partición en los es-tados de A. Si los nodos del autómata inducen una partición endefinida por RA, la partición RL de S* induce una partición de losestados de A que conduce al autómata minimizado. Esta particiónviene dada por los nodos que son accesibles mediante cadenas de unamisma clase de RL.

    Dado A = Q, E, < 5g i F), llamaremos L(qk) al lenguaje regulargenerado cuando se toma q ̂ como nodo inicial en A, de forma queL q k ) = { w £ S * : 6nos permite definir la siguiente relación de equivalencia entre nodos:

    El autómata minimizado se construye como con

    • Q {[o\i clases de equivalencia con q accesible desde qi}

    Trivialmente L M) = L A], ya que

    Por tanto M es un autómata equivalente a A cuyo tamaño es igualo menor que el de A. Además RM = RL(A}I 1° cua l sólo ocurre parael AFD mínimo siempre y cuando no haya nodos inútiles), tal ycomo vimos en el apartado [4.1]. En efecto, si definimos q x y q y comoq

    Y por tanto, RL — RM- La ecuación anterior muestra además quela partición de estados inducida por = es la misma que la inducidapor RL al agrupar los nodos accesibles por cadenas de una mismaclase, si se excluyen los nodos inútiles.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    21/60

    4 3 MINIMIZACIÓN DE UTÓM T S FINITOS £n

    Ejercicios

    4.18 Demuestra que la definición de 6 es consistente, es decir queno depende del elemento representante de la clase elegido:

    4.19 Demuestra que si M es mínimo entonces contiene como máxi-mo un nodo inútil.

    En la práctica, para determinar la partición en los nodos de A

    se puede proceder de forma recursiva empezando desde de la parti-ción trivial (todos los nodos son equivalentes). Sabemos que L(qi) ^I/te) • => qi qj. La condición L(qi) ^ L(qj) significa que existealguna cadena w que pertenece a I/ta) pero no a L(QJ) o viceversa.Para w — € esto significa que:

    Lo cual nos permite establecer una partición más fina que la trivial:las dos clases de equivalencia son F y Q — F.

    Para cadenas w de longitud 1 se obtiene:

    Y para cadenas w de longitud arbitraria:

    Por tanto, un posible algoritmo para obtener la partición P sería elsiguiente:

    Algoritmo 4.1 (Minimización del número de estados de un AFD)

    Entrada: Un AFD A (Q, E, < 5q\ , F) con transiciones definidas para

    todos los estados y símbolos de entrada.

    Salida: Un AFD M = (Q , E, ó ,q{, F ) que acepta el mismo len-guaje y que tiene el mínimo número de estados posible.

    Método: 1. Establézcase una partición inicial P de Q que contienedos clases de equivalencia: los estados de aceptación, F, ylos estados de no aceptación Q — F.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    22/60

    82 4 CONSTRUCCIÓN DE AUTÓMATAS FINITOS

    2. Para, cada clase G de P:

    - Divídase G en subclases tales que dos estados qi y

    están en la mismo subclase si y sólo si para todoslos símbolos a E S ó(qi,a) y 6(qj,a] pertenecen a lamisma clase de P

    - Substituyase G en la nueva partición P por el con-junto de todas las subclases creadas dentro de él.

    3. Si P ~ P , tómese Pfinai = P; si no, tómese P = P yejecútese el paso 2.

    4. Elíjase uno de los estados en cada clase de la partición -Pfinaicomo estado representativo de la clase. Las transicionesque existan entre los estados representativos de cada claseserán las transiciones del nuevo autómata M. El estadoinicial de M, q [, será el estado representativo de la claseque contenía a q\ en A. El conjunto F de estados deaceptación de M será el de los estados representativos

    que estuviesen originalmente en F.5. (opcional) si M tiene un estado de absorción, es decir, un

    estado g ab s que no es de aceptación y tiene transicioneshacia sí mismo con todos los símbolos de S elimínese esteestado.

    6. Elimínense todos los estados que no son accesibles desdeel estado inicial.

    Ejercicios

    4.20 Minimiza el autómata M obtenido en el ejercicio 3.16.

    4 2 Minimícese el autómata M definido por F = {qi 3} y la tablade transición

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    23/60

    4.3. MINIMIZACIÓN DE AUTÓMATAS FINITOS 83

    y calcula la expresión regular para el lenguaje aceptado.

    4.22 Construyase un AFI que acepte cadenas que contengan la sub-cadena 111 7 desarróllese el AFD equivalente. Minimícese el AFDobtenido.

    4 23 Con struye el AFD mínimo qu e reconoce la expresión regular a + ab}*a. Haz lo mismo para la expresión a a + 6a)* y comprue-ba que se llega al mismo resultado. Como consecuencia describeun algoritmo que permita decidir la equivalencia de dos expresiones

    regulares.

    4.24 Describe un algoritmo que permita minimizar máquinas deMoore.

    4.25 Encuentra el AFD mínimo que reconozca el lenguaje represen-tado por las siguientes expresiones regulares:

    1. ( ( 0 0 ) * ( 0 1 + 1 1 + 1)*

    (a*6* + £ )*(a6 + 6)* + 0*

    3. ((00 + 11)*0)*((00 + l)* + l ) + e

    4 6 + c)*a)* 6 + c)*c + 6)

    5. 0 + 1)* 10 + 01 1 + 11 + 00)

    6. ( (a + 6)*(a + )*a )*(aa + 6 + e)

    4.26 Construye el AFD mínimo que reconoce las cadenas binariasque contienen un número múltiplo de 3 de unos y que empiezan yacaban por el mismo dígito.

    4.27 Dadas las expresiones regulares r = 10 + 01)* y s = 00 + 11)*.Dibuja el autómata determinista mínimo que reconozca los lenguajes

    1 . L r ) \ J L s )

    2 . L r ) C \ L s )

    4.28 Dibuja el AFD mínimo para el lenguaje Ax~ l — {y G S* :yx e A} siendo A = 1 + 101)* y x = 1. C o

    p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    24/60

    his page intentionally left blank

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    25/60

    apítulo 5

    ramáticas

    5 1 Introducción

    En la segunda mitad de la década de los 50, Noam Chomsky ideauna teoría matemática para especificar lenguajes basada en el con-cepto de gramática generativa El modelo que propone introduce los

    conceptos de gramaticalidad y creatividad: todo hablante nativo po-see una cierta intuición de la estructura de su lengua que le permite,por una parte, distinguir las frases gramaticales de las frases agrama-ticales y, por otra, comprender y emitir infinidad de frases inéditas.Del mismo modo, una gramática deberá rendir cuenta explícitamentede todas las frases gramaticales de la lengua considerada (Chomsky,1957).

    La definición de gramática debe dar reglas con las que generarcadenas o frases pertenecientes al lenguaje que caracteriza, permi-tiendo, asimismo, el reconocimiento de una cadena arbitrariamentedada como perteneciente o no a éste 1 .

    Es útil, para comprender el concepto de gramática, volver por unmomento a la clase de Lengua en la escuela secundaria, en la que elprofesor nos pide que analicemos sintácticamente la frase Juan estudiainformática en la Universidad Como estudiantes aventajados, notenemos ningún problema en realizar este ejercicio (cuyo resultadose muestra en la figura 5.1). Observamos que el árbol del análisis

    1 En materia de lenguajes de programación este segundo aspecto es el más im-portante un programa no es más que una cadena de caracteres que el compiladordebe analizar y traducir a la luz de las reglas enunciadas en la gramática detec-tando las incorrecciones sintácticas que encuentre y que le impidan compilarlo.

    85

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    26/60

    86 GR MÁTIC S

    parte de la unidad de información oración que en el siguiente pasoes reescrita como un par de sintagmas (nominal y verbal). Cadauno de estos sintagmas vuelve a ser reescrito como otra cadena deelementos y así sucesivamente hasta llegar a los constituyentes dela frase. Las diferentes reescrituras pueden ser descritas mediante laaplicación sucesiva de las siguientes reglas:

    • oración> —> < sintagma nominal> < sintagma verbal>• sintagm a nom inal> —> determinante> núcleo>• sintagma verbal> — verbo> sintagma nominal> sintagma

    preposicional• < sintagma preposicional —> preposición> < sintagma nominal>• — > e \ la• núcleo> • uan informát ic | universidad• verbo> —> estudia• preposición> —> en

    El símbolo | debe leerse o . Observemos en la anterior lista de reglasque existen dos tipos de elementos; por un lado, aparecen las categoríassintácticas y que en nuestro contexto denominaremos como variables o noterminales (encerradas entre los símbolos < y >); y por otro, lo s llamadossímbolos terminales (en negrita). Aunque la frase está compuesta sólo porterminales, la corrección sintáctica de la m isma está dada por las reglas dereescritura de las va riables.

    Figura5 1: Arobo l de ana

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    27/60

  • 8/18/2019 Libro Automatas continuacion

    28/60

    88 5 GRAMÁTICAS

    donde el asterisco indica que la derivación se puede realizar en un númeroarbitrario de pasos, y se podría leer como produce en cero o más pasos. Másconcretamente, el símbolo —> representa a la relación reflexiva y transitivamás pequeña que contiene a — •, esto es, — • satisface, para cualesquieracadenas a, 3,j E V*:

    Diremos que dos gramáticas son equivalentes si generan el mismo lenguaje,

    es decir,

    Según la complejidad de las reglas que definen una gramática, ésta puedeser de uno de los cuatro tipos ^0,^1,^2,^3) que constituyen la llamadajerarquía de Chomsky 2 :

    Gramáticas estructuradas por frases o de tipo 0: son las más generales. Susreglas no tienen ninguna restricción. Generan los llamados lenguajes

    recursivamenté numerables o lenguajes sin restricciones, aunque apesar de este nombre no son capaces de representar a los lenguajesnaturales.

    Gramáticas sensibles al contexto o de tipo 1: sus reglas son de la formaa —> f a,/3 6 V* , | | < |/3|, a contiene al menos una variable), esdecir, los pasos sucesivos de una derivación no pueden disminuir delongitud. Se puede demostrar que este tipo de reglas son equivalentesa las de la forma aA 3 —> • aj0, 7 e V + , de ahí el nombre de este

    tipo de gramática la sustitución de A por 7 depende del contexto enel que aparece A).

    Gramáticas independientes del contexto o de tipo 2: sus reglas tienen laforma A —>• a, A E VN, a £ V*). A diferencia del tipo anterior,la sustitución de A por a se realiza independientemente del lugar enel que aparezca A. La mayor parte de los lenguajes de programaciónestán generados por gramáticas de este tipo aumentadas con algunoselementos contextúales necesarios para la semántica del lenguaje); de

    ahí la importancia de su estudio.

    Gramáticas regulares o de tipo 3: son las más simples, sus reglas son deuno de los siguientes tipos: A —> aB, A —> a, A —>• e, A, B eVJv, a e V T , y, como veremos a continuación, generan los mismoslenguajes que son reconocidos por un autómata finito.

    2 El estudio detallado de los tipos O y 1 se sale del marco de este libro y noserán tratados.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    29/60

    5 3 GRAM ÁTICAS REGULARES 89

    Los lenguajes generados por los últimos tres tipos son llamados por elmismo nombre que la gramática respectiva.

    Obsérvese que cada tipo de gramática está incluid o en el tipo anterior,esto es:

    5 3 Gramáticas regulares

    Las gramáticas regulares, o de tipo 3, tienen una relación muy estrechatanto con los lenguajes del mismo nombre, como con los autómatas finitosque los reconocen; de hecho, según veremos en esta sección, los lenguajesgenerados por las gramáticas regulares son precisamente los regulares, loque explica, por otra parte, el abuso del calificativo regular. Recordemosque una gramática G = Vjv, VT P S es regular si todas las reglas r G Pson de uno de los tipos siguientes:

    5 3 1 Gramática regular asociada a un autómata

    Comencemos observando el autómata finito de la figura 5.2. El lectorpuede comprobar que el lenguaje reconocido por este autómata es O +1)*10, es decir, el conjunto de cadenas sobre el alfabeto 0,1} que acaban

    Figura 5 2 : Autómata que reconoce el lenguaje O + 1)*10.

    en 10. Supongamos que tomam os una cadena u = 1001110 de este lenguaje.Veremos su recorrido a través del autómata escribiendo en cada instante,a continuación de la subcadena leída, el estado en el que se encuentra elautómata. Obtenemos la secuencia

    p — > l q —> lOr —> lOOp — • 1001? —> 10011? —> 100111? —> 1001110 C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    30/60

    90 5 G R M Á T I C S

    que se pue de interpre tar como la generación de la cadena por una gram ática.Para obtener la gramática especificamos las variables como los estados delA F D , y a partir de los arcos obtenemos la s reglas de reescritura:

    El símbolo inicial de la gramática representa al estado inicial del autómata.Para com pletar el proceso hay que conseg uir que la derivación acabe cua ndoen el autómata se alcanza un estado de aceptación; esto se logra en nu estroejemplo añadiendo la producción

    o, alternativamente,

    Observemos que todas las producciones que hemos necesitado son de unade la s formas que corresponden a una gramática regular.

    Resumiendo, dado un autómata M — Q , £,0, < ? iP , obtenemos unagramática G = VN, Vr P S} tal que L M) — L G), tomando

    • V N = Q;

    • V T = S;

    • S = Qí -

    • para cada transición del autómata Sa p) — l ̂ añadimos a P la regla

    p — >aq;• para cada estado q E F añadimos a P la regla q —> e, o, alternativa-

    mente, tantas reglas de la forma p —> a como transiciones del tipo6a p) = q con q e F tenga el A F D .

    5 3 2 utómata asociado a una gram ática regularEl proceso inverso tamb ién es muy sencillo de realizar, si bien, en el caso

    más general, el autómata que se obtiene es indeterminista. Consideremosla gramática regular G = VN, VT, P, S); el autómata M = Q, E , ó , < / iP ,tal que L M) = L G), se puede encon trar me diante:

    • Q = VN U {Z} con Z un símbolo nuevo; £ VT;• 91 = 5;

    • F = {Z} C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    31/60

    5 3 GRAMÁTICAS REGULARES 9 ^

    • por cada regla r 6 P de la forma A —> aB definimos la transición6 a A) = B-

    • por cada regla r E P de la forma A —> a definimos la transición¿a A ) = Z;

    • por cada regla r G P de la forma A —> e definimos la transiciónS£ A) = Z

    jemplo Para la gramática siguiente encontramos el autómata de lafigura 5.3.

    A — > L4 5 | eB —> IC \ O D OC — > OC | ID | eD ̂O

    jercicios

    5.2 Construyase una gramática regular para los lenguajes siguientes:

    • cadenas acabadas en 00;

    • cadenas con dos unos consecutivos;

    • cadenas con un 1 en la antepenúltima posición;• cadenas de longitud 4.

    Dibuja en algún caso el árbol de derivación de alguna cadena particular dellenguaje.

    5.3 Demuéstrese que el conjunto de lenguajes regulares es idéntico al con-junto de lenguajes generables por gramáticas regulares.

    i gur

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    32/60

    92 5 GRAMÁTICAS

    5 Encuentra el autómata mínimo que acepta el mismo lenguaje que genera la gramática regular

    S —> aS | aA e — b \b

    B —> a bA cB \ eC — c cB

    Encuentra una gramática que genere el mismo lenguaje al que repre-sentan las expresiones regulares siguientes:

    1. a |6)* o6|6)*a)* oa|66|e).

    2. 00|10*l|e) 01)T l|10).

    3. 00|10*l + e)* l |00).

    5.4 Gramáticas independientes del contexto GIC)

    La gran importancia de las gramáticas independientes del contexto ogramáticas incontextuales reside en el hecho de que la mayor parte de loslenguajes de programación se representan mediante una gramática de esttipo. Estas gramáticas suponen una ampliación sobre las gramáticas regu-lares. Se caracterizan porque sus reglas son de la forma

    r VN — > V *,

    es decir, la parte derecha de la regla puede ser cualquier cadena de símboloterminales y no terminales, si bien la parte izquierda está restringida a unasola variable. Un ejemplo de GIC estaría dado por

    S —> O B | IAA — > O OS IAAB — | 5 | QBB

    que, como el lector puede intentar probar, representa al lenguaje formapor las cadenas que contienen igual número de ceros que de unos. Recor-demos que en la sección 4.1 demostramos que este lenguaje no era regular,con lo que por fin hemos aumentado el número de lenguajes que podemestudiar. A los lenguajes generados por GIC les llamaremos lenguajes independientes del contexto o, abreviadamente, LIC.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    33/60

    5 4 GRAM ÁTICAS INDEPENDIENTES DEL CONTEXTO GIC) 93

    Ejercicios

    5.6 Escribe gramáticas independientes del contexto para los conjuntos:

    • cadenas capicúa;

    • expresiones regulares sobre el alfabeto {O,1};

    • cadenas que no son capicúa;

    • cadenas del tipo a n ~ lb n , con n > 0;

    • cadenas del tipo O n 10 2n , con n > 0;

    • cadenas del tipo O m l n con n par y m impar o viceversa;

    • cadenas del tipo ab n ab n+1 , con n > 0;

    • cadenas del tipo a n b m con m , n > 0 j m = n o m = 2n;

    • cadenas del tipo anbm con ra,n>0yn>ra.

    5.7 Encuentra una gramática que genere todas las cadenas que contienen

    el doble número de ceros que de unos.

    5 4 erivación y árbol de derivación

    A la secuencia de reglas que nos permite obtener una cadena del lenguajegenerado por la gramática a partir de su símbolo inicial, se la conoce conel nombre de derivación de la cadena. Por ejemplo, para la gramática delejercicio 5.1:

    E — > E + E E * E \ E) a,la secuencia

    E —> E E —> E E + E —> E E + a — • E a + a — ̂a a + a

    constituye una derivación de la cadena a a + a. La cadena de V obtenidaen cada paso de la derivación recibe el nombre de forma sentencial.

    Un árbol de derivación es una representación gráfica de la secuencia de

    reglas aplicada es fácil comprobar que las gramáticas tipo O no admiten e starepresentación). Por ejemplo, la derivación anterior se pod ría representarmediante el árbol de la fig. 5.4. Más formalmente, un árbol de derivaciónse define como un árbol ordenado3 que cumple lo siguiente:

    3Se dice que una árbol está ordenado si se ha definido una relación de ordenentre los hijos de cada nodo. Se suele entonces tomar como criterio de represen-tación que los nodos dibujados a la izquierda preceden a los que están más a laderecha.

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    34/60

    94 5 GRAMÁTICAS

    • cada nodo interior con descendencia) está etiquetado con un símb olode VN\

    • el símbolo inicial S de la gramática ocupa el nodo raíz;

    • los nodos terminales sin descendencia) u hojas sólo contienen símbo-los de VT o, tal vez, la cadena vacía e;

    • si un nodo contiene el símbolo A 6 VN y presenta como descendientes,en este orden, a los nodos X\ X . • • X n , entonces existe una regl a enla gramática G en la que la variable A es sustituida por X\ X < ¿ ... X n

    A la hora de reconstruir la derivación a partir del árbol, se nos presentanvarias alternativas según el orden en el que efectuemos las sustituciones delas diversas variables; al objeto de eliminar esta ambigüedad es habitualutilizar dos de ellas, llamadas derivación por la izquierda y derivación por

    la derecha. La diferencia entre ambas reside en decidir qué variable essustituida en cada paso de la derivación, la que está más a la izquierda ola que está más a la derecha en la forma sentencial. Para el árbol anteriorestas derivaciones serían:

    1. Por la izquierda: E —> E E —> a E —> a E+E —> a a+E —> •a * a + a

    2. Por la derecha: E —> E E —> E * E + E —> • E E + a —>E * a -f a —> a * a + a.

    Tomando uno de estos criterios como fijo, la correspondencia entre los árbo-les de derivación y las derivaciones es biunívoca.

    5 4 mbigüedad

    Siguiendo con el ejemplo de esta sección, observemos que la cadenaa * a + a puede ser generada por dos árboles de derivación ver fig. 5.5 .

    i u

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    35/60

    5 GRAMÁTICAS INDEPENDIENTES DEL CONTEXTO GIC) 95

    Diremos que una gramática G es ambigua si hay al menos una cadenaen L G) que tenga dos o más árboles de derivación distintos (o, equivalen-temente, dos o más derivaciones por la izquierda distintas).

    Se podría pensar que esta ambigüedad es consecuencia de cómo se haelegido la gram ática, y que siempre es posible enco ntrar una gram ática equi-valente a la dada que no sea ambigua (y en el caso anterior eso es sencillode conse guir); per o esta idea es incorrecta, ya que hay lenguajes intrínseca-mente ambiguos, para los cuales se ha demostrado que todas las gram áticasque los generan son ambiguas. La propiedad de am bigüedad es indecidible:no hay ningún algoritmo que nos dé la respuesta para cualquier gramáti-ca en un t iempo finito. A unq ue existen algoritmos que para determinar siuna cierta cadena u £ L G) admite dos o más árboles de derivación dife-rentes, para demostrar que G no es ambigua por este m étodo, tendríamosque probar todas las cadenas de V^ Como este conjunto es infinito, elprocedimiento requeriría un t iempo potencialmente infinito.

    j mplo : Un ejemplo estándar de este problema en los lenguajes deprogramación es el fenómeno del else ambiguo . Consideremos las produc-ciones

    < instr > —> if ( < expr > ) < instr > if ( < expr > ) < instr > else < instr >

    | < otrainstr >

    que describen la sentencia if-else del lenguaje C. Y consideremos ahora lacadena

    if exprl) if (expr2) instrl else instr2

    Esta cadena puede ser derivada por los dos caminos que se m uestran en lafigura 5.6; en a) el else va em parejado con el primer if; en b), va con el

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    36/60

    96 GR MÁTIC S

    segundo. El compilador de C debe interpretar la sentencia por el segundocamino pero la regla sintáctica no es suficiente para indicarlo y por tantoes necesaria información adicional.

    Generalmente en las gramáticas de los lenguajes de programación seelimina la ambigüedad atendiendo a la precedenci deseada para lo s opera-dores. Una gramática equivalente a la del ejercicio 5.1 que no es ambiguay conserva la mayor precedencia esperada de la multiplicación respecto a lasuma es:

    E —> E T TT —*T*F FF > a | E)

    i

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    37/60

    5.4. GRAM ÁTICA S INDEPENDIENTES DEL CONTEXTO GIC) 97

    Ejercicio

    5.8 Las gramáticas regulares son un subconjunto de las gramáticas independientes del contexto ¿Puede ser intrínsecamente ambiguo un lenguajeregular? Justifiqúese la respuesta.

    5 4 3 Recursividad

    Si nos fijamos detenidamente en la gramática anterior, observaremosque podemos tener derivaciones de la forma E —> aE¡3 (con |a|, 3 \ > 0 ) ,

    donde el símbolo —> debe leerse produ ce en uno o más pasos , con lo quese pueden g enerar cadenas pertenecientes al lenguaje de longitud arbitrariay, por tanto, podemos afirmar que el lenguaje generado por la gramática esinfinito. A las gram áticas que poseen esta propied ad se las llama recursivas.Si a = e, se dice que la gramática es recursiva por la izquierda; mientrasque si /3 = e se dice que la gramática es recursiva por la derecha.

    La recursividad de las gramáticas de los lenguajes de programaciónestá estrechamente ligada a la asociatividad de los operadores. Para en-tender esto, consideremos la cadena a * a * a. Notemos que existen dosposibles modos de evaluar esta expresión: (a * a) * a y a * (a * a); en elprimer caso, decimos que * asocia a la izquierda; y en el segundo, que ase-do a la derecha. Veamos los árboles de derivación de esta cadena para dosgramáticas, una recursiva por la izqu ierda y la otra por la derecha (fig. 5.7):

    i uras n a l pr adr *ac i aal azque r dan bL ha e a

    r C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    38/60

    98 5 GRAM ÁTICAS

    Si deseamos que un operador asocie a la izquierda, deberemos escribir unagramática recursiva por la izquierda. Si deseamos que asocie a la derecha,deberemos escribirla recursiva por la derecha. Observemos que el árbol a):correspondiente a la gramática recursiva por la izquierd a, desciende haciala izquierda; mientras que el b), lo hace hacia la derecha.

    Por otra parte, la recursividad por la izquierda impide utilizar algunosalgoritmos de análisis sintáctico los llamados descende ntes). Se planteaentonces el problema de encontrar una gramática equivalente a la dadaque no presente este tipo de recursión. La eliminación de la recursión porla izquierda es también necesaria para transformar una gramática en otraequivalente que tenga la llamada forma normalizada de Greibach ver más

    abajo).

    Eliminación de la recursión por la izquierda

    Si tenemos una gramática con reglas del tipo

    que presenta recursión por la izquierda inmediata, las producciones quepuede generar son del tipo

    Observemos que estas produccio nes tam bién p ueden ser generadas me diantelas reglas

    que presentan recursión por la derecha.Este esquema se puede generalizar fácilmente en el caso de tener reglas

    de la forma

    sustituyéndolas por las reglas

    Ejemplo Volvamos a considerar la gramática de expresiones aritméticas

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    39/60

    5.4. GR AM ÁTICAS INDEPENDIENTES DEL CONTEXTO GIC) 99

    Una gramática equivalente que no presenta recursión por la izquierda es

    Un problema añadido lo presentan las gramáticas que contienen recur-sión por la izquierda no inmediata. Una gramática de este tipo es

    que presenta recursión por la izquierda porque son posibles derivaciones deltipo

    Para eliminar sistemáticamente la posibilidad de tales derivaciones po-demos utilizar el algoritmo siguiente, que siempre funciona si la gramáticano tiene ciclos produ cciones de la forma A —> A) o producciones vacías de

    la forma A —> e). Este tipo de producciones se pued en eliminar fácilmente ver más abajo).

    Algoritmo 5 1 Eliminación de la recursión por la izquierda

    Entrada: Una gramática G = Vy v , V T- , -P, S ] sin ciclos ni produccionesvacías.

    Salida: U na gramática e quivalente sin recursión por la izquierda.

    Método:

    1. Numérense las variables de la gramática arbitrariamente V N —{Ai A -2 A r }. El algoritmo conseguirá que todas las produc-ciones de la nueva gramática comiencen por terminal o por unavariable con subíndice superior al de la variable de la parte iz-quierda).

    2. Tomar i — 1.3. Considerar todas las producciones que comie nzan por AI:

    dada la forma en que procede este algoritmo, siempre se cumpleque ningún 3 j comienza por Aj- si k < i) . Sustituir todas estasproducciones por

    C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    40/60

    100 5 GRAMÁTICAS

    donde BÍ es una nueva variable. Eso asegura que todas lasproducciones cuya parte izquierda es AI empiezan por terminalo por una variable A ̂ tal que k > i.

    4. Si i = n, devolver la gramática resultante y parar el algoritmo.5. Tomar i = i l y j = 1.6. Sustituir todas las reglas de la forma AI —> A ja por las reglas

    AÍ —> Pía . . . | fima donde A j —> [ i \ \ flm son todas lasreglas de derivación que tienen como parte izquierda Aj. Comoya se habrá conseguido que las partes derechas de las reglas quetienen A j como parte izquierda comiencen por un terminal ocon Ak con k > j, este paso garantiza que todas las reglas conparte izquierda AÍ también cumplen la propiedad.

    7. Si j = i — 1, saltar al paso 3. Si no, tomar j = j _ y saltar alpaso 6.

    El algoritmo anterior, además de eliminar la recursión por la izquierda,conduce a una gramática donde todas las reglas satisfacen que si AI — •

    Aja E -P, entonces i < j.

    Ejercicios

    9 Elimina la recursión por la izquierda en las gramáticas:

    5.10 Explica cómo modificarías el algoritmo que elimina la recursión pola izquierda para que sirviese para eliminar la recursión por la derExplícalo usando para ello la última gramática del ejercicio anterior.

    5 Elimina la recursión por la izquierda en la gramática

    T = {p, q, , ) , a, =, n, f , +, ,> ,< , ==}.n la que VT C o p y r i g h t ©

    2 0 0 0

    . D i g i t a l i a

    . A l l r i g h t s r e s e r v e d

    . M a y n o t b e r e p r o d u c e d i n a n y f o r m w i t h o u t p e r m i s s i o n f r o m t h e p u b l i s h e r

    , e x c e p t f a i r u s e s p e r m i t t e d u n d e r U

    . S

    .

    o r a p p l i c a b l e c o p y r i g h t l a w

    .

    EBSCO Publishing : eBook Collection (EBSCOhost) - printed on 2/16/2016 3:10 PM via

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADAN: 318032 ; Carrasco, Rafael C., Calera Rubio, Jorge, Forcada Zubizarreta, Mikel L..;Teoria de lenguajes, gramaticas y automatas para informaticosAccount: ns145102

  • 8/18/2019 Libro Automatas continuacion

    41/60

    5.4. G RAM ÁTICAS INDEPENDIENTES DEL CONTEXTO GIC) 101

    5 4 4 El análisis sintáctico

    Como ya hemos mencionado varias veces, la mayor parte de los lenguajes

    de program ación están b asados en G IC. Un com pilador de be reconocer si undetermina do programa cadena de caracteres en definitiva) se adapta a lasespecificaciones del lenguaje. Para ello, resulta imprescindible que dispon-gamos de algoritmos que nos permitan decidir la corrección