Skip to content

v0.2.5

@tamastheactual tamastheactual tagged this 05 Jun 13:40
From an automated audit of every method call the original notebooks make,
add the missing surfaces so migrated notebooks run without per-call errors
(all additive / backward-compatible):

- normal_form: plot_br_curves gains hlines/vlines; plot_mixed no longer raises
  on games larger than 3x3 - it falls back to mixed-equilibrium bar charts
  (with a size guard so 50x50 games show a note instead of hanging).
- zero_sum: solve_lp() alias -> solve_value().
- stochastic: solve() now dispatches - no-arg/kwargs runs value iteration (cached
  via value_iteration()), while solve(result_dict) / solve(title=) renders the
  stage games; convergence_plot() alias.
- extensive_form: solve() returns {payoffs, spe_strategies, spe_all_actions} and
  honors _display_result; compare() accepts labels/**kwargs; new show_dataframe();
  solve_nf gains show_deviation; social_welfare returns a scalar by default
  (return_outcome=True for the old tuple) with a baseline for the nash objective.
- bayesian: new BayesianGame facade with 8 classmethod factories mapping notebook
  kwargs to the dataclasses; PostedPrice accepts prices=; every solve() accepts
  title=; every simulate() accepts rng=; BayesianGame.sweep returns (fig, ax, df).

92 tests pass, pyflakes clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Assets 2
Loading