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.

Documentos relacionados
Autómatas de Pila. Descripciones instantáneas o IDs. El Lenguaje de PDA. Equivalencia entre PDAs y CFGs INAOE (INAOE) 1 / 50

El Autómata con Pila

Procesadores de Lenguaje

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

Unidad 4. 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.

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

Autómatas de Pila y Lenguajes Incontextuales

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Computabilidad y Lenguajes Formales: Autómatas de Pila

Teoría de Lenguajes. Clase Teórica 7 Autómatas de Pila y Lenguajes Independientes del Contexto Primer cuartimestre 2014

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

Procesadores de Lenguaje

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

Clase 17: Autómatas de pila

Tema: Autómata de Pila

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

Equivalencia Entre PDA y CFL

El Autómata con Pila: Transiciones

Expresiones Regulares y Derivadas Formales

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

GRAMATICAS LIBRES DEL CONTEXTO

Sentido de recorrido. q i

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

Autómatas Finitos Deterministicos (DFA)

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

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

Compiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.

El análisis descendente LL(1) 6, 7 y 13 de abril de 2011

Computabilidad y Lenguajes Formales: Autómatas Finitos

Teoría de Lenguajes. Clase Teórica 8 Propiedades de Lenguajes Independientes de Contexto y su Lema de Pumping Primer cuartimestre 2014

INAOE. Gramáticas Libres de Contexto. Definición formal de CFGs. Derivaciones usando. Derivaciones. izquierda y. derecha.

6. Autómatas a Pila. Grado Ingeniería InformáDca Teoría de Autómatas y Lenguajes Formales

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

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

Texto: Hopcroft, J. E., Motwani, R., Ullman, J.D., Introduction to Automata Theory, Languajes, and Computation. 3rd Edition. Addison Wesley, 2007.

Autómatas Deterministas. Ivan Olmos Pineda

Las Etapas de la Compilación

Pregunta 1 [40 puntos] Diga si las siguientes afirmaciones son verdaderas o falsas, demostrando su respuesta.

Convertir un AFND a un AFD

Paso 1: Autómata. A 1 sin estados inútiles, que reconoce el lenguaje denotado por a a* b*

Procesadores de Lenguaje

Teoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales

13.3. MT para reconocer lenguajes

ESCUELA: UNIVERSIDAD DEL ISTMO

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

Ejercicios de Lógica Proposicional *

Expresiones regulares, gramáticas regulares

LEX. Las definiciones y subrutinas son opcionales. El segundo %% es opcional pero el primer %% indica el comienzo de las reglas.

PROCESADORES DE LENGUAJE EXAMEN FINAL 8-JUNIO-07

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE INGENIERIA DE SISTEMAS

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

Tema 5 Lenguajes independientes del contexto. Sintaxis

Lenguajes y Gramáticas

Compiladores: Parsing ascendente

Métodos directos para resolver sistemas de ecuaciones lineales

3.3 Autómatas de Pila (AP) [LP81, sec 3.3]

7.4. UTILIDADES DE LAS PILAS

2do. Parcial. Todos los ejercicios se entregarán en hojas separadas. El examen tipo test cuenta hasta 2 puntos sobre la nota total.

Gramáticas independientes del contexto. Tema 3: Lenguajes independientes del contexto. Derivaciones. Árbol de derivación

Traductores Push Down para Gramáticas LL

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

DEPARTAMENTO: Ingeniería e Investigaciones Tecnológicas

Es claro que es una relación de equivalencia. Para ver que tener la misma cardinalidad y la cardinalidad están bien definidas queremos ver que

Teoría de Lenguajes. Gramáticas incontextuales

Lenguajes No Regulares

Tema 1.3. Un lenguaje mínimo y su procesador: Restricciones contextuales

Autómatas con dos pilas

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo


Construcción de tablas de análisis sintáctico LL(1)

8.1 Indecibilidad 8.5 Indecibilidad en el problema de la correspondencia de Post

Modelos Computacionales

Profesor(a): M. A. Zeferino Galarza Hernández

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

Aprendizaje y extensiones mixtas

Introducción a los códigos compresores

Tema 5: Elementos de geometría diferencial

Ordenando Electrones. De qué forma? 2do Medio > Química Configuración Electrónica. Analiza la siguiente situación:

