Descargar la presentación
La descarga está en progreso. Por favor, espere
1
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.
2
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:
3
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
4
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
5
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
6
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.
7
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
8
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.
9
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ódigo có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>
10
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
11
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
12
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
13
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
14
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)
15
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.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.