1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<refentry id='nash'>
<refmeta>
<refentrytitle>nash</refentrytitle>
<manvolnum>1</manvolnum>
<refmiscinfo class='source'>July 2009</refmiscinfo>
<refmiscinfo class='manual'>lrslib 0.42b</refmiscinfo>
</refmeta>
<refnamediv id='name'>
<refname>nash</refname>
<refpurpose>find nash equilibria of two person noncooperative games</refpurpose>
</refnamediv>
<!-- body begins here -->
<refsynopsisdiv id='synopsis'>
<cmdsynopsis>
<command>setupnash input game1.ine game2.ine</command>
</cmdsynopsis>
<cmdsynopsis>
<command>setupnash2 input game1.ine game2.ine</command>
</cmdsynopsis>
<cmdsynopsis>
<command>nash game1.ine game2.ine</command>
</cmdsynopsis>
<cmdsynopsis>
<command>2nash game1.ine game2.ine</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id='description'><title>DESCRIPTION</title>
<title>Nash Equilibria</title>
<para>
All Nash equilibria (NE) for a two person noncooperative game are
computed using two interleaved reverse search vertex enumeration
steps. The input for the problem are
two m by n matrices A,B of integers or rationals. The first player
is the row player, the second is the column
player. If row i and column j are
played, player 1 receives A<subscript>i,j</subscript> and player 2
receives B<subscript>i,j</subscript>.
If you have two or more cpus
available run 2nash instead of nash as the order of the input games
is immaterial. It runs in parallel
with the games in each order. (If you use nash, the program usually
runs faster if m is <= n , see below.) The
easiest way to use the program nash or 2nash is to first run
setupnash or ( setupnash2 see below ) on a file
containing:
<programlisting>
m n
matrix A
matrix B
</programlisting>
eg. the file game is for a game with m=3 n=2:
<programlisting>
3 2
0 6
2 5
3 3
1 0
0 2
4 3
</programlisting>
<programlisting>
% setupnash game game1 game2
</programlisting>
produces
two H-representations, game1 and game2, one for each
player. To get the equilibria,
run
<programlisting>
% nash game1 game2
</programlisting>
or
<programlisting>
% 2nash game1 game2
</programlisting>
</para>
<para>
Each row beginning 1 is a strategy
for the row player yielding a NE with each row beginning 2 listed
immediately above it.The payoff for
player 2 is the last number on the line beginning 1, and vice
versa. Eg: first two lines of
output: player 1 uses row probabilities 2/3 2/3 0 resulting in a
payoff of 2/3 to player 2.Player 2
uses column probabilities 1/3 2/3 yielding a payoff of 4 to player
1.
If both matrices are nonnegative and
have no zero columns, you may instead use
setupnash2:
<programlisting>
% setupnash2 game game1 game2
</programlisting>
Now
the polyhedra produced are polytopes.
The
output of nash in this case is a list of unscaled probability
vectors x and y. To
normalize, divide each vector by v = 1^T x and u=1^T
y.u and v are the payoffs to players
1 and 2
respectively. In
this case, lower bounds on the payoff functions to either or both
players may be included. To give a
lower bound of r on the payoff for player 1 add the options to file
game2 (yes that is correct!)To
give a lower bound of r on the payoff for player 2 add the options
to file game1
<programlisting>
minimize
0 1 1 ... 1 (n entries to begiven)
bound 1/r; ( note: reciprocal of r)
</programlisting>
If you do not wish to use the 2-cpu program 2nash, please read the
following. If
m is greater than n then nash usually runs faster by transposing
the players. This is achieved by
running:
<programlisting>
% nash game2 game1
</programlisting>
If you wish to construct the game1 and game2 files by hand, see the
<ulink url="#Nash%20Equilibria">lrslib user manual</ulink>
</para>
</refsect1>
<refsect1><title>SEE ALSO</title>
<para>
For information on <emphasis>H-representation</emphasis> file formats, see the man page for lrslib or the <ulink url="#File%20Formats">lrslib user manual</ulink>
</para>
</refsect1>
</refentry>
|