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

C++ Discussion :

extraire un clique a partir d'une matrice d'adjacence


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 0
    Points
    0
    Par défaut extraire un clique a partir d'une matrice d'adjacence
    salut a tout,
    y a il quelqu'un qui a une idée sur l'extraction des cliques(sous graphe complet) a partir d'une matrice d'adjacence d'un graphe.
    bref je veux extraire le sous matrice correspondant a ce clique pour faire des traitement a part
    je n'a pas abouti a aucune idée qui me permette de résoudre ce truc .

  2. #2
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Bonsoir,

    tu veux quoi exactement ? Lister toutes les cliques maximales ou maximum, toutes les cliques de plus k noeuds ?
    Tu peux t'inspirer des liens fournis par wikipedia par exemple ...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 0
    Points
    0
    Par défaut
    je veux et a partir d'une matrice d'adjacence d'un graphe donné,extraire tous les cliques de différents taille.
    je veux une idée pas un lien vers un cours
    exple:
    je veux extraire le sous matrice comme dessous
    0 1 1 0 1 1
    1 0 1 1 0 1
    1 1 0 1 1 1
    0 1 1 0 1 1
    1 0 1 1 0 1
    1 1 1 1 1 0
    ===> comment extraire cette matrice
    0 1 1 1
    1 0 1 1
    1 1 0 1
    1 1 1 0

    merci pour tout

  4. #4
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Citation Envoyé par SHILI1 Voir le message
    je veux et a partir d'une matrice d'adjacence d'un graphe donné,extraire tous les cliques de différents taille.
    Si tu veux toutes les cliques tu auras du coup toutes les paires de sommets liés par une arrête ... est-ce bien ce que tu veux, je ne pense pas ?
    Citation Envoyé par SHILI1 Voir le message
    je veux une idée pas un lien vers un cours
    Un lien vers une page wikipedia n'est pas un lien vers un cours ... même si c'est aussi dans les cours qu'on apprends à avoir des idées. Où ailleurs peux-tu trouver un algorithme qui te donne une liste de clique ?
    Citation Envoyé par SHILI1 Voir le message
    exple:
    je veux extraire le sous matrice comme dessous
    0 1 1 0 1 1
    1 0 1 1 0 1
    1 1 0 1 1 1
    0 1 1 0 1 1
    1 0 1 1 0 1
    1 1 1 1 1 0
    ===> comment extraire cette matrice
    0 1 1 1
    1 0 1 1
    1 1 0 1
    1 1 1 0

    merci pour tout
    En numérotant les sommets de 0 à 5 je suppose que ta matrice décrit le graphe suivant, avec la clique qui est en rouge pour la matrice extraite :

    qui est donc une clique maximum. Comme indiqué sur wikipedia, c'est un problème NP difficile. D'après wikipedia un bon point de départ serait d'utiliser l'algorithme de Bron-Kerbosch et de ne garder que la plus grande des cliques maximales. Cependant si on creuse un minimum on trouve d'autres références et même des implémentations en c++ ... le bonheur non ? enfin quand on cherche ...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 0
    Points
    0
    Par défaut
    merci pour votre aide.
    mais je cherche a parcourir la matrice d'adjacence d'un graphe,extraire les cliques l'un après l'autre sans contrainte sur le taille de clique.
    je peux détecter un clique de taille 3,faire un traitement appart puis je détecte un clique de taille 5

  6. #6
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Donc si on reprend ton exemple avec mes labels tu cherches non seulement à trouver la clique {0,2,4,5} mais aussi toutes ses sous cliques {0,2},{0,4},{0,5},{2,4},{2,5},{4,5},{0,2,4},{0,2,5},{2,4,5} ?

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2012
    Messages : 13
    Points : 0
    Points
    0
    Par défaut
    je veux parcourir le matrice extraire un clique puis la supprimer avec ses sommets puis retours a la matrice et faire le même traitement jusqu’à éliminer tous les cliques

  8. #8
    Membre expert
    Avatar de kwariz
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Octobre 2011
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2011
    Messages : 898
    Points : 3 352
    Points
    3 352
    Par défaut
    Ce n'est toujours pas clair pour moi ce que tu veux réellement faire, néanmoins si tu veux à partir d'un graphe extraire une clique maximum puis recommencer jusqu'à obtenir un graphe vide le plus simple est de t'inspirer du source MaxCliqueDyn dont je t'ai déjà donné le lien dans un post précédent. Ou sinon implémenter la version simple de l'algorithme de Bron-Kerbosch en ne gardant que la plus grande des solutions.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Points : 0
    Points
    0
    Par défaut
    salut .. SVP j'ai besoin de l'implementation de l'algorithme de Born-Kerbosh en C ou C++ .. et merci d'avance

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 122
    Points
    122
    Par défaut
    https://gist.github.com/gaoyuan/5042022

    mais je n'ai pas du tout checké le code ni testé (j'adore poster des liens sans les regarder )

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Points : 0
    Points
    0
    Par défaut
    merci beaucoup .. est ce qu'il y a une implementation avec listes chainées ? le input sera une fichier texte qui contient les arrêtes !

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 94
    Points : 122
    Points
    122
    Par défaut
    Une fois que tu l'auras programmé, il y en aura une

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/08/2011, 09h19
  2. Extraire les vecteurs à partir d'une matrice
    Par samia_6 dans le forum MATLAB
    Réponses: 1
    Dernier message: 15/10/2007, 23h06
  3. Comment extraire le mois à partir d'une date?
    Par toumoham dans le forum Paradox
    Réponses: 1
    Dernier message: 17/05/2006, 13h37
  4. Réponses: 1
    Dernier message: 19/01/2006, 19h36
  5. Map à partir d'une matrice
    Par Aldur dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 20h45

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