¿Por qué enseñar solo algoritmos de búsqueda en un breve curso introductorio de IA?

11

Comprendí que el concepto de búsqueda es importante en la IA. Hay una pregunta en este sitio web con respecto a este tema, pero también se puede entender intuitivamente por qué. Tuve un curso introductorio sobre IA, que duró la mitad de un semestre, por lo que, por supuesto, no hubo tiempo suficiente para cubrir todos los temas de IA, pero esperaba aprender algo de teoría de IA (he oído hablar de "agentes "), pero lo que realmente aprendí fueron básicamente algunos algoritmos de búsqueda, como:

  • BFS
  • Búsqueda de costo uniforme
  • DFS
  • Búsqueda de profundización iterativa
  • Búsqueda bidireccional

estos algoritmos de búsqueda generalmente se clasifican como "ciegos" (o "desinformados"), porque no consideran ninguna información sobre el camino restante hacia la meta.

O algoritmos como:

  • Búsqueda heurística
  • Mejor primera búsqueda
  • UNA
  • UNA*
  • IDA *

que generalmente caen dentro de la categoría de algoritmos de búsqueda "informados", porque usan cierta información (es decir, "heurística" o "estimaciones") sobre el camino restante hacia la meta.

Luego también aprendimos algoritmos de búsqueda "avanzados" (aplicados específicamente al problema de TSP). Estos algoritmos son constructivos (p. Ej., El vecino más cercano), algoritmos de búsqueda local (p. Ej., 2-opt) o metaheurísticos (p. Ej., Sistema de colonias de hormigas o recocido simulado).

También estudiamos brevemente un algoritmo min-max aplicado a los juegos y una versión "mejorada" del min-max, es decir, la poda alfa-beta.

Después de este curso, tuve la sensación de que la IA solo se trata de buscar, ya sea "estúpidamente" o "más inteligentemente".

Mis preguntas son:

  • ¿Por qué un profesor solo enseñaría algoritmos de búsqueda en un curso de IA? ¿Cuáles son las ventajas / desventajas? La siguiente pregunta está muy relacionada con esto.

  • ¿Qué es más que "buscar" en IA que podría enseñarse en un curso introductorio? Esta pregunta puede conducir a respuestas subjetivas, pero en realidad estoy preguntando en el contexto de una persona que intenta comprender qué es realmente la IA y qué temas realmente cubre. Aparentemente y desafortunadamente, después de leer, parece que esto todavía sería subjetivo.

  • ¿Existen teorías de IA que podrían enseñarse en este tipo de curso?