Una cadena sobre Σ es cualquier secuencia de elementos de longitud finita sobre Σ.

DESARROLLO DE UN ENTORNO DE SIMULACIÓN PARA AUTÓMATAS DETERMINISTAS

Complejidad computacional (Análisis de Algoritmos)

Problemas indecidibles

Teorías decidibles. Definición. Ejercicio

Guía número 1. Métodos numéricos. Universidad de san buenaventura de Cali

4. NÚMEROS PSEUDOALEATORIOS.

Eliminación de cuantificadores

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

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

LENGUAJES FORMALES Y AUTÓMATAS

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL FACULTAD DE CIENCIAS NATURALES Y MATEMÁTICAS DEPARTAMENTO DE MATEMÁTICAS CURSO DE NIVELACIÓN S

Introducción a Autómatas Finitos

1. Computadores y programación

Manual para el Dibujo de Flujograma mediante Microsoft Visio TECNOLOGÍAS DE LA ADMINISTRACIÓN PÚBLICA MATERIAL DE CÁTEDRA

Lenguajes, Gramáticas y Autómatas Conceptos

Subtemas: -Congruencia De Triángulos. -Tipos De Ángulos. -Tipos De Triángulos

A l g o r i t m o s. Seguridad en Internet ALGORITMOS.

Aplicaciones de problemas de Máximos y Mínimos.

06 Análisis léxico II

Teoría de Lenguajes. Teoría de la Programación I

Transcripción:

Tres versiones de Pal Sesión 19 Autómata de pila determinístico Pal marca = {xcx r x {0, 1} * } 0110c0110 Pal par = {xx r x {0, 1} * } 00111100 Pal = {x x = x r {0, 1} * } 00111100 001101100 Una máquina para aceptar Pal El lenguaje: Pal = {x x = x r {1, 0} * } Definir M pal : M = ({q 0, q 1, q 2 }, {0, 1}, {0, 1, Z 0 }, q 0, Z 0, {q 2 }, δ) Dos tipos de no-determinismo: Hay más de una movida para un estado, símbolo de entrada y top del stack Hay estados en los que la máquina tienen que elegir entre consumir un símbolo o hacer una transición- Tabla de transición para Pal, (q 1, Z 0 ), (q 1, Z 0 ), (q 1, 0), (q 1, 0), (q 1, 1), (q 1, 1) 7 q 0 Z 0 (q 1, Z 0 ) 8 q 0 0 (q 1, 0) 9 q 0 1 (q 1, 1) 11 q 1 1 1 (q 1, ) Más de un siguiente estado, (q 1, Z 0 ), (q 1, Z 0 ), (q 1, 0), (q 1, 0), (q 1, 1), (q 1, 1) 7 q 0 Z 0 (q 1, Z 0 ) 8 q 0 0 (q 1, 0) 9 q 0 1 (q 1, 1) 11 q 1 1 1 (q 1, ) Transición-, (q 1, Z 0 ), (q 1, Z 0 ), (q 1, 0), (q 1, 0), (q 1, 1), (q 1, 1) 7 q 0 Z 0 (q 1, Z 0 ) 8 q 0 0 (q 1, 0) 9 q 0 1 (q 1, 1) 11 q 1 1 1 (q 1, )

