Beruflich Dokumente
Kultur Dokumente
Captulo 0: Preliminares
______________________________________________________________________
0 PRELIMINARES
0.1 REPASO A LA TEORA DE CONJUNTOS
0.1.1 DEFINICIONES BSICAS
Notacin:
A={a, b, c}
W={x : x es un entero positivo}
Pertenencia: x X
Unin: A B = {x : x A x B}
x es un elemento de X
A = {a, b, c}
o E.g.:
A B = {a, b, c, d }
B = {b, c, d }
Interseccin: A B = {x : x A x B}
A = {a, b, c}
o E.g.:
A B = {b, c}
B = {b, c, d }
TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
A = {a, b, c}
A B = {b}
o E.g.:
B = {a, c}
Subconjunto: A B = {x : x A x B}
Subconjunto propio:
A BB A=
A= B A BB A
A es el dominio de f.
( n, n )
2
entonces, f ( n ) = n 2 n .
Esta funcin es uno a uno2 porque a cada elemento inicial le corresponde
uno final diferente y, no se encuentra sobre3 ya que el contradominio
slo contiene cuadrados perfectos.
Podemos hallar el complemento de un conjunto con respecto a otro universal, (p.e. el complemento del
conjunto {1, 5} en son todos los naturales excepto 1, 5.
2
Cada elemento del contradominio est asociado a uno slo del dominio
3
Cada elemento del conjunto final est en el cotradominio
TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
(1)
Definir el conjunto S={ n tales que P(n) es verdadera}
(2)
Probar que 1 S (CASO BASE)
(3)
Suponer que n S para un n 1 arbitrario (HIPTESIS DE INDUCCIN)
(4)
Demostrar que entonces n + 1 S (PASO DE INDUCCIN)
E.g.: Queremos demostrar si P(X) (conjunto potencia), para todos los conjuntos
finitos X con tamao mayor o igual que uno cumple:
|P(X)|=2|X|
(a)
El conjunto X
{1}
{}
{1}
{1,2}
{}
{2}
{1}
{1,2}
{}
{3}
{1}
{1,3}
{1,2}
{1,2,3}
{1,2,3}
Figura 0.1
TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
X = n , genrico.
(4) Hemos de demostrar que para un conjunto tal que Y = n + 1 , se cumple (a):
Como hemos observado en la figura 1 para un valor |X| = n e |Y| = n+1, se cumple
que:
|P(Y)|= 2 |P(X)|
(b)
En el punto (3) del razonamiento hemos supuesto (caso bsico) que se cumple
|P(X)|=2|X|, con lo que (b) nos queda como:
c.q.d.
Figura 0.2.
Verificacin:
(1) En el caso de que (lista) est vaca el procedimiento se verifica
(2) Suponemos que para una lista de n elementos se verifica.
(3) En el caso de una lista de n+1 elementos, como sabemos que
para n se cumple: clasificara n elementos y a continuacin el
primer elemento lo situara en el lugar correcto, luego se
verificara.
TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
Cardinalidad de un conjunto A es A :
Comparacin de cardinalidades:
o
X Y f : X Y y f es uno a uno.
Teorema de Schder-Bernstein:
X <Y X Y X Y
E.g.:
o
X Y Y X X =Y
= +
siendo
f : +
x
x +1
|X|< |P(X)|
Demostracin:
Hemos de demostrar que
|X| |P(X)|
|X| |P(X)|
- |X| |P(X)|
TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
Si existe y, debe cumplirse una de las dos siguientes opciones:
- y f ( y ) : entrara en contradiccin con la definicin de Y.
f ( y) = Y .
0.1.4 Y QU?
(LEER EN EL LIBRO A TTULO INFORMATIVO, PGINA 12)
TEORIA DE AUTMATAS I
Captulo 0: Preliminares
______________________________________________________________________
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
Los autmatas finitos y los lenguajes regulares se encuentran el nivel mas bajo de la
jerarqua de mquinas y lenguajes que se estudiaran en los tres captulos siguientes.
Una de sus aplicaciones es formar parte del analizador lxico de los compiladores.
Tambin se les llama diagramas de estado. Es una coleccin finita de crculos, los
cuales se pueden rotular para fines de referencia, conectados por unas flechas
llamadas arcos cada uno de los cuales se etiqueta con un smbolo o categora de
estos que pudiera presentarse en la cadena de entrada que se analiza.
Por lo menos uno de los crculos se representa doble, designando as posiciones del
diagrama en las que se ha reconocido una cadena vlida, son los estados de
aceptacin.
EJEMPLO:
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
Una fila es para cada estado del diagrama, y una columna para cada smbolo o categora
de smbolos que podra ocurrir en el cadena de entrada.
Por ltimo, se agrega una columna rotulada como FDC para el fin de cadena que
contiene el valor aceptar si al fila corresponde a un estado de aceptacin y el valor
error si no corresponde.
EJEMPLO:
1
2
3
letra (l)
3
error
3
dgito (d)
2
error
3
FDC
error
error
aceptar
Las cadenas que deben analizarse en una aplicacin estn construidas a partir de un
conjunto de smbolos:
Alfabeto: Conjunto de smbolos finito no vaco a partir del cual se construyen las
cadenas.
Palabra o cadena: Sucesin finita de smbolos de un alfabeto.
Autmata finito determinista: Dispositivo que puede estar en cualquier nmero finito de
estados (necesariamente uno inicial y al menos uno final), que detecta los smbolos que
le llegan y basndose en el estado actual y el smbolo que le llega, ejecuta una
transicin. Es determinista si para cada estado existe una sola salida para cada smbolo
del alfabeto.
Cadena vaca: Su smbolo es , es la cadena que no contiene ningn smbolo. Para que
un autmata finito determinista la acepte, su estado inicial debe ser de aceptacin.
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
de cada uno de los estado slo puede salir un arco por cada smbolo del
alfabeto (un mismo smbolo no puede tener dos caminos).
Para estar completamente definido, debe haber un arco para cada
smbolo del alfabeto.
AFD
de
n m transiciones.
smbolos
tendr
10
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
TEOREMA 1.1.
Para cualquier alfabeto , existe un lenguaje que no es igual a L(M)
para cualquier autmata finito determinista M.
Demostracin:
La coleccin de A.F.D. con alfabeto es numerable (podemos hacer
una lista con todos los autmatas de 1 estado, luego de 2, y as sucesivamente).
Por otro lado, el nmero de lenguajes con respecto a es incontable. Entonces
hay ms lenguajes que A.F.D.. Como cada autmata solo admite un lenguaje
entonces habr lenguajes que no son aceptados.
Conclusin:
Hay conjuntos de cadenas que no pueden ser identificadas por
los autmatas finitos deterministas.
TEOREMA 1.2.
Si un lenguaje regular contiene cadenas de la forma xnyn para enteros n
arbitrariamente grandes, entonces debe contener cadenas de la forma
xmyn, donde m y n no son iguales.
Demostracin:
Si M es un A.F. tal que L(M) contiene xnyn para una n arbitrariamente
grande, entonces debe existir un entero positivo k mayor que el nmero de
estados de M y tal que xkyk se encuentre en L(M).
El proceso de aceptacin de la cadena xkyk implica que se recorra ms
de una vez alguno de los estados de M antes de llegar a las y de la cadena (se
Ntese la distincin entre el lenguaje vaco y la cadena vaca , podramos decir que el lenguaje que
contiene nicamente a la cadena vaca {}, que tambin sera regular, es un lenguaje que contiene una
cadena (la vaca), y el lenguaje vaco no tiene ninguna cadena. Como similitud podramos establecer la
relacin: LENGUAJE DIRECTORIO y CADENA FICHERO; el lenguaje vaco sera como un
directorio en el que no hubiese fichero alguno. En cambio el lenguaje {} sera un directorio que tendra
en su interior un fichero (que estara vaco).
4
11
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
recorrer una ruta circular). Si j es el nmero de x ledas en esa ruta entonces la
mquina puede aceptar la cadena xk+jyk recorriendo la ruta una vez ms.
Conclusin:
Son similares a los A.F.D. ya que tambin analizan cadenas construidas a partir de
un alfabeto finito y slo puede tener un nmero finito de estados, algunos de
aceptacin y uno de ellos es inicial. La diferencia radica en que la transicin entre
estados que se ejecuta en una etapa dada puede ser incierta.
EJEMPLO:
Figura 1.3.- Autmata finito no determinista que acepta cadenas que representan enteros o
cadenas que representan nmero reales en notacin decimal.
12
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
Un A.F.N.D. acepta una cadena cuando es posible que su anlisis deje a la mquina
en un estado de aceptacin.
TEOREMA 1.3.
Para cada autmata finito no determinista, existe un autmata finito
determinista que acepta exactamente el mismo lenguaje.
Algoritmo de obtencin del A.F.D.
1. El nmero de estados ser P(S).
2. El estado inicial ser el mismo.
3. Sern estados de aceptacin todos aquellos de los que forme parte alguno de los de
aceptacin del original.
4. Para las transiciones deterministas (si sj ) se trazarn entre todos los estados que
contengan si y hasta sj.
5. Para las transiciones no deterministas, si suponemos parten de s0 y llegan a s1 y a s2,
saldr un arco de cada estado que contenga s0 hasta el estado s1s2.
6. Quitamos los estados de los que slo salen arcos y no llega ninguno, y se obtiene el
A.F.D.
TEOREMA 1.4.
Para cualquier alfabeto , {L(M): M es un autmata finito determinista con
alfabeto }={L(M): M es un autmata finito no determinista con alfabeto }
Demostracin:
No es ms que una repeticin del teorema 1.3.
Conclusin:
A la hora de analizar la aceptacin de lenguajes muchos autores no
distinguen entre A.F.D. y A.F.N.D., hablando nicamente de autmatas finitos.
13
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
Z yX
Zx
Z
TEOREMA 1.5.
Para cada gramtica regular del alfabeto , de la forma G (V , , , R ) existe
un autmata finito de la forma M ( S , , , , F ) que reconoce el lenguaje
generado por G, donde:
S =V
F V , F {vi V vi R}
S S =
{( P, x, Q ) P xQ R; P, Q V ; x }
Para nuestro estudio denotaremos los smbolos no terminales con letras maysculas y los terminales con
minsculas.
14
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
EJEMPLO:
S xX
X yY
Y xX
Y
Reemplazamientos:
Nx
N xX
X
o UNIN:
Sea L1 = { x, xy} y L2 = { yz , yy} , entonces L1 L2 = { x, xy, yz , yy} .
Construccin general con autmatas:
1. Dibujar un nuevo estado inicial, que ser de aceptacin, s y slo s, lo
es uno de los primitivos iniciales.
2. Para cada estado que sea destino de un arco desde los iniciales
primitivos, dibujar un arco con la misma etiqueta desde el nuevo inicial.
3. Eliminar la caracterstica de inicio de los primitivos estados iniciales.
15
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
EJEMPLO:
Estados iniciales
anteriores
Autmatas iniciales
Autmata final
o CONCATENACIN:
Sea L1 = { x, xy} y L2 = { yz , yy} , entonces L1 o L2 = { xyz , xyy, xyyz , xyyy} .
16
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
EJEMPLO:
Autmatas iniciales
Autmata final
o ESTRELLA DE KLEENE:
Supongamos un lenguaje L1 = { x} entonces L1 ser el conjunto de todas las
cadenas finitas de varias x incluyendo la cadena vaca .
EJEMPLO:
Autmata inicial
Autmata final
17
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
TEOREMA 1.6.
Dado un alfabeto , los lenguajes regulares de son exactamente los
lenguajes representados por las expresiones regulares de .
o
Procedimiento:
(( r o s ) o t )
Si estn todos: ( ( r o s ) o t ) o ( u o ( ( r o s ) o t ) )
18
TEORIA DE AUTMATAS I
Captulo 1: Autmatas finitos y lenguajes regulares
______________________________________________________________________
El autmata M
o
o
o
( S , ,
( s, x ) = q
qS
q = (1 ( s1 , x ) , 2 ( s2 , x ) )
LENGUAJES FINITOS
19