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

Documentos relacionados
Introducción a la indecidibilidad

13.3. MT para reconocer lenguajes

Procesadores de Lenguaje

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

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

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

Examen de Computabilidad y Complejidad (CMC) 21 de enero de 2011

Problemas indecidibles

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

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

autómatas finitos y lenguajes regulares LENGUAJES FORMALES Y

Autómatas Deterministas. Ivan Olmos Pineda

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

Procesadores de Lenguaje

Autómatas de Pila y Lenguajes Incontextuales

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

Curso Básico de Computación

Otras propiedades de los lenguajes regulares

Propiedades de lenguajes independientes del contexto

Equivalencia Entre PDA y CFL

Autómatas Finitos Deterministicos (DFA)

Autómatas Finitos Deterministicos (DFA)

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

Tipos de datos en S. Lógica y Computabilidad. Codificación de variables y etiquetas de S. Codificación de programas en S

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

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

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

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

Algebra lineal y conjuntos convexos

El Autómata con Pila

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

Teoría de la Computación puesta en Práctica

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

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

Introducción al Procesamiento de Lenguaje Natural

Modelos Computacionales

Tema 2: Determinantes

Paréntesis: Una aplicación en lenguajes formales

Universidad Nacional del Santa Facultad de Ingeniería E.A.P. de Ingeniería de Sistemas e Informática TEORIA DE COMPILADORES ANALISIS SINTACTICO

El Autómata con Pila: Transiciones

Lenguajes Formales y Monoides

Máquinas de Estados Finitos

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

1. Programas y funciones computables

300CIG007 Computabilidad y Lenguajes Formales: Autómatas Finitos

Clase 17: Autómatas de pila

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

Se dice que una matriz cuadrada A es invertible, si existe una matriz B con la propiedad de que

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

Problemas de VC para EDVC elaborados por C. Mora, Tema 4

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

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

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

AUTÓMATAS DE PILA Y LENGUAJES INDEPENDIENTES DEL CONTEXTO

Clases de complejidad computacional: P y NP

Computabilidad y Lenguajes Formales: Autómatas Finitos

Introducción a los espacios vectoriales

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

1. Conjuntos y funciones

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Matrices. Operaciones con matrices.

LENGUAJES FORMALES Y AUTÓMATAS

Lenguajes (gramáticas y autómatas)

Apuntes de Teoría de Autómatas y Lenguajes Formales. Gloria Martínez

MMAF: Espacios normados y espacios de Banach

CONJUNTO R n. = (5, 2, 10) de 3, son linealmente. = (2,1,3) y v 3. = (0,1, 1) y u 3. = (2,0,3, 1), u 3. = (1,1, 0,m), v 2

Aprendizaje Computacional y Extracción de Información

Espacios Vectoriales. Matemáticas. Espacios Vectoriales CARACTERIZACION COMBINACIONES LINEALES REDUCCION DE GAUSS SISTEMA GENERADOR, BASES

6.1 Pruébese que la unión de un número finito de conjuntos acotados es un conjunto acotado.

Unidad 4. Autómatas de Pila

Lenguajes Formales. 27 de octubre de 2005

Teoría de Autómatas y Lenguajes Formales. Laura M. Castro Souto

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

Grupos libres. Presentaciones.

ALN. Repaso matrices. In. Co. Facultad de Ingeniería Universidad de la República

Departamento de Tecnologías de la Información. Tema 6. Funciones recursivas. Ciencias de la Computación e Inteligencia Artificial

Matemática computable

DETERMINANTES UNIDAD 3. Página 76

Métodos directos para resolver sistemas de ecuaciones lineales

Computabilidad y Lenguajes Formales: Autómatas de Pila

Espacios Vectoriales

SISTEMAS DE ECUACIONES LINEALES

IN Guía de Problemas Resueltos de Geometría de Programación Lineal v1.0

Espacios Vectoriales

Ecuaciones matriciales AX = B y XA = B. Cálculo de la matriz inversa

EJERCICIOS del TEMA 3: Lenguajes independientes del contexto

Tema 3: Espacios vectoriales

Propiedades de la integral

Expresiones regulares, gramáticas regulares

Una forma fácil de recordar esta suma (regla de Sarrus): Primero vamos a estudiar algunas propiedades de los determinantes.

