Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Algoritmo random walk (e come programmarlo)

Il concetto di random walk viene utilizzato in diversi campi, dalla finanza alla scienza, per modellare situazioni in cui gli elementi si muovono in modo imprevedibile. In sostanza, è un modo semplice di rappresentare il caos o l’incertezza nel movimento.

Definizione

Una random walk è un processo nel quale ad ogni passo ci troviamo in un nodo in un grafo non diretto e seguiamo un arco uscente scelto in modo uniformemente casuale. Una catena di Markov è simile, in qualche modo, con la differenza che la random walk può essere vista come un caso particolare di quest’ultima.

A che serve camminare a caso in uno spazio n dimensionale? Una passeggiata casuale (random walk), per quanto possa sembrare strano, è un concetto matematico che descrive un percorso, nel quale ogni passo è deciso in modo casuale e presenta una notevole utilità pratica. Puoi immaginare una persona che si muove in avanti o indietro a caso su una linea, oppure ad un disegnare che approssima una linea per piccoli tratti al fine di creare un effetto fuzzy o sfumato. Ad ogni passo, la persona può decidere di andare a destra o a sinistra con la stessa probabilità, oppure con probabilità leggermente diverse a seconda dei casi. L’algoritmo è parte di strategie di decisione in cui, semplicemente, non c’è un modo per decidere con chiarezza quale scelta far prendere all’algoritmo, e per evitare stalli si decide casualmente pur di far procedere l’algoritmo (o una subroutine dello stesso).

Le random walks possono verificarsi in molte situazioni e sono utili per analizzare diverse situazioni. Considera il seguente gioco d’azzardo: un giocatore scommette 1 dollaro e può perderlo o vincere un dollaro aggiuntivo con probabilità 1/2. Poiché la probabilità di ciascuno di questi eventi è uguale, possiamo pensarla come una random walk su un grafico a linee, dove ogni nodo rappresenta l’ammontare della ricchezza in un determinato momento. Ciò ci consente di apprendere numerosi aspetti del gioco, come la distribuzione di probabilità dell’importo di denaro in un dato momento. Possiamo anche chiederci della probabilità che il giocatore rimanga senza soldi prima di vincere una certa quantità e, se ciò accade, qual è il tempo previsto prima che ciò avvenga.

Le random walk godono di determinate proprietà matematiche (che potete trovare qui, ad esempio) e della singolare caratteristica di garantire, nel lungo periodo, il ritorno al punto di partenza (quantomeno nel caso n=1 e n=2 dimensioni).

Random Walk a 1 dimensione (lungo una retta)

Per intenderci: se esce testa, fai un passo a destra; se invece esce croce, fai un passo a sinistra. Continui a lanciare la moneta e ti sposti in base al risultato. Dopo diversi lanci, la tua posizione finale sarà determinata dai risultati casuali dei singoli passi. In questa animazione viene mostrata una random walk a 1 sola dimensione. Una random walk è paragonabile al tratto di una matita che si muove con continuità per piccoli tratti in una sola dimensione (destra o sinistra).

Per creare una rappresentazione visuale di un random walk in una sola dimensione con Python utilizzando il modulo Turtle, puoi seguire il seguente esempio di codice. Assicurati di avere Python e il modulo Turtle installati sul tuo sistema (codice utilizzato).

Questo codice utilizzava il modulo Turtle per disegnare una random walk in una sola dimensione: ogni passo è rappresentato da una somma che va da 1 a numero_passi

Random Walk a 2 dimensioni (su un piano)

Una random walk in 2D è paragonabile al tratto di una matita che si muove con continuità per piccoli tratti in due dimensioni (destra o sinistra, sopra e sotto), a 360°. In altri termini può essere vista come la camminata di un ubriaco che parte da un punto A per pervenire al punto B, prima o poi, ammesso che A e B appartengano al piano.

Possiamo ripetere l’esperimento estendendo a due dimensioni la nostra camminata (codice).

Random Walk a 3 dimensioni

Le camminate casuali in tre dimensioni permettono di simulare il comportamento di alcuni sistemi fisici e particellari, e sono probabilmente le più suggestive visivamente. Un esempio di simulatore HTML + JS di random walk basato su tree.js è il seguente.

Anche in questo caso, l’algoritmo può essere sfruttato per ottenere disegni randomizzati ed effetti artistici tridimensionali come, ad esempio, i terrain dei videogiochi.

fernando172543 a tridimensional random walk 1a256232 c700 4940 a54e 64ffc32d4f72

👇 Da non perdere 👇



Questo portale esiste da 4469 giorni (12 anni), e contiene ad oggi 7549 articoli (circa 6.039.200 parole in tutto) e 15 servizi online gratuiti. – Leggi un altro articolo a caso
Non ha ancora votato nessuno.

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.