Algoritmo computacional
DEFINICIÓN:Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema.
Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación.
Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador.
CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos:
- Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.
- Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.
- Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.
- Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.
CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características:
- 1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.
PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:
· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:

Según su función
Algoritmo de marcaje
Este algoritmo utiliza la automatización para fijar los precios de forma dinámica, basándose en factores como el comportamiento del cliente.
Es la práctica de fijar automáticamente un precio para los elementos en rebaja, para maximizar la ganancia del vendedor. Ha sido una practica común en la industria aérea desde principios de la década de 1990.
El algoritmo de marcaje es una practica común en las industrias altamente competitivas, como la de viajes y el comercio en línea.
Este tipo de algoritmo puede ser extremadamente complejo o relativamente simple. En muchos casos pueden ser autoaprendidos o pueden ser optimatizados continuamente con pruebas.
El algoritmo de marcaje puede ser impopular con los clientes a medida que las personas tienden a valorar la estabilidad y la imparcialidad.
Algoritmos probabilísticos
Es un algoritmo donde el resultado o la manera en que se obtiene el resultado depende de la probabilidad. A veces también son llamados algoritmos aleatorios.
En algunas aplicaciones el uso de este tipo de algoritmos es natural, como por ejemplo cuando se simula el comportamiento de algún sistema existente o planeado a lo largo de un tiempo. En este caso el resultado es fortuito.
En otros casos el problema a ser resuelto es determinista pero puede ser transformado en uno fortuito, y puede resolverse al aplicar un algoritmo de probabilidad.
Lo bueno de este tipo de algoritmos es que su aplicación no requiere de conocimiento sofisticado o matemático. Existen tres tipos principales: numérico, Montecarlo y Las Vegas.
El algoritmo numérico usa la aproximación, en vez de manipulaciones simbólicas, para resolver los problemas de análisis matemáticos. Pueden ser aplicados en todos los campos de la ingeniería y las ciencias físicas.
Por su parte, los algoritmos de Montecarlo producen respuestas basándose en la probabilidad. Como resultado, las soluciones producidas por este algoritmo pueden o no ser correctas, ya que tienen un cierto margen de error.
Es utilizado por los desarrolladores, por los matemáticos y por los científicos. Se contrastan con los algoritmos Las Vegas.
Por último, los algoritmos Las Vegas se caracterizan porque el resultado siempre será correcto, pero el sistema puede utilizar más de los recursos anticipados o más tiempo del estimado.
En otras palabras: estos algoritmos hacen una especie de apuestan con el uso de los recursos, pero siempre producen un resultado preciso.
Programación dinámica
La palabra dinámico se refiere al método en el cual el algoritmo computa el resultado. A veces la solución de un elemento del problema depende de la solución de una serie de problemas más pequeños.
Por lo tanto, para resolver el problema se deben volver a computar los mismos valores una y otra vez para solucionar subproblemas más pequeños. Pero esto crea un desperdicio de ciclos.
Para remediar esto, se puede utilizar la programación dinámica. En este caso básicamente se recuerda el resultado de cada subproblema; cuando se necesite, se utiliza ese valor en vez de computarlo una y otra vez.
Algoritmos heurísticos
Estos algoritmos son aquellos que encuentran soluciones entre todas las posibles, pero no garantizan que la mejor de estas será encontrada. Por ese motivo son considerados como algoritmos aproximados o no precisos.
Usualmente encuentran una solución cercana a la mejor, y además la encuentran rápida y fácilmente. Generalmente este tipo de algoritmos se usa cuando es imposible encontrar una solución por la vía normal.
Algoritmos de vuelta atrás
Son algoritmos que han sido revocados al observar su comportamiento. Típicamente son aproximaciones del algoritmo original que son construidos para propósitos como competición o estudios.
Los algoritmos pueden ser revocados para estudiar su impacto en los mercados, en la economía, en el marcaje de precios, en las operaciones y en la sociedad.
Algoritmo voraz
En muchos de los problemas, realizar decisiones voraces lleva a soluciones óptimas. Este tipo de algoritmos es aplicable a problemas de optimización.
En cada paso de un algoritmo voraz se toma una decisión lógica y óptima, de manera que al final se llegue a la mejor solución global.
Pero hay que tener en cuenta que una vez que se toma una decisión no se puede corregir o cambiar en el futuro.
Probar la veracidad de un algoritmo voraz es muy importante, ya que no todos los algoritmos de esta clase llevan a solución global óptima.

No hay comentarios:
Publicar un comentario