Clase 08: Autómatas finitos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Clase 08: Autómatas finitos"

Transcripción

1 Solicitado: Ejercicios 06: Autómatas finitos M. en C. Edgardo Adrián Franco Martínez 1

2 Contenido Autómata finito Definición formal de autómata finito Configuración de un autómata finito Lenguaje reconocido por un autómata finito Ejemplos Ejemplo 1 Ejemplo 2 Ejemplo de programación en C Ejercicios 06: Autómatas finitos 2

3 Autómata finito Un autómata finito es un modelo matemático de una máquina que acepta cadenas de un lenguaje definido sobre unalfabetoa. Consiste en un conjunto finito de estados y un conjunto de transiciones entre esos estados, que dependen de los símbolos de la cadena de entrada. El autómata finito acepta una cadena x si la secuencia de transiciones correspondientes a los símbolos de x conduce desde el estado inicial a un estado final. 3

4 Los autómatas finitos reconocen los lenguajes regulares, o de tipo 3 y se pueden representar intuitivamente por una cinta y una cabeza de lectura. La cinta de entrada, sólo contiene símbolos de un determinado alfabeto, y se mueve en una sólo dirección. El control de estados, determina el funcionamiento del autómata. Una sentencia de un lenguaje determinado, colocada en la cinta, y leída por el autómata finito, es reconocida por éste, si el control de estados llega a un estado final. 4

5 Definición formal de autómata finito Un autómata finito es una quíntuplaa = ( E, Q, f, q 0, F ) donde: E = {conjunto de entradas o vocabulario de entrada} E es un conjunto finito, y sus elementos se llaman entradas o símbolos de entrada. Q = {conjunto de estados} Q es el conjunto finito de estados f: E * x Q Q es la función de transición o función del estado siguiente Para un par del conjunto E Q devuelve un estado perteneciente al conjunto Q, y es el producto cartesiano de E por Q. q 0 ЄQ, es el estado inicial F Q, es el conjunto de estados finales 5

6 Configuración de un autómata finito Se entiende por configuración de un autómata finito, a un par de la forma (q, W) donde q, es el estado actual, y W la cadena que queda por leer en ese instante. La configuración inicial de un autómata finito es el par (q 0, t) siendo t la sentencia o cadena de entrada a reconocer. La configuración final se representa por el par (q i, λ) donde q i Є F, y λ indica que no queda nada por entrar de la cinta. 6

