Se ha
clasificado a los algoritmos de diversas formas, de acuerdo con algunos de sus
atributos. Por ejemplo:
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.
No hay comentarios.:
Publicar un comentario