Sei sulla pagina 1di 11

Problemas Complejos

Lida Barba Maggi, Ing. PhD.


Introducción
• En Computación, cuando hablamos de un problema, nos estamos refiriendo
a un conjunto de preguntas, donde cada pregunta es una instancia del
problema.
• Ejemplo: ¿Es 7 un número primo?“, ¿Es 2513414231 un número primo?"
En ambos casos el problema se puede expresar como: “
¿Es n un número primo?"
Tipos de Problemas
• Los problemas se pueden clasificar en función de la complejidad de tiempo o
espacio de los algoritmos utilizados para calcular una respuesta para cada
instancia del problema.
• Uno de los problemas NP-completos (Nondeterministic Polynomial time:
Tiempo Polinomial no determinístico), más fáciles de entender es el
Problema de SatisfacciónBooleana (también conocido como satisfiability, o
SAT).
Problemas NP
• NP son problemas cuya solución se puede
verificar mediante un algoritmo eficiente. Y eso 𝑁𝑃 ⊆ 𝑃
es diferente de P, el conjunto de problemas cuya
solución se puede encontrar mediante un
algoritmo eficiente. 𝑃 ⊈ 𝑁𝑃
• Es posible demostrar que cada problema en P
también está en NP, pero no es seguro que cada
problema en NP está también en P.
Problema SAT
• El Problema de Satisfacción Booleana es
de tipo NP completo. Un problema es
NP-completo si pertenece al conjunto (o
"clase") de los problemas más difíciles en
NP.
• Más difícil en el sentido de que cada
problema que exista en NP puede
reducirse a ellos. (De este modo, ser
capaz de resolver un problema NP-
completo equivale a ser capaz de resolver
todos los problemas en NP).
Complejidad Computacional
• NP es el conjunto de problemas de decisión para los que existe una máquina
de Turing no determinista que produciría un valor de 1, o 0, (equivalente a
verdadero o falso).
• En un problema SAT la complejidad puede ser denotada mediante como
𝑂 𝑛𝑘 pasos donde k es una constante y n es la complejidad de la entrada. A
menudo nos referimos a esa cantidad de pasos (o tiempo de ejecución) como
un polinomio, por lo tanto, tiempo polinomial no determinista o NP.
Máquina de Turing – problemas NP
• Una máquina de Turing es básicamente un objeto matemático que formaliza
esa idea de algoritmo (en el modelo de computación de Turing).
• Una máquina de Turing no determinista (NDTM) solo puede existir en un
universo donde el tiempo es un plano bidimensional.
• Una máquina determinista de Turing (DTM), calcula en tiempo
unidimensional, y se define en términos de una función de transición, a
diferencia de NDTM, que se basa en una relación de transición.
Objetivo del Problema de Satisfacción
Booleana
• El objetivo del Problema de Satisfacción Booleana (o SAT) es el
problema de determinar si una proposición de enunciado * es
satisfactoria.
• Un enunciado proposicional es satisfactorio cuando es posible
asignar algunos valores verdadero-falso para las variables en el
enunciado de modo que el enunciado arroje Verdadero. De lo
contrario, la declaración no es satisfactoria.
• Una declaración proposicional es simplemente una cadena
compuesta de variables y operaciones booleadas de conjunción
(and), disyunción (or) y negación (not):
Ejemplo
• Basado en la forma normal conjuntiva (FNC):
• Siendo f una función booleana en FNC, con 4 variables, la representación
sería:

• Planteamiento: Existe una asignación para las variables x1, x2, x3 y x3 que
haga verdadera la función f ?
Otros problemas NP
• Problema del Agente Viajero (Traveling Salesman Problem TSP).
• Programación Lineal Entera.
Referencias
• Bibliografía declarada en el sílabo.

Potrebbero piacerti anche