7 Un movimiento de un autómata finito, puede definirse como el transito entre dos configuraciones, y se representa por (q, aw) (q', W) y se debe de cumplir que f(q, a)=q'. Un autómata finito es una maquina de estados capaz de reconocer un lenguaje regular. Si el autómata es capaz de alcanzar en su configuración final. 7

8 Lenguaje reconocido por un autómata finito Cuando un autómata transita a una configuración final partiendo de la configuración inicial, en varios movimientos, se dice que se ha producido aceptación o reconocimiento de la cadena de entrada. Es decir que dicha cadena, pertenece al lenguaje reconocido por el autómata. Por el contrario, cuando el autómata finito no es capaz de llegaraunestadofinal, se dice que el autómata no reconoce dicha cadena y que por tanto no pertenece al lenguaje. 8

9 Para toda gramática regular "tipo 3", existe un autómata finito "AF", tal que el lenguaje reconocido por el autómata finito es igual al lenguaje generado por la gramática. La forma habitual de representar los autómatas finitos es mediante un grafo o diagrama de estados, donde los nodos son los estados y las ramas están marcadas con los símbolos del alfabeto de entrada. Las ramas se construyen según la función de transición, así debe de cumplir. 9

10 Los nodos que representan los estados finales, suelen marcarse con un doble círculo, y el estado inicial también se marca con una flecha, encima de la cual se coloca la palabra INICIO. abc* 10

11 Ejemplo 01 11

12 Ejemplo 01: Solución Solución: Se construye el diagrama de estados, colocando en primer lugar todos los estados dentro de círculos, marcando con doble círculo el estado final. El estado inicial se indica con una flecha que lo señala con la palabra INICIO encima. Para construir las ramas, nos situamos en el primer estado de la tabla de transiciones y se observa que f(q1,a)=q2, entonces se traza una flecha entre q1 y q2, apuntando a q2, y se coloca encima de la flecha el símbolo del vocabulario de entrada a. De igual forma se recorre la tabla de transiciones para cada estado y entrada completándose el diagrama de Moore. 12

13 Ejemplo 01: Lenguaje reconocido por un autómata finito 13

14 Ejemplo 02 Los identificadores de C son cadenas de letras, dígitos y guiones bajos. letra_ [A-Za- z_] dígito [0-9] id letra_ ( letra_ dígito)* 14

15 Ejemplo 02: Solución Solución : Este ejemplo es inverso al anterior, pues se da un lenguaje y se pide el autómata que lo reconoce. En primer lugar se construye un diagrama de Moore, de tal forma que a partir del estado inicial, después de leer una letra, acepte letras o dígitos de forma variable, y cuando encuentre un carácter diferente de letra o dígito alcance el estado final. El diagrama de Moore es el que se muestra en la figura. 15

16 Ejemplo 02: Solución $ representa a el fin de la cadena El autómata finito se deduce del diagrama de estaos y es el siguiente: donde f se define por : 16

17 Ejemplo de programación en C Programa que modela el AF=(E,Q,f,q0,F) donde: E={a,b}, Q={q0, q1, q2, q3}, F={q1, q2} f:exq->q f(q0,a)=q1 f(q0,b)=q3 f(q1,a)=q1 f(q1,b)=q2 f(q2,a)=q3 f(q2,b)=q2 f(q3,a)=q3 f(q3,b)=q3 AF que describe el lenguaje dado por la expresión regular a + b *."L(AF)=L(a + b * )" 17

18 //LIBRERIAS Y DEFINICIONES DE CONSTANTES #include <stdio.h> #define FIN_CADENA '\n' //Modelado de los estados enum{q0,q1,q2,q3}; //PROGRAMA PRINCIPAL int main (void) { int estado=q0; //Estado = Estado inicial q0 char entrada; //Caracter de entrada entrada=getchar(); //Ciclo que modela transicin del automata conforme avanza el cabezal de lectura while(entrada!=fin_cadena) //Mientras la entrada no sea el final de la cadena { switch(estado) { case q0: //Modelado de las transiciones del estado q0 if(entrada=='a') estado=q1; else if(entrada=='b')estado=q3; break; case q1: //Modelado de las transiciones del estado q1 if(entrada=='a') estado=q1; else if(entrada=='b')estado=q2; break; case q2: //Modelado de las transiciones del estado q2 if(entrada=='a') estado=q3; else if(entrada=='b')estado=q2; break; case q3: //Modelado de las transiciones del estado q3 if(entrada=='a') estado=q3; else if(entrada=='b')estado=q3; break; default: break; //Leer la primer entrada } } entrada=getchar(); //Leer de la segunda a más entradas //Comprobar si al alcanzar la configuración final el automata alcanzo un estado final if(estado==q1 estado==q2) printf("\ncadena VALIDA en el lenguaje L(a+b*)"); else printf("\ncadena NO VALIDA en el lenguaje L(a+b*)"); return 0; //Fin de programa 18 }

19 Ejercicios 06: Autómatas finitos 1. Diseñe autómatas finitos capaces de reconocer los siguientes lenguajes definidos por la expresiones regulares: i. a + b * ii. ab(cd) + e iii. (a + b + )cd iv. abz?b + v. (cg) * gato + cd 2. Programe los autómatas finitos diseñados anteriormente y verifique su funcionamiento. *Se entregarán antes del día Viernes 27 de Septiembre de 2013 (23:59:59 hora limite) *Sugerencia utilizar Jflap para el dibujo y simulación de los autómatas *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina *Incluir pantallazos del funcionamiento y pruebas 19

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez

09 Análisis léxico V Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Autómata Definición formal de autómata Representación de un autómata Mediante tablas de transiciones Mediante diagramas de estados Autómata finito Definición formal de autómata finito Lenguaje

Más detalles

Clase 09: AFN, AFD y Construcción de Thompson

Clase 09: AFN, AFD y Construcción de Thompson Clase 09: AFN, AFD y Construcción de Thompson Solicitado: Ejercicios 07: Construcción de AFN scon Thompson M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom

Más detalles

Clase 07: Autómatas. Solicitado: Ejercicios 05: Autómatas

Clase 07: Autómatas. Solicitado: Ejercicios 05: Autómatas Solicitado: Ejercicios 05: Autómatas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfranco@ipn.mx 1 Contenido Autómata Teoría de Autómatas Definición

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc.

Máquinas Secuenciales, Autómatas y Lenguajes Formales. Tema 4: Autómatas finitos deterministas. Holger Billhardt holger.billhardt@urjc. Formales Tema 4: Autómatas finitos deterministas Holger Billhardt holger.billhardt@urjc.es Sumario: Bloque 2: Autómatas Finitos 4. Autómatas Finitos Deterministas 1. Concepto y Definición 2. Autómata finito

Más detalles

Autómatas Finitos y Lenguajes Regulares

Autómatas Finitos y Lenguajes Regulares Autómatas Finitos y Lenguajes Regulares Problema: Dado un lenguaje L definido sobre un alfabeto A y una cadena x arbitraria, determinar si x L o x L. Cadena x AUTOMATA FINITO SI NO Lenguaje Regular Autómatas

Más detalles

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es

Autómatas y Lenguajes Formales. Tema 3.2: Autómatas Finitos No Deterministas. Luis Peña luis.pena@urjc.es Autómatas y Lenguajes Formales Tema 3.2: Autómatas Finitos No Deterministas Luis Peña luis.pena@urjc.es Sumario Tema 3.2: Autómatas Finitos No Deterministas. 1. Concepto de AFND 2. Teoremas de Equivalencia

Más detalles

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES (TALF) BLOQUE II: LENGUAJES REGULARES Tema 2: Autómatas Finitos Parte 2 (de 3). Autómatas Finitos No Deterministas (AFNDs) Grado en Ingeniería Informática URJC

Más detalles

Tema: Autómatas de Estado Finitos

Tema: Autómatas de Estado Finitos Compiladores. Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Autómatas de Estado Finitos Contenido En esta guía se aborda la aplicación de los autómatas en el campo de

Más detalles

Clase 17: Autómatas de pila

Clase 17: Autómatas de pila Solicitado: Ejercicios 14: Autómatas de pila de GLC M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Autómata de pila Definición

Más detalles

2: Autómatas finitos y lenguajes regulares.

2: Autómatas finitos y lenguajes regulares. 2: Autómatas finitos y lenguajes regulares. Los autómatas finitos son el modelo matemático de los sistemas que presentan las siguientes características: 1) En cada momento el sistema se encuentra en un

