Tipos de reglas gramaticales (CHOMSKY) Otros tipos de reglas gramaticales no contractivas α β abc ACb

Documentos relacionados
Temas finales de Teoría de Autómatas y Lenguajes Formales II Curso

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

Lenguajes y Compiladores Aspectos Formales (Parte 2) Compiladores

MÁQUINAS DE TURING CIENCIAS DE LA COMPUTACION I 2009

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

13.3. MT para reconocer lenguajes

Ciencias de la Computación I

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

Tema: Autómata de Pila

Máquinas de Turing, recordatorio y problemas

Procesadores de Lenguaje

La máquina de Turing

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

Tema 6: Máquina de Turing

Departamento de Tecnologías de la Información. Tema 5. Decidibilidad. Ciencias de la Computación e Inteligencia Artificial

si w=ay por tanto a Σ e y Σ*

GUIA EXAMEN FINAL/EXTRAORDINARIO

7. Máquinas de Turing.

5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos.

ÁRBOLES DE SINTAXIS. Los nodos no terminales (nodos interiores) están rotulados por los símbolos no terminales.

Introducción. Las gramáticas definen las reglas que definen a los lenguajes Las reglas pueden tener una diversa variedad de esquemas

Autómatas Finitos Deterministicos (DFA)

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

Autómatas Finitos Deterministicos (DFA)

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

Conceptos básicos sobre gramáticas

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

Universidad de Valladolid

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

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

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

Unidad 4. Autómatas de Pila

Introducción TEORÍA DE LA COMPUTACIÓN INTRODUCCIÓN. Lógica

Clases 18 y 19:Máquina de Turing. M. en C. Edgardo Adrián Franco Martínez

Lenguajes Incontextuales

Unidad 4. Autómatas de Pila

MÁQUINAS DE TURING Y LENGUAJES ESTRUCTURADOS POR FRASES

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

Autómatas de Pila y Lenguajes Incontextuales

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

1. Cadenas EJERCICIO 1

Controla el flujo de tokens reconocidos por parte del analizador léxico. 4.2 Introduccion a las gramaticas libres de contexto y arboles de derivacion

Introducción a la indecidibilidad

TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY

Ciencias de la Computación I

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

TEORÍA DE AUTÓMATAS I Informática de Sistemas. Soluciones a las cuestiones de examen del curso 2009/2010

Computabilidad y lenguajes formales: Sesión 19. Gramáticas Incontextuales (Context Free Grammars)

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

Tema 4: Gramáticas independientes del contexto. Teoría de autómatas y lenguajes formales I

Análisis léxico. Formalización y desarrollo. Procesadores de Lenguajes. Ingeniería Técnica superior de Ingeniería Informática

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

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

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

Clase 17: Autómatas de pila

Gramáticas tipo 0 o Estructura de frase En este tipo de gramáticas no hay restricción en su producciones y tienen la forma siguiente.

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

NOTAS PARA LA MATERIA LENGUAJES DE PROGRAMACIÓN

TRADUCTORES E INTERPRETADORES

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

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

Expresiones Regulares

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

Traductores Push Down

Introducción a la lingüística computacional

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

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

Sentido de recorrido. q i

Tarea Nº 2 Introducción a la Informática Lema del Bombeo y Lenguajes de Contexto Libre

Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN

DEFINICIONES BÁSICAS E INTRODUCCIÓN A LENGUAJES FORMALES

Lenguajes Formales. 27 de octubre de 2005

No todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:

Apuntes de compiladores

Las Gramáticas Formales

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

Analizadores sintácticos LR(0) y SLR

Introducción a la Lógica y la Computación

7. ( ) Describe una máquina de Turing que acepte el siguiente lenguaje: L = {a n b n n>0}. L = {a n b n c n n>0}. L = {xcx x {a, b} + }.

Expresiones regulares, gramáticas regulares

Introducción a la Lógica y la Computación

ESPECIFICACIÓN DE SÍMBOLOS

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

Máquinas de Turing. 18 de junio de 2015

Lenguajes y Gramáticas

Alfabetos, cadenas y lenguajes

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

Módulo. = Asignación = = Comp. de igualdad!= Com. de desigualdad <= Comp. menor o igual >= Comp. mayor o igual AND lógico OR lógica.

Hacia las Gramáticas Propias II

Tema 1: Introducción. 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

Expresiones regulares y derivadas

Computabilidad y Lenguajes Formales: Autómatas de Pila

Analizador Sintáctico Ascendente

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

La Forma Normal de Chomsky

