5. Propiedades de los Lenguajes Recursivamente

Slides:



Advertisements
Presentaciones similares
Introducción ¿Qué es un Algoritmo?
Advertisements

Ecuaciones lineales o de primer grado.
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Introducción al Teorema de Gödel Eduardo Alejandro Barrio UBA - CONICET 2do Cuatrimestre de 2009 Eduardo Alejandro Barrio UBA.
Diseño y análisis de algoritmos
CIRCUITOS COMBINACIONALES
Diseño de AFN’s.
Máquinas de Turing (MT)
Autómata Finito Un autómata finito (AF) es un modelo de computación muy restringido, sin embargo tiene una gran aplicación en reconocimiento de patrones.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Identidades y ecuaciones
FACTORIZACIÓN LU Bachilleres:
EC. DIFERENCIAL Def: Se llama ecuación diferencial a una relación que contiene una o varias derivadas de una función no especificada “y” con respecto.
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
Tema 3 Propiedades de los lenguajes independientes de contexto
Organización de Computadoras UNLA
Programas y Máquinas de Turing
2º curso Ingeniería Técnica en Informática de Sistemas UNED
¿Cómo hacer para que una máquina comprenda el LN?
Introducción a la máquina
La maquina de Turing La máquina de Turing es una caja negra (tan simple como una máquina de escribir y tan compleja como un ser humano) capaz no sólo de.
LAS MAQUINAS DE TURING.
INTEGRACIÓN.
Resolución de Problemas Algoritmos y Programación
METODO DE LOS COEFICIENTES INDETERMINADOS
1.- Definiciones. 2.- Fórmulas. 3.- Esquema. 4.- Ejercicios.
2º curso Ingeniería Técnica en Informática de Sistemas UNED
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
4. Máquinas de Turing 4.1. Modelo básico.
Relaciones de equivalencia
Taller matemático (Cálculo)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ANALISIS SINTACTICO DESCENDENTE
DETERMINANTES DE UNA MATRIZ
Unidad aritmético-lógica
Tratabilidad y NP-Completitud
Teoría de conjuntos Un conjunto es una colección o clase de objetos bien definidos y diferenciables entre sí. Los conjuntos pueden ser finitos o infinitos.
CLASIFICACION DE LAS MAQUINAS DE TURING
METODOLOGIA DE LA PROGRAMACION
Teoría de Autómatas II 3º curso Ingeniería Técnica en Informática de Sistemas UNED.
Representaciones de conjuntos y funciones Roberto Moriyón.
Inteligencia Artificial Resolver problemas mediante búsqueda
Codificación Distribuida
Sistemas Secuenciales
Teoria de grafos.-clase 4
Análisis sintáctico LR: SLR (LR simple)
Programación en Matlab
Ejemplo de aplicación de las ANN
Profesora : María Cecilia Palma Valenzuela Fecha: 15/08/2011
Sistemas de ecuaciones
Conversión entre las representaciones matriz binaria y árbol binario.
Material de apoyo Unidad 4 Estructura de datos
Propiedades de los determinantes.
Lenguajes regulares Teoría del Autómata.
Radicales y sus operaciones
MÁQUINAS DE TURING Teoría del Autómata.
Unidad aritmético-lógica
Curso de Teoría del Autómata
Problemas de grafos y Tratabilidad Computacional
Representación RUNS conversiones entre representaciones matriz binaria y secuencia Juan Manuel García Sánchez Pablo de la Torre Moreno.
Autómatas de Pila (Pushdown Automatón)
Límites y continuidad Podríamos empezar diciendo que los límites son importantes en el cálculo, pero afirmar tal cosa sería infravalorar largamente su.
Tema: Propiedades de los determinantes
ECUACIONES Y SISTEMAS Tema 3 * 4º ESO Opc Angel Prieto Benito
@ Angel Prieto BenitoApuntes de Matemáticas 3º ESO1 SISTEMAS DE ECUACIONES Tema 6 * 3º ESO.
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
MATRIZ INVERSA.
Objetivos del tema. Hemos visto lo que es la estructura de un programa, los datos, que esos datos en realidad se convierten en variables de distinto.
Teoría de Comunicación II La Comunicación como construcción colectiva de sentido.
Transcripción de la presentación:

5. Propiedades de los Lenguajes Recursivamente Enumerables y de los Lenguajes Recursivos. 5.1 Esquemas de representación de Máquinas de Turing. 5.2 Propiedades de cierre. 5.3 Codificación de Má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 Máquinas de Turing M. T. Aceptora que se detiene para todas las entradas: Máquina de Turing Aceptora que puede no deternerse para alguna entrada: Máquina de Turing Generadora Máquina de Turing que utiliza a otra Máquinas de Turing como subrutina:

