9 La Jerarquía de Chomsky

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

Download "9 La Jerarquía de Chomsky"

Transcripción

1 1 Curso Básico de Computación 9 La Jerarquía de Chomsky De las tres principales clases de lenguajes que se han estudiado -los conjuntos regulares, los lenguajes libres de contexto, y los lenguajes recursivamente enumerables- únicamente los LLC son los que se han caracterizado gramaticalmente. En este capítulo, se darán definiciones gramaticales de los conjuntos regulares y los lenguajes r.e. También, se introducirá una nueva clase de lenguajes, que viven entre los LLC y los lenguajes r.e., proporcionando ambas caracterizaciones máquina y gramatical para esta nueva clase. Las cuatro clases de lenguajes son a menudo llamadas la jerarquía de Chomsky, en honor a Noam Chomsky, quién definió estas clases como modelos potenciales de lenguajes naturales. 9.1 Gramáticas Regulares Si todas las producciones de una GLC son de la forma A wb o A w, donde A y B son variables y w es una cadena de terminales (posiblemente vacía), entonces se dice que la gramática es lineal derecha. Si todas las producciones son de la forma A Bw o A w, entonces la gramática se llama lineal izquierda. Una gramática lineal derecha o izquierda se conoce como gramática regular. Ejemplo 9.1 El lenguaje 0(10) puede ser generado por la gramática lineal derecha y por la gramática lineal izquierda S 0A A 10A ɛ S S10 0 Equivalencia entre gramáticas regulares y autómatas finitos Las gramáticas regulares caracterizan a los conjuntos regulares, en el sentido de que un lenguaje es regular si y sólo si tiene una gramática lineal izquierda y si y sólo si tiene una gramática lineal derecha. Estos resultados se prueban en los dos teoremas siguientes. Teorema 9.1 Si L tiene una gramática regular, entonces L es un conjunto regular.

2 Feliú Sagols Troncoso Matemáticas-Cinvestav 2 Demostración Primero, supóngase que L = L(G) para alguna gramática lineal derecha G = (V, T, P, S). Se construye un AFND con movimientos ɛ, M = (Q, T, δ, [S], {[ɛ]}) que simule derivaciones en G. Q consiste de los símbolos [α] tales que α es S o un sufijo (no necesariamente propio) del lado derecho de alguna producción en P. Defínase δ por: 1. Si A es una variable, entonces δ([a], ɛ) = {[α] A α es una producción}. 2. Si a está en T y α está en T T V, entonces δ([aα], a) = {[α]}. Entonces una sencilla inducción sobre la longitud de una derivación o sucesión de movimientos muestra que δ([s], w) contiene [α] si y sólo si S xa xyα, donde A yα es una producción y xy = w, o si α = S y w = ɛ. Como [ɛ] es el estado final único, M acepta w si y sólo si S xa w. Pero como cada derivación de una cadena terminal tiene por lo menos un paso, se puede ver que M acepta w si y sólo si G genera a w. Por lo tanto, cada gramática lineal derecha genera un conjunto regular. Ahora, sea G = (V, T, P, S) una gramática lineal izquierda. Considérese G = (V, T, P, S) donde P contiene las producciones de G con lados derechos invertidos, esto es, P = {A α A α R está en P }. Si se invierten las producciones de una gramática lineal izquierda se obtiene una gramática lineal derecha, y viceversa. Así, G es una gramática lineal derecha, y es fácil mostrar que L(G ) = L(G) R. Por lo anterior, L(G ) es un conjunto regular. Pero como los conjuntos regulares son cerrados bajo inversión, entonces L(G ) R = L(G) es también un conjunto regular. Luego, cada gramática lineal derecha o izquierda define un conjunto regular. Ejemplo 9.2 El AFND construido por el Teorema 9.1 a partir de la primera gramática del Ejemplo 9.1 se muestra en la siguiente figura: Start [S] ε [0A] 0 [A] ε [ ε ] 1 ε [10A] Ahora considérese la segunda gramática del Ejemplo 9.1. Si se invierten sus producciones, se obtiene

3 3 Curso Básico de Computación S 01S 0 La construcción en el Teorema 9.1 para esta gramática produce el AFND de la siguiente figura: ε 0 Start [S] [01S] [1S] 1 ε [0] 0 [ ε] Si se invierten las aristas de dicho AFND e intercambian los estados inicial y final, se obtiene otro AFND para 0(10) : 0 ε 1 Start [ ε ] [0] [S] [1S] [01S] ε 0 Teorema 9.2 Si L es un conjunto regular, entonces L es generado por alguna gramática lineal izquierda y por alguna gramática lineal derecha. Demostración Sea L = L(M) para el AFD M = (Q, Σ, δ, q 0, F ). Primero supóngase que q 0 no es un estado final. Entonces L = L(G) para la gramática lineal derecha G = (Q, Σ, P, q 0 ), donde P consiste de las producciones p aq cuando δ(p, a) = q y p a cuando δ(p, a) es un estado final. Entonces claramente, δ(p, w) = q si y sólo si p wq. Si wa es aceptada por M, sea δ(q 0, w) = p, lo que implica que q 0 wp. También, δ(p, a) es final, entonces p a es una producción. Así, q 0 wa. Recíprocamente, se tiene q 0 x. Entonces x = wa, y q 0 wp wa para algún estado (variable) p. Entonces δ(q 0, w) = p, y δ(p, a) es final. Así x está en L(M). Por lo tanto, L(M) = L(G) = L. Ahora supóngase que q 0 está en F, entonces ɛ está en L. Notése que la gramática G definida arriba genera L {ɛ}. La gramática G puede modificarse añadiendo un nuevo símbolo de inicio S con producciones S q 0 ɛ. La gramática resultante sigue siendo lineal derecha y genera a L. Para producir una gramática lineal izquierda para L, se comienza con un AFND que acepte L R y entonces se invierten los lados derechos de todas las producciones de la gramática lineal derecha resultante. Ejemplo 9.3 En la siguiente figura se puede ver un AFD para 0(10).

