SlideShare una empresa de Scribd logo
1 de 26
Algorithme A*
Par: Sari Meriem
1
UNIVERSITE MOHAMED CHERIF MESAADIA
SOUK-AHRAS
Exposé sur:
Plan
2
 Introduction.
 Algorithme A star.
 Objectif.
 Applications.
 Description.
 Algorithme.
 Exemple.
 Implémentation du TP.
 Conclusion.
Sari Meriem Algorithme A* 1ére Année Master GL
Introduction
3
 Le « PATHFINDING » est un domaine de l'informatique qui étudie
les différentes façons de trouver un chemin entre un point A et un
point B.
 L'un des algorithmes de pathfinding les plus connus est A* (
prononcez A étoile, ou A star en anglais).
Sari Meriem Algorithme A* 1ére Année Master GL
Introduction
4
C’est quoi le A *?
Sari Meriem Algorithme A* 1ére Année Master GL
A star
5
 A été proposé pour la première fois par Peter E. Hart, Nils Nilsson
et Bertram Raphael en 1968.
 Est une extension de l'algorithme de Dijkstra de 1959.
 Est un algorithme itératif.
 Permet la recherche d’un chemin à partir d’un état Initial (source)
vers un état final (destination).
 Il ne donne pas toujours la solution optimale mais il donne très
rapidement une bonne solution.
Sari Meriem Algorithme A* 1ére Année Master GL
Objectif
6
 Déterminer, pour un agent donné, un chemin de coût minimum
depuis un sommet source vers un sommet destination au sein d’un
graphe.
 Un agent est un objet informatique utilisé pour représenter une
entité mobile dotée d’un comportement (humain, animal, véhicule,
…)
Sari Meriem Algorithme A* 1ére Année Master GL
Objectif
7
 Le coût d’un arc dépend de l’application de l’algorithme.
 Exemple:
 Distance kilométrique:
Recherche de chemins de longueur minimale.
 Temps:
Recherche de chemins en temps minimum.
 Consommation de carburant:
Rechercher de chemins « économes ».
Sari Meriem Algorithme A* 1ére Année Master GL
Applications
8
 Jeux vidéo:
 Animation des personnages non joueurs.
 Déplacement réaliste d’un personnage contrôlé par le joueur
vers un objectif désigné par le joueur.
 Simulation – vie artificielle:
 Etude du comportement d’une foule, du trafic automobile, …
 Effets spéciaux (scènes de bataille, …)
Sari Meriem Algorithme A* 1ére Année Master GL
Description
9
 Vocabulaires nécessaire à savoir:
 Le graphe: ensemble des nœuds et des arcs.
 Un nœud: c'est une unité du graphe, l'algorithme va parcourir le
graphe en passant des nœuds.
 La liste ouverte: C'est une liste qui contient les nœuds à analyser.
 La liste fermée: C'est une liste qui contient les nœuds déjà
analysés.
Sari Meriem Algorithme A* 1ére Année Master GL
Description
10
 Pour chaque nœuds on a les propriétés suivante:
 Parent (P): il s'agit du prédécesseur du nœud courant.
 G: il s'agit de la distance parcourue depuis le point de départ pour
arriver au nœud courant (Coût depuis la source).
 H: il s'agit de la distance à vol d'oiseau entre le nœud courant et le
nœud d'arrivée (Coût vers la destination).
 Poids(F): Coût depuis la source (G) + Coût vers la destination (H) .
Sari Meriem Algorithme A* 1ére Année Master GL
Algorithme
11
Initialisation
Sommet source (S)
Sommet destination (D)
Liste ouverte à explorer (E) : sommet source S
Liste fermée déjà visités (V) : vide
Tant que (la liste E est non vide) et (D n’est pas dans E) Faire
+ Récupérer le sommet X de coût F minimum.
+ Ajouter X à la liste V
+ Ajouter les successeurs de X (non déjà visités) à la liste E en
évaluant leur coût F et en identifiant leur prédécesseur.
+ Si (un successeur est déjà présent dans E) et
(nouveau coût est inférieur à l’ancien) Alors
Changer son coût F
Changer son prédécesseur
FinSi
FinFaire
Sari Meriem Algorithme A* 1ére Année Master GL
Algorithme
12
 L’algorithme s’ arrêtera dans deux cas:
