Una máquina para interpretar ER. Tema 5. Autómata de Estados Finitos (FA) Cuántos estados se necesitan? Autómata de Estados Finitos (FA)

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

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

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

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

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

Propiedad esencial de los LR. Tema 12. Propiedad esencial de los LR. Las clases de cadenas. Perdón el terreno es resbaladizo!

22/09/2010. Autómata Mínimo

Tres versiones de Pal. Sesión 19. Una máquina para aceptar Pal El lenguaje: Tabla de transición para Pal. Más de un siguiente estado.

Tres versiones de Pal. Tema 19. Una máquina para aceptar Pal. Tabla de transición para Pal. Transición. Más de un siguiente estado

Unidad 4. Autómatas de Pila

Nuestro objetivo es demostrar que autómata = lógica. IIC3260 Una Aplicación de Teoría de Modelos Finitos: Lógica = Autómata 35 / 60

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

Examen de Teoría de Autómatas y Lenguajes Formales

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

Ciencias de la Computación I

Curso Básico de Computación

Autómatas Deterministas. Ivan Olmos Pineda

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

Unidad 4. Autómatas de Pila

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

ANÁLISIS LÉXICO AUTÓMATAS FINITOS

Expresiones regulares y derivadas

Igualdad de cadenas. Las nociones de sufijo y prefijo de cadenas sobre un alfabeto son análogas a las que se usan habitualmente.

Equivalencia Entre PDA y CFL

Ciencias de la Computación I

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

Computabilidad y lenguajes formales: Sesión 17. Equivalencia entre Expresiones Regulares y Autómatas Finitos

Autómatas de Estados Finitos

Traductores Push Down

Máquinas de Turing, recordatorio y problemas

El proceso del Análisis Léxico

Computabilidad y Lenguajes Formales: Autómatas Finitos

Definiciones previas

Procesadores de Lenguaje

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA)

Teoría de Autómatas y Lenguajes Formales.

Autómatas Finitos Deterministicos (DFA) Introducción a la Complejidad Computacional FFHA, Universidad Nacional de San Juan

Tema 6: Máquina de Turing

PRACTICA 5: Autómatas Finitos Deterministas

TEORIA DE AUTOMATAS.

DEFINICIÓN FORMAL DE UN AFP

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

Máquinas de estado finito y expresiones regulares

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

Tema 4. Autómatas Finitos

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES

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

2 Autómatas finitos y gramáticas regulares.

2 Autómatas finitos y gramáticas regulares.

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

Teoría de autómatas. Un enfoque práctico. Recortables. Thelma Cantú María Gpe. Mendoza

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

Problemas de Decisión

7. Máquinas de Turing.

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Máquinas de Turing

ALGORITMOS DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Expresiones regulares, gramáticas regulares

INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I SOLUCIONES

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 IIC3242. IIC3242 Máquinas de Turing 1 / 42

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

Ciencias de la Computación I

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

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

Propiedades de Lenguajes Regulares

Lenguajes, Gramáticas y Autómatas Conceptos

Máquinas de Turing, programas y tesis de Turing-Church

Computabilidad y lenguajes formales: Sesión 18. Lema de bombeo (Pumping lemma)

Curso Básico de Computación

El Autómata con Pila

Máquinas de Turing. Gálvez Martínez Ernesto Sánchez Sandoval David Isaac Villegas Rosales Erik Salazar Santiago Juan Carlos

Máquinas Secuenciales, Autómatas y Lenguajes Tema 5: Propiedades de los Lenguajes Regulares. Luis Peña

Curso Básico de Computación Preliminares

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

Máquinas de Turing IIC3242. IIC3242 Máquinas de Turing 1 / 45

Universidad de Valladolid

Ciencias de la Computación I

Jerarquía de Chomsky. 1. Clasificación de gramáticas. 2. Clasificación de lenguajes. 3. Gramáticas regulares. 5. Gramáticas dependientes del contexto

Expresiones regulares, gramáticas regulares Unidad 3

INAOE. Expresiones Regulares. Operadores y Operandos. Equivalencia de Lenguajes de FA y Lenguajes RE. Leyes Algebraicas de las. Expresiones Regulares

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

Computabilidad y Lenguajes Formales: Teoría de la Computabilidad: Reducibilidad

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

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

