Sei sulla pagina 1di 14

COMPLEJIDAD COMPUTACIONAL

Anlisis de Algoritmos Otoo 2009

DEFINICION

La complejidad computacional estudia la dificultad inherente de problemas de importancia terica y/o prctica.

CLASIFICACION DE PROBLEMAS
Los problemas matemticos se pueden dividir en primera instancia en dos grupos: Problemas indecidibles: Aquellos que no se pueden resolver mediante un algoritmo. Problemas decidibles: Aquellos que cuentan al menos con un algoritmo para su cmputo.

Sin embargo, que un problema sea DECIDIBLE no implica que se pueda encontrar su solucin, pues muchos problemas que disponen de algoritmos para su resolucin son inabordables para un computador por el elevado nmero de operaciones que hay que realizar para resolverlos. Esto permite separar los problemas decidibles en dos:

INTRATABLES: Aquellos para los que no es factible obtener su solucin. TRATABLES: Aquellos para los que existe al menos un algoritmo capaz de resolverlo en un
tiempo razonable.
No admiten Algoritmos razonables PROBLEMAS INTRATABLES PROBLEMAS TRATABLES Admiten Algoritmos razonables

PROBLEMAS INTRATABLES

Los problemas que pueden ser resueltos en teora, pero no en la prctica. Qu se puede y qu no en la prctica es un tema debatible, pero en general slo los problemas que tienen soluciones de tiempos polinomiales son solubles para ms que unos cuantos valores. CASO: Dentro de una empresa el jefe propone obtener un mtodo para determinar si o no cualquier conjunto dado de especificaciones para un nuevo componente pueden ser satisfechas de alguna manera y si es as, se debe construir el diseo que satisfaga dichas especificaciones.

POSIBLE SOLUCION

Tratar de probar que el problema no solo es tan difcil; que no se puede resolver; y adems que pertenece a una clase de problemas que no tiene solucin. Se puede resolver el problema para ciertas instancias del mismo, o resolver un problema menos ambicioso.

ALGORITMOS BUENOS Y MALOS


V/S
Algoritmo Bueno: Es aquel para el cual existe un algoritmo Polinomial Determinstico que lo resuelva. Algoritmo Malo: Es aquel para el cual el algoritmo no existe. Problema Intratable: Si es muy difcil que un algoritmo de tiempo polinomial lo resuelva.

Los problemas pueden clasificarse tambin atendiendo a su COMPLEJIDAD


Clase P: Aquellos problemas para los que se conoce un algoritmo polinmico que los resuelve. Los algoritmos que los resuelven son deterministas. Clase NP: Para otros problemas, sus mejores algoritmos conocidos son no deterministas**. Por tanto, los problemas de la clase P son un subconjunto de los de la clase NP, pues slo cuentan con una alternativa en cada paso. Clase NP-Completo: Un problema muy complejo, lo cual bsicamente significa que es imposible encontrar un algoritmo eficiente para encontrar una solucin ptima.

**
Algoritmos Determinsticos: Tiene la propiedad de que el resultado de cada operacin, se define en forma nica. Algoritmos no-Deterministas: Un algoritmo no determinista es una herramienta terica imposible en la realidad. Un Algoritmo no Deterministico es polinomialmente acotado si hay un polinomio p tal que para cada entrada de tamao n para la cual la respuesta es si, hay alguna ejecucin del algoritmo que produce una salida si, en p(N) pasos, como mximo.

PROBLEMAS P, NP Y NP-COMPLETOS

CLASE P
Los algoritmos de complejidad polinmica se dice que son tratables en el sentido de que suelen ser abordables en la prctica. Los problemas para los que se conocen algoritmos con esta complejidad se dice que forman la clase P. Aquellos problemas para los que la mejor solucin que se conoce es de complejidad superior a la polinmica, se dice que son problemas intratables. Seria muy interesante encontrar alguna solucin polinmica (o mejor) que permitiera abordarlos. Ejemplos: Todos los algoritmos a los que se les ha podido establecer su tiempo de ejecucin.

PLOBLEMAS P
Si se tiene un algoritmo de ordenacin que requiere un tiempo O(n2) es ineficiente, mientras que un algoritmo de multiplicacin matricial de O(n2logn), sera un descubrimiento asombroso. Se puede decir que un algoritmo es eficiente si es mejor que el algoritmo evidente, o quiz si se trata del mejor algoritmo posible para resolver el problema. Existen problemas para los cuales hasta el mejor algoritmo posible requiere una cantidad de tiempo exorbitante, incluso para casos pequeos. La respuesta es que un algoritmo es eficiente si existe un polinomio p(n) tal que el algoritmo puede resolver cualquier caso de tamao n un tiempo que est en O(p(n)); este algoritmo es de tiempo polinmico.

Los algoritmos de complejidad polinmicas se dice que son tratables en el sentido de que suelen ser abordables en la prctica.

CLASE NP
Algunos de estos problemas intratables pueden caracterizarse por el curioso hecho de que puede aplicarse un algoritmo polinmico para comprobar si una posible solucin es vlida o no. Esta caracterstica lleva a un mtodo de resolucin no determinista consistente en aplicar heursticos para obtener soluciones hipotticas que se van desestimando (o aceptando) a ritmo polinmico. Los problemas de esta clase se denominan NP (la N de no-deterministas y la P de polinmicos). Los problemas de la clase P son subconjunto de los de clase NP. Ejemplos: Torres de Hanoi, Ordenacin por el mtodo Shell

CLASE NP-COMPLETOS
Se conoce una amplia variedad de problemas de tipo NP, de los cuales destacan algunos de ellos de extrema complejidad. Grficamente se puede decir que algunos problemas se encuentran en la "frontera externa" de la clase NP. Son problemas NP, y son los peores problemas posibles de clase NP. Estos problemas se caracterizan por ser todos "iguales" en el sentido de que si se descubriera una solucin P para alguno de ellos, esta solucin sera fcilmente aplicable a todos ellos. Actualmente hay un premio de prestigio equivalente al Nobel reservado para el que descubra semejante solucin. Es ms, si se descubriera una solucin para los problemas NP-completos, esta sera aplicable a todos los problemas NP y, por tanto, la clase NP desaparecera del mundo cientfico al carecerse de problemas de ese tipo. Realmente, tras aos de bsqueda exhaustiva de dicha solucin, es hecho ampliamente aceptado que no debe existir, aunque nadie ha demostrado, todava, la imposibilidad de su existencia.

Potrebbero piacerti anche