Professional Documents
Culture Documents
Un lenguaje regular es un tipo de lenguaje formal que satisface las siguientes propiedades: Los lenguajes ms sencillos que se considerarn son los lenguajes regulares, es decir, los que se pueden generar a partir de los lenguajes bsicos, con la aplicacin de las operaciones de unin, concatenacin y * de Kleene un nmero finito de veces. Puede ser reconocido por:
un autmata finito determinista un autmata finito no determinista un autmata de pila un autmata finito alterno una mquina de Turing de solo lectura
Es generado por:
Es descrito por:
1 Lenguajes regulares sobre un alfabeto 2 Propiedades de cierre 3 Decidir cundo un lenguaje es regular 4 Lenguajes finitos 5 Enlaces externos
[editar]Lenguajes
El lenguaje vaco
es un lenguaje regular
El lenguaje cadena vaca {} es un lenguaje regular Para todo smbolo a {a} es un lenguaje regular
Si A y B son lenguajes regulares entonces A B (unin), AB (concatenacin) y A* (clausura o estrella de Kleene) son lenguajes regulares
Si A es un lenguaje regular entonces (A) es el mismo lenguaje regular No existen ms lenguajes regulares sobre
Todo lenguaje formal finito constituye un lenguaje regular. Otros ejemplos tpicos son todas las cadenas sobre el alfabeto {a, b} que contienen un nmero par de aes o el lenguaje que consiste en varias aes seguidas de varias bes. Si un lenguaje no es regular requiere una mquina con al menos una complejidad de (log log n) (donde n es el tamao de la entrada). En la prctica la mayora de los problemas no regulares son resueltos con una complejidad logartmica. Un lenguaje formal infinito puede ser regular o no regular. El lenguaje L = {an, n > 0} es regular porque puede ser representado, por ejemplo, mediante la expresin regular a+. El lenguaje L= {an bn, n > 0} es un lenguaje no regular dado que no es reconocido por ninguna de las formas de representacin anteriormente enumeradas.
[editar]Propiedades
de cierre
Los lenguajes regulares son cerrados con las siguientes operaciones, de modo que si L y P son lenguajes regulares los siguientes lenguajes tambin sern regulares:
El complemento
de L
La clausura o estrella de Kleene L* de L El homomorfismo (L) de L La concatenacin L'P de L y P La unin L P de L y P La interseccin L P de L y P La diferencia L \ P de L y P El reverso LR de L
[editar]Decidir
Para situar los lenguajes regulares en la jerarqua de Chomsky hay que notar que todo lenguaje regular es tambin un lenguaje libre de contexto, aunque la afirmacin contraria no es cierta, por ejemplo: el lenguaje que contiene el mismo nmero de aes y de bes es libre de contexto pero no regular. Para probar que un lenguaje de este tipo no es regular se usa el teorema de Myhill-Nerode, o el lema de bombeo por ejemplo.
Hay dos aproximaciones puramente algebraicas para definir lenguajes regulares. Si es un alfabeto finito y * es un monoide libre consistente en todas las cadenas sobre , f: * M es un monoide simtrico donde M es un monoide finito y S es un subconjunto de M entonces el conjunto f -1(S) es regular. Todo lenguaje regular se presenta de esta manera. Si L es un subconjunto de *, se define la relacin equivalente ~ en * de la siguiente manera: u ~ v significa uw L si y solo si vw L para todo w * El lenguaje L es regular si y solo si el nmero de clases de equivalencia de ~ es finito; si este es el caso, este nmero es igual al nmero de estados del autmata determinista mnimo que reconocer L.
[editar]Lenguajes
finitos
Un subconjunto especial de los lenguajes regulares es el de los lenguajes finitos, aquellos que solo contienen un nmero finito de palabras. Estos son lenguajes obviamente regulares y uno podra crear expresiones regulares que seran la unin de todas las palabras del lenguaje que definiran dicho lenguaje.