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

Calcul scientifique Python Discussion :

Fonction de permutations aléatoires


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Avril 2016
    Messages : 36
    Points : 25
    Points
    25
    Par défaut Fonction de permutations aléatoires
    Bonjour je dois faire une fonction RandomPerm(n,k) qui renvoie une permutation aléatoire de longueur n obtenue à partir de T = [1 ... n] en effectuant k échanges de T[i] et T[i-1], où chaque i est tiré aléatoirement entre 1 et n-1.

    Je ne comprend pas ce que ca veut dire "en effectuant k échanges de T[i] et T[i-1]".

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par delisiouz Voir le message
    Je ne comprend pas ce que ca veut dire "en effectuant k échanges de T[i] et T[i-1]".
    répéter k fois: choisir i, permuter/échanger T[i] et T[i-1].

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Avril 2016
    Messages : 36
    Points : 25
    Points
    25
    Par défaut
    Donc ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def randomPerm(n, k) :
        l = list(range(1, n + 1))
        for i in range(n):
            r=randint(i,n-1)
            if i!=r:
                l[i],l[r]=l[r],l[i]
                p=k
                while p>=0:
                    l[i],l[r]=l[r],l[i]
                    p-=1
        return l

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par delisiouz Voir le message
    Donc ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    def randomPerm(n, k) :
        l = list(range(1, n + 1))
        for i in range(n):
            r=randint(i,n-1)
            if i!=r:
                l[i],l[r]=l[r],l[i]
                p=k
                while p>=0:
                    l[i],l[r]=l[r],l[i]
                    p-=1
        return l
    L'énoncé mentionne T, n, k, i et on se retrouve avec des r, p, l...
    Ceci dit, côté Python vous maîtrisez tout ce qu'il faut. Seule votre interprétation de l'énoncé pourrait se discuter mais elle est écrite en français pas en Python: vous verrez bien le corrigé.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

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

    Informations forums :
    Inscription : Avril 2016
    Messages : 36
    Points : 25
    Points
    25
    Par défaut
    J'ai juste pris p pour ne pas modifier k

Discussions similaires

  1. [Tableaux] Permutation aléatoire de deux <table>
    Par s-c-a-r-a dans le forum Langage
    Réponses: 2
    Dernier message: 19/01/2009, 10h42
  2. Fonction pour lignes aléatoires?
    Par cucard51 dans le forum Débuter
    Réponses: 4
    Dernier message: 23/04/2008, 16h13
  3. Fonction de génération aléatoire gaussienne
    Par Linio dans le forum Langage
    Réponses: 5
    Dernier message: 13/08/2007, 12h57
  4. Réponses: 2
    Dernier message: 13/12/2006, 13h33
  5. [HQL] Fonction de recherche aléatoire (random) ?
    Par nesbla dans le forum Hibernate
    Réponses: 9
    Dernier message: 02/08/2006, 13h34

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