# The Complexity of Computing a Nash Equilibrium and Other Inefficient Proofs of Existence
<style>
.reveal {
font-size: 26px;
}
</style>
---
## Outline
1. Introduction
2. Proofs of Existence and Their Corresponding Computational Problems
- Nash Equilibria
- Brouwer's Fixed-Point Theorem
- Sperner's Lemma
3. Function Problem
4. Parity Argument
5. Problems in **PPAD**-complete
6. Other Inefficient Proofs of Existence
7. Rogue Problems
8. References
---
## Introduction
----
### Nash Equilibria
*prisoner’s dilemma* game
| | cooperate | defect |
|:-:|:-:|:-:|
| **cooperate** | 0, 0 | -5, 1 |
| **defect** | 1, -5 | -4, -4 |
----
<!-- .slide: data-auto-animate="true" -->
### Nash Equilibria
*penalty shot* game
| | kick left | kick right |
|:-:|:-:|:-:|
| **dive left** | 1, -1 | -1, 1 |
| **dive right** | -1, 1 | 1, -1 |
----
<!-- .slide: data-auto-animate="true" -->
### Nash Equilibria
a mixed strategy Nash equilibrium of *penalty shot* game
| | kick left ($\cfrac{1}{2}$) | kick right ($\cfrac{1}{2}$) |
|:-:|:-:|:-:|
| **dive left** ($\cfrac{1}{2}$) | 1, -1 | -1, 1 |
| **dive right** ($\cfrac{1}{2}$) | -1, 1 | 1, -1 |
----
### Nash Equilibria
- Nash showed that every game has an equilibrium in mixed strategies.
- If your laptop can’t find it, then, probably, neither can the market.
----
### Algorithms for Computing Equilibria
- A celebrated algorithm for computing equilibria in 2-player games, which appears to be efficient in practice,
is the Lemke-Howson algorithm.
- It can be generalized to multi-player games with some loss of efficiency.
- Some algorithms are based on computing approximate fixed points, e.g., Scarf's algorithm.
- Lipton and Markakis point out that standard quantifier elimination algorithms can be used to solve them.
- None of these algorithms is known to be polynomial-time.
----
### Properties for Computing Equilibria
- Lipton, Markakis and Mehta showed that, If we only require an $\epsilon$-approximate Nash equilibrium, then a subexponential algorithm is possible.
- If the Nash equilibria sought are required to have any special properties, for example optimize total utility, the problem typically becomes NP-complete.
- Bebelis established that the Nash equilibrium problem for 3 players captures the computational complexity of the same problem with any number of players.
---
## Proofs of Existence and Their Corresponding Computational Problems
----
### Nash Equilibria
a mixed strategy Nash equilibrium of *penalty shot* game
| | kick left ($\cfrac{1}{2}$) | kick right ($\cfrac{1}{2}$) |
|:-:|:-:|:-:|
| **dive left** ($\cfrac{1}{2}$) | 1, -1 | -1, 1 |
| **dive right** ($\cfrac{1}{2}$) | -1, 1 | 1, -1 |
----
#### NASH
- Given
- the number of players
- a strategy set for each player
- an utility function for each player
- Find an $\epsilon$-Nash equilibrum
- No player can improve his expected payoff more than ε by switching to another strategy.
----
### Brouwer's Fixed-Point Theorem
> Any continuous map from a compact (closed and bounded) and convex subset of the Euclidean space into itself always has a fixed point.
----
### Brouwer's Fixed-Point Theorem
![](https://i.imgur.com/QkQvVXr.png =x400)
----
### Brouwer's Fixed-Point Theorem
![](https://i.imgur.com/E4R4YWx.png =x400)
----
### Brouwer's Fixed-Point Theorem
![](https://i.imgur.com/sWRKBO2.png =x400)
----
#### Nash's Proof of Existence
| | kick left | kick right |
|:-:|:-:|:-:|
| **dive left** | 1, -1 | -1, 1 |
| **dive right** | -1, 1 | 1, -1 |
![](https://i.imgur.com/LIIsLC8.png =x400)
----
#### BROUWER
- Given a function $F : [0, 1]^m \rightarrow [0, 1]^m$ that satisfies a Lipschitz condition
- for all $x_1, x_2 \in [0, 1]^m : d(F(x_1), F(x_2)) \leq K \cdot d(x_1, x_2)$
- Find a point $x$ such that $d(F(x), x) \leq \epsilon$
----
### Sperner's Lemma
![](https://i.imgur.com/aUsPPpD.png =x400)
> Any coloring whose sides satisfying the property has odd number of tri-chromatic triangle.
----
### Sperner's Lemma
![](https://i.imgur.com/qsIFLdy.png =x400)
----
#### Proof of Brouwer's Fixed-Point Theorem
![](https://i.imgur.com/6TQKda7.png =x400)
![](https://i.imgur.com/VJYdzsa.png =x150)
----
### k-D SPERNER
- Given a k-dimensional cube by
- the number of points on one side
- a coloring function that colors each point one of the $k + 1$ colors
- Find a k-simplex that contains all $k + 1$ colors
---
## Function Problem
- problems in which an output more elaborate than "yes" or "no" is sought
- e.g. **FSAT** is a function problem that asks an assignment if the given formula is satisfiable.
- Also called search problem.
----
## Function Problem
- **FP**: the function problem version of **P**
- **FNP**: the function problem version of **NP**
- **TFNP**: the subclass of **FNP** that are guaranteed to have an answer
- e.g. **NASH**, **MINKOWSKI**, **NECKLACE-SPLITTING** and **FACTORING**
- **FP** $\subseteq$ **TFNP** $\subseteq$ **FNP**
----
### TFNP
- Any **TFNP** problem cannot be **FNP**-complete<br>unless **NP** $=$ co-**NP**
- **TFNP** is a *semantic* class
- *Semantic* classes seem to have no complete problems.
- Are there important, syntactically definable, subclasses of **TFNP**?
---
## Parity Argument
> Any finite graph has an even number of odd-degree nodes.
----
### Chessplayer algorithm
- $2n$-degree node $\Rightarrow$ $n$ $2$-degree nodes
- $(2n + 1)$-degree node $\Rightarrow$ $n$ $2$-degree nodes and a leaf
```graphviz
digraph {
compound = true
rankdir = LR
subgraph cluster_left {
edge [dir = none]
node [shape = none, label = ""]
1 -> n [taillabel = "...", labeldistance = 2]
2 -> n
n -> 3
n -> 4 [taillabel = "...", labeldistance = 2]
n [shape = circle]
}
subgraph cluster_right {
edge [dir = none]
node [shape = none, label = ""]
5 -> n1
6 -> n2
n1 -> 7
n2 -> 8
n1 -> n2 [constraint = false, style = dotted]
n1 [shape = circle]
n2 [shape = circle]
}
4 -> 5 [style = bold, ltail = cluster_left, lhead = cluster_right]
}
```
```graphviz
digraph {
compound = true
rankdir = LR
subgraph cluster_left {
edge [dir = none]
node [shape = none, label = ""]
1 -> n [constraint = false]
2 -> n [taillabel = "...", labeldistance = 4]
3 -> n [style = invis]
4 -> n
n -> 5
n -> 6 [style = invis]
n -> 7 [taillabel = "...", labeldistance = 2, labelangle=-45]
n [shape = circle]
{1; n; rank = same}
}
subgraph cluster_right {
edge [dir = none]
node [shape = none, label = ""]
8 -> n1
9 -> n2
10 -> n3
n2 -> 11
n3 -> 12
n2 -> n3 [constraint = false, style = dotted]
n1 [shape = circle]
n2 [shape = circle]
n3 [shape = circle]
}
6 -> 9 [style = bold, ltail = cluster_left, lhead = cluster_right]
}
```
----
## Parity Argument
> All graphs of degree of two or less have an even number of leaves.
```graphviz
graph {
dim = 4
layout = neato
node [shape = circle, label = ""]
1 -- 2
2 -- 3
3 -- 4
5 -- 6
6 -- 7
7 -- 5
8 -- 9
9 -- 10
}
```
----
### Parity Argument for Directed Graph
> All directed graphs where every vertex has both in-degree and out-degree at most one have sources and sinks coming in pairs.
> If a directed graph has an unbalanced node (a vertex with different in-degree and out-degree), then it must have another.
----
### Another Definition of **NP**
> A decision problem **L** is in **NP** if and only if it is reducible to **SAT** in polynomial time.
----
### **PPA**
> A search problem is in **PPA** (Polynomial Parity Argument) if and only if it can be reduced to the following problem.
- Given
- a possibly exponentially large graph with vertex set $\{0, 1\}^n$
- a polynomial-time computable neighboring funciton
- an odd-degree node $x$
- Find another odd-degree node.
----
### **PPAD**
> A search problem is in **PPAD** (Polynomial Parity Argument for Directed Graph) if and only if it can be reduced to the following problem.
- Given
- a possibly exponentially large directed graph with vertex set $\{0, 1\}^n$
- polynomial-time predecessor and successor funcitons
- Both output at most one node.
- a source $x$
- Find another source or a sink.
----
## Parity Argument
- **FP** $\subseteq$ **PPAD** $\subseteq$ **PPA** $\subseteq$ **TFNP** $\subseteq$ **FNP**
- Let **PPA**' and **PPAD**' be the classes of problems that ask the particular leaf (or sink) that is connected to $x$.
- **PPA**' = **PPAD**' = **FPSPACE**
---
## Problems in **PPAD**-complete
----
### **SPERNER**
![](https://i.imgur.com/gmzZEvO.png =x500)
----
### **SPERNER**
![](https://i.imgur.com/bU58SFJ.png =x500)
----
### **SPERNER**
![](https://i.imgur.com/ExlcifF.png =x500)
----
### **BROUWER**
![](https://i.imgur.com/6TQKda7.png =x400)
![](https://i.imgur.com/VJYdzsa.png =x150)
----
### **NASH**
![](https://i.imgur.com/LIIsLC8.png =x400)
---
## Other Inefficient Proofs of Existence
- **PPP** - polynomial pigeonhole principle
- If a function maps $n$ elements to $n − 1$ elements, then there is a collision.
- **PPADS**
- same as **PPAD**, except we are looking for an oppositely unbalanced node
- **PLS** - polynomial local search
- Every dag has a sink.
- **PTFNP** - Provable **TFNP**
- We have a consistent deductive system, and a concisely-represented proof having exponentially many steps, that leads to a contradiction. There must be an error somewhere in the proof.
----
## Other Inefficient Proofs of Existence
```graphviz
digraph {
node [shape = none, fontsize = 24]
rankdir = BT
size = 5
FP -> UEOPL
UEOPL -> EOPL
EOPL -> CLS
FP -> PWPP
CLS -> PLS
CLS -> PPAD
PPAD -> PPA
PPAD -> PPAQ
PPAD -> PPADS
PPADS -> PPP
PWPP -> PPP
PLS -> PTFNP
PPA -> PTFNP
PPAQ -> PTFNP
PPP -> PTFNP
PTFNP -> TFNP
TFNP -> FNP
PPAQ [label = <PPA<sub>q</sub>>]
{ PLS PPA PPAQ PPP rank = same}
{ PPAD PWPP rank = same }
}
```
---
## Rogue Problems
- These problems belong to **TFNP**, but are not yet classified to its subclasses.
- $\text{Factoring}$
- $\text{Factoring}$ is reducible in randomized polynomial time to a **PPA** problem and a **PWPP** problem.
- Both reductions can be derandomized under the assumption of the generalized Riemann hypothesis.
- $\text{Ramsey}$
- Given a circuit generated graph with $4^n$ node, find $n$ nodes that are either a clique or an independent set.
- A variation of $\text{Ramsey}$ called $\text{colorful-Ramsey}$ is **PWPP**-hard.
- $\text{Bertrand-Chebyshev}$
- Find a prime between $n$ and $2n$.
---
## References
- [The Complexity of Computing a Nash Equilibrium](https://people.csail.mit.edu/costis/journal_ver10.pdf)
- [Simplified](https://people.csail.mit.edu/costis/simplified.pdf)
- [On the Complexity of the Parity Argument and Other Inefficient Proofs of Existence](https://www.sciencedirect.com/science/article/pii/S0022000005800637)
- [TFNP: An Update](https://link.springer.com/chapter/10.1007/978-3-319-57586-5_1)
{"metaMigratedAt":"2023-06-15T05:13:19.990Z","metaMigratedFrom":"Content","title":"The Complexity of Computing a Nash Equilibrium and Other Inefficient Proofs of Existence","breaks":"true","contributors":"[{\"id\":\"f9547eff-9cf4-46a1-8726-bc20b1554d01\",\"add\":16647,\"del\":5224}]"}