En sí misma, la informática teórica es inútil para cualquier cosa, excepto el papel de un informático teórico. Aún así, hay un beneficio en aprender el tema, pero no por las razones obvias.
La razón para aprenderlo es que TCS le informará sobre los límites de lo que cualquier computadora, no solo las computadoras contemporáneas, puede hacer. Por ejemplo, hay argumentos TCS muy fuertes contra P = NP y una IA fuerte.
La informática teórica también demuestra por qué no debemos temer que los robots vengan a robar * TODOS * nuestros trabajos, solo los aburridos y repetitivos. En el nivel práctico, TCS le informa cuándo evitar una recurrencia infinita en el pizarrón, es decir, una persecución salvaje por la pureza matemática sobre los detalles de implementación, que a menudo triunfan sobre la teoría en la vida real.
- ¿Cómo debo decirle a mi profesor sobre mi tema de investigación? Soy un nuevo estudiante de doctorado en informática.
- ¿Cuáles son las ideas que puedo investigar?
- ¿Cuáles son los temas candentes para un proyecto BE en CSE?
- ¿Alguien puede dar una idea de la investigación en informática?
- En visión artificial, ¿cómo importa el tipo de datos?
Un teórico puro dirá que un árbol de m-way es transversable en el tiempo O (log n), aunque esto simplemente no es cierto para nada más que los árboles B, con la razón encontrada en la forma de buscar la rama correcta. En su forma más básica, TCS le brinda una comprensión sólida de lo que es computable, además de la máxima eficiencia para cualquier solución.
Sin una comprensión de TCS, muchas personas pensarán que probar P = NP acelera todos los algoritmos, cuando no lo hace … Solo acelera los algoritmos NP-completos, los que requieren la verificación de la solución en tiempo P, en lugar de un solución para todos los casos posibles.
Dicho todo esto, TCS tiene definiciones radicalmente diferentes de cosas como algoritmos, particularmente cuando se compara con CS “aplicado”. Ver:
- Algoritmos: ¿Debe un algoritmo completarse en una cantidad finita de tiempo y recursos para ser considerado un algoritmo en lugar de un proceso?
- Si la definición de “algoritmo” se ha expandido en los últimos años para permitir cálculos infinitos, ¿cuál es ahora el término correcto para lo que solía llamarse algoritmos (tiempo y recursos finitos)?