1. Cadenas EJERCICIO 1

Departamento de Tecnologías de la Información. Tema 4. Máquinas de Turing. Ciencias de la Computación e Inteligencia Artificial

PRACTICA 10: Máquinas de Turing

Ciencias de la Computación I

16 Análisis sintáctico I

Tema: Autómata de Pila

Computabilidad y Lenguajes Formales: Autómatas de Pila

Máquinas de Turing. Complexity D.Moshkovitz

Sintaxis y Semántica. Tema 3. Sintaxis y Semántica. Expresiones y Lenguajes Regulares. Dr. Luis A. Pineda ISBN:

Transcripción:

Tema 5 utómatas Finitos Una máquina para interpretar ER L = {, } * {} Cadenas que terminan en sobre = {, } Dr. Luis. Pineda ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Una máquina para interpretar ER L = {, } * {} Cadenas que terminan en sobre = {, } Una máquina para identificar cadenas en el lenguaje: utómata de Estados Finitos (F) Tabla de estados? Estado actual Control de Estados Finitos Tabla de estados Estado actual? Scanner Cadena de entrada Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 utómata de Estados Finitos (F) Tabla de estados SI! Estado actual Cuántos estados se necesitan? sumimos: Sólo una pasada sobre la cinta (de izquierda a derecha) Una decisión tentativa después de leer cada símbolo (i.e. si la cadena pertenece al lenguaje) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7

Cuántos estados se necesitan? Cuánto se necesita recordar para que la decisión después de leer el último símbolo de la cadena sea la correcta? Recordar todo? No recordar nada? Si la máquina corresponde a Φ decidir siempre NO! Si el lenguaje es * decidir siempre SI! Cuántos estados se necesitan? ué tal si tenemos que decidir? ué tal si el lenguaje contiene información? ué tal si hay cadenas x que pertenecen al lenguaje y cadenas y que no pertenecen? Tenemos que recordar algo! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo : Cadenas que terminan en L = {, } * {} L La decisión si la cadena está en L depende sólo del último símbolo Partimos a L * en dos conjuntos: Las cadenas que terminan en Las cadenas que terminan en Para nuestro propósito todas las cadenas en cada uno de estos conjuntos son equivalentes: son iguales en la única dimensión de interés En cada estado sólo es necesario tomar en cuenta el último símbolo leído Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Una máquina para tomar la decisión: F L = {, } * {} Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Estado inicial Estado aceptor donde se llega con la cadena Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 2

Transiciones La máquina de Estados Finitos Si la máquina está en un estado dado y hay un arco etiquetado con un símbolo que corresponde al símbolo que se lee en dicho estado, la máquina se mueve al estado que está al final del arco Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Hay dos estados: Uno por cada cosa que se recuerda El primero se acuerda de las cadenas terminadas El segundo en las que terminan en, y es aceptor! Hay un estado por cada clase de cadenas equivalentes! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 2: Cadenas que terminan en X L es {, } * y el penúltimo símbolo es L Cuántas clases de cadenas hay? Hipótesis : hay dos clases Cadenas que terminan en y en Pertenecen al lenguaje Cadenas que terminan en y en NO pertenecen Ejemplo 2: Cadenas que terminan en X ué pasa cuando se lee el siguiente símbolo? se convierte en o se convierte en o se convierte en o se convierte en o No pertenence a la misma clase No pertenence a la misma clase Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 2: Cadenas que terminan en X Se necesitan cuatro clases de cadenas de longitud 2: Cadenas que terminan en Cadenas que terminan en Cadenas que terminan en Cadenas que terminan en Ejemplo 2: Cadenas que terminan en X Hay que considerar también las cadenas de longitud menor a 2: & pertenecen a la clase de, ya que se requieren dos siguientes símbolos para que la cadena completa esté en el lenguaje! está en la misma clase que : como subcadenas ninguna está en el lenguaje, pero una vez que se lea el siguiente símbolo, la subcadena estará en el lenguaje (a menos que ya no haya más símbolos que leer) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 3

