Para prepararse para la investigación en informática teórica, ¿es mejor estudiar matemática o informática como estudiante universitario?

Idealmente, obtenga un título conjunto en matemáticas y ciencias de la computación. Si realmente tiene que elegir, primero debe estudiar matemáticas. En primer lugar, la madurez matemática es extremadamente importante para la informática teórica. Ver la publicación de Terence Tao. Las matemáticas tienen más que rigor y pruebas para obtener más información sobre la idea a veces difícil de alcanzar de lo que constituye la madurez matemática. En segundo lugar, hay temas en matemáticas que son útiles en la informática teórica, no solo los sospechosos habituales (teoría de grafos, conjuntos, lógica) sino también álgebra lineal, cálculo, geometría, análisis real, teoría de medidas, etc.

Pero, por supuesto, también es extremadamente importante comprender lo que algunos llaman pensamiento computacional y obtener una experiencia de programación sustancial. La diferencia entre las matemáticas puras y la informática teórica radica no en el enfoque sino en la motivación subyacente. En este sentido, incluso la informática teórica es “matemática aplicada”.

En mi experiencia, a los estudiantes que llegan a un programa de licenciatura en ciencias de la computación con experiencia en matemáticas les resulta mucho más fácil entender las abstracciones que se encuentran en la informática.

Depende de si el trabajo que desea hacer enfatiza lo “teórico” o la “informática”. Algunas partes de la informática teórica son profundas y abstractas, y se basan en la teoría de números, la geometría discreta, la topología y el álgebra. Otras partes de la informática teórica se centran en encontrar formas de aplicar el pensamiento riguroso a los problemas aplicados en informática. Si desea hacer un trabajo profundo y abstracto, realmente necesita una base en matemáticas. Y es menos importante que sepa mucho sobre los problemas del mundo real en informática. Si desea impactar en la práctica, es muy importante que tenga una comprensión profunda de la práctica, y gran parte de su impacto puede ser a través de algoritmos que, matemáticamente, simplemente no son tan profundos.

Por supuesto, algunos de los mejores trabajos son a la vez, matemáticamente profundos y prácticamente significativos, pero lo más probable es que te inclines de una forma u otra según tu gusto personal.

Como estudiante universitario me especialicé en informática y física. Lo hice tomando una gran cantidad de clases de matemáticas que cumplieron con los requisitos de ambas especialidades (y terminé cumpliendo también con los requisitos de grado de matemáticas). Poca de las matemáticas que estudié ha sido relevante para mi trabajo teórico de informática; mis algoritmos de trabajo nunca han sido algorítmicamente profundos. He olvidado casi todo lo que aprendí en álgebra abstracta, topología, geometría diferencial y teoría de números. Por otro lado, la informática que estudié ha sido crucial para ayudarme a comprender muchos de los problemas aplicados que he desarrollado algoritmos para resolver.

Debes hacer las dos cosas. Sin las matemáticas, no sabrás las cosas que necesitas para comprender la CS teórica.

Sin CS, no comprenderá las implicaciones del mundo real de TCS. Te encontrarás atrapado en la misma recurrencia infinita donde está atascado el resto de TCS, incluidos muchos que han tenido un desbordamiento de pila.

Ver:

¿A la mayoría de los matemáticos les gusta la informática?

La respuesta de Marcas Neal a ¿Cómo se aprende la informática teórica?

La respuesta de Stan Hanks a ¿Se puede considerar la informática como un subcampo o subdisciplina de las matemáticas?

La respuesta de Marcas Neal a ¿Se puede considerar la informática como un subcampo o subdisciplina de las matemáticas?

¿Por qué Stan Hanks decidió abandonar su programa de doctorado?

Recomiendo estudiar ambos, ya que hay una superposición considerable y mucho para beneficiarse de aprender estas cosas en paralelo.

Sin embargo, si tuviera que elegir, recomendaría matemáticas. Es la base, y es más razonable estudiar las teorías generales antes de especializarse (al menos en mi opinión). Conocer algunos análisis reales, álgebra lineal, teoría de conjuntos, combinatoria y sobre todo la noción de prueba ayuda a estudiar las teorías de complejidad y computabilidad, teoría de grafos, estructuras aleatorias, análisis de algoritmos, etc. La otra dirección tiene menos sentido para mí.

La mayoría de las universidades tienen un título de MACS o Matemáticas e Informática.

Sugeriría tomar un programa que involucre los aspectos más abstractos de la informática, particularmente la teoría del lenguaje formal y la teoría de autómatas (además de estructuras de datos y algoritmos), matemática aplicada e investigación operativa.

El modelado matemático, los métodos estocásticos, los métodos de Monte Carlo, la inferencia bayesiana, el aprendizaje automático, la combinatoria, la teoría de la optimización, la programación dinámica, la programación lineal y el análisis de flujo de red a menudo se enseñan bajo los auspicios de la investigación de operaciones.

Lo importante para recordar es que la ingeniería es el verdadero negocio cuando se trata de la informática teórica.

Las preguntas de tarea para una clase de Computación y Complejidad de nivel de posgrado en la universidad local de Artes Liberales fueron las mismas que para la clase de segundo año en la escuela de ingeniería local.

Lo más importante, con mucho, es la teoría de grafos. Donde y cuando sea.

La última vez que estuve con los científicos teóricos de la computación en las gramáticas locales de gráficos U aún no había entendido.

More Interesting

¿Por qué no funciona mi función de búsqueda binaria?

¿Qué es una explicación intuitiva de P = NP?

Si una solución correcta a la Hipótesis de Riemann, P = NP, o la Teoría de campo unificada se presentara de forma anónima, ¿cuántas personas podrían ser consideradas sospechosas?

¿Por qué la mayoría de los informáticos tienen un título en matemáticas?

Cómo calcular la probabilidad de un carácter dado en una cadena usando partes de esta cadena

¿Alguien ha explorado el uso de autómatas celulares 2D en una superficie esférica sintonizada para proyectar un universo 3D dentro que simule la gravedad?

¿Qué es lo contrario de una máquina de Turing? ¿Existe una máquina teórica que ya esté configurada para calcular algún algoritmo de la manera más directa?

¿Quiénes son los mejores profesores que trabajan en algoritmos de aproximación?

¿Cuál es el significado del teorema de Shamir?

¿Qué papel juega la habilidad matemática en la ingeniería informática o la codificación?

Informática teórica: ¿se puede crear una máquina que sea más poderosa que una máquina de turing?

¿Por qué los informáticos / programadores usan la notación big-O en lugar de la función de tiempo de ejecución real?

¿Es elusiva la comprensión fundamental del aprendizaje automático? ¿Requiere habilidad matemática innata?

Regresión logística, función softmax. ¿Por qué utiliza la función exponencial en la función sigmoidea?

¿Cómo es tomar CS 226r (Algoritmos Eficientes) en Harvard como estudiante?