5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

Tamaño: px
Comenzar la demostración a partir de la página:

Download "5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones"

Transcripción

1 1 Curso Básico de Computación 5 Autómatas de pila 5.1 Descripción informal Un autómata de pila es esencialmente un autómata finito que controla una cinta de entrada provista de una cabeza de lectura y una pila o lista (primero que entra, último que sale). Es decir, los símbolos pueden entrar o salir sólo en el tope de la lista (es decir, en el último elemento de la lista). Cuando un símbolo entra al tope de la lista, el símbolo que estaba en el tope se convierte en el segundo símbolo. Similarmente, cuando un símbolo se quita del tope de la lista, el símbolo previo se convierte en el símbolo tope. 5.2 Definiciones Formalmente un autómata de pila (AP) consiste de una entrada, un control finito y una pila. La pila es una cadena de símbolos en algún alfabeto. El símbolo más a la izquierda de la pila se considera como el tope de la pila. El autómata puede ser no determinístico, ya que tiene un número finito de movimientos para escoger en cada situación. Los movimientos pueden ser de dos tipos. En el primer tipo de movimiento se usa el símbolo de entrada, el símbolo tope de la pila y el estado del control finito, se tienen varias selecciones posibles. Cada una determina el estado siguiente para el control finito y una cadena de símbolos (posiblemente vacía) para reemplazar el símbolo tope en la pila. Después de seleccionar la opción, la cabeza avanza un símbolo. El segundo tipo de movimiento (llamado movimiento-ɛ) es similar al primero, excepto que el símbolo de entrada no se usa, y la cabeza no avanza después del movimiento. Este tipo de movimientos permite al AP manipular la pila sin leer el símbolo de entrada. Finalmente, se definen los lenguajes aceptados por los autómatas de pila. Existen dos caminos; en el primero, el lenguaje aceptado es el conjunto de todas las entradas para las cuales la secuencia de movimientos causa que el autómata de pila llegue al final, después de seguir alguna secuencia de movimientos, a un estado donde la pila está vacía. A este lenguaje se le conoce como el lenguaje aceptado por pila vacía. El segundo camino, es designar algunos estados como finales y definir el lenguaje que acepta como el conjunto de todas las entradas para las cuales alguna selección de movimiento causa que el AP entre en un estado final. Estas dos definiciones son equivalentes. Un AP M es un sistema (Q, Σ, Γ, δ, q 0, Z 0, F ), donde 1. Q es un conjunto finito de estados;

2 Feliú Sagols Troncoso Matemáticas-Cinvestav 2 2. Σ es un alfabeto llamado alfabeto de entrada; 3. Γ es un alfabeto llamado alfabeto de la pila; 4. q 0 Q es el estado inicial; 5. Z 0 Γ es un símbolo particular de la pila llamado símbolo de inicio; 6. F Q es el conjunto de estados finales; 7. δ es una transformación de Q (Σ {ɛ}) Γ a un subconjunto finito de Q Γ. Movimientos La interpretación de δ(q, a, Z) = {(p 1, γ 1 ), (p 2, γ 2 ),..., (p m, γ m )} donde q y p i, 1 i m, son estados, a Σ, Z es un símbolo en la pila, y γ i Γ, 1 i m, es que el AP en el estado q, con entrada a y Z en el tope de la pila puede, para cualquier i, entrar al estado p i, reemplazar el símbolo Z por la cadena γ i, y avanzar la cabeza de lectura de la cinta de entrada un símbolo. Adoptamos la convención que el símbolo más a la izquierda de γ i se coloca en lo más alto de la pila y el símbolo más a la derecha se coloca en lo más bajo de la pila. Note que no se permite escoger el estado p i y la cadena γ j para algún j i en un movimiento. La interpretación de δ(q, ɛ, Z) = {(p 1, γ 1 ), (p 2, γ 2 ),..., (p m, γ m )} es que el AP en el estado q, independiente del símbolo bajo la cabeza de lectura y con Z en el tope de la pila, puede entrar al estado p i y reemplazar Z por γ i para cualquier i, 1 i m. En este caso, la cabeza de lectura no avanza. Ejemplo: La siguiente tabla muestra un AP que acepta {wcw R w (0 + 1) } con la pila vacía. Note que para un movimiento en el cual el AP escribe un símbolo en el tope de la pila, δ tiene el valor (q, γ) donde γ = 2. Por ejemplo, δ(q 1, 0, R) = {(q 1, BR)}. Si γ tenía longitud 1, el AP reemplaza el símbolo tope por un símbolo nuevo y no crece la longitud de la pila. Esto nos permite que γ = ɛ sirva para retirar información de la pila. M = ({q 1, q 2 }, {0, 1, c}, {R, B, G}, δ, q 1, R, ) δ(q 1, 0, R) = {(q 1, BR)} δ(q 1, 1, R) = {(q 1, GR)} δ(q 1, 0, B) = {(q 1, BB)}

3 3 Curso Básico de Computación δ(q 1, 1, B) = {(q 1, GB)} δ(q 1, 0, G) = {(q 1, BG)} δ(q 1, 1, G) = {(q 1, GG)} δ(q 1, c, R) = {(q 2, R)} δ(q 1, c, B) = {(q 2, B)} δ(q 1, c, G) = {(q 2, G)} δ(q 2, 0, B) = {(q 2, ɛ)} δ(q 2, 1, G) = {(q 2, ɛ)} δ(q 2, ɛ, R) = {(q 2, ɛ)} Note que la regla δ(q 2, ɛ, R) = {(q 2, ɛ)} significa que el AP, en el estado q 2 con R en el tope de la pila, puede borrar R independientemente del símbolo de entrada. En este caso, la cabeza de lectura no avanza. Descripciones Instantáneas Para describir formalmente la configuración de un AP en un instante dado se usan las Descripciones Instantáneas (DI). Una DI registra el estado y el contenido de la pila. Así definimos una DI como una 3-tupla (q, w, γ), donde q es un estado, w la cadena de entrada y γ la cadena en la pila. Si M = (Q, Σ, Γ, δ, q 0, Z 0, F ) es un AP decimos (q, aw, Zα) M (p, w, βα) si δ(q, a, Z) contiene (p, β). Note que a puede ser ɛ o un símbolo de entrada. Por ejemplo, en el AP del ejemplo anterior, el hecho que (q 1, BG) δ(q 1, 0, G) se expresa como (q 1, 011, GGR) (q 1, 11, BGGR) * Usamos M para denotar la cerradura reflexiva y transitiva de M. Escribimos I i K si la DI I se convierte en K exactamente después de i movimientos. Lenguajes aceptados Para un AP M = (Q, Σ, Γ, δ, q 0, Z 0, F ) definimos L(M), el lenguaje aceptado por estado final como {w (q 0, w, Z 0 ) * (p, ɛ, γ) para algún p F y γ Γ } Definimos N(M), el lenguaje aceptado por pila vacía como {w (q 0, w, Z 0 ) * (p, ɛ, ɛ) para algún p Q} Cuando el lenguaje es aceptado por pila vacía, el conjunto de estados finales es irrelevante, y, en este caso, usualmente el conjunto de estados finales es el conjunto vacío. Ejemplo: El autómata de pila que acepta {ww R w (0 + 1) } es: M = ({q 1, q 2 }, {0, 1}, {R, B, G}, δ, q 1, R, )

