Skip to content

Conversation

@tturocy
Copy link
Member

@tturocy tturocy commented Jan 23, 2026

No description provided.

…rategic form.

This creates an abstraction, CartesianProductSpace, which aims to separate out the computations
related to representing a Cartesian product.  This has always been implicit in the strategic form,
but the core ideas apply equally to other situations (sequence form, some applications of pure behavior profiles).
Underpinning this is that any element of a cartesian product space can be represented by an
integer computed using mixed radix arithmetic.

This then leads to simplifications in the internal representation of several objects:
* PureStrategyProfile, which is now be characterised simply by an integer index.
* StrategySupportProfile, which is characterised by the set of "digits" which are valid for each dimension.
* StrategyContingencies, which iterates over the valid digits for each dimension.

Implement PureStrategyProfile using indexes only.

This changes PureStrategyProfile so that it stores only to the index of
the strategy profile in the cartesian product of pure strategy sets.
A map from players to strategies is no longer needed.

Implement CartesianProductSpace abstraction

Implement StrategySupportProfile as vectors of legal "digits" in indexing the Cartesian product space.

Default initialisations

Make StrategyContingencies header-only to facilitate possible inlining eventually.

Rewrite strategycontingencies to use "odometer digit" abstraction.

Tidy up some uses of StrategyContingencies

Remove "frozen" strategies in contingencies; handle in support profiles instead.

Remember to add iterator attributes for StrategyContingencies
@tturocy tturocy merged commit 2ff522b into master Jan 23, 2026
25 of 26 checks passed
@tturocy tturocy deleted the dev_cartesian branch January 23, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants