Académique Documents
Professionnel Documents
Culture Documents
Universidad de Cantabria
Esquema
Introduccin
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.
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.
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.
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
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
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
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.
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.
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.
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.
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 .
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.
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.
Representacin de un Autmata
Con los autmatas nitos, utilizbamos una matriz donde se colocaban por las y columnas, estados y smbolos respectivamente.
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.
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?