Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1459 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Ou trouver l'UML de l'algorithme A* ? (recherche du plus court chemin)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ou trouver l'UML de l'algorithme A* ? (recherche du plus court chemin)

n°353887
noelemac
Posté le 06-04-2003 à 11:34:28  profilanswer
 

A tout hasard (je m'attend à n'avoir aucune réponse  :( ), y'a t-il une personne qui aurai un UML sur l'algorithme A* générique ?
 
ou alors le code en java qui me mettrai sur la voie ?
 
J'ai fait pas mal de recherche sur google mais on ne parle quasi jamais de cette algo et encore moins du code source ou de l'uml.
 
Merci
 :jap:


Message édité par noelemac le 06-04-2003 à 13:15:16
mood
Publicité
Posté le 06-04-2003 à 11:34:28  profilanswer
 

n°353900
chrisbk
-
Posté le 06-04-2003 à 12:18:45  profilanswer
 

Citation :

J'ai fait pas mal de recherche sur google mais on ne parle quasi jamais de cette algo


 
[:le kneu]
 
t'as du t'y prendre comme un pied

n°353902
verdoux
And I'm still waiting
Posté le 06-04-2003 à 12:23:22  profilanswer
 

C'est pas courant d'utiliser la notation UML pour décrire un algo !

n°353911
noelemac
Posté le 06-04-2003 à 13:11:57  profilanswer
 

chrisbk a écrit :

Citation :

J'ai fait pas mal de recherche sur google mais on ne parle quasi jamais de cette algo


 
[:le kneu]
 
t'as du t'y prendre comme un pied  


 
Alors prouve le mois, ca m'arrangerai  :D  
 
De savoir que A* est un algo de recherche le plus court chemin, qu'il utilise des données heuristiques etc... ca je le sait.  
 
Moi je parle d'une représentation UML de cette algo ou encore d'un code java qui me permette d'en déduire cet UML.
 
Alors j'ai peut etre cherché comme un pied mais dans ce cas la, montre moi ce que je n'ai pas trouvé...
 

n°353912
noelemac
Posté le 06-04-2003 à 13:12:42  profilanswer
 

verdoux a écrit :

C'est pas courant d'utiliser la notation UML pour décrire un algo !


 
effectivement. Mais ca fait parti d'un exo ou je doit donner une représentation UML de cet algo.

n°353959
petoulachi
A fortiori, brigadier chef
Posté le 06-04-2003 à 15:12:51  profilanswer
 

Coucou :)
 
A croire que tu as de la chance alors, puisque j'ai justement fait mon projet d'IUT sur un logiciel qui recherche le plus court chemin dans une ville... en java  :sol:  
 
J'ai donc a la fois le code, et le shema UML du projet, ça devrait te convenir  ;)  
J'ai rien sous la main là (je suis chez ma copine), mais je te poste tout ça lundi :)
 
Par contre, l'algo c celui de recherche du plus court chemin, apres te dire si il s'agit du A*, je sais pas :??:


Message édité par petoulachi le 06-04-2003 à 15:13:42
n°353972
souk
Tourist
Posté le 06-04-2003 à 16:04:07  profilanswer
 

un algo en UML ??? ca veut rien dire en fait ? c'est la representation UML d'une possible implementation de l'algo non ? y a ca aussi en UML, decrire un algo ?

n°353974
samuelp
Posté le 06-04-2003 à 16:08:25  profilanswer
 

souk a écrit :

un algo en UML ??? ca veut rien dire en fait ? c'est la representation UML d'une possible implementation de l'algo non ? y a ca aussi en UML, decrire un algo ?


 
Ben vi !
 
 Dans tes diagrammes d'objets/sequences/collaboration tu peux tres bien utiliser l'OCL de UML pour decrir qqs algorythmes qui regiront la vie et l'activite des tes objets/acteurs ou autres instances.

