Matemáticas

10 tipos de algoritmos y sus características


Entre los distintos tipos de algoritmos que existen destacan los que se clasifican según su sistema de signos y según su función. Un algoritmo es una serie de pasos que se realizan para resolver un problema, ejecutar una tarea o realizar un cálculo.

Por definición, generalmente son diseños rigurosos y lógicos, como operaciones matemáticas, que han probado ser óptimos para solucionar alguna dificultad en cuestión. Básicamente un algoritmo es la mejor solución conocida para un problema en particular. Según su estrategia y su función existen muchos tipos de algoritmos.

Algunos de estos tipos son: algoritmos dinámicos, algoritmos al reverso, algoritmos de fuerza bruta, algoritmos oportunistas, algoritmos de marcaje y algoritmos aleatorios, entre otros.

Los algoritmos tienen distintos usos en muchos campos. Desde el área de computación, pasando por las matemáticas hasta el área de marketing. Existen miles de algoritmos apropiados para resolver problemas en cada área.

Tipos de algoritmos según su sistema de signos

Algoritmos cualitativos 

Estos algoritmos son aquellos en los que se colocan elementos verbales. Un ejemplo de este tipo de algoritmos son las instrucciones o los “paso a paso” que se dan de formal oral.

Tal es el caso de las recetas de cocina o las instrucciones para hacer un trabajo de bricolaje.

Algoritmos cuantitativos

Son lo contrario de los algoritmos cualitativos, porque se colocan elementos numéricos. Este tipo de algoritmos se utilizan en las matemáticas para realizar cálculos. Por ejemplo, para encontrar una raíz cuadrada o resolver una ecuación.

Algoritmo computacional

Son los algoritmos que se hacen con una computadora; muchos de estos algoritmos son más complejos y por eso necesitan ser realizados a través de una máquina. También pueden ser algoritmos cuantitativos que se optimizan.

Algoritmo no computacional  

Estos algoritmos son aquellos que no pueden realizarse con una computadora; por ejemplo, la programación de un televisor.

Tipos de algoritmos 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 práctica común en la industria aérea desde principios de la década de 1990.

El algoritmo de marcaje es una práctica 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 o aleatorios

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 apuesta 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.

Referencias

  1. Algorithm: types and classification. Recuperado de gonitsora.com
  2. Heuristic algorithms. Recuperado de students.cei.upatras.gr
  3. What is algorithmic pricing (2016). Recuperado de simplicable.com
  4. Numeral analysis. Recuperado de wikipedia.org
  5. Probabilistic algorithms (2001). Recuperado de users.abo.fi
  6. What are algorithms (2015). Recuperado de simplicable.com
  7. Monte carlo algorithm. Recuperado de technopedia.com
  8. Tipos de algoritmos. Recuperado de lostipos.com
  9. What are reverse algorithms? Recuperado de simplicable.com