todavía en la primera mitad (q 0, 101, Z 0 ) (q 0, 01, 1Z 0 ) (q 0, 1, 01Z 0 ) Aceptar 101 adivina mitad de pal. par (q 1, 101, Z 0 ) (q 1, 01, 1Z 0 ) adivina mitad de pal. non (q 1, 01, Z 0 ) (q 2, 101, Z 0 ) (q 2, 01, Z 0 ) (q 1, 1, 1Z 0 ) (q 1,, Z 0 ) Una máquina para acepta Pal par El lenguaje: Pal par = {xx r x {0, 1} * } Definir M pal-par : M pal-par = ({q 0, q 1, q 2 }, {0, 1}, {0, 1, Z 0 }, q 0, Z 0, {q 2 }, δ) Sólo un tipo de no-determinismo: Hay estados en los que la máquina tienen que elegir entre consumir un símbolo o hacer una transición- (q 0,, 101Z 0 ) (q 1, 1, 01Z 0 ) (q 1,, 01Z 0 ) (q 2,, Z 0 ) Tabla de transición para M pal-par 7 q 0 Z 0 (q 1, Z 0 ) 8 q 0 0 (q 1, 0) 9 q 0 1 (q 1, 1) 11 q 1 1 1 (q 1, ) Diagrama de transición de M pal-par 0, Z 0 / 0Z 0 1, Z 0 / 1Z 0 0, 0 / 00 0, 1 / 01 1, 0 / 10 1, 1 / 11 push 0, 0 / 1, 1 / pop, Z 0 / Z 0, 0 / 0, Z, 1 / 1 0 / Z 0 q 0 q 1 q 2 Una etiqueta (en un arco) de forma a, X/α de p a q significa que con la entrada a, el símbolo X en el Top (del stack) se substituye por α: δ(p, a, X) = (q, α) Elección de transición- 7 q 0 Z 0 (q 1, Z 0 ) 8 q 0 0 (q 1, 0) 9 q 0 1 (q 1, 1) 11 q 1 1 1 (q 1, ) Elección de transición- 7 q 0 Z 0 (q 1, Z 0 ) 8 q 0 0 (q 1, 0) 9 q 0 1 (q 1, 1) 11 q 1 1 1 (q 1, )

Elección de transición- 7 q 0 Z 0 (q 1, Z 0 ) 8 q 0 0 (q 1, 0) 9 q 0 1 (q 1, 1) 11 q 1 1 1 (q 1, ) (q 0, 11, Z 0 ) (q 0, 1, 1Z 0 ) (q 0,, 11Z 0 ) (q 1,, 11Z 0 ) Acceptar 11 Adivinar mitad de palíndroma par (q 1, 11, Z 0 ) (q 2, 11, Z 0 ) (q 1, 1, 1Z 0 ) (q 1,, Z 0 ) (q 2,, Z 0 ) Una máquina para aceptar M pal-marca El lenguaje: Pal marca = {xcx r x {0, 1} * } Definir M pal-marca : M pal-mark = ({q 0, q 1, q 2 }, {0, 1, c}, {0, 1, Z 0 }, q 0, Z 0, {q 2 }, δ) No hay no-determinismo! Función de transición para M pal-marca 7 q 0 c Z 0 (q 1, Z 0 ) 8 q 0 c 0 (q 1, 0) 9 q 0 c 1 (q 1, 1) 11 q 1 1 1 (q 1, ) Diagrama de flujo de M pal-marca 0, Z 0 / 0 Z 0 1, Z 0 / 1 Z 0 0, 0 / 00 0, 1 / 01 1, 0 / 10 1, 1/ 11 push 0, 0 / 1, 1 / pop c, Z 0 / Z 0 c, 0 / 0, Z c, 1 / 1 0 / Z 0 q 0 q 1 q 2 Aceptar 1c1 (q 0, 1c1, Z 0 ) (q 0, c1, 1Z 0 ) (q 1, 1, 1Z 0 ) (q 1,, Z 0 ) (q 2,, Z 0 )

