¿Podemos implementar un algoritmo de búsqueda de IA que no sea un árbol o una estructura gráfica?

Para mí, “Buscar” significa que está tratando de encontrar una solución, pero no tiene una ruta lineal de pasos que garantice encontrar la solución. Entonces: calcular una raíz cuadrada no es buscar, porque hay un algoritmo que calcula la respuesta con los mismos pasos cada vez (aunque con números diferentes y tal vez un número diferente de iteraciones).

Pero encontrar, por ejemplo, un conjunto de asignaciones para una fórmula 3SAT (es decir, encontrar valores verdaderos o falsos para las variables booleanas que hacen que una fórmula lógica sea verdadera) solo puede hacerse por prueba y error: puede comenzar asumiendo que A es verdadero y B es falso, pero luego determine que uno de ellos está equivocado. Entonces, hay un punto de ramificación en el que eliges si consideras que A es verdadero o que A es falso. Entonces, casi por definición, una búsqueda es un árbol o un gráfico, porque tiene puntos de ramificación. Pero hay algunas técnicas de búsqueda que minimizan la metáfora del árbol / gráfico. Como señala Toby, la escalada no se ramifica, sigue un solo camino, pero puede atascarse en un máximo local, en cuyo caso la solución estándar es reiniciar la escalada al azar, que es un enfoque basado en árboles. Los otros métodos que menciona también pueden considerarse basados ​​en árbol / gráfico o no, dependiendo de la metáfora que prefiera.

Bueno, la pendiente de gradiente es un algoritmo de búsqueda (local, lo admito) y no tiene explícitamente una estructura gráfica o un gráfico. Principalmente porque no asume que su espacio de búsqueda es un gráfico en sí mismo, sino que acepta espacios de búsqueda continua que solo tienen una función objetivo que debe ser maximizada o minimizada.

En general, cuando el espacio que tiene que explorar es difícil de convertir con precisión en una estructura gráfica, es posible que su algoritmo de búsqueda no dependa directamente de dicho gráfico para explorarlo. Puedo imaginar una búsqueda, nuevamente no necesariamente completa, basada en un filtro de partículas o monte carlo para ir hacia una solución aproximada (Dios mío, muchos enfoques para POMDP se basan en esto: https://scholar.google.com/schol …, y el la lista probablemente podría continuar).

Por supuesto, puede ser a veces más rápido transponer un gráfico en su espacio de búsqueda complejo y la exploración rápida de Random Tree (RRT) ha demostrado ser muy eficiente para resolver problemas de búsqueda complejos, como la planificación del movimiento en espacios continuos de alta dimensión. Aunque la integridad de RRT solo está garantizada hacia el infinito y los problemas con pasajes estrechos en su espacio de búsqueda hacen que las posibilidades de que una caída en este pasaje estrecho sea bastante pequeña en un tiempo razonable. En resumen, convertir este espacio continuo complejo en un gráfico permite en general permitir una búsqueda más eficiente (aún PSPACE), pero esto puede tener el costo de tener muy pocas posibilidades de garantizar la integridad en una duración “manejable” (al menos mejor que infinito).

Por lo tanto, en general, sabemos muy bien cómo realizar una búsqueda completa en una estructura de gráfico discreta bien definida y, a menudo, si su problema puede reducirse a esto, puede tener una mejor oportunidad para hacerlo y permanecer completo. Pero si su espacio es difícil de representar adecuadamente como un gráfico (ya sea debido a su gran cantidad de nodos, con el extremo de continuo que significa un infinito literal de nodo) o la dificultad para identificar adecuadamente los bordes entre sus nodos) tal vez puedan surgir algunos enfoques alternativos que no impliquen, al menos explícitamente, una estructura gráfica.

La mayoría de los enfoques de búsqueda local no implican explícitamente la estructura gráfica y, al menos en lo que a mí respecta, siguen buscando incluso si no ofrecen las mismas garantías que una búsqueda completa a través de la estructura gráfica.

No me siento cómodo comentando después de los demás y después del propio Sr. Norvig, pero creo que la raíz de la respuesta está en el hecho de que las búsquedas se realizan en el “espacio de mundos posibles” que depende de la tarea concreta y La representación elegida. Si la representación es con un gráfico, entonces la búsqueda de gráficos es la más apropiada. A veces, la representación con gráfico no será efectiva (por ejemplo, espacio n-dimensional). Entonces, la búsqueda de IA todavía se puede aplicar, utilizando algunas heurísticas para seleccionar el siguiente punto investigado. Puede consultar los otros comentarios para ver ejemplos de tales algoritmos.

Tiene redes neuronales, programación genética y algoritmos genéticos en general que NO son árboles ni gráficos.
Las redes neuronales se implementan en una estructura que parece un gráfico pero no se comportan como tal.

Sí, y cualquier buen texto (como Norvig y Russell: Inteligencia artificial: un enfoque moderno) lo cubre.

Otras posibilidades incluyen escalada, recocido, algoritmos genéticos, …

Si pregunta con la motivación de encontrar un algoritmo de búsqueda más eficiente, este artículo podría ser interesante para usted: el sistema informático inspirado en Amoeba supera a los métodos de optimización convencionales

Me encantan todas estas respuestas hasta ahora.

Me gustaría agregar uno como un estado más deseado que la realidad actual.

Creo que podemos implementar un nuevo algoritmo de búsqueda de IA realmente genial cuando podemos construir un sistema que permita múltiples estados dispares a una sola pregunta en el mismo momento en el tiempo.