9 La Jerarquía de Chomsky
|
|
- Gregorio Luna Coronel
- hace 5 años
- Vistas:
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 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 detalles5 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 detallesMá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 detalles3 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 detalles8 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 detallesCurso 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 detallesCurso 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 detallesTemas. 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 detallesCurso 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 detallesExpresiones 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 detallesExamen. 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 detalles7 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 detallesExpresiones 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 detallesTeorí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 detallesMá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 detallesMÁ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 detallesDepartamento 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 detallesCurso 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 detallesIntroducció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 detallesTeorí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 detallesCiencias 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 detallesAlfabetos 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 detallesInducció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 detallesTeorí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 detalles8.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 detallesJerarquí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 detallesMÁ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 detallesDepartamento 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 detallesAutó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 detallesCurso 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 detalles13.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 detallesProcesadores 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 detallesGramá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 detalles1. 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 detallesLenguajes 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 detallesAutó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 detallesInterrogació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 detallesMá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 detallesIntroducció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 detallesCiencias 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 detallesPropiedades 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 detallesTeorí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 detallesIntroducció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 detallesCurso 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 detallesInducció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 detallesComputabilidad 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 detallessi 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 detallesAutó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 detallesOtras 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 detallesMODELOS 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 detallesTIPOS 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 detalles7.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 detallesExamen 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 detallesTemas. 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 detallesComputabilidad 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 detallesIntroducció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 detallesTemas. 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 detalles6 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 detallesIngenierí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 detallesEliminació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 detallesAutó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 detallesMá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 detallesMá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 detallesIntroducció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 detallesMá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 detallesMá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 detallesConvertir 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 detallesGeneralidades 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 detallesEquivalencia 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 detallesIntroducció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 detallesTema 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 detallesModelos 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 detallesIntroducció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 detallesCiencias 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 detallesIntroducció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 detallesExpresiones 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 detallesPropiedades 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 detallesEJERCICIOS 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 detalles5. 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 detallesDefiniciones 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 detallesUnidad 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 detallesLa 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 detallesEntscheidungsproblem 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 detallesEntscheidungsproblem 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 detallesConjuntos. 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 detallesTres 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 detallesTema 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 detalles2 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 detallesAlfabetos, 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 detallesINGENIERÍ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 detalles2.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 detallesTeorí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 detallesTema 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 detallesAutó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 detallesNOTAS 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 detallesComplejidad 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 detallesVí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