nbro
fuente
Probablemente debería cambiar su propuesta de que los algoritmos de búsqueda enumerados se denominan "ciegos", porque está mal. "ciego" se usa generalmente como sinónimo de estar "desinformado". Sin embargo, A *, IDA * y la búsqueda heurística son, por definición, algoritmos de búsqueda "informados" (porque se basan en la heurística ", por lo que no son ciegos. Además, ¿está seguro de que existe el" algoritmo A "? Solo sé que A * y no pude encontrar ninguna mención de este algoritmo en la web. Si realmente existe, un enlace sería bueno (tal vez en los comentarios).
Prof.Chaos
@ Prof.Chaos El algoritmo A es A * cuando no sabe que la heurística es óptima. De hecho, el * en A * debería evocar algo en nuestras cabezas. Con respecto al argumento "ciego", probablemente sea injusto considerar a A * tan ciego como BFS o DFS, por lo que estoy de acuerdo con usted.
nbro

Respuestas:

8

Hay muchos conceptos erróneos sobre la IA, específicamente la idea de que se trata de hacer que las computadoras "piensen" como humanos, simulando el cerebro, los robots de ciencia ficción que se apoderan del mundo, todas las discusiones filosóficas sobre el cerebro como máquina, etc. La práctica / realidad of AI se trata de "usar la informática para resolver problemas", lo que básicamente significa que usted toma cualquier problema, lo representa como un problema informático y luego diseña el algoritmo para resolver el problema informático que conduce a resolver el problema original. Estos algoritmos de búsqueda son algoritmos de propósito general para problemas informáticos de propósito general, es decir, cualquier problema del mundo real puede ser representado por estos problemas informáticos de propósito general y luego estos algoritmos pueden usarse para resolverlos.

Recuerde, se trata de resolver problemas y de problemas informáticos de propósito general que pueden representar cualquier problema del mundo real.

Ankur
fuente
6

Todo se reduce a que la mayoría de los problemas de IA pueden caracterizarse como problemas de búsqueda. Veamos algunos ejemplos:

  • El reconocimiento de objetos y la construcción de escenas (por ejemplo, el proceso de tomar información audiovisual de su entorno y comprenderlo en un sentido contextual y 3D) puede tratarse como la búsqueda de objetos conocidos en la entrada.
  • La resolución de problemas matemáticos puede tratarse como la búsqueda de una solución.
  • Jugar un videojuego puede tratarse como la búsqueda de la respuesta correcta a un determinado estado del juego.

¡Incluso los chatbots rudimentarios pueden caracterizarse como encontrar la respuesta 'correcta' a una frase de entrada dada para emular el lenguaje humano!

Debido a esta generalización de la búsqueda, los algoritmos de búsqueda se encontraban entre algunos de los primeros algoritmos considerados 'AI', y a menudo forman la base de muchos cursos de enseñanza de IA. Además de esto, los algoritmos de búsqueda son intuitivos y no matemáticos, lo que hace que el campo algo aterrador de la IA sea accesible. Esto puede sonar como una hipérbole, pero le garantizo que si su profesor hubiera abierto con Técnicas de aprendizaje múltiple, la mitad de su clase habría salido corriendo hacia la puerta cuando mencionaran el "valor propio de la matriz de covarianza".

Ahora los algoritmos de búsqueda no son la única forma de abordar estos problemas. Recomiendo que todos los profesionales de IA estén familiarizados con la noción de algoritmos de ciencia de datos y aprendizaje automático. ML a menudo se relaciona con algoritmos de búsqueda, pero las técnicas que usan pueden variar mucho de la construcción iterativa de un clasificador / regresión (por ejemplo, C4.5 construye un árbol de decisión), meta-heurística como notó, y clasificadores / regresión que se generan estáticamente a partir de análisis de datos de entrenamiento (por ejemplo, Naive Bayesian es literalmente un clasificador construido sobre el análisis bayesiano de los datos dados, suponiendo que los campos de entrada son independientes; esta es la 'ingenuidad' de la que recibe su nombre). A menudo, los algoritmos de ML se desarrollan en grupos de investigación de IA y, a veces, pueden diseñarse para problemas específicos en lugar de ser algoritmos de forma general.

Tim Atkinson
fuente
4

¿Por qué un profesor solo enseñaría algoritmos de búsqueda en un curso de IA? ¿Cuáles son las ventajas / desventajas?

Mi respuesta a esta pregunta es que hay muchos problemas en los que la solución se puede encontrar mediante la búsqueda. Tome un ejemplo de Tic Tac Toe. Si está diseñando un reproductor de computadora inteligente para esto, entonces lo que hará es formar un espacio de búsqueda y luego buscará el movimiento más óptimo que se pueda hacer para concluir el juego. En estos escenarios, debe conocer las estrategias de búsqueda óptimas. Tomemos otro ejemplo, suponga que si está manejando y quiere llegar a la casa de una persona desconocida. Está lejos de tu lugar y decides usar el GPS. Su GPS utilizará algoritmos de búsqueda para encontrar la ruta más óptima que pueda tomar para llegar al destino (por supuesto, habrá muchos factores a considerar como el tráfico, etc., pero esta es la idea básica).

Las desventajas son solo en términos de procesamiento y almacenamiento. Para algoritmos lentos, también desperdiciará mucho tiempo y almacenamiento de la CPU, pero para algoritmos buenos y eficientes, puede conservar mucho espacio y también ejecutar su tarea muy rápido. Por supuesto, solo aprender sobre búsquedas no es IA. Hay mucho más que eso.

¿Qué es más que "buscar" en IA que podría enseñarse en un curso introductorio?

Hay muchas cosas en la IA además de la búsqueda. Por ejemplo, técnicas de aprendizaje (supervisadas, no supervisadas, reforzadas), planificación cuando se quiere diseñar un sistema que realice ciertas acciones de forma independiente e inteligente, representación del conocimiento (conocido y desconocido) e inferencia en agentes que incluyen lógica proposicional y de primer orden lógica, etc.

¿Existen teorías detrás de la IA que podrían enseñarse en este tipo de curso?

Algunos temas podrían enseñarse, como los diferentes tipos de agentes (reflejo simple, basado en modelos, basado en objetivos, basado en utilidad y agente de aprendizaje), diferentes tipos de entornos en los que trabajan los agentes, evaluación de agentes. Podría haber algunos temas introductorios adicionales como el procesamiento del lenguaje natural, sistemas expertos, etc.

kiner_shah
fuente