29
Teor´ ıa de la Complejidad Computacional Tema II: Modelos de Computaci´ on Mario de J. P´ erez Jim´ enez Grupo de Investigaci´on en Computaci´on Natural Dpto. Ciencias de la Computaci´ on e Inteligencia Artificial Universidad de Sevilla [email protected] http://www.cs.us.es/~marper/ aster Universitario en Matem´ aticas Curso 2016-2017

Teor a de la Complejidad Computacional Tema II:Modelos de

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Teor a de la Complejidad Computacional Tema II:Modelos de

Teorıa de la Complejidad ComputacionalTema II: Modelos de Computacion

Mario de J. Perez Jimenez

Grupo de Investigacion en Computacion NaturalDpto. Ciencias de la Computacion e Inteligencia Artificial

Universidad de Sevilla

[email protected]

http://www.cs.us.es/~marper/

Master Universitario en MatematicasCurso 2016-2017

Page 2: Teor a de la Complejidad Computacional Tema II:Modelos de

Indice del tema I

I Modelo de computacion de las maquinas de Turing.

• Sintaxis.

• Semantica.

• Maquinas de Turing con k cintas.

• Maquinas de Turing no deterministas.

I Modelo de computacion GOTO.

• Programas GOTO.

• Funciones computables en el modelo GOTO:

2 / 29

Page 3: Teor a de la Complejidad Computacional Tema II:Modelos de

Modelos de Computacion

Formalizacion matematica del concepto de procedimiento mecanico:

I Sintaxis.

I Semantica.

Modelos de computacion orientado a:

I Programas (Ej: modelo GOTO).

I Funciones (Ej: funciones recursivas).

I Maquinas (Ej: maquinas de Turing).

Modos de computacion:

I Determinista.

I No-determinista.

I Secuencial.

I Paralelo.

3 / 29

Page 4: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing: Sintaxis (I)

Es una tupla, M = (Q, q0,F ,Σ,B, ., δ) tal que:

• Q es un alfabeto (estados).

• q0 ∈ Q (estado inicial).

• F = {qh, qy , qn} ⊆ Q (estados finales, todos ellos distintos entre sı).

• Σ es un alfabeto (de la maquina) tal que Q ∩ Σ = ∅ (sımbolos).

• B ∈ Σ (sımbolo blanco).

• . ∈ Σ (primer sımbolo), . 6= B.

• δ es una aplicacion de (Q − F )× Σ en Q × Σ× {0, 1,−1} (funcion detransicion) tal que:

? Si δ(q, .) = (q′, s′, x) entonces s′ = . ∧ x = 1.

? Si s 6= . y δ(q, s) = (q′, s′, x) entonces s′ 6= ..

4 / 29

Page 5: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing: Sintaxis (II)

Una maquina de Turing M consta de:

I Una cinta infinita a la derecha con primera casilla.

I Una cabeza de trabajo lectora/escritora que se puede desplazar a lo largode la cinta.

Si δ(q, s) = (q′, s ′, x), diremos que M pasa de q a q′, sustituye s por s ′ y semueve segun el valor de x ∈ {0, 1,−1}.

s s s s s s s s s ss BB B B B B B B BB1 2 3 4 5 6 7 8 9 10 11

Unidad de Control

q

5 / 29

Page 6: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing: Semantica (I)

Configuracion (descripcion instantanea) de una maquina de Turing M:

∗ Una terna (q,w , u) tal que q ∈ Q,w ∈ Σ∗ y u ∈ Σ∗.

Una configuracion (q,w , u) puede ser interpretada como sigue:

? q es el estado actual en que se encuentra M.

? .w u es la palabra escrita en la cinta de M.

? Si w no es la cadena vacıa, M analiza el ultimo sımbolo de w . Casocontrario, analiza el sımbolo . de la primera casilla.

s s s s s s s s s ss BB B B B B B B BB1 2 3 4 5 6 7 8 9 10 11

Unidad de Control

q

w u

6 / 29

Page 7: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing: Semantica (II)Sea C = (q,w , u) una configuracion de M.

∗ Si q = q0, w es la cadena vacıa λ y u ∈ (Σ− {B})∗: C es la configuracion inicial con dato de entrada u

y notaremos C = Iu .

∗ Si q ∈ F : C es una configuracion de parada.

∗ Si q = qy : C es una configuracion de aceptacion.

