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

Mathématiques Discussion :

Recherche algorithme Théorie Graphe


Sujet :

Mathématiques

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 538
    Points : 262
    Points
    262
    Par défaut Recherche algorithme Théorie Graphe
    Bonjour,

    Je cherche un algo rapide pour trouver un chemin dans un graphe de poids maximal. Voici à quoi ressemble mes graphes :


    L'idée est de partir du point a vers le point b sachant qu'on ne peut passer que par n <= 2 (m p) + 1 arcs (sur mon exemple p = 3), ou encore par au plus (m p) arcs horizontal. Tous les arcs ou je n'est rien noté ont un poids nul.


    Le graphe, pour faire simple : chaque sommet de gauche est relier à un sommet à droite et à un poids. Un sommet de droite est relié (ou non) à tous les sommets d'un groupe situer en dessous.


    Merci.

  2. #2
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    Salut,

    Il n'existe pas d'algorithme rapide qui fasse ça dans un graphe car c'est un problème NP-complet (http://en.wikipedia.org/wiki/Longest_path_problem).

    Sauf que dans ton cas on dirait que ton graphe est en fait un arbre (plus précisément un DAG) vu qu'il n'y a pas de cycle. Ce qui fait que ton problème n'est pas NP-Complet et peut être résolu en temps linéaire (youpi).

    Par conséquent un algorithme pour le plus court chemin :

    * Effectue un tri topologique sur ton DAG : http://fr.wikipedia.org/wiki/Tri_topologique (voir version en. pour algo). O(V + E).
    * Relâche chaque arête (u, v) dans cette ordre, et calcule le poids minimum pour atteindre v (tu gardes une table des coûts (noeud, distance) comme dans Dijsktra). Vu que c'est trié dans l'ordre topologique, tu seras sûre que u a déjà été calculé.
    * Le résultat final se trouve dans distance[b].


    Pour le plus long chemin, une astuce est de faire (poids * -1) et d'utiliser le même algo que précédement. Tu feras *-1 le résultat final.

    Voilà, c'est peut-être pas hyper bien expliqué mais tu sais où chercher

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 538
    Points : 262
    Points
    262
    Par défaut
    Merci. Je vais voir tous ça.
    Par contre, est-ce que cela fonctionne dans le cas d'un multi graphe ? (plusieurs arcs horizontal ?)

  4. #4
    Membre expérimenté Avatar de Trademark
    Profil pro
    Inscrit en
    Février 2009
    Messages
    762
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 762
    Points : 1 396
    Points
    1 396
    Par défaut
    Oui tant que ça n'introduit pas de cycle, tu dois juste veiller à ce que ton graphe reste un DAG.

Discussions similaires

  1. Algorithme théorie des Graphes - trouver l'itinéraire entre un arrêt A et un arrêt B
    Par domino313131 dans le forum Intelligence artificielle
    Réponses: 4
    Dernier message: 20/03/2011, 03h39
  2. Réponses: 5
    Dernier message: 12/01/2007, 10h57
  3. Recherche bibliothèques de graphes
    Par Frecktel dans le forum Bibliothèques
    Réponses: 10
    Dernier message: 12/01/2006, 17h14
  4. aide : recherche algorithme mapping
    Par nagty dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 30/12/2005, 14h19
  5. [Jeu "Le Compte est Bon"] Recherche algorithme
    Par Chriss21 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 29/10/2005, 16h10

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