Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguajes y
gramáticas
formales
Mgtr. Diana Alejandra Gutiérrez
3.
Lenguajes formales
Operaciones y propiedades
Lenguaje (L)
▷ Conjunto de cadenas de algún ∑*,
donde ∑ es un alfabeto.
▷ Las cadenas puede que NO
contengan todos los símbolos de ∑.
▷ Puede contener un número infinito
de cadenas, cada una extraída de un
alfabeto finito.
Lenguaje vacío (∅)
▷ Lenguaje para cualquier alfabeto,
compuesto por ninguna cadena.
▷ ∅ ≠ {ε}
Lenguajes formales
▷ Es cualquier subconjunto de ∑∗ sobre el alfabeto
∑. Por tanto, ∑∗, Ø, y ∑ pueden considerarse
como lenguajes.
▷ Se especifica un lenguaje finito por extensión,
enumerando sus elementos entre llaves.
○ Si ∑ = {a, b, c, ..., z} ⇒ L = {aba, czr, d, f} es un
lenguaje sobre ∑.
▷ Un lenguaje infinito se puede describir por
comprensión.
○ Si Σ={0,1} ⇒
■ L1={x/|x|=4},
■ L2={0n1n/ n>0}
■ L3={x/x no contenga un número par de 0’s }
Unión de lenguajes
▷ Definidos L1 y L2 sobre el mismo alfabeto Σ la
unión de ambos es otro lenguaje, también
definido sobre ese alfabeto, que contiene
todas las palabras de L1 y todas las de L2
(pertenecen a uno o el otro lenguaje).
○ L = L1 ∪ L2 = { x / x ∈ L1 ∨ x ∈ L2 }
▷ Ejemplo:
○ Si L1= {001, 10, 111} y L2 = {λ, 001}
○ L1 ∪ L2 = {λ, 10, 001, 111}
Unión de lenguajes
▷ Propiedades
○ Operación cerrada
■ L1 ∪ L2 está definido sobre el mismo
alfabeto que L1 y L2
○ Asociativa
■ (L1∪L2)∪L3 = L1∪(L2∪L3)
○ Conmutativa
■ L1∪L2=L2∪L1
○ Elemento neutro (Ø)
■ L∪Ø = Ø∪L = L
○ Idempotencia
■ L∪L=L
Concatenación de lenguajes
▷ Definidos L1 y L2 sobre el mismo alfabeto Σ, la
concatenación de ambos estará formada por
todas las palabras obtenidas al concatenar una
palabra cualquiera de L1 con otra de L2.
○ L = L1L2 = { xy / x ∈ L1 ∧ y ∈ L2}.
▷ Ejemplo
○ Si L1 = {001, 10, 111} y L2 = {λ, 001}
○ L1L2 = {001, 10, 111, 001001, 10001,
111001}
Concatenación de lenguajes
▷ Propiedades
○ Operación cerrada
■ L1L2 está definido sobre el mismo
alfabeto que L1 y L2 .
○ Asociativa
■ (L1L2)L3 = L1(L2L3)
○ Elemento neutro (Lλ={λ})
■ LλL = LLλ = L
○ No Conmutativa
■ L1L2 ≠ L2L1
Concatenación de lenguajes
▷ Dados los lenguajes A,B,C sobre un alfabeto
∑, la concatenación de lenguajes es
distributiva con respecto a la unión. Es decir,
se cumple que:
○ A ・ (B ∪ C) = (A ・ B) ∪ (A ・ C)
○ (B ∪ C) ・ A = (B ・ A) ∪ (C ・ A)
Potencia i-esima
▷ Concatenar un lenguaje consigo mismo un
número i de veces. La definición inductiva es:
○ L0 = {λ}
○ Li = L・Li−1, ∀ i > 0
L1 = {0,1} L2 = {0,11}
L1 3= {000, 010, 100, 110, 001, 011, L2 3= {000, 0011, 0110, 1100, 01111,
101, 111} 11011, 11110, 11111}