Departamento de Tecnologías de la Información. Tema 3. Autómatas finitos y autómatas de pila. Ciencias de la Computación e Inteligencia Artificial

Programa de la asignatura Curso: 2008 / 2009 AUTÓMATAS Y LENGUAJES FORMALES (1314)

TEORÍA DE AUTÓMATAS Y LENGUAJES

L = {a n b n n>0}. L = {a n b n c n n>0}. L = {xcx x {a, b} + }.

Transcripción:

Tipos de reglas gramaticales (CHOMSKY) Slide 1 0 - no restringidas α β α ε abc ba 0 αaα β aabc bbc - con estructura αaα αβα aaac aac de frase A ε 1 - dependientes αaα αβα AAC baac de contexto β ε aaac aaaac 2 - A β β ε A baba ; A B 3 i - A β A Aa β Σ A Σ T Σ T A a 3 d - A β A ab β Σ T Σ A Σ T A a Tipo 3 Tipo 2 Tipo 1 Tipo e.f. Tipo 0 Tipo 0 Slide 2 Otros tipos de reglas gramaticales no contractivas α β abc ACb α β independientes A β A aab de contexto A ε regulares A β A Ba por la izquierda β Σ A Σ T Σ T {ε} A ε regulares A β A aa por la derecha β Σ T Σ A Σ T {ε} A a Tipo 1 no contractiva Tipo 2 independiente de contexto Tipo 3 regular Gramática de tipo t: todas sus reglas son de tipo t 1

Tipos de lenguajes L es de tipo t si existe una gramática de tipo t que genera L {ε} Si L es de tipo t, entonces L {ε} y L {ε} son de tipo t Slide 3 L de tipo 3 L regular L de tipo 2 L independiente de contexto Si G es no contractiva, existe una gramática de tipo 1 equivalente. L de tipo 1 L {ε} generable por una gramática no contractiva Si G es de tipo 0, existe una gramática equivalente con e. de frase. L de tipo 0 L generable por una gramática con e. de frase Si G es no contractiva, existe una gramática de tipo 1 equivalente: r : X 1 X 2 X 3... X p 1 X p Y 1 Y 2 Y 3...... Y q p q r 1 : X 1 X 2 X 3... X p 1 X p Z r X 2 X 3... X p 1 X p r 22 : Z r X 2 X 3... X p 1 X p Z r Y 2 X 3... X p 1 X p Slide 4 r 23 : Z r Y 2 X 3... X p 1 X p Z r Y 2 Y 3... X p 1 X p........................ r 2p 1 : Z r Y 2 Y 3... X p 1 X p Z r Y 2 Y 3... Y p 1 X p r 2p : Z r Y 2 Y 3... Y p 1 X p Z r Y 2 Y 3... Y p 1 Y p... Y q r 3 : Z r Y 2 Y 3............ Y q Y 1 Y 2 Y 3............ Y q Si X i es terminal, en todas las reglas se cambia X i por X i y se añade r 4i : X i X i 2

Slide 5 S abms abm baab S a M b abm ZbM ZbM ZaM ZaM Zaab Zaab baab S ABMS ABM ZBM S A M B A a ZBM ZAM B b ZAM ZAAB ZAAB BAAB M = (Σ E, Q, Γ, q 1, h, f, F ) donde Máquinas de Turing Slide 6 Σ E : alfabeto de entrada Γ : alfabeto de la cinta Q : conjunto de estados, f inito q 1 Q : estado inicial h Γ Σ E : símbolo blanco f : Q Γ Q Γ {, } función parcial de transición F Q : estados finales o de aceptación No determinista: f : Q Γ P(Q Γ {, }) 3

configuración: (q, α 1 Aα 2 ) (Q, Γ ΓΓ ), que especifica el estado, el contenido significativo a de la cinta, y el símbolo sobre el que se encuentra la cabeza configuración compacta : cadena de Γ QΓ : α 1 qaα 2 configuración inicial: (q 1, Ax) compacta: q 1 Ax Slide 7 movimiento: Si f(q, A) = (q, B, ): (q, α 1 IADα 2 ) (q, α 1 IBDα 2 ) α 1 IqADα 2 α 1 IBq Dα 2 Si f(q, A) = (q, B, ): (q, α 1 IADα 2 ) (q, α 1 IBDα 2 ) α 1 IqADα 2 α 1 q IBDα 2 Si f(q, A) no está definida, la M.T. no se mueve (se para) a no blancos, más el blanco sobre el que se encuentre la cabeza si es el caso Posibilidades de computación para una M.T., M: Slide 8 Partiendo de (q 1, x) x Σ E M no se para ((q 1, x) ) M se para en la configuración (q, β): Ha transformado x en β : f M : Σ E Γ, (función parcial) q F : acepta la cadena x q F : no acepta la cadena x El conjunto de cadenas de Γ que deja en la cinta como consecuencia de todas las computaciones en las que se para constituye un lenguaje sobre Γ : genera un lenguaje. 4

