Tema 2: Los Autómatas y su Comportamiento

Documentos relacionados
Tema 4: Procesos Concurrentes y Reacción

Máquinas Secuenciales, Autómatas y Lenguajes. Tema 4: Expresiones Regulares. Luis Peña

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

TRADUCTORES E INTERPRETADORES

Nuestro objetivo es demostrar que autómata = lógica Qué significa esto? Queremos encontrar una lógica que defina a los lenguajes regulares

Curso Básico de Computación

Conjuntos y expresiones regulares. Propiedades de las expresiones regulares (1) Propiedades de las expresiones regulares (2)

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

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

Curso Básico de Computación Preliminares

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES

Un autómata con pila no determinista (APND) es una septupla Q A B F en la que

Capítulo 7: Expresiones Regulares

Autómatas Finitos Deterministicos (DFA)

Computabilidad y Lenguajes Formales: Autómatas Finitos

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos INAOE. Introducción a. Autómatas. Definición formal de un. Finito Determinístico. Finito No- Finitos y Lenguajes Formales

Ciencias de la Computación I

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

Gramáticas independientes del contexto TEORÍA DE LA COMPUTACIÓN LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

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

Tema 4. Autómatas Finitos

Máquinas de estado finito y expresiones regulares

Curso Básico de Computación

Autómatas de Pila y Lenguajes Incontextuales

Lenguajes formales y autómatas

3 Propiedades de los conjuntos regulares 3.1 Lema de Bombeo para conjuntos regulares

Máquinas de Turing, recordatorio y problemas

Teoría de Autómatas y Lenguajes Formales Equivalencia de Conjuntos Pruebas por Inducción

Fundamentos de Ciencias de la Computación Trabajo Práctico N 2 Lenguajes Libres del Contexto y Sensibles al Contexto Segundo Cuatrimestre de 2002

Expresiones regulares, gramáticas regulares

Compiladores: Sesión 3. Análisis léxico, expresiones regulares

Convertir un AFND a un AFD

Tema 3: Gramáticas regulares. Teoría de autómatas y lenguajes formales I

Gramáticas independientes del contexto AUTÓMATAS Y LENGUAJES FORMALES LENGUAJES INDEPENDIENTES DEL CONTEXTO Y AUTÓMATAS DE PILA. Otras definiciones I

Ejemplo de demostración de que cierto lenguaje es el lenguaje aceptado por un AFND.

Análisis y Diseño de Algoritmos

SSL Guia de Ejercicios

Lenguajes Formales y Monoides

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

Teoría de autómatas para investigadores en XML

Autómatas Deterministas. Ivan Olmos Pineda

Lenguajes Incontextuales

Universidad de Valladolid

Autómatas de Estados Finitos

2 Autómatas finitos y gramáticas regulares.

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

Propiedades de Lenguajes Regulares

Coordinación de Ciencias Computacionales INAOE. Teoría de Autómatas y Lenguajes Formales. Temario detallado para examen de ingreso 2012

1. Cadenas EJERCICIO 1

Autómata de Pila (AP, PDA) Tema 18

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

Conjuntos. Un conjunto es una colección de objetos. Si a es un objeto y R es un conjunto entonces por. a R. se entiende que a pertenece a R.

UNIVERSIDAD TECNOLOGICA DE PEREIRA FACULTAD DE INGENIERIAS

Lenguajes, Gramáticas y Autómatas Conceptos

1. Objetivos. 2. Explicación del método. Teoría de Autómatas y Lenguajes Formales. Boletín de Autoevaluación 1: Cómo se transforma un AFN en un AFD?

Expresiones regulares, gramáticas regulares Unidad 3

CAPITULO 2: LENGUAJES

PRACTICA 5: Autómatas Finitos Deterministas

1 er Parcial Febrero 2009

Curso Básico de Computación

Tema: Autómatas de Estado Finitos

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

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

Tema 5: Autómatas a pila. Teoría de autómatas y lenguajes formales I

Algebra lineal y conjuntos convexos

Lenguajes Regulares. Antonio Falcó. - p. 1

PROGRAMACIÓN II AÑO 2009 TALLER 3: TEORÍA DE LENGUAJES Y AUTÓMATAS

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

Motivación: Problemas de optimización

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

Matemáticas Empresariales I. Funciones y concepto de ĺımite

5 Autómatas de pila 5.1 Descripción informal. 5.2 Definiciones

1. Define que es un Autómatas finitos determinanticos y cuáles son sus elementos constitutivos (explique cada uno de ellos).

El Autómata con Pila

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

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

Autómatas Mínimos. Encontrar el autómata mínimo. Universidad de Cantabria. Introducción Minimización de Autómatas Deterministas Resultados Algoritmo

