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 :

Travailler sur un graphe en construction


Sujet :

Mathématiques

  1. #41
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Excellent!!

    Au moins on peut être sûrs qu'on ne manque aucune boucle En revanche on les compte un certain nombre de fois... Du coup tu as décidé de "masquer" successivement toutes les arêtes partant de chaque sommet? Tu penses que ça ne peut pas marcher avec la succession "en éclair":
    \
    |
    \
    ?

  2. #42
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    Excellent!!
    je savais que ça allait te plaire c'est cool le top serait que l'on sorte le document par génération automatique

    Citation Envoyé par stendhal666 Voir le message
    Au moins on peut être sûrs qu'on ne manque aucune boucle En revanche on les compte un certain nombre de fois...
    oui tu peux compter 72 boucles trouvés alors qu'il n'y en a réellement que 7...
    c'est plus que des doublons mais qu'importe on est sûr des les trouver toutes comme ça
    après il faut une moulinette pour repérer les doublons (ou plus) et n'en garder qu'une

    Citation Envoyé par stendhal666 Voir le message
    Du coup tu as décidé de "masquer" successivement toutes les arêtes partant de chaque sommet? Tu penses que ça ne peut pas marcher avec la succession "en éclair":
    \
    |
    \
    ?
    je ne dis pas que cela ne peux pas fonctionner... je dis juste que je n'ai pas recul pour voir si ça fonctionne à 100%
    ne risque t'on pas de louper des choses ? là est la question

  3. #43
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    Excellent!!

    Au moins on peut être sûrs qu'on ne manque aucune boucle En revanche on les compte un certain nombre de fois... Du coup tu as décidé de "masquer" successivement toutes les arêtes partant de chaque sommet? Tu penses que ça ne peut pas marcher avec la succession "en éclair":
    \
    |
    \
    ?
    Bon j'ai repris le schéma de départ, celui qui est détaillé dans le pdf...
    utilisé comme possibilité ta technique "en éclair"
    j'ai appliqué la même méthode du "Delete + Compacte" et voilà ce que l'on en déduit
    Nom : Screen Shot 01-07-16 at 11.17 PM.PNG