∗ Si q = qn : C es una configuracion de rechazo.

Configuracion siguiente: Sea (q,w1 . . .wr−1wr , u1u2 . . . us ) una configuracion de M.

∗ Si δ(q,wr ) = (q′,w′r ,−1), diremos que la configuracion siguiente de (q,w1 . . .wr−1↓

wr︸ ︷︷ ︸,︷ ︸︸ ︷u1u2 . . . us )

es (q′,w1 · · ·↓

wr−1︸ ︷︷ ︸,︷ ︸︸ ︷w′r u1u2 . . . us ).

∗ Si δ(q,wr ) = (q′,w′r ,+1), diremos que la configuracion siguiente de (q,w1 . . .wr−1↓

wr︸ ︷︷ ︸,︷ ︸︸ ︷u1u2 . . . us )

es (q′,w1 . . .wr−1w′r↓u1︸ ︷︷ ︸,

︷ ︸︸ ︷u2 . . . us ).

∗ Si δ(q,wr ) = (q′,w′r , 0), diremos que la configuracion siguiente de (q,w1 . . .wr−1↓

wr︸ ︷︷ ︸,︷ ︸︸ ︷u1u2 . . . us ) es

(q,w1 . . .wr−1

↓w′r︸ ︷︷ ︸,

︷ ︸︸ ︷u1u2 . . . us ).

7 / 29

Page 8: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing: Semantica (III)

Una computacion C de una MT es una sucesion (finita o infinita) de configuraciones(C0,C1, . . . ,Cr ), r ∈ N ∪ {∞}, tal que

I C0 es una configuracion inicial (asociada a un dato de entrada u ∈ (Σ−{B})∗).

I Para cada i < r , la configuracion Ci+1 es la configuracion siguiente de Ci .

I La computacion C es de parada si

? r ∈ N y la ultima configuracion Cr es (q, λ, u′), siendo q ∈ {qy , qn, qh) y u′ ∈ (Σ− {B})∗.

∗ Si q = qy : M acepta el dato u. Escribiremos M(u) = Y .

∗ Si q = qn : M rechaza el dato u. Escribiremos M(u) = N.

∗ Si q = qh : el resultado de la computacion es u′ ∈ (Σ−{B})∗. Escribiremos M(u) = u′.

I Si la computacion C es de parada, escribiremos M(u) ↓

I Si la computacion C no es de parada, escribiremos M(u) ↑

8 / 29

Page 9: Teor a de la Complejidad Computacional Tema II:Modelos de

Decision y aceptacion de un lenguaje en una MT

Sea M una MT cuyo alfabeto de trabajo es Σ.

Sea L un lenguaje sobre Σ \ {B}.

I M decide el lenguaje L sii para cada u ∈ (Σ− {B})∗:

? Si u ∈ L, entonces M(u) = Y .

? Si u /∈ L, entonces M(u) = N.

I M acepta el lenguaje L sii para cada u ∈ (Σ− {B})∗:

? Si u ∈ L, entonces M(u) = Y .

? Si u /∈ L, entonces M(u) ↑.

9 / 29

Page 10: Teor a de la Complejidad Computacional Tema II:Modelos de

Lenguajes recursivos y recursivamente enumerables

I L ⊆ (Σ− {B})∗ es recursivo sii existe una MT que decide L.

I L ⊆ (Σ− {B})∗ es recursivamente enumerable sii existe una MT queacepta L.

Proposicion 1: Todo lenguaje recursivo es r.e.

Proposicion 2: Existen lenguajes r.e. que no son recursivos.

10 / 29

Page 11: Teor a de la Complejidad Computacional Tema II:Modelos de

Ejemplo de una MT de decision

Q = {q0, q1, q2, q′1, q′2, q3, qh, qy , qn}; Σ = {0, 1,B, .}

(Q − F )× Σ Q × Σ× {0, 1,−1}(q0, 0) (q1, ., 1)(q0, 1) (q2, ., 1)(q0, B) (qy , B, 0)(q0, .) (q0, ., 1)(q1, 0) (q1, 0, 1)(q1, 1) (q1, 1, 1)

(q1, B) (q′1, B,−1)(q2, 0) (q2, 0, 1)(q2, 1) (q2, 1, 1)

(q2, B) (q′2, B,−1)

(q′1, 0) (q3, B,−1)

