Está en la página 1de 9

Unidad II: Teora de Lenguaje

2.1. EXPRESION REGULAR. El lenguaje aceptado por un Autmata Finito, es fcilmente descrito por una simple expresin regular. Se define L0 = { } L* = Clausura de Kleene L+ = Clausura Positiva Sea un alfabeto, las expresiones regulares sobre y los conjuntos que ellos denotan se definen recursivamente como siguen: 1. es una expresin regular que denota el conjunto vaco 2. es una expresin regular y denota el conjunto { } Por lo tanto: (r +s) denota al conjunto R U S (rs) denota al conjunto RS r* denota al conjunto R* 2.1.1. EQUIVALENCIA ENTRE EXPRESION REGULAR Y AFN- . Teorema: Sea r una expresin regular, entonces existe un AFN- que acepta L(r). Expresiones Regulares bsicas ab

a|b

a b*

La clausura positiva ab+ para trabajar en JFLAP esta dada por ab+ = abb*

2.1.2. CONVERSION DE EXPRESION REGULAR A AFN- . Dada la ER, realice su AFN- . 1. (p | q)* r

2. xyy* z

2.1.3. CONVERSION DE EXPRESION REGULAR A AFD. Primer paso: Convertir la ER a AFN- Segundo paso: Convertir el AFN- a AFD Dada la Expresin Regular xyy* z, realice el AFD. AFN-

q0 q1 q2 q3 q4 q5 q6 q7 q8 *q9

{q1} {q3} {q5,q7} {q5,q7} {q9}

x {q2}

y {q4} {q6}

z {q8}

(q0, ) = Clause(q0) = {q0,q1} Primer estado (Estado Inicial) ({q0,q1}, x) = (q0, x) U (q1, x) = U {q2}= Clause(q2) = {q2,q3} Segundo Estado ({q0,q1}, y) = (q0, y) U (q1, y) = U = ({q0,q1}, z) = (q0, z) U (q1, z) = U = ({q2,q3}, x) = (q2, x) U (q3, x) = U = ({q2,q3}, y) = (q2, y) U (q3, y) = U {q4} = Clause{q4} = {q4,q5,q7} Tercer Estado

({q2,q3}, z) = (q2, z) U (q3, z) = U = ({q4,q5,q7}, x) = (q4, x) U (q5, x) U (q7, x) = U U = ({q4,q5,q7}, y) = (q4, y) U (q5, y) U (q7, y) = U {q6} U = Clause(q6) = {q5,q6,q7} Cuarto Estado {q6} =

({q4,q5,q7}, z) = (q4,z) U (q5,z) U (q7,z) = U U {q8} = Clause(q8) ={q8,q9} Quinto Estado ({q5,q6,q7}, x) = (q5, x) U (q6, x) U (q7, x)= U U = ({q5,q6,q7}, y) = (q5, y) U (q6, y) U (q7, y) = U {q6} U = {q6} = Clause(q6) = {q5,q6,q7} ({q5,q6,q7}, z) = (q5,z) U (q6,z) U (q7,z) = U U {q8} = Clause(q8) ={q8,q9} ({q8,q9}, x) = (q8, x) U (q9, x) = U = ({q8,q9}, y) = (q8, y) U (q9, y) = U = ({q8,q9}, z) = (q8, z) U (q9, z) = U = AFD

2.1.4. CONVERSION DE AUTOMATA FINITO A EXPRESION REGULAR. La estrategia para construir una expresin regular a partir de un autmata finito es: 1. Para cada estado de aceptacin q, aplicamos el proceso de reduccin para producir un autmata equivalente, con expresiones regulares como etiquetas de los arcos. Eliminamos todos los estados, excepto q y el estado inicial q0.