Teoría de Lenguajes y Autómatas Conceptos y teoremas fundamentales

Algoritmo para la obtención de los estados accesibles

UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS

Lenguajes Formales. 27 de octubre de 2005

Ingeniería en Computación. Autómatas y Lenguajes Formales. Unidad de competencia IV: Conocer, utilizar y diseñar gramáticas de libre contexto

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

1. Objetivos. 2. Idea Principal. Teoría de Autómatas y Lenguajes Formales

TEORIA DE AUTOMATAS.

7. Máquinas de Turing.

Tema 2. Análisis léxico

Lenguajes y Gramáticas

Capítulo 6. Relaciones. Continuar

Inducción en definiciones y demostraciones AUTÓMATAS Y LENGUAJES FORMALES PRELIMINARES MATEMÁTICOS. Números naturales. Inducción matemática

Definiciones y ejemplos.

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

ESPECIFICACIÓN DE SÍMBOLOS

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

Álgebra Lineal Grupo A Curso 2011/12. Espacios vectoriales. Bases...

Expresiones regulares y derivadas

Modelos De Computación. Guía Modelos de Computación. Tema I: Lenguajes y Gramáticas

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

Relaciones. Estructuras Discretas. Relaciones. Relaciones en un Conjunto. Propiedades de Relaciones en A Reflexividad

Transcripción:

Departamento de Computación Universidade da Coruña Bisimulación y procesos concurrentes Tema 2: Los Autómatas y su Comportamiento Carmen Alonso Montes carmen@dc.fi.udc.es Noelia Barreira Rodríguez noelia@dc.fi.udc.es 19 de febrero de 2004

Definición de Autómata Autómata Sea un conjunto de acciones Act, denomindado alfabeto, un autómata A sobre Act consta de: un conjunto Q = {q 0, q 1,...} de estados; un estado q 0 Q denominado estado inicial; un subconjunto F de Q con los estados finales o de aceptación un subconjunto T de Q Act Q, denominado transiciones Una transición (q, a, q ) T normalmente se escribe q a q. El autómata A se dice que es de estados finitos si Q es finito y determinista si por cada par (q, a) Q Act existe únicamente una transición q a q. Tema 2: Los autómatas y su comportamiento 1

Representación de Autómatas Grafo de transiciones Nodos estados Arcos transiciones Ejemplo: A 0 Act = {a, b, c} Q = {q 0, q 1, q 2, q 3 } F = {q 1 } Tema 2: Los autómatas y su comportamiento 2

Lenguaje de un Autómata Lenguaje de un Autómata Sea A un autómata sobre Act y s = a 1... a n una cadena sobre Act. Se dice que A acepta s si existe un camino en A, desde q 0 a un estado de aceptación, cuyos arcos estén etiquetados sucesivamente por a 1,..., a n. El lenguaje de A, denotado por por A. Â, es el conjunto de cadenas aceptadas Ejemplo: Cadena aceptada: abca Camino: q 0 q 1 q 2 q 0 q 1 A 0 Tema 2: Los autómatas y su comportamiento 3

Conjuntos regulares Operaciones sobre conjuntos de cadenas: Unión: S 1 S 2 Concatenación: S 1 S 2 = {s 1 s 2 s 1 S 1, s 2 S 2 } Iteración: S = {ɛ} S S S S S S... (s 1 s 2... s n (n 0), tal que s i S, i) Conjunto regular Un conjunto de cadenas sobre Act se dice que es regular si puede ser construido a partir del conjunto vacío y los conjuntos unitarios {a} (para cada a Act), utilizando sólo las operaciones de unión, concatenación e iteración. Tema 2: Los autómatas y su comportamiento 4

Propiedades de la Concatenación y Regla de Arden Propiedades de la concatenación (S 1 S 2 ) S 3 = S 1 (S 2 S 3 ) (S 1 + S 2 ) T = S 1 T + S 2 T T (S 1 + S 2 ) = T S 1 + T S 2 S ɛ = S S = S (T S) = (S T ) S Regla de Arden Para cualesquiera conjuntos de cadenas S y T, la ecuación X = S X + T tiene como solución X = S T. Además, esta solución es única si ɛ / S. Tema 2: Los autómatas y su comportamiento 5

Lenguaje de un Autómata Se obtiene a partir de las propiedades anteriores y la regla de Arden Tema 2: Los autómatas y su comportamiento 6

Lenguaje de un Autómata Se obtiene a partir de las propiedades anteriores y la regla de Arden 1. Sistema de ecuaciones: X 0 = ax 1 + bx 3 + cx 3 X 1 = ax 3 + bx 2 + cx 0 + ɛ X 2 = ax 3 + bx 3 + cx 0 X 3 = ax 3 + bx 3 + cx 3 Tema 2: Los autómatas y su comportamiento 6