Números naturales y recursividad

PROGRAMA INSTRUCCIONAL AUTOMATAS Y LENGUAJES FORMALES

Indecidibilidad Concepto de Problema. Índice General Introducción.

Procesadores de Lenguaje

Capítulo 4: Algoritmos usados por el Generador de Analizadores Sintácticos

RESOLUCIÓN DE SISTEMAS MEDIANTE DETERMINANTES

16 Análisis sintáctico I

Transcripción:

5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos. 5.1 Esquemas de representación de áquinas de Turing. 5.2 Propiedades de cierre. 5.3 Codificación de áquinas de Turing. 5.4 Un lenguaje no recursivamente enumerable: Lenguaje diagonal. 5.5 Un lenguaje rcursivamente enumerable no recursivo: Lenguaje Universal.

5.1 Esquemas de representación de áquinas de Turing. T. Aceptora que se detiene para todas las entradas: áquina de Turing Aceptora que puede no deternerse para alguna entrada: áquina de Turing Generadora áquina de Turing que utiliza a otra áquinas de Turing como subrutina: START

5.2 Propiedades de cierre 1. La clase de los Lenguajes Recursivamente Enumerables es cerrada bajo UNIÓN. L 1 L 0 1 : L( 1 ) = L 1 L 2 L 0 2 : L( 1 ) = L 2 1 2 2. La clase de los Lenguajes Recursivos es cerrada bajo la operación UNIÓN. L 1 1 : L( 1 ) = L 1 L 2 2 : L( 2 ) = L 2 L() = L 1 L 2 1 START 2 L() = L 1 L 2

3. La clase de los Lenguajes Recursivos es cerrada bajo la COPLEENTACIÓN L : L() = L L() = L 4. Un Lenguaje es Recursivo si y solo si él y su complementario son Recursivamente Enumerables. a) L L L 0 L 1 : L( 1 ) = L 1 L() = L( 1 ) = L L L 0 b) L L L 0

b) L, L L 0 L L L 0 1 : L( 1 ) = L L L 0 1 : L( 1 ) = L 1 1 L() = L( 1 ) = L y se detiene siempre L Ejercicio b) L 1, L 2 L 1 L 2 1 START 2

A partir de 4, dado cualquier par L, L siempre se dará una de las tres posibilidades L, L L 0 L, L L R L, L Una forma de demostrar que un lenguaje no es recursivamente enumerable es demostrar que su complementario es r.e. no recursivo.

5. La clase de los Lenguajes Recursivos es cerrada bajo INTERSECCIÓN. L 1 1 : L( 1 ) = L 1 L 2 2 : L( 2 ) = L 2 1 START 2 L() = L( 1 ) L( 2 ) = L 1 L 2 6. La clase de los Lenguajes Recursivamente Enumerables es cerrada bajo la INTERSECCIÓN. L 1 L 0 1 : L( 1 ) = L 1 L 2 L 0 2 : L( 2 ) = L 2 2 START 1 L() = L( 1 ) L( 2 ) = L 1 L 2

7. La clase de los Lenguajes Recursivos es cerrada bajo la CONCATENACIÓN. L 1 L 2 = 1 2, 1 L 1, 2 L 2 1 A 2 START 2 Σ * START 1 L 1 1 : L( 1 ) = L 1 L 2 2 : L( 2 ) = L 2 Funcionamiento de : El módulo A divide en dos mitades 1 y 2 comenzando por 1 = λ y 2 =. La primera mitad se pasa a 1, la segunda posiblemente a 2. Cada vez que se vuelve a activar A, 1 aumenta una unidad hasta 1 = Si ninguna partición devuelve, el módulo A activa.

5.3 Codificación de áquinas de Turing. Objetivo: Codificar una.t. con {0,1}. Sup L (0+1)* rec. enumerable con Γ = {0, 1, B} tal que L = L(). Sea = ({q 1, q 2,..., q n }, {0, 1}, {0, 1, B}, δ, q 1, B, {q 2 }) Codificación de un movimiento Sea δ(q i, X j ) = (q k, X l, D m ) con 1 i, k n 1 j, l 3 1 m 2 D 1 = L D 2 = R X 1 = 0 X 2 = 1 X 3 = B Se codifica de forma unívoca como 0 i 10 j 10 k 10 l 10 m Una.T. se codifica como 111código 1 11código 2 11...11código r 111 Una.T. puede tener varios códigos, pero la decodificación es única. A una codificación de una.t le llamamos <> El par (máquina, entrada w) lo denominamos <, w>

