begin process at 2012 05 28 08:02:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Maths

 > 

Chemin le plus court A*


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Chemin le plus court A*

dimanche 21 mai 2006 à 20:50:02 | Chemin le plus court A*

esiee_amiens

Bonjour, j'aimerais que l'on m'aide à implanter l'algo A* pour un labyrinthe.

Le labyrinthe ressemble à ça :
111111111111111
101010101000001
101010101010111
100010101000021
111011101010111
100003100010001
101011101010101
101010001000101
101011101010101
101000000010001
101110101010111
100010001010001
101010101010111
100000101000001
111111111111111

Les 1 sont des murs, et les 0 des passages. Et je veux aller du point 2 au point 3 (par le chemin le plus court).

Mais déjà je n'arrive pas à faire la "liste ouverte" et la "liste fermeé".

Merci
lundi 22 mai 2006 à 06:24:31 | Re : Chemin le plus court A*

nightlord666

Membre Club

Va voir le tutorial de Pathfinding sur jpeglauden.free.fr, tu y trouvera une source qui utilise A* pour chercher le chemin entre deux points.

mardi 23 mai 2006 à 19:33:22 | Re : Chemin le plus court A*

tekila_bandita

Moi je dirais simplement que tu devrais faire une fonction te cherchant un reponse possible, tu stoque la reponse dans un string, et ensuite tu regarde ça longueur...
La fonction prendrait un int en argument, et selon le int, elle testerai une possibilité plutot qu'une autre, pour te souvenir de la bonne reponse, les reponses seront plutot stoqué dans un tableau de string avec le int argument de la fonction correspondant a l'index de la case du tableau correspondant...


Je ne suis pas très clair mais bon, j'ai essayé...

mardi 30 mai 2006 à 10:00:44 | Re : Chemin le plus court A*

Akoril

Javascript:Insert_Emoticon('/imgs2/smile_wink.gif'); Un algo simple… Méthode Barby dit d’inondation Tu remplaces 1, 2 et 3 respectivement par X, 1 et B. On démarre donc à 1 et on va vers B, ensuite… Tant qu’on a fait une affectation… Tu parcours ta matrice, pour chaque élément (i, j)… Pour chacun de ces voisins (o, p) soit pour (o, p) les valeurs (i-1, j-1) - > (i + 1, j + 1) si tu autorises les diagonales si nom c’est plutôt (i-1, J), (i + 1, j), (i, j-1) et (i, j + 1)… Si l’un deux a la valeur X ou B tu passes au suivant Si les deux on la valeur 0 tu passes au suivant Soit dist la distance entre les points, 1 ou 1.414 (pour les diagonales), mais on peut avoir n’importe quelle pondération en fonction du terrain par exemple. Tu regardes si (i, j) est supérieur > 0 et si (o, p) = 0 ou-bien (o, p) > (i, j) + dist ==> auquel cas (o, p) = (i, j) + dist. Sinon si (i, j) = 0 ==> (i, j) = (o, p) + dist. Voilà. Attention on ne s’arrête vraiment que quand un passage de toute la matrice ne génère pas une affectation… On peut arriver en B par un premier chemin calculer, mais en trouver un autre plus tard… C’est algo est plutôt fait pour un graphe ou la distance entre les nœuds est variable, ici c’est peut-être pas le cas. Les avantages de l’algo sont : Il est simple d’interrompre (n’importe ou) le calcul pour faire une autre tache, et reprendre au début de l’algo. C’est nécessaire pour une interaction rapide avec l’utilisateur. On peut avoir une solution provisoire, (qui n’est pas forcément la bonne), au fur et à mesure la solution va s’affiner. On a les solutions (si elles existent) pour n’importe quel point de destination de la matrice. Avantage si la destination (cible) se déplace… On peut limiter l'algo a une portion de la matrice. La (es) solution (s) ? On par de B on cherche dans ses voisins, celui qui a la plus petite valeur (différent de X évidement) et on remonte le chemin a rebrousse poil, en choisissant toujours le plus petit

Rien n'est tout noir ou tout blanc...Javascript:Insert_Emoticon('/imgs2/smile.gif');
mardi 30 mai 2006 à 10:03:30 | Re : Chemin le plus court A*

Akoril

Ben c’est un peu le bazar, la présentation a sauté Javascript:Insert_Emoticon('/imgs2/smile_dissapprove.gif');

Rien n'est tout noir ou tout blanc...Javascript:Insert_Emoticon('/imgs2/smile.gif');


Cette discussion est classée dans : liste, chemin, labyrinthe, court


Répondre à ce message

Sujets en rapport avec ce message

pb avec un labyrinthe [ par skinia ] je suis sur un projet de labyrinthe et j'ai bloqué pour l' algorithme du plus court chemin (entre un pt qq du labyrinthe et la cible au milieu).le lab plus court chemin caml [ par bosque31 ] Bonjour, Je suis étudiant en math spé et je tente de coder une course poursuite sur un graphe pour mon tipe . Je possède des algos pour calculer la choisir le chemin plus court [ par amine2khaan ] Bonjour, Quelqu'un peut me donner un programme ou juste un algorithme qui permet de trouver le chemin plus court entre une ville de depart et de dést Implémenter en C/C++ un programme qui recherche le plus court chemin d'un graphe [ par asrml ] Bonjour tout le monde, Je voudrais demander vos aides s'il vous plait: Le but du devoir c'est la recherche du plus court chemin dans un graphe non ori chemin du fichier en court [ par mohzag ] Salut a tous, <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office Bellman ford: La valeur du chemin le plus court et le chemin même (=les points) [ par Perace ] Salut à tous!avez vous deja vu un algo en c qui ne se limite pas à donner la valeur du chemin le plus court mais vous donne les points?!quand on fini recherche chemin labyrinthe [ par amenienis ] bonjour,je sui débutante en C svp!! si qqun pourra m'aider sur ce sujetg un labyrinthe défini a partir d'un fichier texte avec des 1 pour les murs et


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,655 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales