wlog
01-03-2009, 18:47
Salve ragazzi,
sono 20 ore che non dormo per finire questo programma e finalmente sono riuscito a farlo andare. Riguarda una simulazione che ho fatto per il mio ultimo paper, che ho intitolato "Playing with the markov chains: game theory and pagerank".
Il programma si divide in due parti fondamentali:
A) una parte che si occupa di generare un grafo rappresentante il web, di normalizzarlo, di calcolarne il pagerank, di disegnarlo, ....
B) il gioco vero e proprio:
ad un determinato momento la rete è formata da N nodi, aventi ciascuno un massimo di 3 link in uscita. Ad ogni turno la singola pagina prova a spostare solo il proprio primo link sulle altre pagine, vedendo ogni volta come varia il proprio pagerank e di conseguenza scegliendo di posizionare il link in modo da massimizzare il proprio pagerank.
Come avrete capito, ad ogni turno ogni pagina cerca di massimizzare il proprio pagerank basandosi sullo stato del grafo al turno prima.
Il gioco ha molti limiti (solo 3 link, sposta un solo link, ...) perchè sale di complessità molto in fretta e quindi su un normale personal computer ci metterebbe troppo. In realtà quello in matlab è il prototipo di un programma scritto usando MPI/PETSC.
Il programma è stato fatto girare su 64 processori su un grafo rappresentante 100 milioni di pagine web del dominio .uk, per confrontare l'andamento del mio gioco con il reale andamento del web, trovando delle affascinanti similitudini.
In realtà però il mio gioco tende ad una situazione di equilibrio. Ho dimostrato che l'equilibrio è un equilibrio di nash di un gioco particolare, la domanda però è: quando tende all'equilibrio e quando no? Insomma, il classico halting problem... Però queste sono dettagli noiosi. La parte bella è che il mio programma permette di vedere graficamente l'andamento del grafo, passo per passo.
sono 20 ore che non dormo per finire questo programma e finalmente sono riuscito a farlo andare. Riguarda una simulazione che ho fatto per il mio ultimo paper, che ho intitolato "Playing with the markov chains: game theory and pagerank".
Il programma si divide in due parti fondamentali:
A) una parte che si occupa di generare un grafo rappresentante il web, di normalizzarlo, di calcolarne il pagerank, di disegnarlo, ....
B) il gioco vero e proprio:
ad un determinato momento la rete è formata da N nodi, aventi ciascuno un massimo di 3 link in uscita. Ad ogni turno la singola pagina prova a spostare solo il proprio primo link sulle altre pagine, vedendo ogni volta come varia il proprio pagerank e di conseguenza scegliendo di posizionare il link in modo da massimizzare il proprio pagerank.
Come avrete capito, ad ogni turno ogni pagina cerca di massimizzare il proprio pagerank basandosi sullo stato del grafo al turno prima.
Il gioco ha molti limiti (solo 3 link, sposta un solo link, ...) perchè sale di complessità molto in fretta e quindi su un normale personal computer ci metterebbe troppo. In realtà quello in matlab è il prototipo di un programma scritto usando MPI/PETSC.
Il programma è stato fatto girare su 64 processori su un grafo rappresentante 100 milioni di pagine web del dominio .uk, per confrontare l'andamento del mio gioco con il reale andamento del web, trovando delle affascinanti similitudini.
In realtà però il mio gioco tende ad una situazione di equilibrio. Ho dimostrato che l'equilibrio è un equilibrio di nash di un gioco particolare, la domanda però è: quando tende all'equilibrio e quando no? Insomma, il classico halting problem... Però queste sono dettagli noiosi. La parte bella è che il mio programma permette di vedere graficamente l'andamento del grafo, passo per passo.