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 :

Coloration d'un graphe et conjecture des 4 couleurs


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Par défaut Coloration d'un graphe et conjecture des 4 couleurs
    Bonjour,
    Je recherche plusieurs algorithmes pour la coloration d'un graphe non orienté pour une application qui est censée appliquer la conjecture des 4 couleurs:
    http://fr.wikipedia.org/wiki/Théorèm...uatre_couleurs

    Pour résumer le problème, tous les sommets doivent être colorés de tel façon que 2 sommets voisins n'aient pas la même couleur.

    Dans cette application, il est déjà prevu d'implanter l'algorithme du BackTracking (résolution par rebroussement). je recherche donc d'autre algo^^

    merci d'avance.

    PS: j'ai bien fait des recherches sur internet et la FAQ avant mais je ne trouve pas d'algo juste des définitions ou vocabulaire sur les graphes.

  2. #2
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Une technique pour trouver une solution assez bonne dès le départ, consiste à affecter à chaque sommet un coefficient de "difficulté" qui tient compte du nombre de points adjacents, puis du nombre d'adjacence des adjacents, et ainsi de suite. Puis, on trie les sommets par coeff de difficulté décroissant avant d'esayer de leur trouver une couleur. Ainsi, on devrait arriver à une solution quasi correcte.

    Pour le calcul du coeff, on peut procéder ainsi :
    • on détermine le nombre maxi N_Max_Adj de sommets adjacents à un sommet sur l'ensemble du graphe.
    • On l'initialise à 1 les coeff de chaque sommet,
    • On itère le calcul sur N étapes (N à determiner en fonction de la précision du coeff et de NmaxAdj) qui consiste à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            NouveauCoeff(i) = AncienCoeff(i) +
                    somme_pour_tous_les_j_adjacents(AncienCoeff(j)) /
                         ((N_Max_Adj+1) <puissance> N°_d'étape)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Par défaut
    j'aime bien cet algo mais c'est pas un peu lourd? La complexité doit pas etre magnifique.
    De plus ca garantie de trouver une solution? ou juste une grande probabilité de trouver une bonne solution?

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Pour info, la conjecture n'est plus une conjecture mais un théorème et ne fonctionne qu'avec des graphes planaires

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 44
    Par défaut
    non c'est bien une conjecture car il n'a jamais vraiment été démontré correctement. Sauf erreur la seul "démonstration" a été une démonstration informatique en générant un nombre astronomique de cas. Ce qui n'est pas super rigoureux

  6. #6
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Ca a tout de même étant prouvé formellement par des systèmes de preuves formelles (même si la preuve est vraiment dégueulasse, je te l'accorde ^^) (désolé d'avoir fait un HS)

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 971
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 971
    Par défaut
    Jai,
    Citation Envoyé par Schpountz42 Voir le message
    non c'est bien une conjecture car il n'a jamais vraiment été démontré correctement. Sauf erreur la seul "démonstration" a été une démonstration informatique en générant un nombre astronomique de cas. Ce qui n'est pas super rigoureux
    La preuve a été acceptée par la communauté des mathématiciens, c'est donc bien un théorème, quoi que tu puisses en penser.

  8. #8
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 504
    Par défaut
    Citation Envoyé par Schpountz42 Voir le message
    Sauf erreur la seul "démonstration" a été une démonstration informatique en générant un nombre astronomique de cas. Ce qui n'est pas super rigoureux
    Je ne me suis jamais penché réellement dans la théorie, je n'en sais donc que ce que l'on en dit sur les articles de vulgarisation, mais il me semble que, d'une part, le problème avait été ramené à 1478 cas critiques, ce qui n'a rien d'astronomique et que, d'autre part, les ordinateurs ont été utilisés pour vérifier ces cas, soit faire la validation.

    Le problème avait alors été déplacé au fait qu'il fallait valider l'algorithme ainsi que le programme qui l'implémentait. Ce sont des problèmes devenus courants avec le développement de l'informatique, aujourd'hui.

    Par ailleurs, il paraît que cela avait nécessité 1200 heures de calcul en 1976. On peut raisonnablement penser qu'il n'en faudrait qu'une pour faire le même travail de nos jours. On aurait pu trouver aussi 500 personnes motivées de par le monde pour vérifier chacune 3 cas de figure, mais les embûches seraient restées les mêmes (fiabilité de l'ensemble des vérificateurs), tout comme la difficulté principale, qui résidait dans la quantité de travail à mener.

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

Discussions similaires

  1. Colorer graph en fonction des abscisses
    Par aubrespinj dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/09/2011, 16h38
  2. Graphe d'adjacence des regions
    Par Darkcristal dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 27/07/2007, 16h52
  3. vba Graph Excel (valeur des axes)
    Par maxtin dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/12/2006, 21h50
  4. [Graphes] Pour faire des graphiques ?
    Par Kyti dans le forum 2D
    Réponses: 3
    Dernier message: 29/03/2005, 15h55
  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