problemas, problemas y más problemas

45
Problemas, problemas, problemas I've got 99 problems and 3-SAT reduces to all of them..— Reddit Ivan Meza

Upload: ivan-vladimir-meza-ruiz

Post on 14-Apr-2017

210 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Problemas, problemas y más problemas

Problemas, problemas, problemas

I've got 99 problems and 3-SAT reduces to all of them..—Reddit

Ivan Meza

Page 2: Problemas, problemas y más problemas

ReducciónUn problema se reduce a A B

Page 3: Problemas, problemas y más problemas

Función de reducciónUna función

se reduce a si si y sólo si

Sí entonces Sí entonces

f(w)A B w ∈ Af(w) ∈ B

w ∈ A f(w) ∈ Bw ∉ A f(w) ∉ B

Page 4: Problemas, problemas y más problemas

Pequeño problemaConsiderar y reducir a LD 0∗1∗

Sí entonces

Sí entonces

w ∈ LD

f(w) = 01w ∉ LD

f(w) = 10

¿Entonces reducimos a regular?LD

tiene que ser computablef

Page 5: Problemas, problemas y más problemas

Reducción

Verdadero

Falso

W calcular f f(w) Máquina B

R

Page 6: Problemas, problemas y más problemas

Máquina RCon la entrada w

Calcular Correr en Si acepta , entonces aceptar Si rechaza , entonces rechazar

f(w)MB f(w)

MB f(w) wMB f(w)

w

Notación , es reducible a A B≤M A B

Page 7: Problemas, problemas y más problemas

OpcionesSi A B≤M

Si es decidible, entonces los esSi es computable, entonces los esSi es indecidible, entonces los esSi es no es computable (no RE), entonces loses

B AB AA BA B

Page 8: Problemas, problemas y más problemas

¿Qué sabemos de este lenguaje?

HALT = {[M, w]|M para con w}

Es indecidible

Page 9: Problemas, problemas y más problemas

DECIDER = {[M]|Mes una máquina que decide}

¿Qué sabemos de este lenguaje?

Page 10: Problemas, problemas y más problemas

Sabemos HALT DECIDER≤M

DECIDER indecidible

Page 11: Problemas, problemas y más problemas

¿Qué sabemos de este lenguaje?

= {[M, w]|M acepta w}ATM

Es indecidible

Page 12: Problemas, problemas y más problemas

ONES = {[M]|M acepta una cadena de la forma  }1n

¿Qué sabemos de este lenguaje?

Page 13: Problemas, problemas y más problemas

Sabemos ONESAMT ≤M

ONES indecidible

Page 14: Problemas, problemas y más problemas

HALT ≤M AMT

HALT y son REAMT

Page 15: Problemas, problemas y más problemas

ONLY ONES = {[M]|L(M) ⊂ }1∗

¿Qué sabemos de este lenguaje?

Page 16: Problemas, problemas y más problemas

ONLY ONESLD ≤M

ONLYONES es no RE

Page 17: Problemas, problemas y más problemas

= {[M]|L(M) ⊂ }ONLY ONES¯ ¯¯¯¯¯ ¯¯¯ ¯¯¯¯ ¯¯¯ 1∗

¿Qué sabemos de este lenguaje?

Page 18: Problemas, problemas y más problemas

RE y co-RERE es el conjunto de lenguajes reconocidos por una máquina

de Turing

Problemas para los cuales verificamos una respuestacorrecta

co-RE es el conjunto de lenguajes cuyos complementso sonreconocidos por una máquina de Turing

Problemas para los cuales verificamos una respuestaincorrecta

Page 19: Problemas, problemas y más problemas

RE y co-RESi y , entonces Si y , entonces Si y , entonces

Si y , entonces

L ∈ RE ∈ REL¯ ¯¯

L ∈ Rec

L ∈ RE ∈ coREL¯ ¯¯

L ∈ RecL ∉ R L ∈ RE

L ∉ co − REL ∉ R L ∈ co − RE

L ∉ RE

Page 20: Problemas, problemas y más problemas

¿Qué sabemos de este lenguaje?

= {[M]|M ∉ L(M)}LD

¿Quién es ?LD¯ ¯¯¯¯

Page 21: Problemas, problemas y más problemas

¿Qué sabemos de este lenguaje?

REGULAR = {[M]|L(M) es regular}

Page 22: Problemas, problemas y más problemas

REGULARLD ≤M

REGULAR es no RE, pero