4 Feliú Sagols Troncoso Matemáticas-Cinvestav 4 Start A 1 0 B C D 0,1 La gramática lineal derecha para este AFD es: A 0B 1D 0 B 0D 1C C 0B 1D 0 D 0D 1D Como D es una variable inútil, puede eliminarse y obtener la gramática: A 0B 0 B 1C C 0B Gramáticas sin Restricción La familia más grande de gramáticas en la jerarquía de Chomsky permite producciones de la forma α β, donde α y β son cadenas arbitrarias de símbolos de gramáticas, con α ɛ. Estas gramáticas se conocen como semi-thue, tipo 0, estructura de frase o gramáticas sin restricción. Se continuará usando la notación G = (V, T, P, S) para gramáticas sin restricción. Se dice que γαδ γβδ si α β es una producción. Tal como antes, representa la cerradura transitiva y reflexiva de la relación : exactamente como para las GLC. L(G) = {w w está en T y S w}, Ejemplo 9.4 A continuación se presenta una gramática que genera {a i i es potencia positiva de 2}.

5 5 Curso Básico de Computación 1) S ACaB 2) Ca aac 3) CB DB 4) CB E 5) ad Da 6) AD AC 7) ae Ea 8) AE ɛ Las variables A y B sirven como los marcadores finales izquierdo y derecho de las formas sentenciales; C es un marcador que se mueve a través de la cadena de a s entre A y B, duplicando su número debido a la producción (2). Cuando C coincide con el marcador final derecho B, se convierte en D o E según la producción (3) o (4). Si se escoge D, dicha variable se mueve a la izquierda por la producción (5) hasta que el marcador final izquierdo A sea alcanzado. En este punto, D se convierte otra vez en C por la producción (6), y el proceso comienza nuevamente. Si se elige E, el marcador final derecho desaparece. La variable E se mueve a la izquierda por la producción (7) y consume el marcador final derecho, dejando una cadena de 2 i a s para algún i > 0. Se puede probar por inducción sobre el número de pasos en la derivación que si la producción (4) no es utilizada, entonces cualquier forma sentencial es 1. o S, 2. o de la forma Aa i Ca j B, donde i + 2j es una potencia positiva de 2, 3. o de la forma Aa i Da j B, donde i + j es una potencia positiva de 2. Cuando se usa la producción (4) queda una forma sentencial Aa i E, donde i es una potencia positiva de 2. Entonces los únicos pasos posibles en una derivación son i aplicaciones de (7) para producir AEa i seguidos de una aplicación de (8), lo que produce a i donde i es una potencia positiva de 2. Equivalencia entre gramáticas de tipo 0 y máquinas de Turing Los siguientes dos teoremas prueban que las gramáticas sin restricción caracterizan los lenguajes recursivamente enumerables (r.e.). El primer teorema afirma que todo lenguaje de tipo 0 genera un conjunto recursivamente enumerable. Una sencilla prueba bastaría para dar un algoritmo que enumere todas las cadenas generadas por una gramática de tipo 0. En vez de esto, se construye una máquina de Turing que reconoce enunciados generados por una gramática de tipo 0, ya que esta construcción servirá más

6 Feliú Sagols Troncoso Matemáticas-Cinvestav 6 tarde para una prueba similar sobre gramáticas sensibles al contexto (la clase que resta en la jerarquía de Chomsky). Teorema 9.3 Si L es L(G) para la gramática sin restricción G = (V, T, P, S), entonces L es un lenguaje recursivamente enumerable. Demostración Se contruye una máquina de Turing no determinística M con dos cintas que reconoce L. La primer cinta de M es la entrada, sobre la cual se coloca una cadena w. La segunda cinta se usa para mantener una forma sentencial α de G. La máquina M inicializa α con S. Entonces M hace lo siguiente repetidamente: 1. Selecciona de manera no determinística una posición i en α, para que cualquier i entre 1 y α pueda ser elegido. Esto es, empieza a la izquierda y repetidamente elige moverse a la derecha o selecciona la posición actual. 2. Selecciona de manera no determinística una producción β γ de G. 3. Si β aparece comenzando en la posición i de α, reemplaza β por γ, u- sando la técnica de corrimiento de la sección 7.4, quizás recorriendo a la izquierda si γ < β. 4. Compara la forma sentencial resultante con w en la cinta 1. Si coinciden, acepta; w es una sentencia de G. Si no, se va al paso (1). Es fácil mostrar que todas y cada una de las formas sentenciales de G aparecen en la cinta 2 cuando se ejecuta el paso (4) después de alguna sucesión de elecciones. Así, L(M) = L(G) = L, luego, L es recursivamente enumerable. Teorema 9.4 Si L es un lenguaje r.e., entonces L = L(G) para alguna gramática G sin restricción. Demostración Supóngase que L es aceptado por una máquina de Turing M = (Q, Σ, Γ, δ, q 0, B, F ). Se construye una gramática G que genera de manera no determinística 2 copias de una representación de alguna palabra en Σ y que luego simula la acción de M sobre una copia. Si M acepta la palabra, entonces G convierte la segunda copia en una cadena terminal. Si M no la acepta, la derivación nunca llevará a una cadena terminal. Formalmente, sea donde y las producciones en P son: G = (V, Σ, P, A 1 ), V = ((Σ {ɛ}) Γ) {A 1, A 2, A 3 }