n°353977
noelemac
Posté le 06-04-2003 à 16:18:03  profilanswer
 

Petoulachi a écrit :

Coucou :)
 
A croire que tu as de la chance alors, puisque j'ai justement fait mon projet d'IUT sur un logiciel qui recherche le plus court chemin dans une ville... en java  :sol:  
 
J'ai donc a la fois le code, et le shema UML du projet, ça devrait te convenir  ;)  
J'ai rien sous la main là (je suis chez ma copine), mais je te poste tout ça lundi :)
 
Par contre, l'algo c celui de recherche du plus court chemin, apres te dire si il s'agit du A*, je sais pas :??:


 
Tres interresasnt tout ca  :)  
Merci de ton aide.  :jap:  
 
J'espére que c'est un algo A* car il y a d'autres algo pour trouver le plus court chemin mais le A* apporte la notion de distance heuristique entre l'état courant et l'état final. Cette distance est une estimation toujour optimiste et permet de "choisir" sans parcourir tout l'arbre le chemin le plus cours.
 
Mon projet est un logiciel qui doit résourdre des casses tetes avec le moins de coup possible.
 
On défini des regles qui sont adapté a l'algo A* et le log résoud le casse tete...
 

n°354055
benou
Posté le 06-04-2003 à 18:51:41  profilanswer
 

c'est quoi comme schéma que tu utilises en UML pour écrire un algo ?


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 06-04-2003 à 18:51:41  profilanswer
 

n°354059
noelemac
Posté le 06-04-2003 à 18:58:50  profilanswer
 

benou a écrit :

c'est quoi comme schéma que tu utilises en UML pour écrire un algo ?


 
Je ne décrit pas l'algo avec l'uml.
 
En faite, mon exo est en 2 partie: 1-Ecrire un UML qui implémente cet algo et 2-Ecrire l'algo en Java et un test sur 2 casse tete (rush-hour et allumettes)
 
Je truc c'est de savoir si je prévoi une class "Noeud", une class Arbre ou Chemin, les méthodes qui les composes, si une interface est necessaire et si oui, a quoi elle ressemble...
Le type de donnée a utiliser (une collection, liste ...)
 
Plus tard je ferai le code mais pour le moment c'est l'UML qui m'interesse (J'ai le pseudo code mais ca m'aide pas des masse)


Message édité par noelemac le 06-04-2003 à 18:59:44
n°354060
benou
Posté le 06-04-2003 à 19:00:59  profilanswer
 

C'est juste un shéma de classe qu'on te demande ?
c'est pas bien complexe ...  
 
Et tu y gagnerais à réfléchir à ca par toi même ...


Message édité par benou le 06-04-2003 à 19:01:17

---------------
ma vie, mon oeuvre - HomePlayer
n°354062
kadreg
profil: Utilisateur
Posté le 06-04-2003 à 19:05:33  profilanswer
 


 
Ecrire un UML, ça veut rien dire. On dit "Ecrire un diagramme de classe" dans ce cas.
 


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°354065
noelemac
Posté le 06-04-2003 à 19:09:10  profilanswer
 

benou a écrit :

C'est juste un shéma de classe qu'on te demande ?
c'est pas bien complexe ...  
 
Et tu y gagnerais à réfléchir à ca par toit même ...


 
J'y ai réfléchi. j'y ai passé tt la journée d'hier mais les explication son si claire que j'ai des doutes.
 
Voila ma réflexion:
 


---------------
 class NOEUD
---------------
distance_heuristique : int
pere : noeud
---------------
+ getdistance_h() : int
+ est_noeud_final() : boolean
+ getPere() : noeud
---------------
 
---------------
  class arbre
---------------
lesNoeuds : collection
---------------
???
---------------
 
 
---------------
 class Algo A
---------------
lesMeilleursNoeuds : collection
leChemin : collection
---------------
+ ajouterNoeud(noeud) : void
+ getSolution() : arbre
---------------  
 
 


 
Voila, il me manque la moitier des méthodes et je n'ai pas d'idée...

