#16954: Game Theory: Build class for normal form games as well as ability to
obtain
Nash equilibria
-------------------------------------+-------------------------------------
Reporter: vinceknight | Owner:
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-6.4
Component: game theory | Resolution:
Keywords: Game Theory, | Merged in:
Normal Form Games | Reviewers: Karl-Dieter Crisman
Authors: Vince Knight, | Work issues:
James Campbell | Commit:
Report Upstream: N/A | c7e42b7618ee46f81443b626b4fc3b5aa8fb095a
Branch: | Stopgaps:
u/vinceknight/fixing_bug |
Dependencies: |
-------------------------------------+-------------------------------------
Comment (by kcrisman):
Wow, this is all great work. Good catch on the ''correct'' place to put
`None`! A couple now super-minor things.
* With this wording
{{{
Here is a test that failed during development::
}}}
Maybe that's a bit too pessimistic, just "another test" is fine, or in
the updated version something like
{{{
Testing against an error in `check_NE`::
}}}
and similarly in other situations.
* I have a feeling this one is also optional? But I didn't get an error.
{{{
+ sage: print lrs_output[5:-4]
}}}
* A typo that means this won't ever be tested...
{{{
+ sage: N.obtain_nash(algorithm='lrs') # optional t- lrs
}}}
* This one just tests that it exists, not the solutions (though presumably
this example has now gotten lots of traction!)
{{{
+ sage: A = matrix(3, [-7, -5, 5, 5, 5, 3, 1, -6, 1])
+ sage: B = matrix(3, [-9, 7, 9, 6, -2, -3, -4, 6, -10])
+ sage: N = NormalFormGame([A, B])
}}}
* Can you confirm that what went wrong with the parser is the following:
lrs returns equilibria in the form of several possible player 2 strategies
for each player 1 strategy, but you just assumed that each player 2
strategy corresponded to a different player 1 strategy? That's what the
change in code looks like.
* You need this test fixed (easy):
{{{
sage -t src/sage/game_theory/normal_form_game.py
**********************************************************************
File "src/sage/game_theory/normal_form_game.py", line 150, in
sage.game_theory.normal_form_game
Failed example:
p += plot((A * vector([y, 1 - y]))[1], y, 0, 1, color='red',
legend_label='$u_1(r_2, (y, 1-y))$'); p
Expected nothing
Got:
Graphics object consisting of 2 graphics primitives
**********************************************************************
}}}
* In built doc, apparently {{{`i`th}}} disagrees with Sage's
Sphinxification and gives it indigestion. Changing it to {{{`i` th}}}
fixes things, but I get that this might not be desirable. Unfortunately,
{{{:math:`i`th}}} doesn't give what we want either.
* Also, apparently lazy importing `PIPE` was indeed what caused it to be
built for me in the documentation.
But I think that's it! Commendable work. Now we just have to get the
''rest'' of this game theory stuff working, including getting gambit to
build right...
--
Ticket URL: <http://trac.sagemath.org/ticket/16954#comment:45>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.