7 7 Curso Básico de Computación 1) A 1 q 0 A 2 2) A 2 [a, a]a 2 para cada a en Σ. 3) A 2 A 3 4) A 3 [ɛ, B]A 3 5) A 3 ɛ 6) q[a, X] [a, Y ]p para cada a en Σ ɛ y cada q en Q y; X y Y en Γ, tal que δ(q, X) = (p, Y, R). 7) [b, Z]q[a, X] p[b, Z][a, Y ] para cada X, Y y Z en Γ, a y b en Σ ɛ y q en Q, tal que δ(q, X) = (p, Y, L). 8) [a, X]q qaq, q[a, X] qaq, y q ɛ para cada a en Σ ɛ, X en Γ, y q en F. Aplicando las reglas (1) y (2), se tiene que A 1 q 0 [a 1, a 1 ][a 2, a 2 ] [a n, a n ]A 2, donde a i está en Σ para cada i. Supóngase que M acepta la cadena a 1 a 2 a n. Entonces para alguna m, la máquina M no usa más que m celdas hacia la derecha de su entrada. Aplicando la regla (3), luego, la regla (4) m veces, y finalmente la regla (5), se tiene A 1 q 0 [a 1, a 1 ][a 2, a 2 ] [a n, a n ][ɛ, B] m. A partir de este punto, sólo las reglas (6) y (7) pueden usarse hasta que un estado de aceptación se genere. Nótese que las primeras componentes de las variables en (Σ ɛ) Γ nunca cambian. Se puede mostrar por inducción sobre el número de movimientos hechos por M que si entonces q 0 a 1 a 2 a n * M X 1 X 2 X r 1 qx r X s, q 0 [a 1, a 1 ][a 2, a 2 ] [a n, a n ][ɛ, B] m * G [a 1, X 1 ][a 2, X 2 ] [a r 1, X r 1 ]q[a r, X r ] [a n+m, X n+m ], donde a 1, a 2,..., a n están en Σ, a n+1 = a n+2 = = a n+m = ɛ, X 1, X 2,..., X n+m están en Γ, X s+1 = X s+2 = = X n+m = B. La hipótesis inductiva se cumple trivialmente para cero movimientos, ya que r = 1 y s = n. Supóngase válido para k 1 movimientos y sea q 0 a 1 a 2 a n k 1 M X 1 X 2 X r 1 qx r X s M Y 1 Y 2 Y t 1 py t Y u. Por hipótesis inductiva, q 0 [a 1, a 1 ] [a n, a n ][ɛ, B] m * G [a 1, X 1 ] [a r 1, X r 1 ]q[a r, X r ] [a n+m, X n+m ],

8 Feliú Sagols Troncoso Matemáticas-Cinvestav 8 donde las a s y X s satisfacen las condiciones a 1, a 2,..., a n están en Σ, a n+1 = a n+2 = = a n+m = ɛ, X 1, X 2,..., X n+m están en Γ, X s+1 = X s+2 = = X n+m = B. Si t = r + 1, entonces el k-ésimo movimiento de M es hacia la derecha, luego, δ(q, X r ) = (p, Y r, R). Por la regla (6), q[a r, X r ] [a r, Y r ]p es una producción de G. Así q 0 [a 1, a 1 ] [a n, a n ][ɛ, B] m * G [a 1, Y 1 ] [a t 1, Y t 1 ]p[a t, Y t ] [a n+m, Y n+m ], donde Y i = B para i > u. Si t = r 1, entonces el k-ésimo movimiento de M es hacia la izquierda, y q 0 [a 1, a 1 ] [a n, a n ][ɛ, B] m * G [a 1, Y 1 ] [a t 1, Y t 1 ]p[a t, Y t ] [a n+m, Y n+m ], se puede probar aplicando la regla (7) y las observaciones de que r > 1 y δ(q, X r ) = (p, Y r, L). Por la regla (8), si p está en F entonces [a 1, Y 1 ] [a t 1, Y t 1 ]p[a t, Y t ] [a n+m, Y n+m ] a 1 a 2 a n. Se ha mostrado así que si w está en L(M), entonces A 1 w, entonces w está en L(G). Para el recíproco, es decir, que w en L(G) implica que w está L(M), una inducción similar a la anterior muestra que implica q 0 [a 1, a 1 ][a 2, a 2 ] [a n, a n ][ɛ, B] m * G [a 1, X 1 ][a 2, X 2 ] [a r 1, X r 1 ]q[a r, X r ] [a n+m, X n+m ], q 0 a 1 a 2 a n * M X 1 X 2 X r 1 qx r X s. Entonces nótese que no hay manera de remover el estado de M de las formas sentenciales de G sin aplicar la regla (8). Así G no puede derivar una cadena terminal sin simular un proceso de aceptación de M. Por la regla (8), la cadena derivada debe ser la primer componente de las variables en (Σ {ɛ}) Γ, las cuales nunca cambian al simular los movimientos de M. 9.3 Gramáticas Sensibles al Contexto Supógase que se impone la restricción sobre las producciones α β de una gramática irrestricta de que β tenga por lo menos la longitud de α. Entonces la gramática resultante se llama sensible al contexto y su lenguaje se conoce como lenguaje sensible al contexto(gsc y LSC, respectivamente). El término sensible al contexto proviene de una forma normal para estas

9 9 Curso Básico de Computación gramáticas, donde cada producción es de la forma α 1 Aα 2 α 1 βα 2, con β ɛ. Las producciones de la forma anterior se parecen a las producciones en una gramática libre de contexto, sólo que las primeras permiten la sustitución de la variable A por la cadena β sólo en el contexto α 1 α 2. Casi cualquier lenguaje puede pensarse como sensible al contexto. Las únicas pruebas conocidas de que ciertos lenguajes no son LSC se basan en la técnica de diagonalización. Estos incluyen al lenguaje L u del capítulo 8 y los lenguajes que se pueden reducir a L u, por ejemplo, los lenguajes del capítulo 8 probados como indecidibles. En la sección 9.4 se probará que existen lenguajes recursivos que no son LSC, y en el capítulo 12 se refinará esta afirmación. En ambos casos, las pruebas se hacen por diagonalización. Ejemplo 9.5 Considérese nuevamente la gramática del Ejemplo 9.4. Existen dos producciones que violan la definición de una gramática sensible al contexto. Estas son CB E y AE ɛ. Se puede construir una GSC para el lenguaje {a 2i i 1} haciendo que A, B, C, D, y E no sean más que marcadores, los cuales desaparecerán finalmente. En lugar de usar variables por separado para los marcadores, estos marcadores pueden incorporarse a las a s creando variables compuestas como [CaB], que son en realidad, un solo símbolo que aparece en lugar de la cadena CaB. El conjunto completo de símbolos compuestos necesario para simular la gramática del Ejemplo 9.4 es [ACaB], [Aa], [ACa], [ADa], [AEa], [Ca], [Da], [Ea], [acb], [CaB], [adb], [ae], [DaB] y [ab]. Las producciones de la gramática sensible al contexto, las cuales se agrupan de acuerdo a la producción que simulan del Ejemplo 9.4, son:

