Powerpoint Templates Page 1 Powerpoint Templates BE Graphe : Algorithme de Dijsktra Distribution d’un algorithme Jeudi 7 mai 2012 RULLIER Anthony
Powerpoint Templates Page 2 Compte rendu des différents algorithmes en local
Powerpoint Templates Page 3 Structures remarquables utilisées : BinaryHeap instantié en Label[*] HashTable instancié en Label[*] et utilisée dans Pcc[*] Augmente grandement la vitesse des données car une table de Hachage performante pour la gestion de données en grande quantité
Powerpoint Templates Page > Dijkstra Simple Dijkstra Guidé Cout (minutes) 79, Nœuds Parcourus Nœuds Max tas Temps exécution 6,025 s 2,838 s
Powerpoint Templates Page 5 Résultats Expérimentaux (temps) > Dijkstra Simple Dijkstra Guidé Cout (minutes) Nœuds Parcourus Nœuds Max tas Temps exécution 3,763 s 1,001 s Superposition du A* star et du Dijkstra seul
Powerpoint Templates Page 6 Résultats Expérimentaux (distance) > Dijkstra Simple Dijkstra Guidé Cout (km) 164,355 Nœuds Parcourus Nœuds Max tas Temps exécution s s Superposition du A* star et du Dijkstra seul
Powerpoint Templates Page 7 Résultats Expérimentaux (distance) > 3037 Dijkstra Simple Dijkstra Guidé Cout (km) ,355 Nœuds Parcourus Nœuds Max tas Temps exécution s s Superposition du A* star et du Dijkstra seul
Powerpoint Templates Page 8 Moyenne temps et distances (ms) :
Powerpoint Templates Page 9 Limites et améliorations : Sur certains chemins les algorithmes Dijsktra temps et distance sont plus rapides que les algorithmes Dijkstra Star temps et distance Utiliser une table de hachage dans le tas à la place de l’utiliser dans le Pcc. On remarque que ces cas particuliers apparaissent pour des chemins ou le nombre de nœuds insérés dans le tas est deux fois ou plus pour l’algorithme Star par rapport a l’algorithme simple > Pcc Pcc* Cout (minu tes) 200,6 9 Nœu ds Insér és Nœu ds Max tas Temp s exéc ution 3,174 s 5,203 s
Powerpoint Templates Page 10 Algorithmes Distribués
Powerpoint Templates Page 11 Partie Distribuée (données) : Algorithme maitre ->HashTable indexée par les nœuds frontaliers et instanciée par leurs coup de toutes les zones ->Différentes adresses de communication avec les esclaves -> Cout final Algorithmes Esclaves ->Structures habituelles (BinaryHeap, …) du Dijkstra Standard, avec ajout de l’information sur la zone du successeur ->HashTable des nœuds frontaliers Classe de communications ->Création de classes d’envoie d’informations (coût du nœud zone de succession, nœud de départ de recherche…) ->Communication via le proxy (cf. BE AIPS)
Powerpoint Templates Page 12 Initialisation de l’algorithme : Initialisation des informations des HashTable dans Algorithme Maitre avec tous les nœuds frontaliers et leur cout infini. Création des Algorithmes Esclaves au nombre des différentes cartes Initialisation des esclaves : tous les nœuds de la carte ont un cout infini. On remplit également la HacheTable nœuds frontaliers. L’esclave de la carte ou le sommet de départ se trouve initialise le cout de ce dernier Début de l’Algorithme
Powerpoint Templates Page 13 L’algorithme Esclave effectue le Dijkstra Standard Lorsqu’il rencontre un successeurs dans une autre zone, il calcul le coup éventuel puis demande le cout de ce nœud au maître et attend. Si le cout renvoyé par l’esclave est plus petit que le cout dans la HashTable du Maitre alors M.A.J de ce cout dans cette dernière et dans la table frontalière de l’esclave. Le maitre donne l’ordre a l’Esclave continue son travail Lorsque le nœud minimal dans le tas de l’Esclave est celui d’une autre zone, envoie d’un message à Maitre. Maitre passe la main à Esclave de cette nouvelle zone Lorsque le zone d’arrivée est marqué, renvoie du coût à l’algorithme maitre
Powerpoint Templates Page 14 BE INTEGRATION : Creation des classes SendData et ReceveData DatagramSocket ByteArrayOutputStream ObjectOutputStream / / ObjectInputStream DatagramPacket Maitre Esclave n°1Esclave n°2 Etc…
Powerpoint Templates Page 15 Merci pour votre Attention