4 Feliú Sagols Troncoso Matemáticas-Cinvestav 4 1)δ(q 1, 0, R) = {(q 1, BR)} 2)δ(q 1, 1, R) = {(q 1, GR)} 3)δ(q 1, 0, B) = {(q 1, BB), (q 2, ɛ)} 4)δ(q 1, 0, G) = {(q 1, BG)} 5)δ(q 1, 1, B) = {(q 1, GB)} 6)δ(q 1, 1, G) = {(q 1, GG), (q 2, ɛ)} 7)δ(q 2, 0, B) = {(q 2, ɛ)} 8)δ(q 2, 1, G) = {(q 2, ɛ)} 9)δ(q 1, ɛ, R) = {(q 2, ɛ)} 10)δ(q 2, ɛ, R) = {(q 2, ɛ)} Las reglas (1) a (6) permiten a M almacenar la entrada de la pila. En la regla (3) y (6), M tiene que escoger dos movimientos. M puede decidir a la mitad si la entrada es alcanzada y hacer el segundo movimiento: M va al estado q 2 y prueba para comparar el resto de la entrada con el contenido de la pila. Si M supone lo correcto, y si la entrada es de la forma ww R, entonces la entrada puede ser aceptada, M vacía su pila y así acepta la cadena de entrada. En la siguiente figura se muestran las DI que se generan cuando M procesa la cadena Inicio (q 1, , R) (q 2, , ɛ) (q 1, 01100, BR) (q 1, 1100, BBR) (q 2, 1100, R) (q 2, 1100, ɛ) (q 1, 100, GBBR) (q 1, 00, GGBBR) (q 2, 00, BBR) (q 1, 0, BGGBBR) (q 2, 0, BR) (q 1, ɛ, BBGGBBR) (q 2, ɛ, GGBBR) (q 2, ɛ, R) (q 2, ɛ, ɛ) Aceptar Autómatas de pila determinísticos El AP del primer ejemplo es determinístico en el sentido que a lo más un movimiento es posible en cualquier DI. Formalmente, un AP M = (Q, Σ, Γ, δ, q 0, Z 0, F ) es determinístico si: 1. Para cada q Q y Z Γ, siempre que δ(q, ɛ, Z) es no vacío, entonces δ(q, a, Z) es vacío para toda a Σ;

5 5 Curso Básico de Computación 2. Para ningún q Q, Z Γ y a Σ {ɛ}, δ(q, a, Z) contiene más de un elemento. La condición 1 impide la posibilidad de escoger entre un movimiento-ɛ y un movimiento que incluya una entrada. La condición 2 impide escoger un movimiento para cualquier (q, a, Z) o (q, ɛ, Z). Asumimos que un AP es no determinístico a menos que se diga lo contrario. Para autómatas finitos, el modelo determinístico y no determinístico son equivalentes con respecto a los lenguajes que aceptan. Pero esto no es verdad para autómata de pila. De hecho ww R es aceptado por un AP no determinístico, pero ningún AP determinístico lo acepta. 5.3 Autómatas de pila y lenguajes libres de contexto Demostraremos un resultado fundamental: que la clase de lenguajes aceptados por AP son precisamente la clase de lenguajes libres de contexto. Primero se probará que el lenguaje aceptado por un AP con estados finales es exactamente el lenguaje aceptado por un AP por pila vacía. Entonces se probará que los lenguajes aceptados por pila vacía son exactamente los lenguajes libres de contexto. Equivalencia en la aceptación por estados finales y pila vacía Teorema 5.1: Si L es L(M 2 ) para algún AP M 2, entonces L es N(M 1 ) para algún AP M 1. Demostración: En resumen, nos gustaría que M 1 simule a M 2, con la opción que M 1 borre su pila siempre que M 2 entre a un estado final. Se usa el estado q e de M 1 para borrar la pila, y el símbolo especial X 0 para marcar el fondo de la pila en M 1, así M 1 no acepta accidentalmente su entrada cuando M 1 vacía su pila sin haber llegado a un estado final. Sea M 2 = (Q, Σ, Γ, δ, q 0, Z 0, F ) un AP tal que L = L(M 2 ). Sea donde δ se define como: M 1 = (Q {q e, q 0}, Σ, Γ {X 0 }, δ, q 0, X 0, ) 1. δ (q 0, ɛ, X 0) = {(q 0, Z 0 X 0 )}. 2. δ (q, a, Z) incluye los elemtos de δ(q, a, Z) para toda q Q, a Σ o a = ɛ, y Z Γ. 3. Para toda q F y Z Γ {X 0 }, δ (q, ɛ, Z) contiene (q e, ɛ). 4. Para toda Z Γ {X 0 }, δ (q e, ɛ, Z) contiene (q e, ɛ).

