Sujet : Re: permutation sur N quelconque
De : efji (at) *nospam* efi.efji (efji)
Groupes : fr.sci.mathsDate : 24. Aug 2024, 13:49:32
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vackst$1d3rh$2@dont-email.me>
References : 1 2
User-Agent : Mozilla Thunderbird
Le 24/08/2024 à 14:47, efji a écrit :
Le 24/08/2024 à 13:30, robby a écrit :
Hello !
>
Il y a qq mois François Guillet avait initié une discussion sur le sujet (shuffle de pistes audio), mais je ne la retrouve pas :-( .
>
→ je veux générer une (ou plusieurs) permutations aléatoires,
- de façon efficace (formule mathématique directe sans boucle),
- sur N non-remarquable ( parceque pour une puissance de 2 il y a plein d'algos, comme xorshift ),
- et bien sur raisonnablement aléatoires.
>
Je ne trouve plus comment faire !
>
>
from numpy import random
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(random.permutation(arr))
L'algo employé est probablement celui de Fisher-Yates :
https://en.wikipedia.org/wiki/Random_permutationMais le "sans boucle" me laisse perplexe :)
-- F.J.