Lenguaje normal

Un lenguaje regular ( conjunto regular ) en la teoría de los lenguajes formales  es un conjunto de palabras que reconoce algún autómata finito . Es conveniente estudiar la clase de conjuntos regulares como un todo, y los resultados obtenidos son aplicables a una gama bastante amplia de lenguajes formales.

Definición

Sea un alfabeto  finito . Los idiomas regulares en el alfabeto son conjuntos de palabras definidas por inducción de la siguiente manera:

  1. El conjunto vacío ( ) es un lenguaje regular.
  2. Un conjunto que consta de una sola cadena vacía ( ) es un lenguaje normal.
  3. El conjunto que consta de una palabra de una sola letra ( , donde ) es un lenguaje regular.
  4. Si y  son lenguajes regulares, entonces su unión ( ), concatenación ( ) y tomar la estrella Kleene ( ) también son lenguajes regulares.
  5. No hay otros idiomas regulares.

Conexión entre autómatas y lenguajes regulares

El teorema de Kleene establece que la clase de lenguajes regulares es la misma que la clase de lenguajes reconocidos por un autómata finito . Esto significa que para cualquier máquina de estados finitos, el conjunto de palabras que permite es un lenguaje regular. Y viceversa, para cualquier idioma normal existe un autómata que permite palabras de ese idioma y solo de ellas.

Un subconjunto reconocible de un monoide

Este concepto se puede generalizar a un monoide arbitrario. Se dice que un subconjunto L de un monoide M es reconocible sobre M si existe un autómata finito sobre M que acepta L. Un autómata finito sobre M  es un autómata que toma elementos de M como entrada . La familia de subconjuntos reconocibles de un monoide M generalmente se denota [1] .

Entonces, si M  es un monoide libre sobre el alfabeto , entonces la familia es simplemente una familia de lenguajes regulares .

Véase también

Notas

  1. Jean-Eric Pin, Mathematical Foundations of Automata Theory Archivado el 10 de septiembre de 2014 en Wayback Machine , Capítulo IV: Conjuntos reconocibles y racionales