REGULARLD¯ ¯¯¯¯ ≤M

Page 23: Problemas, problemas y más problemas

y afuera de los límites de locomputable

REGULAR REGULAR¯ ¯¯¯ ¯¯¯¯¯¯¯¯¯¯

Page 24: Problemas, problemas y más problemas

¿Otro afuera?

E = {[ , ]|L( ) = L( )}QTM M1 M2 M1 M2

Page 25: Problemas, problemas y más problemas

Resumen: Church-Turing tesisRec: problemas que pueden ser calculados por una computadoraRE: problemas donde respuestas pueden ser verificados por unacomputadoraco-RE: problemas donde respuestas pueden ser refutadas por unacomputadora

Page 26: Problemas, problemas y más problemas

Fijandonos en los decidables¿Es posible resolver un problemaeficientemente?

Eficiencia se mide en número de pasos/tiempo

Page 27: Problemas, problemas y más problemas

Tipos de complejidadesContante Log log Logarítmica Raiz cuadrática Polinómica Polinómica Log

Polinómica cuadrada Exponencial log Exponencial Factorial

O(1)O(log(n)log(n))

O(log(n))O( )n√

O(n)

O(nlog(n))O( )n2

O( )2log(n)

O( )2n

O(n!)

Page 28: Problemas, problemas y más problemas

Tesis de Cobham-EdmondsUn lenguaje puede ser resuelto eficientemente si se decide

en tiempo polinómicoL

Page 29: Problemas, problemas y más problemas

Clase de PTodos los problemas que se pueden resolver en en tiempo

polinomial

Page 30: Problemas, problemas y más problemas

EjemplosReconocer de un AF, AFND y AFND-Reconocer de un APDReconocer de un AP (!Compiladores!)¿Dado un grafo y dos nodos, estos seconectan?¿Dado un número es primo?Etc, ...

w ϵww

n

Page 31: Problemas, problemas y más problemas

Clase de NPTodos los problemas que se pueden resolver en en tiempo

polinomial por una MTND

NP es No determinístico en tiempo polinomial

Page 32: Problemas, problemas y más problemas

Máquina de Turing no DeterminísticoTodos los problemas que se pueden resolver en en tiempo

polinomial por una MTND

NP es No determinístico en tiempo polinomial

Page 33: Problemas, problemas y más problemas

Máquinas de TuringEs 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ΣΓ Σ ⊂ Γq0B B ∈ Γ B ∉ ΣAδQ × Γ → Q × Γ × {der, izq}

Page 34: Problemas, problemas y más problemas

Máquinas de Turing nodeterminí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ΣΓ Σ ⊂ Γq0B B ∈ Γ B ∉ ΣAδQ × Γ → {Q × Γ × {der, izq}}

Page 35: Problemas, problemas y más problemas

Uso el no determinismo para adivinar respuestas

Uso el determinismo para verificar la respuesta

Problemas fáciles de verificar

Page 36: Problemas, problemas y más problemas

Ejemplos de NPSodukoEl problema del agente de viajeUn grafo puede ser coloreado por coloresDeterminar la mejor forma de asignar trabajos atrabajadores

k

Page 37: Problemas, problemas y más problemas

La pregunta más importante encomputación¿ ? o ¿ ?P = NP P ≠ NP

Page 38: Problemas, problemas y más problemas

NP-hardInformalmente, 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 elmás difícil en NP

Page 39: Problemas, problemas y más problemas

NP-complete

Intercección NP y NP-hard

Page 40: Problemas, problemas y más problemas

Ejemplose

Satisfacción Lógica ProposicionalDe un conjunto de números podemos encontrar un conjunto quesume zero

Page 41: Problemas, problemas y más problemas

Ejemplosd

NP-completeHaltingproblem

Page 42: Problemas, problemas y más problemas

Si y , entonces L ∈ NP-complete L ∈ P P = NP

Page 43: Problemas, problemas y más problemas

¿Como resolvemos estos problemas?

AproximaciónAleatoriidadUso derestriccionesParametrizaciónHeurísticas

Page 44: Problemas, problemas y más problemas

Para mayor información visitar el zoológico aquí

Page 45: Problemas, problemas y más problemas

[email protected] ivanvladimir.github.io ivanvladimir

Problemas, problemas, problemas by is licensedunder a

. Creado a partir de la obra en

.

Ivan V. Meza RuizCreative Commons Reconocimiento 4.0 Internacional

License

http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/np_p.html