10 Feliú Sagols Troncoso Matemáticas-Cinvestav 10 1) S [ACaB] 2) [Ca]a aa[ca] [Ca][aB] aa[cab] [ACa]a [Aa]a[Ca] [ACa][aB] [Aa]a[CaB] [ACaB] [Aa][aCB] [CaB] a[acb] 3) acb [adb] 4) [acb] [ae] 5) a[da] [Da]a [adb] [DaB] [Aa][Da] [ADa]a a[dab] [Da][aB] [Aa][DaB] [ADa][aB] 6) [ADa] [ACa] 7) a[ea] [Ea]a [ae] [Ea] [Aa][Ea] [AEa]a 8) [AEa] a Se puede probar directamente que S α en la gramática del ejemplo 9.4 si y sólo si S α en la GSC actual, donde α se forma a partir de α agrupando con una a todos los marcadores (A hasta E) que aparecen entre ella y la a a su izquierda y agrupando con la primera a cualesquiera marcadores hacia su izquierda con la última a cualesquiera marcadores hacia su derecha. Por ejemplo, si α = AaaCaB, entonces α es [Aa]a[CaB]. Autómatas Lineales Acotados Ahora se introducirá una caracterización de los LSC. Un autómata lineal acotado (ALA) es una máquina de Turing no determinística que satisface las dos condiciones siguientes: 1. Su alfabeto de entrada incluye dos símbolos especiales c y $, los marcadores finales izquierdo y derecho, respectivamente. 2. El ALA no tiene movimientos a la izquierda de c o a la derecha de $, ni siquiera puede escribir otro símbolo sobre c o $. El autómata lineal acotado es simplemente una máquina de Turing que en lugar de tener una cinta infinita sobre la cual escribir, se restringe a la porción de la cinta que contiene a la entrada x más los dos cuadros de cinta que guardan a los marcadores finales. En el capítulo 12, se verá que restringir la máquina de Turing a una cantidad de cinta que, para cada entrada, está acotada por alguna función lineal

11 11 Curso Básico de Computación de la longitud de la entrada, tiene la misma capacidad computacional que restringir la máquina de Turing a la porción de la cinta que contiene la entrada. De ahí el nombre de autómata lineal acotado. Un ALA se denotará por M = (Q, Σ, Γ, δ, q 0, c, $, F ), donde Q, Σ, Γ, δ, q 0 y F son como en la definición de MT no determinística; c y $ son símbolos en Σ, los marcadores finales izquierdo y derecho. El lenguaje aceptado por M, L(M), es {w w está en (Σ {c, $}) y q 0 c w$ αqβ para alguna q en F }. Nótese que los marcadores finales están inicialmente sobre la cinta de entrada pero no se considerán parte de la palabra a ser aceptada o rechazada. Como un ALA no puede moverse fuera de la entrada, no es necesario suponer que hay cinta en blanco a la derecha de $. Equivalencia entre gramáticas sensibles al contexto y autómatas lineales acotados Ahora se mostrará que excepto por el hecho de que un ALA puede aceptar ɛ mientras una GSC no puede generar ɛ, los ALA aceptan exactamente a los LSC. Teorema 9.5 Si L es un LSC, entonces L es aceptado por algún ALA. Demostración La prueba es casi la misma que la del Teorema 9.3. La única diferencia es que mientras la MT del Teorema 9.3 generaba formas sentenciales de una gramática sin restricción sobre una segunda cinta, el ALA utiliza una segunda pista de su cinta de entrada. Al encontrar c w$ en su cinta, el ALA comienza escribiendo el símbolo S sobre una segunda pista abajo del símbolo más a la izquierda de w. Si w = ɛ, el ALA para sin aceptar. En seguida, el ALA adivina una producción y una posición en la forma sentencial escrita sobre la segunda pista repetidamente. Aplica la producción, intercambiando la porción de la forma sentencial a la derecha siempre que la forma sentencial se expanda. Si, sin embargo, la nueva forma sentencial es más larga que w, el ALA para sin aceptar. Así, el ALA acepta w si existe una derivación S w tal que ninguna forma sentencial intermedia es más larga que w. Pero como el lado derecho de cualquier produccción en una GSC es tan o más largo que el lado izquierdo, no podría existir una derivación S α w, donde α es más larga que w. Así el ALA acepta todas y únicamente las palabras generadas por la GSC.

12 Feliú Sagols Troncoso Matemáticas-Cinvestav 12 Teorema 9.6 Si L = L(M) para el ALA M = (Q, Σ, Γ, δ, q 0, c, $, F ), entonces L {ɛ} es un LSC. Demostración La prueba es análoga a la construcción de una gramática sin restricción a partir de una MT en el Teorema 9.4. Las diferencias radican en que los marcadores finales sobre la cinta del ALA deben incorporarse como símbolos de la cinta adyacentes, y el estado debe ser, a su vez, incorporado al símbolo leído por la cabeza de la cinta. La razón para esto es que si la GSC simulaba el ALA usando símbolos por separado para los marcadores finales, o estado, no podía borrar estos símbolos después, ya que ello necesitaría acortar una forma sentencial, y el lado derecho de cada producción de la GSC es por lo menos tan largo como el lado izquierdo. La generación de una sucesión de parejas, donde la primer componente de dichas parejas forma la cadena terminal a 1 a 2 a n y la segunda componente forma la cinta del ALA se logra con las producciones A 1 [a, q 0 c a]a 2, A 2 [a, a]a 2, A 1 [a, q 0 c a$], A 2 [a, a$], para toda a en Σ {c, $}. Las reglas que simulan al ALA son similares a las reglas (6) y (7) en el Teorema 9.4. Si q es final, entonces se tiene la producción [a, αqβ] a para toda a en Σ {c, $} todas las α y β posibles (esto es, α y/o β podrían incluir c, $ y un símbolo de la cinta). Nótese que el número de producciones definidas es finito. También, se permite el borrado de la segunda componente de una variable si ésta es adyacente a una terminal, por [a, α]b ab, b[a, α] ba para cualquier a y b en Σ {c, $} y todas las α s posibles. Las producciones mostradas explícitamente son sensibles al contexto. Las producciones del ALA simulado pueden construirse con facilidad de modo que preserven la longitud, así la gramática resultante es una GSC. Una prueba de que cualquier palabra w salvo ɛ es aceptada por M si y sólo si es generada por la gramática es paralela a la del Teorema 9.4. Nótese que no existe manera de que la gramática pueda configurar la entrada c $ del ALA o que simule M sobre dicha entrada. Así ɛ no puede ser generado por la gramática ya sea que esté o no en L(M).