I. Si la liste des nœuds à visiter (ouverte) est vide et le nœud
destinations n’appartient pas à la liste des nœuds déjà visité
(fermée)  dans ce cas il n’y a pas de chemin entre la source et
la destination.
II. Si le nœud destination appartient à la liste des nœuds déjà
visité (fermée)  dans ce cas l’algorithme a trouvé un chemin
entre la source et la destination.
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
13
S
D
S
D
Sommet source
Sommet destination
Obstacle
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
14
S
D
10 + 30
10 + 50
10 + 50
Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
15
S
D
10 + 30
10 + 50
10 + 50
20 + 40
20 + 40 Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
16
S
D
10 + 30
10 + 50
10 + 50
20 + 40
20 + 40
20 + 60
Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
17
S
D
10 + 30
10 + 50
10 + 50
20 + 40
20 + 40
20 + 60
20 + 60
Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
18
S
D
10 + 30
10 + 50
20 + 40
20 + 40
20 + 60
30 + 50 Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
19
S
D
10 + 30
10 + 50
10 + 50
20 + 40
20 + 40
20 + 60
20 + 60
30 + 50 30 + 30 Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
20
S
D
10 + 30
10 + 50
10 + 50
20 + 40
20 + 40
20 + 60
20 + 60
30 + 50 30 + 30 40 + 20 Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
21
S
D
10 + 30
10 + 50
20 + 40
20 + 60
30 + 30 40 + 20 50 + 10
50 + 10
Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
22
S
10 + 30
10 + 50
20 + 40
20 + 40
20 + 60
30 + 50 30 + 30 40 + 20 50 + 10
50 + 10
60 + 20
60 + 0
Sommet déjà visité
Sommet à explorer
G + H
Coût depuis
la source
Coût vers
la destination
Référence au
prédécesseur
Sari Meriem Algorithme A* 1ére Année Master GL
Exemple
23
S
D
Sari Meriem Algorithme A* 1ére Année Master GL
Implémentation du TP
24
 L'implémentation proposée se base sur 4 classes :
 Astar: une classe fournissant l'algorithme de calcul.
 Node: une classe représentant un noeud du parcours .
 NodeFactory: une classe abstraite permettant de créer les
noeuds, dans laquelle il faut implémenter les méthodes de calcul
de G et H.
 SuccessorComputer: une classe abstraite fournissant les
successeurs d'un point particulier.
 MainTest: une classe fournissant un cas de test concret sur une
chaine de caractères ou " " représente un chemin exploitable et
" | " représente un chemin interdit.
Sari Meriem Algorithme A* 1ére Année Master GL
Implémentation du TP
25Sari Meriem Algorithme A* 1ére Année Master GL
Conclusion
26
 L’algorithme A* ne donne pas toujours la meilleure solution mais il
en donne une bonne solution.
 On pourrait comparer ses performances avec celles de
l'algorithme de Dijkstra.
 Dijkstra donne la meilleure solution, mais A* est plus rapide.
Sari Meriem Algorithme A* 1ére Année Master GL

Más contenido relacionado

La actualidad más candente

Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...ECAM Brussels Engineering School
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en PythonABDESSELAM ARROU
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancépierrepo
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données IIRiadh Bouslimi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap IInes Ouaz
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3Beligh HAMDI
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage AutomatiqueNizar Bechir
 

La actualidad más candente (20)

Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...Développement informatique : Algorithmique II : Techniques de recherche en in...
Développement informatique : Algorithmique II : Techniques de recherche en in...
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
La programmation modulaire en Python
La programmation modulaire en PythonLa programmation modulaire en Python
La programmation modulaire en Python
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Cours python avancé
Cours python avancéCours python avancé
Cours python avancé
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Algorithme & structures de données Chap I
Algorithme & structures de données Chap IAlgorithme & structures de données Chap I
Algorithme & structures de données Chap I
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Ia project Apprentissage Automatique
Ia project Apprentissage AutomatiqueIa project Apprentissage Automatique
Ia project Apprentissage Automatique
 

Más de meriem sari

What is an aspect in aspect oriented requirements engineering
What is an aspect in aspect oriented requirements engineeringWhat is an aspect in aspect oriented requirements engineering
What is an aspect in aspect oriented requirements engineeringmeriem sari
 
Structural features for face recognition
Structural features for face recognitionStructural features for face recognition
Structural features for face recognitionmeriem sari
 
Qt user interface
Qt user interfaceQt user interface
Qt user interfacemeriem sari
 
Programmation orienté aspect
Programmation orienté aspectProgrammation orienté aspect
Programmation orienté aspectmeriem sari
 
Meta-modelisation avec eclipse
Meta-modelisation avec eclipseMeta-modelisation avec eclipse
Meta-modelisation avec eclipsemeriem sari
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes umlmeriem sari
 