(q′1, 1) (qn, 1, 0)

(q′1, .) (qy , B, 1)

(q′2, 0) (qn, 1, 0)

(q′2, 1) (q3, B,−1)

(q′2, .) (qy , ., 1)(q3, 0) (q3, 0,−1)(q3, 1) (q3, 1,−1)(q3, .) (q0, ., 1)

11 / 29

Page 12: Teor a de la Complejidad Computacional Tema II:Modelos de

Funciones computables por maquinas de Turing

I Una MT, M, calcula f : (Σ− {B})∗ → Σ∗ sii para cada u ∈ (Σ− {B})∗se tiene que M(u) = f (u).

I Una funcion f es recursiva sii existe una MT que calcula f .

Un ejemplo: Q = {q0, q1, qh, qy , qn}; Σ = {0, 1,B, .}(Q − F )× Σ Q × Σ× {0, 1,−1}

(q0, 0) (q0, 0, 1)(q0, 1) (q0, 1, 1)(q0, B) (q1, B,−1)(q0, .) (q0, ., 1)(q1, 0) (qh, 1, 0)(q1, 1) (q1, 0,−1)(q1, B) (q1, B, 0)(q1, .) (qh, ., 1)

Hallemos M(01)

1.q0. 0 1 B. 5. . 0

q1

1 B.

2. .q0

0 1 B. 6. .q1

0 0 B.

3. . 0q0

1 B. 7. .qh

1 0 B.

4. . 0 1q0

B.

12 / 29

Page 13: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing que resuelven problemas

¿Como resolver un problema X ?

I Si X es un problema de decision,

? Una MT resuelve X si decide el lenguaje LX asociado a X .

I Si X es un problema identificado por una aplicacion fX : LX → Σ∗,

? Una MT resuelve X si calcula la funcion fX .

13 / 29

Page 14: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing con k cintas

I En cada instante la maquina se encuentra en un estado.

I Consta de k cintas, infinitas a la derecha con primera casilla.

I Cada cinta tiene una cabeza que en cada instante:

? Analiza una casilla.

? Puede reescribir sobre la casilla.

? Puede cambiar de estado (el mismo en todas las casillas).

? Se puede desplazar: 0, 1,−1.

14 / 29

Page 15: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing con k cintas

I Para realizar una computacion con entrada u ∈ Σ∗:

? Se registra la entrada en la primera cinta.

? Las restantes cintas estan en blanco.

? Todas las cabezas apuntan a la primera casilla.

? La maquina se encuentra en el estado inicial.

? La funcion de transicion actua sobre cada cinta.

• Si termina en qh, la salida es el contenido de la cinta k–esima.

Teorema : Para cada MT, M, con k cintas existe una MT, M ′, con una cintatal que M(u) = M ′(u), para cada entrada u.

¿Que peaje se ha de pagar para “pasar” de una MT con k cintas a una MT

con una cinta que sea equivalente a ella?

15 / 29

Page 16: Teor a de la Complejidad Computacional Tema II:Modelos de

Maquinas de Turing no deterministasEs una tupla, M = (Q, q0,F ,Σ,B, ., δ) tal que:

• Q es un alfabeto (estados).

• q0 ∈ Q (estado inicial).

• F = {qh, qy , qn} ⊆ Q (estados finales, todos ellos distintos entre sı).

• Σ es un alfabeto (de la maquina) tal que Q ∩ Σ = ∅ (sımbolos).

• B ∈ Σ (sımbolo blanco).

• . ∈ Σ (primer sımbolo), . 6= B.

• δ es una aplicacion de (Q − F )× Σ en P(Q × Σ× {0, 1,−1}) (funcion de

transicion) tal que

? Si (q′, s′, x) ∈ δ(q, .) entonces s′ = . ∧ x = 1.

? Si (q′, s′, x) ∈ δ(q, s) y s 6= . entonces s′ 6= ..

Toda MT determinista es una MT no determinista.

Teorema : Si una MT no determinista decide L, entonces existe otra MT deterministacon tres cintas que decide L.

¿Que peaje se ha de pagar para “pasar” de una MTND que decide L a una MTD quetambien decide L?

16 / 29

Page 17: Teor a de la Complejidad Computacional Tema II:Modelos de

Modelo de computacion GOTO: SintaxisModelo secuencial y determinista (conjunto de datos: N).El lenguaje de programacion GOTO

