ramo.pareto package
Submodules
ramo.pareto.dominance module
- ramo.pareto.dominance.pareto_dominates(a, b)
Check if the vector in a Pareto dominates vector b.
- Parameters:
a (ndarray) – A numpy array.
b (ndarray) – A numpy array.
- Returns:
Whether vector a dominates vector b.
- Return type:
bool
- ramo.pareto.dominance.strict_pareto_dominates(a, b)
Check if the vector in a Pareto strictly dominates vector b.
- Parameters:
a (ndarray) – A numpy array.
b (ndarray) – A numpy array.
- Returns:
Whether vector a strictly dominates vector b.
- Return type:
bool
ramo.pareto.pareto_nash module
ramo.pareto.verify module
- ramo.pareto.verify.c_prune(candidates)
Create a convex coverage set from a set of candidate points.
References
candidates (Set[Tuple]): A set of vectors.
- Returns:
A convex coverage set.
- Return type:
Set[Tuple]
- ramo.pareto.verify.fast_c_prune(candidates)
A fast version to prune a set of points to its convex hull. This leverages the QuickHull algorithm.
This algorithm first computes the convex hull of the set of points and then prunes the Pareto dominated points.
- Parameters:
candidates (ndarray) – A numpy array of vectors.
- Returns:
A convex coverage set.
- Return type:
ndarray
- ramo.pareto.verify.fast_p_prune(candidates)
A batched and fast version of the Pareto coverage set algorithm.
- Parameters:
candidates (ndarray) – A numpy array of vectors.
- Returns:
A Pareto coverage set.
- Return type:
ndarray
- ramo.pareto.verify.find_weight(vector, candidates)
Find a weight for which a specific vector improves on a CCS [1].
References
[1] Roijers, D. M., & Whiteson, S. (2017). Multi-objective decision making. 34, 129–129. https://doi.org/10.2200/S00765ED1V01Y201704AIM034
- Parameters:
vector (Tuple) – A payoff vector.
candidates (Set[Tuple]) – The current CCS.
- Returns:
A weight array if it found one, otherwise None.
- Return type:
ndarray | None
- ramo.pareto.verify.in_hull(x, points)
Check whether a point is a convex combination of a set of points.
- Parameters:
x (ndarray) – The point to check.
points (ndarray) – An array of points.
- Returns:
Whether the point was in the convex hull.
- Return type:
bool
- ramo.pareto.verify.p_prune(candidates)
Create a Pareto coverage set from a set of candidate points.
References
[1] Roijers, D. M., & Whiteson, S. (2017). Multi-objective decision making. 34, 129–129. https://doi.org/10.2200/S00765ED1V01Y201704AIM034
- Parameters:
candidates (Set[Tuple]) – A set of vectors.
- Returns:
A Pareto coverage set.
- Return type:
Set[Tuple]
- ramo.pareto.verify.verify_all_pareto_nash(monfg, joint_strats)
Globally verify if each joint strategy in a list is a Nash equilibrium.
- Parameters:
monfg (MONFG) – An MONFG object.
joint_strats (List[ndarray]) – A list of joint strategies to check.
- Returns:
Whether the joint_strategies in the list are actually Pareto Nash equilibria.
- Return type:
bool
- ramo.pareto.verify.verify_pareto_nash(monfg, joint_strat)
Verify whether a joint strategy is a Pareto Nash equilibrium.
- Parameters:
monfg (MONFG) – An MONFG object.
joint_strat (List[ndarray]) – A list of strategy arrays.
- Returns:
Whether the joint strategy is a Pareto Nash equilibrium.
- Return type:
bool