n°354067
noelemac
Posté le 06-04-2003 à 19:09:46  profilanswer
 

kadreg a écrit :


 
Ecrire un UML, ça veut rien dire. On dit "Ecrire un diagramme de classe" dans ce cas.
 
 


 
 :jap:

n°354073
kadreg
profil: Utilisateur
Posté le 06-04-2003 à 19:15:02  profilanswer
 

noelemac a écrit :


Voila, il me manque la moitier des méthodes et je n'ai pas d'idée...


 
Il manque surtout des relations. Mettre un attribut collection n'est pas une bonne idée car c'est une manière d'implémenter une relation, mais le modèle comporte lui une relation.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°354074
noelemac
Posté le 06-04-2003 à 19:15:06  profilanswer
 

ah oui, inutile de préciser que ca fait tres peut de temps que je fais du java et des UML...  :ange:

n°354076
benou
Posté le 06-04-2003 à 19:16:23  profilanswer
 

c'est con : j'ai retrouvé les cours de maon profs d'IA (http://www.lifl.fr/~routier/enseig [...] essais/ia/. Y a l'aphabeta, le minmax mais pas l'A* ...


---------------
ma vie, mon oeuvre - HomePlayer
n°354077
noelemac
Posté le 06-04-2003 à 19:17:56  profilanswer
 

benou a écrit :

c'est con : j'ai retrouvé les cours de maon profs d'IA (http://www.lifl.fr/~routier/enseig [...] essais/ia/. Y a l'aphabeta, le minmax mais pas l'A* ...  


 
Oui effectivement, domage mais merci quand meme.

n°354861
zours
Posté le 07-04-2003 à 15:40:47  profilanswer
 

salut,
 
va voir ici, y a un exemple de code c++ :
http://www.experts-exchange.com/Pr [...] 29475.html
 
sinon, pour tes recherches dans google, je sais pas si tu sais mais il vaut mieux écrire "a star" que "a*"
:)

n°355461
petoulachi
A fortiori, brigadier chef
Posté le 08-04-2003 à 10:08:52  profilanswer
 

salut,  
 
Désole pour le retard, je dois bien avouer que je t'avais oublié ;)
 
Voici deja le diagramme des classes de mon appli (le metier, donc ce qui t'interesse :  
http://www.coldwire.net/pastaga/temp/diagUML.png
 
 
Par contre le code est chez moi (je suis au taf là), j'essaie de te poster ça demain soir (ce soir je suis chez ma copine :love: ).
 
Bonne chance  :hello:

n°355679
noelemac
Posté le 08-04-2003 à 13:32:33  profilanswer
 

Merci pour votre aide.
 
Je vais pouvoir bosser la dessus pour mon projet.
 
Si ca interresse des gens, je le mettrai sur le forum. [:bonnie]

n°355690
kadreg
profil: Utilisateur
Posté le 08-04-2003 à 13:37:34  profilanswer
 

1- les rôles dans les associations sont pas nommées
2- mélange anglais/français
3- utilise les aggregations/compositions
4- vérifie les cardinalités entre arc et sommet
5- des attributs correspondent en fait aux associations, ça fait doublon


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°355713
petoulachi
A fortiori, brigadier chef
Posté le 08-04-2003 à 13:47:20  profilanswer
 

kadreg a écrit :

1- les rôles dans les associations sont pas nommées
2- mélange anglais/français
3- utilise les aggregations/compositions
4- vérifie les cardinalités entre arc et sommet
5- des attributs correspondent en fait aux associations, ça fait doublon


 :heink:  
 
Ultra constructif, ultra convivial, ultra llama :??:

n°355717
kadreg
profil: Utilisateur
Posté le 08-04-2003 à 13:50:05  profilanswer
 

Petoulachi a écrit :


Ultra constructif, ultra convivial, ultra llama :??:


 
koi, on peu pa doner son navi ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°355728
petoulachi
A fortiori, brigadier chef
Posté le 08-04-2003 à 14:00:03  profilanswer
 

bin si bien sur, mais argumente un peu plus ;)

