LENGUAJES FORMALES, AUTOMATAS Y MAQUINAS DE ESTADOS FINITOS

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.
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.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Tema 2 Autómatas finitos 1. Autómata finito determinista
CLASIFICACION DE LAS MAQUINAS DE TURING
2º curso Ingeniería Técnica en Informática de Sistemas UNED
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
Teoría de Autómatas I 2º curso Ingeniería Técnica en Informática de Sistemas UNED.
UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I
Teoría de lenguajes y compiladores
I.- ESTUDIO DE LOS LENGUAJES DE PROGRAMACIÓN.
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.
Introducción al cálculo lambda Programación lógica funcional.
TEORIA DE CONJUNTOS.
Teoría de la computación DECIBILIDAD Equipo 4 Karla Flores Samuel rojas Filiberto Jiménez.
Autómatas finitos (AF) Los AF constan de 5 elementos fundamentales AF=( , E, F, s,  ).  Un alfabeto (  )  Un conjunto de estados (E)  Un conjunto.
Programación II Sesión 3. TABLA DE CONTENIDO  Tipos de Datos en C  Delimitadores  Tipo Char  Tipo Int  Tipo Float  Tipo Double  Constantes  Operadores.
INFORMATICA II TEMA. ALGORITMOS MAESTRA PAULINA RUIZ SOSA.
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,
FUNDAMENTOS DE PROGRAMACIÓN COMPUTACIONAL. Contenidos de la clase -Presentación del Docente -Presentación del Plan de Trabajo - Fechas de Evaluaciones.
Universidad Cesar Vallejo ALFA-UCV Teoría de Conjuntos.
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.
Ingreso , proceso y salida de datos
CALCULO DE INTEGRALES DEFINIDAS: Una función f (x) cuya derivada, en un cierto intervalo del eje x, F’(x) = f (x), decimos que f (x) es la primitiva o.
CONJUNTOS Álgebra Superior
Fundamentos de programación
Introducción a los algoritmos
Computación Valeria Herskovic –
Básicos de Autómatas.
Tema 4 Elementos para el Desarrollo de Algoritmos
Actividad 7 Diagrama de estado
Tema 2. Resolución de Problemas
AUTOMATAS Y LENGUAJES FORMALES FASE 1
Conjuntos La guía sencilla Guía basada en :
OPERACIONES BÁSICAS CON CONJUNTOS
MATEMÁTICA DISCRETA Y LÓGICA 1
ANALISIS LEXICOGRAFICO
Fundamentos de programación
Antidiferenciación A la operación inversa de la diferenciación se le llama antidiferenciación. El procedimiento que implica a la antidiferenciación,
ALGORITMOS Un procedimiento o método para resolver un problema que cumpla con unos requisitos se dice que es un algoritmo. Se puede dar por tanto la siguiente.
AUTOMATAS FINITOS DETERMINISTICOS
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERÍA
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.
CONJUNTOS. CONJUNTOS CONJUNTO NULO O VACIO CONJUNTO UNIVERSAL CONJUNTO UNITARIO CONJUNTOS FINITOS E INFINITOS SUBCONJUNTOS DIAGRAMAS DE VENN OPERACIONES.
Desigualdades e Inecuaciones
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
Introducción a los algoritmos
TEORÍA DE CONJUNTOS.
CONJUNTOS Álgebra Superior
CONJUNTOS. CONJUNTOS CONJUNTO NULO O VACIO CONJUNTO UNIVERSAL CONJUNTO UNITARIO CONJUNTOS FINITOS E INFINITOS SUBCONJUNTOS DIAGRAMAS DE VENN OPERACIONES.
Introducción a la Estadística Informática
CONJUNTOS. Consideremos un conjunto como una colección de objetos. Los componentes individuales del conjunto se llaman elementos. Un conjunto puede tener.
PROPIEDADES DE LAS FUNCIONES CONTINUAS MATEMÁTICAS II.
Escuela Nacional de Antropología e Historia (ENAH)
¿Cómo nos comunicamos?.
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.
AUTOMATAS GENERALIDADES AUTOR: MARIA FERNANDA DUARTE PORTUGAL C.I. : ASIGNATURA : ESTRUCTURA DISCRETA Y GRAFOS CARRERA: ING, EN SISTEMAS MAYO 2019.
Tipos de Automas Realizado por : Henry Alberto Rangel Vargas C.I
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:

