Lenguaje regular

Lenguaje regular

Un lenguaje regular es un tipo de lenguaje formal que satisface las siguientes propiedades:

Los lenguajes más sencillos que se considerarán son los lenguajes regulares, es decir, los que se pueden generar a partir de los lenguajes básicos, con la aplicación de las operaciones de unión, concatenación y * de Kleene un número finito de veces.

Puede ser reconocido por:

Es generado por:

Es descrito por:

Contenido

Lenguajes regulares sobre un alfabeto

Un lenguaje regular sobre un alfabeto Σ dado se define recursivamente como:

  • El lenguaje vacío \varnothing es un lenguaje regular
  • El lenguaje cadena vacía {ε} es un lenguaje regular
  • Para todo símbolo a ∈ Σ {a} es un lenguaje regular
  • Si A y B son lenguajes regulares entonces AB (unión), AB (concatenación) 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 más lenguajes regulares sobre Σ

Todo lenguaje formal finito constituye un lenguaje regular. Otros ejemplos típicos son todas las cadenas sobre el alfabeto {a, b} que contienen un número par de aes o el lenguaje que consiste en varias aes seguidas de varias bes.

Si un lenguaje no es regular requiere una máquina con al menos una complejidad de Ω(log log n) (donde n es el tamaño de la entrada). En la práctica la mayoría de los problemas no regulares son resueltos con una complejidad logarítmica.

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 expresión 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 representación anteriormente enumeradas.

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 también serán regulares:

  • El complemento \bar{''L''} de L
  • La clausura o estrella de Kleene L* de L
  • El homomorfismo φ(L) de L
  • La concatenación L'P de L y P
  • La unión LP de L y P
  • La intersección LP de L y P
  • La diferencia L \ P de L y P
  • El reverso LR de L

Decidir cuándo un lenguaje es regular

Para situar los lenguajes regulares en la jerarquía de Chomsky hay que notar que todo lenguaje regular es también un lenguaje libre de contexto, aunque la afirmación contraria no es cierta, por ejemplo: el lenguaje que contiene el mismo número 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 simétrico 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 relación equivalente ~ en Σ* de la siguiente manera: u ~ v significa

uwL si y solo si vwL para todo w ∈ Σ*

El lenguaje L es regular si y solo si el número de clases de equivalencia de ~ es finito; si este es el caso, este número es igual al número de estados del autómata determinista mínimo que reconocerá L.

Lenguajes finitos

Un subconjunto especial de los lenguajes regulares es el de los lenguajes finitos, aquellos que solo contienen un número finito de palabras. Estos son lenguajes obviamente regulares y uno podría crear expresiones regulares que serían la unión de todas las palabras del lenguaje que definirían dicho lenguaje.


Enlaces externos

  • Chalchalero! [Chalchalero | http://www.ucse.edu.ar/fma/sepa/chalchalero.htm.] Software visual gratuito para trabajar con lenguajes regulares, expresiones regulares, gramáticas regulares y autómatas finitos. Proyecto SEPa! (Universidad Católica de Santiago del Estero)

Wikimedia foundation. 2010.

Игры ⚽ Поможем написать курсовую

Mira otros diccionarios:

  • Lenguaje regular — Un lenguaje regular puede ser reconocido por: ● Un autómata finito ● Una expresión regular ● Una gramática regular Todo lenguaje formal finito constituye un lenguaje regular. Un lenguaje formal infinito puede ser regular o no regular. El lenguaje …   Enciclopedia Universal

  • Lenguaje interior — Entendemos por lenguaje interior o endofasia: los movimientos articulatorios latentes que acompañan a la lectura, audición o pensamiento silencioso. Se trataría de un lenguaje sin sonido, subvocalizado, una actividad previa al habla, un lenguaje… …   Wikipedia Español

  • Lenguaje honorífico japonés — El idioma japonés posee numerosas expresiones de respeto o también denominado lenguaje honorífico, que está formado por elementos del lenguaje que permiten mostrar respeto, y cuyo uso es obligatorio en numerosas circunstancias sociales. Las… …   Wikipedia Español

  • Lenguaje formal — Esta imagen muestra la relación entre las cadenas de caracteres, las fórmulas bien formadas y los teoremas. En algunos sistemas formales, sin embargo, el conjunto de los teoremas coincide con el de las fórmulas bien formadas. En matemáticas,… …   Wikipedia Español

  • Lenguaje sensible al contexto — En las ciencias de la computación, un lenguaje sensible al contexto es un [[lenguaje formal] que puede ser definido por gramáticas sensibles al contexto. Es uno de los cuatro tipos de gramáticas en la jerarquía de Chomsky, siendo esta gramática… …   Wikipedia Español

  • Gramática regular — En informática una gramática regular es una gramática formal (N, Σ, P, S) que puede ser clasificada como regular izquierda o regular derecha. Las gramáticas regulares sólo pueden generar a los lenguajes regulares de manera similar a los autómatas …   Wikipedia Español

  • Gramática regular — En informática una gramática regular es una gramática formal (N, Σ, P, S) y puede ser clasificada en regular izquierda o derecha. Las gramáticas regulares sólo pueden generar a los lenguajes regulares de manera similar a los autómatas finitos y… …   Enciclopedia Universal

  • Expresión regular — Saltar a navegación, búsqueda Una expresión regular, a menudo llamada también patrón, es una expresión que describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se… …   Wikipedia Español

  • R (lenguaje de programación) — R Desarrollador R Development Core Team www.r project.org Informa …   Wikipedia Español

  • Plano (lenguaje audiovisual) — Se ha sugerido que este artículo o sección sea fusionado con Plano cinematográfico (discusión). Una vez que hayas realizado la fusión de artículos, pide la fusión de historiales aquí. En el lenguaje audiovisual, el plano es la perspectiva de los… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”