Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 4pumping
2 4pumping
Lenguajes No Regulares
Problemas que los Autmatas No Resuelven.
Universidad de Cantabria
Autmatas Finitos
Esquema
Prejos
Autmatas Finitos
Introduccin
Todos los lenguajes no son regulares, simplemente hay que tener en cuenta que los lenguajes regulares son denidos por una expresin, cuando la intuicin nos dice que se pueden denir lenguajes de una forma ms compleja.
Autmatas Finitos
No hay ningn mtodo que nos permita decidir si un lenguaje es regular o no, ya que depende de la descripcin del lenguaje. Aunque si que tenemos diferentes herramientas que permiten probar que lenguajes especcos no son regulares.
Autmatas Finitos
Recordad que, usando las propiedades de las expresiones regulares, toda expresin regular se puede poner en forma disyuntiva normal y esto nos da una idea de como se puede generar palabras a partir de unas conocidas.
Autmatas Finitos
Recordad que en las expresiones regulares que generan lenguajes con innitas palabras incluyen el operador estrella. Por lo que si tenemos una palabra, hay formas de generar innitas nuevas.
Autmatas Finitos
Teorema (Pumping Lemma) Sea L un lenguaje regular. Entonces, existe un nmero entero positivo p N tal que para cada palabra L, con || p existen x, y , z vericando los siguientes propiedades: y = , = xyz Para todo N, las palabras xy z L
Autmatas Finitos
Autmatas Finitos
Asumir que es un lenguaje aceptado por un autmata. Tomar una palabra sucientemente larga . Dividirla en tres partes x, y , z. Demostrar que cualquier divisin de la palabra y en tres partes no se puede bombear la parte del medio.
Autmatas Finitos
Prejos
Denicin (Prejos) Sea un alfabeto nito y sea L un lenguaje cualquiera. Denimos la siguiente relacin de equivalencia sobre : dados x, y , x L y si y solamente si: w , xw L yw L.
Autmatas Finitos
MyhillNerode
Teorema (MyhillNerode) Si L es un lenguaje aceptado por un autmata, entonces existen x1 , . . . , xs tal que cualquier otra palabra es equivalente a alguna de las otras. El recproco tambin es cierto.
Autmatas Finitos
Estas palabras representaran los estados de un autmata muy especial que acepta el lenguaje. Las transiciones las denir con que palabras sean equivalentes ax1 , . . . , axs para cada a .
Autmatas Finitos
El Palndromo
Los autmatas podran haber sido buenos candidatos a procesos algortmicos y uno estara tentado a denir los problemas decisionales resolubles por un algoritmo como aquellos problemas que son funciones caractersticas de un lenguaje regular.
Autmatas Finitos
El Palndromo
Un sencillo problema decisional el Palndromo o, en buen cataln, el problema de la deteccin de los capicua, no ser un lenguaje regular, como consecuencia del resultado de Myhill y Nerode anterior.
Autmatas Finitos
El Palndromo
Dado un alfabeto nito , y una palabra = x1 xn , denominamos el reverso de , R a la palabra: R = xn x1 . El lenguaje del Palndromo es dado por P := {x : x R = x}.
Autmatas Finitos
Imposibilidad de Regularidad
Dada cualquier palabra se tiene que R P. Claramente, pues ( R )R = ( R )R R = R Supongamos, entonces que P fuera un lenguaje regular y sea S un conjunto nito tal que / P = {[y ] : y S}.
Autmatas Finitos
Imposibilidad de Regularidad
Sea m := max{| y | : y S} + 1, que existe por ser S un conjunto nito. Consideremos la palabra x = 0[m] 1 donde 0[m] representa una lista de m 0s y los smbolos {0, 1} se suponen dentro del alfabeto . Ha de existir y = y1 yr S tal que para todo x P y P
Autmatas Finitos
Imposibilidad de Regularidad
Ahora bien, tomando x = 0[m] 1, xx R P, luego yx R P. Pero esto implica yx R = (yx R )R = xy R Reescribamos esta identidad: yx R = y1 yr 10[m] = 0[m] 1yr y1 = xy R Deducimos (dado que r m que y1 = = yr = 0) que m + 1 = r + 1, ya que la palabra solo tiene un 1. Esto es una contradiccin.
Autmatas Finitos
Otros ejemplos
Ejemplo Los siguientes son tambin ejemplos de lenguajes no regulares: = {0, 1} y el lenguaje L dado por la condicin el nmero de 1s es mayor que el nmero de 0s. Para el mismo alfabeto el lenguaje: L := {0[m] 1[m] : m N} Para el alfabeto = {0, 1, . . . , 9} sea el lenguaje formado por las palabras que son prejos de la expansin decimal de R, es decir: L := {3, 31, 314, 3141, 31415, . . .}
Autmatas Finitos