2. COMPLEJIDAD COMPUTACIONAL
La complejidad computacional estudia la eficiencia de
los algoritmos estableciendo su efectividad de acuerdo
al tiempo de corrida y al espacio requerido en la
computadora o almacenamiento de datos, ayudando a
evaluar la viabilidad de la implementación práctica en
tiempo y espacio.
3. TIPOS DE PROBLEMAS
Problemas Indecidibles
Son problemas para los cuales no se puede escribir
un algoritmo para su solución, por lo tanto son los
problemas de
complejidad más alta.
Problemas decidibles
Son problemas para los cuales se puede escribir por
lo menos
un algoritmo para su solución.
4. DENTRO DE LOS PROBLEMAS DECIDIBLES
ESTÁN:
Problemas Tratables
Problemas Intratables
Aquellos para los que no es factible obtener su solución.
Aquellos para los que existe al menos un algoritmo
capaz de resolverlo en un tiempo razonable.
5. CLASIFICANDO LOS PROBLEMAS POR
COMPLEJIDAD
Clase NP
Son los problemas para los cuales la factibilidad del problema
utilizando el correspondiente problema de decisión, puede ser
verificada en tiempo polinomial, sin embargo, el problema solo puede
resolverse con algoritmos no determinísticos.
Clase P
Si un problema está en la clase P, se dice que es polinomial y
significa que existe un algoritmo de tiempo polinomial para su
solución.
Clase NP-Completos
Es el subconjunto de los problemas de decisión en NP tal que todo
problema en NP se puede reducir en cada uno de los problemas de
NP-completo. Se puede decir que los problemas de NP-completo son
los problemas más difíciles de NP y muy probablemente no formen
parte de la clase de complejidad P