Bonjour,
Je cherche à implémenter le modèle de Barabasi-Albert (en python, mais ce n'est pas très important ici). Voici de quoi il s'agit : https://fr.wikipedia.org/wiki/Mod%C3...ert#Algorithme.
Mais le problème c'est que je ne comprend pas comment faire.
Mon problème de compréhension peut se reformuler ainsi :
Comment choisir dans une liste [1,...,n] un et un seul élément selon une loi de probabilité fixé non uniforme (sinon on tire un nombre aléatoire et le tour est joué) ?
J'ai accès à une liste [p(1),...,p(n)] de probabilités associés.
Ma première idée : parcourir la liste, choisir un nombre aléatoire N (entre 0 et 1), si N>p(i) alors on choisit i, sinon on réitère. Mais j'ai l'impression que cela va favoriser le début de liste au dépend de la fin, et donc baiser le résultat.
Ou alors : je tire un nombre k uniformément entre 1 et n, je tire un second nombre N que je compare à p(k), si N >p(k) alors je continu le programme, sinon je retire un nombre k, puis un nombre N... ?
(Il y a t-il déjà une fonction en python ?)
je vous remercie par avance !
Partager