Más detalles

Definición formal de autómatas finitos deterministas AFD

Definición formal de autómatas finitos deterministas AFD inicial. Ejemplo, supóngase que tenemos el autómata de la figura 2.4 y la palabra de entrada bb. El autómata inicia su operación en el estado q 0 (que es el estado inicial). Al recibir la primera b pasa

Más detalles

Introducción a Autómatas Finitos

Introducción a Autómatas Finitos Introducción a e. Universidad de Cantabria Esquema 1 Introducción 2 3 Grafo de λ Transiciones Eliminación de las λ-transiciones 4 El Problema Podemos interpretar un autómata como un evaluador de la función

Más detalles

Clase 06: Definiciones regulares

Clase 06: Definiciones regulares Solicitado: Ejercicios 04: Expresiones y definiciones regulares M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Expresiones

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0n1n} debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

2.Teoría de Autómatas

2.Teoría de Autómatas 2.Teoría de Autómatas Araceli Sanchis de Miguel Agapito Ledezma Espino José A. Iglesias Mar

Más detalles

AUTÓMATAS DE PILA. Nota: Si existe transición de tipo (2), sólo se garantiza que AP es determinístico si s A, δ( e i, s, X) está indefinida.

AUTÓMATAS DE PILA. Nota: Si existe transición de tipo (2), sólo se garantiza que AP es determinístico si s A, δ( e i, s, X) está indefinida. AUTÓMATAS DE PILA Los autómatas de pila, en forma similar a como se usan los autómatas finitos, también se pueden utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A. Los autómatas

Más detalles

Unidad 4. Autómatas de Pila

Unidad 4. Autómatas de Pila Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje

Más detalles

8- LEX-Expresiones regulares

8- LEX-Expresiones regulares 8- LEX-Expresiones regulares Objetivos: Utilizar la herramienta KEX para trabajar con expresiones regulares Recursos: Maquina virtual Linux distribución Bodhi LXterminal y FLEX Introducción Flex le permite

Más detalles

Practica 04:Conversión de AFN a AFD

Practica 04:Conversión de AFN a AFD Practica 04:Conversión de AFN a AFD Entrega vía Web: Domingo 20 de Octubre de 2013 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfranco@ipn.mx 1 Contenido

Más detalles

DEFINICIÓN FORMAL DE UN AFP

DEFINICIÓN FORMAL DE UN AFP Los AUTÓMATAS FINITOS CON PILA además de reconocer a los Lenguajes Regulares, tienen la capacidad de reconocer a los LICs, como las expresiones aritméticas y las sentencias de un Lenguaje de Programación.

Más detalles

Proyecto Unico - Parte 1 - Solución

Proyecto Unico - Parte 1 - Solución Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2006 Proyecto Unico - Parte 1 - Solución Revisión Teórico-Práctica 1. Presente

Más detalles

