Il Forum di Orebla.it

Benvenuto nella community di Orebla.it
Oggi è mer 19 set, 2018 5:46 pm

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 
Autore Messaggio
Messaggio da leggereInviato: mar 02 nov, 2010 5:09 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
Un problema di Nash è uno scenario in cui diversi individui (colonie batteriche, aziende, partiti politici, persone...) possono scegliere fra due strategie: collaborare e competere. In funzione di questa scelta e in funzione della scelta che fanno i vicini, l'individuo X ha un certo valore di guadagno (o di perdita se negativo) f. A quel punto X può cambiare al passo successivo la propria strategia se un vicino ha una strategia diversa (collaborativa o competitiva) che ha un guadagno maggiore. L'algoritmo viene ripetuto fino a quando non viene raggiunto il cosiddetto equilibrio di Nash (a nessun individuo conviene più cambiare la propria strategia perché i guadagni sono ottimali per tutti), oppure, in uno scenario che non porta a nessun equilibrio, l'algoritmo si interrompe informando che data quella configurazione iniziale nessun equilibrio di Nash è possibile (controllo effettuato quando viene rilevato un ciclo nelle configurazioni). Questo software fa semplicemente questo. Ovvero, dato uno scenario iniziale in cui un insieme di individui decide di adottare una strategia cooperativa o competitiva indipendentemente dalle scelte degli altri, simula il comportamento di questi individui in funzione dei loro cambi di strategia (supponendo che a ogni passo ogni individuo scelta la strategia che massimizza il suo guadagno) fino a che non viene raggiunto un punto di equilibrio, o fino a quando non si scopre che quello scenario non porta a nessun equilibrio.

Link:
http://github.com/BlackLight/nash

Si veda il README per maggiori dettagli:

Cita:
This is a small software that simulates the behaviour of a set of individuals
placed (for sake of simplicity) over a matrix where each individual can choose
between two strategies:

- Being cooperative with the other individuals
- Being in competition with the other individuals

From a certain starting point, in which each individuals has its own strategy
independantly from the one chosen by the others, the algorithm goes on, and a
certain individual x changes its strategy if there is a neighbour having a
different strategy and a higher "gain" value (i.e. that strategy takes more
benefit). The algorithm is repeated as long as an equilibrium point is reached
(Nash's equilibrium) in which no individual will change its strategy anymore as
no change is convenient anymore. This balance point won't be always reached
anyway, and the algorithm recognizes a scenario that has no Nash's equilibrium
point when a loop occurs (i.e. when it takes in exam a configuration that was
already met).

Usage of the program: compile simply issuing `make', then start it with
./nash <environment_file> <coop_coop_gain> <coop_comp_gain> <comp_coop_gain> <comp_comp_gain>

where

- environment_file is a file containing the starting configuration of the
environment (an example is included in the file `environment'). In this file the
collaborating individuals are marked by a dot `.', and the ones in competition
are marked by a `X'. Starting from here you can easily create your environment
file;

- coop_coop_gain: Score gained when the individual x cooperates and its neighbour
cooperates as well;

- coop_comp_gain: Score gained when the individual x cooperates and its neighbour
is in competition;

- comp_coop_gain: Score gained when the individual x is in competition and its
neighbour cooperates;

- comp_comp_gain: Score gained when both the individual x and its neighbour are
in competition.

An example is the problem of the two prisoners:

- When A doesn't confess and B doesn't confess too, they both get 8 years of
prison (coop_coop_gain = -8);

- When A doesn't confess and B confesses, A gets 20 years of prison and B is
free (coop_comp_gain = -20);

- When A confesses and B doesn't, A is free and B gets 20 years of prison
(comp_coop_gain = 0);

- When both A and B confess, they both get 14 years of prison (comp_comp_gain =
-14).

For running a simulation of the two prisoners' problem over the example
environment just type

./nash environment -8 -20 0 -14

Have fun.

_________________
Immagine
Immagine


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 1 messaggio ] 

Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010
phpBB SEO