1. Variables:

De entrada: X1(= X ), X2, X3, ...De salida: YAuxiliares: Z1(= Z), Z2, Z3, ...

VAR: conjunto de todas las variables de GOTO.

2. Etiquetas: A1, B1, C1,D1, E1, A2, B2, C2,D2, E2, . . .

• Notacion: A = A1, B = B1, C = C1, D = D1, E = E1.

3. Instrucciones basicas: Para cada variable V y cada etiqueta L:

• Incremento: V ←− V + 1

• Decremento: V ←− V − 1

• Condicional: IF V 6= 0 GOTO L

• Skip: V ←− V

• Instrucciones etiquetadas: [K ] V ←− V + 1; [K ] V ←− V − 1; [K ] IF V 6= 0 GOTO L;[K ] V ←− V , siendo K una etiqueta distinta de E .

Programa GOTO: Sucesion finita de instrucciones basicas (etiquetadas o no)cuya ultima instruccion NO es Y ←− Y .

• Si P = I1, . . . , In es un programa GOTO, la longitud de P es n (se notara por |P|).

• El Programa Vacıo: consta de 0 instrucciones.

• GOTOP: conjunto de todos los programas GOTO.

17 / 29

Page 18: Teor a de la Complejidad Computacional Tema II:Modelos de

Modelo de computacion GOTO: Semantica (I)Sea P = I1, . . . , In un programa GOTO.

• var(P): conjunto de todas las variables que aparecen en P.

• Un estado de P es una aplicacion s de VAR en N: si s(V ) = m, notaremos V = m.

• Una configuracion de P, es un par σ = (i, s) donde 1 ≤ i ≤ |P| + 1 y s es un estado de P.

∗ Configuracion inicial: i = 1, s(V ) 6= 0 para un numero finito de variables de entrada y s(V ) = 0

para cada variable que no sea de entrada.