6 Feliú Sagols Troncoso Matemáticas-Cinvestav 6 La regla 1 causa que M 1 entre a la DI inicial de M 2, excepto que M 1 tenga su propio fin de pila marcado con X 0. La regla 2 permite a M 1 simular a M 2. Siempre que M 2 entre a un estado final, las reglas 3 y 4 permiten a M 1 entrar al estado q e y borrar su pila. Uno debe notar que M 2 posiblemente borra toda la pila para alguna entrada x / L(M 2 ). Esta es la razón de que M 1 tenga su propio marcador de fin de pila. Sea x L(M 2 ). Entonces (q 0, x, Z 0 ) * M 2(q, ɛ, γ) para algún q F. Ahora considere a M 1 con entrada x. Por la regla 1, (q 0, x, X 0 ) * M 1(q 0, x, Z 0 X 0 ), Por la regla 2, cada movimiento de M 2 es un movimiento legal para M 1, así (q 0, x, Z 0 ) * M 1(q, ɛ, γ). Si un AP puede hacer una secuencia de movimientos de una DI dada, puede hacer la misma secuencia de movimientos de cualquier DI que se obtiene de la primera insertando una cadena fija de símbolos en la pila abajo del contenido de la pila original. Así (q 0, x, X 0) M 1(q 0, x, Z 0 X 0 ) * M 1(q, ɛ, γx 0 ) Por la regla 3 y 4, (q, ɛ, γx 0 ) * M 1(q e, ɛ, ɛ). Por lo tanto, (q 0, x, X 0 ) * M 1(q e, ɛ, ɛ). y M 1 acepta x con la pila vacía. Recíprocamente, si M 1 acepta a x con la pila vacía, es fácil demostrar que la secuencia de movimientos deben ser: un movimiento dado por la regla 1, luego una secuencia de movimientos dados por la regla 2 donde M 1 simula aceptar x por M 2, luego se borra de M 1 la pila usando las reglas 3 y 4. Por lo tanto, x L(M 2 ). Teorema 5.2: Si L es N(M 1 ) para algún AP M 1, entonces L es L(M 2 ) para algún AP M 2. Demostración: Se quiere que M 2 simule a M 1 y detecte cuando M 1 vacía su pila. M 2 entra a un estado final cuando y sólo cuando esto ocurre. Sea M 1 = (Q, Σ, Γ, δ, q 0, Z 0, ) un AP tal que L = N(M 1 ). Sea M 2 = (Q {q 0, q f}, Σ, Γ {X 0 }, donde δ se define como: δ, q 0, X 0, {q f }) 1. δ (q 0, ɛ, X 0) = {(q 0, Z 0 X 0 )}. 2. Para toda q Q, a Σ {ɛ} y Z Γ, δ (q, a, Z) = δ(q, a, Z). 3. Para toda q Q, δ (q, ɛ, X 0 ) contiene (q f, ɛ).

7 7 Curso Básico de Computación La regla 1 causa que M 2 entre a la DI inicial de M 1, a menos que M 2 tenga su propio fin de pila marcado con X 0. La regla 2 permite a M 2 simular a M 1. Siempre que M 1 borre su pila, entonces M 2, cuando simula a M 1, borra su pila excepto el símbolo X 0. Cuando X 0 aparece en el tope de la pila, la regla 3 hace que M 2 entre al estado final, por eso acepta la entrada x. La demostración de que L(M 2 ) = N(M 1 ) es análoga a la del teorema anterior. Equivalencia entre AP y LLC Teorema 5.3: Si L es un LLC, entonces existe un AP M tal que L = N(M) Demostración: Suponga que ɛ / L(G). Sea G = (V, T, P, S) una GLC en la forma normal de Greibach que genera a L. Sea M = ({q}, T, V, δ, q, S, ), donde δ(q, a, A) contiene a (q, γ) siempre que A aγ está en P. El AP M simula la derivación más a la izquierda de G. Como G está en la forma normal de Greibach, cada forma sentencial en la derivación más a la izquierda consiste de una cadena de terminales x seguida por una cadena de variables α. M almacena el sufijo α de la forma sentencial izquierda en la pila después de procesar el prefijo x. Formalmente se demuestra que 1) S xα por una derivación más a la izquierda si y sólo si (q, x, S) * M (q, ɛ, α) Primero suponga que (q, x, S) i (q, ɛ, α) y se demuestra por inducción sobre i que S xα. Ahora suponga que S i xα por una derivación más a la izquierda y se demuestra por inducción sobre i que (q, x, S) * (q, ɛ, α). Para concluir la demostración, note que (1) con α = ɛ dice S x si y sólo si (q, x, S) * (q, ɛ, ɛ). Es decir, x L(G) si y sólo si x N(M). Teorema 5.4: Si L es N(M) para algún AP M, entonces L es un lenguaje libre de contexto. Demostración: Sea M = (Q, Σ, Γ, δ, q 0, Z 0, ) un AP. Sea G = (V, Σ, P, S) una grámatica libre de contexto, donde V es un conjunto de objetos de la forma [q, A, p], con p, q Q, A Γ {S}. P es el conjunto de producciones 1. S [q 0, Z 0, q] para cada q Q; 2. [q, A, q m+1 ] a[q 1, B 1, q 2 ][q 2, B 2, q 3 ] [q m, B m, q m+1 ] para cada q, q 1, q 2,..., q m+1 Q, a Σ {ɛ}, y A, B 1, B 2,..., B m Γ, de tal forma que δ(q, a, A) contiene (q 1, B 1 B 2 B m ). (Si m = 0, entonces la producción es [q, A, q 1 ] a).