LENGUAJES FORMALES, AUTOMATAS Y MAQUINAS DE ESTADOS FINITOS

CONCEPTOS BASICOS SIMBOLO: Es la representación abstracta de un objeto. En general, es cualquier carácter que represente algún elemento. Ejs: 1, a, . ALFABETO o VOCABULARIO: Es un conjunto finito de símbolos. Debe existir al menos un símbolo en el alfabeto es decir, el alfabeto no puede ser el conjunto vacío. Notación: Este conjunto se denota con .

CONCEPTOS BASICOS II CADENA: Es una secuencia de símbolos de un alfabeto. Se dice que una cadena  sobre un alfabeto  es tal que *, siendo * el conjunto formado por todas las posibles cadenas que pueden formarse con los elementos de . Una cadena no puede ser infinita: no es un subconjunto de *, sino uno de sus elementos. Ejemplo: Si ={0,1}, entonces *={1,0,00,01,10,11,100,…} y una posible cadena * es 101011010.

CONCEPTOS BASICOS III LENGUAJE: Es un conjunto de cadenas, las cuales deben estar formadas sobre un alfabeto . Ejemplo: Si ={0,1} es un alfabeto, L = {100, 001, 00, 111} es un lenguaje y las cadenas ,* son, respectivamente, 1010 y 100, entonces, se tiene que   L    L. ESTADO: Es la situación o las características de un objeto en un momento dado. Un objeto no pude estar en más de un estado al mismo tiempo.

AUTOMATAS FINITOS Los autómatas se caracterizan por tener un estado inicial. En dicho estado, reciben una cadena de símbolos, cambian de estado por cada elemento o permanecen en el mismo estado. También tienen un conjunto de estados finales o aceptables, que indican si una cadena pertenece al lenguaje al final de una lectura.

AUTOMATAS FINITOS DETERMINISTICOS I(AFD) Un AFD está definido por una 5 – upla como sigue: A = (Q, qo, F, , ), donde: Q es un conjunto finito de estados qo es el estado inicial. Luego, qo  Q. Debe ser uno, y sólo uno. En consecuencia, qo  Q. F es un conjunto finito de estados finales. En consecuencia, F  Q. Puede ser qo  F.  es el alfabeto finito de entrada.  es una función de Q X   Q.  se denomina función de transición.

AUTOMATAS FINITOS DETERMINISTICOS II (AFD) EJEMPLO: Q = {qo, q1, q2, q3, q4} Estado inicial: qo. F = {q3} = {x, y} : Qx  Q/ (qo,x) = q1; (qo,y) = q1; (q1,x)= q1; (q1,y)= q2; (q2,x)=q3; (q2,y)= q2; (q3,x) = q1; (q3,y) = q2; (q4,x) = (q4,y) = q4.

DIAGRAMA DE TRANSICION DE UN AFD Para el ejemplo dado, es el siguiente grafo orientado y etiquetado:

TABLA DE TRANSICION DE UN ADF x y qo q1 q4 q2 q3 q3

ACEPTACION DE UNA CADENA Una cadena se acepta, si finaliza en un estado final. En caso contrario, no. Cadena 1: xxyxxyyy No se acepta. Cadena 2: xxyyx Sí se acepta.

AUTOMATAS FINITOS NO DETERMINISTICOS I(AFN) Un AFN está definido por una 5 – upla como sigue: A = (Q, I, F, , ), donde: Q es un conjunto finito de estados I es un conjunto de estados iniciales. Luego, I  Q (I puede no ser un conjunto unitario). F es un conjunto finito de estados finales. En consecuencia, F  Q.  es el alfabeto finito de entrada.  es una función de Q X   P(S), con S  Q.

DIFERENCIAS ENTRE AFD Y AFN En AFN c(I)  0, con I  Q. qiQx, qj, qkQ  (qi,x) = {qj, qk}  P(S). Nótese, que S  Q, con lo cual, puede ser (qi,x)=. En el AFN no toda transición está determinada y la imagen de un par (estado, símbolo) es un subconjunto de Q, por lo cual pude ser . En AFD C(I) = 1, con I  Q. qiQx, qjQ  (qi,x) =qj. En el AFD toda transición está determinada y existe uno, y sólo un estado imagen.

