Documentos de Académico
Documentos de Profesional
Documentos de Cultura
autmatas.
Clase # 2 Compiladores e
Interpretes
Luis Ochoa
ziul1979@gmail.com
Repaso General
Conjuntos: Un conjunto como se puede ver a grandes rasgos
como una coleccin de individuos u objetos . Los conjuntos se
pueden expresar de dos maneras:
En extensin, lo cual quiere decir que citamos
explcitamente cada uno de sus elementos, como en
el conjunto {1, 3, 5} que contiene exactamente los
nmeros 1, 3 y 5.
En intencin, dando una descripcin precisa de
La notacin a B
los elementos que forman parte del conjunto, en
significa que a es
elemento o est
vez de citarlos explcitamente. Por ejemplo, el
contenido en el
conjunto B; por
conjunto del punto anterior puede ser visto como:
Ejemplo:
{i N | impar(i), i < 6}
{2, 3} {1, {2, 3}, 4}
donde se supone que los nmeros impares
cumplen la condicin impar(i).
Para indicar que a no
est en B se escribe
a B.
Repaso General
El tamao de un conjunto es el nmero de elementos que contiene,
y se representa como |A| para un conjunto A. Por ejemplo, el
tamao de {a, b, c} es 3, y el tamao del conjunto vaci es cero.
Aunque existen conjuntos con tamaos no muy claros.
Dos conjuntos A y B son iguales, A = B, si y slo si tienen los mismos
elementos, esto es, x A si x B. Por ejemplo {1, {2, 3}} = {{3,
2}, 1} vemos que en los conjuntos el orden de los elementos es
irrelevante.
Se supone que en los conjuntos no hay repeticiones de elementos, y
que cada elemento del conjunto es distinto de todos los otros
elementos.
La notacin A C B significa que el conjunto A est contenido en el
conjunto B, o ms tcnicamente, que A es subconjunto de B. Por
ejemplo, el conjunto {a, c} es subconjunto de {a, b, c}, indicado
como {a, c} C {a, b, c}. En otras palabras, A C B cuando siempre
que x A, tenemos tambin x B. Obsrvese que de acuerdo con
esta definicin, A A para cualquier conjunto A: todo conjunto es
subconjunto de s mismo.
Repaso General
Para indicar que un subconjunto contiene menos elementos que otro, es
decir, que es un subconjunto propio de ste, se escribe A C B. Por
ejemplo, {a, c} C {a, b, c}. Claramente, A = B si A C B y B C A.
Obsrvese tambin que si A C B, entonces |A| |B|, y si A C B,
entonces |A| < |B|.
Operaciones con conjuntos:
Unin: A U B contiene los elementos del conjunto A y tambin los
del conjunto B, es decir, {x | x A o x B}. La unin de conjuntos es
conmutativa.
Interseccin: A B contiene los elementos que pertenecen
simultneamente al conjunto A y al conjunto B, es decir, A B = {x |
x A y x B}. Por ejemplo, {1, 2, 3} {3, 4} = {3}.Es conmutativa y
asociativa.
Complemento: Dado un universo (ejemplo nmeros naturales),
contiene entonces el complemento del conjunto contiene los
elementos del universo que no estn en el conjunto. Ejemplo:
U=nmeros naturales A= {2,4,6}
Ac = {1,3,5}
Producto Cartesiano: de dos conjuntos, A B, es el conjunto de
pares ordenados (a, b) tales que a A y 2 B. Por ejemplo,
{1, 2} {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
El tamao de AB es |A| multiplicado por |B|.
Repaso General
Se llama relacin a todo subconjunto de un producto
cartesiano; por ejemplo la relacin contiene los pares de
nmeros naturales tales que el primer componente es menor
o igual al segundo, esto es, = {(1, 1), (1, 2), (1, 3), (2, 3), . . .}
o relacin x es padre de y, siendo x y y conjuntos de
personas.
Un caso particular de las relaciones son las funciones, que
son relaciones en que no hay dos pares ordenados que tengan
el mismo primer componente. Es decir, los pares ordenados
asocian a cada primer componente un nico segundo
componente. Por ejemplo, la relacin {(1, 2), (2, 3), (1, 3)} no
es una funcin, pero {(1, 2), (2, 3), (3, 3)} s lo es. Tomando
como ejemplo las familias, la relacin de hermanos no es una
funcin, pero la relacin de cada quien con su padre s lo es
(cada quien tiene a lo ms un padre).
Repaso General
Adems de los conjuntos finitos ( con un
nmero de elementos determinado ) tambin
puede haber conjuntos infinitos, cuyo tamao no
puede expresarse con un nmero; un ejemplo es
el conjunto de los nmeros naturales N = {1, 2,
3, . . .}. An a estos conjuntos pueden aplicarse
todas las operaciones antes descritas.
Conceptos
Alfabeto: Conjunto finito y no vaci cuyos
elementos se denominan smbolos. Se designa
normalmente con las letras: o
Ejemplos:
{0,1}
{a,b,c,x,y,z}
{0,1,2,3,4,5,6,7,8,9}
{a,b}
Conceptos
Palabra: es una secuencia finita de smbolos de un alfabeto,
las mismas se pueden crear especificando un alfabeto
determinado.
Ejemplos:
Si el alfabeto es {a,b}:
aba, bab, a, b, bbbbabababababababababababababbaba
Si el alfabeto {0,1}:
0,1,01,11,10,
{,a,b,bb,ba,bba}
es importante las palabras en negritas son tambin consideradas subpalabras
impropias, las dems son subpalabras propias.
Ejemplo:
Los prefijos de la palabra bbaab son {,b,bb,bba,bbaa,bbaab} se observan
los prefijos propios en azul
Los sufijos son {,b,ab,aab,baab,bbaab} se observan los sufijos propios en
azul
Lenguaje
Se considera un lenguaje como un conjunto de palabras
sobre un alfabeto determinado.
Para designarlo normalmente se usa la letra L, con
subndices, si es necesario, y otras letras maysculas del
alfabeto latino.
Ejemplos sobre el alfabeto ={a,b}:
L1={a,aa,aaa,aaaa}
L2={a,b,aa,ab,ba,bb}
L3={aabb} con una sola palabra
L4={}
L5={}=
Pueden ser infinitos como:
El lenguaje sobre ={a,b} de todas las palabras que tengan
tantas letras a como letras b.
El lenguaje de todas las palabras sobre ={a,b,c}
No es conmutativa w1 w2 w2 w1
Es asociativa (w1 w2) w3 = w1 (w2 w3)
Tiene como elemento neutro la palabra vaca ().
(Lc)c = L
(L1 U L2)c = L1c L2c
(L1 L2)c = L1c U L2c
L1 - L2 = L1 L2c
As L*=L0 U L1 U L2 U
Si fuese L={b} o L={aa} como quedara la clausura?
Su concepto es simple: Es similar a L*, solo difiere en que no posee L0, a diferencia
de L* que si lo posee.
Por ejemplo si L={a,ba} entonces
L0={}
L1=L={a,ba}
L2={aa, aba, baa, baba}
As L+=L1 U L2 U
Si fuese L={b} o L={aa} como quedara la clausura?
Cierres de un alfabeto: * +
Dado que un alfabeto puede ser considerado un
lenguaje formado por palabras de un solo smbolo
(longitud 1), las operaciones de cierre de Kleene y
cierre positivo de Kleene tambin son aplicables a
los alfabetos.
* : Conjunto de todas las palabras sobre .
+ : Conjunto de todas las palabras sobre de
longitud no nula.
Definicin de Lenguaje
Para definir un lenguaje lo podemos hacer de dos
maneras, formal e informal:
Definicin de Lenguaje
Autmatas finitos
Qu es un autmata finito?
Autmatas finitos que reconocen lenguajes.
Cmo hay que imaginarse un autmata finito.
Autmatas finitos
2.
3.
4.