Goal-Driven y Busqueda a lo ancho

December 7th, 2011 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 = [ ].