ruota di probabilità, la ridistribuzione delle probabilità
-
16-10-2019 - |
Domanda
Ho un ordinata struttura di dati contigui (0 indice basato):
x= [1/3, 1/3, 1/3]
Let dire che ho selezionato indice 1 e ha aumentato la probabilità di 1/3. Riposo delle probabilità ogni diminuzione di 1/6 e la probabilità totale rimane P = 1.
x= [1/6, 2/3, 1/6]
Let dire che ho selezionato indice 2 e aumenta la probabilità di 1/3. Resto delle probabilità in stato di bisogno totale a diminuire di 1/3 per rendere la probabilità totale rimangono P = 1.
x= [1/10, 2/5, 1/2]
C'è un nome per questo tipo di struttura dati? Mi piacerebbe ricerca che nome e utilizzare una libreria al posto del mio codice laminati personalizzato, se possibile.
Soluzione
Ciò può essere facilmente ottenuto un array $ A $ e un ulteriore variabile $ m $. La voce $ a [i] $ memorizza la probabilità di $ i $ volte $ m $.
Nel tuo esempio si inizia con
A=[1,1,1], m=3
La si aumenta la probabilità che il secondo elemento di 1/3. Questo può essere effettuato impostando $ A [2] = 4 $ e $ m = 6 $, che dà
A=[1,4,1], m=6
In generale, è possibile impostare la probabilità di elemento di $ k $ a $ p $ risolvendo il sistema $$ \ sum_i A [i] = m \ text {} e A [k] = p \ cdot m, $$ per le incognite $ A [k] $ e $ m $.
Quindi, tutto quello che dovete fare è impostare $ m $ a $$ m = \ frac {\ sum_ {i \ neq k} A [i]} {1-p}, $$ e $ A [k] = p \ cdot m $ per il nuovo $ m $.