Ejemplo 2: Cadenas que terminan en X F para aceptar cadenas terminadas en X En conclusión, este lenguaje tiene cuatro clases: Clase a: La cadena es o o terminada en Clase b: La cadena es o termina en Clase c: Cadenas terminadas en Class d: Cadenas terminadas en a b c Para clasificar cadenas en el lenguaje necesitamos un F con cuatro estados: uno por cada una de estas clases d Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 2: Cadenas que terminan en X Clase a: La cadena es o o terminada en Clase b: La cadena es o termina en Clase c: Cadenas terminadas en Class d: Cadenas terminadas en a b c d Ejemplo 3: Cadenas que terminan en L = {, } * {} Primera hipótesis: Cuatro clases (cadenas de lengitud 2) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 3: Cadenas que terminan en L = {, } * {} Sin embargo no necesitamos distinguir &! se convierte en o se convierte en o En ambos casos los últimos dos símbolos son iguales Ejemplo 3: Cadenas que terminan en Nos quedan tres clases:, Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 4

Ejemplo 3: Cadenas que terminan en También, la cadena equivale a : se convierte en o se convierte en or No importa que siga, ambas van a la misma clase! Ejemplo 3: Cadenas que terminan en Nos quedan tres clases:,, También & son equivalentes a todas las cadenas que terminan en : No importa que símbolos se sigan, los sufijos de longitud dos o menos resultantes serán iguales! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Ejemplo 3: Cadenas que terminan en Y sólo nos quedaron tres clases!,, &, Refraseando: Clase a: La cadena no termina en Clase b: La cadena es o termina en Clase c: La cadena termina en F para cadenas que terminan en a b c Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 F para cadenas que terminan en Clase a: La cadena no termina en Clase b: La cadena es o termina en Clase c: La cadena termina en a b c Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Definición formal de F Un utómata de Estados Finitos, o Máquina de Estados Finitos (F) es un quinteto (,, q,, δ), donde: es un conjunto finito (de estados) es un alfabeto (finito) de símbolos de entrada q (El estado inicial) (El conjunto de estados aceptores) δ es una función de x a (la función de transición) Para cada q de & a, δ(q, a) = p, donde p es el estado al que el F se mueve si está en el estado q cuando lee (escanéa) el símbolo a Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 5

Función de transición z p j p l Tres notaciones para F Descripción abstracta (de estados) Diagrama de transiciones (de estados) a p i p k q q n Para todo q & a, δ(q, a) = p Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Descripción abstracta uinteto: M = (,, q,, δ) Ejemplo: M = ({a, b, c}, {, }, a, {c}, δ) Donde δ es como sigue: δ(a, ) = a δ(b, ) = a δ(c, ) = a δ(a, ) = b δ(b, ) = c δ(c, ) = c Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Table de transiciones a a b b a c *c a c : Estado inicial * : Miembro del conjunto de estados aceptores Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Diagrama de Transiciones a b c : Estado inicial : Miembro del conjunto de estados aceptores Ejemplo 4: Cadenas terminadas con L = {, } * {} El peor de los casos: siete clases con cadenas de longitud l 2 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 6

F para reconocerl= {, } * {} δ(ab,c) = bc Estado aceptor Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 simple vista, hay tres clases equivalentes! Hay tres estados equivalentes! La cadena y las cadenas que terminan en y están en la misma clase! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Renombrando los estados, & como ctualizando en las entradas de la tabla el nuevo nombre de los estados, & Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 7

Eliminando las columnas redundantes hora, los estados, & tienen las mismas transiciones! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 & están en la misma clase Pero es un estado aceptor, por lo que está en una clase aparte! Renombrando & como Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Eliminando la columna redundante hora, las columnas para & son iguales! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 8

Elimando la columna redundante (renombrando como ) Obtenemos el F mínimo para reconocer el lenguajel = {, } * {} Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 La función de transición δ: El F: el conjunto de clases equivalentes! Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Mucho mejor que: El meollo del asunto! Hay lenguajes que pueden ser aceptados por máquinas de estados finitos En una sola pasada! Una cadena se acepta si y sólo si: Se leen todos los símbolos en la cinta de entrada Se termina en un estado aceptor Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 El meollo del asunto! Todo estado corresponde a una clase de cadenas, que son equivalentes en relación al lenguaje Hay clases que se pueden recordar en más de un estado! El F mínimo tiene un estado por cada clase de cadenas equivalentes! Esta es una propiedad MUY IMPORTNTE de los lenguajes aceptados por los utómatas de Estados Finitos (F) Dr. Luis. Pineda, IIMS, UNM, 25. ISN: 97-32-2972-7 9