8 Feliú Sagols Troncoso Matemáticas-Cinvestav 8 Para entender la demostración es útil saber que las variables y producciones en G fueron definidas de modo que una derivación más a la izquierda en G de una cadena x es una simulación del AP M cuando se inserta la entrada x. En particular, las variables que aparecen en cualquier paso de una derivación más a la izquierda en G corresponden a un símbolo en la pila de M durante el proceso de reconocimiento. De manera más precisa, la intención es que [q, A, p] derive x si y sólo si x hace que M borre a A de su pila mediante una secuencia de movimientos que inicia en el estado q y termina en el estado p. Se prueba por inducción que L(G) = N(M) sobre el número de pasos en una derivación en G o en el número de movimientos en M que = 1) [q, A, p] G x si y sólo si (q, x, A) * M (q, ɛ, ɛ) i Primero se demuestra por inducción sobre i que si (q, x, A) (p, ɛ, ɛ), entonces [q, A, p] x. Si i = 1, entonces δ(q, x, A) debe contener (p, ɛ). Así, [q, A, p] x es una producción en G. Ahora suponga i > 1. Sea x = ay y (q, ay, A) (q 1, y, B 1 B 2 B n ) i 1 (p, ɛ, ɛ) La cadena y puede escribirse como y = y 1 y 2 y n, donde y j tienen el efecto de expulsar B j de la pila, posiblemente después de una larga secuencia de movimientos. Existen estados q 2, q 3,..., q n+1, donde q n+1 = p, tales que (q j, y j, B j ) * (q j+1, ɛ, ɛ) en menos de i movimientos. Si aplicamos la hipótesis de inducción [q j, B j, q j+1 ] y j para 1 j n. Considerando que el movimiento inicial fue (q, ay, A) (q 1, y, B 1 B 2 B n ), tenemos que [q, A, p] a[q 1, B, q 2 ][q 2, B 2, q 3 ] [q n, B n, q n+1 ], es una regla de producción en G, así [q, A, p] i ay 1 y 2 y n = x Ahora suponga [q, A, p] x. Se prueba por induccción sobre i que (q, x, A) * (p, ɛ, ɛ). La base, i = 1 es inmediata, ya que [q, A, p] x debe ser una producción en G y por lo tanto δ(q, x, A) debe contener a (p, ɛ). Note que x = ɛ o x Σ. Por inducción, suponga [q, A, p] a[q 1, B 1, q 2 ] [q n, B n, q n+1 ] i 1 x donde q n+1 = p. Entonces se puede escribir x = ax 1 x 2 x n, donde [q j, B j, q j+1 ] x j para 1 j n, cada derivación toma menos de i pasos. Por hipótesis de inducción, (q j, x j, B j ) * (q j+1, ɛ, ɛ) para 1 j n. Si insertamos B j+1 B n al final de cada pila en la anterior secuencia de la DI vemos que 2) (q j, x j, B j B j+1 B n ) * (q j+1, ɛ, B j+1 B n ) Del primer paso en la derivación en x de [q, A, p] se sabe que

9 9 Curso Básico de Computación (q, x, A) (q 1, x 1 x 2 x n, B 1 B 2 B n ) es un movimiento legal de M, así de este movimiento y de (2) se tiene que para j = 1, 2,..., n, (q, x, A) * (p, ɛ, ɛ). La demostración concluye con la observación que (1) con q = q 0 y A = Z 0 dice [q 0, Z 0, p] x si y sólo si (q 0, x, Z 0 ) * (p, ɛ, ɛ) Esta observación, junto con la regla (1) de la construcción de G dice que: S x si y sólo si (q 0, x, Z 0 ) * (p, ɛ, ɛ) para algún estado p. Es decir, x L(G) si y sólo si x N(M). Ejemplo: Sea donde δ es dado por M = ({q 0, q 1 }, {0, 1}, {X, Z 0 }, δ, q 0, Z 0, ), δ(q 0, 0, Z 0 ) = {(q 0, XZ 0 )} δ(q 1, 1, X) = {(q 1, ɛ)}, δ(q 0, 0, X) = {(q 0, XX)} δ(q 1, ɛ, X) = {(q 1, ɛ)}, δ(q 0, 1, X) = {(q 1, ɛ)} δ(q 1, ɛ, Z 0 ) = {(q 1, ɛ)}, Para construir una GLC G = (V, T, P, S) que genere a N(M) sea V = {S, [q 0, X, q 0 ], [q 0, X, q 1 ], [q 1, X, q 0 ], [q 1, X, q 1 ], [q 0, Z 0, q 0 ], [q 0, Z 0, q 1 ], [q 1, Z 0, q 0 ], [q 1, Z 0, q 1 ]}, y T = {0, 1}. Para construir el conjunto de producciones fácilmente, nos damos cuenta que algunas variables pueden no aparecer en alguna derivación que comience a partir del símbolo S. Así, se ahorra esfuerzo si se comienza con las producciones S, luego se añaden las producciones que involucran únicamente aquellas variables que aparecen en el lado derecho de alguna producción que ya está en el conjunto. Las producciones S son: S [q 0, Z 0, q 0 ] S [q 0, Z 0, q 1 ] Luego se añaden las producciones para las variables [q 0, Z 0, q 0 ]. Estas son: [q 0, Z 0, q 0 ] 0[q 0, X, q 0 ][q 0, Z 0, q 0 ] [q 0, Z 0, q 0 ] 0[q 0, X, q 1 ][q 1, Z 0, q 0 ]

10 Feliú Sagols Troncoso Matemáticas-Cinvestav 10 Esas producciones son requeridas por δ(q 0, 0, Z 0 ) = {(q 0, XZ 0 )}. Luego, las producciones para [q 0, Z 0, q 1 ] son: [q 0, Z 0, q 1 ] 0[q 0, X, q 0 ][q 0, Z 0, q 1 ] [q 0, Z 0, q 1 ] 0[q 0, X, q 1 ][q 1, Z 0, q 1 ] Estas son requeridas también por δ(q 0, 0, Z 0 ) = {(q 0, XZ 0 )}. Las producciones para el resto de las variables y los movimientos relevantes del AP son: 1. [q 0, X, q 0 ] 0[q 0, X, q 0 ][q 0, X, q 0 ] [q 0, X, q 0 ] 0[q 0, X, q 1 ][q 1, X, q 0 ] [q 0, X, q 1 ] 0[q 0, X, q 0 ][q 0, X, q 1 ] [q 0, X, q 1 ] 0[q 0, X, q 1 ][q 1, X, q 1 ], porque δ(q 0, 0, X) = {(q 0, XX)}. 2. [q 0, X, q 1 ] 1, porque δ(q 0, 1, X) = {(q 1, ɛ)}. 3. [q 1, Z 0, q 1 ] ɛ, porque δ(q 1, ɛ, Z 0 ) = {(q 1, ɛ)}. 4. [q 1, X, q 1 ] ɛ, porque δ(q 1, ɛ, X) = {(q 1, ɛ)}. 5. [q 1, X, q 1 ] 1, porque δ(q 1, 1, X) = {(q 1, ɛ)}. Al final se tienen las siguientes producciones: S [q 0, Z 0, q 1 ], [q 0, Z 0, q 1 ] 0[q 0, X, q 1 ][q 1, Z 0, q 1 ] [q 0, X, q 1 ] 0[q 0, X, q 1 ][q 1, X, q 1 ] [q 0, X, q 1 ] 1 [q 1, Z 0, q 1 ] ɛ [q 1, X, q 1 ] ɛ [q 1, X, q 1 ] 1 Resumiendo los Teoremas 5.1 al 5.4 se tiene que los siguientes tres enunciados son equivalentes: 1) L es un lenguaje libre de contexto. 2) L = N(M 1 ) para algún AP M 1. 3) L = L(M 2 ) para algún AP M 2.

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50 INAOE (INAOE) 1 / 50 Contenido 1 2 3 4 (INAOE) 2 / 50 Pushdown Automata Las gramáticas libres de contexto tienen un tipo de autómata que las define llamado pushdown automata. Un pushdown automata (PDA)

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 3 Propiedades de los conjuntos regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 3 Propiedades