5.4 Un lenguaje no recursivamente enumerable: Lenguaje diagonal. Se emplea el mismo argumento que para demostrar que el conjunto de las funciones f : N {0,1} no es numerable. Si lo fuera, se tendría A = {f 1, f 2, f 3,...}. Construimos f: f (i) = f i (i) + 1(mod 2). Si f A se tendría f = f j y sin embargo f (j) f j (j). Supongamos una tabla infinita en la que: En la primera columna se colocan las palabras de (0 + 1)* en orden canónico. En la primera fila índices de.t. (i, j) = 1 si la palabra i es aceptada por la máquina que se codifica en binario como j. (i, j) = 0 si la palabra i no es aceptada por la máq. que se codifica en binario como j. números que en binario son códigos de.t. (no todos) palabras de (0 + 1)* en orden canónico 1 2 3 4 1 2 3 4 5 6...

Consideramos la diagonal de la tabla anterior y construimos L d = {w i : w i L( i )} - Si (i, i) = 0 w i L d - Si (i, i) = 1 w i L d L d no es recursivamente enumerable: -Supongamos que sí lo es : L() = L d. -En las columnas están todas las.t. j : j =. Entonces Si j L d = L( j ) (j, j) = 0 j L( j ) (contradicción) Si j L d = L( j ) (j, j) = 1 j L( j ) Luego no eiste.t. capaz de reconocer L d. Consecuencia L d es no recursivamente enumerable recursivamente enumerable no recursivo

Reducción de un problema a otro. Dados los problemas A y B, decimos que A se reduce a B (A α B) si, conocido un algoritmo que resuelve B, se puede resolver A. Si A α B entonces A es por lo menos tan duro como B Ejemplo AB. Instancia: G = (N, Σ, P, S) Cuestión: Es G ambigua? Respuesta: Si/No FIND. Instancia: G = (N, Σ, P, S) Cuestión: Encontrar w L(G): w posee más de un árbol de derivación. Respuesta: w /No AB α FIND

5.5 Un lenguaje reursivamente enumerable no recursivo: Lenguaje Universal. Veamos que L U = {<, w> : w L()} es: 1. Recursivamente enumerable. 2. No Recursivo. 1. Sea 1 la máquina con tres pistas: La 1ª es la cinta de entrada (contiene <, w> ). La 2ª simula la cinta de. inicialmente están en blanco La 3ª guarde el estado de. Operaciones que tiene que realizar: - Comprobar que la entrada es correcta. - Inicializar la 2ª cinta con w. - Inicializar la 3ª cinta con 0. (código de q 1 = estado inicial) Comportamiento de 1 - Si en la 3ª cinta aparece 00 (cód. de q 2 = estado final) 1 para y acepta <, w>. - Si en la 3ª cinta hay 0 i y en la segunda 0 j, se busca en la 1ª un fragmento 0 i 10 j 1... - Si no se encuentra ese fragmento, 1 para y rechaza <, w>. - Si se encuentra... w es aceptada por <, w> es aceptada por 1

2. Veamos que L U es no Recursivo. Sea L d = {w i : w i L( i )} Sabemos que L d es no recursivamente enumerable recursivamente enumerable no recursivo Veamos que L d se puede reducir a L U. (si reconocemos L U, tambien L d ) Supongamos que 1 : L( 1 ) = L U y 1 para ante todas las entradas < i, w i > L U w < i, w i > 1 S w i L( i ) w i L d conversión N w i L( i ) w i L d < i, w i > L U Luego si L U fuese recursivo también lo sería L d (contradicción)

L es un lenguaje de tipo 0 L es recursivamente enumerable Autómata de memoria acotada linealmente (ALL): -.T. no determinista con la entrada enmarcada entre dos símbolos ($ y # por ejemplo). - Los movimientos que hace la cabeza no pueden salirse de los límites. - Las marcas no pueden ser sustituidas. L es un lenguaje de tipo 1 L es aceptado por un ALL L. R. E. = Tipo 0 Tipo 1 L. R.