Autómatas finitos (AF) Los AF constan de 5 elementos fundamentales AF=( , E, F, s,  ).  Un alfabeto (  )  Un conjunto de estados (E)  Un conjunto.

Slides:



Advertisements
Presentaciones similares
Autómata finito Determinista
Advertisements

Introducción ¿Qué es un Algoritmo?
Filminas Tercera Semana CI-1322 Autómatas y Compiladores Elaborado por: Sergio Pastrana Espinoza A33888.
Autómatas Finitos.
Diseño de AFN’s.
Autómata Finito Un autómata finito (AF) es un modelo de computación muy restringido, sin embargo tiene una gran aplicación en reconocimiento de patrones.
APLICACIONES DE AUTOMATAS Y EXPRESIONES REGULARES
Expresiones regulares
Tema 2 Autómatas finitos 1. Autómata finito determinista
Autómatas finitos y expresiones regulares
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
Definición Formal de Autómatas Finitos Métodos de Diseño de AFDs
2º curso Ingeniería Técnica en Informática de Sistemas UNED
2º curso Ingeniería Técnica en Informática de Sistemas UNED
Tema 2 Análisis Léxico.
Tema 2 Autómatas finitos 1. Autómata finito determinista
Autómatas Finitos Es un diagrama de transiciones que permite identificar cadenas que pertenecen a un lenguaje. Puede ser determinista o no determinista.
Lenguajes regulares Teoría del Autómata.
Ejemplo de AFN Ej. Diseña un AFN que acepte todas las cadenas que contengan dos ceros consecutivos o dos unos consecutivos. Solución AFN q4 1 q2 q1 q0.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Tomado de Sudkamp: Languages and Machines Cap. 6.
Análisis Léxico Área Software de Base.
Lenguajes Formales y Autómatas
UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I
Programación de Sistemas FEI – 2008
1 AFDAFN AF Gramáticas lineales derecha Expresiones regulares Tema 2 Método de los AF Método de las derivadas Sistemas de Ecuaciones Tema 1.
Teoría de lenguajes y compiladores
Simulación de un AFD Conversión de un AFND a un AFD.
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
Unidad 2 Lenguajes, Expresiones Regulares, Autómatas
Introducción al cálculo lambda Programación lógica funcional.
Introducción a la estadística. ¿Qué es la estadística? La Estadística es la parte de las Matemáticas que se encarga del estudio de una determinada característica.
AUTÓMATAS FINITOS. TERMINOLOGÍA BÁSICA  Tabla de transición. La información de un autómata, así como los valores que puede tomar la función 5,
1 Autómatas de pila (Pushdown automata). 2 Autómata de conteo Autómata finito determinista con un contador de enteros o “bolsa” en la que se colocan o.
Funciones y gráficas.
Ingreso , proceso y salida de datos
LENGUAJES FORMALES, AUTOMATAS Y MAQUINAS DE ESTADOS FINITOS
Qué es una derivada? “La pregunta del millón…”
Circuitos combinacionales II
5. Análisis y diseño de sistemas secuenciales (I)
Computación Valeria Herskovic –
Básicos de Autómatas.
AUTOMATAS Y LENGUAJES FORMALES FASE 1
MATEMÁTICA DISCRETA Y LÓGICA 1
PROGRAMACION DINAMICA
LÓGICA DE PROGRAMACIÓN
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
Sistemas Lineales Eloy Edmundo Rodríguez Vázquez
Funciones Prof. M. Alonso
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
AUTOMATAS FINITOS DETERMINISTICOS
CIRCUITOS SECUENCIALES
Grafos dirigidos: Sea G un grafo, si cada arista en G tiene una dirección entonces G se llama grafo dirigido o dígrafo y sus aristas se llaman arcos.
UNIDAD 3. Autómatas Finitos 3.3 Conversión de un AFND a AFD Presentan: Anahi Avila Valdez Erika F. Palma Tzidejhe Docente: Adrián Chávez 1.
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS 1.α + (β + γ) = (α + β) + γ 2.α + β = β + α 3.α + Ø = α 4.α + α = α 5.α · λ = α 6.α · Ø = Ø 7.α · (β ·
Programación III Catedrático: Ing. Pablo Antonio de León Bautista. Código: (2014) Pre-Requisito: Post-Requisito:
CONJUNTOS. CONJUNTOS CONJUNTO NULO O VACIO CONJUNTO UNIVERSAL CONJUNTO UNITARIO CONJUNTOS FINITOS E INFINITOS SUBCONJUNTOS DIAGRAMAS DE VENN OPERACIONES.
PRODUCTO CARTESIANO RELACIONES BINARIAS. Producto Cartesiano El producto cartesiano de dos conjuntos A y B, denotado A × B, es el conjunto de todos los.
Tema 2 Autómatas finitos 1. Autómata finito determinista
Departamento de Matemática 4° año medio
CONJUNTOS. CONJUNTOS CONJUNTO NULO O VACIO CONJUNTO UNIVERSAL CONJUNTO UNITARIO CONJUNTOS FINITOS E INFINITOS SUBCONJUNTOS DIAGRAMAS DE VENN OPERACIONES.
ISIV - Desarrollo de Sistemas I1 Diagramas PERT Cálculos y Gráficos.
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS 1.α + (β + γ) = (α + β) + γ 2.α + β = β + α 3.α + Ø = α 4.α + α = α 5.α · λ = α 6.α · Ø = Ø 7.α · (β ·
Costos, Presupuestos y Programación de Obras Tema : Método PERT-CPM.
AUTÓMATAS ROHERMY OCHOA V AUTÓMATA FINITO Es un modelo computacional que realiza cómputos en forma automática sobre una entrada para producir.
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
CAPITULO I Límite de Funciones de una Variable 1.Límites de funciones reales de una variable. Límites mediante la gráfica. Límites por aproximaciones.
Teoría de Conjuntos Conjuntos. CONCEPTO DE CONJUNTO Es considerado un término primitivo, por lo tanto se acepta como un término no definido. Es una colección.
1 Ingeniería en Sistemas Matemática Discreta. 2 EJEMPLOS DE CONJUNTOS:  N: conjunto de los números naturales.N: conjunto de los números naturales. 
Automata de Pila
Transcripción de la presentación:

Autómatas finitos (AF) Los AF constan de 5 elementos fundamentales AF=( , E, F, s,  ).  Un alfabeto (  )  Un conjunto de estados (E)  Un conjunto de estados finales (F)  Un estado inicial (s)  y una función  = E x F  E que permite determinar cuál es el estado siguiente.

Diagrama de transición En los diagramas de transición, los estados se representan por medio de un circulo con el nombre del estado dentro de él. Los estados de aceptación o finales se distinguen porque tienen doble circulo, las transiciones se representan por aristas y se etiquetan con un símbolo del alfabeto. El estado inicial se distingue porque se hace incidir sobre él una flecha. Por ejemplo, el diagrama de transición que permite representar a la expresión regular (0  1)*01 es el siguiente:

Diagrama de transición del autómata finito que reconoce cadenas de ceros y unos y cuya expresión regular es: (0  1)*01 z

Aquí se tiene que:  = {0, 1} es el alfabeto E = {qo, q1, q2} es el conjunto de estados S = q0 es el estado inicial, que se reconoce por la flecha que incide en él. F = {q2} conjunto de estados finales o de aceptación que se distinguen por el circulo doble.  = E x   E es la función para determinar el estado siguiente. z

En el diagrama de transición se puede observar que pertenecen al lenguaje indicado por la expresión regular (o  1)*01 cadenas de caracteres que terminan con 01. Por ejemplo: Las cadenas y 101 pertenecen al lenguaje. La función de transición  = E x   E permite determinar el estado siguiente, partiendo del par estado (E)y un símbolo del alfabeto (  ) para acceder a otro estado del conjunto E.

Por ejemplo: si la cadena es 10001, la ruta que se sigue para reconocer la cadena es:  (q0, 1 ) = q0 Se inicia en el estado inicial q0 y con el símbolo 1 nuevamente el estado siguiente es q0, como se puede ver en el diagrama de transición.  ( q0, 0 ) = q1 De q0 y con el símbolo 0 se traslada a estado q1.  ( q1, 0 ) = q1 De q1 y con el símbolo 0 permanece en q1.  ( q1, 1 ) = q2 De q1 y con el símbolo 1 se traslada a q2. q2 estado de aceptación Como q2 es un estado de aceptación, se dice que la cadena pertenece al lenguaje.

Algunas veces es más fácil indicar la ruta que se sigue para evaluar la cadena de la siguiente manera: q0  q0  q1  q1  q1  q2 De esta misma forma la cadena no pertenece al lenguaje, como se muestra a continuación q0  q0  q1  q2  q0  q1  q2  q1 Ya que el estado q1 donde queda finalmente, no es un estado de aceptación.

Tabla de transición La información de un autómata, así como los valores que puede tomar la función , también se puede representar por medio de una tabla de transición. La tabla de transición que representa al AF anterior es: s = q0 y F= {q2} También por medio de esta tabla de transición, el estado inicial y los estados de aceptación, es posible determinar si alguna cadena pertenece o no a un lenguaje.  01 q0q1q0 q1 q2 q1q0

Autómata Finito Determinista (AFD) Se dice que un autómata finito es determinístico si por medio de la función de transición  : E X   E es posible determinar claramente cuál es el estado siguiente. Es aquel que solo puede estar en un único estado después de leer cualquier secuencia de entradas. El termino “ determinista ” hace referencia al hecho de que para cada entrada solo existe uno y sólo un estado al que el autómata puede hacer la transición a partir de su estado actual. El autómata anterior es un AFD.

Otro ejemplo de un AFD.  = {x, y} E ={q0, q1, q2, q3, q4} s = q0 F = {q3} Cuyo diagrama de transición es:

Se observa que partiendo de cualquier estado del conjunto E y con un símbolo del alfabeto , es posible acceder al estado siguiente por medio de la función de transición  = E x   E. Con la tabla de transiciones, dicho AFD queda indicado completamente de la siguiente manera: s = q0 y F={q3}  xy q0q1q4 q1 q2 q3q2 q3q1q2 q4

Dicho AFD acepta cadenas de caracteres que comienzan con x y terminan con yx. Aquí el lenguaje regular esta representado por la expresión regular x(x  y)*yx, de forma que cadenas como x xxyxyy yx, xyx, x yy yx, pertenecen al lenguaje pero las cadenas yyxyx, xyxxy no son reconocidas por el AFD. Evaluando la ruta de la cadena: xxxyxyyyx x x x y x y y y x q0  q1  q1  q1  q2  q3  q2  q2  q2  q3 Ejercicios: determinar las rutas de las cadenas que faltan.

Autómatas finitos no determinísticos (AFN) La diferencia fundamentalmente un autómata finito determinístico (AFD)n y un autómata finito no determinístico (AFN), es que en el AFN la función de estado siguiente no conduce a un estado único determinado. Considerando el siguiente diagrama:

Como se ve se trata de un AFN porque no está determinado en todos los casos cuál es el estado siguiente para los diferentes símbolos del alfabeto. Por ejemplo en los estados q0 y q2 para un símbolo de a hay dos posibilidades de cambiar de estado o quedarse en el mismo. En el estado q1 también hay problemas ya que no se sabe que pasa en caso de que se presente el símbolo a. Con una indeterminación que se presente es suficiente para decir que se trata de un AFN.

Para este autómata:  = {a, b} E ={q0, q1, q2} s = q0 F = {q0, q1} su tabla de transición es: Una cadena es aceptada por un AFN si existe algún camino para esa cadena que comience en el estado inicial y termine en el estado aceptado.  ab q0{q0, q1}q2 q1  q2{q1, q2} 

CadenaRuta¿Se acepta? aabaabbb bbba bbab 