13 13 Curso Básico de Computación 9.4 Relaciones entre las clases de lenguajes Las cuatro clases de lenguajes -los conjuntos r.e., los LSC, los LLC, y los conjuntos regulares- son a menudo referidos como lenguajes de tipo 0, 1, 2 y 3, respectivamente. Se puede mostrar que a excepción de la cadena vacía, los lenguajes tipo-i incluyen propiamente a los lenguajes tipo-(i + 1) para i = 0, 1, 2. Primero es necesario mostar que cada LSC es recursivo, y que de hecho, existen lenguajes recursivos que no son LSC. Lenguajes sensibles al contexto y conjuntos recursivos Teorema 9.7 Cada LSC es recursivo. Demostración Dado una GSC G = (V, T, P, S) y una palabra w en Σ de longitud n, se puede verificar si w está en L(G) de la manera siguiente. Constrúyase un grafo cuyos vertices son las cadenas en (V T ) de longitud menor o igual a n. Póngase un arco de α a β si α β. Entonces los caminos en el grafo corresponden a las derivaciones en G, y w está en L(G) si y sólo si existe un camino del vértice para S al vértice para w. Utilícese cualquier algoritmo de búsqueda de caminos para decidir si dicho camino existe. Ejemplo 9.6 Considérese la GSC del Ejemplo 9.5 y la entrada w = aa. Una manera de probar caminos en el grafo es comenzar con la cadena S, y en el i-ésimo paso encontrar las cadenas de longitud menor o igual a n teniendo un camino a partir de S de longitud menor o igual a i. Si se tiene el conjunto para i 1 por decir, S, entonces el conjunto para i es S {β α β para algún α en S y β n}. En el ejemplo se obtienen los siguientes conjuntos: i = 0 : i = 1 : i = 2 : i = 3 :. i = 6 : {S} {S, [ACaB]} {S, [ACaB], [Aa][aCB]} {S, [ACaB], [Aa][aCB], [Aa][aDB], [Aa][aE]} {S, [ACaB], [Aa][aCB], [Aa][aDB], [Aa][aE], [Aa][DaB], [Aa][Ea], [ADa][aB], [AEa]a, [ACa][aB], aa} Como para i = 6 se ve que aa es alcanzable desde S, no se necesita ir más allá. En general, como el número de formas sentenciales de longitud menor o igual a n es finito para cualquier gramática fija y un n fijo, se sabe que finalmente se llegará a un punto donde no se aumenten nuevas formas sentenciales. Como

14 Feliú Sagols Troncoso Matemáticas-Cinvestav 14 el conjunto para i depende sólo del conjunto para i 1, nunca se añadirán cadenas nuevas, así, si para entonces aún no se produce w, ésta nunca se producirá. En este caso w no está en el lenguaje. Para probar que los LSC forman un subconjunto propio de los lenguajes recursivos, se requiere probar algo más general. En particular, se demostrará que cualquier clase de lenguajes que pueda ser enumerada efectivamente, listando una o más máquinas de Turing que paren en todas las entradas, para cada miembro de la clase, es una subclase propia de los lenguajes recursivos. Lema 9.1 Sea M 1, M 2,... una enumeración para algún conjunto de máquinas de Turing que paran en todas las entradas. Entonces existe un lenguaje recursivo que no es L(M i ) para cualquier i. Demostración Sea L el subconjunto de (0 + 1) tal que w está en L si y sólo si M i no acepta w, donde i es el entero cuya representación binaria es w. L es recursivo, ya que dado w, se puede generar M i y verificar si w está o no en L(M i ). Pero ninguna MT de la lista acepta L. Supóngase que L fuera L(M j ), y sea x la representación binaria de j. Si x está en L, entonces x no está en L(M j ), y si x no está en L, entonces x está en L(M j ). Así L L(M j ) como se supuso. Por lo tanto, L es un lenguaje recursivo que no es L(M j ) para cualquier j. Teorema 9.8 Existe un lenguaje recursivo que no es sensible de contexto. Demostración Por el Lema 9.1, sólo se necesita mostrar que se pueden enumerar máquinas de Turing que se detienen para los LSC sobre el alfabeto {0,1}. Sea la representación cuádruple para GSC con alfabeto terminal {0,1} dada por alguna codificación binaria. Por ejemplo, se pueden denotar 0, 1, coma,, {, }, ( y ) por 10, 100,...,10 8, repectivamente, y denotar a la i-ésima variable por 10 i+8. Sea M j la máquina de Turing que implementa el algoritmo del Teorema 9.7 y que reconoce al lenguaje de la GSC con código binario j. Claramente, M j siempre para ya sea su entrada sea aceptada o no. Entonces el teorema se sigue inmediatamente del Lema 9.1. El Teorema de la Jerarquía Teorema 9.9 (a) Los conjuntos regulares están contenidos propiamente en los lenguajes libres de contexto. (b) Los LLC que no contienen a la cadena vacía, están contenidos propiamente en los lenguajes sensibles al contexto. (c) Los LSC están contenidos propiamente en los conjuntos r.e. Demostración El inciso (a) se sigue del hecho de que toda gramática regular es una GLC, y {0 n 1 n n 1} es un ejemplo de un LLC que no es regular. La parte (b) se prueba notando que cada GLC escrita en forma normal de Chomsky es una GSC. El conjunto {a 2i i 1} es un LSC que puede ser fácilmente

15 15 Curso Básico de Computación probado no ser un LLC por el lema de bombeo. Para el inciso (c) toda GSC es una gramática sin restricción. La contención propia se sigue del Teorema 9.8.

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

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

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones 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

Más detalles

Máquinas de Turing. Definición 2

Máquinas de Turing. Definición 2 Definición 1 La Máquina de Turing (MT) es el modelo de autómata com máxima capacidad computacional: la unidad de control puede desplazarse a izquierda o derecha y sobreescribir símbolos en la cinta de

Más detalles

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares Curso Básico de Computación 3 Propiedades de los conjuntos regulares 3. Lema de Bombeo para conjuntos regulares El lema de bombeo es una herramienta poderosa para probar que ciertos lenguajes son no regulares.

Más detalles

8 Indecibilidad. 8.1 Problemas

