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