¿Está la inteligencia artificial relacionada con la ingeniería del software?

La inteligencia artificial es el estudio de los límites fundamentales de la computación. Se estudia la IA si se está interesado en descubrir una nueva clase de problema informático. Una vez que se identifica una clase de problema, adquiere un nombre y se convierte en su propia disciplina. Se puede seguir investigando en ella, o se puede estudiar para entender los problemas y las herramientas para abordar esos problemas. Las personas que estudian dentro de esa subdisciplina pueden o no identificar su trabajo con la IA. A menudo depende de la forma en que se introdujeron en la subdisciplina. Las personas que afirman que la IA está muerta no tienen en cuenta esto cuando hacen tal afirmación. He trabajado en el campo de la IA durante treinta años y me he encontrado con las afirmaciones de "la IA está viva/muerta" muchas veces.

El aprendizaje automático estadístico (ML) es una subdisciplina de la IA. Su estudio comenzó en la IA porque implica un número muy grande de parámetros (del orden de millones o más), tiene que funcionar y necesita resolver un problema del mundo real. En la actualidad, la forma más fructífera de abordar el ML es desde la perspectiva de la Estadística (más la teoría de la información más...), por lo que muchos de los investigadores de ML serán matemáticos aplicados, pero no es así como comenzó originalmente el ML ni es necesariamente su futuro. Los estadísticos teóricos no están necesariamente interesados en estudiar el ML. Quieren añadir a los fundamentos teóricos de la ciencia, demostrar que su teoría tiene ciertas propiedades matemáticas, y debido a que están haciendo la demostración, sólo puede manejar un número muy pequeño de parámetros en comparación con lo que hace ML.

Muchos sistemas de IA no son triviales para construir y por lo tanto requieren un cuidadoso análisis de problemas, modelado, sistema de diseño e ingeniería del sistema, y la prueba y evaluación. También puede aprender estas habilidades en la ingeniería de software (SE) - depende del plan de estudios de SE. Curiosamente, la investigación avanzada en ingeniería del software puede hacer un uso eficaz de los conocimientos de la IA. Los fundadores de la IA, como Marvin Minsky, han señalado a menudo la importancia de la ingeniería del software para construir sistemas de IA con éxito. La teoría de la complejidad computacional, un elemento básico de todo plan de estudios de ciencias de la computación, también surgió de la necesidad de evaluar y predecir el rendimiento de los algoritmos de IA antes de implementarlos.

Si un juego de ordenador modela los comportamientos humanos para que sus personajes artificiales sean creíbles, los desarrolladores del juego llaman a esas entidades "personajes artificialmente inteligentes". Esto se debe a que los personajes son, efectivamente, "artificiales" y a que tienen una gama de comportamientos más rica que los simples comportamientos reactivos (por ejemplo, movimientos aleatorios o movimientos hacia el personaje controlado por el humano). Pero a pesar de llamarse personajes de IA, no están identificando una nueva clase de problema informático ni intentan modelar la inteligencia humana. En raras ocasiones, puede ser que la investigación en inteligencia artificial que desarrolló modelos computacionales de comportamientos humanos sea la inspiración para los personajes de IA de un juego, pero normalmente para los mercados de juegos, esos modelos necesitan ser reducidos y reimplementados para una arquitectura de juego con el fin de garantizar respuestas muy rápidas y escalables.

En sentido estricto, a menos que planees hacer investigación en ingeniería de software, obtener un MS en IA no te ayudará en el mercado de trabajo ... te hará estar sobrecalificado para la mayoría de los trabajos de SE. Ser un SE puede calificarte para un trabajo en una startup de IA, pero no para la investigación en IA porque los problemas de investigación en IA no están bien definidos para justificar el uso de técnicas de SE. Tener una maestría en IA te calificará para trabajos de CS mejor pagados porque la disciplina de análisis de problemas avanzados y abstracción te calificará para puestos de analista de sistemas y arquitecto de sistemas con altos ingresos.