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 :

[Graphes] Déterminer les faces d'un graphe


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [Graphes] Déterminer les faces d'un graphe
    Bonjour,

    Je cherche à calculer les différentes faces d'un graphe planaire, mais je peine à trouver une bonne méthode... J'ai testé pas mal de choses, parcours en largeur, donner des poids aux arêtes... J'ai aussi pensé créer, pour chaque face, un sommet qui serait connecté à chaque sommet de cette face, mais pour le coup je ne parvient pas non plus à faire ça.

    Vous auriez une idée d'algo afin de m'aider à progresser ?

    Merci d'avance et bonne journée !

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Tu parles de la recherche des plus petits cycles du graphe ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre émérite

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Points : 2 570
    Points
    2 570
    Billets dans le blog
    9
    Par défaut [Graphes] Déterminer les faces d'un graphe
    Citation Envoyé par spartcrk Voir le message
    Je cherche à calculer les différentes faces d'un graphe planaire, mais je peine à trouver une bonne méthode ...
    Vous auriez une idée d'algo afin de m'aider à progresser ?
    Bonjour,
    L'énoncé du problème est ambigu, comme le suggère la précédente réponse, car il donne l'impression que l'on puisse travailler sur une représentation géométrique du graphe; et le fait qu'il soit planaire, et que deux arêtes ne s'entrecroisent pas dans un plan, serait de nature à orienter les recherches dans ce sens ... sauf qu'en y réfléchissant bien, la méthode conduit à de sérieux ennuis: un graphe (même planaire) peut admettre plusieurs représentations différentes par leur topologie, et les polygones de plus de 3 sommets comporter des angles rentrants. Mieux vaut donc s'abstenir de toute considération géométrique, et partir de la définition.

    Un graphe est défini par la donnée de deux ensembles:
    1) celui (noté ES) des (NS) sommets qu'il comporte ES = { S1, S2 ... SNs };
    2) celui (noté EA) des (NA) arêtes présentes, dont chaque élément est un couple (Si, Sj) de sommets: EA = { (Si, Sj)k }.

    Le point de départ du programme sera donc:
    a) la liste des sommets indexés, qui - en l'absence de toute représentation graphique - se réduit à l'intervalle d'entiers [1 ... NS], donc à la valeur de (NS);
    b) la liste des arêtes, donnée essentielle définissant le graphe; il s'agit d'un tableau comportant (NA) couples d'entiers (i, j) qui vérifient (j>i), afin que chaque arête ne soit citée qu'une seule fois.

    L'inventaire rapide et complet des arêtes sera possible si leur indexation est conforme à la comparaison immédiate des deux couples (i, j) et (i', j'): (k' > k) étant équivalent à ((i' > i) ou ((i'=i) et (j' > j))).
    La limitation raisonnable au cas des graphes simples exclut la présence de boucles (i=j) et de liens multiples ((i=i') et (j=j')), et permet d'envisager une matrice d'adjacence, matrice symétrique d'ordre (NS) dont les éléments sont des booléens.

    L'inventaire des cycles est le plat de résistance du programme; il exige que chaque cycle soit caractérisé par son sommet de départ, et son sens de parcours. On conviendra pour cela que:
    a) la position de départ correspond à l'indice minimal: on aura donc (i1 < ip) pour tous les autres sommets du cycle;
    b) des 2 voisins possibles (i2 et im),le premier abordé est celui de plus petit indice soit (i2 < im).
    De plus, la longueur des cycles ne peut dépasser les nombres de sommets (NS) et d'arêtes (NA); et par ailleurs, tout graphe simple connexe et acyclique comportant (NS - 1) arêtes, le nombre de cycles minimaux (indécomposables en cycles plus petits) admet pour expression Ncm = NA - NS + 1 .

    La recherche sera confrontée à des arborescences; mais elle sera possible, et relativement rapide, en se basant sur les propriétés précédentes, qui fournissent des critères d'arrêt, de sélection et de reconnaissance des cycles.
    Elle pourra commencer par une présélection du sommet de départ: pour (i0) variant de (1) à (NS) , inventorier tous les autres sommets auxquels il peut être relié; plusieurs cas d'impossibilité se présentent alors:
    - aucun sommet voisin: c'est un point sans connexion avec le reste du graphe - à éliminer;
    - un seul voisin: il s'agit de l'extrémité d'une chaîne - à éliminer;
    - deux voisins avec (i0) > Min(j1, j2): ce ne peut être le départ d'un cycle - à éliminer.


    Le français, notre affaire à tous
    Grand Dictionnaire Terminologique

Discussions similaires

  1. changer les etiquette de mon graphe
    Par karima1972 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 17/01/2007, 18h25
  2. [Debutant] Un API pour les graphes et les arbres ?
    Par velodrome dans le forum Documents
    Réponses: 2
    Dernier message: 14/12/2006, 14h55
  3. problème d'algorithme pour trouver les circuit d'un graphe
    Par marc_dd dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 21/08/2006, 16h36
  4. [TChart] Comment définir les marges d'un graphe ?
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 01/08/2005, 16h48
  5. Ajusté les Axes d'un graphe en fonction des données rentrée!
    Par Ma2thieu dans le forum Composants VCL
    Réponses: 5
    Dernier message: 09/07/2004, 01h34

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