Lenguaje de un Autómata Se obtiene a partir de las propiedades anteriores y la regla de Arden 1. Sistema de ecuaciones: X 0 = ax 1 + bx 3 + cx 3 X 1 = ax 3 + bx 2 + cx 0 + ɛ X 2 = ax 3 + bx 3 + cx 0 X 3 = ax 3 + bx 3 + cx 3 2. Regla de Arden: X 3 = (a + b + c) = Tema 2: Los autómatas y su comportamiento 6

Lenguaje de un Autómata Se obtiene a partir de las propiedades anteriores y la regla de Arden 1. Sistema de ecuaciones: X 0 = ax 1 + bx 3 + cx 3 X 1 = ax 3 + bx 2 + cx 0 + ɛ X 2 = ax 3 + bx 3 + cx 0 X 3 = ax 3 + bx 3 + cx 3 2. Regla de Arden: X 3 = (a + b + c) = 3. Simplificando: X 0 = ax 1 X 1 = bx 2 + cx 0 + ɛ X 2 = cx 0 Tema 2: Los autómatas y su comportamiento 6

Lenguaje de un Autómata Se obtiene a partir de las propiedades anteriores y la regla de Arden 1. Sistema de ecuaciones: X 0 = ax 1 + bx 3 + cx 3 X 1 = ax 3 + bx 2 + cx 0 + ɛ X 2 = ax 3 + bx 3 + cx 0 X 3 = ax 3 + bx 3 + cx 3 2. Regla de Arden: X 3 = (a + b + c) = 3. Simplificando: X 0 = ax 1 X 1 = bx 2 + cx 0 + ɛ X 2 = cx 0 4. Sustituyendo: X 1 = (bc + c)ax 1 + ɛ Tema 2: Los autómatas y su comportamiento 6

Lenguaje de un Autómata Se obtiene a partir de las propiedades anteriores y la regla de Arden 1. Sistema de ecuaciones: X 0 = ax 1 + bx 3 + cx 3 X 1 = ax 3 + bx 2 + cx 0 + ɛ X 2 = ax 3 + bx 3 + cx 0 X 3 = ax 3 + bx 3 + cx 3 2. Regla de Arden: X 3 = (a + b + c) = 3. Simplificando: X 0 = ax 1 X 1 = bx 2 + cx 0 + ɛ X 2 = cx 0 4. Sustituyendo: X 1 = (bc + c)ax 1 + ɛ 5. Regla de Arden: c A 0 = X 0 = a((bc + c)a) Tema 2: Los autómatas y su comportamiento 6

Determinismo vs. No Determinismo A 1 A 2 Determinista No determinista Tema 2: Los autómatas y su comportamiento 7

Determinismo vs. No Determinismo A 1 A 2 Determinista  1 = a((bc + c)a) No determinista Tema 2: Los autómatas y su comportamiento 7

Determinismo vs. No Determinismo A 1 A 2 Determinista  1 = a((bc + c)a) No determinista  2 = (a(bc + c)) a Tema 2: Los autómatas y su comportamiento 7

Sistemas Reactivos (I) Cierre-prefijo Si una cadena s puede ser expresada de la forma s 1 s 2, entonces se dice que es s 1 es un prefijo de s. Un lenguaje S se dice que es de prefijo-cerrado, si para cualquier ss S entonces s S. El cierre-prefijo de un lenguaje S es el lenguaje más largo P ref(s) que contiene todos los prefijos de cada cadena de S. Es el el lenguaje cierre-prefijo más pequeño que incluye S. Por ejemplo, si S = {a, bcd} entonces su cierre-prefijo es P ref(s) = {ɛ, a, b, bc, bcd} Para cualquier autómata A, en el que todos sus estados sean de aceptación, Â es un lenguaje prefijo-cerrado Tema 2: Los autómatas y su comportamiento 8

Sistemas Reactivos (II) Ejemplos de posibles autómatas en una máquina de café: B 1 B 2 Determinista B1 = (2p (2p cafe + te)) No determinista B2 = (2p (2p cafe + te)) Tema 2: Los autómatas y su comportamiento 9

Conclusiones En el ejemplo anterior se tenía que B1 = B2 Se ha usado una de las formas de la segunda ley distributiva: 2p (te + 2p cafe) = 2p te + 2p 2p cafe Esta noción de equivalencia no es adecuada para situaciones en las que las acciones del autómata consisten en reacciones, ya que no respeta el no determinismo Tema 2: Los autómatas y su comportamiento 10