sábado, 14 de junio de 2008

Capítulo 1 - Introducción.

En las Ciencias de la Computación cuando se dice que un problema tiene solución, significa que existe un algoritmo susceptible de implantarse en una computadora, capaz de producir la respuesta correcta para cualquier instancia del problema en cuestión.

Para ciertos problemas es posible encontrar más de un algoritmo capaz de resolverlos, lo cual nos enfrenta al problema de escoger alguno de ellos. La tarea de decidir cuál de ellos es el mejor debe basarse en criterios acordes a nuestros intereses. En la mayoría de los casos la elección de un buen algoritmo está orientada hacia la disminución del costo que implica la solución del problema; bajo este enfoque es posible dividir los criterios en dos clases:

a) Criterios orientados a minimizar el costo de desarrollo: claridad, sencillez y facilidad de implantación, depuración y mantenimiento.
b) Criterios orientados a disminuir el costo de ejecución: tiempo de procesador y cantidad de memoria utilizados.

Si el programa que implanta el algoritmo se va a ejecutar unas cuantas veces, el costo de desarrollo es dominante, en este caso se debe dar más peso a los primeros criterios. Por el contrario, si el programa se va a utilizar frecuentemente, dominará el costo de ejecución, y por ende, se debe elegir un algoritmo que haga uso eficiente de los recursos de la computadora, es decir, se le debe evaluar prioritariamente bajo los criterios de la segunda clase. En cualquier caso, ninguno de los criterios de evaluación debe eliminarse por completo; pues, por ejemplo, si se implanta un sistema con algoritmos muy eficientes pero confusos, puede suceder que después no sea posible darle el mantenimiento adecuado.

Los recursos que consume un algoritmo pueden estimarse mediante he­rramientas teóricas y constituyen, por lo tanto, una base confiable para la elección de un algoritmo. En las Ciencias de la Computación, la actividad dedicada a determinar la cantidad de recursos que consumen los algoritmos se le denomina análisis de algoritmos.

La primera sección de este capítulo presenta los conceptos que nos permi­tirán introducir después, en secciones posteriores, las técnicas utilizadas para la medición de los recursos que consume un algoritmo y las bases teóricas sobre las que estas se fundamentan.

Referencias: http://docencia.izt.uam.mx/pece/pagina_academica/AA/

No hay comentarios: