[Python3.x]Algorithme pour sous-listes/Parties d'un ensemble
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[Python3.x]Algorithme pour sous-listes/Parties d'un ensemble



  1. #1
    invite2ed02f7e

    [Python3.x]Algorithme pour sous-listes/Parties d'un ensemble


    ------

    Bonsoir,

    Je m'en remets à vous après m'être pris la tête pour quelque chose qui semble pourtant simple - ce doit certainement être quelque chose de basique dans le supérieur, voire le secondaire.

    Ecrivons par exemple une liste l=[a0,a1,...,an]. Quel est le moyen le plus rapide d'obtenir toutes les sous-listes de l?
    Autrement dit il s'agit des parties de l'ensemble {a,...,an} mais sans l'ensemble-vide.

    J'aimerais que ce ne soit pas une fonction pré-intégrée.
    Sinon vous pouvez toujours m'indiquer son nom, mais l'algorithme m'intéresse beaucoup plus et surtout s'il peut-être fait de manière itérative.

    Je viens de beaucoup utiliser l'instruction l[a:ak:b] qui donne la liste des éléments de a jusqu'à ak-1 avec un pas de b, et essayer des concaténation mais je m'embrouille très rapidement. Ou disons plutôt, je n'obtiens jamais la totalité des parties (et j'aurai bien honte de vous montrer ce que j'ai fait même si ça fonctionne à moitié).

    Je vous remercie si vous avez quelques idées !

    -----

  2. #2
    invite2ed02f7e

    Re : [Python3.x]Algorithme pour sous-listes/Parties d'un ensemble

    Après quelques recherches j'ai pu en trouver un, ceci dit il comporte deux boucles while (lourd niveau complexité) et implique de compter dès le début le nombre de n-uplets possible. Je vais ceci dit si j'y arrive m'essayer au récursif, mais j'ai bien peur que pour un très grand nombre d'éléments cela reste lent.

    Mon objectif est en fait de générer "toutes" les matrices de Mn({p,...,q}) (avec je pense principalement p=-9, q=9 et n=2), pour trouver de manière exhaustive les triplets vérifiant Xm + Ym = Zm dans cet ensemble. Je ne sais pas si la méthode est bonne, mais je suis donc parti des Ek,l multipliées par un coefficient a. Ensuite je stocke toutes les a*Ek,l avec a variant de p à q.
    Ainsi je n'ai plus qu'à faire toutes les additions possibles entre ces a*Ek,l pour avoir toutes les matrices de Mn({p,...,q}), et pour cela il faut donc tous les n-uplets parmi les a*Ek,l pour en faire les sommes. Seulement voilà : il faut faire tout cela en un temps raisonnable.

Discussions similaires

  1. le cardinal de l'ensemble des parties d'un ensemble
    Par invite9a651d79 dans le forum Mathématiques du supérieur
    Réponses: 10
    Dernier message: 01/10/2013, 15h15
  2. Tribu et parties d'un ensemble
    Par Bruno0693 dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 18/09/2011, 15h15
  3. Axiome de l'ensemble des parties
    Par invite7863222222222 dans le forum Epistémologie et Logique (archives)
    Réponses: 38
    Dernier message: 22/03/2010, 18h00
  4. Bornes des parties d'un ensemble
    Par invitebf1c7122 dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 12/09/2009, 23h39
  5. Non existence d'une partition entre un ensemble et l'ensemble de ses parties
    Par invite392a6849 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 21/12/2008, 18h15