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 :

Combinaison des variables contenues dans des clusters


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Par défaut Combinaison des variables contenues dans des clusters
    Bonjour les calé,
    J’espère que tout marche bien comme vous.
    De mon côté pas trop, c’est pour cela que je suis là.
    J’ai une petite idée que je veux formuler en un algorithme, mais je me dis que peut être ça existe un truck déjà défini.

    Alors supposons que j’ai K clusters, dans chaque cluster il y a un nombre différent de variables !
    Je veux avoir toute les combinaison possible en prenant à chaque fois une et une seule variable de chaque cluster !

    Par exemple :
    Cluster1=(1,2,3)
    Cluster2=(4,5)
    Cluster3=(6)
    Mes combinaisons seront :
    C1=(1,4,6)
    C2=(1,5,6)
    C3=(2,4,6)
    C4=(2,5,6)
    C5=(3,4,6)
    C6=(3,5,6)
    J’espère n’avoir oublier aucune.
    Alors est ce qu’un tel algorithme existe déjà ?
    Je vous remercie d’avance.

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 201
    Par défaut
    Parcours d'arbre non binaire ?

    Bon, je sais, en disant ça, je parle chinois. Voici un lien qui en dit un peu plus : https://rperrot.developpez.com/artic...ctures/arbres/

  3. #3
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Par défaut
    Pourquoi du chinois? je sais parfaitement ce que c'est!
    En tous cas, ce n'est pas ça. Merci pour ta réponse

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 201
    Par défaut
    Ce n'est pas ça ? Pourtant tes données peuvent être représentées sous forme d'arbre, et le recensement de toutes les solutions, c'est la recherche de toutes les feuilles de l'arbre.

    Sinon, pour avancer dans ton sens, Comment envisages-tu de stocker les données initiales ?
    Dans ton premier message, tu disais cluster1=.... cluster2=... ce n'est pas exploitable, On va donc dire
    cluster[1,1] = 1 ; cluster[1,3] = 2 ; cluster[1,3] = 3 ;
    cluster[2,1] = 4 ; cluster[2,2] = 5 ;
    cluster[3,1] = 6 ;
    et
    nb_clusters = 3
    taille_cluster[1] = 3
    taille_cluster[2] = 2
    taille_cluster[3] = 1

    Ok ?

  5. #5
    Membre très actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 200
    Par défaut
    Citation Envoyé par tbc92 Voir le message
    Ce n'est pas ça ? Pourtant tes données peuvent être représentées sous forme d'arbre, et le recensement de toutes les solutions, c'est la recherche de toutes les feuilles de l'arbre.

    Sinon, pour avancer dans ton sens, Comment envisages-tu de stocker les données initiales ?
    Dans ton premier message, tu disais cluster1=.... cluster2=... ce n'est pas exploitable, On va donc dire
    cluster[1,1] = 1 ; cluster[1,3] = 2 ; cluster[1,3] = 3 ;
    cluster[2,1] = 4 ; cluster[2,2] = 5 ;
    cluster[3,1] = 6 ;
    et
    nb_clusters = 3
    taille_cluster[1] = 3
    taille_cluster[2] = 2
    taille_cluster[3] = 1
    s
    Ok ?
    Ok, Ok monsieur! je n'ai pas vu les choses ainsi, mais je valide J'allais stocker les variables de mes cluster dans des vecteurs différents et c'est tout.
    Je m'excuse pour la saturation de ma tête

    Citation Envoyé par Flodelarab Voir le message
    Bonjour

    Ce que tu veux faire s'appelle un produit cartésien.
    Tout simplement.
    En clair: une multiplication.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Pour chaque élément du premier ensemble :
       Pour chaque élément du deuxième ensemble :
           Pour chaque élément du troisième ensemble :
                ...
                      Pour chaque élément du Kième ensemble :
                            Constuire un n-uplet.
    Le code est déjà quasiment écrit.


    Si tu ne veux pas faire de boucles imbriquées, il te faut garder les compteurs des dites boucles dans un while unique, et faire comme si elles l'étaient.
    Plus long. Mais possible.
    Je n'ai aucun problème de faire des boucles imbriquée. Je vais essayer le produit cartésiens et je reviendrai vers toi en cas de besoin

    Ohhh Ohh dans ce cas je ne sais pas comment imbriquer mes boucles! vu que le nombre de boucle (ou de cluster) va être comme un paramétré! je ne connais donc pas le nombre exacte de boucle!! que faire??

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 201
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 201
    Par défaut
    Avec les notations précédentes, je pense qu'une procédure récursive comme celle-ci devrait être bonne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    fonction traite ( cluster, i1, i2, sch )
    pour i = 1 a taille_cluster(i1)
      si i1 < i2 alors 
          call traite ( cluster, i1+1, i2, sch + "," + cluster[i1,i]
      sinon
          print ( sch)
      fin
    fin
    Et tu appelles cette fonction avec : call traite ( cluster, 1, nb_clusters , "")Je n'ai pas testé, il y a peut-être des bricoles à corriger.

    La difficulté est effectivement que le nombre de niveaux est inconnu, mais avec cette procédure, ce n'est pas un problème.
    Si tu as 500 ou 1000 niveaux, ça peut être un problème, et il faut envisager quelque chose de plus compliqué.

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 283
    Par défaut
    Bonjour

    Ce que tu veux faire s'appelle un produit cartésien.
    Tout simplement.
    En clair: une multiplication.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Pour chaque élément du premier ensemble :
       Pour chaque élément du deuxième ensemble :
           Pour chaque élément du troisième ensemble :
                ...
                      Pour chaque élément du Kième ensemble :
                            Constuire un n-uplet.
    Le code est déjà quasiment écrit.


    Si tu ne veux pas faire de boucles imbriquées, il te faut garder les compteurs des dites boucles dans un while unique, et faire comme si elles l'étaient.
    Plus long. Mais possible.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 11/05/2014, 15h19
  2. [Flex4] Charger des variables contenues dans un fichier en 1er
    Par nma dans le forum Flex
    Réponses: 3
    Dernier message: 09/04/2011, 09h09
  3. utiliser des variables contenues dans des boucles While
    Par Fbertran-pro dans le forum LabVIEW
    Réponses: 1
    Dernier message: 18/02/2011, 00h32
  4. Réponses: 8
    Dernier message: 16/01/2008, 17h49
  5. Réponses: 7
    Dernier message: 03/11/2007, 19h15

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