problemas, problemas y más problemas

Post on 14-Apr-2017

210 Views

Category:

Education

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Problemas, problemas, problemas

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

Ivan Meza

ReducciónUn problema se reduce a A B

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

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

Reducción

Verdadero

Falso

W calcular f f(w) Máquina B

R

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

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

¿Qué sabemos de este lenguaje?

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

Es indecidible

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

¿Qué sabemos de este lenguaje?

Sabemos HALT DECIDER≤M

DECIDER indecidible

¿Qué sabemos de este lenguaje?

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

Es indecidible

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

¿Qué sabemos de este lenguaje?

Sabemos ONESAMT ≤M

ONES indecidible

HALT ≤M AMT

HALT y son REAMT

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

¿Qué sabemos de este lenguaje?

ONLY ONESLD ≤M

ONLYONES es no RE

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

¿Qué sabemos de este lenguaje?

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

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

¿Qué sabemos de este lenguaje?

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

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

¿Qué sabemos de este lenguaje?

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

REGULARLD ≤M

REGULAR es no RE, pero

REGULARLD¯ ¯¯¯¯ ≤M

y afuera de los límites de locomputable

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

¿Otro afuera?

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

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

Fijandonos en los decidables¿Es posible resolver un problemaeficientemente?

Eficiencia se mide en número de pasos/tiempo

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!)

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

en tiempo polinómicoL

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

polinomial

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

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

polinomial por una MTND

NP es No determinístico en tiempo polinomial

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

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}

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}}

Uso el no determinismo para adivinar respuestas

Uso el determinismo para verificar la respuesta

Problemas fáciles de verificar

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

k

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

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

NP-complete

Intercección NP y NP-hard

Ejemplose

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

Ejemplosd

NP-completeHaltingproblem

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

¿Como resolvemos estos problemas?

AproximaciónAleatoriidadUso derestriccionesParametrizaciónHeurísticas

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

ivanvladimir@gmail.com 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

top related