J'essaie de trouver une heuristique bonne et rapide pour un jeu pacman de clear-map. Mon heuristique essaye de calculer la plus petite distance possible que le pacman doit voyager pour aller à tous les points avec de la nourriture sur la carte. Mon algorithme actuel est fondamentalement MST de Prim qui me donne un O (n logn) temps de fonctionnement, mais ne compte pas les situations où le pacman doit suivre un bord à manger, et le retour au sommet précédent ...A * heuristique: le plus court chemin passant une fois en plusieurs points
Y a-t-il quelque chose de mieux? Dire d'une autre manière: Quel est le coût minimum de connexion de plusieurs points sans soulever mon stylo?
Merci
Et quel serait le moyen le plus simple d'approcher la solution au TSP? – Chetan
Il y a une erreur dans ma réponse ci-dessus: pour avoir une approximation d'erreur bornée, vous devez changer légèrement les contraintes. L'étape du plus court chemin pour toutes les paires garantit que les distances sont métriques (au prix d'un éventuel retour sur un point), ce qui vous permet d'utiliser l'algorithme de Christofides pour atteindre 150% du minimum. Si vous pouvez en outre garantir que les distances sont euclidiennes (c'est-à-dire les distances en ligne droite dans la géométrie normale), alors vous pouvez construire des approximations arbitrairement bonnes, mais elles ne valent généralement pas le problème supplémentaire. Voir l'article wikipedia pour plus. – user57368