Está en la página 1de 5

Complejidad Computacional

La complejidad computacional se encarga de analizar el comportamiento de un


determinado algoritmos analizando su efectividad en tiempo de ejecucin y cuanto
es capaz de consumir de espacio en el ordenador, ayudando a decidir la
confiabilidad del mismo en tiempo y espacio.
Por ende una de las mejores manera es realizando el conteo de operaciones que
dan una estimacin de unidades de tiempo en la que el algoritmo realiza sus
operaciones.
Uno de los mtodos que se pueden aplicar en este tipo de problemas se basan en
mtodos heursticos donde no se encontrara una solucin directa, sino de acuerdo
a distintas pruebas realizadas a partir de ensayos; lo cual no puede generar una
solucin ptima pero al menos puede encontrar una respuesta apropiada,
satisfaga o que se aproxime a los resultados esperados para el problema.
De cualquier manera como todo algoritmo depende internamente de los datos de
entrada, como se comporta dicho algoritmo y en cuanto tiempo puede generar un
dato exacto o aproximado.
Y as como existen mtodos heursticos que que pueden aproximarse al valor real
tambin podemos destacar que como ya se mencion los resultados pueden ser
polinomios en donde los resultados que estos arrojan pueden llegar a dar un
resultado factible a problema que se encuentre con un tiempo y rango mnimo, en
cambio tambin se consideran los de tiempo exponencial, pero estos son mucho
menos considerados para ser aplicados en la solucin de un problemas ya que
pueden llegar a extenderse demasiado en los tiempos en que demore la
ejecucin, es el caso de un problema de orden n^2 donde en este caso el
exponente es dos pues el nmero de comparaciones o entradas que debera ser
es del doble del tamao y en cambio si dicho exponente se viera afectado en un
aumento esto provocara que el tiempo del algoritmo tambin se viera afectado en
un aumento ya que debe realizar un nmero mayor de entradas y la cantidad de
resultados que este arroje puede llegar a tornarse ms extenso de lo que se
esperara cosa que no ayudara en la eficiencia y confiabilidad de los datos que
genere como salida.

Tipos de Problemas

Se pueden destacar diferentes problemas con base en la complejidad del


algoritmo que se est utilizando en el momento e igualmente se implementan con
el tiempo ya antes mencionados como (L, NL, P, P-Completo, NP, NP-Completo,
NP Duro...), pero aun as unos de los ms utilizados y adems mencionados son
tres, los de tipo P, de tipo NP y de tipo NP-Completo.

Tipo P Determinstico: Aquellos problemas para los que se conoce un


algoritmo polinmico que los resuelve, por lo tanto puede llevarse a una
respuesta ms acertada de mtodo determinstico, que el resto de
problemas. Pero puede llegar el punto en el que el problema se vuelve muy
extenso en donde la solucin se sale del rango de los de tipo P.
Ejemplo: la suma de dos vectores A[n], B[n] y cuya suma se almacene en
C[n] en cuyo tiempo de ejecucin sea de O(n).

Tipo NP No Determinstico: es contrario al de tipo p, aunque resuelva el


problema en un tiempo polinmico puede que no se conozca el dato de
salida o resultado as que opta por una solucin aproximada; adems de
que es ms abarcado a los problemas de desicion.
Ejemplo: sera el de saber si un nmero es primo ya que de cierta manera
puede que no se sepa el resultado que se generara, pero aunque hace
parte del tipo NP tambin se conoce que est incluido en los de P puesto
que puede conocerse su resultado.

Tipo NP-Completo: es el subconjunto de los problemas de


decisin en NP tal que todo problema en NP se puede reducir en cada uno
de los problemas de NP-completo, todos los algoritmos conocidos para
problemas NP-completos utilizan tiempo exponencial con respecto al
tamao de la entrada por lo que se puede usar aproximacin, probabilidad,
etc.
Ejemplo: el problema de la subcadena, dado un conjunto de enteros,
existe algn subconjunto cuya suma sea exactamente cero?
De {7, 3, 2, 5, 8}, la respuesta es SI, porque el subconjunto {3, 2, 5}
suma cero. Este problema es NP-completo.

Ejemplo
Problema que implementa el de tipo NP el del algoritmo de floyd, es una
implementacin del camino mnimo en donde se busca conocer el camino mas de
menor costo entre dos puntos o nodos, que no se repitan nodos y que regrese al
punto de partida y su implementacin es ms sencilla ya que este problema utiliza
grafos para resolver este problema, aunque su crecimiento es exponencial de
orden O(n^3) por la presencia del triple bucle.

Se muestra el camino ms ptimo y un camino heurstico, en comparacin,


aunque el heurstico no acierta el resultado muestra un aproximado del mismo que
puede o no ser factible de acuerdo a las circunstancias.

Conclusin

Ya como se ha trabajado desde el principio toda la implementacin de un


algoritmo est basada en su optimizacin a determinados datos de entrados, que
tan eficiente es en tiempo y costo y si existen muchas formas de llegar a una
solucin que podra o no ser la mejor pero de all es donde entra la clasificacin de
tipos de problemas en donde determinados algoritmos son mejores que otros para
solucionar los problemas, aunque lleguen al resultado pero ante todo est la
optimizacin y como afecta esto al ordenador por lo que para conseguir esto se
debe analizar detalladamente el tipo de problema que se est manejando y de esa
manera llevarlo al tipo de algoritmo que puede solucionarlo, as pues que nos
conduzca con exactitud o solo nos d una aproximacin como es el caso de los
algoritmos que implementan mtodos heursticos.
En fin aunque no se puede usar en todos el que es capaz de implementar todo lo
esperado es el que soluciona problemas de tipo P ya que no arroja
aproximaciones y las da en un corto periodo, pero como se ha dicho este no
soluciona todo tipo de problema, pero es el ms confiable a la hora de buscar
soluciones.

Bibliografas
http://www.ctr.unican.es/asignaturas/programacion2/apuntes/05_voraces_3en1.pdf
http://es.wikipedia.org/wiki/NP-completo
http://www.algoritmia.net/articles.php?id=30
http://es.wikipedia.org/wiki/Problema_de_la_suma_de_subconjuntos

Trabajo complejidad computacional


Jos Alberto Martnez Villegas
Guillermo Hernndez

También podría gustarte