Documentos de Académico
Documentos de Profesional
Documentos de Cultura
7 de febrero de 2019
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Agenda
Sı́mbolos
Alfabetos
Definición
Un alfabeto es un conjunto finito, no vacı́o de
sı́mbolos. Comúnmente usaremos la letra griega Σ
para denotar alfabetos y σ para denotar un
elemento arbitrario de Σ
Alfabetos
Definición
Un alfabeto es un conjunto finito, no vacı́o de
sı́mbolos. Comúnmente usaremos la letra griega Σ
para denotar alfabetos y σ para denotar un
elemento arbitrario de Σ
Ejemplos
• {0, 1} es el alfabeto formado por los sı́mbolos 1
y 0 y se le conoce como alfabeto binario
• {a, b, c, ..., z} es el alfabeto con las letras
latinas de la a a la z
Luis M. Estradaluism@unam.mx—Short title@—7 de febrero de 2019@
6/32
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Cadenas
Definición
Una cadena es una secuencia o sucesión de
sı́mbolos tomados de un alfabeto. Generalmente
usaremos las variables w , x, y y z para denotar
cadenas arbitrarias.
Cadenas
Definición
Una cadena es una secuencia o sucesión de
sı́mbolos tomados de un alfabeto. Generalmente
usaremos las variables w , x, y y z para denotar
cadenas arbitrarias.
Ejemplos
• 01101 puede ser una cadena sobre el alfabeto Σ
= {0, 1}
• aaaa es una cadena sobre el alfabeto {a, b} o
bien sobre el alfabeto {a}
Luis M. Estradaluism@unam.mx—Short title@—7 de febrero de 2019@
8/32
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Cadenas
Definición
La cadena vacı́a se define como la cadena que no
tiene sı́mbolos, y para denotarla usaremos la letra
griega λ.
Cadenas
Definición
La cadena vacı́a se define como la cadena que no
tiene sı́mbolos, y para denotarla usaremos la letra
griega λ.
Importante
Algunos autores utilizan la letra griega para
denotar la cadena vacı́a.
Notación
Denotaremos con Σ∗ conjunto de todas las cadenas
que se pueden formar sobre un alfabeto Σ
Notación
Denotaremos con Σ∗ conjunto de todas las cadenas
que se pueden formar sobre un alfabeto Σ
ejemplos
• Si Σ = {a}, Σ∗ = {λ, a, aa, aaa, aaa...}
• Si Σ = {0, 1}, Σ∗ = {λ, 0, 1, 00, 01, 10, 001, ...}
ejemplos
• Si Σ = {a}, Σ∗ = {λ, a, aa, aaa, aaa...}
• Si Σ = {0, 1}, Σ∗ = {λ, 0, 1, 00, 01, 10, 001, ...}
Importante
Σ∗ siempre es un conjunto infinito que contiene a la
cadena λ
Luis M. Estradaluism@unam.mx—Short title@—7 de febrero de 2019@
13/32
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Ejemplo
Considere las cadenas u = abb y v = acc sobre el
alfabeto Σ = {a, b, c}
Entonces la concatenación de u y v es
uv = |{z}
abb |{z}
acc
u v
Luis M. Estradaluism@unam.mx—Short title@—7 de febrero de 2019@
14/32
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Definición
La longitud de una cadena x, denotada por |x| se
define como el número de sı́mbolos en x (contando
repeticiones)
Ejemplo
Si x = 011101 y z = 0111 entonces |x|=6 y |z|=4
Definición
Dada u ∈ Σ∗ y n ∈ N, descriptivamente definimos
la potencia de u, denotada por u n de la siguiente
forma:
u0 = λ
u n = uu · · · u}
| {z
n veces
Definición
Dada w = σ1 σ2 ...σn conσi ∈ Σ∗ , w R = σn σn − 1...σ1
w R se denomina la reversa de w o w reflejada:
Ejemplos
• Si w = abc w R = cba
Lenguajes
Definición
Dado un alfabeto Σ definimos un lenguaje como
cualquier subconjunto de Σ∗
Ejemplos
Dado el alfabeto Σ = {d, c} los siguientes son
lenguajes sobre Σ:
• {dc, ddd, cdc}
• {ccc, ccccc, ccccccc, ...}
• {c}
• {λ}
• ∅
Luis M. Estradaluism@unam.mx—Short title@—7 de febrero de 2019@
20/32
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Lenguajes
Es común especificar los lenguajes en notación
conjuntista: {w ∈ Σ∗ | w cumple cierta propiedad}
{w ∈ {0, 1}∗ | w tiene igual numero de 00 s y 10 s}
={ε, 01, 10, 0011, 1010, ...}
O también:
Concatenación de lenguajes
Definición
Sean L1 y L2 dos lenguajes en Σ∗ . Definimos la
concatenación de L1 y L2 , denotada por L1 L2
como:
L1 L2 = {w1 w2 ∈ Σ∗ | w1 ∈ L1 y w2 ∈ L2 }
Ejemplo
• Si L1 = {0, 1, 00} y L2 = {1, 11}
Potencias de un lenguaje
Definición
Sean L un lenguaje sobre Σ y un número natural n definimos
Ln (potencia n de L) como:
L0 = {λ}
Ln = LLL
| {z· · · L}
n veces
Ejemplos
Si L = {a, ba}
• L2 = LL = {a, ba}{a, ba} = {aa, aba, baa, baba}
Cerradura de un lenguaje
Definición
Sean L un lenguaje sobre Σ, la cerradura de Kleene, denotada por
L∗ , se define como:
∞
[
∗
L = Li = L0 ∪ L1 ∪ L2 ∪ · · · ∪ Ln · · ·
i≥0
Ejemplos
• Si L = {a}
L∗ = {λ, a, aa, aaa, aaaa, ...}
• Si L = {a, ab}
L∗ = {λ, a, ab, aa, aab, aba, abab, ..., aaa, aab, aba, aabab, ...}
Luis M. Estradaluism@unam.mx—Short title@—7 de febrero de 2019@
24/32
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Unión de lenguajes
Definición
Sean L1 y L2 dos lenguajes en Σ∗ . Definimos la unión de L1 y L2 ,
denotada por L1 ∪L2 como:
L1 ∪L2 = {w ∈ Σ∗ | w ∈ L1 o w ∈ L2 }
Ejemplo
• Si L1 = {0, 1, 00} y L2 = {1, 00, 11, 101}
Intersección de lenguajes
Definición
Sean L1 y L2 dos lenguajes en Σ∗ . Definimos la intersección de L1
y L2 , denotada por L1 ∩L2 como:
L1 ∩L2 = {w ∈ Σ∗ | w ∈ L1 y w ∈ L2 }
Ejemplo
• Si L1 = {0, 1, 00} y L2 = {1, 11, 00, 101}
L1 ∩L2 = {} = ∅
Luis M. Estradaluism@unam.mx—Short title@—7 de febrero de 2019@
26/32
fi-unam l e n g u a j e s f o r m a l e s y a u t ó m a t a s
Definición
Sean L un lenguaje sobre Σ. Definimos la reflexión de L, denotada
por LR como:
LR = {w R ∈ Σ∗ | w ∈ L}
Ejemplo
• Si L = {ai b j |i, j ≥ 1}
LR = {bj ai |i, j ≥ 1}
Jerarquı́a de Chomsky
El lingüista Noam Chomsky en los años 50’s propuso una jerarquı́a
de lenguajes que los clasifica de acuerdo a su complejidad de modo
que los lenguajes más complejos contienen a los más simples. A
esta jerarquı́a se le conoce como jerarquı́a de Chomsky.
Jerarquı́a de Chomsky
Jerarquı́a de Chomsky
Cada tipo de lenguaje está asociado a un tipo de gramática que lo
genera y un tipo de autómata capaz de procesarlo.