Vous êtes sur la page 1sur 18

Introduccin Formalismo de las Transiciones Representacin de un Autmata

El Autmata con Pila: Transiciones


El Espacio de Conguraciones

Universidad de Cantabria

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Esquema

Introduccin

Formalismo de las Transiciones

Representacin de un Autmata

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Transiciones

Necesitamos ahora denir, paso por paso, como se comporta un autmata si queremos entender su funcionamiento. Por supuesto, esto debe ser una generalizacin para autmatas nitos.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Transiciones

Sea dado un autmata A := (Q, V , , Q0 , F , Z0 , ). El espacio de conguraciones es el producto SA := Q Z0 V . Dada una palabra , la conguracin inicial vendr dada por: IA () := (Q0 , , Z0 ), esto es, escribimos en la cinta de trabajo, escribimos el estado inicial en la unidad de control y escribimos Z0 en la pila como tareas de inicializacin.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Recordemos

El autmata no esta obligado a leer la cinta de entrada, pero si esta obligado a leer la memoria, esto implica que, para que el autmata contine la computacin, tiene que estar por lo menos el fondo de pila Z0 . Adems este smbolo esta en la pila o la pila esta vaca.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Transiciones Read/Push
(q, , Z0 Z ) A (q , , Z0 Z ), donde q Q y := w1 wr , Z0 Z = Z0 Z1 Zn . Realizamos las siguientes operaciones: Read Leemos la informacin (q, w1 , Zn ) (es decir, el estado, el primer smbolo de la palabra y el top de la pila). Supondremos w1 = . Transition Aplicamos la funcin de transicin obteniendo (q, w1 , Zn ) = (q , ), con , = . Push and Move Entonces,
= w2 wr (borramos un smbolo de la palabra a analizar (move). Z := Z0 Z1 Zn1 , es decir, Z0 Z := push(pop(Z0 Z ), ).
Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Transiciones Read/Pop
(Q, , Z0 Z ) A (Q , , Z0 Z ), donde q Q y := w1 wr , Z0 Z = Z0 Z1 Zn . Realizamos las siguientes operaciones: Read Leemos la informacin (q, w1 , Zn ) Transition Aplicamos la funcin de transicin obteniendo (q, w1 , Zn ) = (q , ). Obsrvese que, en este caso, se ha obtenido como smbolo de la pila, esto indica que debemos hacer pop sin hacer push. Pop and Move Entonces,
= w2 wr (borramos un smbolo de la palabra a analizar (move). Z0 Z := Z0 Z1 Zn1 := pop(Z0 Z ) = push(pop(Z0 Z ), ).
Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Transiciones Lambda/Push
(q, , Z0 Z ) A (q , , Z0 Z ), donde q Q y := w1 wr , las siguientes operaciones: Z0 Z = Z0 Z1 Zn . Realizamos

Read Lambda En este caso, no se lee la cinta aunque s se lee la pila. Leeremos (q, , Zn ). Transition Aplicamos la funcin de transicin obteniendo (q, , Zn ) = (q , ), con , = . Push Entonces,
q = q (cambia el estado de la transicin). = (No borramos un smbolo de la palabra a analizar (make no move)). Z0 Z := Z0 Z1 Zn1 := push(pop(z), ).
Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

nfasis
Es importante sealar que la diferencia entre instrucciones /Push y /Pop es articial. Ntese que pop(z) = push(pop(z), ) y push(z) = push(pop(z), ), con , no tienen diferencias semnticas signicativas porque, obviamente, . Las distinguimos para que se pueda ver la operacin borrar el ltimo dgito de la pila como una operacin distinguida.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

nfasis

No aadimos ninguna novedad si la pila nos dejara leer los k primeros smbolos, en vez del primero solo. Si la cinta lee ms de una vez el mismo smbolo y solo lee el siguiente dependiendo de la transicin tampoco aade ms expresividad al autmata.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

nfasis

Tambin es importante ver que los autmatas nitos se pueden ver como autmatas con pila del modo siguiente: Suponemos que la funcin de transicin verica que (q, x, Z ) = (q , Z ), (q, x, Z ) Q ( {}) . En este caso, todas las instrucciones pasan por hacer push(pop(Z0 ), ) que no cambia el contenido de la pila desde la conguracin inicial.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

nfasis

La conguracin del autmata es una instantnea que muestra un paso concreto en la computacin sobre una palabra. Los autmatas ms interesantes son aquellos que son deterministas porque permiten ser simulados en la prctica, ya que realizan una nica secuencia de computaciones bien denida.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

nfasis

Teorema Si A es un autmata con pila determinista, su sistema de transicin (SA , A ) es determinista. Es decir, dada una conguracin c SA , existir a lo sumo una nica conguracin c SA tal que c A c .

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Demostracin

Siguiendo las dos hiptesis de la Denicin de Autmata Determinista: Dada una conguracin, uno pude hacer una transicin Read/... o una Lambda/.... Si cabe la posibilidad de hacer una transicin Lambda/..., no habr ninguna transicin que permita hacer lectura (por la segunda de las condiciones impuestas). Si, por el contrario, no hay ninguna transicin Lambda/..., entonces es forzoso hacer una transicin de lectura y sta es, a lo sumo, nica.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Representacin de un Autmata

Nuestro problema ahora es como representar los autmatas con pila. Solo nos centraremos en los autmatas deterministas, ya que son los nicos que permiten una implementacin realista.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Representacin de un Autmata

Con los autmatas nitos, utilizbamos una matriz donde se colocaban por las y columnas, estados y smbolos respectivamente.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Codicacin de un Autmata

Vamos a representar la funcin de transicin como una tabla. Para ello, podemos usar dos entradas. De una parte, el producto cartesiano E := Q ( {}) ( {Z0 }) que ser el conjunto de las entradas de la funcin de transicin. De otro lado tenemos un conjunto innito de las salidas O := Q , pero nuestra hiptesis nos dice que slo un nmero nito de elementos de Q van a entrar en la relacin.

Autmatas con Pila

Introduccin Formalismo de las Transiciones Representacin de un Autmata

Representacin de un Autmata

Ya estn resueltos todos los problemas? Es posible que se den conguraciones que no permitan acabar las computaciones? Por qu esto no ocurre con los autmatas nitos?

Autmatas con Pila

Vous aimerez peut-être aussi