Dit is het commando 2nash dat kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
nash - vind nash-evenwichten van niet-coöperatieve spellen voor twee personen
KORTE INHOUD
opzetnash invoer game1.ine game2.ine
installatienash2 invoer game1.ine game2.ine
nash game1.ine game2.ine
2onze game1.ine game2.ine
PRODUCTBESCHRIJVING
Alle Nash-evenwichten (NE) voor een niet-coöperatief spel voor twee personen worden berekend met behulp van twee
interleaved reverse search vertex opsomming stappen. De invoer voor het probleem is twee m
door n matrices A,B van gehele getallen of rationale getallen. De eerste speler is de rijspeler, de tweede
is de columnist. Als rij i en kolom j worden gespeeld, krijgt speler 1 Ai,j en speler
2 ontvangt Bi,j. Als je twee of meer cpu's beschikbaar hebt, voer dan 2nash uit in plaats van nash als het
volgorde van de invoerspellen is niet van belang. Het loopt parallel met de spellen in elke volgorde.
(Als u nash gebruikt, werkt het programma meestal sneller als m <= n is, zie hieronder.) Het gemakkelijkst
manier om het programma nash of 2nash te gebruiken is om eerst setupnash of (setupnash2 zie hieronder) uit te voeren
op een bestand met:
mn
matrijs A
matrijs B
bijv. het bestandsspel is voor een spel met m=3 n=2:
3 2
0 6
2 5
3 3
1 0
0 2
4 3
% setupnash-spel spel1 spel2
produceert twee H-representaties, game1 en game2, één voor elke speler. Om de
evenwicht, rennen
% nash-spel1 spel2
or
% 2nash spel1 spel2
Elke rij die met 1 begint, is een strategie voor de rijspeler die bij elke rij een NE oplevert
begin 2 direct erboven vermeld. De uitbetaling voor speler 2 is het laatste nummer op de
regel begin 1, en vice versa. Bijv.: eerste twee regels uitvoer: speler 1 gebruikt rij
kansen 2/3 2/3 0 resulterend in een uitbetaling van 2/3 voor speler 2. Speler 2 gebruikt kolom
kansen 1/3 2/3 die een uitbetaling van 4 opleveren voor speler 1. Als beide matrices niet-negatief zijn
en geen nulkolommen hebben, kunt u in plaats daarvan setupnash2 gebruiken:
% setupnash2 spel spel1 spel2
Nu zijn de geproduceerde veelvlakken polytopen. De output van nash is in dit geval een lijst van
ongeschaalde waarschijnlijkheidsvectoren x en y. Om te normaliseren, deelt u elke vector door v = 1^T x en
u=1^T yu en v zijn de uitbetalingen aan respectievelijk speler 1 en 2. In dit geval lager
grenzen aan de uitbetalingsfuncties voor een of beide spelers kunnen worden opgenomen. Om een lagere te geven
grens van r op de uitbetaling voor speler 1 voeg de opties toe aan bestand game2 (ja dat is
correct!) Om een ondergrens van r op de uitbetaling voor speler 2 te geven, voegt u de opties toe aan bestand
game1
verkleinen
0 1 1 ... 1 (n invoer te beginnen)
gebonden 1/r; (opmerking: wederkerig van r)
Als u het 2-cpu-programma 2nash niet wilt gebruiken, lees dan het volgende. Als m is
groter dan n dan loopt nash meestal sneller door de spelers te transponeren. Dit wordt bereikt
door rennen:
% nash-spel2 spel1
Als u de game1- en game2-bestanden met de hand wilt samenstellen, raadpleegt u de lrslib gebruiker handboek[1]
Gebruik 2nash online met behulp van onworks.net-services