2. Si q q0, debemos terminar con un autmata de dos estados, es posible describir de varias formas las expresiones regulares que representan cadenas aceptadas. 3. Si el estado inicial tambin un estado de aceptacin, hay que llevar a cabo una eliminacin de estados del autmata que describe todos los estados excepto el inicial. Cuando se hace esto, nos quedamos con un autmata de un solo estado, donde la expresin regular que representa las cadenas aceptadas por este autmata es R*. Para ello se debe comenzar poniendo conjunto vaco en todos los estados para nivelara al autmata e iniciar a remover los estados no finales (intermedios), donde solo se deja el inicial y el final. Cuando el autmata va al mismo estado con dos estados diferentes, se emplea la unin de los conjuntos por medio +. Un lenguaje regular en un alfabeto es uno que puede obtenerse de esos lenguajes bsicos con las operaciones de unin, concatenacin y clausura de Kleene (*). Asi pues, es factible describir un lenguaje regular con una formula explicita. Es comn que esta ultima se simplifique un poco, al omitir las llaves {} o sustituirlas por un parntesis y al reemplazar U con +, de lo cual resulta lo que se llama expresin regular. Lenguaje () (0) (0001) (0,1) (0,10) (1,) (001) (110)*(1U0) (1)*(10) (10,11,110101)* (0,10)*((111) * U (001,)) Ejemplos: 1-Dado el AFD, encuentre la ER Expresin Regular 0 0001 01 0 +10 (1+ ) 001 (110)*(1+0) 1*10 (10+11+110101)* (0+10)*((111) *+ (001+))

Expresin Regular (0*10*1)* 0*10*

2-Dado el AFD, encuentre la ER

Lo primero es representar los elementos del AFD, en funcin de expresin regular, es decir como el estado q1 tiene 0 U 1 convertirlo a 0+1. Posteriormente nivelar el AFD con conjuntos vacios y finalmente se elimina el estado intermedio q2 para dejar solo el estado inicial y estado final.

La expresin regular 1*00*1(0+1)* 3-Dado el AFN, encuentre la ER

Lo primero es representar los elementos del AFN, en funcin de expresin regular, es decir como el estado q2 tiene 0 U 1 convertirlo a 0+1. Posteriormente nivelar el AFN con conjuntos vacios y finalmente se elimina el estado intermedio q1 para dejar solo el estado inicial y estado final.

La expresin regular es 1*00*1(0+1)*

2.2. GRAMATICAS LIBRE DE CONTEXTO. Existen cuatro componentes importantes en la descripcin gramatical de un lenguaje: 1. Un conjunto finito de smbolos que forman cadenas del lenguaje que se esta definiendo llamado smbolos terminales 2. Un conjunto finito de variables, llamadas smbolos no terminales. Cada variable representa un lenguaje, es decir conjunto de cadenas. 3. Una de las variables representa el lenguaje que se esta definiendo, se llama smbolo inicial. Otras variables representan clases auxiliares de cadenas que ayudan a definir el lenguaje del smbolo inicial. 4. Un conjunto finito de producciones o reglas, que representan la definicin recursiva de un lenguaje. Cada produccin consta de: a) La variable a la que define la produccin. A esta variable se le llama a menudo cabeza de produccin. b) El smbolo de produccin c) Una cadena de cero o mas smbolos terminales y variables. Esta cadena, llamada cuerpo de la produccin, representa una forma posible de construir cadenas en el lenguaje de la variable de la cabeza. Para hacerlo los smbolos terminales no cambian, pero las variables del cuerpo sustituirse por cualquier cadena que se sabe que esta en el lenguaje de esa variable. Los cuatro componentes componen una gramtica libre de contexto (GLC), a veces se llamaran simplemente gramtica. Se representa mediante sus cuatro componentes, G=(V,T,P,S), donde V es el conjunto de variables, T el de smbolos terminales, P el conjunto de producciones y S el smbolo inicial. Ejemplo: S aS S bA A aS A

2.2.1. CONVERSION DE AUTOMATA FINITO A GRAMATICA Cada Autmata Finito puede ser representado por una Gramtica, donde la variable de produccin representa el estado y los smbolo son los elementos. Ejemplos: 1-Dado el Autmata Finito, encuentre la Gramtica

Lo primero es representar a cada estado como variable de produccin de la gramtica, posteriormente se realiza las producciones.

2-Dado el Autmata Finito, encuentre la Gramtica

Lo primero es representar a cada estado como variable de produccin de la gramtica, posteriormente se realiza las producciones.

2.2.2. CONVERSION DE GRAMATICA A AUTOMATA FINITO Cada Gramtica puede ser un Autmata Finito, done las variable de produccin son estados y los elementos son smbolos. Ejemplo: 1-Dada la Gramtica, encuentre el Autmata Finito

También podría gustarte