Una buena parte de los algoritmos no requiere mucha matemática. Por ejemplo, la mayoría de los algoritmos de clasificación, como la clasificación por fusión, la clasificación rápida, la clasificación por inserción o la clasificación por radix, no requieren conocimientos avanzados de matemáticas para comprender o demostrar la corrección. Supongo que puede necesitar algunos conocimientos de álgebra para comprender la noción de tiempos de ejecución.
También hay clases de algoritmos que no requieren matemáticas para comprender, pero requieren matemáticas más formales para demostrar. Esto incluye algoritmos gráficos como el algoritmo de Dijkstra, el algoritmo de Kruskal y la búsqueda A *. No es difícil ver por qué funcionan estos algoritmos, pero para demostrar formalmente la exactitud de estos algoritmos, generalmente se necesita un conocimiento práctico de matemáticas discretas y argumentos inductivos.
Por otro lado, también hay una cantidad decente de algoritmos que requieren un conocimiento matemático más formal para comprender y probar. Algunos ejemplos incluyen la Transformada rápida de Fourier (requiere álgebra lineal), Descenso de gradiente estocástico (requiere conocimiento de optimización y cálculo multivariable) y Muestreo de Gibbs (requiere conocimiento de probabilidad y estadística).
- ¿Hay un problema del Proyecto Euler que es un problema de NP?
- ¿Qué es un decodificador Viterbi?
- ¿Cómo se usa el teorema de Bayes en robótica?
- ¿Cuál es el mayor obstáculo para progresar en el aprendizaje profundo?
- Cómo hacer un simulador de máquina de turing para realizar la suma binaria