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

Concurrence et multi-thread Java Discussion :

Parcours d'un graphe en parallème à l'aide de Thread


Sujet :

Concurrence et multi-thread Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant en informatique
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant en informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Parcours d'un graphe en parallème à l'aide de Thread
    Bonjour,

    Dans le cadre d'un exercice, il m'est demandé de parcourir un graphe en parallèle à l'aide de Thread.

    J'ai créer une méthode me permettant de faire le parcours en largeur de mon graphe depuis un sommet initial donné (par paramètre). Celle-ci gère les éventuels cycles et m'affiche correctement l'ordre des sommets visités.

    Ce que j'aimerais bien pouvoir faire maintenant, c'est de lancer un thread pour chaque sommet successeurs du sommet courant et donc que le parcours se fasse en parallèle via ces threads. Et je ne vois pas trop comment m'y prendre en fait. C'est entre ma méthode 'parcoursLargeur' et run() de la classe thread que je ne sais pas trop quoi faire.

    Voici ma méthode qui me permet de faire le parcours en largeur avec l'explication.

    Explication : J'ai créer une classe Node & Graph pour pouvoir représenter un graph tout simplement.

    La méthode comment par créer un ArrayList de Node qui contient en premier lieu le node initial. Ensuite tant que cette liste n'est pas vide, je vais boucler sur les sommets successeurs du premier Node dans la liste et les ajouter dans cette liste pour ensuite retirer le node qui a été traité. Rien de bien sorcier, j'espère cependant avoir fait ça correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    public static void parcoursLargeur(Graph graph, Node initialNode){
            ArrayList<Node> list = new ArrayList<Node>();
            list.add(initialNode);
            initialNode.visited();
            System.out.println(initialNode);
     
            while (list.size() > 0){
                for (Node node : list.get(0).getSuccessorList()) {
                    if (!list.contains(node) && !node.isVisited()) {
                        node.visited();
                        System.out.println(node);
                        list.add(node);
                    }
                }
                list.remove(0);
            }
    }

    Et ce qu'il reste juste à faire c'est que pour chaque sommet successeur du sommet courant, c'est lancer un thread pour que le parcours se fasse en parallèle. Auriez-vous une idée ou pourriez-vous m'orienter sur la façon dont je pourrais m'y prendre ?

    Bien à vous,

    Renaud.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Etudiant en informatique
    Inscrit en
    Juillet 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant en informatique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    J'ai réussi à avancer, de l'aide m'a été apporté pour m'orienter sur une voie.

    Je passe le topic en résolu,

    Merci,
    Renaud.

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

Discussions similaires

  1. Construction, stockage et parcours distribué de graphes
    Par akrogames dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 06/03/2014, 17h38
  2. Optimisation d'un parcours dans un graphe
    Par jasmin59000 dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 30/01/2011, 01h51
  3. Algo optimisation de parcours dans un graphe
    Par egu07 dans le forum Intelligence artificielle
    Réponses: 1
    Dernier message: 11/09/2008, 10h20
  4. Boucle parcourant une matrice [graphe]
    Par Linu6 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 15/08/2008, 01h24
  5. Réponses: 4
    Dernier message: 06/01/2008, 01h05

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