#17392: Make list of built-in normal form games
-------------------------------------+-------------------------------------
       Reporter:  kcrisman           |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  minor              |    Milestone:  sage-6.5
      Component:  game theory        |   Resolution:
       Keywords:  days64             |    Merged in:
        Authors:  Vincent Knight,    |    Reviewers:  Karl-Dieter Crisman
  James Campbell                     |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  1bc47e839ea21989da4efd15555fecf4b95b5eef
  u/vinceknight/catalog_of_games     |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------

Comment (by vinceknight):

 Replying to [comment:20 kcrisman]:
 > > > Also, I would parametrize Chicken if it were me, but maybe this
 isn't typically a parametrized game form?
 > > We have coded this as a particular type of anti-coordination game so
 it is in some aspects already parametrized. Let me know what you think...
 > I was thinking more like
 http://www.gametheory.net/dictionary/games/GameofChicken.html

 Cool, have changed this so that there is an extra inequality that makes
 the Game
 of Chicken a particular type of Anti Coordination game.

 > > James and I wondered about this one for a while and are also agnostic
 about it. I think it could be nice to have it as just `game_theory.[tab]`
 so that potentially we would get `game_theory.Nim` as well as
 `game_theory.PrisonersDilemma` but at the same time it might be more
 organised to seperate things out (in which case we should probably also
 rename the `catalog.py` file to `normal_form_game_catalog.py`. Let us know
 what you think: very happy either way.
 > Then better to plan for the future, eh?

 Yup: have changed this so that the behaviour is now:

 {{{
 normal_form_games.Chicken()
 }}}

 So you simply type `normal_form_games.` and tab completion brings up all
 the
 names normal form games. I'm not sure if this is the best way: what do you
 think? I tried to get `game_theory.normal_form_games` to work but could
 not
 actually get that to work...

 >
 > Minor, many very minor points because I have nothing else to complain
 about:
 > * `an often used v` -> `An often used v`

 Done.

 > * `There is a single Nash equilibria` -> `There is a single Nash
 equilibrium`
 > * There are several other instances of this, I believe, e.g.
 > {{{
 > +    A coordination game is a particular type of game where the pure
 Nash
 > +    equilibria
 > }}}
 >   so please be careful on the plural/singular here.

 Thanks: I think I have picked these all up.

 > * `if the defining inequality is not` -> `if the defining inequalities
 are not`

 Done.

 > * I think most of the things like
 > {{{
 > Return a Battle of the Sexes game
 > }}}
 >   should be
 > {{{
 > Return a Battle of the Sexes game.
 > }}}

 Done all these.

 > * `Chicken: Anti coordination game: Normal Form Game` seems not to jive
 with the usual `Battle of the sexes - Coordination game: Normal Form Game`
 format.  I don't know that I like either but I understand the dilemma
 here.

 I have changed things so that the colon `:` is only used prior to the
 utilities
 but otherwise the `-` is used to seperate different names. So for example:

 {{{
 Battle of the sexes - Coordination game - Normal Form Game with the
 following utilities: {(0, 1): [1, 1], (1, 0): [0, 0], (0, 0): [3, 2], (1,
 1): [2, 3]}
 }}}

 I think I prefer this but let me know.

 > * Game theory question.
 > {{{
 > +    An anti coordination game is a particular type of game where the
 pure Nash
 > +    equilibria is for the players to pick different strategies (or
 equivalent)
 > +    strategies.
 > }}}
 >   What does that mean - do they pick different ones or not?  I have a
 feeling you cut and pasted from `CoordinationGame` here.

 What I meant was that the strategies might not be called the
 same/different
 thing but that they would be equivalent to the same/different thing. I've
 removed this in both places in case that's more clear.

 > * The numbers for `HawkDove` and `Pigs` seem somewhat arbitrary.  Maybe
 they could at least be scaled (optionally)?  What do you think?

 I have completely parametrized `HawkDove`, let me know what you think :)

 As far as scaling `Pigs`, certainly could do this but the equilibrium
 would be
 the same so I'm not sure it's really worth doing. If you would really like
 it to
 be done though just let me know (it just seems a bit artificial to me as
 the
 equilibria is in pure strategies).

 > * `like a Hawk of a Dove.` -> `like a Hawk or a Dove.`

 Done.

 > * The numbers don't work out right for `Pigs` without additional
 explanation.   See [http://managerialecon.blogspot.com/2011/11/john-
 mcmillans-rational-pigs-puzzle.html here] where it's explained a bit
 better why 3.5 and 1.5 means the subservient pig gets 1/3 of the food!  I
 was stumped by that for a while.

 I have added more explanation and changed the game to go with that blog
 post. As
 the blog post refers to the same book I have not referenced it but am not
 sure
 if that's appropriate.

 > * `Return a Matching pennies game` -> `Return a Matching Pennies game`

 Done.

 > * Don't forget the web link for RPSLS like you did elsewhere

 Done.

 > * `both players naming the smallest possible value` -> `both players
 naming the smallest possible value.`

 Done.

 > * The following paragraph is too far indented.
 > {{{
 > +        Note that this command can be used to create travellers dilemma
 for a
 > +         different maximum value of the luggage. Below is an
 implementation
 > +        with a maximum value of 5::
 > +
 > }}}

 Thanks: fixed.

 > * `Rock crushes scissors` -> `Rock crushes Scissors`

 Done.

 I have also made sure that the docs build and look ok on my end but let me
 know if I've managed to not do that correctly. Thanks again for your time
 and help :)

--
Ticket URL: <http://trac.sagemath.org/ticket/17392#comment:23>
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.

Reply via email to