Este documento describe diferentes operaciones que se pueden realizar en lenguajes formales, como la unión, intersección, complemento y concatenación. También presenta teoremas que demuestran que los lenguajes reconocibles por autómatas finitos son cerrados bajo estas operaciones, lo que significa que el resultado de aplicarlas a lenguajes FA-reconocibles es también un lenguaje FA-reconocible.
3. operaciones de Idiomas
• Las operaciones que se pueden utilizar para construir
idiomas de otros idiomas.
• Recuerde: A idioma es cualquier conjunto de cadenas.
• Dado que las lenguas son
conjuntos , Podemos utilizar el habitual
establecer operaciones:
–Union: L1∪L2 – Interseccion: L1∩L2
– Complemento: Lc – diferencia: L1-L2
4. Concatenacion
L1 L2 = { x y | x ∈L1and y ∈L2 }
–toma una cadena de cada lenguaje y los concatena.
• ejemplo:
Σ= { 0, 1 }, L1= { 0, 00 }, L2 = { 01, 001 }L1 L2 = { 001, 0001, 00001 }
•observe:
| L1 L2 | ≤| 1| |L2 |, no son iguales.
L L no significa{ x x | x ∈L },pero, { x y | X y Y están en L }.
5. •L1 L2 = { x y | x ∈L1and y ∈L2 }
• ejemplos:
Σ= { 0, 1 }, L1= { 0, 00 }, L2 = { 01, 001 } L1 L2 = { 001, 0001, 00001
}L2L2 = { 0101, 01001, 00101, 001001 }
•∅ L{ x y | x ∈∅and y ∈L} = ∅
•{ ε} L{ x y | x ∈{ ε} and y ∈L} = L
6. •L1 L2 = { x y | x ∈L1and y ∈L2 }
• Write L L as L2 , L L ... L as Ln, which is { x1x2...xn| all x’s are in L }
• Example: L = { 0, 11 }L3 = { 000, 0011, 0110, 01111, 1100, 11011, 11110,
111111 }
• Example: L = { 0, 00 }L3 = { 000, 0000, 00000, 000000 }
• Boundary cases: L1= LDefine L0 = { ε}, for every L.
• Implies that L0 Ln ={ ε} Ln = Ln.
• Special case of general rule La Lb = La+b.
7. • El conjunto de idiomas FA-reconocibles es cerrado para todo seis
operaciones (unión, intersección, complemento, conjunto diferencia, la
concatenación, la estrella).
• Esto significa que: Si partimos de idiomas FA-reconocibles y aplicar
cualquiera de estas operaciones, obtenemos otra FA-lenguaje reconocible
(para una FA diferente).
• Teorema 1: Idiomas FA-reconocibles son cerrados bajo complementar.
• Prueba:
- Empezar con un lenguaje L 1 sobre el alfabeto Σ , Reconocido por algunos
FA, M 1 .
- Producir otra FA, M 2 , Con L (M 2 ) = Σ *
- L (M 1 ).
- Sólo intercambiar aceptar y los estados no-aceptar.
8. • Teorema 1:
Idiomas FA-reconocibles son
cerrado bajo complemento.
• Prueba:
Intercambio de aceptar y no aceptar
estados.
• Ejemplo: FA para {w | w no contiene 111}
- Comience con FA para {w | w contiene 111}:
9. • Teorema 1:
Idiomas FA-reconocibles son
cerrado bajo complemento.
• Prueba:
Intercambio de aceptar y no aceptar
estados.
• Ejemplo: FA para {w | w no contiene 111}
- Intercambio aceptar y Estados no aceptar
10. • Teorema 2: Idiomas FA-reconocibles son cerrado bajo intersección.
• Prueba: - Comience con AF M 1 y M 2 para el mismo alfabeto Σ . - Obtener
otro FA, M 3 , Con L (M 3 ) = L (M 1 ) ∩ L (M 2 ).
- Idea: Run M 1 y M 2 "En paralelo" en el mismo
de entrada. Si ambos alcancen estados de aceptación, aceptar.
- Ejemplo:
• L (M 1 ): Contiene subcadena 01.
• L (M 2 ): Número impar de 1s.
• L (M 3 ): Contiene 01 y tiene un número impar de 1s
12. • Teorema 3: Idiomas FA-reconocibles son cerrado bajo la unión.
• Prueba:
- Al igual que en la intersección.
- Comience con AF M 1 y M 2 para el mismo alfabeto Σ .
- Obtener otro FA, M 3 , Con L (M 3 ) = L (M 1 ) ∪ L (M 2 ).
- Idea: Run M 1 y M 2 "En paralelo" en la misma entrada. si o bien llega a un
estado de aceptación , Aceptar
Ejemplo:
• L (M 1 ): Contiene subcadena 01.
• L (M 2 ): Número impar de 1s.
• L (M 3 ): Contiene 01 o tiene un número impar de 1s.
13. • Teorema 4:
Idiomas FA-reconocibles son cerrada bajo diferencia de conjuntos.
• Prueba:
- Prueba similar a las de unión e intersección.
- De forma alternativa, dado que la L 1
-L 2 es el mismo que L 1 ∩ (L 2 ) c , Sólo podemos aplicar los teoremas 2 y
3.
14. • Teorema 5: idiomas FA-reconocibles son cerrados bajo la concatenación.
• Prueba:
- Comience con AF M1 y M2 para el mismo alfabeto Σ.
- Obtener otro FA, M3, con L (M3) = L (M1) L (M2), que se x1x2 {| ∈ X1
L (M1) y x2 ∈ L (M2)}
- Idea:???
• Conecte aceptar estados de M1 de alguna manera al estado de inicio de
M2.
• Pero hay que tener cuidado, ya que no sabemos cuando nos reacemos con
la parte de la cadena en L (M1) --- la cadena podría pasar por estados de
aceptación de M1 varias veces.