n°355729
kadreg
profil: Utilisateur
Posté le 08-04-2003 à 14:02:24  profilanswer
 

Petoulachi a écrit :

bin si bien sur, mais argumente un peu plus ;)


 
Ce soar, la ge sui au taf.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°355732
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 08-04-2003 à 14:05:05  profilanswer
 

kadreg a écrit :


 
Ce soar, la ge sui au taf.


c'est quoi ce SMS-Staïle ? :heink:


---------------
J'ai un string dans l'array (Paris Hilton)
n°356113
kadreg
profil: Utilisateur
Posté le 08-04-2003 à 21:24:04  profilanswer
 

kadreg a écrit :

1- les rôles dans les associations sont pas nommées
2- mélange anglais/français
3- utilise les aggregations/compositions
4- vérifie les cardinalités entre arc et sommet
5- des attributs correspondent en fait aux associations, ça fait doublon


 
Bon, devant les hurlement de mes fans et de la foule en délire, j'explique mes différents points.
 
1- En UML, on peut (pour ne pas dire doit) nommer une relation et chacun de ses rôles (pour simplifier, un des coté de la flèche). Le buit est de caractériser à quoi sert la relation et quel est le rôle de chacun des deux cotés. Par exemple "un étudiant assiste à des cours". Ici étudiant et cours sont des classes, et "assiste à" est le rôle de l'étudiant vis à vis des cours. De plus, on pourrait avoir une seconde relation "Etudiant sêche des cours", ou sêche est le rôle de l'étudiant dans cette seconde relation qui met en jeux les mêmes classes. Ces deux relations peuvent exister dans le même modèle, si on ne les nomme pas, on ne pourra pas les différencier.
 
2- Les rêgles de nommages sont très souvent utilisé en entreprise afin d'homogénéiser les sources des différents développeur. Il y a pas mal de variantes (certainbement autant que de développeurs), mais il y a néanmoins quelques constantes. L'une d'entre elle est que l'on programme dans une seule langue. En effet, c'est très pénible pour la compréhension de passer en continue d'une langue à une une autre (et attention aux tours foireux dus aux faux-amis). D'ou le fait que l'on choisi une langue d'écriture et que l'on s'y tient. A noter que sun propose sur son site des règles de nommages pour java, et qui sont très utilisées par les développeurs :  
http://java.sun.com/docs/codeconv/ [...] C.doc.html
 
3- Aggregation/composition est une partie également du rôle pour montrer qu'un objet est composé d'autres objets. C'est les losanges que l'on voit parfois dans des diagrammes UML. Le losange vide signifie que les objets pointés par la relations appartiennent à l'objet, mais peuvent être éventuellement avoir une existance en dehors de lui. Par exemple des roues appartiennent à une voitures. Les roues font partie de la voiture, mais peuvent avoir une existance propre sans la voiture => losange blanc. Si les roues ne pouvaient pas avoir d'existance hors de la voiture et que la destruction d'une voiture entraine la destruction de ses roues : losange noir. Ici, je sens bien que sommet, arc et rue auraient difficilement une existance en dehors du Plan, d'ou le fait que je pense qu'il doit manquer une notion de ce genre.
 
4- La relation arc->sommet m'étonne car pour moi, un arc et composé de deux sommets. Je ne voit pas à quoi peut ressembler un arc avec 0 ou 1 sommet (sachant que rien n'empêche à un arc d'être lié de chaque coté aux sommets). De plus, si tes arcs sont orienté, tu perds cette information d'orientation, et il y aurait bien en fait deux relations entre Arc et Sommet. Une avec le rôle "début", et une avec le rôle "fin".
 
