Automatas Finitos y Lenguajes Formales
-
Upload
diana-c-rivera -
Category
Documents
-
view
177 -
download
14
Transcript of Automatas Finitos y Lenguajes Formales
AUTOMATAS FINITOS Y AUTOMATAS FINITOS Y LENGUAJES FORMALESLENGUAJES FORMALES
PROF. DIANA CAROLINA RIVERA VELASCO
CONTENIDOCONTENIDOAutómataAplicacionesConceptos básicos:
◦Alfabeto◦Palabra◦Lenguaje◦Operaciones con lenguajes
Autómatas finitos◦AFD◦AFN
Representaciones
AUTOMATAAUTOMATAMaquina conceptual capacidad
de procesar cadenas de texto.
APLICACIONES-Reconocedores de lenguajes.
Lenguajes de programación análisis léxico.
- Comparación de cadenas.- Ejemplo: para una palabra buscar y
reemplazar.
CONCEPTOS BASICOSCONCEPTOS BASICOSALFABETO
Un alfabeto es un conjunto finito no vacío de símbolos.
∑ 1= {A,B,C,..Z,a,b,c,..z}∑ 2= {0, 1}∑ 3 = {a, b}∑ 4 = {na, pa, bra, la}∑ 5 =
{<HTML>,</HTML>,<BODY>,</BODY>}∑ 6 = {|}∑ 7 = {a, ab, aab}
CONCEPTOS BASICOSCONCEPTOS BASICOSPALABRA
Una secuencia finita de símbolos de un alfabeto es una palabra sobre dicho alfabeto.
∑ 1 : CASA, MESA, moto, carro.
∑ 2 : 0, 1, 00, 01, 11, 000, 1001101∑ 3 : a, aa, abb, ababa∑ 4 : napa, palabra∑ 7 : a, ab, aab, aaab, abab
CONCEPTOS BASICOSCONCEPTOS BASICOSLENGUAJE
Conjunto de palabras sobre el alfabeto o cualquier subconjunto del universo sobre algún alfabeto.
EJEMPLOSL = ø es el lenguaje vacio (que no contiene
ninguna palabra), |L| = 0L = {ε} es el lenguaje que solamente contiene
la palabra vacio, |L| = 1.sea ∑= {a, b}L1 = { ε, a, b}Lab = {anbn | nє IN } es decir, el lenguaje que
contiene todas las palabras con unnúmero de as seguidos por el mismo número
de bs.
CONCEPTOS BASICOSCONCEPTOS BASICOSOPERACIONES CON LENGUAJES
◦Sea L ={A,B,…Z,a,b,…z} D= {0,1,…,9}
Unión L U D ó L|D cadenas de longitud 1Concatenación LD cadenas de longitud 2Cerradura de kleene : L*Cerradura positiva: D+
AUTOMATAS FINITOSAUTOMATAS FINITOSUn autómata finito (AF) o máquina de
estado finito es un modelo matemático que realiza cómputos en forma automática sobre una entrada para producir una salida.
Este modelo está conformado por un alfabeto, un conjunto de estados y un conjunto de transiciones entre dichos estados. Su funcionamiento se basa en una función de transición, que recibe a partir de un estado inicial una cadena de caracteres pertenecientes al alfabeto (la entrada), y que va leyendo dicha cadena a medida que el autómata se desplaza de un estado a otro, para finalmente detenerse en un estado final o de aceptación, que representa la salida.
AUTOMATAS FINITOSAUTOMATAS FINITOSLos autómatas finitos son
reconocedores solo dicen “si” o “no” ante una determinada entrada.
Entre ellos podemos encontrar:◦AFD (autómatas finitos
deterministicos)◦AFN (autómatas finitos no
deterministicos)
AUTOMAS FINITOSAUTOMAS FINITOSFormalmente, un autómata finito
es una 5-tupla (Q, Σ, q0, T, F) donde:
◦Q es un conjunto finito de estados◦Σ es un alfabeto finito◦q0 es el estado inicial
◦T es una función de transición◦F es un conjunto de estados finales o
de aceptación.
AUTOMATAS FINITOSAUTOMATAS FINITOS
1
2
23a
bc
inicioPara la codificación de un Autómata existe lo que se Denomina tabla de transición De estados, cuyas filas Corresponden a los estados y Los símbolos de entrada a las Columnas.
ESTADOS
a b c ε
1 {3} {2} Ø Ø
2 Ø Ø {3} Ø
3 Ø Ø Ø Ø
AUTOMATAS FINITOS AUTOMATAS FINITOS DETERMINISTICOSDETERMINISTICOS
Existe un camino o una transición para cada símbolo del alfabeto.
1
2
23a
bc
inicio
AUTOMATAS FINITOS NO AUTOMATAS FINITOS NO DETERMINISTICOSDETERMINISTICOS
No se determina un único camino para un símbolo del lenguaje.
Un AFN es un producto antes de generar el AFD.
1
2
23a
ac
inicio
REPRESENTACIONESREPRESENTACIONESUn AF sea determinantico o no
deterministico se puede representar formalmente utilizando expresiones regulares.
O una ER se puede expresar gráficamente utilizando un AF.◦EJEMPLO: A partir de la siguientes
expresiones regulares construir el autómata finito que lo represente. L (L|D) (a* 1 b*)c*