PORTAFOLIO DE EVIENDENCIAS NOMBRE

Anuncio
INSTITUTO TECNOLÓGICO SUPERI
OR DE SAN MARTÍN TEXMELUCAN Organismo Público Descentralizado del Gobierno del Estado
“2011, Año del Turismo en México”
PORTAFOLIO DE EVIENDENCIAS
NOMBRE
SAUL MORALES RODRIGUEZ
CARRERA
I-S-C
MATERIA
TEORIA DE LA COMPUTACION
No._Control_09960026
UNIDAD 2
AUTOMATA FINITO O MAQUINA DE ESTADO FINITO
Es un modelo matemático de un sistema que recibe una cadena construida
de un alfabeto y determinar si esa cadena reconoce al lenguaje que
reconoce. El autómata finito se define en términos de sus estados la
acepta y su reacción ante la misma. Un autómata finito puede ser descrito
tupla.
por símbolos
el autómata
entrada que
como una 5-
----------------------------------------------------------------------------------------------------------------------------------
AUTOMATAS FINITOS NO DETERMINISTA
Si se permite desde un estado se realice 0, 1 o más transiciones mediante el mismo
símbolo de entrada, se dice que el autómata finito es no determinista y lo
representamos AFN.
La única diferencia que existe en la definición formal de un FN es la función de
transición.
por tanto definiremos un autómata no determinista mediante una 5-tupla M= {Q,∑, S, A,
}
Q= es un conjunto de estados.
∑= es el alfabeto de entrada
S=es el estado inicial
A= es el conjunto de estados de aceptación
= es la relación sobre (QX E) X Q
Q= {qo, q1, q2}
∑= {a, b}
S= {q0}
A= {q0}
A
Q0
q1
L(r)= {E,ab,aba,ababa}
ER= (ab aba)*
a
{q1}
o
B
0
{{q0,q2}
LENGUAJES REGULARES.
Es un tipo de lenguaje que satisface las siguientes propiedades.
Puede ser conocido por:




Un autómata finito determinista.
Un autómata finito no determinista
Un autómata finito alterna.
Una maquina de Turín de solo lectura.
Es generado por una gramática regular una gramática de prefijo.
Palabra o cadena: Es una secuencia finita de símbolos de un determinado
alfabeto. Con frecuencia utilizaremos el término cadena en lugar de palabra.
Lenguaje: Es un conjunto de palabras o cadenas. Por tanto el conjunto
Lenguaje {1, 12, 123, 1234,12345}
∑= {1…..9},
Es un lenguaje sobre el alfabeto compuesto por dígitos del 1 al 9.
Concatenación de cadenas: Si W y Z son cadenas la concatenación de W con
Z es la cadena que se obtiene al añadir a la cadena de W la cadena de Z por
ejemplo:
Si W=casa
Z= grande
WZ=casa grande.
La concatenación se denota como WZ o W,Z la concatenación de la palabra
vacía representada por ξ con cualquier otra palabra W, no modifica la palabra.
W=perro
Z= ξ(palabra vacía)
“Esta no afecta en nada.”
WZ=perro
Es necesario tener en cuenta el lenguaje compuesto por todas las cadenas
sobre el alfabeto, se conoce como cerradura o lenguaje universal y se denota
por Σ* por ejemplo:
Se tiene el alfabeto ∑*={1 } entonces ∑*={ξ,1,11,111,……}
Ejercicio: obtener {a,bb}* (dar los primeros 10 elementos).
∑*= {ξ, a, aa, bb, abb, bba, aaa, bbbb, abba,bbabb}
∑*= {0,1}
∑*= {ξ0, 1, 00, 0001,11100…}
LENGUAJES REGULARES
Los lenguajes regulares se llaman así porque sus palabras contienen
regularidades o representaciones de los mismos componentes por ejemplo. El
lenguaje de L₁= {ab, abab, ababab…} en este ejemplo se aprecia de L₁ son
simplemente repeticiones de ab cualquier número de veces esta es la idea
básica para formar lenguajes regulares. Por definición vamos a considerar que
los lenguajes finitos también son regulares por ejemplo. El lenguaje L₃= {Anita,
lava, la, tina} es un lenguaje regular.
Definición: Sean ∑ un alfabeto. El lenguaje de los lenguajes regulares ∑ se
define recursivamente como sigue:
a)
b)
c)
d)
Ø es un lenguaje regular.
{t} es un lenguaje regular
Para todo t ∑{0} es un lenguaje regular
Si A y B son lenguajes regulares, entonces A U B, AB
lenguajes regulares.
e) Ningún otro lenguaje sobre ∑ es regular.
Ejercicio: dado ∑= {a,b}¿cómo son las afirmaciones?
Ø y {ξ} son lenguajes regulares.
{a} y {b} son lenguajes regulares.
{a,b} es regular.
{ab} es regular.
{a,ab,b} es regular.
{a ∣ i≥Ø} es regular.
y A* son
{a΄ b΄ ∣ i ≥ Ø y j≥Ø} es regular.
AUTÓMATAS FINITOS
El funcionamiento de los autómatas finitos consistente en ir pasando de un
estado a otro, a medida que va recibiendo los caracteres de la palabra de
entrada. Simplemente hay que pasar de estado a estado siguiendo las flechas
de las transiciones, para cada carácter de cada palabra de entrada,
empezando por el estado inicial.
Por ejemplo:
Realiza una autómata que reconozca operadores aritméticos y relacionales.
AUTÓMATAS FINITOS
Un autómata finito o maquina de estado finito es un modelo matemático de un
sistema que recibe una cadena construida por símbolos de un alfabeto y
determina si esa cadena pertenece al lenguaje que el autómata reconoce.
COMPILADOR
Es el encargado de traducir, un programa escrito en un lenguaje de
programación a otro lenguaje maquina (está formado por 0 y 1).
ANALIZADOR LÉXICO
Su principal función consiste en leer los caracteres de entrada y elaborar como
salida una secuencia de componentes léxico que luego utilizara el analizador
sistemático para hacer un análisis.
ANALIZADOR SINTÁCTICO.
Consiste en secuencias de caracteres o componentes léxicos que se agrupan
en un orden jerárquico y al formar una agrupación se obtiene un significado.
Un autómata finito {AF} puede ser descrito como una 5-tupla y está formada
por {Q, ∑, S, A, δ}
Donde:
Q= es el conjunto finito (cuyo elemento se consideran como estados).
∑= es un alfabeto finito de símbolos de entrada.
S=es el estado inicial.
A≤Q= es el conjunto de estados de aceptación.
δ=es una función en Q x ∑ en Q (la función de transición).
Representación de un autómata finito.
Los autómatas finitos tienen transiciones entre estados, las cuales están
etiquetadas con símbolos, podemos tener aristas que vayan de un estado al
mismo, además también podemos tener 1 o varios estados de aceptación. Los
autómatas reciben como entradas palabras que se construyen sobre el
alfabeto que reconoce el autómata.
Q= {q0, q1}
∑= {a, b}
S= {q0}
A = {q1}
δ= ∑xQ→Q
δ (q0, a)=q1
δ (q0, b)=q0
δ (q1, a)=q1
δ (q1, b)=q0
Existen dos tipos de autómatas finitos.
AUTÓMATAS FINITOS DETERMINISTAS (AFD)
Cada estado tiene una transición por cada símbolo del alfabeto, y tiene por lo
menos un estado de aceptación,
Expresión regular.
Describe un conjunto de cadenas sin enumerar sus elementos. Elementos
utilizados en las expresiones regulares.
+ indica que el carácter debe aparecer por lo menos una o más veces.
? Indica que el carácter puede o no aparecer (aparece 0 o 1).
*Indica que el carácter puede aparecer 0,1 o más veces.
∣ o.
Ejemplo #1
ER: a∣b
L(r)= {a, b, ab}
∑= {a, b}
Q= {a, b}
∑= {q0, q1}
S= {q0}
A= {q1}
δ= ∑xQ→Q
δ (q0, a)=q1
δ (q0, b)=q0
Ejemplo #2
ER: ab
L(r)= {ab}
Q= {a, b}
∑= {q0, q1, q2}
S= {q0}
A= {q2}
δ= ∑xQ→Q
δ (q0, a)=q1
δ (q1, b)=q2
Ejercicio #3
ER: a*
L(r)= {a, aa, aaa, aaa…}
Q= {q0, q1}
∑= {a}
S= {q0}
A= {q1}
δ= ∑xQ→Q
δ (q0, a)=q1
δ (q1, a)=q1
AUTÓMATA FINITO NO DETERMINISTA
Una extensión a laos autómatas finitos deterministas es la de permitir que cada
nodo del diagrama de estados salga un numero de fechas mayor o menor que
los elementos del alfabeto. Así mismo, se puede permitir que falte la fecha que
falte correspondiente a alguno de los símbolos del alfabeto o bien que haya
varias flechas que salgan de un solo nodo con la misma etiqueta, inclusive se
permite que las transiciones tengan como etiqueta palabras de varias letras
hasta la palabra vacía. A estos autómatas finitos de les llama no deterministas
o no deterministicos. (AFN).
Sea ∑= {a,b}
Determinar el AFN o AFD del lenguaje que solo tiene palabras con números
par de a΄s y palabras que terminan con bb.
L(r) :{baa, bbaa, bbbaa, aab, aba, aaabb, aabbb…}
Q= {q0, q1}
∑= {a,b}
S= {q0}
A= {q0}
δ= ∑xQ→Q
δ (q0, a)=q1
δ (q0, b)=q0
δ (q1, a)=q0
δ (q1, b)=q1
EXAMEN
practica-22.pdf
Bibliografía
Martin, John C.
Introduction to Languages and the Theory of Computation.
Ed. Prentice Hall.
2. Sipser, Michael.
Introduction to the Theory of Computation.
Ed. PWS Publishing Company.
3. Cohen, Daniel I.A.
Introduction to Computer Theory.
Ed. Wie Wiley.
4. Davis, Martín D., Weyuker, Elaine.
Computability, Complexity and Languages Fundamentales of Teorical
Computer Science.
Ed. Academic Press.
5. Denning, Peter J.
Machines, Langueges and Computation.
Ed. Prentice Hall.
6. Hopcroft, John, Ullman, Jeffrey.
Introduction to Automatas Theory, Languages and Computation.
Ed. Addison-Wesley.
7. Kelley, Dean.
Teoría de Automatas y Lenguajes Formales.
Ed. Prentice Hall.
8. Lewis, Larry., Papadimitrion, Chistos H.
Elements of the Theory of Computation.
Ed. Prentice Hall.
9. Rayward-Smith, V.S.
A First Course in a Formal Language Theory.
Ed. Mc Graw Hill.
10. Jeffey E.F. Friedl.
Mastering Regular Expressions.
Ed. O’reilly & Associates, Inc.
11. Brookshear.
Teoría de la Computación, Lenguajes Formales, Autómatas y
Complejidad.
Descargar