PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE ESCUELA DE INGENIERIA DEPARTAMENTO DE CIENCIA DE LA COMPUTACION Complejidad Computacional - IIC3242 Tarea 1 Fecha de Entrega: Jueves 16 de Abril 1. [1.5 puntos] Una Máquina de Turing Matricial determinista (MTM determinista) es definida como una MT determinista que en lugar de una cinta tiene una matriz de celdas que es infinita en todas direcciones. Formalmente, una MTM determinista es una tupla M = (Q, Σ, Γ, q0 , δ, F ), donde Q es un conjunto finito de estados, Σ es el alfabeto de entrada y satisface la condición B 6∈ Σ, Γ es el alfabeto de la cinta y satisface la condición (Σ ∪ {B}) ⊆ Γ, q0 es el estado inicial, F es el conjunto de estados finales y δ : Q × Γ → Q × Γ × {←, , →, ↑, ↓} es la función (parcial) de transición. El funcionamiento de M es similar al de una MT determinista usual. Al comenzar la ejecución con entrada w, la MTM determinista M está en el estado q0 , tiene a w colocada en una fila arbitraria y el resto de las celdas de la matriz de M contienen el sı́mbolo B, y su cabeza lectora está en la primera posición de w. En cada instante de tiempo, M está en un estado q y su cabeza lectora está en una celda que contiene a un sı́mbolo a ∈ Γ. Si la función de transición δ está definida para (q, a), digamos δ(q, a) = (q 0 , b, X), entonces M reemplaza el sı́mbolo a por b en la celda en que estaba la cabeza lectora, pasa del estado q a q 0 , y mueve la cabeza lectora de acuerdo al valor X (←: izquierda, : no mover, →: derecha, ↑: subir, ↓: bajar). La MTM determinista M se detiene cuando no hay una transición para el par (q, a), y en este caso acepta si y sólo si q ∈ F . Demuestre que existen constantes k y c tales que para cada MTM determinista M1 , existe una MT determinista M2 con k cintas tal que L(M1 ) = L(M2 ) y tM2 (n) es O((tM1 (n))c ). 2. [2 puntos] Una gramática sensible al contexto es una tupla G = (V, Σ, P, S), donde Σ es el alfabeto de entrada, V es un conjunto de variables tal que V ∩ Σ = ∅, S ∈ V es la variable de inicio y P es un conjunto de producciones que satisface las siguientes condiciones: cada producción en P es de la forma S → ε o αAβ → αγβ, donde A ∈ V , α, β ∈ (Σ∪V )∗ y γ ∈ (Σ ∪ V )+ , el sı́mbolo S no aparece en el lado derecho de ninguna producción. Dados u, v ∈ (Σ ∪ V )∗ , decimos que v puede ser obtenido en G desde u en un paso, denotado como u ⇒ v, si: 1 u = S, v = ε y S → ε es una producción en P , o u = u1 αAβu2 , v = u1 αγβu2 y αAβ → αγβ es una producción en P . Además, decimos que w ∈ Σ∗ puede ser generado en G si existen w1 , w2 , . . . , wn−1 , wn ∈ (Σ ∪ V )∗ , con n ≥ 0, tales que S ⇒ w1 , w1 ⇒ w2 , . . ., wn−1 ⇒ wn , wn ⇒ w. Finalmente, el lenguaje aceptado por G es definido como L(G) = {w ∈ Σ∗ | w puede ser generado en G}. Un lenguaje L se dice sensible al contexto si y sólo si existe una gramática sensible al contexto G tal que L = L(G). Demuestre que un lenguaje L es sensible al contexto si y sólo si L ∈ NSPACE(n). 3. [1 punto] Una gramática extendida sensible al contexto es una tupla G = (V, Σ, P, S), donde Σ, V y S son definidas como para el caso de las gramáticas sensibles al contexto, y P es un conjunto de producciones que satisface las siguientes condiciones: cada producción en P es de la forma S → ε o r1 Ar2 → r1 γr2 , donde A ∈ V , γ ∈ (Σ∪V )+ y r1 , r2 son expresiones regulares sobre el alfabeto Σ ∪ V , el sı́mbolo S no aparece en el lado derecho de ninguna producción. Dados u, v ∈ (Σ ∪ V )∗ , decimos que v puede ser obtenido en G desde u en un paso, denotado como u ⇒ v, si: u = S, v = ε y S → ε es una producción en P , o u = u1 v1 Av2 u2 , v = u1 v1 γv2 u2 y existe una producción r1 Ar2 → r1 γr2 en P tal que v1 ∈ L(r1 ) y v2 ∈ L(r2 ). Además, decimos que w ∈ Σ∗ puede ser generado en G si existen w1 , w2 , . . . , wn−1 , wn ∈ (Σ ∪ V )∗ , con n ≥ 0, tales que S ⇒ w1 , w1 ⇒ w2 , . . ., wn−1 ⇒ wn , wn ⇒ w. Finalmente, el lenguaje aceptado por G es definido como L(G) = {w ∈ Σ∗ | w puede ser generado en G}. Demuestre que para cada gramática extendida sensible al contexto G1 , existe una gramática sensible al contexto G2 tal que L(G1 ) = L(G2 ). 4. [1.5 puntos] Sea p(x) un polinomio con coeficientes enteros tal que p(n) ≥ 0 para todo n ≥ 0, L un lenguaje sobre el alfabeto {0, 1} y L0 el siguiente lenguaje sobre el alfabeto {0, 1, #}: L0 = {w#p(|w|) | w ∈ L}. Dado que p(x) es un polinomio, es simple demostrar que NP satisface la siguiente propiedad de clausura: Si L0 ∈ NP, entonces L ∈ NP. Utilizando esta propiedad de clausura y el teorema de jerarquı́a de espacio, demuestre que NP 6= DSPACE(n). 2