Précédent : Pilotage d'algorithmes et d'agents
cognitifs Remonter : Résultats nouveaux Suivant :
Construction
d'algorithmes " anytime interruptibles
Participants : Anne Boyer, François Charpillet, Nicolas
Ray.
La recherche heuristique est une technique largement utilisée dans les méthodes de résolution de problème en intelligence artificielle. L'algorithme A* est un algorithme de parcours de type meilleur d'abord qui est caractérisé par une fonction heuristique f(n) égale à la somme du coût pour atteindre le noeud n et du coût estimé h(n) pour atteindre un état but. L'algorithme A* est optimal si la fonction h ne surévalue jamais le coût réel. Cet algorithme est à la base d'un certain nombre de travaux destinés à adapter les techniques de recherche heuristique à la problématique du temps réel dont ceux de Hansen, Zilberstein et Danilschenko (Anytime Heuristic Search : First Results, Technical Report 97-50, Computer Science Department, University of Massachusetts, 1997). Cette année, nous avons adopté une approche similaire qui consiste à établir un compromis entre temps de recherche et qualité de la solution. L'agorithme n'est donc plus optimal. Pour cela, nous avons introduit une pondération w lors du calcul de la fonction heuristique f que nous redéfinissons par : f (n) = (1 - w)g(n) + wh(n), avec w > = 0.5. f n'est donc plus admissible. Par contre, lorsqu'une solution est trouvée, la recherche peut continuer pour chercher une meilleure solution. On construit ainsi un algorithme de recherche itératif et anytime. Contrairement à Hansen, Zilberstein et Danilschenko, notre méthode[[17]] ajuste au fur et à mesure de la résolution la valeur de w de façon à optimiser le gradient de qualité.