3. Función de reducción
Una función
se reduce a si si y sólo si
Sí entonces
Sí entonces
f(w)
A B w ∈ A
f(w) ∈ B
w ∈ A f(w) ∈ B
w ∉ A f(w) ∉ B
4. Pequeño problema
Considerar y reducir aLD 0
∗
1
∗
Sí entonces
Sí entonces
w ∈ LD
f(w) = 01
w ∉ LD
f(w) = 10
¿Entonces reducimos a regular?LD
tiene que ser computablef
6. Máquina R
Con la entrada w
Calcular
Correr en
Si acepta , entonces aceptar
Si rechaza , entonces rechazar
f(w)
MB f(w)
MB f(w) w
MB f(w)
w
Notación , es reducible aA B≤M A B
7. Opciones
Si A B≤M
Si es decidible, entonces los es
Si es computable, entonces los es
Si es indecidible, entonces los es
Si es no es computable (no RE), entonces los
es
B A
B A
A B
A B
8. ¿Qué sabemos de este lenguaje?
HALT = {[M, w]|M para con w}
Es indecidible
9. DECIDER = {[M]|Mes una máquina que decide}
¿Qué sabemos de este lenguaje?
17. = {[M]|L(M) ⊄ }ON LY ON ES
¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
1
∗
¿Qué sabemos de este lenguaje?
18. RE y co-RE
RE es el conjunto de lenguajes reconocidos por una máquina
de Turing
Problemas para los cuales verificamos una respuesta
correcta
co-RE es el conjunto de lenguajes cuyos complementso son
reconocidos por una máquina de Turing
Problemas para los cuales verificamos una respuesta
incorrecta
19. RE y co-RE
Si y , entonces
Si y , entonces
Si y , entonces
Si y , entonces
L ∈ RE ∈ REL
¯ ¯¯¯
L ∈ Rec
L ∈ RE ∈ coREL
¯ ¯¯¯
L ∈ Rec
L ∉ R L ∈ RE
L ∉ co − RE
L ∉ R L ∈ co − RE
L ∉ RE
20. ¿Qué sabemos de este lenguaje?
= {[M]|M ∉ L(M)}LD
¿Quién es ?LD
¯ ¯¯¯¯¯¯
21. ¿Qué sabemos de este lenguaje?
REGU LAR = {[M]|L(M) es regular}
25. Resumen: Church-Turing tesis
Rec: problemas que pueden ser calculados por una computadora
RE: problemas donde respuestas pueden ser verificados por una
computadora
co-RE: problemas donde respuestas pueden ser refutadas por una
computadora
26. Fijandonos en los decidables
¿Es posible resolver un problema
eficientemente?
Eficiencia se mide en número de pasos/tiempo
28. Tesis de Cobham-Edmonds
Un lenguaje puede ser resuelto eficientemente si se decide
en tiempo polinómico
L
29. Clase de P
Todos los problemas que se pueden resolver en en tiempo
polinomial
30. Ejemplos
Reconocer de un AF, AFND y AFND-
Reconocer de un APD
Reconocer de un AP (!Compiladores!)
¿Dado un grafo y dos nodos, estos se
conectan?
¿Dado un número es primo?
Etc, ...
w ϵ
w
w
n
31. Clase de NP
Todos los problemas que se pueden resolver en en tiempo
polinomial por una MTND
NP es No determinístico en tiempo polinomial
32. Máquina de Turing no Determinístico
Todos los problemas que se pueden resolver en en tiempo
polinomial por una MTND
NP es No determinístico en tiempo polinomial
33. Máquinas de Turing
Es una tupla (Q, Σ, Γ, , B, A, δ)q0
conjunto finito de estados
alfabeto de cadenas reconocidas
alfabeto de cinta,
estado inicial
Símbolo de espacio en blanco pero
estados finales
función de transición
Q
Σ
Γ Σ ⊂ Γ
q0
B B ∈ Γ B ∉ Σ
A
δ
Q × Γ → Q × Γ × {der, izq}
34. Máquinas de Turing no
determinística
Es una tupla (Q, Σ, Γ, , B, A, δ)q0
conjunto finito de estados
alfabeto de cadenas reconocidas
alfabeto de cinta,
estado inicial
Símbolo de espacio en blanco pero
estados finales
función de transición
Q
Σ
Γ Σ ⊂ Γ
q0
B B ∈ Γ B ∉ Σ
A
δ
Q × Γ → {Q × Γ × {der, izq}}
35. Uso el no determinismo para adivinar respuestas
Uso el determinismo para verificar la respuesta
Problemas fáciles de verificar
36. Ejemplos de NP
Soduko
El problema del agente de viaje
Un grafo puede ser coloreado por colores
Determinar la mejor forma de asignar trabajos a
trabajadores
k
37. La pregunta más importante en
computación
¿ ? o ¿ ?P = N P P ≠ N P
38. NP-hard
Informalmente, son los problemas que son tan difíciles como
el más difícil en NP
Formalmente, son los problemas que son tan difíciles como el
más difícil en NP
45. ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir
Problemas, problemas, problemas by is licensed
under a
.
Creado a partir de la obra en
.
Ivan V. Meza Ruiz
Creative Commons Reconocimiento 4.0 Internacional
License
http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/np_p.html