8 Indecibilidad. 8.1 Problemas Curso Básico de Computación 8 Indecibilidad Ahora se considera la clase de lenguajes recursivos y recursivamente enumerables. El aspecto más interesante de este estudio trata de lenguajes cuyas cadenas

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 4 Gramáticas libres de contexto Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 4 Gramáticas libres

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación Autómatas finitos y expresiones regulares Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) Autómatas

Más detalles

Temas. Objetivo 07:00

Temas. Objetivo 07:00 0 Temas Definición de Gramáticas de Estructura de Frase Proceso de derivación Gramáticas equivalentes Lenguajes de Estructura de Frase Jerarquía de Chomsky Relación entre los lenguajes Objetivo Que el

Más detalles

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 8 Indecibilidad Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 8 Indecibilidad 2010 1 / 58 8 Indecibilidad

Más detalles

Expresiones regulares, gramáticas regulares Unidad 3

Expresiones regulares, gramáticas regulares Unidad 3 Expresiones regulares, gramáticas regulares Unidad 3 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,

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

7 Máquina de Turing. 7.1 Introducción. 7.2 El modelo de la Máquina de Turing

7 Máquina de Turing. 7.1 Introducción. 7.2 El modelo de la Máquina de Turing 1 Curso Básico de Computación 7 Máquina de Turing Es este capítulo introducimos la Máquina de Turing que es, un modelo matemático simple de una computadora. 7.1 Introducción Hasta ahora no se ha podido

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

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

Máquinas de Turing, recordatorio y problemas

Máquinas de Turing, recordatorio y problemas Máquinas de Turing, recordatorio y problemas Elvira Mayordomo, Universidad de Zaragoza 5 de diciembre de 2014 1. Recordatorio de la definición de máquina de Turing Una máquina de Turing, abreviadamente

Más detalles

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009 MÁQUINAS DE TURING Las máquinas de Turing, así como los AF y los AP se utilizan para aceptar cadenas de un lenguaje definidas sobre un alfabeto A. El modelo básico de máquina de Turing, tiene un mecanismo

Más detalles

Departamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial

Departamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial Departamento de Tecnologías de la Información Tema 5 Decidibilidad Ciencias de la Computación e Inteligencia Artificial Índice 5.1 Lenguajes reconocibles y decidibles 5.2 Problemas decidibles sobre lenguajes

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

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades

Teoría de la Computación Lenguajes Regulares (LR) - Propiedades Teoría de la Computación Lenguajes Regulares (LR) - Propiedades Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve http://webdelprofesor.ula.ve/ingenieria/hyelitza Objetivo Lenguajes

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Autómatas Linealmente Acotados Máquinas de Turing Motivación - Es posible diseñar un AP que reconozca el lenguaje L 1? L 1 = { a n b n c n / n > 0 } Ejemplo una estrategia

Más detalles

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación:

Alfabetos y cadenas (1) Alfabetos y cadenas (2) Lenguajes. Propiedades de la concatenación: Alfabetos y cadenas (1) 0 b b 0 1 Alfabeto: Un alfabeto Σ es un conjunto finito y no vacío de símbolos. Cadena sobre un alfabeto Σ: Es una sucesión de caracteres tomados de Σ. Cadena vacía: Cadena sin

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

Teoría de la Computación y Leguajes Formales

Teoría de la Computación y Leguajes Formales y Leguajes Formales Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Contenido Tema 0: Introducción y preliminares: Conocimientos matemáticos

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

Jerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto

Jerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto Jerarquía de Chomsky 1. Clasificación de gramáticas 2. Clasificación de lenguajes 3. Gramáticas regulares 4. Gramáticas independientes del contexto 5. Gramáticas dependientes del contexto 6. Gramáticas

Más detalles

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES Máquinas de Turing y lenguajes estructurados por frases -1- MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES MÁQUINAS DE TURING - Son máquinas teóricas capaces de aceptar lenguajes generados por

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. 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

Curso Básico de Computación

Curso Básico de Computación Curso Básico de Computación 8.1 Indecibilidad Feliú Sagols Troncoso Matemáticas CINVESTAV-IPN 2010 Curso Básico de Computación (Matemáticas) 8.1 Indecibilidad 2010 1 / 96 8.5

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

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

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I Gramáticas independientes del contexto TEORÍ DE L COMPUTCIÓN 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

1. Cadenas EJERCICIO 1

1. Cadenas EJERCICIO 1 LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada

Más detalles

Lenguajes Incontextuales

Lenguajes Incontextuales Tema 5: Gramáticas Formales Lenguajes Incontextuales Departamento de Sistemas Informáticos y Computación http://www.dsic.upv.es p.1/31 Tema 5: Gramáticas Formales Gramáticas. Tipos de Gramáticas. Jerarquía

Más detalles

Autómata de Pila (AP, PDA) Sesión 18

