En lógica matemática y en ciencias de la computación, la clausura de Kleene (también llamada estrella de Kleene o cierre estrella) es una operación unaria que se aplica sobre un conjunto de cadenas de caracteres o un conjunto de símbolos o caracteres (alfabeto), y representa el conjunto de las cadenas que se pueden formar tomando cualquier número de cadenas del conjunto inicial, posiblemente con repeticiones, y concatenándolas entre sí.
La aplicación de la clausura de Kleene a un conjunto V se denota como V*. Es muy usada en expresiones regulares y fue introducida en este contexto por Stephen Kleene (1909-1994) para caracterizar un cierto autómata.
Definición y notación
Dado
se define recursivamente
- donde
Si es un lenguaje formal, entonces la -ésima potencia de es la abreviatura de la concatenación de consigo mismo veces. Esto es, puede entenderse como el conjunto de todas las cadenas de longitud , formado a partir de los símbolos en .
La definición de Kleene estrella en es
Es decir, es la recopilación de todas los posibles cadenas de longitud finita generados a partir de los símbolos en .
En algunos estudios de Lenguaje formal, usan Kleene plus que es una variación de la operación Kleene estrella. Kleene plus omite el término en la unión. En otras palabras, Kleene plus en es
Ejemplos
Ejemplo de clausura de Kleene aplicada a un carácter:
Ejemplo de clausura de Kleene aplicada a un conjunto de cadenas:
Ejemplo de clausura de Kleene aplicada a un conjunto de caracteres:
Referencias
- John E. Hopcroft y Jeffrey D. Ullman. Introduction to Automata Theory, Languages, and Computation. 1a edición. Addison-Wesley Publishing Company, 1979.