Parcours matrice. - Java - Programmation
Marsh Posté le 02-01-2010 à 13:59:04
Merci de ta réponse =) En fait je sais que Astar est parfait pour mon cas, mais je n'ai aucune idée de comment l'implémenter simplement pour ma matrice toute bête
Marsh Posté le 02-01-2010 à 14:17:05
Ben t'écris tes heuristique et tu les file à A star.
C'est quoi qui te pose problème, java, a star, ou les heuristique.
j'y connais rien en java et j'écrirais pas les heuristique pour toi.
Par contre je peux me replonger dans A star et te filer un coup de pouce.
Marsh Posté le 02-01-2010 à 18:50:55
Le mot heuristique m'est étranger Ce qui me pose souci c'est que je connais pas l'algorithme A*, les très nombreux sites que j'ai lu dessus sont un peu complexes pour moi et je ne sais pas comment transformer ma matrice en graphe
Marsh Posté le 02-01-2010 à 19:16:31
apaachee a écrit : Le mot heuristique m'est étranger Ce qui me pose souci c'est que je connais pas l'algorithme A*, les très nombreux sites que j'ai lu dessus sont un peu complexes pour moi et je ne sais pas comment transformer ma matrice en graphe |
Moi non plus !
Alors là, il faut que t'attende une autre âme charitable parce que je sais faire, mais pas expliquer.
Marsh Posté le 02-01-2010 à 21:31:17
Code :
|
J'ai fait un algo (assez lourd j'en conviens) pour le problème que dois traiter. En bref je cherche le chemin le plus court du point (i,j) au bas de la matrice, puis au haut. Etant au coeur du problème depuis maintenant une 20e d'heure, mes explications peuvent paraître légères, si besoin de détailler quelquechose j'y suis tout disposé !
J'ai l'impression qu'il ne marche pas sur les cases 'enfermées'...
Marsh Posté le 03-01-2010 à 13:14:18
Salut,
T'as tout mis en vrac, j'ai pas l'habitude de java, j'arrive pas à lire.
Ce que je sais c'est que a star fais une 30aine de lignes avec Java.
Avec Ada aussi par ailleurs.
Marsh Posté le 04-01-2010 à 00:13:13
Hmm la je bloque vraiment avec mon algo interminable. On commence par ou pour A* et ma matrice ? =)
Marsh Posté le 04-01-2010 à 01:09:55
Ca c'est A *
Algorithme A-étoile |
Ca c'est une vue de l'implémentation avec le langage Ada, je l'ai tradui du code java.
Code :
|
De mémoire, il est quasi correcte, si non, je me ferait taper sur les doigts.
Marsh Posté le 04-01-2010 à 01:17:05
A non, le code Ada est un mélange avec du pseudo code...
il faut savoir de quoi il s'agit, c'est un jeu du taquin.
Les ligne commentées sont les instruction Ada manquante dans l'implémentation, je vais tenter de récupérer mieux.
Marsh Posté le 04-01-2010 à 10:57:37
Merci beaucoup pour ce début, je planche dessus cet après-midi !
Marsh Posté le 05-01-2010 à 14:25:35
Voila mon Astar. Ce qui me chagrine dans cet algo c'est qu'il ne prend pas en compte la valeur des cases. si 6 cases sont gratuites en allant voir un peu plus haut il ne le verra pas, comment faire ?
Code :
|
Marsh Posté le 02-01-2010 à 00:46:54
Bonjour à tous ceux qui prendront la peine de lire mes peines... ^^
Je possède une matrice de char constituée de 0 , 'r' , ou 'j'. ('r' = pions rouges et 'j' = pions jaunes, '0' = cases vierges).
Je dévellope une IA pour un jeu et j'ai besoin de connaitre le chemin le plus court entre un point (i,j) et le bas ou le haut de ma matrice.
En sachant que si je calcule pour les jaunes, les points 'r' sont infranchissables, les points 'j' sont de poids nul et les points '0' sont de cout 1.
Les déplacements autorisés sont nord,sud,est,ouest.
Je ne pose pas de question sur ce forum sans connaissance de cause, cela fait bientôt 5h que je me renseigne sur les algo de Djiksttra et A*, sans trouver quelque chose de concluant pour mon cas particulier, je n'y comprend pas grand chose.
Merci !