La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

5. Propiedades de los Lenguajes Recursivamente

Presentaciones similares


Presentación del tema: "5. Propiedades de los Lenguajes Recursivamente"— Transcripción de la presentación:

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.


Descargar ppt "5. Propiedades de los Lenguajes Recursivamente"

Presentaciones similares


Anuncios Google