Algoritmia

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Algoritmia

Como algoritmo sabemos que es un conjunto ordenado y finito de operaciones que nos
permiten encontrarla solución a un problema.

Los primeros algoritmos registrados datan desde la época en Babilonia, y son basados en
el área de matemáticas con el objetivo de resolver un problema usando una secuencia de
cálculos más simples. Esta palabra tiene su origen en el nombre de un famoso matemático
y erudito árabe del siglo IX, AlKhorezmi.

Para nosotros, en la carrera en que nos encontramos, el algoritmo lo usamos para


desarrollar una secuencia de pasos que nos permita resolver un problema usando la
computadora. Por esta razón, la algoritmia, es uno de los pilares de la computación.

El análisis de algoritmos es una parte importante de la Teoría de complejidad


computacional, que provee estimaciones teóricas para los recursos que necesita cualquier
algoritmo que resuelva un problema computacional dado. Estas estimaciones resultan ser
bastante útiles en la búsqueda de algoritmos eficientes.

Una definición formal para el algoritmo es:

“Un algoritmo es un procedimiento para resolver un problema cuyos pasos son concretos
y no ambiguos. El algoritmo debe ser correcto, de longitud finita y debe terminar para
todas las entradas”

Importancia de los algoritmos en computación


• Evitan reinventar soluciones
Para algunos problemas a resolver mediante una computadora ya existen buenos
algoritmos para solucionarlos, ya que existe un análisis de sus propiedades
(confianza, eficiencia, velocidad, etc.). Por lo que a no ser que se esté investigando
aún más la solución de ese problema es conveniente utilizar un algoritmo conocido.
• Ayudar a generar nuevas soluciones con base en otras ya conocidas •
No siempre existe un algoritmo desarrollado para resolver un problema.
No existe regla general de creación de algoritmos. Muchos de los principios de
proyecto de algoritmos ilustrados por algunos de los algoritmos que estudiaremos
son importantes en todos los problemas de programación. El conocimiento de los
algoritmos bien definidos provee una fuente de ideas que pueden ser aplicadas a
nuevos algoritmos.
• Generación de herramientas y software particular que emplea algoritmos específicos sin
importar la tecnología de implementación
En muchos casos una solución especifica requiere la implementación de otro tipo
algoritmos específicos y no se pueden cambiar. P.g. Compresión de datos,
seguridad, almacenamiento de datos, comunicaciones, etc.
En Ciencias Computacionales 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 (caso) del problema en cuestión.
Para ciertos problemas es posible encontrar más de un algoritmo capaz de resolverlos.
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.
El análisis de la eficiencia de los algoritmos (memoria y tiempo de ejecución) consta de dos
fases: Análisis A Priori y Prueba A Posteriori.
En la Prueba A Posteriori (experimental o empírica) se recogen estadísticas de
tiempo y espacio consumidas por el algoritmo mientras se ejecuta.
La estrategia empírica consiste en programar los algoritmos y ejecutarlos en un
computador sobre algunos ejemplares de prueba, haciendo medidas para:
• Una máquina concreta,
• Un lenguaje concreto,
• Un compilador concreto
• Datos concretos
El Análisis A Priori (o teórico) entrega una función que limita el tiempo de cálculo de
un algoritmo.
Consiste en obtener una expresión que indique el comportamiento del algoritmo en
función de los parámetros que influyan. Esto es interesante porque: Permite la
predicción del costo del algoritmo. Es aplicable en la etapa de diseño de los
algoritmos.
La estrategia experimental (Análisis A Posteriori ) consiste en implementar y con
base en varias instancias del problema aproximar el comportamiento experimental
con una función que modela el experimento.

La estrategia teórica (Análisis A Priori ) tiene como ventajas:


 No depende de la computadora ni del lenguaje de programación, ni
siquiera de la habilidad del programador.
 Permite evitar el esfuerzo inútil de programar algoritmos ineficientes y de
desperdiciar tiempo de máquina para ejecutarlos.
 Permite conocer la eficiencia de un algoritmo cualquiera que sea el
tamaño del ejemplar al que se aplique.

También podría gustarte