∗ Configuracion de parada: i = |P| + 1.Si σ = (j , s) una configuracion de P que no es de parada, la configuracionsiguiente σ′ = (j ′, s ′) de σ (σ `p σ

′) se define como sigue:

. Si Ij ≡ V ←− V + 1 y s(V ) = m, entonces j′ = j + 1 y s′ se obtiene de s sustituyendo el valor V = m

por el valor V = m + 1.

. Si Ij ≡ V ←− V − 1 y s(V ) = m, entonces j′ = j + 1 y si m > 0, entonces s′ se obtiene de s

sustituyendo el valor V = m por el valor V = m − 1 (si m = 0, entoncess′ = s).

. Si Ij es de tipo SKIP, entonces j′ = j + 1 y s′ = s.

. Si Ij ≡ IF V 6= 0 GOTO L, entonces σ′ = σ. Ademas,

∗ Si s(V ) = 0, entonces j′ = j + 1 (ir a la siguiente instruccion o terminar si j = n).

∗ Si s(V ) 6= 0 y existe k tal que Ik es la primera instruccion etiquetada con L, entonces j′ = k (ir a

la primera instruccion etiquetada con L).

∗ Si s(V ) 6= 0 y no existe tal k, j′ = |P| + 1 (terminar).

18 / 29

Page 19: Teor a de la Complejidad Computacional Tema II:Modelos de

Modelo de computacion GOTO: Semantica (II)

Ejecucion de un programa GOTO P = I1, . . . , In.

I Una computacion (o ejecucion) C de P es una sucesion (finita o infinita)

de configuraciones σ1, . . . , σi , . . . tal que:

? σ1 = (1, s1) es una configuracion inicial;? Si σi no es de parada, entonces σi `P σi+1.

I P(a1, . . . , ak ): computacion de P con dato de entrada (a1, . . . , ak ) es laque corresponde a la configuracion inicial σ1 = (1, s1), siendo

s1(X1) = a1, s1(X2) = a2, . . . , s1(Xk ) = ak y s1(V ) = 0, para las restantes variables V

I Si C = s1, . . . , si0 es una sucesion finita, diremos que

? C es de parada: P(a1, . . . , ak ) ↓

? La configuracion si0es de parada.

? P(a1, . . . , ak ) = b, siendo b el valor de Y en la configuracion de parada si0

(resultado de ejecutar el programa P con dato de dentrada (a1, . . . , ak )).

I Si C es una sucesion infinita, diremos que C no es de parada: P(a1, . . . , ak ) ↑

I Solo las computaciones de parada proporcionan resultados.

19 / 29

Page 20: Teor a de la Complejidad Computacional Tema II:Modelos de

Un ejemplo

P ≡

[A] IF X 6= 0GOTO BZ ←− Z + 1IF Z 6= 0GOTO E

[B] X ←− X − 1Y ←− Y + 1IF X 6= 0GOTO A

Hallemos P(3):

σ1 = (1, {X = 3, Y = 0, Z = 0})σ2 = (4, {X = 3, Y = 0, Z = 0})σ3 = (5, {X = 2, Y = 0, Z = 0})σ4 = (6, {X = 2, Y = 1, Z = 0})σ5 = (1, {X = 2, Y = 1, Z = 0})σ6 = (4, {X = 2, Y = 1, Z = 0})σ7 = (5, {X = 1, Y = 1, Z = 0})σ8 = (6, {X = 1, Y = 2, Z = 0})σ9 = (1, {X = 1, Y = 2, Z = 0})σ10 = (4, {X = 1, Y = 2, Z = 0})σ11 = (5, {X = 0, Y = 2, Z = 0})σ12 = (6, {X = 0, Y = 3, Z = 0})σ13 = (7, {X = 0, Y = 3, Z = 0})

20 / 29

Page 21: Teor a de la Complejidad Computacional Tema II:Modelos de

Funciones GOTO–computables

Sean P un programa GOTO y k ≥ 1.

I Funcion de aridad k calculada por P:

Es la funcion [[P]](k) : Nk − → N, definida por

[[P]](k)(a1, . . . , ak ) = P(a1, . . . , ak ) = resultado de ejecutar P con dato de entrada (a1, . . . , ak )

Una funcion f de aridad k ≥ 1 es GOTO–computable si existe un programaGOTO, P, tal que f = [[P]](k).

I G-COMP: conjunto de todas las funciones GOTO computables.

I G-COMP(k): conjunto de todas las funciones GOTO computables de aridad k.

21 / 29

Page 22: Teor a de la Complejidad Computacional Tema II:Modelos de

Ejemplos de funciones GOTO–computables

I La funcion identidad IdN : N→ N definida por IdN (x) = x , ∀x ∈ N.

IF X 6= 0 GOTO BZ ←− Z + 1IF Z 6= 0 GOTO E

[B] X ←− X − 1Y ←− Y + 1IF X 6= 0 GOTO B

I La funcion vacıa f(k)∅ , k ≥ 1: f

(k)∅ (x1, . . . , xk ) ↑, ∀(x1, . . . , xk ) ∈ Nk .

[A] Z ←− Z + 1IF Z 6= 0 GOTO A

I La funcion nula O(k), k ≥ 1: O(k)(x1, . . . , xk ) = 0, ∀(x1, . . . , xk ) ∈ Nk .

Es calculada por cualquier programa que pare siempre y en el que

no aparezca la variable de salida Y .

22 / 29

Page 23: Teor a de la Complejidad Computacional Tema II:Modelos de

Codificacion de programas GOTO

Cada programa GOTO se codifica por un numero natural: #(P)

? Todo numero natural codifica un unico programa GOTO.

Para ello, se codifican las instrucciones GOTO: #(I )

? Todo numero natural codifica un unica instruccion GOTO.

Para ello, se codifican:

I Las variables.

I Las etiquetas.

I Los formatos de las instrucciones (skip, incremento, decremento y condicional).

Si P = (I1, I2, . . . , In) es un programa GOTO, se define el codigo de P ası:

#(P) = [#(I1),#(I2), . . . ,#(In)]− 1

23 / 29

Page 24: Teor a de la Complejidad Computacional Tema II:Modelos de

Programas universales (I)

Cuestion:

Para cada n ≥ 1, ¿es computable la funcion de aridad (n + 1)que asigna a cada n-tupla (x1, . . . , xn) y cada programa GOTO P elresultado de la computacion P(x1, . . . , xn)?

Responderemos afirmativamente a esta cuestion.

I Un programa Un que calcule esa funcion de aridad (n + 1) se denominaprograma universal.

I La funcion de aridad (n + 1) que calcula Un se notara por Un.

[[Un]](n+1)(x1, . . . , xn,#(P)) = [[P]](n)(x1, . . . , xn) = Un(x1, . . . , xn,#(P))

Teorema. Para cada n ≥ 1, existe un programa GOTO, Un, tal que para todo~x ∈ Nn y todo programa GOTO, P, se tiene:

[[Un]](n+1)(~x ,#(P)) = [[P]](n)(~x)

Basicamente, un programa universal es un interprete de GOTO.

24 / 29

Page 25: Teor a de la Complejidad Computacional Tema II:Modelos de

El programa universal UnZ ←− Xn+1 + 1S ←−

∏ni=1(p2i )

Xi

K ←− 1

(1) inicializacion

[C ] IF K = Long(Z) + 1 GOTO F}

(2) test de parada

U ←− r((Z)k )P ←− pr(U)+1

IF l(U) = 0 GOTO NIF l(U) = 1 GOTO AIF P - S GOTO NIF l(U) = 2 GOTO MK ←− µi ≤ Long(Z)[l((Z)i ) + 2 = l(U)]GOTO C

(3) paso de computacion de Xn+1

[M] S ←− qt(S ,P)GOTO N

[A] S ←− S ·P[N] K ←− K + 1

GOTO C[F ] Y ←− (S)1

(4) salida

25 / 29

Page 26: Teor a de la Complejidad Computacional Tema II:Modelos de

Funciones ındice

I Para n ≥ 1 y e ∈ N, se define la funcion GOTO–computable n-ariade ındice e, ası: ϕ

(n)e (x1, . . . , xn) = Un(x1, . . . , xn, e).

• Observese que: ϕ(n)#(P) = [[P]](n).

P0 P1 P2 . . . . . . Pn . . . . . .

ϕ(1)0 ϕ

(1)1 ϕ

(1)2 . . . . . . ϕ

(1)n . . . . . .

ϕ(2)0 ϕ

(2)1 ϕ

(2)2 . . . . . . ϕ

(2)n . . . . . .

ϕ(3)0 ϕ

(3)1 ϕ

(3)2 . . . . . . ϕ

(3)n . . . . . .

......

......

......

ϕ(k)0 ϕ

(k)1 ϕ

(k)2 . . . . . . ϕ

(k)n . . . . . .

......

......

......

En donde #(Pi ) = i .

26 / 29

Page 27: Teor a de la Complejidad Computacional Tema II:Modelos de

Conjuntos recursivos y recursivamente enumerables

La funcion caracterıstica de un conjunto A ⊆ Nk , es la funcion total:

CA(~x) =

{1 si ~x ∈ A0 si ~x ∈ Nk − A

La funcion caracterıstica parcial de un conjunto A ⊆ Nk , es la funcion parcial:

C∗A (~x) =

{1 si ~x ∈ A↑ si ~x ∈ Nk − A

Definicion. Un conjunto A ⊆ Nk es recursivo si la funcion caracterıstica CA esGOTO–computable.

Definicion. Un conjunto A ⊆ Nk es recursivamente enumerable (r.e.) si lafuncion caracterıstica parcial C∗A es GOTO–computable.

Resultados:

I Si un conjunto es recursivo, entonces tambien es r.e.

I Existen conjuntos r.e. que no son recursivos.

I Un conjunto A ⊆ Nk es recursivo si y solo si los conjuntos A y A son r.e.

27 / 29

Page 28: Teor a de la Complejidad Computacional Tema II:Modelos de

Decidibilidad de problemas de decision

Un problema de decision X = (EX , θX ) es:

I decidible (o resoluble algorıtmicamente) si el conjunto LX asociado alproblema es recursivo.

I indecidible (o irresoluble algorıtmicamente) si el conjunto LX asociado alproblema no es recursivo.

I semidecidible (o parcialmente decidible) si el conjunto LX asociado alproblema es recursivamente enumerable.

28 / 29

Page 29: Teor a de la Complejidad Computacional Tema II:Modelos de

El problema de la parada

Enunciado informal. Dado un programa GOTO, P, y un dato de entrada ~x ,determinar si P para sobre ~x .

Cuestion informal. ¿Es resoluble algorıtmicamente el problema de la parada?

Cuestion formal: Determinar si el conjunto K0 = {(x , y) ∈ N2 : ϕ(1)x (y) ↓} es

recursivo.

Resultado: El conjunto K0 es r.e. pero no es recursivo.

Es decir:

I El problema de la parada es indecidible pero, en cambio, es semidecidible.

29 / 29