Tratabilidad y NP-Completitud - PowerPoint PPT Presentation

About This Presentation
Title:

Tratabilidad y NP-Completitud

Description:

Tratabilidad y NP-Completitud Clases de problemas Muchos problemas se resuelven con algoritmos polin micos (O(nk)): problemas tratables Hay problemas que no se ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 11
Provided by: pepep9
Category:

less

Transcript and Presenter's Notes

Title: Tratabilidad y NP-Completitud


1
Tratabilidad y NP-Completitud
2
Clases de problemas
  • Muchos problemas se resuelven con algoritmos
    polinómicos (O(nk)) problemas tratables
  • Hay problemas que no se pueden resolver problema
    de la parada.
  • Hay problemas que no se pueden resolver en tiempo
    polinónico (?(nk)) problemas intratables

3
Problema de la parada
  • No existe ningún algoritmo que diga si un
    programa va a parar en tiempo finito con una
    entrada dada
  • Supongamos que hay una función H(P,I) que lo
    resuelve.
  • Construimos D(P)
  • If H(P,P) then loop forever
  • else stop
  • Qué debe hacer D(D)?

4
Problemas NP-completos
  • Hay una clase de problemas que no se sabe si son
    tratables problemas NP-completos
  • Nadie ha encontrado algoritmos polinómicos para
    ninguno de ellos.
  • Algunos muy parecidos a problemas tratables
  • Ciclos eulerianos y hamiltonianos.
  • Satisfabilidad de 2-FNC y 3-FNC

5
Clases P, NP y NPC
  • La clase P contiene todos los problemas
    tratables.
  • La clase NP contiene todos los problemas que se
    pueden verificar en tiempo polinómico.
    Claramente P?NP.
  • La clase NPC contiene todos los problemas
    NP-completos

6
Definicion NPC
  • Un problema es NP-Completo si
  • Pertenece a NP.
  • Es tan duro como cualquier otro problema en NP
    (es NP-duro).
  • Un problema es NP-duro si el que haya un
    algoritmo polimómico para él implica que lo hay
    para todos los problemas en NP.

7
PNP?
  • Observa que si hubiera un algoritmo polinómico
    para cualquier problema en NPC entonces PNP.
  • La hipótesis más aceptada es que P?NP.
  • En general, si os encontráis un problema NPC
    mejor buscáis alternativas (simplificaciones,
    aproximaciones, etc.).

8
Demostraciones de NPC
  • Se suelen usar problemas de decisión, cuya
    respuesta en SI o NO.
  • Se demuestra que el problema están en NP.
  • Se reduce un problema que se sabe está en NPC a
    este problema.

9
Reducción polinómica
  • Demuestra que un problema en NP-duro.
  • Se parte de un problema p conocido en NPC.
  • Se construye un algoritmo polinómico que
    transforma p en nuestro problema.
  • Se concluye que si podemos resolver el nuestro en
    tiempo polinómico, p se resuelve en tiempo
    polinómico.

10
Consejo
  • Si te encuentras con un problema que no eres
    capaz de resolver de manera eficiente, sospecha
    que puede ser NP-duro.
  • Intenta demostrar que lo es.
  • Si lo es, busca alternativas, porque mucha gente
    inteligente ha intentado diseñar algoritmos
    eficientes y no lo ha logrado.
Write a Comment
User Comments (0)
About PowerShow.com