You are on page 1of 9

Unidad II: Teoría de Lenguaje

2.1. EXPRESION REGULAR. El lenguaje aceptado por un Autómata Finito, es fácilmente descrito por una simple expresión 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 expresión regular que denota el conjunto vacío 2. ε es una expresión 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 expresión regular, entonces existe un AFN- ε que acepta L(r). Expresiones Regulares básicas ab

a|b

2. realice su AFN. 1. (p | q)* r 2.ε. xyy* z .a b* La clausura positiva ab+ para trabajar en JFLAP esta dada por ab+ = abb* 2.ε. Dada la ER.1. CONVERSION DE EXPRESION REGULAR A AFN.

z) = δ(q0. x) = δ(q0.q7} Tercer Estado . z) = Ø U Ø = Ø δ({q2. x) = Ø U {q2}= Clause(q2) = {q2.ε q0 q1 q2 q3 q4 q5 q6 q7 q8 *q9 ε {q1} Ø {q3} Ø {q5. realice el AFD.q3}.1. y) = Ø U Ø = Ø δ({q0. Primer paso: Convertir la ER a AFN.q3}.q1}. CONVERSION DE EXPRESION REGULAR A AFD.q3} Segundo Estado δ({q0.ε Segundo paso: Convertir el AFN. y) = δ(q0. x) = Ø U Ø = Ø δ({q2. x) = δ(q2. AFN. y) = δ(q2.2.q7} Ø {q5.ε a AFD Dada la Expresión Regular xyy* z.q1}.q1} Primer estado (Estado Inicial) δ({q0. ε ) = Clause(q0) = {q0.q5.q1}. x) U δ(q1. y) U δ(q1. y) = Ø U {q4} = Clause{q4} = {q4. z) U δ(q1. y) U δ(q3.q7} Ø {q9} Ø x Ø {q2} Ø Ø Ø Ø Ø Ø Ø Ø y Ø Ø Ø {q4} Ø {q6} Ø Ø Ø Ø z Ø Ø Ø Ø Ø Ø Ø {q8} Ø Ø δ(q0. x) U δ(q3.3.

z) U δ(q7. z) = δ(q5.q5.q7}.q6. Eliminamos todos los estados. y) = δ(q5.q5.q6. x)= Ø U Ø U Ø = Ø δ({q5. y) = Ø U Ø = Ø δ({q8.q7}. y) = Ø U {q6} U Ø = Clause(q6) = {q5. y) U δ(q7. x) U δ(q9.q9}.q6. x) = δ(q5. y) U δ(q6. x) = Ø U Ø = Ø δ({q8. x) U δ(q7. y) = Ø U {q6} U Ø = {q6} = Clause(q6) = {q5.4. z) = δ(q8.q9}.q7} Cuarto Estado {q6} = δ({q4. z) = δ(q2.δ({q2.z) = Ø UØ U {q8} = Clause(q8) ={q8. y) = δ(q8. z) = Ø U Ø = Ø AFD 2. y) U δ(q7. x) U δ(q7. CONVERSION DE AUTOMATA FINITO A EXPRESION REGULAR. x) = Ø U Ø U Ø = Ø δ({q4. x) = δ(q4.q3}. x) = δ(q8.q7}. La estrategia para construir una expresión regular a partir de un autómata finito es: 1. y) U δ(q5.q7}. z) = Ø U Ø = Ø δ({q4.q9} δ({q8.q9} Quinto Estado δ({q5.z) U δ(q7. y) = δ(q4.q9}. z) U δ(q9. x) U δ(q6.q7}.z) U δ(q5.q7} δ({q5.z) U δ(q6. excepto q y el estado inicial q0. x) U δ(q5. con expresiones regulares como etiquetas de los arcos.q6. aplicamos el proceso de reducción para producir un autómata equivalente. Para cada estado de aceptación q.q7}. y) U δ(q9.z) = ØU Ø U {q8} = Clause(q8) ={q8. z) = δ(q4.q5. .q6.1. z) U δ(q3.

2. encuentre la ER Expresión Regular ε 0 0001 01 0 +10 (1+ ε) 001 (110)*(1+0) 1*10 (10+11+110101)* (0+10)*((111) *+ (001+ε)) Expresión Regular (0*10*1)* 0*10* .10)*((111) * U (001.11. Asi pues. donde la expresión regular que representa las cadenas aceptadas por este autómata es R*. de lo cual resulta lo que se llama expresión regular. Para ello se debe comenzar poniendo conjunto vacío en todos los estados para nivelara al autómata e iniciar a remover los estados no finales (intermedios).10) (1.110101)* (0. se emplea la unión de los conjuntos por medio +. Es común que esta ultima se simplifique un poco.ε) (001) (110)*(1U0) (1)*(10) (10. donde solo se deja el inicial y el final. Si q ≠q0. Un lenguaje regular en un alfabeto Σ es uno que puede obtenerse de esos lenguajes básicos con las operaciones de unión. Lenguaje (ε) (0) (0001) (0. hay que llevar a cabo una eliminación de estados del autómata que describe todos los estados excepto el inicial. al omitir las llaves {} o sustituirlas por un paréntesis y al reemplazar U con +. es factible describir un lenguaje regular con una formula explicita. 3. concatenación y clausura de Kleene (*). Cuando el autómata va al mismo estado con dos estados diferentes. Cuando se hace esto.ε)) Ejemplos: 1-Dado el AFD. Si el estado inicial también un estado de aceptación.1) (0. debemos terminar con un autómata de dos estados. es posible describir de varias formas las expresiones regulares que representan cadenas aceptadas. nos quedamos con un autómata de un solo estado.

La expresión regular es 1*00*1(0+1)* . La expresión regular 1*00*1(0+1)* 3-Dado el AFN.2-Dado el AFD. encuentre la ER Lo primero es representar los elementos del AFN. Posteriormente nivelar el AFD con conjuntos vacios y finalmente se elimina el estado intermedio q2 para dejar solo el estado inicial y estado final. Posteriormente nivelar el AFN con conjuntos vacios y finalmente se elimina el estado intermedio q1 para dejar solo el estado inicial y estado final. encuentre la ER Lo primero es representar los elementos del AFD. en función de expresión regular. es decir como el estado q2 tiene 0 U 1 convertirlo a 0+1. es decir como el estado q1 tiene 0 U 1 convertirlo a 0+1. en función de expresión regular.

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

encuentre la Gramática .1. 2-Dado el Autómata Finito. encuentre la Gramática Lo primero es representar a cada estado como variable de producción de la gramática.2. CONVERSION DE AUTOMATA FINITO A GRAMATICA Cada Autómata Finito puede ser representado por una Gramática. donde la variable de producción representa el estado y los símbolo son los elementos.2. Ejemplos: 1-Dado el Autómata Finito. posteriormente se realiza las producciones.

posteriormente se realiza las producciones. Ejemplo: 1-Dada la Gramática. CONVERSION DE GRAMATICA A AUTOMATA FINITO Cada Gramática puede ser un Autómata Finito. encuentre el Autómata Finito .Lo primero es representar a cada estado como variable de producción de la gramática. 2.2.2. done las variable de producción son estados y los elementos son símbolos.