<p>Found the answer today:</p>
<p>While not commonly done (at least in numerical applications) it is possible to look for dominated actions by any possible mixed strategy having the other actions as domain.
This is implemented e.g. in the function <a href="https://quantecon.github.io/GameTheory.jl/stable/lib/base_types_and_methods.html#GameTheory.dominated_actions-Union%7BTuple%7BT%7D,%20Tuple%7BType%7BT%7D,%20Player%7D%7D%20where%20T%3C:Real" rel="nofollow noreferrer">dominated_actions</a> of the <a href="https://github.com/QuantEcon/GameTheory.jl" rel="nofollow noreferrer">GameTheory.jl</a> Julia package (that indeed solves a linear programming problem to retrieve them).</p>
<p>EDIT</p>
<p>I have implemented the function <a href="https://sylvaticus.github.io/StrategicGames.jl/stable/api.html#StrategicGames.dominated_actions-Tuple%7BAny%7D" rel="nofollow noreferrer">dominated_actions</a> in my own package <a href="https://github.com/sylvaticus/StrategicGames.jl" rel="nofollow noreferrer">StrategicGames</a> with the advantage that you can specify if you want the function iterative (or not), consider strict or weak domination, domination by only pure actions (computationally cheaper) or consider also mixed action dominance...</p>
<p>E.g., for 2 players (it works with N players too):</p>
<pre><code>julia&gt; using StrategicGames

julia&gt; u         = [(13,3) (1,4) (7,3); (4,1) (3,3) (6,2); (-1,9) (2,8) (8,8.1)]
3×3 Matrix{Tuple{Int64, Real}}:
 (13, 3)  (1, 4)  (7, 3)
 (4, 1)   (3, 3)  (6, 2)
 (-1, 9)  (2, 8)  (8, 8.1)

julia&gt; payoff    = expand_dimensions(u);

julia&gt; dominated = dominated_actions(payoff,verbosity=HIGH)
Dominated strategies at step 1: [Int64[], [3]]
Dominated strategies at step 2: [[3], [1, 3]]
Dominated strategies at step 3: [[1, 3], [1, 3]]
Dominated strategies at step 4: [[1, 3], [1, 3]]
2-element Vector{Vector{Int64}}:
 [1, 3]
 [1, 3]
</code></pre>
<p>Note that the removal of player[2].action[3] on the first iteration is possible by considering a dominating mixing strategy of about 0.36 and 0.63 for the other two actions.</p>

CC BY-SA 4.0
2023-06-21T11:36:41.773Z
2023-06-26T14:50:51.980Z
2023-06-26T14:50:51.980Z
Antonello
<p>In all examples I saw describing the Iterative removal of strictly dominated strategies, the case of actions removed because dominated by a mixed strategy of the other actions where always given with the mixture being made of a uniform distribution, i.e. all the other actions having the same probability.</p>
<p>Is this the only case I have to check or should I look for a dominated action by any possible mixture ? This would require I guess a linear optimisation problem, resembling me a bit the efficiency analysis in data envelopment analysis..</p>
<p>Are there software libraries that look for mixture strict dominance by any possible mixture ? Would they be useful (or at this point just go for standard Nash equilibrium algorithms...) ?</p>

<game-theory>
Looking up actions dominated by mixed strategies. Any mixture or only uniform?
Antonello
# Looking up actions dominated by mixed strategies. Any mixture or only uniform?

(Asked by: username_0 on 2023-06-20)

In all examples I saw describing the Iterative removal of strictly dominated strategies, the case of actions removed because dominated by a mixed strategy of the other actions where always given with the mixture being made of a uniform distribution, i.e. all the other actions having the same probability.

Is this the only case I have to check or should I look for a dominated action by any possible mixture ? This would require I guess a linear optimisation problem, resembling me a bit the efficiency analysis in data envelopment analysis..

Are there software libraries that look for mixture strict dominance by any possible mixture ? Would they be useful (or at this point just go for standard Nash equilibrium algorithms...) ?

**Tags:** game-theory


---

## 1 answers

### Answer by username_0 on 2023-06-21. Score: 1

Found the answer today:

While not commonly done (at least in numerical applications) it is possible to look for dominated actions by any possible mixed strategy having the other actions as domain.
This is implemented e.g. in the function [dominated\_actions](https://quantecon.github.io/GameTheory.jl/stable/lib/base_types_and_methods.html#GameTheory.dominated_actions-Union%7BTuple%7BT%7D,%20Tuple%7BType%7BT%7D,%20Player%7D%7D%20where%20T%3C:Real) of the [GameTheory.jl](https://github.com/QuantEcon/GameTheory.jl) Julia package (that indeed solves a linear programming problem to retrieve them).

EDIT

I have implemented the function [dominated\_actions](https://sylvaticus.github.io/StrategicGames.jl/stable/api.html#StrategicGames.dominated_actions-Tuple%7BAny%7D) in my own package [StrategicGames](https://github.com/sylvaticus/StrategicGames.jl) with the advantage that you can specify if you want the function iterative (or not), consider strict or weak domination, domination by only pure actions (computationally cheaper) or consider also mixed action dominance...

E.g., for 2 players (it works with N players too):

```
julia> using StrategicGames

julia> u         = [(13,3) (1,4) (7,3); (4,1) (3,3) (6,2); (-1,9) (2,8) (8,8.1)]
3×3 Matrix{Tuple{Int64, Real}}:
 (13, 3)  (1, 4)  (7, 3)
 (4, 1)   (3, 3)  (6, 2)
 (-1, 9)  (2, 8)  (8, 8.1)

julia> payoff    = expand_dimensions(u);

julia> dominated = dominated_actions(payoff,verbosity=HIGH)
Dominated strategies at step 1: [Int64[], [3]]
Dominated strategies at step 2: [[3], [1, 3]]
Dominated strategies at step 3: [[1, 3], [1, 3]]
Dominated strategies at step 4: [[1, 3], [1, 3]]
2-element Vector{Vector{Int64}}:
 [1, 3]
 [1, 3]

```

Note that the removal of player[2].action[3] on the first iteration is possible by considering a dominating mixing strategy of about 0.36 and 0.63 for the other two actions.


---