Compiladores e Intérpretes Análisis Léxico

Compiladores e Intérpretes Análisis Léxico 1 Compiladores e Intérpretes Análisis Léxico Sebastian Gottifredi 2017 Organizacion Esquema General de Análisis Léxico Tokens Especificando Tokens Expresiones Regulares Reconociendo Tokens Autómatas Finitos

Más detalles

Autómatas finitos con salidas

Autómatas finitos con salidas Agnatura: Teoría de la Computación Unidad : Lenguajes Regulares Tema 2: Autómatas con salidas Autómatas finitos con salidas Importancia y aplicación de los autómatas finitos Los Autómatas finitos constituyen

Más detalles

Serafín Moral Departamento de Ciencias de la Computación. Modelos de Computación ITema 2: Autómatas Finitos p.1/88

Serafín Moral Departamento de Ciencias de la Computación. Modelos de Computación ITema 2: Autómatas Finitos p.1/88 Modelos de Computación I Tema 2: Autómatas Finitos Serafín Moral Departamento de Ciencias de la Computación Modelos de Computación ITema 2: Autómatas Finitos p./88 Contenido Autómata Finito Determinista

Más detalles

08 Análisis léxico IV

08 Análisis léxico IV 2 Contenido Expresiones regulares Lenguaje generado por una expresión regular Precedencia de las operaciones con las expresiones regulares Ejemplos Definiciones regulares Extensiones de las expresiones

Más detalles

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ciencias de la ingeniería

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR. Ciencias de la ingeniería UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA SUR DEPARTAMENTO ACADÉMICO DE SIS COMPUTACIONALES INGENIERÍA EN TECNOLOGÍA COMPUTACIONAL ASIGNATURA Teoría de la computación ÁREA DE Ciencias de la ingeniería CONOCIMIENTO

Más detalles

Teoría de Autómatas y Lenguajes Formales.

Teoría de Autómatas y Lenguajes Formales. Teoría de Autómatas y Lenguajes Formales Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel Alonso Weber 1 UNIVERSIDAD CARLOS III DE

Más detalles

Teoría de Autómatas y Lenguajes Formales.

Teoría de Autómatas y Lenguajes Formales. Teoría de Autómatas y Lenguajes Formales Prueba de Evaluación de Lenguajes Regulares, Autómatas a Pila y Máquinas de Turing. Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez

Más detalles

Autómatas finitos no deterministas (AFnD)

Autómatas finitos no deterministas (AFnD) Autómatas finitos no deterministas (AFnD) Elvira Mayordomo Universidad de Zaragoza 1 de octubre de 2012 Contenido de este tema Introducción y ejemplos de autómatas finitos no deterministas Definición de

Más detalles

DIAGRAMAS DE TRANSICIONES

