Goal-Driven y Busqueda a lo ancho

August 13th, 2008 Comments Off Categoria Ciencias Computacion, Inteligencia artificial

Conducida por el objetivo (goal driven – backward chaining)

  • Tomar el objetivo que queremos resolver, establecer que reglas o movimientos legales podrían usarse para generar este objetivo y determinar que condiciones deben ser verdaderas para ser usadas.
  • Estas condiciones constituyen los nuevos objetivos de la búsqueda y la búsqueda continua hacia atrás hasta encontrar los hechos del problema

BREATH FIRST.- Busqueda a lo ancho. La busqueda se realiza a lo largo del arbol o grafo, recorriendo todos los nodos de una correspondiente fila antes de pasar a la siguiente:

Este es una implementacion en pseudocodigo el cual representa el comportamiento de esta estrategia de busqueda:

Begin
open := [Start];
closed := [ ];
while open ? [ ] do
begin
remove leftmost state from open, call it X;
if X is a goal then returns SUCCESS
else begin
generate children of X;
put X on closed;
discard children of X if already on open or closed;
put remaining children on right end of open
end
end
return FAIL
end

Aplicacion en un arbol, donde el objetivo a encontrar es U
1.    open = [A]; closed = [ ]
2.    open = [B,C,D]; closed = [A]
3.    open = [C,D,E,F]; closed = [B,A]
4.    open = [D,E,F,G,H]; closed = [C,B,A]
5.    open = [E,F,G,H,I,J]; closed = [D,C,B,A]
6.    open = [F,G,H,I,J,K,L]; closed = [E,D,C,B,A]
7.    open = [G,H,I,J,K,L,M] L ya esta en open; closed =[F,E,D,C,B,A]
8.    open = [H,I,J,K,L,M,N]; closed = [G,F,E,D,C,B,A]
9.    Continua hasta encontrar U, o open = [ ].

Estrategias de Busqueda

Tipos de búsqueda según estrategias de control:

  • ALGORITMO.-Disponemos de información segura sobre qué operación aplicar
  • BUSQUEDA EXHAUSTIVA (A CIEGAS).- Exploración del árbol de búsqueda sistemáticamente pero sin información
  • BUSQUEDA HEURÍSTICA (INFORMADA).- información sobre el problema (información del dominio) que permite reducir la búsqueda.

Estrategias de búsqueda a ciegas

  • Generar y Probar
  • Búsqueda primero a lo ancho
  • Búsqueda primero a lo profundo
  • Búsqueda de costo uniforme
  • Búsqueda en profundidad limitada
  • Búsqueda en profundidad iterativa
  • Búsqueda bidireccional

Comenzemos con el primer tipo de búsqueda:
GENERATE-AND-TEST

  • Generar una posible solución. (estado o camino)
  • Comprobar para ver si es una solución, mediante comparación con los elementos del conjunto de objetivos aceptables.
  • Si la solución ha sido encontrada salir, de otra manera, retornar al paso 1

Para muestra esta imagen

Estrategias y Algoritmos de Busqueda de Informacion

Existen diferencia de estrategias de búsqueda de información:

  • Algoritmo Primero a lo Ancho (BREATH-FIRST)
  • Algoritmo Primero en Profundidad (DEPTH-FIRST)
  • Búsqueda Heurística:
  • Ascenso a Colina
  • Recocido Simulado
    • Búsqueda Primero el Mejor (BEST-FIRST)
    • Teorema de Admisibilidad
    • Algoritmo Guiado por Agenda

Las técnicas de solución de problemas en IA, en general, incorporan un proceso de búsqueda.
Todo proceso de búsqueda puede ser visualizado como el recorrido por un árbol en el que cada nodo representa un estado y cada rama representa las relaciones entre los estados cuyos nodos conecta.
En general, las reglas contienen en forma implícita el árbol, y se genera en forma explícita sólo aquellas partes que se decide explorar.
La dirección en la cual se conduce la búsqueda (hacia adelante o hacia atrás).
La estrategia de control, o forma de seleccionar las reglas que pueden ser aplicables. Los principales requerimientos de una buena estrategia de control son: que cause desplazamiento en el espacio de estado; y, que sea sistemático.

La forma de representar cada nodo del proceso de búsqueda (representación del conocimiento).

Muchas veces, tratar el proceso como búsqueda en un grafo en lugar de una búsqueda en un árbol, puede reducir el esfuerzo que se gasta en explorar senderos, esencialmente iguales, varias veces. Sin embargo, los requisitos asociados, son:
Cada vez que se genere un nodo se debe chequear para ver si ha sido generado antes.

Se deben introducir procedimientos especiales para que la búsqueda no quede atrapada en algún lazo.

Existen dos formas de conducer las busquedas:

Conducida por el objetivo (goal driven – backward chaining)

Tomar el objetivo que queremos resolver, establecer que reglas o movimientos legales podrían usarse para generar este objetivo y determinar que condiciones deben ser verdaderas para ser usadas.Estas condiciones constituyen los nuevos objetivos de la búsqueda y la búsqueda continua hacia atrás hasta encontrar los hechos del problema.
Conducida por los datos (data driven – forward chaining)

Búsqueda empieza con los hechos o datos conocidos y un conjunto de movimientos legales o reglas para cambiar de estado.La búsqueda se realiza aplicando las reglas a los datos o hechos, produciendo nuevos datos o hechos. Este proceso continua hasta generar una ruta que satisfaga la condición del objetivo.