QuantEcon / QuantEcon/QuantEcon.py

Missing options for tie_breaking in QuantEcon/GameTheory

Open
#699 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

wishlist
Dominant language
Python
Stars
2.4k
Forks
2.3k
Avg merge
3d 3h
Merged PRs (30d)
3

Description

There are three options for tie_breaking in QuantEcon/GameTheory: "smallest", "random", and "False". False isn't really an option for tie_breaking as it returns all alternatives which are tied. (It doesn't "break" the tie.) "Random" is a tie breaker somewhat compatible with classical game theory. "Smallest" isn't: It relies on information not meant to be available to players: The arbitrary way, game theorists list strategies in the normal form of a game.

There should be additional options, compatible with the information reasonably assumed to be available to players in a "learning" game. One of them I would call "conservative": If no other strategy leads to higher "utility" don't change your strategy. (This would be an easy one to implement, I guess.)

So please, add this option.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the QuantEcon/GameTheory implementation of the tie_breaking options and review how "smallest", "random", and False are handled. Define the requested "conservative" behavior from the issue text, then identify the relevant existing tests or examples and verify that the new option preserves the current behaviors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.