5.2 Propiedades de cierre 1. La clase de los Lenguajes Recursivamente Enumerables es cerrada bajo UNIÓN. L1  L0  M1: L(M1) = L1 L2  L0  M2: L(M1) = L2 L(M) = L1 L2 2. La clase de los Lenguajes Recursivos es cerrada bajo la operación UNIÓN. L1  LR  M1: L(M1) = L1 L2  LR  M2: L(M2) = L2 L(M) = L1 L2

3. La clase de los Lenguajes Recursivos es cerrada bajo la COMPLEMENTACIÓN L  LR  M: L(M) = L L(M) = L 4. Un Lenguaje es Recursivo si y solo si él y su complementario son Recursivamente Enumerables.  a) L  LR  L  L0 L  LR  M1: L(M1) = L L(M) = L(M1) = L  L  L0 b) L  LR  L  L0

 b) L, L  L0  L  LR L  L0  M1: L(M1) = L L(M) = L(M1) = L y M se detiene siempre  L  LR Ejercicio b) L1, L2  LR  L1  L2  LR

A partir de 4, dado cualquier par L, L siempre se dará una de las tres posibilidades LR 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. L1  LR  M1: L(M1) = L1 L2  LR  M2: L(M2) = L2 L(M) = L(M1)  L(M2) = L1  L2 6. La clase de los Lenguajes Recursivamente Enumerables es cerrada bajo la INTERSECCIÓN. L1  L0  M1: L(M1) = L1 L2  L0  M2: L(M2) = L2 L(M) = L(M1)  L(M2) = L1  L2

7. La clase de los Lenguajes Recursivos es cerrada bajo la CONCATENACIÓN. x  L1 L2  x = x1 x2, x1  L1, x2  L2 L1  LR  M1: L(M1) = L1 L2  LR  M2: L(M2) = L2 Funcionamiento de M: El módulo A divide x en dos mitades x1 y x2 comenzando por x1 =  y x2 = x. La primera mitad se pasa a M1, la segunda posiblemente a M2. Cada vez que se vuelve a activar A, | x1 | aumenta una unidad hasta x1 = x Si ninguna partición devuelve SI, el módulo A activa NO.

5.3 Codificación de Máquinas de Turing. Objetivo: Codificar una M.T. con {0,1}. Sup L  (0+1)* rec. enumerable   M con  = {0, 1, B} tal que L = L(M). Sea M = ({q1, q2,..., qn}, {0, 1}, {0, 1, B}, , q1, B, {q2}) Codificación de un movimiento Sea (qi, Xj) = (qk, Xl, Dm) con 1  i, k  n 1  j, l  3 1  m  2 X1 = 0 X2 = 1 X3= B D1 = L D2 = R Se codifica de forma unívoca como 0i10j10k10l10m Una M.T. se codifica como 111código111código211...11códigor111 Una M.T. puede tener varios códigos, pero la decodificación es única. A una codificación de una M.T M le llamamos <M> El par (máquina M, entrada w) lo denominamos < M, 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 = {f1, f2, f3, ...}. Construimos f: f (i) = fi (i) + 1(mod 2). Si f  A se tendría f = fj y sin embargo f (j)  fj (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 M.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 M.T. (no todos) palabras de (0 + 1)* en orden canónico 1 2 3 4 5 6 ... 1 2 3 4

Consideramos la diagonal de la tabla anterior y construimos Ld = {wi : wi  L(Mi)} - Si (i, i) = 0 wi  Ld - Si (i, i) = 1 wi  Ld Ld no es recursivamente enumerable: -Supongamos que sí lo es   M : L(M) = Ld . -En las columnas están todas las M.T.   j : Mj = M. Entonces Si xj  Ld = L(Mj)  (j, j) = 0  xj  L(Mj) (contradicción) Si xj  Ld = L(Mj)  (j, j) = 1  xj  L(Mj) Luego no existe M.T. capaz de reconocer Ld . no recursivamente enumerable recursivamente enumerable no recursivo Consecuencia Ld es

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 AMB. 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 AMB  FIND

5.5 Un lenguaje reursivamente enumerable no recursivo: Lenguaje Universal. Veamos que LU = {< M, w> : w  L(M)} es: 1. Recursivamente enumerable. 2. No Recursivo. 1. Sea M1 la máquina con tres pistas: La 1ª es la cinta de entrada (contiene < M, w> ). La 2ª simula la cinta de M. La 3ª guarde el estado de M. inicialmente están en blanco 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 q1= estado inicial) Comportamiento de M1 - Si en la 3ª cinta aparece “00” (cód. de q2= estado final) M1 para y acepta < M, w> . - Si en la 3ª cinta hay 0i y en la segunda 0j, se busca en la 1ª un fragmento 0i10j1... - Si no se encuentra ese fragmento, M1 para y rechaza < M, w> . - Si se encuentra ..... w es aceptada por M  < M, w> es aceptada por M1

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

L es un lenguaje de tipo 0  L es recursivamente enumerable Autómata de memoria acotada linealmente (AMLL): - M.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 AMLL L. R. E. = Tipo 0 Tipo 1 L. R.