Slide 9 MT 1 h p q p r h Γ = {,, h} Σ = { } f : q q q p q 1 = p F = {s} r r s h (s) (p, ) (q, ) (q, h ) (p, ) (q, ) (q, h ) (p, ) (p, ) (p, ) (p, ) (p, h ) (r, ) (r, ) (r, ) (r, ) (r, h ) (s, ) Slide 10 Partiendo de (q 1, x) x { } M se para (siempre) en la configuración (s, 2 x ): Ha transformado n en 2n : f M : IN IN, función total que es la multiplicación por 2 (en unario) Como s F : acepta la cadena x (acepta todo ) El conjunto de cadenas de que deja en la cinta como consecuencia de todas las computaciones en las que se para constituye el lenguaje ( ) : genera ( ). 5

Slide 11 Γ = {,, h} Σ = { } q 1 = p F = {s} f : MT 11 h p 0 q 0 q 0 p h p q p r h q q q p r r s h [s ] s p h (p 0, h) (q 0, h ) (p, ) (s, ) (s, h ) (p, ) (s, ) (s, h ) (p, ) (s, ) (s, h ) (p, )... Slide 12 Partiendo de (p 0, x) x si x = ε, M no se para si x ε, M se para en p 0 si M se para (con x ε), lo hace en la configuración (p 0, x): Ha transformado x en x : f M : Σ E Γ, (función identidad, parcial, porque sólo se evalúa para cadenas no vacías) p 0 F : no acepta ninguna cadena Partiendo de (p 0, h) la máquina no se para, pero cada vez que pasa por el estado s, en la cinta hay una cadena de { 2n / n 0} 6

Slide 13 0 1 h q 1 q 2 1 q 3 0 q 2 q 2 0 q 2 1 q 1 h q 3 q 2 1 q 3 0 q 2 1 (q 1, 0) (q 2, 1 h) (q 1, 1) (q 3, h0) (q 2, 10) (q 2, 10 h) (q 1, 10) (q 2, 11 h) (q 1, 11) (q 3, 10) (q 3, h00) (q 2, 100) (q 2, 100) (q 2, 100 h) (q 1, 100)... LR(M) := {x Σ E / (q 1, x) (q, α) q F } L es recursivo si es LR(M) para alguna M.T. que se pare ante cualquier entrada. Slide 14 LG(M) := {α Γ / (q 1, h) (q, α) q F } L es recursivamente numerable si es LG(M) para alguna M.T. f M : Σ E Γ : f M (x) := α / (q 1, x) (q, α) f es computable si es f M para alguna M.T. 7

Slide 15 Construcción de M.T. Composición Subrutinas Almacenamiento de información en los estados Cinta con varias pistas Extensiones de M.T. M.T. multicinta Cinta multidimensional M.T. no determinista Movimiento nulo ( ) Restricciones de M.T. M.T. con cinta semiinfinita Alfabeto binario. Alfabeto unario L es recursivo si existe un programa Pascal que siempre termina (y caracteriza L) de la forma Slide 16 program ReconoceL (input, output); var x : string: Begin readln (x); sus cálculos, para determinar si x está o no en L if (ha obtenido x está en L) then writeln ( Si! ) else writeln ( No ) End. o lo que es equivalente: existe una función Pascal de la forma function enl (x:string):boolean (* enl(x) = T RUE x L *) 8

L es recursivamente numerable si existe un programa en Pascal Slide 17 program general (output); var x : string ; begin algunas operaciones (conseguir la primera x) while (1=1) do begin writeln (x) algunas operaciones (conseguir la siguiente x) end end. o lo que es equivalente: existen x 1 L y procedure siguienteenl (var x : string) (* Pre : x L Post: x L *) tales que {siguienteenl n (x 1 ) / n 0} = L f es computable total si existe una función en Pascal: Slide 18 function f (x : string): string; (* Pre: x Σ E Post: f = f(x) *) f es parcialmente computable si existe una función en Pascal: function f (x : string): string; (* Pre: x U Σ E Post: f = f(x) *) 9