Expresiones regulares y gramaticas

Preview:

Citation preview

Universidad Iberoamericana (UNIBE)

Prof. Rhina Familia

Kilson Jiménez 12-0639

Janny Luz Pérez 11-1178

Silvia Nathaly Rodríguez 11-1165

Los lenguajes regulares se llaman así porque sus palabras contienen “regularidades” o repeticiones de los mismos componentes, como por ejemplo en el lenguaje L1 siguiente:

L1 = {ab, abab, ababab, abababab, . . .}

Un lenguaje L es regular si y solo si se cumple al menos una de las condiciones siguientes:

Sea el lenguaje L de palabras formadas por a y b, pero que empiezan con a, como aab, ab, a, abaa, etc. Probar que este lenguaje es regular, y dar una expresion de conjuntos que lo represente.

Una expresión regular es una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del alfabeto sobre el cual se define el lenguaje.

Más específicamente, las expresiones regulares se construyen utilizando los operadores unión, concatenación y clausura de Kleene.

Las ER son simplemente formulas cuyo propósito es representar cada una de ellas un lenguaje. Así, el significado de una ER es simplemente el lenguaje que ella representa.

Por ejemplo, la ER “Ø” representa el conjunto vacıo {}.

Una palabra de una letra como “a” empata con una ER consistente en la misma letra “a”, “b” empata “b”, etc.

Ejemplo, la equivalencia R + S = S + R quiere decir que la suma de expresiones, regulares es conmutativa, por lo que si tenemos dos ER específicas, como a ∗ y b∗ab, entonces la ER a∗+b∗ab será equivalente a la ER b∗ab+a∗, y ambas representarán las mismas palabras.

Un autómata finito (AF) o máquina de estado finito es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir una salida.

Formalmente, un autómata finito es una 5-tupla (Q, , Σ q0, , δ F) donde:6

 es un conjunto finito de estados;

 es un alfabeto finito;

 es el estado inicial;

 es una función de transición;

 es un conjunto de estados finales o de aceptación

Un autómata finito determinista (abreviado AFD) es un autómata finito que además es un sistema determinista; es decir, para cada estado en que se encuentre el autómata, y con cualquier símbolo del alfabeto leído, existe siempre a lo más una transición posible desde ese estado y con ese símbolo.

Dos expresiones regulares r y s son equivalentes si describen el mismo lenguaje, es decir, L(r) = L(s). A partir de la definición de equivalencia podemos comprobarlas siguientes propiedades:

Dos expresiones regulares r y s son equivalentes si describen el mismo lenguaje, es decir, L(r) = L(s). A partir de la definición de equivalencia podemos comprobarlas siguientes propiedades:

Tres modelos para expresar lenguajes regulares

La prueba de que si un lenguaje es regular entonces es aceptado por un AF consiste en dar un procedimiento para transformar en forma sistemática una expresión regular en un autómata finito que acepte su lenguaje. Dicho procedimiento se describe a continuación:

La idea es hacer una transformación gradual que vaya convirtiendo la ER en AF.

Los AFN son un subconjunto propio de las GT, puesto que las palabras en las etiquetas de un AFN pueden ser vistas como expresiones regulares que se representan a si mismas.

Ahora procederemos a describir el procedimiento de transformación de ER a AFN.

A partir de una ER es trivial obtener una GT que acepte el mismo lenguaje. En efecto, sea R una ER; entonces, si G1 = ({q0, q1},, {(q0,R, q1)}, q0, {q1}) entonces L(G) = L(R).

Obtener la ER equivalente al siguiente AFD:

La expresión regular buscada es:

La prueba de la parte “si” del teorema consiste en dar un procedimiento para transformar en forma sistemática un autómata finito en una expresión regular equivalente. Un procedimiento para hacerlo consiste en ir eliminando gradualmente nodos de una GT, que inicialmente es el AFN que se quiere transformar, hasta que ´únicamente queden un nodo inicial y un nodo final.

1) Nota: El ejemplo se realizara en la pizarra

Pasos:

Ventajas:

Método mecánico que permite obtener la expresión regular Aunque hemos supuesto AFD, es válido para AFND y AFND-ε Implementación recursiva

Desventajas:

La aplicación del método es costosa ( ≅ n3 expresiones para un autómata con n estados) La longitud de las expresiones puede crecer en un factor 4 en cada

paso expresión regular del orden de 4⇒ n símbolos si no se simplifica Implementación recursiva calcular repetidas veces una misma expresión regular (p.e. ⇒ rk-1 kk en

el paso i-ésimo)

Una gramática es un conjunto de reglas para formar correctamente las frases de un lenguaje. La formalización que presentaremos de la noción de gramática es debida a N. Chomsky, y está basada en las llamadas reglas gramaticales.

Las reglas de una gramática pueden ser vistas como reglas de reemplazo.

Son gran áticas cuyas reglas son de la forma A → aB o bien A → a, donde A y B son variables, y a es un carácter terminal.

Una gramática regular es un cuádruplo (V,,R, S) en donde:

V es un alfabeto de variables,V es un alfabeto de variables,

es un alfabeto de constantes,es un alfabeto de constantes,

R, el conjunto de reglas, es un subconjunto finito de V × (V [ ).R, el conjunto de reglas, es un subconjunto finito de V × (V [ ).

S, el símbolo inicial, es un elemento de V .S, el símbolo inicial, es un elemento de V .

Dicho de otra manera, una palabra w Dicho de otra manera, una palabra w ЄЄ ∑∑** es derivable a partir de G si S w, es derivable a partir de G si S w, donde denota la cerradura reflexiva y transitiva de .donde denota la cerradura reflexiva y transitiva de .

El lenguaje generado por una gramática G, L(G), es igual al conjunto de las palabras derivables a partir de su símbolo inicial.

Los AF están limitados a los estados de que disponen como único medio para “recordar” la Los AF están limitados a los estados de que disponen como único medio para “recordar” la serie de símbolos recibidos hasta un momento dado. Por lo mismo, varias secuencias distintas serie de símbolos recibidos hasta un momento dado. Por lo mismo, varias secuencias distintas de caracteres que llevan a un mismo estado son consideradas como indistinguibles.de caracteres que llevan a un mismo estado son consideradas como indistinguibles.

Teorema.- La clase de los lenguajes generados por alguna gramática Teorema.- La clase de los lenguajes generados por alguna gramática regular es exactamente la de los lenguajes regulares.regular es exactamente la de los lenguajes regulares.

Referencias

http://virtual.unibe.edu.do/file.php?file=%2F712%2FRamon.Brena.-.Automatas.y.Lenguajes_-_By_Santirub.pdf

Recommended