Cualquiera de estos cuatro podría ser fundamental dependiendo de qué tipo de problemas termines resolviendo.
- El álgebra lineal es importante para problemas que involucran un gran número de variables que interactúan. Se utiliza para calcular transformaciones en gráficos 3D, ajustar superficies curvas a un prototipo, resolver grandes sistemas de restricciones (como las que se pueden encontrar al construir un puente) o modelar fenómenos naturales como el clima, los patrones de migración de la vida silvestre, las poblaciones de pesca, etc. un eufemismo para decir que tiene una amplia variedad de aplicaciones, sin embargo, la mayoría de los programadores web, implementadores de lógica de negocios y expertos en bases de datos nunca lo usarán.
- Sin embargo, la teoría de gráficos es útil para los wranglers de bases de datos. Discute la teoría de los gráficos, que se puede utilizar para describir grandes grupos de datos interconectados. Eso puede aplicarse a centrales telefónicas, mapas de calles, modelos poligonales en un videojuego, encontrar caminos a través de laberintos, árboles de decisión y las estructuras de datos que se utilizan para buscar datos rápidamente en cualquier tipo de almacenamiento de datos. No puedo pensar en ninguna área importante de programación donde nunca surja, aunque una comprensión básica a menudo es suficiente.
- La teoría de juegos es muy interesante para el diseño de juegos, pero ocasionalmente también proporciona información sobre la interacción social de la vida real. Si le interesan los juegos o las motivaciones humanas, esto puede brindarle un marco riguroso para analizar las situaciones que surjan. El dilema del prisionero es un resultado clásico en la teoría de juegos, donde las estrategias óptimas a nivel local son globalmente subóptimas, y alentar a todas las partes a cooperar es difícil. Las aplicaciones prácticas más obvias están en el diseño de juegos, pero también pueden ser útiles en una red social.
- La combinatoria es buena para determinar cuán difícil será un problema en particular. Cada vez que decida que la solución es “intentemos todas las combinaciones posibles para encontrar la mejor”, combinatoria es lo que necesita para determinar si es una buena idea. Solo aparece si está escribiendo un código interesante , por lo que no es algo que pueda usar todos los días a menos que trabaje para la industria del juego. Sin embargo, casi cualquier programador va a encontrar un uso para estos conceptos de vez en cuando, y a veces será para resolver un problema que no tiene nada que ver con la programación (de todos modos, ¿cuánto tiempo demora la fuerza bruta en bloquear esta bicicleta barata? los cortadores de cadena? Especialmente útil para evaluar qué optimizaciones probar para los algoritmos de ramificación y unión, que a menudo surgen cuando se escriben varios tipos de IA (¿robots de juego de ajedrez, alguien?). También es muy útil si desea comprender el problema de Monty Hall.
¡No puedo tomar esta decisión por ti, me temo! Estas son todas clases potencialmente buenas, y las que tomas dependen de tus intereses. Trabajo en CAD y uso álgebra lineal y teoría de grafos con mayor frecuencia, con la combinatoria en tercer lugar. Si su objetivo es ser un genio completo, considere tomar los cuatro.