AUTOMATAS FINITOS NO DETERMINISTICOS II(AFN) EJEMPLO: Q = {qo, q1, q2} I = {qo} F = {qo, q1} = {a, b} : Qx  P(Q) tal que: (qo, a) ={q0, q1}; (qo, b) = {q2}; (q1,a)= ; (q1,b)= q1; (q2,a) ={q1,q2,}; (q2,b)= .

DIAGRAMA DE TRANSICION DE UN AFN Es, a su vez, un grafo:

TABLA DE TRANSICION DE UN AFN  qo {qo, q1} {q2}  q1  {q1} q2 {q1, q2}

CONVERSION DE UN AFN EN AFD Consideremos el AFN anterior. Se rediseña la función , como *: P(Q)x  P(Q), como sigue: *(,a)=*(,b)=; *({qo,q1},a)={qo,q1}, *({qo,q1},b)={q2,q1}, *({qo,q2},a)={qo,q1}, *({qo,q2},b)={q2}, *({q1,q2},a)={q2,q1}, *({q1,q2},b)={q1}, *({qo},a)=({qo,q1}, *({qo},b)={q2}, *({q1},a)= , *({q1},b)={q1}, *({q2},a)={q2,q1},*({q2},b)=,*(Q,a)={qo,q1} y *(Q, b)={q2,q1}

NUEVA TABLA  E0 {qo} E3 E2 E1 {q1} {q2} E5 {qo,q1} E4 {qo,q2} {q2,q1} Elemento de Q’ Elemento de P(E) a b  E0 {qo} E3 E2 E1 {q1} {q2} E5 {qo,q1} E4 {qo,q2} {q2,q1} E6 Q Los estados finales serán E2, E4, E5 y E6, puesto que son los que contienen a q2.

DIAGRAMA DE TRANSICIÓN

DIAGRAMA DE TRANSICIÓN

DIAGRAMA EQUIVALENTE

MAQUINA DE ESTADOS FINITOS Una máquina de estados finitos es un autómata finito, en el cual no existen estados finales y los símbolos de entrada se colocan junto con los símbolos de salida. Es decir, una máquina de estados finitos es una 5-upla M = {Q, E, S, qo, ,) donde: Q es el conjunto finito de estados. qo estado inicial. E es el conjunto finito de entradas. S es el conjunto finito de salidas. : QxE Q función de estado siguiente y la función de salida, : QxE S.

MAQUINA DE TURING(MT) Una MT consiste en una cinta que se extiende de manera infinita, en donde se escribe o se lee información por medio de una cabeza de lectura/escritura. MT = (Q, , A, qo, b, F,) donde:Q: conjunto finito de estados.qoQ: estado inicial. : conjunto de símbolos de entrada. A: alfabeto de la cinta. b: símbolo blanco. b  A  b . F: conjunto de estados finales. M = {I, D} (conjunto de movimientos posibles de la cabeza). : función de transición, de QxA  QxAxM.

EJEMPLO  (qo, x)= (qo, x, D),  (qo, y)= (q1, y, D) MT= (Q, , A, qo, b, F,), con Q={qo,q1,q2,q3}, ={x,y}, A={x, y, b}, F= {q3}, M = {I, D} La función de transición  definida por:  (qo, x)= (qo, x, D),  (qo, y)= (q1, y, D)  (q1, b)= (q2, b, I),  (q2, x)= (q2, x, I)  (q2, y)= (q2, y, I),  (q2, b)= (q3, b, D) Usaremos esta MT para decidir si la cadena xxy es o no aceptada.

 (qo, x)= (qo, x, D),  (qo, y)= (q1, y, D)  (q1, b)= (q2, b, I),  (q2, y)= (q2, y, I),  (q2, x)= (q2, x, I),  (q2, b)= (q3, b, D)

COMPLEJIDAD COMPUTACIONAL Es la cantidad de recursos necesarios (tiempo y espacio) para resolver un problema. El tiempo es el número de pasos de ejecución de un algoritmo para resolver un problema. El espacio es la cantidad de memoria utilizada para resolver dicho problema.

ALGORITMO POLINOMIALES (P) En estos algoritmos la relación entre el número de datos (n) y el tiempo de ejecución esta dada por una expresión polinomial