IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

algorithme sur les graphes


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Par défaut algorithme sur les graphes
    Bonjour,

    j'ai un graphe qui comporte des sommets et chaque 2 sommets sont reliés par une arête. Une aretê peut être positif ou nulle (par exp un sens interdit entre 2 rues donc je ne peux pas passer par ce chemin...).

    Je veux faire un algorithme qui détermine le chemin le plus court qui part d'un sommet A vers un sommet B.

    est ce que quelqu'un pourra m'aider dans cet algo SVP

    merci d'avance.

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    tout d'abord il te faudra donner une pondération à tes arêtes : distances, ... ou tout simplement minimiser le nombre d'arêtes.

    Sinon l'algorithme que tu cherches est sans aucun doute l'algorithme de Dijkstra.
    Tu trouveras de la documentation et des discussions détaillées dans le forum, ainsi qu'une documentation surabondante sur .
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    Bonjour,

    tout d'abord il te faudra donner une pondération à tes arrêtes : distances, ... ou tout simplement minimiser le nombre d'arrêtes.
    Arrêtes avec ça !!
    Un seul « r » siouplait

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Par défaut
    http://fr.wikipedia.org/wiki/Algorithme_de_dijkstra

    dans ce lien ci-dessus, il y a une explication détaillée de l'algo de dijkstra, je comprend des choses mais y en a ceux que je comprend pas!!

    en bas de la page y a un exemple pour trouver le plus court chemin en partant de francfort pour arriver à Munich: ce que je comprend pas comment qd il est arrivé à Karlsruhe avec 165 km, ca sert à koi de revenir passer par kassel dont la distance par rapport à francfort fait 173 km vu que 165 < 173 donc pourquoi il reviens passer par kassel au lien de continuer vers le nœud la ville relié a Karlsruhe qui est Augsburg...

    est ce que quelqu'un pourra m'expliquer comment ça marche l'algo si c'est possible à travers cet exemple SVP !

    merci d'avance.

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonjour,

    c'est pas qu'il revient en arrière à proprement parlé, mais il doit connaître toutes les possibilités, TOUTES.
    Donc il doit tester tous les chemins possibles afin de trouver le plus cours.
    Donc dans la façon de faire de l'algorithme tu as l'impression qu'il revient en arrière, mais en fait c'est juste que la recherche ce fait de cette façon.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  6. #6
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 56
    Par défaut
    Tu ne t'es pas posé la question, pourquoi va-t-il passer par wurzburg (217), alors que mannheim est à 85?
    Tu devrais recherché les différence entre les algorithmes de théorie des graphs DFS et BFS. L'un consiste à trouver le chemin en parcourant toutes les possibilité dans la profondeur de l'arbre, l'autre en parcourant toutes les possibilités dans la largeur.
    Ici nous parcourons dans la largeur. Au final le but est de trouver le chemin le plus court, donc si on ne parcours pas toutes les possibilités, comment peut on être sur que nous avons la réponse optimale?
    Ainsi à l'étape 1, il regarde tous les premiers noeuds auquel il peut accéder. A la suivante, tous ceux qu'il peut atteindre à partir des premiers, et ainsi de suite. et ce n'est qu'en sommant les poids de chaque arcs parcouru qu'on obtient la longueur du chemin.
    Si tu regardes bien le plus court chemin au final est würz - nürn - münchen. Donc pas du tout celui qu'on aurait pu imaginer en se basant sur la premiere itération.
    D'ou l'utilité de parcourir tous les chemin d'une manière ou d'une autre,
    J'espère avoir compris ta question et y avoir répondu,

    Bonne journée

  7. #7
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 56
    Par défaut
    Je me reprend, on ne peut pas vraiment qualifier dikjtra de bfs^^. Cela étant l'étude de BFS et DFS aide pas mal a la compréhension des autres algo en theorie des graphs

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 111
    Par défaut
    Citation Envoyé par Hanz Peter Mariol Voir le message
    Tu ne t'es pas posé la question, pourquoi va-t-il passer par wurzburg (217), alors que mannheim est à 85?
    Tu devrais recherché les différence entre les algorithmes de théorie des graphs DFS et BFS. L'un consiste à trouver le chemin en parcourant toutes les possibilité dans la profondeur de l'arbre, l'autre en parcourant toutes les possibilités dans la largeur.
    Ici nous parcourons dans la largeur. Au final le but est de trouver le chemin le plus court, donc si on ne parcours pas toutes les possibilités, comment peut on être sur que nous avons la réponse optimale?
    Ainsi à l'étape 1, il regarde tous les premiers noeuds auquel il peut accéder. A la suivante, tous ceux qu'il peut atteindre à partir des premiers, et ainsi de suite. et ce n'est qu'en sommant les poids de chaque arcs parcouru qu'on obtient la longueur du chemin.
    Si tu regardes bien le plus court chemin au final est würz - nürn - münchen. Donc pas du tout celui qu'on aurait pu imaginer en se basant sur la premiere itération.
    D'ou l'utilité de parcourir tous les chemin d'une manière ou d'une autre,
    J'espère avoir compris ta question et y avoir répondu,

    Bonne journée


    ah oui d'acord!! la je comprend mieux

    donc ce n'est pas question qu'il revienne mais c juste qu'il dois tester ts les chemins possible en essayant de trouver le plus court!!!

    merci

  9. #9
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par sasuma Voir le message
    en bas de la page y a un exemple pour trouver le plus court chemin en partant de francfort pour arriver à Munich: ce que je comprend pas comment qd il est arrivé à Karlsruhe avec 165 km, ca sert à koi de revenir passer par kassel dont la distance par rapport à francfort fait 173 km vu que 165 < 173 donc pourquoi il reviens passer par kassel au lien de continuer vers le nœud la ville relié a Karlsruhe qui est Augsburg...
    Parceque Aufgsburg est à 415km de Frankfurt, alors que Kassel n'est qu'à 173 km de Frankfurt. A cet étape de l'algorithme, il est donc plus interessant de regarder du coté de Kassel que de Aufgsburg.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Est ce que quelqu'un a travaillé sur les graphes ?
    Par condor_01 dans le forum Algorithmes et structures de données
    Réponses: 43
    Dernier message: 16/10/2007, 01h48
  2. Algorithmique sur les graphes..
    Par mek-city33 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 05/08/2007, 11h59
  3. [Tableaux] Aide pour un algorithme sur les tableaux
    Par sara21 dans le forum Langage
    Réponses: 7
    Dernier message: 20/05/2007, 10h28
  4. question sur les graphe en C
    Par wedoud dans le forum C
    Réponses: 7
    Dernier message: 16/07/2006, 13h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo