[Python] Creazione albero stocastico solo con dizionari

Antonio Piepoli piepoli.antonio a gmail.com
Lun 17 Set 2012 19:20:14 CEST


purtroppo non posso accettare il complimento perchè non è farina del mio
sacco, quello che ho fatto io era "adattarla" al caso del dizionario con i
risultati che notavi prima :

http://stackoverflow.com/questions/4437250/choose-list-variable-given-probability-of-each-variable

quando finisco di scrivere lo script lo posto così magari mi date qualche
feedback (sono comunque alle prime armi).


Il giorno 17 settembre 2012 19:02, Daniele Varrazzo <piro a develer.com> ha
scritto:

> On 2012-09-17 17:21, Antonio Piepoli wrote:
>
>> def choose(p):
>>     r = random.random()
>>     index = 0
>>     while (r > 0):
>>       r -= probs[index]
>>       index += 1
>>     return index-1
>>
>
> Hai sbagliato nome di variabile: p/probs. Non so se è un errore di copia e
> incolla nella mail. Comunque carina: ora è una funzione più generica a cui
> passi solo il vettore di probabilità e ti restituisce l'indice di quella
> scelta. Non male.
>
> Io l'avrei scritta così, ma è solo una questione idiomatica: funzionano
> allo stesso modo:
>
>     def choose2(probs):
>         r = random.random()
>         for i, p in enumerate(probs):
>             r -= p
>             if r < 0:
>                 return i
>
> Ha lo stesso problema di essere o(n) nel numero di elementi da scegliere,
> mentre la mia soluzione nella prima mail era o(1), ma credo sia ininfluente
> per te, e la mia aveva svantaggi di altro tipo.
>
>
> --
> Daniele Varrazzo - Develer S.r.l.
> http://www.develer.com
> ______________________________**_________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/**mailman/listinfo/python<http://lists.python.it/mailman/listinfo/python>
>



-- 
Antonio Piepoli
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20120917/a68d4135/attachment.html>


Maggiori informazioni sulla lista Python