¿Qué tipo de matemática necesito estudiar para comprender mejor los algoritmos?

  • Matemáticas discretas.

La mayoría de los datos con los que tratará cuando diseñe algoritmos son discretos. Raramente necesitaría usar su propio algoritmo para conjuntos de datos continuos.

  • Teoría de grafos

Una gran cantidad de datos o conjuntos de datos están interconectados en la mayoría de los casos, por lo que las formas tradicionales de análisis estadístico no serán suficientes (generalmente debido a la complejidad y la eficiencia) por sí mismas.

  • Métodos numéricos

Los métodos numéricos le permiten hacer aproximaciones precisas y eficientes en un mejor grado en algunos casos, y por lo tanto serían útiles para diseños de algoritmos.

  • Estadística

La estadística es la forma clásica de analizar grandes datos. No es de mucho interés en sí mismo, pero en combinación con otras disciplinas constituyen la mayoría de los métodos de análisis en los tiempos modernos.

  • Clases de algoritmo?

Honestamente, la mayoría de las clases de algoritmos solo combinan conocimientos y habilidades de otras áreas matemáticas relevantes y las unen. En estas clases, generalmente tienen como objetivo enseñarle todas las matemáticas, además de algunos trucos y medios para cuantificar qué tan rápido se ejecutará su algoritmo. Pero para empezar, una sólida formación en las cuatro disciplinas mencionadas anteriormente le dará una buena ventaja.

Tengo la fuerte sensación de que me faltan muchas cosas aquí, pero esto es solo para su referencia.

La programación informática, que combina álgebra y algoritmos, es la forma más poderosa de las matemáticas.

La programación de computadoras se basa principalmente en Matemáticas Discretas, por lo que un curso de Matemáticas Discretas de la división superior de un año debería cubrirlo.

Es muy difícil intentar entender algoritmos sin The Calculus porque el cálculo te permite descubrir muchas cosas como ecuaciones aéreas sobre la marcha.

Cuando tienes habilidades de programación, puedes aprovecharlas para hacer matemáticas.

Por ejemplo, uso Python con CFFI para aprovechar las bibliotecas de lenguaje C para jugar con todo tipo de kits de herramientas matemáticas. Y todo es gratis.

No veo ninguna conexión. Las matemáticas son útiles para todas las ciencias; para modelar el universo, pero un algoritmo es solo un conjunto de instrucciones para cualquier cosa. Si el algoritmo es para resolver un problema científico, debe comprender las matemáticas utilizadas por esa ciencia. Un algoritmo podría requerir cualquier parte de las matemáticas o ninguna. Los algoritmos son más una habilidad que un conocimiento. Tenga cuidado de comprender a fondo las piezas que se utilizan para crear el algoritmo, desarrolle el hábito de verificar cuidadosamente su trabajo y suposición, practique e intente encontrar el equilibrio entre averiguarlo usted mismo y obtener ayuda. Prueba, la etimología de las matemáticas es el ejercicio mental, los griegos lo ven como una forma de mantener el cerebro en forma. Por supuesto, hoy usamos las matemáticas para resolver problemas reales, pero todavía no es una ayuda directa en lógica o algoritmos.

Una introducción a las matemáticas discretas (que abarca la combinatoria, la teoría de conjuntos, la teoría de grafos) será muy útil al estudiar algoritmos.

Las mejores clases de matemáticas que puedes tomar para esto son las matemáticas discretas. Te enseña lógica matemática y cómo aplicarla a diferentes problemas. Este curso debería ser un requisito previo para cualquier especialización en informática.

Creo que estas conferencias te pueden resultar útiles: MIT 6.006 Introducción a los algoritmos, otoño de 2011

Las áreas de matemáticas que pueden ayudar particularmente a mejorar sus algoritmos son

Álgebra, geometría, programación dinámica, secuencia y serie.

La lógica y la teoría de grafos para empezar.