TAL (Teoría De Autómatas Y Lenguajes Formales): Autómatas y Expresiones

Anuncio
Resumen de TAL. Tema 1
Monoide libre generado por (*,): La concatenación aplicada a *
cumple las siguientes propiedades:
- Es L.C.I. (Ley de Composición Interna): x,y    xy  
- Asociativa: (xy)z=x(yz)=xyz
- Elemento neutro: 
En general, la concatenación no es conmutativa ni tiene elemento simétrico.
Lenguaje (vacio y finito).
Propiedades de la concatenación de lenguajes:
- Asociativa: (L1L2)L3=L1(L2L3)=L1L2L3
- No conmutativa, en general.
- Elemento neutro: {}
- Elemento anulador: Lenguaje vacio 
Operacion de CLAUSURA.
Atención: Si   L entonces L+=L*
Si   L entonces L+=L* - {}
Propiedades:
- (L*)*=L*
- L+=LL*=L*L
- (L+)*=(L*)+=L*
- (L+)+=L+
Complementario, diferencia y reversión de lenguajes.
Propiedades de la reversión:
- (LR)R = L
- (L1L2)R = L2R L1R
- (Ln)R = (LR)n
- (L*)R = (LR)*
- (L1L2)R = L1R  L2R
Cocientes, sufijo,prefijo y segmento de un lenguaje.
Cociente por la derecha: L1 \ L2 = { x  * /  y  L2 , yx  L1 }
Cociente por la izquierda: L1 / L2 = { x  * /  y  L2 , xy  L1 }
Operación de SUSTITUCIÓN.
Ejemplo: ={0,1,2}
f(0)={,a,aa}
={a,b}
f(1)={,b}
f(2)={a,b,ab,ba}
Dados dos alfabetos  , y dada una sustitución f de  sobre , la
imagen por f de una palabra x, se obtiene en base a los siguientes puntos:
1.- f() = {}
2.- f(xa) = f(x) f(a)
para x=a1a2a3...an
f(x)=f(a1) f(a2) ... f(an)
f(L)= U f(x),
para toda palabra x de L
Ejemplo:
L = {0,01,12}
f(L) = f(0) U f(01) U f(12) = f(0) U f(0)f(1) U
f(1)f(2)
HOMOMORFISMO
Homomorfismo Inverso: h-1 (L) = { x  * / h(x)  L }
ATENCION: h-1 ( h(L) )  L ; h-1 ( h(L) )  L
h ( h-1(L) )  L ; h ( h-1(L) )  L
AUTOMATAS:
- Reconocedores (alfanumérica  binaria [Si,No,Nada] L(A)
- Generadores (solo tiene salida alfanumérica)
L(G)
- finitos
- infinitos
- Traductores (alfanumérica  alfanumérica)
T(L) es el lenguaje
formado por todas las palabras que son traducción de alguna palabra de L.
Tema 2 Automatas Finitos.
Automata Finito Determinista: A(Q,,,q0,F) es una quintupla donde:
Q: conjunto finito de estados;
: alfabeto de entrada;
: función de Transicion;
q0: estado inicial;
F: conjunto de estados finales.
La función  hace corresponder a cada par estado-simbolo, un estado.
Actuando sobre palabras:
1.-  (q,) = q
2.-  (q,ax) =  (  (q,a),x )
Ejemplo:
(q1,01101)=((q1,0),1101)=(q3,1101) ... = q0
Una palabra x es aceptada por el automata A si  (q0,x)  F.
Se denominará lenguaje aceptado por A al formado por todas aquellas
palabras que son aceptadas por A.
[Saber dibujar el Diagrama de Transición]
Automata Finito Determinista no completamente especificado.
Estado inutil.
Automata Finito No Determinista: A(Q,,,q0,F) es una quintupla donde:
Q: conjunto finito de estados;
: alfabeto de entrada;
: función de Transicion;
q0: estado inicial;
F: conjunto de estados finales.
La función  hace corresponder a cada par estado-simbolo, un conjunto
de estados.
Actuando sobre palabras:
1.-  (q,) = q
2.-  (q,ax) =  (  (q,a),x )
En general,  (q,a) será un conjunto de estado y no un estado unico.
Ejemplo:
(q1,001)=((q1,0),01)=({q0,q3},01)=(({q0,q3}),0)1)=
({q0,q3,q4}),1) =
... ={q0,q1,q4}
Una palabra x es aceptada por el automata A si  (q0,x) incluyealgún
estado final.
[Saber dibujar el Diagrama de Transición(DLO)] [Ver ejercicios]
Equivalencias entre Aut. Finitos Deterministas y No Deterministas.
Si un lenguaje puede ser representado mediante un aut. finito No
Determinista, tambien podrá serlo mediante un aut. finito Determinista.
Pero no al contrario.
[Aprender el metodo de transformación de No Determinista a Determ.]
[Ver y hacer ejercicios]
Automatas Finitos con Transiciones Vacias.
En este automata la función  hace corresponder también un conjunto de
estados a cada par (q,), siendo  la palabra vacia, es decir, hace que
evolucione el automata aunque no se introduzca ninguna palabra en él.
La operación -C (lambda-clausura) de un estado q, -C(q), es el conj.
de estados alcanzables desde q utilizando solamente transiciones vacias, es
decir, transiciones etiquetadas como .
Actuando sobre varios estados, la operación es la suma de los resultados
de la operación sobre cada uno de los mismos.
Definimos una nueva función llamada función extendida  .
Actuando sobre palabras:
1.-  (q,) = { q }
= func. extendida
2.-  (q,ax) =( ( -C (q,a),x )  = func. normal
[Ver ejemplo de como actua sobre una palabra.]
[Hacer ejercicios]
Una palabra es aceptada por el automata finito con transiciones vacias si
alguno de sus estados finales está en el conjunto final.
[Ver y hacer diagramas de aut. de transiciones vacias]
Equivalencias entre Aut. Finitos con y sin Transiciones Vacias.
Cualquier lenguaje que sea aceptado por un Aut. con Transiciones Vacias,
puede serlo tambien por uno sin Transiciones Vacias, es decir, el hecho de
poseer trans. vacias no aumenta la capacidad de representación de un
automata.
[Ver ejemplos en pag. 2-11 y 2-12]
Tema 3 Expresiones regulares.
Se definen las expresiones regulares en base a estos cuatro puntos:
1.-  es una exp. regular que representa al lenguaje vacio.
2.-  es una exp. regular que representa al lenguaje formado unicamente por
la palabra vacia {}.
3.- Para todo simbolo a, a representa al leng. formado unicamente palabra
{a}.
4.- Si r, s representan a los lenguajes R y S:
r+s
----->
RS
rs
----->
RS
r*
----->
R*
[Ver ejemplos y hacer ejercicios]
NOTA: Las propiedades de las expresiones regulares son un autentico
coñazo, nada menos que 21. Asi que el que quiera que se las aprenda.
[Ver y hacer muchos ejercicios]
Ecuaciones en expresiones regulares.
Toda ecuación en expresiones regulares será del tipo x=rx+t , donde r y t
son expresiones regulares.
Atención: r*t, será una solución de dicha ecuación:
Si x=r*t -----> rx+t = r (r*t) + t = r*t+t = (r*+) t = r*t --->
luego
x=rx+t
[Ver y hacer más ejercicios que antes]
Lema de Arden: cuando r esta solución (x=r*t) es la única posible de la
ecuación, mientras que cuando r, entonces r*t+s es solución de la
ecuación para todo valor de s.
Sistemas de ecuaciones en Expresiones Regulares.
Estudiar el método de resolución y realizar ejercicios.
El método consiste en ir dejando la ecuaciones en función de un
incognit, sucesivamente, hasta obtener todas ls ecuaciones en base a una
sola incognita.
Despues de hacer tropecientos mil ejercicios de sistemas de ecuaciones.
Obtención de una expresión regular equivalente a un aut. finito.
A cada uno de los estados del aut. le podemos asociar el lenguaje
formado por todas aquellas palabras que permiten llegar desde ese estado
hasta algun estado final.
Llamaremos xi al lenguaje asociado a qi:
xi={ x / (qi,x)F  0 }
Evidentemente, el lenguaje x0 coincide con el asociado al automata, ya
que nos permite llegar desde el estado inicial q0 a algun estado final.
* Si desde el estado qi, con el símbolo a, podemos llegar al estado qj,
entonces si xxi entonces axxi.
Ademas si el estado qi es final entonces xi. [Hacer ejercicios]
Obtención de un aut. finito equivalente a una expresión
regular.
Dx(L) = { y* / xyL }
El resultado de derivar una palabra respecto a una expresión regular
puede siempre ser representado mediante una expresión regular.
Du(+) = Du() + Du() [igual con la resta y la intersección]
Da() = Si  entonces = Da()  + Da()
Si  entonces = Da() 
D()=
Descargar