Tipos
de algoritmos
Significado
de algoritmo
¿Qué
es un algoritmo? Se denomina algoritmo a una combinación de pasos
lógicos dispuestos de forma organizada para resolver un problema. Los
algoritmos ayudan a ordenar el trabajo en numerosas disciplinas. En informática
se utilizan para expresar las ‘instrucciones’ con las que se realizan las funciones,
y se suele expresar mediante diferentes tipos de diagrama. El esquema más
conocido es el diagrama de flujo, que muestra paso por paso como se debe
proseguir, y principalmente, las preguntas que el operador se debe hacer para
proseguir con el siguiente paso y así llegar al final del proceso. Si algún
paso falla, el algoritmo permite “retroceder ordenadamente” la cantidad de
pasos que sean necesarios para corregir el error.
Clasificación
y Tipos de algoritmos
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