Más detalles

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014 aterial compilado por el Profesor Julio Jacobo, a lo largo de distintas ediciones

Más detalles

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que AUTÓMATAS CON PILA Un autómata con pila no determinista (APND) es una septupla Q A F en la que δ q 0 Q es un conjunto finito de estados A es un alfabeto de entrada es un alfabeto para la pila δ es la función

Más detalles

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila. 0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)

Más detalles

Computabilidad y Lenguajes Formales: Autómatas de Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila 300CIG007 Computabilidad y Lenguajes Formales: Autómatas de Pila Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Basado en [SIPSER, Chapter 2] Autómatas

Más detalles

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 4 Máquinas de Turing Ciencias de la Computación e Inteligencia Artificial Índice 4.1 Límites de los autómatas 4.2 Definición de Máquina de Turing 4.3

Más detalles

Autómatas de Pila y Lenguajes Incontextuales

Autómatas de Pila y Lenguajes Incontextuales Autómatas de Pila y Lenguajes Incontextuales Elvira Mayordomo Universidad de Zaragoza 5 de noviembre de 2012 Contenido de este tema 1. Introducción a los autómatas de pila 2. Definiciones 3. Equivalencia

Más detalles

Equivalencia Entre PDA y CFL

Equivalencia Entre PDA y CFL Equivalencia Entre PDA y CFL El Lenguaje aceptado por un Autómata con Pila Universidad de Cantabria Esquema 1 Introducción 2 3 Lenguaje Aceptado por un Autómata Como en los autómatas finitos, se puede

Más detalles

GRAMÁTICAS LIBRES DE CONTEXTO

GRAMÁTICAS LIBRES DE CONTEXTO GRAMÁTICAS LIBRES DE CONTEXTO Definición Una gramática libre de contexto (GLC) es una descripción estructural precisa de un lenguaje. Formalmente es una tupla G=, donde Vn es el conjunto

Más detalles

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R. Conjuntos Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por se entiende que a pertenece a R. a R Normalmente, podremos definir a un conjunto de dos maneras: Por

Más detalles

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

Más detalles

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto UTÓMTS Y LENGUJES FORMLES LENGUJES INDEPENDIENTES DEL CONTEXTO Y UTÓMTS DE PIL Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNM E-mail:

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica Fa.M.A.F., Universidad Nacional de Córdoba 22//4 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes y computación.

Más detalles

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA) Autómatas Finitos Deterministicos (DFA) Introducción a la Lógica y la Computación Fa.M.A.F., Universidad Nacional de Córdoba 26/0/6 Info útil Bibliografía: Introducción a la teoría de autómatas, lenguajes

Más detalles

Expresiones regulares, gramáticas regulares

Expresiones regulares, gramáticas regulares Expresiones regulares, gramáticas regulares Los LR en la jerarquía de Chomsky La clasificación de lenguajes en clases de lenguajes se debe a N. Chomsky, quien propuso una jerarquía de lenguajes, donde

Más detalles

GRAMATICAS LIBRES DEL CONTEXTO

GRAMATICAS LIBRES DEL CONTEXTO GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 45 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

El Autómata con Pila: Transiciones

El Autómata con Pila: Transiciones El Autómata con Pila: Transiciones El Espacio de Configuraciones Universidad de Cantabria Esquema Introducción 1 Introducción 2 3 Transiciones Necesitamos ahora definir, paso por paso, como se comporta

Más detalles

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto

Más detalles

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post 1 Curso Básico de Computación 8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post Los problemas indecidibles aparecen en varias áreas. En las próximas tres secciones se analizarán

Más detalles

Clase 17: Autómatas de pila

Clase 17: Autómatas de pila Solicitado: Ejercicios 14: Autómatas de pila de GLC M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Autómata de pila Definición

Más detalles

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 42 Máquinas de Turing IIC3242 IIC3242 Máquinas de Turing 1 / 42 Complejidad Computacional Objetivo: Medir la complejidad computacional de un problema. Vale decir: Medir la cantidad de recursos computacionales

Más detalles

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y CONTENIDO Reconocedores [HMU2.1]. Traductores [C8]. Diagramas de Estado [HMU2.1]. Equivalencia entre AF deterministas y no deterministas [HMU2.2-2.3]. Expresiones [HMU3]. Propiedades de [HMU4]. Relación

Más detalles

Convertir un AFND a un AFD

Convertir un AFND a un AFD Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.

Más detalles

Lenguajes Libres del Contexto

Lenguajes Libres del Contexto Capítulo 3 Lenguajes Libres del Contexto [LP81, cap 3] n este capítulo estudiaremos una forma de representación de lenguajes más potentes que los regulares. Los lenguajes libres del contexto (LC) son importantes

Más detalles

Lenguajes, Gramáticas y Autómatas Conceptos

Lenguajes, Gramáticas y Autómatas Conceptos Lenguajes, Gramáticas y Autómatas Conceptos Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Última revisión: Febrero. 2004 11/02/2004 1 Índice Alfabetos, palabras y

Más detalles

El Autómata con Pila

El Autómata con Pila El Autómata con Pila Una Generalización del Autómata Finito Universidad de Cantabria Esquema 1 2 3 4 Los autómatas son abstracciones de maquinas de calcular, como hemos visto. Los más sencillos no tienen

Más detalles

Otras propiedades de los lenguajes regulares

