Está en la página 1de 20

Definiciones

Operaciones
Resumen

Alfabetos — Palabras — Lenguajes

Horst H. von Brand


vonbrand@inf.utfsm.cl

Departamento de Informática
Universidad Técnica Federico Santa Marı́a

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Contenido

Definiciones

Operaciones

Resumen

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Introducción

Hablaremos de lenguajes, compuestos de palabras, a su vez


compuestas de sı́mbolos. Buscamos analizar las anteriores
matemáticamente. Debemos partir definiendo nuestros términos.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Alfabeto

Definición
Un alfabeto es un conjunto finito de sı́mbolos atómicos.
Usaremos letras griegas mayúsculas para designar alfabetos:
Σ, Γ, ∆, . . .
Que los sı́mbolos sea atómicos significa que los consideraremos
como un todo, sin partes. Para nosotros, una letra como ((á)) es
solo eso, no una ((a)) con acento, es un sı́mbolo distinto.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Palabras

Definición
Una palabra es una secuencia finita de sı́mbolos de un alfabeto Σ.
Usaremos letras griegas minúsculas para designar palabras:
α, β, γ, . . . , ε, . . .
La palabra de largo cero (vacı́a) la designaremos ε. Cuidado,
algunos autores aún usan λ para designarla.
Note que siendo secuencias, pueden contener sı́mbolos repetidos, y
el orden de los mismos es relevante.
En inglés suelen llamarse string.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Lenguajes

Definición
Un lenguaje sobre el alfabeto Σ es un conjunto de palabras sobre
Σ.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Lenguajes

Siendo conjuntos, el conjunto vacı́o ∅ es un lenguaje. Tenga


cuidado de distinguir ∅ del lenguaje {ε}. El primero no tiene
elementos, el segundo tiene un elemento.
Según esta definición son lenguajes C (el conjunto de todos los
archivos válidos en C) y el castellano (todos los textos que se
pueden escribir en castellano). Acá nos interesa solo si es o no
legal, no nos enfrascamos con ortografı́a, gramática o sentido de
las palabras.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones con palabras

Largo: El largo de la palabra α es su número de sı́mbolos (el


largo de la secuencia). Lo anotamos |α|. Algunos
anotan lg(α).
Concatenación: Concatenar las palabras α = a1 a2 . . . am y
β = b1 b2 . . . bn resulta en la palabra
a1 a2 . . . am b1 b2 . . . bn . Lo anotamos α · β o
simplemente αβ.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones con palabras

Potencias:
(
n ε n=0
α =
αn−1 · α n≥1

Reverso:

εR = ε
aα = αR a α ∈ Σ∗ , a ∈ Σ

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones con palabras

Algunas propiedades:
I |ε| = 0
I |αβ| = |α| + |β|
I |αR | = |α|
I α·ε=ε·α=α
I En general, α · β =
6 β·α
R
I (αβ) = β α R R

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones entre lenguajes


Son conjuntos, son aplicables las operaciones entre conjuntos.
Suele anotarse L1 | L2 para la unión entre L1 y L2 (idea es ((una
palabra de L1 o de L2 ))).
Concatenar: L1 · L2 = {α · β : α ∈ L1 ∧ β ∈ L2 }
Potencias:
(
n {ε} n=0
L = n−1
L ·L n ≥1
Estrella de Kleene:
L∗ = {α : ∃k ≥ 0, α ∈ Lk }
Más:
L+ = {α : ∃k ≥ 1, α ∈ Lk }

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones entre lenguajes

Extendemos operaciones sobre palabras a lenguajes elemento a


elemento. Por ejemplo:

LR = {αR : α ∈ L}

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones entre lenguajes

Algunos ejemplos:

L1 = {a, ab} L2 = {a, ba, bab}

L1 | L2 = L2 | L1 = {a, ab, ba, bab}


L1 · L2 = {aa, aba, abab, abba, abbab}
L2 · L1 = {aa, aab, baa, baab, baba, babab}
LR
2 = {a, ba, bab}

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones entre lenguajes


Potencias:
L = {a, ab}

L0 = {ε}
L1 = L0 · L
= {ε} · L
=L
= {a, ab}
L2 = {aa, aab, aba, abab}
L3 = {aaa, aaab, aaba, aabab, abaa, abaab, ababa, ababab}

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones entre lenguajes

Estrella de Kleene:

L∗ = L0 ∪ L1 ∪ L2 ∪ · · ·
= {ε} ∪ {a, ab} ∪ {aa, aab, aba, abab} ∪ · · ·
= {ε, a, ab, aa, aab, aba, abab, aa, aab, aba, abab, . . . }
L+ = L1 ∪ L2 ∪ · · ·
= {a, ab, aa, aab, aba, abab, aa, aab, aba, abab, . . . }

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones entre lenguajes

Note que:

∅0 = {ε} {ε}0 = {ε}


∅∗ = ∅0 ∪ ∅1 ∪ ∅2 ∪ · · · {ε}∗ = {ε}0 ∪ {ε}1 ∪ {ε}2 ∪ · · ·
= {ε} = {ε}
+ 1 2
∅ = ∅ ∪ ∅ ∪ ··· {ε} = {ε}1 ∪ {ε}2 ∪ · · ·
+

=∅ = {ε}

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Operaciones entre lenguajes

Algunas propiedades:
I L|L=L
I L1 | L2 = L2 | L1
I L1 | (L2 | L3 ) = (L1 | L2 ) | L3
I ∅|L=L|∅=L
I {ε} · L = L · {ε} = L
I ∅·L=L·∅=∅
I L1 · (L2 · L3 ) = (L1 · L2 ) · L3
I (L1 | L2 ) · L3 = L1 · L3 | L2 · L3 y L1 · (L2 | L3 ) = L1 · L2 | L1 · L3
I {ε} | L+ = L∗
En general, es L1 · L2 6= L2 · L1 .

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Interpretación de las operaciones

I L1 | L2 es tomar una palabra de L1 o una palabra de L2


I L1 · L2 es tomar una palabra de L1 y concatenarla con una
palabra de L2
I Ln es tomar n palabras (posiblemente distintas) de L y
concatenarlas en orden. Note que en general:

Ln 6= {αn : α ∈ L}

I L∗ es tomar cero o más palabras de L (posiblemente distintas)


de L y concatenarlas en orden.
I L+ es tomar una o más palabras de L (posiblemente distintas)
de L y concatenarlas en orden.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Notación

Vimos que unión y concatenación de lenguajes son asociativas, por


lo que el orden en que se efectúen estas operaciones no importa.
Para operaciones mixtas (unión, concatenación, potencias, estrella)
adoptamos la convención del álgebra: primero potencias y estrella,
luego concatenaciones, luego uniones. Esto ahorra interminables
paréntesis.

Horst H. von Brand Alfabetos — Palabras — Lenguajes


Definiciones
Operaciones
Resumen

Resumen

I Definimos alfabetos, palabras, lenguajes


I Operaciones con palabras y con lenguajes, y propiedades
simples
Es importante familiarizarse con el significado de las operaciones
entre palabras y entre lenguajes. Las usaremos frecuentemente
durante el curso.

Horst H. von Brand Alfabetos — Palabras — Lenguajes

También podría gustarte