viernes, 6 de noviembre de 2009

IDA*

Algoritmo IDA*:

profundidad = profundidad(Estado_inicial);

mientras (no es_final?()) hacer
Estados_Abiertos.insertar(Estado_inicial);
Actual = Estados_Abiertos.primero();

mientras (no es_final?(Actual)) y (no Estados_Abiertos.vacía?()) hacer
Estados_Abiertos.borrar_primero();
Estados_Cerrados.insertar(Actual);
hijos = generar_sucesores(Actual, profundidad);
hijos = tratar_repetidos(hijos, Estados_Abiertos, Estados_Cerrados);
Estados_Abiertos.insertar(hijos);
Actual = Estados_Abiertos.primero();
fmientras

profundidad = profundidad +1;
Estados_Abiertos.inicializa();
fmientras

No hay comentarios:

Publicar un comentario