Autómata de Pila (AP, PDA) Sesión 18 Sesión 8 Autómata de Pila (Pushdown Automata) Autómata de Pila (AP, PDA) Un AP es una máquina que acepta el lenguage generado por una GLC Consiste en un NFA- aumentado con una pila (stack). L = {xx r x

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

Máquinas de Turing. 18 de junio de 2015

Máquinas de Turing. 18 de junio de 2015 Máquinas de Turing 18 de junio de 2015 1. Introducción Hasta ahora hemos visto clases de lenguajes relativamente simples. Lo que vamos a ver ahora es preguntarnos qué lenguajes pueden definirse por cualquier

Más detalles

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página Web: www.matematicas.unam.mx/fhq

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Regulares Expresiones Regulares Gramáticas - Intuitivamente una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje - Por ejemplo,

Más detalles

Propiedades de Lenguajes Regulares

Propiedades de Lenguajes Regulares de INAOE (INAOE) 1 / 44 Contenido 1 2 3 4 (INAOE) 2 / 44 Existen diferentes herramientas que se pueden utilizar sobre los lenguajes regulares: El lema de : cualquier lenguaje regular satisface el pumping

Más detalles

Teoría de la Computación y Lenguajes Formales

Teoría de la Computación y Lenguajes Formales Teoría de la Computación y Lenguajes Formales Máquinas de Turing Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com Máquinas de Turing Contenido

Más detalles

Introducción a la indecidibilidad

Introducción a la indecidibilidad Introducción a la indecidibilidad José M. empere Departamento de istemas Informáticos y Computación Universidad Politécnica de Valencia Lenguajes y problemas Un problema será considerado cualquier cuestión

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

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

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Decidibilidad

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Decidibilidad 300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Decidibilidad Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Lo indecidible

Más detalles

si w=ay por tanto a Σ e y Σ*

si w=ay por tanto a Σ e y Σ* EJERCICIOS: LENGUAJES Y GRAMÁTICAS FORMALES Y MÁQUINAS DE TURING 1.- Prefijos de una cadena x son las cadenas que se pueden obtener de x suprimiendo 0 o más caracteres del final de x. Prefijos propios

Más detalles

Autómata de Pila (AP, PDA) Tema 18

Autómata de Pila (AP, PDA) Tema 18 Tema Autómata de Pila (Pushdown Automata Autómata de Pila (AP, PDA Un AP es una máquina que acepta el lenguage generado por una GLC Consiste en un NFA- aumentado con una pila (stack. Dr. Luis A. Pineda

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

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

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY Para el estudio de este tema es necesario analizar dos tipos de gramáticas de la clasificación de Chomsky, las regulares y las independientes de contexto, las

Más detalles

7.1 Máquina de Turing 7.5 Modificaciones de la máquina de Turing. Cinta infinita de doble vía

7.1 Máquina de Turing 7.5 Modificaciones de la máquina de Turing. Cinta infinita de doble vía 1 Curso Básico de Computación 7.1 Máquina de Turing 7.5 Modificaciones de la máquina de Turing Una razón para aceptar a la máquina de Turing como un modelo general de cómputo es que el modelo con el que

Más detalles

Examen de Teoría de Autómatas y Lenguajes Formales

Examen de Teoría de Autómatas y Lenguajes Formales Examen de Teoría de Autómatas y Lenguajes Formales TAL 16 de Septiembre de 2008 (I) CUESTIONES: (Justifique formalmente las respuestas) 1. Pronúnciese acerca de la veracidad o falsedad de los siguientes

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: Teoría de la Computabilidad: Máquinas de Turing

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing 300CIG007 Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Máquina

Más detalles

Introducción. Máquinas de Turing. Turing restringidas. Turing y Computadoras INAOE (INAOE) 1 / 49

Introducción. Máquinas de Turing. Turing restringidas. Turing y Computadoras INAOE (INAOE) 1 / 49 y Computadoras INAOE (INAOE) 1 / 49 Contenido y Computadoras 1 2 3 4 y Computadoras (INAOE) 2 / 49 y Computadoras Hasta ahora hemos visto clases de lenguajes relativamente simples Lo que vamos a ver ahora

Más detalles

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes

Temas. Objetivo. Símbolo, alfabeto. Hileras y operaciones con hileras. Operaciones con lenguajes 0 1 Temas Símbolo, alfabeto Hileras y operaciones con hileras Operaciones con lenguajes Objetivo Que el estudiante logre conocer, comprender y manejar conceptos vinculados con la Teoría de Lenguajes Formales

Más detalles

6 Propiedades de los lenguajes libres de contexto 6.1 El Lema de Bombeo para LLC

6 Propiedades de los lenguajes libres de contexto 6.1 El Lema de Bombeo para LLC 1 Curso ásico de Computación 6 Propiedades de los lenguajes libres de contexto 6.1 El Lema de ombeo para LLC El lema de ombeo para LLC nos dice que siempre existe dos subcadenas cortas muy juntas que se

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

Eliminación de Símbolos Inútiles

Eliminación de Símbolos Inútiles Eliminación de Símbolos Inútiles Veremos cómo eliminar los símbolos inútiles de una gramática. Lo haremos con dos algoritmos, que son definidos en la demostración de los siguientes lemas. Lema 1 Dada una

Más detalles

Autómatas de Estados Finitos

Autómatas de Estados Finitos Asignatura: Teoría de la Computación Unidad 1: Lenguajes Regulares Tema 1: Autómatas de Estados Finitos Autómatas de Estados Finitos Definición de Autómatas de estados finitos: Tipo Lenguaje Máquina Gramática

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

Máquinas de estado finito y expresiones regulares

Máquinas de estado finito y expresiones regulares Capítulo 3 Máquinas de estado finito y expresiones regulares En este tema definiremos y estudiaremos máquinas de estado finito, llamadas también máquinas de estado finito secuenciales o autómatas finitos.

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 7 de Noviembre de 2014 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/20 Lenguajes Formales

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña Máquinas Secuenciales, Autómatas y Lenguajes Tema 4: Expresiones Regulares Luis Peña Sumario Tema 4: Expresiones Regulares. 1. Concepto de Expresión Regular 2. Teoremas de Equivalencia Curso 2012-2013

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

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

Generalidades sobre lenguajes.

Generalidades sobre lenguajes. no DSIC - UPV July 3, 2011 (DSIC - UPV) July 3, 2011 1 / 21 Definiciones: no Alfabeto Σ = {a, b, c} o Γ = {0, 1} palabra, cadena o frase Σ: x = aaba, y = 0011. Cadena vacía: λ. Longitud de una palabra:

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

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 4 de Noviembre de 2015 Parte III: Lenguajes y Autómatas Introducción a la Lógica y la Computación 1/21 Lenguajes Formales

Más detalles

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I Tema 5: Autómatas a pila 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 Wesley.

Más detalles

Modelos Avanzados de Computación

Modelos Avanzados de Computación UNIVERSIDAD DE GRANADA Departamento de Ciencias de la Computación e Inteligencia Artificial Modelos Avanzados de Computación Práctica 2 Máquinas de Turing Curso 2014-2015 Doble Grado en Ingeniería Informática

Más detalles

Introducción a la Teoría de Autómatas, Lenguajes y Computación

Introducción a la Teoría de Autómatas, Lenguajes y Computación Introducción a la Teoría de Autómatas, Lenguajes y Computación Gustavo Rodríguez Gómez y Aurelio López López INAOE Propedéutico 2010 1 / 53 Capítulo 2 Autómatas Finitos 2 / 53 1 Autómatas Finitos Autómatas

Más detalles

Ciencias de la Computación I

Ciencias de la Computación I Ciencias de la Computación I Gramáticas Libres del Contexto y Lenguajes Libres del Contexto Gramáticas Formales Una gramática formal es una cuadrupla G = (N, T, P, S) N = conjunto finito de símbolos no

Más detalles

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas Gramáticas Introducción Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas En algunos lenguajes, una sucesión de símbolos depende del

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

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

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

5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos.

5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos. 5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos. 5.1 Esquemas de representación de áquinas de Turing. 5.2 Propiedades de cierre. 5.3 Codificación de áquinas de

Más detalles

Definiciones previas

Definiciones previas Máquina de Turing Definiciones previas Definición. Alfabeto: Diremos que un conjunto finito Σ es un alfabeto si Σ y ( x)(x Σ x es un símbolo indivisible) Ejemplos Σ ={a,b}, Σ ={0,1}, Σ ={a,b, z} son alfabetos

Más detalles

Unidad 1 Introducción

Unidad 1 Introducción Unidad 1 Introducción Contenido 1.1 La importancia de estudiar los autómatas y lenguajes formales 1.2 Símbolos, alfabetos y cadenas 1.3 Operaciones sobre cadenas 1.4 Definición de lenguaje y operaciones

Más detalles

La Ambigüedad en el Parsing

La Ambigüedad en el Parsing La en el Parsing Definición y Ejemplos Universidad de Cantabria Outline El Problema 1 El Problema 2 3 El Problema En nuestra busqueda por encontrar la estructura exploraremos como elegir una derivación

Más detalles

Entscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo

Entscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo Entscheidungsproblem I TEORÍA DE LA COMPUTACIÓN MÁQUINAS DE TURING Y DECIDIBILIDAD Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx Página

Más detalles

Entscheidungsproblem I LENGUAJES RECURSIVAMENTE ENUMERABLES MÁQUINAS DE TURING. DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo

Entscheidungsproblem I LENGUAJES RECURSIVAMENTE ENUMERABLES MÁQUINAS DE TURING. DECIDIBILIDAD. Máquinas de Turing (TM) Procedimiento efectivo Entscheidungsproblem I LENGUAJES RECURSIVAMENTE ENUMERABLES MÁQUINAS DE TURING. DECIDIBILIDAD Francisco Hernández Quiroz Departamento de Matemáticas Facultad de Ciencias, UNAM E-mail: fhq@ciencias.unam.mx

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

Tres versiones de Pal. Sesión 19. Una máquina para aceptar Pal El lenguaje: Tabla de transición para Pal. Más de un siguiente estado.

Tres versiones de Pal. Sesión 19. Una máquina para aceptar Pal El lenguaje: Tabla de transición para Pal. Más de un siguiente estado. Tres versiones de Pal Sesión 19 Autómata de pila determinístico Pal marca = {xcx r x {0, 1} * } 0110c0110 Pal par = {xx r x {0, 1} * } 00111100 Pal = {x x = x r {0, 1} * } 00111100 001101100 Una máquina

Más detalles

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I Tema 4: Gramáticas independientes del contexto 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.

Más detalles

2 Autómatas finitos y gramáticas regulares.

2 Autómatas finitos y gramáticas regulares. 2 Autómatas finitos y gramáticas regulares. Autómata RAE Instrumento o aparato que encierra dentro de sí el mecanismo que le imprime determinados movimientos. Algo autónomo que se comporta de determinada

Más detalles

Alfabetos, cadenas y lenguajes

Alfabetos, cadenas y lenguajes Capítulo 1 lfabetos, cadenas y lenguajes 1.1. lfabetos y cadenas Un alfabeto es un conjunto finito no vacío cuyos elementos se llaman símbolos. Denotamos un alfabeto arbitrario con la letra Σ. Una cadena

Más detalles

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I 19 de Enero de 2009 SOLUCIONES PREGUNTA 1 (2 puntos): Son siete cuestiones que debes responder y entregar en esta misma hoja. 1.1 Considera el

Más detalles

2.1. Autómatas finitos deterministas (AFD) Los autómatas finitos son máquinas abstractas que procesan cadenas, las cuales son aceptadas o rechazadas:

2.1. Autómatas finitos deterministas (AFD) Los autómatas finitos son máquinas abstractas que procesan cadenas, las cuales son aceptadas o rechazadas: Capítulo 2 Autómatas finitos 2.1. Autómatas finitos deterministas (AFD) Los autómatas finitos son máquinas abstractas que procesan cadenas, las cuales son aceptadas o rechazadas: El autómata actúa leyendo

Más detalles

Teoría de la Computación y Lenguajes Formales

Teoría de la Computación y Lenguajes Formales Teoría de la Computación y Lenguajes Formales Propiedades de los Lenguajes Libres de Contexto (LLC) Prof. Hilda Y. Contreras Departamento de Computación hyelitza@ula.ve hildac.teoriadelacomputacion@gmail.com

Más detalles

Tema 6: Máquina de Turing

Tema 6: Máquina de Turing Tema 6: Máquina de Turing Departamento de Sistemas Informáticos y Computación http://www.dc.upv.es p.1/28 Tema 6: Máquina de Turing La Máquina de Turing. Máquinas de Turing como aceptores Otros modelos

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

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN G r a m á t i c a s UNIVERSIDAD DE SONORA DEPARTAMENTO DE MATEMÁTICAS LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN Dra. María de Guadalupe Cota Ortiz Lenguaje

Más detalles

Complejidad Computacional

Complejidad Computacional Análisis y Complejidad de Algoritmos Complejidad Computacional Arturo Díaz Pérez Lenguajes formales Gramáticas formales Jerarquía de Chomski Teoría de la complejidad Una desigualdad computacional Computabilidad

Más detalles

Víctor J. Díaz Madrigal y Fernando Enríquez de Salamanca Ros. 2.1 Límites de los lenguajes regulares Teorema de Myhill-Nerode Lema del bombeo

Víctor J. Díaz Madrigal y Fernando Enríquez de Salamanca Ros. 2.1 Límites de los lenguajes regulares Teorema de Myhill-Nerode Lema del bombeo Guión 2.1 Límites de los lenguajes regulares Teorema de Myhill-Nerode Lema del bombeo Tma. de Myhill-Nerode: Relaciones de equivalencia Una relación de equivalencia sobre Σ es: 1. Invariante por la derecha:

Más detalles