Design patterns french
Design patterns frenchDesign patterns french
Design patterns frenchmeriem sari
 
Design patterns english
Design patterns englishDesign patterns english
Design patterns englishmeriem sari
 

Más de meriem sari (13)

Contraintes uml
Contraintes umlContraintes uml
Contraintes uml
 
Cvs
CvsCvs
Cvs
 
Ws asp.net
Ws asp.netWs asp.net
Ws asp.net
 
What is an aspect in aspect oriented requirements engineering
What is an aspect in aspect oriented requirements engineeringWhat is an aspect in aspect oriented requirements engineering
What is an aspect in aspect oriented requirements engineering
 
Structural features for face recognition
Structural features for face recognitionStructural features for face recognition
Structural features for face recognition
 
Rest ws
Rest wsRest ws
Rest ws
 
Qt user interface
Qt user interfaceQt user interface
Qt user interface
 
Programmation orienté aspect
Programmation orienté aspectProgrammation orienté aspect
Programmation orienté aspect
 
Meta-modelisation avec eclipse
Meta-modelisation avec eclipseMeta-modelisation avec eclipse
Meta-modelisation avec eclipse
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes uml
 
Design patterns french
Design patterns frenchDesign patterns french
Design patterns french
 
Design patterns english
Design patterns englishDesign patterns english
Design patterns english
 
Cvl
CvlCvl
Cvl
 

Último

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirstjob4
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 

Último (20)

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
firefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdffirefly algoriyhm sac a dos step by step .pdf
firefly algoriyhm sac a dos step by step .pdf
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 