DIAGRAMAS DE TRANSICIONES 1 UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERÍA DEPARTAMENTO DE COMPUTACIÓN DIAGRAMAS DE TRANSICIONES Elaborado el Lunes 06 de Septiembre de 2004 I.- INTRODUCCIÓN (extraído de Compiladores: Principios,

Más detalles

Máquinas de estado finito y expresiones regulares

Máquinas de estado finito y expresiones regulares Capítulo 3 Máquinas de estado finito y expresiones regulares En este tema definiremos y estudiaremos máquinas de estado finito, llamadas también máquinas de estado finito secuenciales o autómatas finitos.

Más detalles

TEMA 5. GRAMÁTICAS REGULARES.

TEMA 5. GRAMÁTICAS REGULARES. TEMA 5. GRAMÁTICAS REGULARES. 5.1. Gramáticas Regulares. 5.2. Autómatas finitos y gramáticas regulares. 5.2.1. Gramática regular asociada a un AFD 5.2.2. AFD asociado a una Gramática regular 5.3. Expresiones

Más detalles

Autómata finito y Expresiones regulares A* C. B

Autómata finito y Expresiones regulares A* C. B Autómata finito y Expresiones regulares A* C. B Conceptos Alfabeto ( ): es el conjunto finito no vacío de símbolos. Ejemplo: = {0,1}, el alfabeto binario Cadenas: secuencia finita de símbolos pertenecientes

Más detalles

Autómatas Deterministas. Ivan Olmos Pineda

Autómatas Deterministas. Ivan Olmos Pineda Autómatas Deterministas Ivan Olmos Pineda Introducción Los autómatas son una representación formal muy útil, que permite modelar el comportamiento de diferentes dispositivos, máquinas, programas, etc.

Más detalles

Teoría de Autómatas y Lenguajes Formales.

Teoría de Autómatas y Lenguajes Formales. Teoría de Autómatas y Lenguajes Formales Ejercicios de Máquinas de Turing Autores: Araceli Sanchis de Miguel Agapito Ledezma Espino Jose A. Iglesias Martínez Beatriz García Jiménez Juan Manuel Alonso Weber

Más detalles

UNIDAD I. ALGORITMOS

UNIDAD I. ALGORITMOS UNIDAD I. ALGORITMOS 1.1 Definición Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 1.2 Tipos Cualitativos: Son aquellos

Más detalles

Área Académica: Licenciatura en Sistemas Computacionales

Área Académica: Licenciatura en Sistemas Computacionales Área Académica: Licenciatura en Sistemas Computacionales Asignatura: Lenguajes y Autómatas Profesor: Ing. Cristian Arturo Díaz Iruegas Periodo: Julio Diciembre 2011. Palabras Clave: Autómatas, Finito,

Más detalles

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos

Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos Teoría de Autómatas y Compiladores [ICI-445] Capítulo 2: Autómatas Finitos Dr. Ricardo Soto [ricardo.soto@ucv.cl] [http://www.inf.ucv.cl/ rsoto] Escuela de Ingeniería Informática Pontificia Universidad

Más detalles

El proceso del Análisis Léxico

El proceso del Análisis Léxico El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente

Más detalles

PRACTICA 5: Autómatas Finitos Deterministas

PRACTICA 5: Autómatas Finitos Deterministas E. T. S. DE INGENIERÍA INFORMÁTICA Departamento de Estadística, I.O. y Computación Teoría de Autómatas y Lenguajes Formales PRACTICA 5: Autómatas Finitos Deterministas 5.1. Requisito de codificación Cada

Más detalles

Expresiones Regulares y Derivadas Formales

Expresiones Regulares y Derivadas Formales Motivación e Ideas y Derivadas Formales La Derivación como Operación. Universidad de Cantabria Esquema Motivación e Ideas 1 Motivación e Ideas 2 3 Motivación Motivación e Ideas Sabemos como son los conjuntos

Más detalles

Máquinas de Turing Definición y descripción

Máquinas de Turing Definición y descripción Capítulo 12 Máquinas de Turing 12.1. Definición y descripción Definición 1 Se llama máquina de Turing a toda séptupla M = (Γ,Σ,,Q,q 0,f,F), donde: Γ es el alfabeto de símbolos de la cinta. Σ Γ es el alfabeto

Más detalles

Clase 10:Conversión de AFN a AFD

Clase 10:Conversión de AFN a AFD Clase 10:Conversión de AFN a AFD Solicitado: Ejercicios 08: Conversión de AFN a AFD M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1

Más detalles

Guía de Modelo Relacional (preliminar)

Guía de Modelo Relacional (preliminar) Guía de Modelo Relacional (preliminar) Mauricio Monsalve Moreno (auxiliar CC42A/CC55A) Otoño de 2007 1 Problemas conceptuales 1. Qué es una relación? Qué es un esquema de relación? 2. Qué es una llave

Más detalles

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos

Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Una clave Definición informal La clave debe contener una secuencia de una o más letras seguidas por uno o más dígitos Definición formal del lenguaje por comprensión L = {C n D m \ n,m >0 Donde C representa

Más detalles

Tema: Maquina de Turing

Tema: Maquina de Turing 1 Tema: Maquina de Turing Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Contenido En esta guía recordaremos algunos conceptos acerca de la máquina de Turing, se implementará en C++

Más detalles

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.

MODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.

Más detalles

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos 300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Qué es un computador? Todos lo sabemos!!!

Más detalles

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY Para el estudio de este tema es necesario analizar dos tipos de gramáticas de la clasificación de Chomsky, las regulares y las independientes de contexto, las

Más detalles

Máquinas de estados finitas 1 FUNDAMENTOS LÓGICOS ALGEBRA BOOLEANA. Grupo de correo

Máquinas de estados finitas 1 FUNDAMENTOS LÓGICOS ALGEBRA BOOLEANA. Grupo de correo Máquinas de estados finitas FUNDAMENTOS LÓGICOS ALGEBRA BOOLEANA Grupo de correo compformaut@googlegroups.com Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT y = a+ b y = ab y= a a b y a

Más detalles

Repaso. Lenguajes formales

Repaso. Lenguajes formales Repaso. Lenguajes formales Profesor Federico Peinado Elaboración del material José Luis Sierra Federico Peinado Ingeniería en Informática Facultad de Informática Universidad Complutense de Madrid Curso

Más detalles

Capítulo 5 IDENTIFICADORES, VARIABLES Y CONSTANTES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Capítulo 5 IDENTIFICADORES, VARIABLES Y CONSTANTES. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 5 IDENTIFICADORES, VARIABLES Y CONSTANTES 1 OBJETIVOS Saber qué

Más detalles

µ-c: Manual de referencia del lenguaje Micro-C

µ-c: Manual de referencia del lenguaje Micro-C µ-c: Manual de referencia del lenguaje Micro-C Introducción Este manual de referencia describe en detalle el lenguaje Micro-C, para ser implementado como proyecto de los cursos de Compíladores I y II en

Más detalles

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015 Aspectos de los LP Diseño de compiladores Lenguajes de Programación Antes de comenzar con la construcción de un compilador, debemos comprender los conceptos basicos del lenguaje de programación con el

Más detalles

El lenguaje C. if (a>3) { printf("hola"); // bloque printf("%d",a); // de getch(); //código } Partes de un programa en C.

El lenguaje C. if (a>3) { printf(hola); // bloque printf(%d,a); // de getch(); //código } Partes de un programa en C. El lenguaje C El lenguaje C es uno de los lenguajes de programación estructurada más utilizados en nuestros días. El principal componente estructural de C es la función. En C, las funciones son bloques

Más detalles

Máquinas de estados finitas 1

Máquinas de estados finitas 1 Máquinas de estados finitas 1 MÁQUINAS DE ESTADOS FINITAS INTRODUCCIÓN Máquinas de estados finitas 2 Evento discreto: ocurrencia de una característica en la evolución de una señal (flanco de subida, paso

Más detalles

AUTÓMATAS DE ESTADO FINITO

AUTÓMATAS DE ESTADO FINITO AUTÓMATAS DE ESTADO FINITO Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 12 de octubre de 2008 Contenido Autómatas de estado finito Concatenación de

Más detalles

Tema 2: Autómatas finitos

Tema 2: Autómatas finitos Tema 2: Autómatas finitos Departamento de Sistemas Informáticos y Computación DSIC - UPV http://www.dsic.upv.es p. 1 Tema 2: Autómatas finitos Autómata finito determinista (AFD). Formas de representación

Más detalles

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003.

Examen. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. Segundo Semestre, 2003. Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Examen IIC 2222 Teoría de Autómatas y Lenguajes Formales Segundo Semestre, 2003 Este examen tiene

Más detalles

Capítulo 9. Introducción a los lenguajes formales. Continuar

Capítulo 9. Introducción a los lenguajes formales. Continuar Capítulo 9. Introducción a los lenguajes formales Continuar Introducción Un lenguaje es un conjunto de símbolos y métodos para estructurar y combinar dichos símbolos. Un lenguaje también recibe el nombre

Más detalles

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS CAROLINA GONZÁLEZ NARANJO CÉSAR AUGUSTO MONTOYA ROMÁN

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS CAROLINA GONZÁLEZ NARANJO CÉSAR AUGUSTO MONTOYA ROMÁN DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS CAROLINA GONZÁLEZ NARANJO CÉSAR AUGUSTO MONTOYA ROMÁN UNIVERSIDAD TECNOLÓGICA DE PEREIRA FACULTAD DE INGENIERÍAS: ELÉCTRICA, ELECTRÓNICA,

Más detalles

Analizador De léxico. V A R i : I N T E G E R ; \n...

Analizador De léxico. V A R i : I N T E G E R ; \n... UNIDAD III Analisis de Lexico 3.1 Analizador de Lexico La tarea del análisis de léxico es reconocer símbolos en un flujo de caracteres y presentarlos en una representación mas util para el análisis sintáctico.

Más detalles

Tema: Análisis Sintáctico

Tema: Análisis Sintáctico Compiladores. Guía 6 1 Tema: Análisis Sintáctico Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Contenido En esta guía se abordarán los conceptos pertenecientes al componente de análisis

Más detalles

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 3.1: Autómatas Finitos Deterministas Tema 3.1: Autómatas Finitos Deterministas Luis Peña luis.pena@urjc.es http://www.ia.urjc.es/cms/es/docencia/ic-msal Sumario Tema 3.1: Autómatas Finitos Deterministas. 1. Concepto de AFD 2. Equivalencia

Más detalles

Tema 4. Autómatas Finitos

Tema 4. Autómatas Finitos Tema 4. Autómatas Finitos 4.1. Autómatas finitos. 4.1.1. Introducción. 4.1.2. Máquinas secuenciales. 4.2. Autómatas finitos deterministas (A.F.D.). 4.2.1. Introducción. 4.2.2. Definición AFD. Representación.

Más detalles

Practica 07: Maquina de Turing

Practica 07: Maquina de Turing Entrega vía Web: Viernes 06 de Diciembre de 2013 M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Definición del problema

Más detalles

EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999

EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999 EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999 1. (1) Partiendo de la especificación interfaz-función de los siguientes módulos LeerDatosNIF = PROCEDIMIENTO() DEVUELVE

Más detalles

Tema 3 Constantes, Variables y Tipos

Tema 3 Constantes, Variables y Tipos Tema 3 Constantes, Variables y Tipos Contenidos 1. Definiciones. 1.1 Variables y Constantes. 1.2 Identificadores. 2. Declaración de Variables en un Programa en C. 3. Tipos de Datos. 3.1 Clasificación.

Más detalles

Teoría de conjuntos. Tema 1: Teoría de Conjuntos.

Teoría de conjuntos. Tema 1: Teoría de Conjuntos. Tema 1: Teoría de Conjuntos. La teoría de Conjuntos es actualmente una de las más importantes dentro de la matemática. Muchos de los problemas que se le han presentado a esta disciplina en los últimos

Más detalles

SSL Guia de Ejercicios

SSL Guia de Ejercicios 1 SSL Guia de Ejercicios INTRODUCCIÓN A LENGUAJES FORMALES 1. Dado el alfabeto = {a, b, c}, escriba las palabras del lenguaje L = {x / x }. 2. Cuál es la cardinalidad del lenguaje L = {, a, aa, aaa}? 3.

Más detalles

EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F)

EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F) APRENDERAPROGRAMAR.COM EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha

Más detalles

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

ANÁLISIS LÉXICO AUTÓMATAS FINITOS Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

TEORÍA DE AUTÓMATAS I Informática de Sistemas

TEORÍA DE AUTÓMATAS I Informática de Sistemas TEORÍA DE AUTÓMATAS I Informática de Sistemas Soluciones a las cuestiones de examen del curso 22/3 Febrero 23, ª semana. Considere los lenguajes del alfabeto Σ={,}: L = { n n, n } y L 2 = {cadenas con

Más detalles

Lenguajes y Compiladores Análisis Léxico

Lenguajes y Compiladores Análisis Léxico Facultad de Ingeniería de Sistemas Lenguajes y Compiladores Análisis Léxico 1 Análisis léxico La tarea del análisis léxico es reconocer símbolos dentro de la cadena de caracteres que es el programa fuente.

Más detalles

Definiciones previas

Definiciones previas Máquina de Turing Definiciones previas Definición. Alfabeto: Diremos que un conjunto finito Σ es un alfabeto si Σ y ( x)(x Σ x es un símbolo indivisible) Ejemplos Σ ={a,b}, Σ ={0,1}, Σ ={a,b, z} son alfabetos

Más detalles

Sistemas a Eventos Discretos

Sistemas a Eventos Discretos Sistemas a Eventos Discretos Autómatas de Estado Finito Edgar Chacón 2 Universidad Católica de Cuenca 27 de julio de 2014 2 Programa Prometeo Senescyt, Ecuador E.C. (Ucacue) Sistemas a Eventos Discretos

Más detalles

Tema 2: Análisis léxico

Tema 2: Análisis léxico Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 22 Fundamentos del análisis

Más detalles

Analizador Sintáctico Ascendente

Analizador Sintáctico Ascendente Analizador Sintáctico Ascente Un Analizador Sintáctico (A. St.) Ascente construye el árbol desde las hojas hacia la raíz. Funciona por reducción-desplazamiento, lo cual quiere decir que, siempre que puede,

Más detalles

Convertir un AFND a un AFD

Convertir un AFND a un AFD Convertir un AFND a un AFD Existe una equivalencia entre los AFD y AFN, de forma que un autómata M es equivalente a un autómata M' si L(M) ) L(M'). Ejemplo: Los autómatas de la siguiente figura son equivalentes.

Más detalles

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas

Clase 11: Gramáticas. Solicitado: Ejercicios 09: Gramáticas Solicitado: Ejercicios 09: Gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Gramática Elementos de una gramática

Más detalles

Introducción a la Teoría de Automátas

Introducción a la Teoría de Automátas a la Teoría de Automátas Universidad de Cantabria Primeras Consideraciones Fijar un modelo de cálculo que haga referencia a los fundamentos de la comunicación y el lenguaje. Todo cálculo algorítmico consiste

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Repaso Clase Anterior

Repaso Clase Anterior Mayo 22, Lunes Repaso Clase Anterior Glosario Tareas Prof. Esp. Ing. José María Sola 258 Agenda para esta clase Especificación Formal de Máquintas de Estado Expresiones Regulares Prof. Esp. Ing. José María

Más detalles

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009 MÁQUINAS DE TURING Las máquinas de Turing, así como los AF y los AP se utilizan para aceptar cadenas de un lenguaje definidas sobre un alfabeto A. El modelo básico de máquina de Turing, tiene un mecanismo

Más detalles

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE) Repaso Lenguaje C OBJETOS Variables Constantes Variable: objeto del ambiente cuyo contenido puede cambiar. Constante: objeto cuyo contenido no puede cambiar. Variables: - un nombre que la identifica. Deben

Más detalles

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones Analizador Léxico Programación II Margarita Álvarez Analizador Léxico - Funciones Función Principal Leer carácter por carácter de la entrada y elaborar como salida una secuencia de componentes léxicos

Más detalles

Autómata de Pila (AP, PDA) Sesión 18

Autómata de Pila (AP, PDA) Sesión 18 Sesión 8 Autómata de Pila (Pushdown Automata) Autómata de Pila (AP, PDA) Un AP es una máquina que acepta el lenguage generado por una GLC Consiste en un NFA- aumentado con una pila (stack). L = {xx r x

Más detalles

Introducción a la Teoría de Autómatas, Lenguajes y Computación

Introducción a la Teoría de Autómatas, Lenguajes y Computación Introducción a la Teoría de Autómatas, Lenguajes y Computación Gustavo Rodríguez Gómez y Aurelio López López INAOE Propedéutico 2010 1 / 53 Capítulo 2 Autómatas Finitos 2 / 53 1 Autómatas Finitos Autómatas

Más detalles

Tema 2: Análisis léxico

Tema 2: Análisis léxico Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 21 Fundamentos del análisis

Más detalles

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila.

Temas. Objetivo. Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2) Definir autómatas de pila. 0 Temas Definición de autómata de pila Autómata de pila determinístico y no determinístico Objetivo Que el estudiante logre: 1) Identificar conceptos constructivos de la Teoría de la Computabilidad. 2)

Más detalles

Programación y matemática

Programación y matemática Programación y matemática Los objetos matemáticos se describen usando un lenguaje al que llamamos lenguaje matemático. Como este lenguaje tiene pautas claras que indican cuáles descripciones tienen sentido

Más detalles

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle

CONJUNTOS REGULARES. Orlando Arboleda Molina. 19 de Octubre de Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle CONJUNTOS REGULARES Orlando Arboleda Molina Escuela de Ingeniería de Sistemas y Computación de La Universidad del Valle 19 de Octubre de 2008 Contenido Expresiones regulares Teorema de Kleene Autómatas

Más detalles

1. Cadenas EJERCICIO 1

1. Cadenas EJERCICIO 1 LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007 - BOLETÍN DE EJERCICIOS Víctor J. Díaz Madrigal y José Miguel Cañete Departamento de Lenguajes y Sistemas Informáticos 1. Cadenas La operación reversa aplicada

Más detalles

Modelos de Computación. Guía Modelos de Computación. Tema VI: Maquinas De Estado Finito Con Salida

Modelos de Computación. Guía Modelos de Computación. Tema VI: Maquinas De Estado Finito Con Salida Guía Modelos de Computación Tema VI: Maquinas De Estado Finito Con Salida Definición: Una maquina de estado finito M = (S, I, O, f, g, s0) consiste en un conjunto finito de estados S; un alfabeto de entradas

Más detalles

Tema: Autómata de Pila

Tema: Autómata de Pila Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores 1 Tema: Autómata de Pila Contenido La presente guía aborda los autómatas de pila, y se enfoca en la aplicación que se le puede dar a estas

Más detalles

Clase 12: Clasificación de gramáticas

Clase 12: Clasificación de gramáticas Solicitado: Ejercicios 10: Clasificación de gramáticas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfrancom@ipn.mx 1 Contenido Avram Noam Chomsky

Más detalles

Máquinas de Turing. Definición 2

Máquinas de Turing. Definición 2 Definición 1 La Máquina de Turing (MT) es el modelo de autómata com máxima capacidad computacional: la unidad de control puede desplazarse a izquierda o derecha y sobreescribir símbolos en la cinta de

Más detalles

10 Análisis léxico VI Compiladores - Profr. Edgardo Adrián Franco Martínez

10 Análisis léxico VI Compiladores - Profr. Edgardo Adrián Franco Martínez 2 Contenido Clasificación de los autómatas finitos Autómata finito no determinista (AFND) Autómata finito determinista (AFD) Teorema sobre la transformación de AFND en AFD Transformación de una expresión

Más detalles