5- Une association est porteur d'information sur le fait qu'un objet est lié à un autre. On sait par cette relation qu'un plan contient des rues. Rajouter un attribut rue dans Plan duplique cette information pour aucun gain. D'ailleurs, les générateurs de codes dans les AGL vont te générer cet attribut en se basant sur la relation.
 
Bon, je continue encore un coup :o
 
6- Tu mets des accesseurs dans le modèle. Moi je trouve ça inutilement lourd. Ton modèle contient déjà les attributs, rajouter à chaque fois les différents accesseurs n'apporte aucune information pertinentes par rapport à ce qui est déjà dit par les attributs.
 
 :hello:


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°356192
the real m​oins moins
Posté le 08-04-2003 à 23:14:40  profilanswer
 

[:prosterne]kadreg[:prosterne2]
 
 
(euh pour le point 5 tu t'es pas viandé? il a un attribut "vector" de Rue's, pas un attribut "rue" dans plan...)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°356228
kadreg
profil: Utilisateur
Posté le 08-04-2003 à 23:33:39  profilanswer
 

the real moins moins a écrit :

(euh pour le point 5 tu t'es pas viandé? il a un attribut "vector" de Rue's, pas un attribut "rue" dans plan...)


 
Béah non. Si la relation aurait été 0..1 ou 1, ça aurait été rue, ici, la relation est n, donc c'est un vecteur de rues, mais ça ne change pas la question. Que fait cet attribut ici alors que la relation est déjà là ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°356245
the real m​oins moins
Posté le 08-04-2003 à 23:44:51  profilanswer
 

kadreg a écrit :


 
Béah non. Si la relation aurait été 0..1 ou 1, ça aurait été rue, ici, la relation est n, donc c'est un vecteur de rues, mais ça ne change pas la question. Que fait cet attribut ici alors que la relation est déjà là ?


ha ok
mais il a fait pareil pour les autres machins alors :o
c'est vrai que ça fait double emploi, mais ça me parait plus lisible avec l'attribut que sans moi :??:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°356344
kadreg
profil: Utilisateur
Posté le 09-04-2003 à 08:39:13  profilanswer
 

the real moins moins a écrit :


mais ça me parait plus lisible avec l'attribut que sans moi :??:


 
C'est parceque ses rôles ne sont pas nommés :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°356385
_gtm_
Posté le 09-04-2003 à 09:59:59  profilanswer
 

Petoulachi a écrit :

salut,  
 
Désole pour le retard, je dois bien avouer que je t'avais oublié ;)
 
Voici deja le diagramme des classes de mon appli (le metier, donc ce qui t'interesse :  
http://www.coldwire.net/pastaga/temp/diagUML.png
 
 
Par contre le code est chez moi (je suis au taf là), j'essaie de te poster ça demain soir (ce soir je suis chez ma copine :love: ).
 
Bonne chance  :hello:  


 
Il est fait avec quel logiciel ce diagramme ?

n°356388
kadreg
profil: Utilisateur
Posté le 09-04-2003 à 10:07:12  profilanswer
 

_gtm_ a écrit :


Il est fait avec quel logiciel ce diagramme ?


 
rose :o


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°356393
lorill
Posté le 09-04-2003 à 10:14:07  profilanswer
 


c'est laid ([:blueflag])

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Ou trouver l'UML de l'algorithme A* ? (recherche du plus court chemin)

 

Sujets relatifs
Histoire de css et de chemin relatif ...Recherche des insultes
Recherche codeurs C/C++ pour un projet ambitieuxRecherche dans la BDR
L'algo du plus court chemin en CAlgorithme de recherche/rempalcement de chaînes dans un fichier ??
[access] trouver le repertoire courant [solution inside]Algorithme de bits...
Plus de sujets relatifs à : Ou trouver l'UML de l'algorithme A* ? (recherche du plus court chemin)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR