¿De qué maneras se usan los algoritmos y con qué frecuencia se usan?

El algoritmo A * se utiliza para encontrar rutas, y es extremadamente utilizado en juegos, aplicaciones de mapas y recorridos de gráficos. Se menciona comúnmente como una extensión del algoritmo de Dijkstra, otro algoritmo de ruta más corta.

El algoritmo para calcular la distancia de Levenshtein también se usa extremadamente ampliamente para el corrector ortográfico y las sugerencias, junto con algunas variantes como la modificación Damerau-Levenshtein o n-gramas.

En gráficos, el Anti-Aliasing rápido aproximado es otro algoritmo ubicuo que “suaviza” los píxeles en un cuadro generado para que el cuadro general parezca tener una definición más alta.

En nuestro mundo digital, la Transformada rápida de Fourier es uno de los algoritmos más útiles / importantes descubiertos en el siglo XX (según el IEEE) y permite el procesamiento rápido de la señal, y si ha realizado las Transformaciones de Fourier a mano en una señal clase de análisis, ¡sabes lo increíble que es este algoritmo!

Los algoritmos de compresión de datos también son omnipresentes: el nuevo algoritmo de compresión de video llamado H.265 promete la próxima generación de transmisión de alta definición para requisitos de ancho de banda cada vez menores.

Hay tantos más algoritmos que usa todos los días, que tienen un impacto extremadamente profundo en cómo funciona la tecnología moderna y cómo vivimos con la tecnología hoy en día. Y todos estos algoritmos mencionados anteriormente se basan en los clásicos algoritmos de “escuela” de los que todos aprendemos, como los diferentes tipos de clasificación, retroceso, programación dinámica, heurística, recursividad, etc. Es difícil encontrar estos súper algoritmos, pero chico se usan en todas partes!

OK, parece haber mucha confusión sobre esto, así que voy a tratar de escribir un desglose completo de este problema.

En programación, escribirás algoritmos todo el tiempo , la definición de algoritmo es …

Un conjunto de instrucciones para resolver un problema”.

Entonces, en programación, lo haces todo el tiempo, de hecho, eso es prácticamente lo único que haces.

Sin embargo, en realidad, no usamos la palabra de esta manera, o la estaríamos usando en cada oración que dijimos.

En realidad, usamos la palabra ‘algoritmo’ para describir algo un poco más específico, como el algoritmo de ‘distancia de Levenshtein’ o un algoritmo de clasificación de burbujas.

El siguiente código, técnicamente es un algoritmo, pero nunca lo describiríamos como uno en realidad, si lo hiciéramos, la palabra rápidamente no tendría sentido.

para el servidor en la lista de servidores {
server.ping ()
}

Este ‘algoritmo’ resuelve el problema de hacer ping a una lista de servidores, por definición formal, es un algoritmo, pero nunca lo llamaría así.

La definición del mundo real, es realmente un poco más matizada que eso.

Usarás algos del mundo real todo el tiempo , por ejemplo, para ordenar una lista, algo muy común, pero no los escribirás muy a menudo … Todos los lenguajes y bibliotecas de programación modernos tienen esto incorporado. , así que simplemente llamamos sort () … Probablemente no haya escrito un algoritmo de clasificación en aproximadamente una década, no estoy bromeando.

En términos de escribir sus propios algoritmos, sí, también lo hará, pero probablemente no con tanta frecuencia.

Recientemente escribí un algoritmo para convertir una forma dibujada a mano en su forma geométrica más cercana, es decir, podría dibujar a mano un triángulo o un círculo, y mi algoritmo le diría qué forma era, no parece mucho, pero es bastante genial cuando lo ves!

Entonces, usando la definición del mundo real, mi forma es ciertamente un algoritmo, pero el pinger del servidor no lo es.

Donde dibujamos esa línea es realmente una cuestión de opinión.

Algoritmo, n, Un proceso o conjunto de reglas a seguir en los cálculos u otras operaciones de resolución de problemas, especialmente por una computadora. (OED)

a menudo confundido con, o solía significar

Heurística, adj., Proceder a una solución por prueba y error o por reglas que se definen de forma poco precisa. (OED) [nota: a menudo se usa como un sustantivo, indistintamente con el algoritmo, como en “una huerística para calcular las direcciones de conducción”]

En otras palabras, una fórmula o un procedimiento.

Si está contando el cambio, está utilizando un algoritmo. Cuando conduces, estás (consciente o inconscientemente) usando algoritmos y heurísticas para dirigir, planificar tu ruta, etc. Siri usa muchos algoritmos y heurísticas para reconocer (más o menos) lo que le dices que haga.

Es decir, los algoritmos y la heurística están en todas partes. La parte difícil es descubrir cuál usar para un problema específico, o diseñar otros nuevos.

Se usan para casi todo y se usan todo el tiempo. ¿Puedes ser mas específico? ¿Hay algún tipo particular de algoritmo que le interese? ¿Estás buscando ejemplos de algoritmos?