1 Introduction

Congestion games as introduced in  Rosenthal (1973) constitute an elegant game-theoretic model describing the distributed allocation of resources among selfish players. Specifically, such a game comprises a finite set of players, a finite set of resources and the pure strategies of a player are given by a set of allowable subsets of resources. In the context of network games, the resources may correspond to edges of a graph and the allowable subsets correspond to paths connecting a source and a sink. Resources have cost functions that depend on the number of players currently using the resource. For a given strategy profile (collection of pure strategies of the players), the disutility of each player is just the sum of resource’ costs of the chosen subset of resources. Rosenthal proved in his seminal paper that congestion games always admit a pure Nash equilibrium.

1.1 Atomic splittable congestion games

Since the initial work of Rosenthal, several works studied related or generalized variants of congestion games. One such variant that we consider in this paper are so-called atomic splittable congestion games. In this model, every player has a demand \(d_i>0\) that she may split fractionally over the allowable subsets. The cost of a resource is then a function of the total load assigned to it. This class of games has applications in modeling packet-routing in communication networks (see  Orda et al. 1993;  Korilis et al. 1997, 1995), traffic networks ( Haurie and Marcotte 1985) and logistics networks ( Cominetti et al. 2009a).

Formally, there is a finite set of resources E, a finite set of players N, and each player \(i\in N\) is associated with a weight \(d_i \ge 0\) and a collection of allowable subsets of resources \(\mathcal {S}_i \subseteq 2^E\), where \(2^E\) denotes the power set of E. A strategy for player i is then a (possibly fractional) distribution \(\vec x_i\in {\mathbb {R}_{\ge 0}}^{|\mathcal {S}_i|}\) of the weight over the allowable subsets \({S \in }\) \(\mathcal {S}_i\). Thus, one can compactly represent the strategy space of every player \(i\in N\) by the following polytope:

$$\begin{aligned} P_i :=\left\{ \vec {x}_i\in {\mathbb {R}_{\ge 0}^{|\mathcal {S}_i|}}: \sum _{S\in \mathcal {S}_i} x_S= d_i\right\} . \end{aligned}$$
(1)

We denote by \(\vec {x}=(\vec {x}_i)_{i\in N}\) the overall strategy profile. The induced load under \(\vec {x}_i\) at e is defined as \(x_{i,e}:=\sum _{S\in \mathcal {S}_i:e\in S}x_S\) and the total load on e is then given as \(x_e:=\sum _{i\in N}x_{i,e}\). Resources have player-specific cost functions \(c_{i,e} : {\mathbb {R}_{\ge 0}} \rightarrow {\mathbb {R}_{\ge 0}}\) which are assumed to be non-negative, increasing, differentiable and convex. The total cost of player i in strategy distribution \(\vec {x}\) is defined as

$$\begin{aligned} \pi _{i}(\vec x)=\sum _{e\in E} c_{i,e}(x_e)\,x_{i,e}. \end{aligned}$$

Each player wants to minimize the total cost on the used resources and a Nash equilibrium is a strategy profile \(\vec x\) from which no player can unilaterally deviate and reduce its total cost. Using that the strategy space is compact and cost functions are increasing and convex Kakutanis’ fixed point theorem implies the existence of a Nash equilibrium (Rosen 1965, Theorem 1).

1.2 Uniqueness of equilibria

A fundamental property of a strategic game is the uniqueness of equilibria. This property is key to actually predict the outcome of distributed resource allocation: if there are multiple equilibria it is not clear upfront which equilibrium will be selected by the players. This issue has been raised explicitly by  Aumann (1985) quoted below: “...it is by no means clear how the players would arrive at an equilibrium, why they should play equilibrium strategies, and how a specific equilibrium would be chosen from among the set of all equilibria”.

An intriguing question in the field of atomic splittable congestion games is the possible non-uniqueness of equilibria.Let \(\vec {x}\) and \(\vec {y}\) be two equilibria. We say that \(\vec {x}\) and \(\vec {y}\) are different whenever there exists a player i and resource e such that \(x_{i,e}\ne y_{i,e}\). A variant on this question is whether or not there exist multiple equilibria such that there exists at least one resource e for which \(x_e \ne y_e\). We call this variant “uniqueness up to induced load on the resources”.

For non-atomic players and network congestion games on directed graphs,  Milchtaich (2005) proved that Nash equilibria are not unique when cost functions are player-specific. Uniqueness is only guaranteed if the underlying graph is two terminal s-t-nearly-parallel.  Richman and Shimkin (2007) extended this result to hold for atomic splittable network games. Bhaskar et al. (2015) looked at uniqueness up to induced load on the resources. They proved that even when all players experience the same cost on a resource, there can exist multiple equilibria. They further proved that for two players, the Nash equilibrium is unique if and only if the underlying undirected graph is generalized series-parallel. For multiple players of two types (players are of the same type if they have the same weight and share the same origin-destination pair), there is a unique equilibrium if and only if the underlying undirected graph is s-t-series-parallel. For more than two types of players, there is a unique equilibrium if and only if the underlying undirected graph is generalized nearly-parallel.

1.3 Our results and outline of the paper

In this paper we study the uniqueness of equilibria for general set systems \((\mathcal {S}_i)_{i\in N}\). Interesting combinatorial structures of the \(\mathcal {S}_i\)’s beyond paths may be trees, forests, Steiner trees or tours all in a directed or undirected graph or bases of matroids.

As our main result we give a sufficient condition for uniqueness based on the theory of polymatroids. We show that if the strategy space of every player is a polymatroid base polytope satisfying a special exchange property—we term this class of polymatroids bidirectional flow polymatroids—the equilibria are unique.Footnote 1 We demonstrate that bidirectional flow polymatroids are quite general as they contain base-orderable matroids, gammoids, transversal and laminar matroids. For an overview of special cases that follow from our main result, see Fig. 1.

The uniqueness result is stated in Sect. 4. In Sect. 5 we show that base-orderable matroids are a special case of bidirectional flow polymatroids. Definitions of polymatroid congestion games and bidirectional flow polymatroids are introduced in Sects. 2 and 3, respectively.

In Sects. 6 and 7 we complement our uniqueness result by showing multiple equilibria exist when certain assumptions are dropped. In Sect. 6 we discuss why it is necesarry for cost functions to be differentiable. In Sect. 7 we consider a game with at least three players for which the set systems \(\mathcal {S}_i\) of all players \(i\in N\) are not bases of a matroid. Then there exists a game with strategy spaces \(\phi (\mathcal {S}_i)\) isomorphic to \(\mathcal {S}_i\) which admits multiple equilibria. Here, the term isomorphic means that there is no a priori description on how the individual strategy spaces of players interweave in the ground set of resources. Our results leave a gap between general matroids and base orderable matroids for which we do not know whether or not equilibria are unique.

