34
Universidad Iberoamericana (UNIBE) Prof. Rhina Familia

Expresiones regulares y gramaticas

Embed Size (px)

Citation preview

Page 1: Expresiones regulares y gramaticas

Universidad Iberoamericana (UNIBE)

Prof. Rhina Familia

Page 2: Expresiones regulares y gramaticas

Kilson Jiménez 12-0639

Janny Luz Pérez 11-1178

Silvia Nathaly Rodríguez 11-1165

Page 3: Expresiones regulares y gramaticas

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, . . .}

Page 4: Expresiones regulares y gramaticas

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

Page 5: Expresiones regulares y gramaticas

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.

Page 6: Expresiones regulares y gramaticas

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.

Page 7: Expresiones regulares y gramaticas

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.

Page 8: Expresiones regulares y gramaticas
Page 9: Expresiones regulares y gramaticas

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.

Page 10: Expresiones regulares y gramaticas

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

Page 11: Expresiones regulares y gramaticas
Page 12: Expresiones regulares y gramaticas
Page 13: Expresiones regulares y gramaticas

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.

Page 14: Expresiones regulares y gramaticas
Page 15: Expresiones regulares y gramaticas
Page 16: Expresiones regulares y gramaticas
Page 17: Expresiones regulares y gramaticas
Page 18: Expresiones regulares y gramaticas

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:

Page 19: Expresiones regulares y gramaticas
Page 20: Expresiones regulares y gramaticas

Tres modelos para expresar lenguajes regulares

Page 21: Expresiones regulares y gramaticas
Page 22: Expresiones regulares y gramaticas

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.

Page 23: Expresiones regulares y gramaticas

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).

Page 24: Expresiones regulares y gramaticas

Obtener la ER equivalente al siguiente AFD:

La expresión regular buscada es:

Page 25: Expresiones regulares y gramaticas

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

Page 26: Expresiones regulares y gramaticas

Pasos:

Page 27: Expresiones regulares y gramaticas

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)

Page 28: Expresiones regulares y gramaticas

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.

Page 29: Expresiones regulares y gramaticas

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.

Page 30: Expresiones regulares y gramaticas

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 .

Page 31: Expresiones regulares y gramaticas

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 .

Page 32: Expresiones regulares y gramaticas

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.

Page 33: Expresiones regulares y gramaticas

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.

Page 34: Expresiones regulares y gramaticas

Referencias

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