Definición de AP-Determinístico Sea M = (Q, Σ, Γ, q 0, Z 0, A, δ) un AP. M es determinístico si y sólo si no existen configuraciones en las que se pueda escoger más de una movida. Para esto M tiene que satisfacer dos condiciones: 1. Para todo q Q, a Σ & Χ Γ, el valor de δ(q, a, Χ) tiene cuando más un elemento 2. Para todo q Q & Χ Γ, Si δ(q,, Χ) Φ, entonces δ(q, a, Χ) = Φ para todo a Σ Definición de AP-Determinístico Un lenguaje L es un lenguaje libre de contexto determinístico (LLC-D) si existe un AP-Determinístico (AP-D) que acepta a L Definición de AP-Determinístico Sea M = (Q, Σ, Γ, q 0, Z 0, A, δ) un AP-D. M es determinístico si y sólo si: Una movida como máximo en cada configuración No elección entre consumir un símbolo o hacer una transition- Clases de no-determinismo En el lenguaje? L pal = {x x = x r {0, 1} * } Pal par = {xx r x {0, 1} * } Pal marca = {xcx r x {0, 1} * } Depende de la forma del lenguaje en sí o del formalismo para expresar al lenguaje? Clases de no-determinismo En la gramática? G pal = ({P}, {0, 1}, P, P 0P0 1P1 0 1 } G pal-par = ({P}, {0, 1}, P, P 0P0 1P1 } G pal-marca = ({P}, {0, 1}, P, P 0P0 1P1 c} Dos decisiones: Qué variable re-escribir Qué producción utilizar Clases de no-determinismo G pal-marca G pal-marca = ({P}, {0, 1}, P, P 0P0 1P1 c} Una sóla varible Dos producciones, pero sólo una es relevante para generar o reconocer una cadena dada (i.e. en un proceso de parseo, la producción usada en la derivación corresponde con un símbolo terminal en el lado derecho de la producción

Clases de no-determinismo Pero en G pal G pal = ({P}, {0, 1}, P, P 0P0 1P1 0 1 } Qué producción se utiliza para generar cierto símbolo en la derivación? 001100 P 0P0 o P 0? Eliminando el no-determinismo? Eliminar las productiones-: G pal = ({P}, {0, 1}, P, P 0P0 1P1 0 1 00 11} G pal-par = ({P}, {0, 1}, P, P 0P0 1P1 00 11} No es suficiente! 001100 P se utiliza, pero cuándo? Eliminando el no-determinismo? Para una variable en la cabeza de la producción se tienen todavía varios lados derechos que producen el mismo símbolo en la derivación: P 0P0 0 00 Al inspeccionar una cadena no podemos saber que producción se usó para generar un símbolo específico usando tan sólo información local (i.e. el estado, el símbolo de entrada y el símbolo en hasta arriba de la pila). Abstracción disyuntiva en las producciones! El AP para Pal marca es determinístico! Pal marca = {xcx r x {0, 1} * } G pal-mark = ({P}, {0, 1}, P, P 0P0 1P1 c} No hay producciones que introduzcan nodeterminismo: P 0P0 1P1 : Un push y un pop! P c : Llegando a la mitad Ninguna producción con la misma cabeza (variable del lado izquierdo) se reescribe con el mismo símbolo más izquierdo del lado derecho! AP-D & Lenguajes regulares Un AP-D puede simular un FA: Definir una AP que sólo use sus estados (i.e. NO utiliza a su stack!) Si A = (Q, Σ, q 0, A, δ A ) es un FA entonces A tiene un AP-D equivalente P = (Q, Σ, Γ, q 0, Z 0, A, δ P ) tal que δ P (q, a, Z 0 ) = {(p, Z 0 )} para todos los estado p & q en Q tales que: δ A (q, a) = p LLC-Determinísticos Pal marca es un LLC-D (tiene un AP-D correspondiente) Pal marca no es un LR: El lema del bombeo: Considerar w = 0 n c0 n : escoger uv como dos grupos de 0 s de la primera mitad, bombear el grupo v, y la cadena resultante no está en el lenguaje!

LLC-Determinísticos Por otro lado, Pal & Pal par son LLC para los que no existe in AP-D equivalente La jerarquía del determinismo: LLC incluye propiamente a LLC-Det LLC-Det incluye propiamente a LR La clase de los LLC Determinístics LLC-Det LR Pal mark LLC Son equivalentes la clase de los LLC-Det y la clase de los LLC no-ambiguos? Determinísmo & ambigüedad en LLCs L pal = {x x = x r {0, 1} * } G pal = ({P}, {0, 1}, P, R} R {0P0 1P1 0 1 00 11} El AP para G pal es no-determínistico! Pero G pal no es ambiguo: Las derivaciones más izquierdas son únicas! Determinísmo & ambigüedad en LLCs Hay muchas derivaciones pero sólo una estructura sintáctica: Podemos hacer varias elecciones en cada paso, pero todas las equivocadas van a morir eventualmente antes de llegar al estado aceptor o a vaciar el stack En cada paso de derivación (más izquierda o más derecha) podemos seleccionar más de una producción, pero sólo una derivación producirá la cadena final! Sólo hay una estructura sintáctica para cada cadena! Determinísmo & ambigüedad en LLCs LLC no-ambiguos LLC-Det RL Pal Pal marca LLC Son equivalentes la clase de los LLC-Det y la clase de los LLC no-ambiguos?: NO!