In Sect. 8 we consider uniqueness of equilibria if the set systems \(\mathcal {S}_i\) correspond to paths in an undirected graph. The instance used for showing multiplicity of equilibria of non-matroid games can be seen as a 3-player game played on an undirected 3-vertex cycle graph. From this we can derive a new characterization of uniqueness of equilibria in undirected graphs. If we assume at least three players and if we do not specify beforehand which vertices of the graph serve as sources or sinks, an undirected graph induces unique equilibria if and only if the graph has no cycle of length at least 3.

Fig. 1
figure 1

Several well-known classes of matroids and the relations between them. Here GSP is short for generalized series-parallel. References and arguments for the seven inclusions can be found in “Appendix A”

1.4 Further related work

Atomic splittable (network) congestion games have been first proposed by  Orda et al. (1993) and  Altman et al. (2002) in the context of modeling routing in communication networks. Other applications include traffic and freight networks (cf.  Cominetti et al. 2009b) and scheduling (cf. Huang 2011).  Haurie and Marcotte (1985) showed that classical nonatomic congestion games (cf.  Beckmann et al. 1956;  Wardrop 1952) can be modeled as atomic splittable congestion games by constructing a sequence of games and taking the limit with respect to the number of players. It follows that atomic splittable congestion games are strictly more general as their nonatomic counterpart.  Cominetti et al. (2009b),  Harks (2011) and  Roughgarden and Schoppmann (2015) studied the price of anarchy in atomic splittable congestion games.

Matroid congestion games were first considered by  Ackermann et al. (2008), Ackermann et al. (2009). They showed that (unsplittable) weighted congestion games possess pure Nash equilibria even for player-specific nondecreasing cost functions. They also showed that the matroid property is the maximal property that gives rise to a pure Nash equilibrium, that is, for any strategy space not satisfying the matroid property, there is an instance of a weighted congestion game not having a pure Nash equilibrium. Integral polymatroid congestion games, a generalization of matroid congestion games, were later introduced in  Harks et al. (2014) (see also Harks et al. 2014). In addition, polymatroid theory was recently used in the context of nonatomic congestion games, where it is shown that matroid set systems are immune to the Braess paradox, see  Fujishige et al. (2015).

2 Polymatroid congestion games

In polymatroid congestion games we assume that the strategy space for every player corresponds to a polymatroid base polytope.

In order to define polymatroids we first have to introduce submodular functions. A function \(\rho :2^E \rightarrow \mathbb {R}\) is called submodular if \(\rho (U)+\rho (V) \ge \rho (U \cup V) + \rho (U \cap V)\) for all \(U, V \subseteq E\). It is called monotone if \(\rho (U) \le \rho (V)\) for all \(U \subseteq V\), and normalized if \(\rho (\emptyset ) = 0\). Given a submodular, monotone and normalized function \(\rho \), the pair \((E,\rho )\) is called a polymatroid. The associated polymatroid base polytope is defined as:

$$\begin{aligned} P_{\rho } := \left\{ \vec x \in {\mathbb {R}_{\ge 0}^{E}} \mid x(U) \le \rho (U) \; \forall U \subseteq E, \; x(E) = \rho (E)\right\} , \end{aligned}$$

where \(x(U) := \sum _{e \in U} x_e\) for all \(U\subseteq E\).

In a polymatroid congestion game, we associate with every player i a player-specific polymatroid \((E,\rho _i)\) and assume that the strategy space of player i is defined by the (player-specific) polymatroid base polytope \(P_{\rho _i}\).

$$\begin{aligned} P_{\rho _i}:= \left\{ \vec x_i \in {\mathbb {R}_{\ge 0}^{E}} \mid {x_i(U)} \le \rho _i(U) \; \forall U \subseteq E, \; {x_i(E)} = \rho _i(E)\right\} . \end{aligned}$$

From now on, when we mention a polymatroid congestion game, we mean a weighted atomic splittable polymatroid congestion game. We give three examples of polymatroid congestion games:

Example 2.1

(Queueing Games cf. Korilis et al. 1997) Let \(Q=\{q_1, \dots q_m\}\) be a set of M / M / 1 queues served in a first-come-first-served fashion and \(N=\{1, \ldots , n\}\) a set of companies who independently send packets with arrival rates \(d_1, \dots d_n\). Every queue q has a single server with exponentially distributed service time with mean \(1/\mu _q\), where \(\mu _q>0\). Each packet is routed to a single server q out of a set of allowable queues, depending on the company. Given a distribution of packets \(\vec {x} \in {\mathbb {R}^m_{\ge 0}}\), the mean delay of queue q can be computed as \(c_q(x_q)=\frac{1}{\mu _q-x_q}\). In this case the sets \(\mathcal {S}_i\) are uniform rank-1 matroids, which are also called singleton games.

Example 2.2

(Transversal games) Consider a finite set E of storing facilities, a finite set A of locations and a finite set N of players. Each player has to store an amount of \(d_i\) of divisible goods in each area \(j \in A\). Each area j can be served from any storing facility within a given set \(S_j \subseteq E\). The sets \(S_j\) may overlap, even for the same player i. However, due to reliability reasons, a player cannot store more than \(d_j\) goods in one storing facility. The cost \(c_{i,e}\) for using a specific storing facility depends on the total amount of goods that have to be stored in storing facility e. The more goods need to be stored, the larger the cost to use it.

This setting can be modeled as a bipartite graph G on vertex sets E and A, where an edge between area \(j \in A\) and storage facility \(e \in E\) exists if and only if area j can be served from storage facility e. In a feasible strategy a player divides its goods over bases of the transversal matroid of this graph: subsets of storage facilities that are the endpoints of a maximal matching in G. Hence, the strategy space of every player \(i\in N\) corresponds to the base polytope \(P_{d_i \cdot rk_i}\), where \(rk_i\) is the rank function of a transversal matroid.

Example 2.3

(Matroid Congestion Games) A matroid \(\mathcal {M}\) is a pair \((E, \mathcal {I})\), where E is a finite set of resources and \(\mathcal {I}\) is a family of subsets of E, called the independent sets. Set \(\mathcal {I}\) has the following three properties:

  1. 1.

    The empty set is an independent set: \(\emptyset \in \mathcal {I}\).

  2. 2.

    Set \(\mathcal {I}\) is closed under taking subsets: if \(I \subseteq J\) and \(J\in \mathcal {I}\), then \(I \in \mathcal {I}\).

  3. 3.

    Set \(\mathcal {I}\) has the exchange property: if \(I,J \in \mathcal {I}\) and \(|I|<|J|\), then there exists an \(e \in J\) such that \(I \cup \{e\} \in \mathcal {I}\).

A basis is an independent set that becomes dependent on adding any element of E. The base set \(\mathcal {B}\) contains all bases of \((E, \mathcal {I})\).

