Algoritmo
Es un conjunto prescrito de
instrucciones o reglas bien definidas, ordenadas y finitas que permite llevar a
cabo una actividad mediante pasos sucesivos que no generen dudas a quien deba
hacer dicha actividad.
TIPOS DE ALGORITMOS
A) Según el sistema
de signos con el que describen los
pasos a seguir, se reconocen:
–Algoritmos cualitativos: cuando se hace a través de palabras,
es decir, las instrucciones son verbales. Sucede, por ejemplo, con recetas de
cocina.
–Algoritmos cuantitativos: cuando se hace a través de cálculos
numéricos. Se puede hacer un algoritmo, por ejemplo, para obtener la raíz
cuadrada de un número.
B) Según su función,
los algoritmos pueden ser:
–Algoritmos de ordenamiento: secuencian los elementos que ingresan
a partir de un cierto orden, en general, según un orden numérico o léxico.
–Algoritmos de
búsqueda: al
contrario de realizar operaciones o secuenciar elementos, se dedica a encontrar
dentro de una lista que ingresa, uno o varios elementos en particular que cumplan
con el conjunto de condiciones dadas.
–Algoritmos de
encaminamiento:
deciden de qué modo se deberá transmitir algo que llega, y cómo seguirá un
conjunto de pasos encadenados. Se dividen fundamentalmente entre adaptativos y estáticos, los primeros con cierta capacidad de
aprendizaje y ajuste a la circunstancia, mientras que los segundos funcionan
mecánicamente, siempre del mismo modo. Es importante decir que los algoritmos
de encaminamiento cuentan con una propia
subdivisión, según el camino que se toma para que la
transmisión llegue de manera efectiva (ejemplos de estos tipos son: por el
camino más corto, de manera óptima, basado en el flujo, etc.).
C) También los algoritmos han sido clasificados
según la estrategia que se utiliza para llegar al resultado.
Veamos algunos ejemplos:
–Algoritmos probabilísticos: no se puede estar seguro de la
exactitud de la respuesta que darán. Se agrupan en distintos subtipos, pero con
esa premisa: o bien presentan soluciones aproximadas del problema, o bien
presentan soluciones que pueden ser correctas pero también erróneas.
–Algoritmo cotidiano: es el que se da en la vida común de
las personas, no se aplica en sistemas informáticos ni en nada ajeno al día a
día. Muchas de las decisiones que se toman desde que uno se despierta por la
mañana pertenecen a este grupo
–Algoritmo heurístico: abandona alguno
de los objetivos como recurso para terminar llegando a la solución. En general,
son utilizados cuando no existe una solución mediante las vías tradicionales.
–Algoritmo de escalada: se comienza con una solución insatisfactoria (que no
cumple la entrada y la salida), y se la va modificando aproximándose a lo que
se busca. En algún momento, estaremos cerca de (o llegaremos a) la solución
correcta.
–Algoritmo voraz: Con la idea de llegar
a una solución óptima definitiva, elige analizar cada paso como único y elegir
la solución óptima para ese paso.
–Algoritmo determinista: es
completamente lineal (cada paso tiene un paso sucesor y un paso predecesor) y
por lo tanto predictivo, si se conocen sus entradas y su forma de proceder. El
algoritmo de Euclides, que permite averiguar el máximo común divisor entre dos
números, responde a este tipo. Se distinguen de los no deterministas, donde el algoritmo
tiene un comportamiento en forma de árbol.
DIAGRAMA DE FLUJO