Otras propiedades de los lenguajes regulares Capítulo 3 Otras propiedades de los lenguajes regulares En los dos capítulos anteriores hemos presentado las propiedades básicas de los lenguajes regulares pero no hemos visto cómo se puede demostrar que

Más detalles

Computabilidad y Lenguajes Formales: Autómatas Finitos

Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. No Determinismo Hasta ahora cada

Más detalles

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto EJERCICIOS del TEMA 3: Lenguajes independientes del contexto Sobre GICs (gramáticas independientes del contexto) 1. Sea G una gramática con las siguientes producciones: S ASB ε A aab ε B bba ba c ) d )

Más detalles

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 7 Máquina de Turing Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 7 Máquina de Turing 2010 1 / 43

Más detalles

Clases de complejidad computacional: P y NP

Clases de complejidad computacional: P y NP 1er cuatrimestre 2006 La teoría de Se aplica a problemas de decisión, o sea problemas que tienen como respuesta SI o NO (aunque es sencillo ver que sus implicancias pueden extenderse a problemas de optimización).

Más detalles

Procesadores de Lenguaje

Procesadores de Lenguaje Procesadores de Lenguaje Analizadores sintácticos descendentes: LL(1) Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 Analizadores sintácticos

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales y Derivadas Formales Las Derivadas Sucesivas. Universidad de Cantabria Esquema 1 2 3 Derivadas Sucesivas Recordemos que los lenguajes de los prefijos dan información sobre los lenguajes. Derivadas Sucesivas

Más detalles

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003

Interrogación 2. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003 Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Interrogación 2 IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Esta interrogación

Más detalles

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene

Más detalles

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo Autómatas Mínimos Encontrar el autómata mínimo. Universidad de Cantabria Introducción Dado un lenguaje regular sabemos encontrar un autómata finito. Pero, hay autómatas más sencillos que aceptan el mismo

Más detalles

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en

Más detalles

1. Funciones de varias variables

1. Funciones de varias variables Coordinación de Matemáticas III (MAT 023) 1 er Semestre de 2013 1. Funciones de varias variables 1.1. Definiciones básicas Definición 1.1. Consideremos una función f : U R n R m. Diremos que: 1. f es una

Más detalles

1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO

1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO 1.-DEFINE EN QUE CONSISTEN LAS GRAMÁTICAS LIBRES DE CONTEXTO una gramática libre de contexto (o de contexto libre) es una gramática formal en la que cada regla de producción es de la forma: V w Donde V

Más detalles

3.3 Autómatas de Pila (AP) [LP81, sec 3.3]

3.3 Autómatas de Pila (AP) [LP81, sec 3.3] 3.3. AUTÓMATAS DE PILA (AP) 49 Ejemplo 3.8 Tal como con ERs, no siempre es fácil diseñar una GLC que genere cierto lenguaje. Un ejercicio interesante es {w {a,b}, w tiene la misma cantidad de a s y b s

Más detalles

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS Licenciatura en Sistemas de Información PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS UNSE FCEyT 1. DESCRIPCIÓN Este taller consta de tres partes. En cada una de ellas se especifican

Más detalles

Tema: Autómatas de Estado Finitos

Tema: Autómatas de Estado Finitos Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Autómatas de Estado Finitos Contenido En esta guía se aborda la aplicación de los autómatas en el campo de

Más detalles

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto Universidad Autónoma del Estado de México Centro Universitario UAEM Texcoco Departamento de Ciencias Aplicadas. Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer,

Más detalles

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que Capítulo II Cardinalidad Finita II.1. Cardinalidad Definimos I n para n N como I n = {k N : 1 k n}. En particular I 0 =, puesto que 0 < 1. Esto es equivalente a la definición recursiva { si n = 0 I n =

Más detalles

Propiedades de lenguajes independientes del contexto

Propiedades de lenguajes independientes del contexto Capítulo 12. Propiedades de lenguajes independientes del contexto 12.1. Identificación de lenguajes independientes del contexto Lema de bombeo. 12.2. Propiedades Cierre, Complemento de lenguajes, Sustitución,

Más detalles

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO Autómatas de pila y lenguajes independientes del contexto -1- AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO AUTÓMATAS DE PILA - Son autómatas finitos con una memoria en forma de pila. - Símbolos

Más detalles

Gramáticas libres de contexto

Gramáticas libres de contexto Gramáticas libres de contexto Conceptos básicos El siguientes es un ejemplo de una gramática libre de contexto, a la cual llamaremos G1. A 0A1 A B B # Una gramática consiste de una colección de reglas

Más detalles

Estructuras algebraicas. Departamento de Álgebra. Apuntes de teoría

Estructuras algebraicas. Departamento de Álgebra.  Apuntes de teoría ESTRUCTURAS ALGEBRAICAS GRADO EN MATEMÁTICAS. CURSO 2015/2016 Apuntes de teoría Tema 1: Grupos y subgrupos. 1.1. Introducción Definición 1.1. Un grupo es un par (G, ), donde G es un conjunto no vacío,

Más detalles

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha. s s INAOE en s (INAOE) 1 / 67 Contenido s en s 1 s 2 3 4 5 6 7 8 en s (INAOE) 2 / 67 s s s Hemos visto que muchos lenguajes no son regulares. Por lo que necesitamos una clase más grande de lenguages Las

Más detalles

16 Análisis sintáctico I

16 Análisis sintáctico I 2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura

Más detalles

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Autómata = Lógica Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares Pero antes: Vamos a hacer un breve repaso sobre

Más detalles

LENGUAJES FORMALES Y AUTÓMATAS

LENGUAJES FORMALES Y AUTÓMATAS LENGUAJES FORMALES Y AUTÓMATAS Departamento de Lenguajes y Sistemas Informáticos Escuela Técnica Superior de Ingeniería Informática Universidad de Sevilla Víctor J. Díaz Madrigal José Miguel Cañete Valdeón

Más detalles

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A

b) Sea una relación de equivalencia en A y una operación en A. Decimos que y son compatibles si a b a c b c y c a c b para todo a, b, c A APENDICE Relaciones y Operaciones Compatibles 1 Definición: a) Sea A un conjunto y una relación entre elementos de A. Decimos que es una relación de equivalencia si es: i Reflexiva: a A, a a. ii Simétrica:

Más detalles

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta. (a) Es posible aceptar por stack vacío el lenguaje {0 i 1 j i = j o j = 2i} con un AA determinístico.