Consider an atomic splittable matroid congestion model, where for every \(i \in N\) the allowable subsets are the base set \(\mathcal {B}_i\) of a matroid \(\mathcal {M}_i=(E,\mathcal {I}_i)\). The rank function \(rk_i: 2^E \rightarrow \mathbb {R}\) of matroid \(\mathcal {M}_i\) is defined as: \(rk_i(S):= \max \{ |U|\;|\;U \subseteq S \text { and } U \in \mathcal {I}_i\} \) for all \(S \subseteq E\), and is submodular, monotone and normalized Pym and Perfect (1970). Moreover, the characteristic vectors of the bases in \(\mathcal {B}_i\) are exactly the vertices of the polymatroid base polytope \(P_{rk_i}\). It follows that the polytope \(P_i:= \{\vec {x} \in {\mathbb {R}^{|\mathcal {B}_i|}_{\ge 0}} | \sum _{B \in \mathcal {B}_i} x_B=d_i \}\) corresponds to strategy distributions that lead to load vectors in the following polytope:

$$\begin{aligned} P_{d_i \cdot rk_i} = \left\{ \vec x_i \in {\mathbb {R}_{\ge 0}^{E}} | x_i(U) \le d_i \cdot rk_i(U) \; \forall U \subseteq E, x_i(E) =d_i \cdot rk_i(E) \right\} . \end{aligned}$$

Hence matroid congestion models are a special case of polymatroid congestion models. Both the singleton games in Example 2.1 and the transversal games in Example 2.2 are a special case of matroid congestion games.

3 Bidirectional flow polymatroids