Affichages : 242
Taille : 24,3 Ko

    c'est plus rapide... mais on en déduit que 2 boucles

    Euh ôte moins d'un doute c'est comme ça que tu voyais les choses... je ne suis plus sûr

  4. #44
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Non, je voyais un truc séquentiel:
    on masque \ (par exemple l'arête noir-bleu)
    puis on nettoie et on compte
    on masque | (donc bleu orange)
    puis on nettoie et on compte
    on masque \ (et orange vert)
    puis on nettoie et on compte
    pour chacune des paires de sommets de degré 3

  5. #45
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    En tout cas dans mon développement détaillé dans le pdf
    les différentes solutions sont
    Nom : Screen Shot 01-07-16 at 11.38 PM.PNG
Affichages : 246
Taille : 26,8 Ko
    Les 7 y sont

    Dans ce schéma on trouve 4 pts de degré 3... 12 cas...
    le fait d'enlever 1 degré sur 1 pt... à pour conséquence après "compactage"... d'enlever aussi 1 degré sur un autre pt
    il reste donc 2 pts de degré 3... donc 2 * 3 -> 6 cas
    que qui fait au total 12 * 6 -> 72 cas à tester

    mais il y a des lien entre des pts de degré 3 qui sont communs
    Nom : Screen Shot 01-07-16 at 11.50 PM.PNG
Affichages : 218
Taille : 8,3 Ko
    là on peux voir qu'il y a 3 liens dans ce cas...donc on pourrait détecter ses liens "communs" pour ne rechercher
    des boucles qu'une seule fois au lieu de 2
    Ce qui fait que l'on ne ferait plus que 12 - 3 = 9 cas au départ...
    Nom : Screen Shot 01-07-16 at 11.57 PM.PNG
Affichages : 205
Taille : 7,9 Ko
    qui ont chacun 6 cas... au total 9 * 6 = 54 cas à tester
    ça fait moins mais je ne sais pas si on trouvera quelque chose de plus court

  6. #46
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    Petite question subsidiaire...
    pour calculer dans le schéma de l'algo détaillé dans le pdf...combien doit on trouver de cas ?

    dans l'hypothèse ou il y a :
    4 pts de degré 3 cela fait (4*3)*(2*3)=72 cas à tester
    6 pts de degré 3 cela fait (6*3)*(4*3)*(2*3)=1 296 cas à tester
    8 pts de degré 3 cela fait (8*3)*(6*3)*(4*3)*(2*3)=31 104 cas à tester
    ça grimpe vite

    ce serait quoi la formule pour calculer le nombre de cas en fonction de n ?

    Citation Envoyé par stendhal666 Voir le message
    Non, je voyais un truc séquentiel:
    […]
    puis on nettoie et on compte pour chacune des paires de sommets de degré 3
    tu comptes quoi ? je ne pige pas...

  7. #47
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    J'ai entrevu quand même des cas ou il faut refaire des étapes de traitement
    ainsi dans le cas suivant
    Nom : Screen Shot 01-08-16 at 05.53 PM.PNG
Affichages : 266
Taille : 24,3 Ko
    je n'ai pas dessiné tous les cas...
    mais on voit bien qu'au final... dans le cas dessiné...au lieu d'avoir une boucle on en aura 3...
    mais tous les points sont de degré 2 et on a séparé les boucles
    il faut donc rajouter une étape de comptage de boucle

  8. #48
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Hello,
    Je continue à suivre mais j'ai un autre projet en même temps qui m'a pas mal occupé.
    J'ai l'impression qu'on arrive pas à diminuer la complexité comme ça. Il faudra peut être revenir à un algo classique. J'ai quelques idées là dessus...

  9. #49
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    Hello,
    Je continue à suivre mais j'ai un autre projet en même temps qui m'a pas mal occupé.
    hello aussi
    oui j'imagine que tu n'as pas que le forum comme préoccupation
    je comprend pas de soucis

    Citation Envoyé par stendhal666 Voir le message
    J'ai l'impression qu'on arrive pas à diminuer la complexité comme ça. Il faudra peut être revenir à un algo classique. J'ai quelques idées là dessus...
    j'ai fouillé les algo de parcours...mais c'est aussi assez complexe...pas forcément moins que ce que l'on a envisagé pour l'instant...

    si tu as une idée pour le calcul du nombre de cas je suis preneur (voir message au dessus)

    maintenant soit on fait un algo simple qui tourne vite...même si tu as beaucoup de cas...
    ou un algo plus péchu plus fin mais avec pas mal de test et de conditions qui ralentissent le déroulement
    j'aurai tendance à dire...plus mais plus vite...à voir
    si tu as des idées je suis preneur

  10. #50
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    En restant sur un algo plus fin, je me demande la chose suivante:
    - n'y a-t-il pas un moyen de déduire le nombre de boucles internes à une grande boucle en comptant le nombre de sommets de degré 3 connectés entre eux qui lui appartiennent? Cela reste à fouiller, en particulier la notion de sommets connectés entre eux. L'idée serait en deux étapes: isoler les "grandes" boucles (celles qui ne sont contenues dans aucune autre boucle) puis additionner les résultats obtenus par observation de leurs sommets de degré 3.
    - il ne reste plus qu'à déterminer quelle est la boucle la plus grande, mais cela peut-être fait assez facilement (mais assez lentement également) avec un backtracking simple de type breadth-first-traversal.

  11. #51
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    En restant sur un algo plus fin, je me demande la chose suivante:
    - n'y a-t-il pas un moyen de déduire le nombre de boucles internes à une grande boucle en comptant le nombre de sommets de degré 3 connectés entre eux qui lui appartiennent?
    c'est pas idiot comme question...mais je dirais que la réponse doit être "non"...

    Citation Envoyé par stendhal666 Voir le message
    Cela reste à fouiller, en particulier la notion de sommets connectés entre eux. L'idée serait en deux étapes: isoler les "grandes" boucles (celles qui ne sont contenues dans aucune autre boucle) puis additionner les résultats obtenus par observation de leurs sommets de degré 3.
    "additionner"...tu veux dire quoi ? que si on avait la boucle "englobante" et le nombre de pt de degré 3 de cette boucle on pourrait en déduire le nombre de boucles ?
    si c'est oui j'en doute... quoique en y réfléchissant...2 pts de degré 3 veux dire qu'il y a interconnexion de 2 boucles...donc 2 boucle séparé + 1 boucle englobante
    mais après vouloir en tirer une formule...pour 4, 6 ou plus... j'imagine qu'il doit y avoir encore pas mal de contre-exemples

    Citation Envoyé par stendhal666 Voir le message
    - il ne reste plus qu'à déterminer quelle est la boucle la plus grande, mais cela peut-être fait assez facilement (mais assez lentement également) avec un backtracking simple de type breadth-first-traversal.
    c'est un parcours en largeur me semble t'il...
    je voyais plus un parcours en profondeur... à voir...

  12. #52
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    En restant sur un algo plus fin, je me demande la chose suivante:
    - n'y a-t-il pas un moyen de déduire le nombre de boucles internes à une grande boucle en comptant le nombre de sommets de degré 3 connectés entre eux qui lui appartiennent?
    Nom : Screen Shot 01-11-16 at 09.02 PM.PNG
Affichages : 290
Taille : 10,1 Ko

    si je reprend ce schéma...il y a 4 pts de degré 3... 3 appartiennent à une boucle... et 1 fait le regroupement des 3 boucles
    il n'y a pas de boucle englobante... ça va être dur de trouver une règle de simplification autre qu'une règle de "force brute" pour faire tous les cas

  13. #53
    Membre chevronné

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Points : 1 878
    Points
    1 878
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par deuzef68 Voir le message
    Nom : Screen Shot 01-11-16 at 09.02 PM.PNG
Affichages : 290
Taille : 10,1 Ko

    si je reprend ce schéma...il y a 4 pts de degré 3... 3 appartiennent à une boucle... et 1 fait le regroupement des 3 boucles
    il n'y a pas de boucle englobante... ça va être dur de trouver une règle de simplification autre qu'une règle de "force brute" pour faire tous les cas
    Oui c'est très juste mais l'idée est de connaître d'abord la boucle englobante, donc ça ne poserait pas problème. Cependant pour connaître la boucle englobante il faut la distinguer de celles qui sont plus petites, donc ça rend l'optimisation que je proposais inutile.

    Du coup, parcours en largeur ou en profondeur c'est un peu indifférent, je crois, non?

    - on part du sommet initial
    - on marque chaque sommet parcouru
    - à chaque fois qu'il y a plus d'un embranchement possible, on ajoute à la liste des parcours chacun des embranchements
    - si le parcours aboutit à un sommet déjà marqué, on a deux cas: soit c'est le sommet initial et le parcours entier forme une boucle, soit non et dans ce cas un parcours en sens inverse jusqu'à retrouver le même sommet permet de dégager la boucle.

  14. #54
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 59
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par stendhal666 Voir le message
    Du coup, parcours en largeur ou en profondeur c'est un peu indifférent, je crois, non?
    pour le résultat ça ne change pas...pas contre pour le traitement..;quand tu rencontre une nouvelle banche
    tu lances un autre traitement récursif que tu peux souvent traiter en parallèle
    c'est souvent un sacré avantage

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/12/2007, 09h33
  2. Est ce que quelqu'un a travaillé sur les graphes ?
    Par condor_01 dans le forum Algorithmes et structures de données
    Réponses: 43
    Dernier message: 16/10/2007, 01h48
  3. Travailler sur des données qui doivent être triées
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 19/07/2003, 17h13

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