Más detalles

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Qué es un computador? Todos lo sabemos!!!

Más detalles

Introducción a los códigos compresores

Introducción a los códigos compresores Introducción a los códigos compresores Parte I de la Lección 2, Compresores sin pérdidas, de CTI Ramiro Moreno Chiral Dpt. Matemàtica (UdL) Febrero de 2010 Ramiro Moreno (Matemàtica, UdL) Introducción

Más detalles

Terminaremos el capítulo con una breve referencia a la teoría de cardinales.

Terminaremos el capítulo con una breve referencia a la teoría de cardinales. TEMA 5. CARDINALES 241 Tema 5. Cardinales Terminaremos el capítulo con una breve referencia a la teoría de cardinales. Definición A.5.1. Diremos que el conjunto X tiene el mismo cardinal que el conjunto

Más detalles

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales 6. Autómatas a Pila Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar

Más detalles

Lógica Proposicional (LP)

Lógica Proposicional (LP) Lógica Proposicional (LP) Proposición Enunciado del que puede afirmarse si es verdadero o falso Oración declarativa Cuáles de las siguientes son proposiciones? ) Pedro es alto. 2) Juan es estudiante. 3)

Más detalles

Paréntesis: Una aplicación en lenguajes formales

Paréntesis: Una aplicación en lenguajes formales Paréntesis: Una aplicación en lenguajes formales Vamos a ver una aplicación del Teorema de Immerman-Szelepcsényi en la área de lenguajes formales. IIC3242 Clases de Complejidad 35 / 69 Paréntesis: Una

Más detalles

1. Conjuntos y funciones

1. Conjuntos y funciones Centro de Matemática Facultad de Ciencias Universidad de la República Introducción a la Topología Curso 2016 PRACTICO 1: CONJUNTOS. 1 1. Conjuntos y funciones Ejercicio 1. Si I es un conjunto y A α es

Más detalles

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total. U.R.J.C. Ingeniera Técnica en Informática de Sistemas Teoría de Autómatas y Lenguajes Formales Junio 2009 2do. Parcial Normas : La duración del examen es de 2 horas. Todos los ejercicios se entregarán

Más detalles

y tenemos que f(x) > M < 1 M 1 f(x) < 1 M 3x 5 (x 2) 2 = +

y tenemos que f(x) > M < 1 M 1 f(x) < 1 M 3x 5 (x 2) 2 = + Teorema. Suponga que f() > 0 ( 0 δ, 0 + δ) donde 0 es punto de acumulación del Dom f, Demostración. ( ) Supongamos que esto quiere decir f() = + 0 f() = + 0 0 M > 0 R δ > 0 A con 0 < 0 < δ f() > M si M

Más detalles

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014 Teoría de Lenguajes Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014 Estas notas están basadas en el material compilado por el Profesor

Más detalles

Tema 2: Los Autómatas y su Comportamiento

Tema 2: Los Autómatas y su Comportamiento Departamento de Computación Universidade da Coruña Bisimulación y procesos concurrentes Tema 2: Los Autómatas y su Comportamiento Carmen Alonso Montes carmen@dc.fi.udc.es Noelia Barreira Rodríguez noelia@dc.fi.udc.es

Más detalles

Números naturales y recursividad

Números naturales y recursividad Números naturales y recursividad Rafael F. Isaacs G. * Fecha: 12 de abril de 2004 Números naturales Cuál es el primer conjunto de números que estudiamos desde la escuela primaria? Se sabe que los números

Más detalles

13.3. MT para reconocer lenguajes

13.3. MT para reconocer lenguajes 13.3. MT para reconocer lenguajes Gramática equivalente a una MT Sea M=(Γ,Σ,,Q,q 0,f,F) una Máquina de Turing. L(M) es el lenguaje aceptado por la máquina M. A partir de M se puede crear una gramática

Más detalles

Ejercicios de lógica

Ejercicios de lógica 1. Sistemas formales. Ejercicios de lógica 1. Considere el siguiente sistema formal: Símbolos: M, I, U. Expresiones: cualquier cadena en los símbolos. Axioma: UMUIUU Regla de inferencia: xmyiz xumyuizuu

Más detalles

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones

Inducción Matemática Conjuntos Funciones. Matemática Discreta. Agustín G. Bonifacio UNSL. Repaso de Inducción, Conjuntos y Funciones UNSL Repaso de Inducción, y Inducción Matemática (Sección 1.7 del libro) Supongamos que queremos demostrar enunciados del siguiente tipo: P(n) : La suma de los primeros n números naturales es n(n+1)

Más detalles

Grupos libres. Presentaciones.

Grupos libres. Presentaciones. S _ Tema 12.- Grupos libres. Presentaciones. 12.1 Grupos libres. En el grupo Z de los enteros vimos una propiedad (cf. ejemplos.5), que lo caracteriza como grupo libre. Lo enunciamos al modo de una Propiedad

Más detalles

Lenguajes y Gramáticas

Lenguajes y Gramáticas Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas

Más detalles

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I Tema 3: Gramáticas regulares Teoría de autómatas y lenguajes formales I Bibliografía Hopcroft, J. E., Motwani, R., y Ullman, J. D. Introducción a la Teoría de Autómatas, Lenguajes y Computación. Addison

Más detalles

Semana05[1/14] Relaciones. 28 de marzo de Relaciones

Semana05[1/14] Relaciones. 28 de marzo de Relaciones Semana05[1/14] 28 de marzo de 2007 Introducción Semana05[2/14] Ya en los capítulos anteriores nos acercamos al concepto de relación. Relación Dados un par de conjuntos no vacíos A y B, llamaremos relación

Más detalles

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones

Semana 09 [1/28] Sucesiones. 29 de abril de Sucesiones Semana 09 [1/28] 29 de abril de 2007 Semana 09 [2/28] Definición Sucesión Una sucesión real es una función: f : N R n f (n) Observaciones Para distinguir a una sucesión de las demás funciones, se ocupará

Más detalles

Límite superior y límite inferior de una sucesión

Límite superior y límite inferior de una sucesión Límite superior y límite inferior de una sucesión Objetivos. Definir las nociones de los límites superior e inferior de una sucesión y estudiar sus propiedades básicas. Requisitos. Supremo e ínfimo de