We provide a sufficient condition for a class of polymatroid congestion games to have a unique Nash equilibrium. We prove that if the strategy space of every player is the base polytope of a bidirectional flow polymatroid, Nash equilibria are unique. In order to define the class of bidirectional flow polymatroids we first discuss some basic properties of polymatroids. We start with a generalization of the strong exchange property for matroids. Let \(\chi _e\in \mathbb {Z}^{|E|}\) be the characteristic vector with \(\chi _e(e)=1\), and \(\chi _e(e')=0\) for all \(e'\ne e\).

Lemma 3.1

(Strong exchange property polymatroids Murota 2003) Let \(P_\rho \) be a polymatroid base polytope defined on \((E,\rho )\). Let \(\vec {x},\vec {y} \quad \in P_\rho \) and suppose \(x_e > y_e\) for some \(e \quad \in E\). Then there exists an \(e'\quad \in E\) with \(x_{e'} < y_{e'}\) and an \(\epsilon >0\) such that:

$$\begin{aligned} \vec {x}+\epsilon (\chi _{e'}-\chi _e)\in P_\rho \text { and } \vec {y}+\epsilon (\chi _e-\chi _{e'})\in P_\rho . \end{aligned}$$

This exchange property will play an important role in the definition of bidirectional flow polymatroids. Given a strategy \(\vec {x}\) in the base polytope of polymatroid \((E,\rho )\), we are interested in the exchanges that can be made between \(x_e\) and \(x_{e'}\) for some resources in \(e,e'\in E\). For that, we define a directed exchange graph \(D(\vec {x})=(E,V)\), where the set of vertices equals the set of resources E. The edge set is \(V:=\left\{ {(e,e')}| \exists \; \epsilon >0 \text { such that } \vec {x}+\epsilon ({\chi _{e'}}-\chi _e)\in P_\rho \right\} \). We define exchange capacities \(\hat{c}_{\vec {x}}(e,e')\) (following notation of  Fujishige 2005), which denotes the maximal amount of load that can be exchanged in \(\vec {x}\) between resources e and \(e'\). More formally:

$$\begin{aligned} \hat{c}_{\vec {x}}(e,e'):= \max \{ \alpha | \vec {x}+\alpha (\chi _{e'}-\chi _e)\in P_{\rho } \}. \end{aligned}$$

We use Lemma 3.1 to prove the following:

Lemma 3.2

Let \(P_\rho \) be a polymatroid base polytope defined on \((E,\rho )\). For \(\vec {x},\vec {y} \in P_\rho \), there exists a flow in \(D(\vec {x})\) satisfying all supplies and demands, where a resource e with \(x_e>y_e\) has supply of \(x_e-y_e\) and e with \(x_e<y_e\) has a demand of \(y_e-x_e\).

Proof

Consider the following algorithm:

  1. 1.

    Let f be the zero flow, a flow where we send zero flow along all edges in \(D(\vec {x})\).

  2. 2.

    If \(\vec {x}=\vec {y}\), then stop and output flow f.

  3. 3.

    Choose any element \(e \in E\) such that \(x_e >y_e\).

  4. 4.

    Use Lemma 3.1 to find \(e' \in E\) such that \(x_{e'} < y_{e'}\) and \(\epsilon >0\) with

    $$\begin{aligned} \vec {x}+\epsilon (\chi _{e'}-\chi _e)\in P_\rho \text { and } \vec {y}+\epsilon (\chi _e-\chi _{e'})\in P_\rho . \end{aligned}$$

    Put \(\alpha =\min \left\{ \hat{c}_{\vec {x}}(e,e'),\hat{c}_{\vec {y}}(e',e), x_{e}-y_{e}, y_{e'}-x_{e'} \right\} \), define \(\vec {y} \leftarrow \vec {y}+{\alpha }(\chi _e-\chi _{e'})\) and add \(\alpha \) flow to edge \((e,e')\) in flow f.

  5. 5.

    If \(\alpha < x_e-y_e\), then go to step 4. Otherwise (\(\alpha = x_e-y_e\)), go to step 2.

Note that this algorithm is a slightly changed version of  (Fujishige 2005, Theorem 3.27). The only difference is that we do not change y to x with exchanges that only can be made on strategy \(\vec {y}\) (which is proven in  (Fujishige 2005, Theorem 3.27)) but with exchanges that can be executed on both \(\vec {x}\) and \(\vec {y}\). As these exchanges always exists, the results by  (Fujishige 2005, Theorem 3.27) are still valid for our algorithm. Hence, this algorithm transforms \(\vec {y}\) into \(\vec {x}\) with at most \(\lfloor |E|^2/4 \rfloor \) elementary transformations described in Lemma 3.1, such that each component \(y_e\) with \(y_e<x_e\) monotonically increases and each component \(y_e\) with \(y_e>x_e\) monotonically decreases. Therefore f satisfies all supplies and demands as described in the lemma. Flow f also satisfies all capacity constraints, as every pair of resources \((e,e')\) is considered at most once, and all exchanges can be done on \(\vec {x}\). Hence \(f_{(e,e')} \le \hat{c}_{\vec {x}}(e,e')\), thus f is a flow in \(D(\vec {x})\) satisfying all supplies and demands. \(\square \)

The flow f mentioned in Lemma 3.2 is a flow from the perspective of strategy \(\vec {x}\) and therefore we call this a directed flow. In the following we define a bidirectional flow. Let \(P_\rho \) again be a polymatroid base polytope on set E. For any \(\vec {x},\vec {y} \in P_\rho \) define the capacitated graph \(D(\vec {x},\vec {y})\) on vertices E. An edge \((e,e')\) exist if there is an \(\epsilon >0\) such that \(\vec {x}+\epsilon (\chi _e'-\chi _e)\in P_\rho \) and \(\vec {y}+\epsilon (\chi _e-\chi _e')\in P_\rho \). For edges \((e,e')\) we define capacities \(\hat{c}_{\vec {x},\vec {y}}(e,e')\) as follows:

$$\begin{aligned} \hat{c}_{\vec {x},\vec {y}}(e,e'):= \max \{ \alpha | \vec {x}+\alpha (\chi _{e'}-\chi _e)\in P_\rho \text { and } \vec {y}+\alpha (\chi _{e}-\chi _e')\in P_\rho \} \end{aligned}$$

A bidirectional flow is a flow in \(D(\vec {x},\vec {y})\) where every resource e with \(x_e>y_e \) has supply of \(x_{e}-y_{e}\) and every resource e with \(x_e<y_e\) has a demand of \(y_{e}-x_{e}\). Such a flow might not exist. In that case we say that \(\vec {x}\) and \(\vec {y}\) are conflicting strategies.

We are ready to define the class of bidirectional flow polymatroids:

Definition 3.3

(Bidirectional flow polymatroi) A polymatroid \((E,\rho )\) is called a bidirectional flow polymatroid if for every pair of vectors \(\vec {x},\vec {y}\) in the base polytope \(P_\rho \), there exists a bidirectional flow in \(D(\vec {x},\vec {y})\).

We give a simple example of a bidirectional flow polymatroid.

Example 3.4

We consider polymatroid \(P_{\rho }\) defined by the graphic matroid on the graph depicted in Fig. 2. In this polymatroid, a total load of 1 is divided over the bases of the graphic matroid. Here, for any two strategies \(\vec x\) and \(\vec y\) there exists a bidirectional flow in \(D(\vec {x},\vec {y})\). In particular, in Fig. 3 we show the existance for a bidirectional flow for strategy \(\vec x\) and \(\vec y\) defined in Fig. 2.

Fig. 2
figure 2

Left the original graph with numbered resources. Middle Load distribution for strategy \(\vec x\). Right Load distribution for strategy \(\vec y\)

Fig. 3
figure 3

Left Graph \(D(\vec {x},\vec {y})\) with corresponding capacities. Right the bidirectional flow in \(D(\vec {x},\vec {y})\), including supplies and demands

4 A uniqueness result

In this section we prove that when the strategy space of every player is the base polytope of a bidirectional flow polymatroid, equilibria are unique. We denote the marginal cost of player i on resource \(e\in E\) by \(\mu _{i,e}(\vec {x}) = c_{i,e}(x_e)+x_{i,e} c_{i,e}'(x_e).\)

An equilibrium condition for polymatroid congestion games, a result that follows from (Harks 2011, Lemma 1) is as follows:

Lemma 4.1

Let \(\vec {x}\) be a Nash equilibrium in a polymatroid congestion game. If \(x_{i,e}>0\), then for all \(e' \in E\) for which there is an \(\epsilon >0\) such that \(\vec {x_i}+\epsilon (\chi _{e'}-\chi _e) \in P_{\rho _i}\), we have \(\mu _{i,e}(\vec {x}) \le \mu _{i,e'}(\vec {x})\).

In the rest of this section we will prove the following theorem:

Theorem 4.2

If  for a polymatroid congestion game, the strategy space for every player is the base polytope of a bidirectional flow polymatroid, then the equilibria of this game are unique.

From now on we assume \(\vec {x}=(\vec {x}_i)_{i\in N}\) and \(\vec {y}=(\vec {y}_i)_{i \in N}\) are strategy profiles, where strategies \(\vec {x}_i\) and \(\vec {y}_i\) are taken from the base polytope \(P_{\rho _i}\) of a player-specific bidirectional flow polymatroid. Before we prove Theorem 4.2, we first introduce some new notation. We define \(E^+ = \{e \in E| x_e > y_e \}\) and \(E^- = \{e \in E| x_e < y_e \}\) as the sets of globally overloaded and underloaded resources. Define \(E^==\{e \in E| x_e=y_e \}\) as the set of resources on which the total load does not change. In the same way we define player-specific sets of locally underloaded and overloaded resources \(E^{i,+} = \{e \in E| x_{i,e} > y_{i,e} \}\) and \(E^{i,-} = \{e \in E| x_{i,e} < y_{i,e} \}\). We also introduce four player sets:

$$\begin{aligned} N^+_>= & {} \left\{ i \in N| \sum _{e \in E^+} x_{i,e} - y_{i,e}> 0 \right\} , \; \; \; \; \; \; N^-_> = \left\{ i \in N| \sum _{e \in E^- {\cup E^=}} x_{i,e} - y_{i,e} > 0 \right\} , \\ N^+_<= & {} \left\{ i \in N| \sum _{e \in E^+} x_{i,e} - y_{i,e} \le 0 \right\} , \; \; \; \; \; \; N^-_< = \left\{ i \in N| \sum _{e \in E^-{\cup E^=}} x_{i,e} - y_{i,e} \le 0 \right\} .\\ \end{aligned}$$

We can distinguish between two cases. Either \(E = E^=\), thus \(x_e=y_e\) for all resources \(e \in E\), or \(E \ne E^=\), which implies that \(E^+\) and \(E^-\) are non-empty.

Lemma 4.3

If \(E \ne E^=\), then \(N^+_> \ne \emptyset \).

Proof

Every player distributes the same weight over the resources in \(\vec {x}_i\) and \(\vec {y}_i\), thus \(\sum _{e \in E} x_{i,e} - y_{i,e} = 0\) and \(N^+_> = N^-_<\) and \(N^+_< = N^-_>\). As \(E^+ \ne \emptyset \) we have:

$$\begin{aligned} 0<\sum _{e \in E^+} x_e-y_e= \sum _{i\in N^+_>} \sum _{e \in E^+} x_{i,e}-y_{i,e} + \sum _{i\in N^+_{{<}}}\sum _{e \in E^+} x_{i,e}-y_{i,e}. \end{aligned}$$

Note that the first term in the last expression is non-negative and the second one is non-positive. As the whole equation should be positive, we need that this first term is strictly positive and therefore \(N^+_> \ne \emptyset \). \(\square \)

For each player i we create a graph \(G(\vec {x}_i,\vec {y}_i)\) from graph \(D(\vec {x_i},\vec {y_i})\) by adding a super-source \(s_i\) and a super-sink \(t_i\) to \(D(\vec {x_i},\vec {y_i})\). We add edges from \(s_i\) to \(e \in E^{i,+}\) with capacity \(x_{i,e}-y_{i,e}\) and edges from \(e\in E^{i,-}\) to \(t_i\) with capacity \(y_{i,e}-x_{i,e} \). Graph \(G(\vec {x}_i,\vec {y}_i) {=(V_G,E_G)}\) is visualized in Fig. 4.

Fig. 4
figure 4

Visualization of graph \(G(\vec {x}_i,\vec {y}_i)\) and cut \(\delta (E^+)\) used in the proof of Lemma 4.4

Recall that strategies \(\vec {x_i}\) and \(\vec {y_i}\) are both chosen from the base polytope of a bidirectional flow polymatroid. Therefore there exists a flow \(f_i\) in \(D(\vec {x_i},\vec {y_i})\) where every resource \(e \in E^{i,+}\) has a supply of \(x_{i,e}-y_{i,e}\) and \(e \in E^{i,-}\) a demand of \(y_{i,e}-x_{i,e}\). Using \(f_i\) we define a flow \(f'_i\) in \(G(\vec {x}_i,\vec {y}_i)\) as follows:

$$\begin{aligned} f_i'(e,e')= {\left\{ \begin{array}{ll} x_{i,e}-y_{i,e},&{} \text {if } e=s_i \text { and } e' \in E^{i,+},\\ y_{i,e}-x_{i,e},&{} \text {if } e\in E^{i,-} \text { and } e' =t_i, \\ f_i(e,e'),&{} \text {otherwise.}\\ \end{array}\right. } \end{aligned}$$
(2)

Lemma 4.4

There exists a player i and a path \((s_i,e_1, \dots , e_k,t_i)\) in \(G(\vec {x}_i,\vec {y}_i)\) such that \(e_1 \in E^{i,+} \cap (E^+ \cup E^=)\) and \(e_k \in E^{i,-} \cap (E^- \cup E^=)\).

Proof

If \(E \ne E^=\), then using Lemma 4.3 we have that \(N^+_> \ne \emptyset \), and we pick a player \(i \in N^+_>\). Flow \(f'_i\) can be decomposed into flow carrying \(s_i\)-\(t_i\) paths, and we will show that there exists a path in this path decomposition that goes from \(s_i\) to a vertex \(e_1 \in E^{i,+} \cap E^+\), and, after visiting possibly other vertices, finally goes through a vertex \(e_k \in E^{i,-} \cap (E^- \cup E^=)\) to \(t_i\). To see this consider the cut \(\delta (E^+):={\{ (u,v) \in E_G \mid u \in E^+ \text { and } v \notin E^+, \text { or } u \notin E^+ \text { and } v \in E^+ ) \}}\), as visualized in Fig. 4. Recall that \(i\in N^+_>\), hence, \(\sum _{e\in E^+}x_{i,e}-y_{i,e} >0\). Thus, in \(f'_i\) more load enters \(E^+\) from \(s_i\), than leaves \(E^+\) to \(t_i\). This implies that in the flow decomposition of \(f'_i\) there must be a path that goes from \(s_i\) to a vertex \(e_1 \in E^{i,+} \cap E^+\), crosses cut \(\delta (E^+)\) an odd number of times to a vertex \(e_k \in E^{i,-} \cap (E^- \cup E^=)\) before ending in \(t_i\). As this is a flow-carrying path in \(f'_i\), it exists in \(G(\vec {x}_i,\vec {y}_i)\).

If \(E = E^=\), pick any player i for which there exists a resource e with \(x_{i,e}\ne y_{i,e}\) and look at the path decomposition of \(f'_i\). Every path \((s_i,e_1, \dots , e_k,t_i)\) in this decomposition is a path such that \(e_1 \in E^{i,+}\) and \(e_k \in {E^{i,-}}\). As \(E=E^=\), it also holds that \(e_1 \in E^{i,+} \cap E^=\) and \(e_k \in E^{i,-} \cap E^=\). As this is a flow-carrying path in \(f'_i\), it exists in \(G(\vec {x}_i,\vec {y}_i)\) \(\square \)

Proof of Theorem 4.2

Assume \(\vec {x}\) and \(\vec {y}\) are both Nash equilibria. Using Lemma 4.4 we find a path \((s_i,e_1, \dots , e_k,t_i)\) in \(G(\vec {x}_i,\vec {y}_i)\) such that \(e_1 \in E^{i,+} \cap (E^+ \cup E^=)\) and \(e_k \in E^{i,-} \cap (E^- \cup E^=)\). Since every edge \((e_j,e_{j+1})\) exists in \(G(\vec {x}_i,\vec {y}_i)\), for all \(j \in \{1, \dots , k-1 \}\) we get for sufficiently small \(\epsilon >0\):

$$\begin{aligned} \vec {x_i}+\epsilon (\chi _{e_{j+1}}-\chi _{e_j})\in P_{\rho _i} \text { and } \vec {y_i}+\epsilon (\chi _{e_j}-\chi _{e_{j+1}})\in P_{\rho _i}. \end{aligned}$$

Using Lemma 4.1 we obtain for \(\vec {x}\):

$$\begin{aligned} \mu _{i,e_1}(\vec {x}) \le \mu _{i,e_2}(\vec {x}) \le \dots \le \mu _{i,e_k}(\vec {x}), \end{aligned}$$
(3)

and similarly for \(\vec {y}\):

$$\begin{aligned} \mu _{i,e_k}(\vec {y}) \le \mu _{i,e_{k-1}}(\vec {y}) \le \dots \le \mu _{i,e_1}(\vec {y}). \end{aligned}$$
(4)

Recall that \(\mu _{i,e}(\vec {x}) = c_{i,e}(x_e)+x_{i,e} c_{i,e}'(x_e)\). As \(e_1 \in E^{i,+}\), we have that \(x_{i,e_1} > y_{i,e_1}\). Because \(c_{i,e_1}\) is strictly increasing and \(e_1 \in (E^+ \cup E^=)\) we get \(c_{i,e_1}(x_{e_1})\ge c_{i,e_1}(y_{e_1})\) and \(c'_{i,e_1}(x_{e_1})>0\) using \(x_{e_1}\ge x_{i,e_1}>0\). Moreover, since \(c_{i,e_1}\) is convex, the slope of \(c_{i,e_1}\) is non-decreasing and, hence, \(c'_{i,e_1}(x_{e_1})\ge c'_{i,e_1}(y_{e_1})\). Putting things together, we get

$$\begin{aligned} \mu _{i,e_1}(\vec {y}) < \mu _{i,e_1}(\vec {x}). \end{aligned}$$
(5)

Similarly, as \(e_k \in E^{i,-} \cap (E^- \cup E^=)\), we have:

$$\begin{aligned} \mu _{i,e_k}(\vec {x}) \le \mu _{i,e_k}(\vec {y}). \end{aligned}$$
(6)

Combining (3), (4), (5) and (6), we have:

$$\begin{aligned} \mu _{i,e_k}(\vec {x}) \le \mu _{i,e_k}(\vec {y}) \le \mu _{i,e_1}(\vec {y}) < \mu _{i,e_1}(\vec {x}) \le \mu _{i,e_k}(\vec {x}). \end{aligned}$$

This is a contradiction and therefore either strategy \(\vec {x_i}\) or \(\vec {y_i}\) is not a Nash equilibrium for player i. \(\square \)

5 Applications

In this section we demonstrate that bidirectional flow polymatroids are general enough to allow for meaningful applications. As described in Example 2.3, matroid congestion games belong to polymatroid congestion games. A subclass of matroids are base orderable matroids introduced by  Brualdi (1968) and  Brualdi and Scrimger (1969).

Definition 5.1

(Base orderable matroid) A matroid \(\mathcal {M}=(E,\mathcal {I})\) is called base orderable if for every pair of bases \((B,B')\) there exists a bijective function \(g_{B,B'}:B \rightarrow B'\) such that both \(B-e+g_{B,B'}(e) \in \mathcal {B}\) and \(B'+e-g_{B,B'}(e) \in \mathcal {B}\) for all \(e \in E\).

We prove that polymatroids defined by the rank function of a base orderable matroid belong to the class of bidirectional flow polymatroids. Therefore, all matroid congestion games for which the player-specific matroids are base orderable have unique equilibria.

Theorem 5.2

Let rk be the rank function of a base orderable matroid \(M=(E, rk)\). Then, for any \(d\ge 0\), the polymatroid \((E, d \cdot rk)\) is a bidirectional flow polymatroid.

Proof

Similar as in Example 2.3, polytope P describes how weight d can be divided over bases in \(\mathcal {B}\) to obtain a feasible strategy \(\vec {x} \in P_{d \cdot rk}\). We call vector \(\vec {x}' \in P\) a base decomposition of \(\vec {x}\) if it satisfies \(x_{e} = \sum _{B \in \mathcal {B}; e\in B} x'_B\) for all \(e\in E\). Note that a base composition of \(\vec {x} \in P_{d \cdot rk}\) always exists, as \(P_{d \cdot rk}\) is the convex hull of all characteristic vectors (multiplied by d) of all the bases of matroid M (see Fujishige 2005, Corollary 3.25). Given two vectors \(\vec {x},\vec {y} \in P_{d \cdot rk}\), we look at the differences between two base decompositions \(\vec {x}', \vec {y}' \in P\). We introduce sets \(\mathcal {B}^+ ,\mathcal {B}^- \subset \mathcal {B}\) that will contain respectively the overloaded and underloaded bases: \(\mathcal {B}^{+} = \{B \in \mathcal {B} | x'_B > y'_B \}\) and \(\mathcal {B}^{-} = \{B \in \mathcal {B}| x'_B < y'_B \}\).

Using these sets we create the complete directed bipartite graph \(D_{\mathcal {B}}(\vec {x}, \vec {y})\) on vertices \((\mathcal {B}^{+},\mathcal {B}^{-})\), where bases \(B \in \mathcal {B}^{+}\) have a supply \( x'_{B} - y'_{B} \) and bases \(B \in \mathcal {B}^{-}\) have a demand \( y'_{B} - x'_{B}\). As the total supply equals the total demand, there exists a transshipment t from strategies \(B\in \mathcal {B}^{+}\) to strategies \(B' \in \mathcal {B}^{-}\), such that, when carried out, we obtain \(\vec {y}'\) from \(\vec {x}'\). We denote by \(t_{(B,B')}\) the amount of load transshipped from \(B\in \mathcal {B}^{+}\) to \(B' \in \mathcal {B}^{-}\).

In the remainder of the proof, we use transshipment t to construct a flow f in graph \(D(\vec {x},\vec {y})\). As the polymatroid is defined by the rank function of a base orderable matroid, for every pair of bases \((B,B')\) there exists a bijective function \(g_{B,B'}:B \rightarrow B'\) such that both \(B-e+g_{B,B'}(e) \in \mathcal {B}\) and \(B'+e-g_{B,B'}(e) \in \mathcal {B}\) for all \(e \in B\). Note that when \(e\in B \cap B'\), \(g_{B,B'}(e)=e\). Using the function \(g_{B,B'}\), we can decompose the value transshipped from B to \(B'\) into a transshipment between resources. For all combinations of resources \((e,e') \in E \times E\) we define:

$$\begin{aligned} \mathcal {B}^2_{e,e'}:=\left\{ (B,B')\in \mathcal {B}^+ \times \mathcal {B}^- | e \in B, e'\in B' \text { and } g_{B,B}(e)=e' \right\} . \end{aligned}$$

We define flow f as: \(f_{(e,e')}=\sum _{(B,B') \in \mathcal {B}^2_{e,e'} } t_{B,B'}\) for all \((e,e') \in E \times E\). Then f has the following two properties:

  1. 1.

    It satisfies all demands and supplies in \(D(\vec {x},\vec {y})\) as f is created from base decompositions \(\vec {x}',\vec {y}'\) for strategy profiles \(\vec {x}\) and \(\vec {y}\).

  2. 2.

    It satisfies capacities \(\hat{c}_{\vec {x},\vec {y}}(e,e')\) of \(D(\vec {x},\vec {y})\), as \(\vec {x}+ \sum _{(B,B') \in \mathcal {B}^2_{e,e'}} t_{B,B'} \cdot \left( \chi _{e'} - \chi _{e} \right) \) is a convex combination of bases, and thus an element of \(P_{d \cdot rk}\). Therefore,

    $$\begin{aligned} f_{(e,e')} = \sum _{(B,B') \in \mathcal {B}^2_{e,e'} } t_{B,B'} < \hat{c}_{\vec {x},\vec {y}}(e,e'). \end{aligned}$$

Hence, f is a feasible flow in \(D(\vec {x},\vec {y})\), satisfying all supplies and demands. As \(\vec x,\vec y \in P_{d \cdot rk}\) were chosen arbitrarily, \(P_{d \cdot rk}\) is a bidirectional flow polymatroid. \(\square \)

An application of these results can be found in the spanning tree games.

Example 5.3

(Spanning Tree Games) Consider a finite set of players \(N=\{1, \dots n\}\) and an undirected graph \(G=(V,E)\) with non-negative, increasing, differentiable, convex and player specific edge costs functions \(c_{i,e}\) for all \(e \in E\) and \(i \in N\). In a spanning tree game, every player i is associated with a weight \(d_i\) and a subgraph \(G_i\) of G. A strategy for player i is to divide it’s weight along the spanning trees of \(G_i\), to minimize his total costs. If G is a generalized series parallel graph, then \(P_{d_i \cdot rk_i}\) is a bidirectional flow polymatroid, where \(rk_i\) be the rank function for the graphic matroid on subgraph \(G_i\), (cf. Fig. 1). Theorem 5.2 implies that equilibria will be unique.

For graphic matroids, the generalized series-parallel graph is the maximal graph structure that allows for a bidirectional flow between every pair of strategies.

Theorem 5.4

( Korneyenko 1994; Nishizeki and Chiba 1988) A graph is generalized series-parallel if and only if it does not contain the \(K_4\) as a minor.

Let rk be the rank function for the graphic matroid on the \(K_4\), we show that there exist two conflicting strategies \(\vec {x},\vec {y} \in P_{rk}\), thus there does not exist a flow f in \(D(\vec {x},\vec {y})\).

Example 5.5

Polymatroid (Erk) based on the rank function of the graphic matroid on the \(K_4\) is not a bidirectional flow polymatroid. Let the resources be numbered as in Fig. 5 and look at the strategies \(\vec {x}=(1,1,0,0,0,1)\) and \(\vec {y}=(0,0,1,1,1,0)\). Graph \(D(\vec {x},\vec {y})\) is depicted in Fig. 5. Then there is no flow f in \(D(\vec {x},\vec {y})\) that satisfies all supplies and demands. Resource 1 and 6 have both a supply of 1 and can only exchange load with resource 4 , which only has demand 1. Thus such a flow f does not exist, and (Erk) is not a bidirectional flow polymatroid.

Fig. 5
figure 5

Left the \(K_4\) with two strategies \(\vec {x}\) (thick), \(\vec {y}\) (dashed). Right \(D(\vec {x},\vec {y})\)

6 Non-differentiable convex functions

So far we assumed cost functions to be differentiable. When this is not the case, the proof we gave in the previous section won’t hold. When a function is not differentiable, one speaks about the left derivative \(c^-(x)\) and the right derivative \(c^+(x)\). In the same way we define \(\mu _{i,e}^-(\vec {x})=c(x_e) + x_{i,e}c^-(x_e)\) and \(\mu _{i,e}^+(\vec {x})=c(x_e) + x_{i,e}c^+(x_e)\). For non-differentiable functions, equilibrium condition 4.1 generalizes as follows:

Lemma 6.1

(Theorem 8.1, Fujishige 2005) Let \(\vec {x}\) be a Nash equilibrium in a polymatroid congestion game. If \(x_{i,e}>0\), then for all \(e' \in E\) for which there is an \(\epsilon >0\) such that \(\vec {x_i}+\epsilon (\chi _{e'}-\chi _e) \in P_{\rho _i}\), we have \(\mu ^-_{i,e}(\vec {x}) \le \mu ^+_{i,e'}(\vec {x})\).

The uniqueness proof in the previous section will not hold as Eqs. (5) and (6) might fail to hold using this new equilibrium condition. An example with multiple equilibria is as follows.

Example 6.2

We look at a two player asymmetric game on three resources. Both players have equal weight 1, and the first player can only use resource 1 or 2, the second player can only use resource 2 or 3. Note that this game is a 1-uniform matroid congestion, and therefore a bidirectional polymatroid. We use the following non-player specific cost functions:

$$\begin{aligned} c_1(x_1) = {4}x_1 \; \; \; \; \; c_2(x_2) = {\left\{ \begin{array}{ll} x_2 &{} \text { if } x_2<1 \\ 10x_2- 9 &{} \text { otherwise } \end{array}\right. } \; \; \; \; \; c_3(x_3) = {4}x_3. \end{aligned}$$

Let \((x_{1,1},x_{1,2},x_{2,2},x_{2,3})\) denote a game. Then both \((\frac{1}{3},\frac{2}{3},\frac{1}{3},\frac{2}{3})\) and \((\frac{2}{3},\frac{1}{3},\frac{2}{3},\frac{1}{3})\) correspond to Nash equilibria. Note that these are two Nash equilibria where the total load on the resources differ.

The same example can be modified for one with symmetric strategy spaces, but player specific costs, by incurring a high cost on the unavailable resources. The question remains unresolved for symmetric player specific cost functions.

7 Non-matroid set systems

We now derive necessary conditions on a given set system \((\mathcal {S}_i)_{i\in N}\) so that any atomic splittable congestion game based on \((\mathcal {S}_i)_{i\in N}\) admits unique equilibria. We show that the matroid property is a necessary condition on the players’ strategy spaces that guarantees uniqueness of equilibria without taking into account how the strategy spaces of different players interweave.Footnote 2 To state this property mathematically precisely, we introduce the notion of embeddings of \(\mathcal {S}_i\) in E. An embedding is a map \(\tau :=(\tau _i)_{i\in N}\), where every \(\tau _i: E_i \rightarrow E\) is an injective map from \(E_i:=\cup _{S\in \mathcal {S}_i} S\) to E. For \(X\subseteq E_i\), we denote \(\tau _i(X):=\{\tau _i(e), e\in X\}\). Mapping \(\tau _i\) induces an isomorphism \(\phi _{\tau _i}:\mathcal {S}_i \rightarrow \mathcal {S}'_i\) with \( S\mapsto \tau _i(S)\) and \(\mathcal {S}'_i:=\{\tau _i(S)|S\in \mathcal {\mathcal {S}}_i\}\). Isomorphism \(\phi _{\tau }=(\phi _{\tau _i})_{i\in N}\) induces the isomorphic strategy space \(\phi _{\tau }(\mathcal {S})=(\phi _{\tau _i}(\mathcal {S}_i))_{i\in N}\).

Definition 7.1

A family of set systems \(\mathcal {S}_i\subseteq 2^{E_i}\), for \( i\in N\) is said to have the strong uniqueness property if for all embeddings \(\tau \), the induced game with isomorphic strategy space \(\phi _{\tau }(\mathcal {S})\) has unique Nash equilibria.

Since for bases of matroids any embedding \(\tau _i\) with isomorphism \(\phi _{\tau _i}\) has the property that \(\phi _{\tau _i}(\mathcal {S}_i)\) is again a collection of bases of a matroid, we obtain the following immediate consequence of Theorem 4.2.

Corollary 7.2

If \((\mathcal {S}_i)_{i\in N}\) consists of bases of a base-orderable matroid \(M_i=(E,\mathcal {I}_i),\) \( i\in N\), then \((\mathcal {S}_i)_{i\in N}\) possess the strong uniqueness property.

For obtaining necessary conditions we need a certain property of non-matroids stated in the following lemma.

Lemma 7.3

(Ackermann et al. 2009, Lemma 16) If \(\mathcal {S}_i\subseteq 2^{E_i}\) with \(\mathcal {S}_i\ne \emptyset \) is a non-matroid, then there exist \(X,Y\in \mathcal {S}_i\) and \(\{a,b,c\}\subseteq X\Delta Y:= (X\setminus Y) \cup (Y\setminus X)\) such that for each set \(Z\in \mathcal {S}_i\) with \(Z\subseteq X\cup Y\), either \(a\in Z\) or \(\{b,c\} \subseteq Z\).

Theorem 7.4

Let \(|N|\ge 3\) and assume that for all \(i\in N\), \(\mathcal {S}_i\) is a non-matroid set system. Then, \((\mathcal {S}_i)_{i\in N}\) does not have the strong uniqueness property.

Proof

We will show that there are embeddings \(\tau _i:E_i\rightarrow E\), \(i\in N\), such that the isomorphic game \(\phi _{\tau }(\mathcal {S})=(\phi _{\tau _1}(\mathcal {S}_1),\ldots , \phi _{\tau _n}(\mathcal {S}_n))\) admits multiple equilibria.

We can assume w.l.o.g. that each set system \(\mathcal {S}_i\) forms an anti-chain (in the sense that \(X\in \mathcal {S}_i, X\subset Y\) implies \(Y\not \in \mathcal {S}_i\)) since cost functions are non-negative and strictly increasing. Let us call a non-empty set system \(\mathcal {S}_i\subseteq 2^{E_i}\) a non-matroid if \(\mathcal {S}_i\) is an anti-chain and \((E_i, \{X\subseteq S : S\in \mathcal {S}_i\})\) is not a matroid.

Let \(\tilde{E}=\bigcup _{i\in N} \tau _i(E_i)\) denote the set of all resources under the embeddings \(\tau _i, i\in N\). The costs on all resources in \(\tilde{E}\setminus {(\tau _1(E_1)\cup \tau _2(E_2)\cup \tau _3(E_3))}\) are set to zero. Also, the demands of all players \(d_i\) with \(i\in N\setminus {\{1,2,3\}}\) are set to zero. This way, the game is basically determined by the players 1, 2, 3. We set the demands \(d_1=d_2=d_3=1\).

Let us choose two sets XY in \(\mathcal {S}_1\) and \(\{a, b, c\}\subseteq X\cup Y\) as described in Lemma 7.3. Let \(e:=\tau _1(a), f:=\tau _1(b)\) and \(g:=\tau _1(c)\). We set the costs of all resources in \(\tau _1(E_1)\setminus {(\tau _1(X)\cup \tau _1(Y))}\) to some very large cost M (large enough so that player 1 would never use any of these resources). The cost on all resources in \((\tau _1(X)\cup \tau _1(Y))\setminus {\{e,f,g\}}\) is set to zero. This way, player 1 always chooses a strategy \(\tau _1(Z)\subseteq \tau _1(X)\cup \tau _1(Y)\) which, by Lemma 7.3, either contains e, or it contains both f and g. We apply the same construction for player 2 and 3, only changing the role of e to act as f and g, respectively.

Note that the so-constructed game is essentially isomorphic to the routing game illustrated in Fig. 6 if we interpret resource e as arc \((s_1,t_1)\), resource f as arc \((s_2,t_2)\), and resource g as arc \((s_3,t_3)\). On every edge there is a player specific cost function, given in Table 1.

Table 1 Cost functions used for constructing a game with multiple equilibria

Every player has two possible paths: the direct path that uses only one edge, or the indirect path that uses two edges. We show that the game where everyone puts all their weight on the direct path is a Nash equilibrium, as is the game where everybody puts their weight on the indirect path.

Fig. 6
figure 6

Counterexample

If all players put their weight on the direct route, then player 1 cannot deviate to decrease it’s costs, as:

$$\begin{aligned} c_{1,e}(1)+c'_{1,e}(1) \cdot 1 = 1+3 \le 2 + 2 = c_{1,f}(1) + c_{1,g}(1). \end{aligned}$$

On the other hand, when all players put their weight on the indirect direct route, player 1 can also not deviate, as:

$$\begin{aligned} c_{1,f}(2)+c'_{1,f}(2) \cdot 1 + c_{1,g}(2)+c'_{1,g}(2) \cdot 1= 3+1+3+1 \le 8 = c_{1,e}(2). \end{aligned}$$

The same inequalities hold for player 2 and 3. And therefore everyone playing the direct route, or everyone playing the indirect route both results in a Nash equilibrium. \(\square \)

8 A characterization for undirected graphs

In Sect. 7 we proved that non-matroid set systems in general do not have the strong uniqueness property when there are at least three players, by constructing embeddings \(\tau _i\) that lead to the counterexample in Fig. 6. This example also gives new insights in uniqueness of equilibria in network congestion games. In the following, we give a characterization of graphs that guarantee uniqueness of Nash equilibria even when player-specific cost functions are allowed.

Definition 8.1

An undirected graph G is said to have the uniqueness property if for any atomic splittable network congestion game on \(G=(V,E)\), equilibria are unique.

Note that in the above definition, we do not specify how source- and sink vertices are distributed in V. We obtain the following result which is related to Theorem 3 of  Meunier and Pradeau (2012), where a similar result is given for non-atomic congestion games with player-specific cost functions.

Theorem 8.2

An undirected graph has the uniqueness property if and only if G has no cycle of length 3 or more.

Proof

Let \(G=(V,E)\) be the network in an atomic splittable network congestion game. Assume there exists a cycle C in G of length k, with \(k\ge 3\). Already for three players, we can create a game with multiple equilibria by generalizing the previous example visualized in Fig. 6. Pick three clockwise adjacent vertices \(v_1,v_2,v_3\) in cycle C and create three players which have equal weight 1. Player 1 has source \(v_1\) and sink \(v_2\), player 2 has source \(v_2\) and sink \(v_3\) and player 3 has source \(v_3\) and sink \(v_1\). Let \(c_{i,e}(x)\) be the cost function for player i at resource e. Define \(c_{i,e}(x)\) as in Table 2.

Table 2 Cost functions for a game with multiple equilibria, M is sufficiently large

For the same reason as in Example 6 this game has two Nash equilibria: one where all players send their flow clockwise, another where all players send all flow counterclockwise.

On the other hand, assume no cycle of length 3 or more in G exists, then G is a tree with parallel edges. Thus, for every source s and sink t, there is a unique path from s to t in G modulo parallel edges. Therefore, players only have to decide on how to divide their weight over every set of parallel edges they encounter. As the total cost for a player is just the sum of the costs for all resources separately, players compete only in sets of parallel edges. Atomic splittable congestion games on parallel edges with player-specific cost functions are proven to have a unique Nash equilibrium by  Orda et al. (1993). Thus when G does not contain cycles of length 3 or more, Nash equilibria are unique. \(\square \)