29 votes

Comment mettre en œuvre un algorithme de recherche de chemin A*, avec des coûts de déplacement pour chaque langage de programmation ?

Peut-on demander aux gens de poster le code d'implémentations simples et optimisées de l'algorithme de recherche de chemin A*, dans chaque langage ?

C'est surtout pour le plaisir et pour jouer avec ce dont stackoverflow lui-même est capable... bien que je sois intéressé par une version ActionScript 3 de ceci.

Mais l'idée est que cette "Question" continuera à être mise à jour éternellement dans le futur, même si différents langages de programmation sont créés !

Je ne connais pas d'autre endroit en ligne où l'on peut voir du pseudocode "traduit" dans de nombreuses langues (et encore moins dans toutes). Il semble qu'il s'agisse d'une ressource intéressante et, bien que ce ne soit pas nécessairement le but de ce site, il n'y a aucun mal à l'essayer et à voir s'il s'agit d'une chose intéressante pour laquelle stackoverflow pourrait être utilisé !

0 votes

Ce serait probablement mieux si vous donniez plus de règles de base, comme un labyrinthe/un champ d'obstacles "test". Idéalement, chaque mise en œuvre devrait trouver le même itinéraire ou une liste restreinte très commune de solutions possibles !

0 votes

@Ray Hayes, Peut-être pas la même route (car il peut y avoir plusieurs routes vers le même but), mais la même longueur de route.

0 votes

SPOJ et ses produits/sites dérivés offrent un moyen de compiler en ligne du code provenant de nombreux langages différents. Vous pouvez peut-être y créer un problème et les gens peuvent y poster du code testable et compilable.

11voto

Brian Grinstead Points 2248

Voici un Mise en œuvre de JavaScript ainsi que code source et un Démonstration en ligne Je l'ai fait comme un hobby/projet de recherche.

Il est très simple, mais vous pouvez modifier certains paramètres (taille de la grille, nombre de murs, activation/désactivation des informations de débogage). Il vous montrera les valeurs calculées de f(x), g(x), et h(x) pour chaque nœud inspecté.

La mise en œuvre de la page de démonstration utilise jQuery.

0 votes

Notez que cela dépend de Jquery.

4 votes

La démo dépend de jQuery, le plugin lui-même ne l'est pas. J'ai mis à jour la réponse pour mettre en évidence la partie non dépendante.

9voto

justinhj Points 5060

Voici une implémentation en C++. Elle est assez bien testée maintenant, et utilisée dans des jeux vidéo commerciaux et divers projets d'IA.

http://code.google.com/p/a-star-algorithm-implementation/

Et il y a un tutoriel, que j'ai en fait écrit en premier :

http://www.heyes-jones.com/astar.html

5voto

Joel Coehoorn Points 190579

Voici un Mise en œuvre en C# fait par l'une des personnes qui construisent le langage.

3voto

Dave Points 2848

Codes sources et démos dans différents langages de programmation :

Liste des démos pour chaque langue :

C++: 1
Java: 3
Processing: 1
Actionscript 3 (Flash): 4
Flex (Flash): 1
Javascript: 6
C#: 1
Ruby: 1
Prolog: 1
Unity: 1
Lua: 1

Démo sur l'orientation dans différentes langues

Profitez-en :)

1voto

Chris Points 1263

Un exemple d'AS 3... http://www.dauntless.be/astar/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X