Más detalles

1. Sucesiones y redes.

1. Sucesiones y redes. 1. Sucesiones y redes. PRACTICO 7. REDES. Se ha visto que el concepto de sucesión no permite caracterizar algunas nociones topológicas, salvo en espacios métricos. Esto empieza con algunas definiciones

Más detalles

Sucesiones monótonas Monotonía. Tema 6

Sucesiones monótonas Monotonía. Tema 6 Tema 6 Sucesiones monótonas Vamos a discutir ahora una importante propiedad de ciertas sucesiones de números reales: la monotonía. Como primer resultado básico, probaremos que toda sucesión monótona y

Más detalles

Conjuntos finitos y conjuntos numerables

Conjuntos finitos y conjuntos numerables Tema 3 Conjuntos finitos y conjuntos numerables En este tema vamos a usar los números naturales para contar los elementos de un conjunto, o dicho con mayor precisión, para definir los conjuntos finitos

Más detalles

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados.

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados. ESTRUCTURAS ALGEBRAICAS GRADO EN MATEMÁTICAS. CURSO 215/216 Tema 2: Teorema de estructura de los grupos abelianos finitamente generados. 1.1. Grupo abeliano libre. Bases. Definición 1.1. El grupo Z n con

Más detalles

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ). ALGEBRA La primera parte del presente libro está dedicada a las estructuras algebraicas. En esta parte vamos a iniciar agregándole a los conjuntos operaciones. Cuando las operaciones tienen determinadas

Más detalles

Conjuntos, relaciones y funciones Susana Puddu

Conjuntos, relaciones y funciones Susana Puddu Susana Puddu 1. Repaso sobre la teoría de conjuntos. Denotaremos por IN al conjunto de los números naturales y por ZZ al de los enteros. Dados dos conjuntos A y B decimos que A está contenido en B o también

Más detalles

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial Tema 1 Espacios Vectoriales. 1.1. Definición de Espacio Vectorial Notas 1.1.1. Denotaremos por N, Z, Q, R, C, a los conjuntos de los números Naturales, Enteros, Racionales, Reales y Complejos, respectivamente.

Más detalles

Las variedades lineales en un K-espacio vectorial V pueden definirse como sigue a partir de los subespacios de V.

Las variedades lineales en un K-espacio vectorial V pueden definirse como sigue a partir de los subespacios de V. Capítulo 9 Variedades lineales Al considerar los subespacios de R 2, vimos que éstos son el conjunto {(0, 0)}, el espacio R 2 y las rectas que pasan por el origen. Ahora, en algunos contextos, por ejemplo

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 9 La Jerarquía de Chomsky Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 9 La Jerarquía de Chomsky

Más detalles

Tema 3: Espacios vectoriales

Tema 3: Espacios vectoriales Tema 3: Espacios vectoriales K denotará un cuerpo. Definición. Se dice que un conjunto no vacio V es un espacio vectorial sobre K o que es un K-espacio vectorial si: 1. En V está definida una operación

Más detalles

Límites Laterales. El límite por la derecha se denota. x 2 + x 2 = 1. x 2. x + x 2. x = x + x 2. El límite por la izquierda se denota

Límites Laterales. El límite por la derecha se denota. x 2 + x 2 = 1. x 2. x + x 2. x = x + x 2. El límite por la izquierda se denota Límites Laterales Denición. Si f : D R R y x 0 es un punto de D, decimos que l d es ite de f en x 0 por la derecha si ɛ > 0 δ ɛ > 0 f(x) l d < ɛ si 0 < x x 0 < δ ɛ ɛ > 0 δ ɛ > 0 f(x) l d < ɛ si x 0 < x

Más detalles

1 LIMITES Y DERIVADAS

1 LIMITES Y DERIVADAS 1 LIMITES Y DERIVADAS 2.1 LA TANGENTE Y PROBLEMAS DE LA VELOCIDAD Problema de la tangente Se dice que la pendiente de la recta tangente a una curva en el punto P es el ite de las rectas secantes PQ a medida

Más detalles

LOS AXIOMAS DE PEANO Y EL PRINCIPIO DE INDUCCIÓN MATEMÁTICA

LOS AXIOMAS DE PEANO Y EL PRINCIPIO DE INDUCCIÓN MATEMÁTICA LOS AXIOMAS DE PEANO Y EL PRINCIPIO DE INDUCCIÓN MATEMÁTICA OMAR HERNÁNDEZ RODRÍGUEZ Y JORGE M. LÓPEZ FERNÁNDEZ Resumen. En este escrito N representa el conjunto de los números naturales y para cada n

Más detalles

Lenguajes Regulares. Antonio Falcó. - p. 1

Lenguajes Regulares. Antonio Falcó. - p. 1 Lenguajes Regulares Antonio Falcó - p. 1 Cadenas o palabras I Una cadena o palabra es una sucesión finita de símbolos. cadena {c, a, d, e, n}. 10001 {0, 1} El conjunto de símbolos que empleamos para construir

Más detalles

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal

Matemáticas. ticas Discretas. Lenguajes y Gramáticas. Tenemos dos clases de lenguaje: Lenguaje Formal Matemáticas ticas Discretas y Gramáticas y Gramáticas Tenemos dos clases de lenguaje: Lenguaje Natural Lenguaje Formal Lenguaje Formal De acuerdo al diccionario Webster, un lenguaje es un cuerpo de palabras

Más detalles

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción

Más detalles

Introducción a la Lógica y la Computación

Introducción a la Lógica y la Computación Introducción a la Lógica y la Computación Parte III: Lenguajes y Autómatas Clase del 12 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/11 Lenguajes Regulares

Más detalles

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo.

Tema 2. Grupos. 3. El conjunto de matrices de orden 2 con coeficientes enteros (o reales) con la suma es un grupo conmutativo. Tema 2. Grupos. 1 Grupos Definición 1 Un grupo es una estructura algebraica (G, ) tal que la operación binaria verifica: 1. * es asociativa 2. * tiene elemento neutro 3. todo elemento de G tiene simétrico.

Más detalles

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 ALGORITMOS DIGITALES II Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 OBJETIVOS Conocer los principios básicos de los algoritmos. Establecer paralelos entre los algoritmos, los programas y las

Más detalles