Questo è il comando 2nash che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
nash - trova gli equilibri di Nash di giochi non cooperativi a due persone
SINOSSI
configurazione ingresso gioco1.ine gioco2.ine
setupnash2 ingresso gioco1.ine gioco2.ine
nash gioco1.ine gioco2.ine
2 il nostro gioco1.ine gioco2.ine
DESCRIZIONE
Tutti gli equilibri di Nash (NE) per un gioco non cooperativo a due persone sono calcolati usando due
passaggi di enumerazione dei vertici di ricerca inversa interlacciata. Gli input per il problema sono due m
da n matrici A,B di interi o razionali. Il primo giocatore è il giocatore di fila, il secondo
è il giocatore di colonna. Se vengono giocate la riga i e la colonna j, il giocatore 1 riceve Ai,j e il giocatore
2 riceve Bi,j. Se hai due o più CPU disponibili, esegui 2nash invece di nash come
l'ordine dei giochi in ingresso è irrilevante. Funziona in parallelo con i giochi in ogni ordine.
(Se usi nash, il programma di solito viene eseguito più velocemente se m è <= n , vedi sotto.) Il più semplice
il modo per utilizzare il programma nash o 2nash è eseguire prima setupnash o ( setupnash2 vedi sotto )
su un file contenente:
mn
matrice A
matrice B
per esempio. il file game è per un gioco con m=3 n=2:
3 2
0 6
2 5
3 3
1 0
0 2
4 3
% setupnash gioco gioco1 gioco2
produce due rappresentazioni H, game1 e game2, una per ogni giocatore. Prendere il
equilibri, corsa
% nash partita1 partita2
or
% 2nash partita1 partita2
Ogni riga che inizia con 1 è una strategia per il giocatore di riga che produce un NE con ogni riga
l'inizio 2 elencato immediatamente sopra di esso. La vincita per il giocatore 2 è l'ultimo numero sul
riga che inizia con 1 e viceversa. Es: prime due righe di output: il giocatore 1 usa la riga
probabilità 2/3 2/3 0 risultante in una vincita di 2/3 per il giocatore 2. Il giocatore 2 utilizza la colonna
probabilità 1/3 2/3 che danno un payoff di 4 al giocatore 1. Se entrambe le matrici sono non negative
e non hai zero colonne, puoi invece usare setupnash2:
% setupnash2 gioco gioco1 gioco2
Ora i poliedri prodotti sono politopi. L'output di nash in questo caso è un elenco di
vettori di probabilità non scalati x e y. Per normalizzare, dividi ogni vettore per v = 1^T x e
u=1^T yu e v sono i pagamenti per i giocatori 1 e 2 rispettivamente. In questo caso, abbassare
possono essere inclusi limiti alle funzioni di vincita per uno o entrambi i giocatori. Per dare un più basso
limite di r sulla vincita per il giocatore 1 aggiungi le opzioni al file game2 (sì che è
corretto!) Per dare un limite inferiore di r alla vincita per il giocatore 2 aggiungi le opzioni al file
game1
ridurre al minimo
0 1 1 ... 1 (n voci da iniziare)
legato 1/r; (nota: reciproco di r)
Se non desideri utilizzare il programma a 2 CPU 2nash, leggi quanto segue. Se m è
maggiore di n allora nash di solito corre più velocemente trasponendo i giocatori. Questo è raggiunto
correndo:
% nash partita2 partita1
Se desideri costruire a mano i file game1 e game2, consulta il lrslib Utente Manuale,
Usa 2nash online utilizzando i servizi onworks.net