Cómo aprender ‘algoritmos’ sobre los que el mundo tecnológico está hablando y aplicarlos a mi vida cotidiana

¡Ya sabes mucho sobre algoritmos! ¿Alguna vez herviste pastas? ¿Asó un filete o se duchó?

Un algoritmo es simplemente una secuencia de instrucciones que le permite realizar una tarea o problema en particular.

Sí, es realmente así de simple! Una receta para cocinar alimentos, por ejemplo, es un algoritmo.

Debe distinguir un algoritmo, es decir, “secuencia de instrucciones” de su implementación, es decir, “aplicación de ese algoritmo”. Una vez más, una analogía perfecta para eso se puede encontrar directamente en su cocina. Cuando invite a amigos a cenar y decida cocinarlos de manera tan sofisticada, probablemente necesite consultar una receta.

Lo hojeas, compras los diferentes ingredientes y vuelves a casa. Son las 3:00 de la tarde y realmente necesitas comenzar a cocinar. Aquí estamos, debe implementar la receta, es decir, aplicar su algoritmo utilizando sus utensilios de cocina e ingredientes.

En el mundo tecnológico, sus ingredientes y utensilios son datos de entrada, bibliotecas y lenguajes de programación.

En general, un algoritmo se describirá en algo llamado “pseudocódigo”, un idioma cercano al inglés e inteligible por todos. Su implementación será código escrito en un lenguaje de programación.

Tl; dr: un algoritmo es una secuencia de instrucciones (receta), una implementación es la aplicación de un algoritmo (usted cocina), los datos de entrada son sus ingredientes y la salida son sus pastas.

No puede aplicar algoritmos directamente a su vida cotidiana, porque los seres humanos no son computadoras, y no aplicamos razonamientos cuantitativos precisos a nuestra vida cotidiana. Un algoritmo es un procedimiento exacto para resolver un problema preciso. Los humanos no siguen procedimientos exactos y nuestros problemas son subjetivos y vagamente especificados.

Por otro lado, los algoritmos son ciertamente de gran valor para nuestra vida cotidiana, valor que proporcionan indirectamente. Por ejemplo, cuando usa Google Maps para buscar la ruta más rápida de un lugar a otro, algunos algoritmos se ejecutan en los servidores de Google que toman los datos del mapa de Google como entrada y producen una ruta como salida.

Si desea aprender algoritmos, tome algunas clases de ciencias de la computación, lea libros de texto sobre algoritmos o intente escribir código para resolver acertijos algorítmicos. Ya hay mucho material aquí en Quora sobre cómo aprender codificación y algoritmos; Solo tienes que buscarlo.

Ya aplicas algunos algoritmos en la vida cotidiana, es solo que ni siquiera sabes que lo estás haciendo.

Por ejemplo, una inspiración para la búsqueda de interpolación es cómo una persona mira a través de una guía telefónica. En la búsqueda binaria, el conjunto de datos se divide recursivamente a mitad de camino hasta que se encuentra la solución, sin embargo, esto puede ser de menor eficiencia para los conjuntos de datos donde se sabe dónde podría estar la clave. Por ejemplo, en una guía telefónica, si obtiene un nombre que comienza con a, no separará el libro en el medio y lo separará recursivamente hasta que encuentre la clave, pero sabe que ese nombre de a estará en algún lugar al comienzo y miras allí primero.

La ordenación por inserción también se aplica en la vida diaria al jugar a las cartas.

Algunos algoritmos no son aplicables a la vida cotidiana, por ejemplo, no usaría un algoritmo de mochila mientras roba un banco, simplemente elige lo que encuentre o no usará el algoritmo de dijkstra o floyd-warshall para encontrar la ruta más corta que tenga para tomar, solo lo hace por percepción e intuición, pero Google Maps podría utilizar algoritmos similares para mostrarle la dirección correcta.

También utilizará varios métodos de programación lineal en su vida diaria, pero todo esto sucede más a un nivel intuitivo.