Concepto de Algoritmos y Estructuras Discretas

Un algoritmo es una técnica que se utiliza para solucionar cálculos o problemas abstractos mediante una serie de operaciones definidas, ordenadas y finitas. Esto quiere decir que, una cantidad finita de pasos transforman los datos de una incógnita (entrada) en una solución (salida). Los algoritmos, pueden ser representados a través de lenguajes de programación codificados, del lenguaje común y por medio de representaciones gráficas (diagramas de flujo).

Algoritmos y Estructuras Discretas

Se utilizan frecuentemente en la matemática e informática y existen algoritmos muy conocidos como el algoritmo de Euclides, que calcula el máximo común divisor de dos números enteros positivos, el algoritmo de Gauss que resuelve sistemas de ecuaciones lineales y el de Floyd-Warshall, mediante el cual se consigue el camino mínimo de grafos considerados en informática y la técnica creada por Alan Turing, con la que él mismo demostró la existencia de problemas que no pueden ser resueltos por una computadora. Los algoritmos pueden ser expresados en distintos lenguajes de programación y aplicarse en cualquier computadora pero su función siempre será la misma.

La parte básica de todas las definiciones de algoritmos se encuentra resumida en las siguientes propiedades:

  • Tiempo secuencial: cualquier algoritmo funciona en intervalos de tiempo
    discretos paso a paso, describiendo una cadena de estados computacionales por cada entrada válida (la entrada son los datos que se le proporciona al algoritmo).
  • Estado abstracto: cualquier estado computacional puede ser definido formalmente a partir de una estructura de primer orden y cada algoritmo es autónomo en su implementación (los algoritmos son elementos abstractos), por eso se dice que en un algoritmo la lógica
    de primer orden no varía bajo isomorfismo.
  • Exploración acotada: la transición entre un estado y otro queda completamente determinada por unas especificaciones fijas y finitas es decir, que entre un estado y otro nada más se puede tomar en cuenta un número fijo y limitado de intervalos del estado actual.

Las características elementales que debe poseer todo algoritmo son:

  • Debe ser exacto y señalar el orden del desarrollo de cada paso.
  • Debe ser específico. Si se aplica un algoritmo dos veces, el resultado no puede variar.
  • El algoritmo debe ser finito. Es decir, el seguimiento de un algoritmo debe tener una numeración finita de pasos.
    Los dos instrumentos más utilizados para describir algoritmos son:
  • Los diagramas de flujo: son símbolos gráficos de secuencias de operaciones a realizar y cada uno de los pasos se expresan por medio de las siglas formales que representan al Instituto Norteamericano de Normalización ANSI (American National Standards Institute). Cada línea graficada por los flujos, señala el método de ejecución. Por otro lado, los diagramas de flujo se utilizan básicamente para representar algoritmos pequeños, ya que se toman mucho espacio.
  • El pseudocódigo: es un lenguaje abreviado que describe a un algoritmo a través de la combinación de frases del lenguaje común y algunas palabras que señalan el inicio y el fin del mismo y las operaciones específicas a ejecutar. El propósito principal del pseudocódigo es el de interpretarle a un algoritmo la solución de un problema de la forma más específica posible y también lo más similar posible al lenguaje que luego será utilizado para la codificación del mismo.
  • Estructuras discretas: en computación, es un planteamiento que se deriva de la matemática discreta, por medio del cual se estudian los conjuntos discretos: finitos o infinitos que pueden numerarse, concepto totalmente opuesto al que identifica a las matemáticas continuas, que se encargan del estudio y aplicación de nociones como la continuidad y las variaciones continuas. En tal sentido, las matemáticas discretas se encargan de analizar estructuras conformadas por elementos que son contados uno por uno. Lo cual supone que, las operaciones desarrolladas en matemática discreta son contables o numerables como por ejemplo: los números enteros, los grafos y las resoluciones de lógica.

La característica principal de la matemática discreta es que las ideas de afinidad o límite y uniformidad en las curvas son difíciles de manejar al igual que en el cálculo infinitesimal. No obstante, las gráficas que se pueden obtener mediante las matemáticas, vienen dadas por una secuencia finita de puntos que se pueden enumerar individualmente, mientras que las representaciones que se obtienen a través del cálculo infinitesimal son trazados de líneas continuas de rectas o curvas. Entendiendo que, es mediante las matemáticas discretas que se pueden graficar estructuras finitas y numerables, lo discreto hace referencia a lo finito que le proporciona el aspecto de números naturales, proporcionándole de esta manera fundamentos matemáticos a la ciencia de la computación, en donde los datos que se introducen en las computadoras se procesan de manera discreta (palabras que se forman con ceros y uno).