A star

  • 1. Algorithme A* Par: Sari Meriem 1 UNIVERSITE MOHAMED CHERIF MESAADIA SOUK-AHRAS Exposé sur:
  • 2. Plan 2  Introduction.  Algorithme A star.  Objectif.  Applications.  Description.  Algorithme.  Exemple.  Implémentation du TP.  Conclusion. Sari Meriem Algorithme A* 1ére Année Master GL
  • 3. Introduction 3  Le « PATHFINDING » est un domaine de l'informatique qui étudie les différentes façons de trouver un chemin entre un point A et un point B.  L'un des algorithmes de pathfinding les plus connus est A* ( prononcez A étoile, ou A star en anglais). Sari Meriem Algorithme A* 1ére Année Master GL
  • 4. Introduction 4 C’est quoi le A *? Sari Meriem Algorithme A* 1ére Année Master GL
  • 5. A star 5  A été proposé pour la première fois par Peter E. Hart, Nils Nilsson et Bertram Raphael en 1968.  Est une extension de l'algorithme de Dijkstra de 1959.  Est un algorithme itératif.  Permet la recherche d’un chemin à partir d’un état Initial (source) vers un état final (destination).  Il ne donne pas toujours la solution optimale mais il donne très rapidement une bonne solution. Sari Meriem Algorithme A* 1ére Année Master GL
  • 6. Objectif 6  Déterminer, pour un agent donné, un chemin de coût minimum depuis un sommet source vers un sommet destination au sein d’un graphe.  Un agent est un objet informatique utilisé pour représenter une entité mobile dotée d’un comportement (humain, animal, véhicule, …) Sari Meriem Algorithme A* 1ére Année Master GL
  • 7. Objectif 7  Le coût d’un arc dépend de l’application de l’algorithme.  Exemple:  Distance kilométrique: Recherche de chemins de longueur minimale.  Temps: Recherche de chemins en temps minimum.  Consommation de carburant: Rechercher de chemins « économes ». Sari Meriem Algorithme A* 1ére Année Master GL
  • 8. Applications 8  Jeux vidéo:  Animation des personnages non joueurs.  Déplacement réaliste d’un personnage contrôlé par le joueur vers un objectif désigné par le joueur.  Simulation – vie artificielle:  Etude du comportement d’une foule, du trafic automobile, …  Effets spéciaux (scènes de bataille, …) Sari Meriem Algorithme A* 1ére Année Master GL
  • 9. Description 9  Vocabulaires nécessaire à savoir:  Le graphe: ensemble des nœuds et des arcs.  Un nœud: c'est une unité du graphe, l'algorithme va parcourir le graphe en passant des nœuds.  La liste ouverte: C'est une liste qui contient les nœuds à analyser.  La liste fermée: C'est une liste qui contient les nœuds déjà analysés. Sari Meriem Algorithme A* 1ére Année Master GL
  • 10. Description 10  Pour chaque nœuds on a les propriétés suivante:  Parent (P): il s'agit du prédécesseur du nœud courant.  G: il s'agit de la distance parcourue depuis le point de départ pour arriver au nœud courant (Coût depuis la source).  H: il s'agit de la distance à vol d'oiseau entre le nœud courant et le nœud d'arrivée (Coût vers la destination).  Poids(F): Coût depuis la source (G) + Coût vers la destination (H) . Sari Meriem Algorithme A* 1ére Année Master GL
  • 11. Algorithme 11 Initialisation Sommet source (S) Sommet destination (D) Liste ouverte à explorer (E) : sommet source S Liste fermée déjà visités (V) : vide Tant que (la liste E est non vide) et (D n’est pas dans E) Faire + Récupérer le sommet X de coût F minimum. + Ajouter X à la liste V + Ajouter les successeurs de X (non déjà visités) à la liste E en évaluant leur coût F et en identifiant leur prédécesseur. + Si (un successeur est déjà présent dans E) et (nouveau coût est inférieur à l’ancien) Alors Changer son coût F Changer son prédécesseur FinSi FinFaire Sari Meriem Algorithme A* 1ére Année Master GL
  • 12. Algorithme 12  L’algorithme s’ arrêtera dans deux cas: I. Si la liste des nœuds à visiter (ouverte) est vide et le nœud destinations n’appartient pas à la liste des nœuds déjà visité (fermée)  dans ce cas il n’y a pas de chemin entre la source et la destination. II. Si le nœud destination appartient à la liste des nœuds déjà visité (fermée)  dans ce cas l’algorithme a trouvé un chemin entre la source et la destination. Sari Meriem Algorithme A* 1ére Année Master GL
  • 13. Exemple 13 S D S D Sommet source Sommet destination Obstacle Sari Meriem Algorithme A* 1ére Année Master GL
  • 14. Exemple 14 S D 10 + 30 10 + 50 10 + 50 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 15. Exemple 15 S D 10 + 30 10 + 50 10 + 50 20 + 40 20 + 40 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 16. Exemple 16 S D 10 + 30 10 + 50 10 + 50 20 + 40 20 + 40 20 + 60 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 17. Exemple 17 S D 10 + 30 10 + 50 10 + 50 20 + 40 20 + 40 20 + 60 20 + 60 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 18. Exemple 18 S D 10 + 30 10 + 50 20 + 40 20 + 40 20 + 60 30 + 50 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 19. Exemple 19 S D 10 + 30 10 + 50 10 + 50 20 + 40 20 + 40 20 + 60 20 + 60 30 + 50 30 + 30 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 20. Exemple 20 S D 10 + 30 10 + 50 10 + 50 20 + 40 20 + 40 20 + 60 20 + 60 30 + 50 30 + 30 40 + 20 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 21. Exemple 21 S D 10 + 30 10 + 50 20 + 40 20 + 60 30 + 30 40 + 20 50 + 10 50 + 10 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 22. Exemple 22 S 10 + 30 10 + 50 20 + 40 20 + 40 20 + 60 30 + 50 30 + 30 40 + 20 50 + 10 50 + 10 60 + 20 60 + 0 Sommet déjà visité Sommet à explorer G + H Coût depuis la source Coût vers la destination Référence au prédécesseur Sari Meriem Algorithme A* 1ére Année Master GL
  • 23. Exemple 23 S D Sari Meriem Algorithme A* 1ére Année Master GL
  • 24. Implémentation du TP 24  L'implémentation proposée se base sur 4 classes :  Astar: une classe fournissant l'algorithme de calcul.  Node: une classe représentant un noeud du parcours .  NodeFactory: une classe abstraite permettant de créer les noeuds, dans laquelle il faut implémenter les méthodes de calcul de G et H.  SuccessorComputer: une classe abstraite fournissant les successeurs d'un point particulier.  MainTest: une classe fournissant un cas de test concret sur une chaine de caractères ou " " représente un chemin exploitable et " | " représente un chemin interdit. Sari Meriem Algorithme A* 1ére Année Master GL
  • 25. Implémentation du TP 25Sari Meriem Algorithme A* 1ére Année Master GL
  • 26. Conclusion 26  L’algorithme A* ne donne pas toujours la meilleure solution mais il en donne une bonne solution.  On pourrait comparer ses performances avec celles de l'algorithme de Dijkstra.  Dijkstra donne la meilleure solution, mais A* est plus rapide. Sari Meriem Algorithme A* 1ére Année Master GL