Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

12
Recherche de chemin Recherche de chemin A* A* Par: Par: François Roseberry François Roseberry Benoît Tremblay Benoît Tremblay

Transcript of Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Page 1: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Recherche de chemin A*Recherche de chemin A*Par:Par:

François RoseberryFrançois Roseberry

Benoît TremblayBenoît Tremblay

Page 2: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

PlanPlan

ProblématiqueProblématique Explication du A* de baseExplication du A* de base Différentes optimisationsDifférentes optimisations Nos choix d’optimisationsNos choix d’optimisations Présentation des prototypesPrésentation des prototypes Difficultés rencontréesDifficultés rencontrées Analyse des résultatsAnalyse des résultats Bilan des connaissances acquisesBilan des connaissances acquises ConclusionConclusion

Page 3: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

ProblématiqueProblématique

Besoin de la recherche de cheminBesoin de la recherche de chemin Enjeux (pourquoi?)Enjeux (pourquoi?) ObjectifsObjectifs

Page 4: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Explication du A*Explication du A*

Ajouter le nœud de départ à la liste ouverteAjouter le nœud de départ à la liste ouverteTant que la liste ouverte n’est pas videTant que la liste ouverte n’est pas vide{{    Nœud <- Nœud ouvert avec le plus petit coût    Nœud <- Nœud ouvert avec le plus petit coût    Si le nœud est la destination finale    Si le nœud est la destination finale        Ceci est un chemin possible        Ceci est un chemin possible    Sinon    Sinon        Fermer ce nœud        Fermer ce nœud        Pour tous les nœuds adjacents qui ne sont         Pour tous les nœuds adjacents qui ne sont pas fermé ou n’est pas un obstaclepas fermé ou n’est pas un obstacle            Ajouter le nœud à la liste ouverte            Ajouter le nœud à la liste ouverte} }

Page 5: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Explication du A*Explication du A*

Ouverture / Ouverture / fermeture des fermeture des nœudsnœuds

Calcul du coûtCalcul du coût (coût du nœud + (coût du nœud +

heuristique)heuristique)

Page 6: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Différentes optimisationsDifférentes optimisations

A* par points visiblesA* par points visibles A* hiérarchiqueA* hiérarchique Listes prioritairesListes prioritaires Réutilisation des nœudsRéutilisation des nœuds

Page 7: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Nos choix d’optimisationNos choix d’optimisation

Dérivé du A* par points visiblesDérivé du A* par points visibles Graphe pré calculéGraphe pré calculé RaisonsRaisons

Complexité moindreComplexité moindre PerformancePerformance Plus réalistePlus réaliste

Page 8: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Présentation des prototypesPrésentation des prototypes

Version ConsoleVersion Console Éditeur WindowsÉditeur Windows Version WindowsVersion Windows

Page 9: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Difficultés rencontréesDifficultés rencontrées

Librairie STLLibrairie STL Joindre le nœud le plus procheJoindre le nœud le plus proche Implémenter la boite de collisionImplémenter la boite de collision

Page 10: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Analyse des résultatsAnalyse des résultats

Buts atteintsButs atteints Gain de performance significatifGain de performance significatif

Pourquoi le résultat n’est pas concluantPourquoi le résultat n’est pas concluant Perte de précisionPerte de précision Pas assez approfonditPas assez approfondit Perd du temps à placer les nœudsPerd du temps à placer les nœuds

Page 11: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

Bilan des connaissances acquisesBilan des connaissances acquises

Compréhension du A*Compréhension du A* Différentes optimisations et leurs impactsDifférentes optimisations et leurs impacts Sérialisation des donnéesSérialisation des données

Page 12: Recherche de chemin A* Par: François Roseberry Benoît Tremblay.

ConclusionConclusion

Utiliser des librairies et du code déjà faitUtiliser des librairies et du code déjà fait A* divise pour régnerA* divise pour régner Manque de tempsManque de temps Pistes futures de solutionsPistes futures de solutions

A* hiérarchiqueA* hiérarchique D*D*