3-8_CFL

33
Introducción Equivalencia de los Métodos Equivalencia con las Gramáticas Libres de Contexto Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Autómatas con Pila

description

Universidad de Cantabria - CURSO de TEORIA DE AUTOMATAS

Transcript of 3-8_CFL

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Equivalencia Entre PDA y CFLEl Lenguaje aceptado por un Autmata con Pila

    Universidad de Cantabria

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Esquema

    1 Introduccin

    2 Equivalencia de los Mtodos

    3 Equivalencia con las Gramticas Libres de Contexto

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por un Autmata

    Como en los autmatas finitos, se puede definir en losautmatas con pila las palabras que son aceptadas por estosautmatas.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por un Autmata

    Esto es, una palabra es aceptada por un autmata si alterminar de leer la palabra por el autmata, se llega a unestado final.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por un Autmata

    Pero recordar tambin, que como el autmata lee tambin dela pila, el autmata se puede detener sin haber ledo toda lapalabra.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por un Autmata

    Hay dos maneras de interpretar el lenguaje aceptado por unautmata con pila: por estado final aceptador y por pila y cintavacas.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado Mediante Estado Final

    Definicin (Lenguaje aceptado mediante estado finalaceptador)

    Sea A := (Q,, ,Q0,Z0,F , ) un autmata con pila y sea SA elsistema de transicin asociado. Para cada palabra ,definimos la configuracin inicial en a la configuracin:

    IA() := (Q0, ,Z0) SA.

    Llamaremos lenguaje aceptado (mediante estado final finalaceptador) por el autmata A (y lo denotaremos por L(A)) alconjunto siguiente:

    L(A) := { : IA() `A (f , , z) SA, f F}.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado Mediante Estado Final

    Este concepto nos lleva a un modelo de programa en el que lacondicin de parada viene dada por los estados finalesaceptadores y por tener la cinta vaca.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado Mediante Pila Vaca

    Entrada: Inicializar: I := (Q0, ,Z0).mientras I 6 F {} Z0 hacer

    Hallar c SA tal que I A cCom.: Realiza un paso en el sistema de transicin.I := c

    fin hacerSalida: ACEPTARfin

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por Pila y Cinta Vacas

    Definicin (Lenguaje aceptado mediante pila y cinta vacas)

    Sea A := (Q,, ,Q0,Z0,F ) un autmata con pila y sea SA elsistema de transicin asociado. Llamaremos lenguaje aceptado(mediante pila y cinta vacas) por el autmata A (y lodenotaremos por L(A)) al conjunto siguiente:

    L(A) := { : IA() `A (f , , ) SA, f Q \ {Q0}.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por Pila y Cinta Vacas

    De la misma forma, se puede pensar en estos autmatas comoun programa, donde la condicin de parada es que tanto la pilacomo la cinta estn vacas.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por Autmatas

    En cualquiera de los dos casos, admitimos que los autmataspuedan operar indefinidamente, al menos en principio.Los programas que hemos escrito son solo vlidos paraautmatas deterministas.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Lenguaje Aceptado por Autmatas

    En cualquiera de los dos casos, admitimos que los autmataspuedan operar indefinidamente, al menos en principio.Los programas que hemos escrito son solo vlidos paraautmatas deterministas.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Equivalencia

    TeoremaUn lenguaje es aceptado por un autmata con pila mediantepila y cinta vacas si y solamente si es aceptado por unautmata con pila mediante estado final aceptador.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Mostraremos un mecanismo de paso, construyendo para cadalenguaje L(A) aceptado por un autmata con pila A medianteestado final aceptador un autmata con pila A que acepta elmismo lenguaje mediante pila y cintas vacas yrecprocamente.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Dado un autmata con pila A := (Q,, ,Q0,Z0,F , ) queacepta el lenguaje L(A) mediante estado final aceptador,construyamos el nuevo autmata que aceptar el mismolenguaje mediante pila vaca A := (Q, , , Q0, Z0, F , )

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Sea p0,pf 6 Q dos nuevos estados y definamosQ := Q {p0,pf}. := , Q0 := p0, Z0 := Z0.La idea clave consiste en introducir un nuevo smbolo en elalfabeto de la pila X0 que proteger el smbolo de fondode la pila. As, elegiremos X0 6 y := {X0}.F := F , dejamos el mismo conjunto de estados finalesaceptadores, aunque no son necesarios.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Definamos

    : Q ( {}) ( {Z0}) Q ,mediante:

    (p0,w ,Z0) = (Q0,Z0X0). Es decir, inicializamosprotegiendo Z0 con una variable X0.Mientras vivamos en el viejo autmata no cambiamos lafuncin de transicin.Si alguna vez leemos Z0, actuamos como si el autmataantiguo se hubiera detenido.En caso de llegar a un estado final, nos movemos a pf yvaciamos la pila.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Recprocamente, dado un autmata con pilaA := (Q,, ,Q0,Z0,F , ) que acepta el lenguaje L(A)mediante pila y cinta vacas, construyamos el nuevo autmataque aceptar el mismo lenguaje mediante estados finalesaceptadores A := (Q, , , Q0, Z0, F , )

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Introduciremos un estado final aceptador nuevo pf y definimosF := {pf}, Q := Q {pf}. Introducimos un nuevo smbolo inicialpara la pila Z0 := X0 y definimos := {Z0}.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    La idea en este caso, es que cuando alcancemos el fondo depila en el autmata sera el momento en el que el nuevoautmata se mover al nuevo estado final, ya que lascomputaciones podrn seguir ya que la pila tiene en el fondoX0.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Resultado

    TeoremaLos lenguajes libres de contexto son exactamente los lenguajesaceptados por los autmatas con pila mediante cinta y pilavacas. Es decir, se verifican las siguiente dos propiedades:

    1 Para cada gramtica libre de contexto G sobre un alfabeto de smbolos terminales, existe un autmata con pila Atal que L(G) = L(A).

    2 Para cada autmata A con alfabeto de cinta existe unagramtica libre de contexto G tal que el lenguaje generadopor G coincide con L(A).

    Ms an, daremos procedimientos de construccin en ambossentidos.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Bastar con lo probemos para gramticas en Forma Normal deChomsky. El resto se obtiene en las progresivastransformaciones de gramticas. As, supongamos que G esdada mediante G := (V ,,Q0,P), donde Q0 es el smboloinicial.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Definiremos un autmata con pila A := (Q,, ,Q0,Z0,F , ) dela forma siguiente:

    Q := {Q0} posee un nico estado (que es tambin elestado inicial).El smbolo de fondo de la pila es un smbolo auxiliar.El alfabeto de la pila reune a todos los smbolos(terminales o no) de la gramtica := V {Q0}.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    La funcin de transicin estar dada del modo siguiente:(Q0, ,Z0) := (Q0,Z0Q0) (al comenzar pongamos Q0justo encima del fondo de la pila).Si la gramtica tiene una produccin del tipoA 7 a {}, escribamos:

    (Q0, ,A) := (Q0,a).

    Si la gramtica tiene una produccin del tipo A 7 CD, conC,D V , pongamos:

    (Q0, ,A) := (Q0,DC).

    Finalmente, para cada a , pongamos:(Q0,a,a) := (Q0, ).

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Para la segunda de las afirmaciones, consideremos dado unautmata con pila A := (Q,, ,Q0,Z0, ) que acepta unlenguaje L(A).

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Construyamos la gramtica G := (V ,,Q0,P) dependiendo delalfabeto de la pila y los estados que tenga el autmata.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    V := Q ( {Z0})Q {Q0}. Utilizaremos la notacinqAp para representar el smbolo no terminal (q,A,p) V .

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    El smbolo inicial Q0 lleva acompaada unas producciones deltipo siguiente:

    Q0 7 Q0Z0p,para cada p Q.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Si la funcin de transicin satisface (p,a,A) = (q, ) cona {} y A , escribiremos la produccin:

    pAq 7 a.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Algoritmo

    Si la funcin de transicin satisface (p,a,A) = (q,B1 Bn)con a {} y B1, . . . ,Bn {Z0}, escribiremos lasproducciones siguientes:

    pAq 7 apBns1s1Bn1s2s2Bn2s3 sn1B1q,

    para todos los estados (s1, . . . , sn2) Qn2.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Observaciones

    Ntese que la construccin de la gramtica asociada a unautmata con pila introduce un nmero exponencial (en elnmero de estados) de producciones por lo que es pocoaconsejable utilizar esa construccin.

    Autmatas con Pila

  • IntroduccinEquivalencia de los Mtodos

    Equivalencia con las Gramticas Libres de Contexto

    Observaciones

    Tambin se puede demostrar que se pueden utilizar autmatasque tengan un solo estado, lo que hace que la formula sesimplifique un poco.

    Autmatas con Pila

    IntroduccinEquivalencia de los MtodosEquivalencia con las Gramticas Libres de Contexto