Logotipo de Orbis Sapientia Elearning Services

Servicios de formación. Especialistas en E-learning.

Progreso de Tema:

Características de los algoritmos

Todo algoritmo debe cumplir con una serie de características para ser identificado como tal.

De igual modo, los pasos o acciones del algoritmo que soluciona un problema, no necesariamente han de ser siempre la mejor solución. Esto quiere decir que podemos encontrarnos con diferentes algoritmos para solucionar un problema. Debemos buscar pues, aquel que permite solucionar el problema de la forma más eficaz y eficiente posible: en menos pasos, con menos recursos, con la menor probabilidad de error, más claro y legible.

En cualquier caso, las características mínimas que un algoritmo debe tener son:

  • Precisión. Existe un orden en la secuencia de pasos y cada uno de ellos, se encuentra definido perfectamente en su contenido. No existirá ambigüedad en ningún momento.
  • Determinista y concreto. No importa cuántas veces se lleve a cabo que el resultado será siempre el mismo.
  • Finitud. Siempre finaliza en un número perfectamente conocido de pasos.
  • Único punto de entrada y salida. Solamente podemos entrar a un algoritmo desde un punto. Su final debe ser siempre también otro paso. No habrá más.

En algunos lugares se habla de modularidad razonando el que un problema, si se puede dividir en otros más pequeños, será más fácil encontrar la solución adecuada: algo totalmente cierto. Sin embargo, cada uno de esos problemas más pequeños tendrá su algoritmo de resolución. El algoritmo que resuelve el problema grande, lo que hará será hacer uso de esos otros algoritmos más pequeños. Estos algoritmos pequeños, no son modulares y por tanto no podemos hablar de modularidad como una característica base de los algoritmos.

Si podemos y debemos dividir un problema grande en otros más pequeños (si es posible) para que sea más fácil mantener, realizar cambios y encontrar la solución más eficaz y eficiente pero eso no es una característica, es más bien una de las partes en que se divide un algoritmo:

  • Entrada. Se preparan todos los datos de los que hará uso el algoritmo: constantes, variables, tipos de datos personalizados, etc.
  • Proceso. Con los datos de la entrada más aquellos que sean necesarios obtener de fuentes externas (usuario, bases de datos, otros), procesamos todo.
  • Salida. Finalizamos el resultado obtenido del procesamiento del paso anterior.

Un ejemplo o símil con la vida real sería preparar una tortilla. La entrada sería preparar los ingredientes y utensilios: huevos, sal, otros ingredientes que queramos utilizar, tenedor para batir, cuenco para poner los ingredientes, sartén…

El proceso sería batir todos los ingredientes y disponer en la sartén un poco de aceite.

La salida sería disponer todos los ingredientes batidos del cuenco en la sartén hasta que se cocine por completo. Resultado: tortilla.

Por último, es importante conocer cómo abordar la creación de un algoritmo, sabiendo que debe cumplir las características mencionadas. Para la correcta realización debemos:

 

  1. Identificar el problema. No se trata solamente de saber cuál es el problema, si no de cómo afrontarlo desde un ordenador. Los seres humanos podemos dar por hechos ciertos pasos pero no ocurre lo mismo con un ordenador o computadora. Tenemos que decirle paso a paso que debe hacer. No hará nada que nosotros no le hayamos indicado que haga, aunque nosotros, por sentido común, lo hubiésemos hecho. Debemos tener muy claro que es lo que queremos que haga el ordenador.
  2. Identificar la solución. Para encontrar la solución al problema que ya estará perfectamente delimitado y detallado, debemos analizar:
    • Qué datos necesitaremos.
    • La fuente de esos datos.
    • Qué resultados esperamos.
    • Qué proceso hemos de seguir para que los datos del principio, se transformen en los datos del resultado.
  3. ¿Existen más soluciones? En caso de que existan más soluciones, las analizaremos todas y elegiremos aquella más eficaz y eficiente.
";}
X