Next: Un algoritmo DMC migliorato
Up: Il DMC
Previous: Il campionamento d'importanza
  Indice
  Indice analitico
Nel nostro lavoro abbiamo utilizzato un particolare algoritmo di branching che tiene fisso il numero di walker, variando il peso assegnato ad ogni singolo walker. Quest'algoritmo è già stato utilizzato in precedenti lavori (vedi [30,31,32]). Ad ogni passo dell'evoluzione temporale dei walker, generata dall'equazione 2.10, il peso attribuito a ciascun walker viene moltiplicato per quello del passo precedente. Questo avviene per un certo numero di passi k.
|
(2.11) |
dove indica l'indice del walker e va da a .
Dopo passi, anziché proseguire l'evoluzione, viene generato un nuovo set di walker, tutti con peso unitario, la cui distribuzione è legata a quella del passo precedente dall seguente regola:
Questa riconfigurazione evita che, durante l'evoluzione, i pesi dei singoli walker non diventino troppo differenti tra loro, lasciando che pochi walker dominino su tutti gli altri.
Un altro vantaggio, non indifferente di questo algoritmo, è il fatto di essere più efficiente nell'implementazione su macchine parallele. Infatti tenendo fisso il numero di walker, è possibile distribuire su tutti i processori di un calcolatore parallelo un ugual numero di walker, e quindi lo stesso carico di lavoro. Algoritmi con numero di walker variabile portano ad un diverso carico di lavoro per diversi processori: il numero di walker fluttua nel tempo in modo casuale sui diversi processori, facendo sì che alcuni di essi debbano aspettare quelli con maggior carico di lavoro.
Next: Un algoritmo DMC migliorato
Up: Il DMC
Previous: Il campionamento d'importanza
  Indice
  Indice analitico
2001-09-28