FAI: Multiagent Systems: Important Links
FAI: Multiagent Systems: Important Links
Important Links
FAI
https://docs.google.com/spreadsheets/u/1/d/18UPx7ZTum4ra18Ncmb-
Y_dx_24iv-yJoVO2GlQH1Iec/preview#gid=0
https://seek.onlinedegree.iitm.ac.in/courses/ns_24t2_cs301gn?
1 2 C R
C (100,100) (0,0)
R (0,0) (10,10)
Prisoner’s Dilemma
2 friends caught for cheating, in two different room. The actions are
• Confession (C)
1
• Not Confession (NC)
The utilities are
.
u1 (N C, N C) = −2u1 (N C, C) = −10u1 (C, N C) = −1u1 (C, C) = −5..
1 2 NC C
NC (-2,-2) (-10,-1)
C (-1,-10) (-5,-5)
Pigou’s Network
2 travellers , 2 roads, highway (H) or local road (L)
1\2 H L
H (-1,-1) (-1,-1/2)
L (-1/2,-1) (-1,-1)
Entry game
Firm A is already in maket and making profit 2.
Firm B can enter in the market or not.
If A accomodates B, both share profit. i.e. both get 1.
If A fights B, both incur a loss of 1 and A also loses 0.5 to B, i.e we get (0.5,-0.5)
utility.
This can be modeled via a graph, which represents the extensive form.
Extensive form
To define it, we need
• The set of players N = [1, 2 . . . n]
• Actions of each individual player (dependent on actions of others) Ai (a
set)
• Terminal histories Z (set) (A history is a string of actions)
• All sub-histories SZ (set) (This does not contain the terminal histories)
• p : SZ → N which tells which player is to take action. p(ϵ) = 1 for example.
• An information set is a set of sub-histories in SZ that lead to a situation
(a collection of nodes connected by dashed lines in the graph). The set of
all information sets that end at a node where player i is taking action is
called Ii .
• The utilities for terminal histories. ui : Z → R .
2
Matching Pennies
2 coins for 2 players. 1 wants coins to match, 2 doesn’t.
H T
H (1,-1) (-1,1)
T (-1,1) (1,-1)
If we were to
Perfect Information
It’s when each information set for any player is a singleton ..i.e a situation can
be reached in only one way.
Strategy
A strategy for a player is a predetermination of its actions based on the informa-
tion it has. In math, this becomes
where C(J) is the set of all actions possible at a situation (a bunch of nodes)
corresponding to information set J .
Different strategies for same player are denoted as si1 , si2 . . .
Strategy Form
We can express the outcomes (utilities) of the game based on the strategies that
each player has. Tabulated, it’s called the strategic form.
Problem Set
Question 1
Answer
Agents are denoted by [1..n]
Each agent has 2 actions Ai = [v, w] .
Thus strategies are si1 = Ii → v and si2 = Ii → w
Q
Strategy profile is S = i Si where Si = {si1 , si2 }
Utility function :
3
Figure 1: Untitled
(
−(1 + nv /n) si = (Ii → v)
ui (s) =
−(2 − nv /n) si = (Ii → w)
Figure 2: Untitled
Answer
The agent list is same. The actions are now Ai = {v, vw, w} which are also the
strategies (as functions)
Q
The strategy profile is S = i Si
Define
nsv (s) := |{si ∈ s | si = (Ii → v) or si = (Ii → vw)}|nvw (s) := |{si ∈ s | or si = (Ii → vw)}|
4
Figure 3: Untitled
Question 2
Figure 4: Untitled
Answer
N = [1 . . . n]
Ai = {1, 2 . . . 100}
sij = (Ii → j)
Si = {sij | j ∈ Ai }
5
Q
S= i Si
For any s ∈ S we define
xi (s) = si (Ii )
2
P
X(s) = 3n i xi (s)
Question 3
N = {A, B, C}
Si = {P, N P } for i ∈ N
S = SA × SB × SC
for s ∈ S , define
X(s) = {i ∈ N | si = P }
uA (s) = |X(s)| mod 2
uB (s) = δ|X|,2
uC (s) = δ|X|,0
As a table
If sC = N P
A B P NP
P (0,1,0) (1,0,0)
NP (1,0,0) (0,0,1)
If sC = P
A B P NP
P (1,0,0) (0,1,0)
NP (0,1,0) (1,0,0)
6
Figure 5: Untitled
Question 4
N = {A, B}
Ai = {C, N C}
Z = {(C, C), (C, N C), (N C, C), (N C, N C)}
SZ = {(ϵ), (C), (N C)}
IA = {{(ϵ)}}
IB = {{(C)}, {(N C)}}
p : SZ → N is defined as
uB : Z → R is defined as
uB ((C, C)) = −5
uB ((C, N C)) = −10
uB ((N C, C)) = −1
uB ((N C, N C)) = −2
uA : Z → R is defined as
uA ((C, C)) = −5
uA ((C, N C)) = −1
7
uA ((N C, C)) = −10
uA ((N C, N C)) = −2
A has 2 strategies
B has 2 strategies
A B 1 2 3 4
1 (-5,-5) (-5,-5) (-1,-10) (-1,-10)
2 (-10,-1) (-2,-2) (-10,-1) (-2,-2)
Question 5
Figure 6: Untitled
Figure 7: Untitled
Answer
N = {A, B}
Ai = {C, N C}
8
Z = {(a1 , C), (a1 , N C), (a2 , C), (a2 , N C), (a3 , C), (a3 , N C), (a4 , C), (a4 , N C)}
SZ = {(ϵ), (a1 ), (a2 ), (a3 ), (a4 )}
IB = {{(ϵ)}}
IA = {{a1 , a2 , a3 , a4 }}
p : SZ → N is defined as
uB : Z → R is defined as
uB ((a1 , C)) = −10
uB ((a1 , N C)) = −2
uB ((a2 , C)) = −5
uB ((a2 , N C)) = −2
uB ((a3 , C)) = 10
uB ((a3 , N C)) = −10
uB ((a4 , C)) = −5
uB ((a4 , N C)) = −10
uA : Z → R is defined as
uA ((a1 , C)) = −10
uA ((a1 , N C)) = −2
uA ((a2 , C)) = −5
uA ((a2 , N C)) = −2
uA ((a3 , C)) = −1
uA ((a3 , N C)) = −10
uA ((a4 , C)) = −5
uA ((a4 , N C)) = −10
B has 4 strategies
A has 2 strategies
A B 1 2 3 4
1 (-2,-2) (-2,-2) (-10,-1) (-10,-1)
2 (-1,-10) (-5,-5) (-1,-10) (-5,-5)
9
May 20 : Assumptions in Game Theory
Utility Theory
We actually have no idea how to represent preferences of agents as numbers or
rankings.
For outcomes o1 , o2 , o3 , an agent could have these preferences :
Problem Set
Question 1
First table : Transform player B’s utilities as u′B (s) = (uB (s) − 10)/20 and you
get a zero sum game
10
Figure 8: Untitled
Question 2
Figure 9: Untitled
The only way B can have no way of determining the the sum (or equivalently the
2 numbers) is if the product P (given to B) cannot be factorised uniquely.This
must happen for all possible (p, q) such that p + q = S , the number given to A .
Otherwise, A wouldn’t be able to say the first statement . Here are the results
of such analysis on different values of S :
Code
def check(S,P):
D = S**2 - 4*P
if D < 0 : return False
sD = int(D**0.5)
ok = False
if sD**2 == D : ok = True
elif (sD+1)**2 == D :
ok = True
sD += 1;
11
if not ok : return False
p = (S - sD)
q = (S + sD)
if p%2 != 0 : return False
p = p//2
q = q//2
if p <= 1 : return False
#if q > 20 : return False
#print(S,P,p,q)
return True
def unique_factorisation(P):
q = None
for p in range(2,int(P**0.5)+1):
if q is None:
if P%p == 0:
q = P//p
if q < 2 : return None
#if q > 20 : q = None
else:
if q <= p : break
if P%p == 0 and p < P: return None
if q is None : return None
return (P//q,q)
tocons = []
for S in range(4,41):
good = True
for p in range(2,S-1):
q = S - p
if q < 2: break;
if p > 20: break;
if q > 20: continue;
P = p*q
f = unique_factorisation(P)
if f is not None:
assert f[0] == p and f[1] == q
good = False
print(S,"is bad since",S,"=",p,"+",q,"and",p,"*",q,"=",P,"is the only factorisat
break
if good :
print(S,"is good")
tocons.append(S);
print(tocons)
12
for S in tocons:
print("S =",S)
for p in range(2,S-1):
q = S - p
if q < p : break
P = p*q
good = True
for Sother in tocons:
if Sother == S : continue
if check(Sother,P) :
good = False
break
if good : print("P : ",P,", p :",p,", q :",q)
print("\n")
4 is bad since 4 = 2 + 2 and 2 * 2 = 4 is the only factorisation of 4
5 is bad since 5 = 2 + 3 and 2 * 3 = 6 is the only factorisation of 6
6 is bad since 6 = 2 + 4 and 2 * 4 = 8 is the only factorisation of 8
7 is bad since 7 = 2 + 5 and 2 * 5 = 10 is the only factorisation of 10
8 is bad since 8 = 3 + 5 and 3 * 5 = 15 is the only factorisation of 15
9 is bad since 9 = 2 + 7 and 2 * 7 = 14 is the only factorisation of 14
10 is bad since 10 = 3 + 7 and 3 * 7 = 21 is the only factorisation of 21
11 is good
12 is bad since 12 = 3 + 9 and 3 * 9 = 27 is the only factorisation of 27
13 is bad since 13 = 2 + 11 and 2 * 11 = 22 is the only factorisation of 22
14 is bad since 14 = 3 + 11 and 3 * 11 = 33 is the only factorisation of 33
15 is bad since 15 = 2 + 13 and 2 * 13 = 26 is the only factorisation of 26
16 is bad since 16 = 3 + 13 and 3 * 13 = 39 is the only factorisation of 39
17 is good
18 is bad since 18 = 5 + 13 and 5 * 13 = 65 is the only factorisation of 65
19 is bad since 19 = 2 + 17 and 2 * 17 = 34 is the only factorisation of 34
20 is bad since 20 = 3 + 17 and 3 * 17 = 51 is the only factorisation of 51
21 is bad since 21 = 2 + 19 and 2 * 19 = 38 is the only factorisation of 38
22 is bad since 22 = 3 + 19 and 3 * 19 = 57 is the only factorisation of 57
23 is good
24 is bad since 24 = 5 + 19 and 5 * 19 = 95 is the only factorisation of 95
25 is good
26 is bad since 26 = 7 + 19 and 7 * 19 = 133 is the only factorisation of 133
27 is good
28 is bad since 28 = 11 + 17 and 11 * 17 = 187 is the only factorisation of 187
29 is good
30 is bad since 30 = 11 + 19 and 11 * 19 = 209 is the only factorisation of 209
31 is good
32 is bad since 32 = 13 + 19 and 13 * 19 = 247 is the only factorisation of 247
33 is good
13
34 is bad since 34 = 17 + 17 and 17 * 17 = 289 is the only factorisation of 289
35 is good
36 is bad since 36 = 17 + 19 and 17 * 19 = 323 is the only factorisation of 323
37 is good
38 is bad since 38 = 19 + 19 and 19 * 19 = 361 is the only factorisation of 361
39 is good
40 is good
Now, B know that the sum S can only be amongst 11, 17, 23, 25, 27, 29, 31, 33,
35, 37, 39, 40. . . . Further, the maximum value of this sum is capped to 40 for
obvious reasons. For B, this limit will be lower, based on whatever P is, but for
us, it’s 40.
B also knows P and thus will be able to determine (p, q) for each (S, P ).
For B to know completely which is correct p, q , there must be only
√ one S that
2
gives a normal√ answer..i.e. the product P is such that p = (S − S − 4P )/2
2
and q = (S + S − 4P )/2 are both integers bigger than 1 only for one single S
among the ones that B considered, namely the one A knows. Thus, A is able to
figure out P .
Here are the different possibilities of of what P values might “work” for different
values of S by which I mean that P will not work for any other sum Sother that
B tries to calculate (p, q) for.
S = 11
P : 18 , p : 2 , q : 9
P : 24 , p : 3 , q : 8
P : 28 , p : 4 , q : 7
S = 17
P : 52 , p : 4 , q : 13
S = 23
P : 112 , p : 7 , q : 16
S = 25
P : 46 , p : 2 , q : 23
P : 114 , p : 6 , q : 19
P : 136 , p : 8 , q : 17
P : 156 , p : 12 , q : 13
S = 27
P : 50 , p : 2 , q : 25
P : 92 , p : 4 , q : 23
P : 110 , p : 5 , q : 22
P : 152 , p : 8 , q : 19
P : 176 , p : 11 , q : 16
14
S = 29
P : 54 , p : 2 , q : 27
P : 78 , p : 3 , q : 26
P : 138 , p : 6 , q : 23
P : 190 , p : 10 , q : 19
P : 208 , p : 13 , q : 16
S = 31
P : 58 , p : 2 , q : 29
P : 184 , p : 8 , q : 23
P : 220 , p : 11 , q : 20
P : 228 , p : 12 , q : 19
P : 238 , p : 14 , q : 17
P : 240 , p : 15 , q : 16
S = 33
P : 62 , p : 2 , q : 31
P : 116 , p : 4 , q : 29
P : 200 , p : 8 , q : 25
P : 230 , p : 10 , q : 23
P : 242 , p : 11 , q : 22
P : 260 , p : 13 , q : 20
P : 266 , p : 14 , q : 19
P : 272 , p : 16 , q : 17
S = 35
P : 96 , p : 3 , q : 32
P : 124 , p : 4 , q : 31
P : 174 , p : 6 , q : 29
P : 196 , p : 7 , q : 28
P : 250 , p : 10 , q : 25
P : 264 , p : 11 , q : 24
P : 276 , p : 12 , q : 23
P : 294 , p : 14 , q : 21
P : 304 , p : 16 , q : 19
P : 306 , p : 17 , q : 18
S = 37
P : 160 , p : 5 , q : 32
P : 186 , p : 6 , q : 31
P : 232 , p : 8 , q : 29
P : 312 , p : 13 , q : 24
P : 322 , p : 14 , q : 23
P : 330 , p : 15 , q : 22
P : 340 , p : 17 , q : 20
15
P : 342 , p : 18 , q : 19
S = 39
P : 74 , p : 2 , q : 37
P : 224 , p : 7 , q : 32
P : 248 , p : 8 , q : 31
P : 290 , p : 10 , q : 29
P : 308 , p : 11 , q : 28
P : 324 , p : 12 , q : 27
P : 338 , p : 13 , q : 26
P : 350 , p : 14 , q : 25
P : 360 , p : 15 , q : 24
P : 368 , p : 16 , q : 23
P : 374 , p : 17 , q : 22
P : 378 , p : 18 , q : 21
P : 380 , p : 19 , q : 20
S = 40
P : 111 , p : 3 , q : 37
P : 175 , p : 5 , q : 35
P : 231 , p : 7 , q : 33
P : 256 , p : 8 , q : 32
P : 279 , p : 9 , q : 31
P : 319 , p : 11 , q : 29
P : 351 , p : 13 , q : 27
P : 364 , p : 14 , q : 26
P : 375 , p : 15 , q : 25
P : 384 , p : 16 , q : 24
P : 391 , p : 17 , q : 23
P : 396 , p : 18 , q : 22
P : 399 , p : 19 , q : 21
P : 400 , p : 20 , q : 20
As we can see, only for S = 17 and S = 23 , there is only one P value that works.
So, A can say the last statement only if the numbers given to him is 17 or 23.
So, (p, q) = (4, 13) or (p, q) = (7, 16) are the possibilities.
Two numbers, two mathematicians puzzle
Sum and Product Puzzle
May 22
Dominant Stratergies
Strongly dominant : a strategy’s utility is greater than all others for a player,
for any strategy profile of other profile.
16
Weakly dominant : a strategy’s utility is greater than or equal to all others for a
player, for any strategy profile of other profile, except for at least one case it’s
strictly greater.
Very weakly dominant : a strategy’s utility is greater than or equal to all others
for a player, for any strategy profile of other profile. (No more reestrictions)
Thus, every strongly dominant strategy (SDS) is a weakly dominant strategy
(WDS).
And every WDS is a VWDS.
Dominated strategies
Strongly dominated : There exists a strategy for a player that gives strictly
better utility in all cases.
Weakly dominated : . . . . . . . . . . . . . . . . . . greater than or equal to . . . . . . . . . . . . .. ,
except for one case.
Very Weakly dominated : . . . . . . . . . . . . . . . . . . ..greater than or equal to . . . . . . . . . ..
Braisses paradox
In question 1 of problem set 1, we encounter the paradox.
Clearly, vw dominates v . Thus, nvw = 0 and so, we get vw dominating w and
so, the total cost for each player becomes -2 . Without the teleportation device,
it would be -1.5 at best.
Thus, adding another path can make things worse rather than better.
Problem Set
Question 1
Answer : (B, Y ) .. obvious
17
Figure 10: Untitled
18
Question 2
1) x < 2 .
2) x ≤ 2
3) x > 2
Question 3
Question 4
Question 5
All of them choosing D is the dominant strategy equilibrium. A better outcome
would be all of them choosing R if n > 3 .
A property of equilibrium
The stratergy profile is the iterative dominance equilibrium, regardless of the
order of players in which their moves are eliminated.
19
Figure 14: Untitled
20
May 24
Pure Strategy Nash equilibrium
It’s all strategy profiles s such that for each player i ,
where s−i is the strategy profile for players in N − {i} at the equilibrium.
Nash equilibrium prevents unilateral deviations ..i.e. deviations by just one
player.
In practice, with multiple iterations of the game, players stick to one of the Nash
equilibrium.
Best Response
It’s a mapping bi : S−i → P (Si ) such that it has the best strategies to play,
given the strategy profile of others.
Question 6
21
possible value of minmax. Moreover, it’s minimum along collumns and thus
smaller than other maximums (for a particular column) . Thus it’s also the
minmax. Similarly, it’s also the maxmin.
So if a PSNE exists in a zero sum game, it’s also the minmax and maxmin.
Problem Set
Question 1
Dominant Strategy
There are no dominant strategies. Although there might be iterative dominance.
Minmax
For Player 1 , it’s min(9,3,2,5) = 2 , which happens for strategy C of player 2
For Player 2 , it’s min(6,3,5,8) = 3 , which happens for strategy B of player 1
Maxmin
For player 1 it’s max(0,0,1,0) = 1 which happens for strategy C of player 1
For player 2 it’s max(0,2,1,1) = 2 which happens for strategy B of player 2
PSNE
b1 (A) = Db1 (B) = Bb1 (C) = Bb1 (D) = C
22
Figure 18: Untitled
Dominant Strategy
None. But there is iterative dominance
Minmax
For player 1 it’s min(14,10,12) = 10 which happens for strategy B of player 2
For player 2 it’s min(7,5,1) = 1 which happens for strategy C of player 2
Maxmin
For player 1, max(2,0,0) = 2 , at A for player 1
For player 2, max(1,0,0) = 1 at A for player 2
PSNE
b1 (A) = {A, B}b1 (B) = Bb1 (C) = Candb2 (A) = {A, B}b2 (B) = Bb2 (C) = A
Question 2
N = [1..n]
Ai = {S, H}
2
x(s) ≥ m and si = S
ui (s) = 1 si = H
0 x(s) < m and si = S
23
Figure 19: Untitled
where x(s) is number of hunters going for stag. The utility function is rank
based, and not cardinal utility.
Clearly if x(s−i ) ≥ m − 1 , then bi (s−i ) = S , otherwise bi (s−i ) = H .
It’s impossible for a strategy profile s to be a Nash equilibrium if m−1 ≤ x(s) < n
, because the the hunters who didn’t choose S have not picked the best response.
Similarly, it’s impossible for a strategy profile s to be a Nash equilibrium if
0 < x(s) < m − 1 because then hunters who didn’t choose H didn’t pick the
best response.
Thus, the only two possibilities left are x(s) = n or x(s) = 0 , which happen
only for s = (S, S . . . S) and s = (H, H . . . H) respectively, and are indeed Nash
equilibria.
Question 3
∀s2 ∈ S2 , b1 (s2 ) ⊆ {(a, a), (a, b), (b, a), (b, b)}
24
a+b a+b
(a, a) if x2 > 2 and y2 > 2
a+b a+b
(a, b) x2 > y2 <
if 2 and 2
a+b a+b
b1 (s2 ) = (b, a) if x2 < 2 and y2 > 2
a+b a+b
(b, b) if x2 < and y2 <
2 2
a+b a+b
{(a, a), (a, b), (b, a), (b, b)} if x2 = 2 and y2 = 2
Question 4
1
b1 (a2 ) = a2 /2b2 (a1 ) =
2a1
1
a1 = a2 /2a2 =
2a1
1
Which means a2 /2 = 2a2 =⇒ a2 = ±1 .
So, (1/2, 1) and (−1/2, −1) are the only PSNE
Question 5
Suppose s∗−i is when we ui (s∗i , s∗−i ) is at its minimum value, for the strongly
dominant strategy s∗i . Then, we can write
min ui (s∗i , s−i ) = ui (s∗i , s∗−i ) > ui (si , s∗−i ) ≥ min ui (si , s−i )
s−i s−i
25
May 26 : Mixed Strategies and MSNE
Problem Set
Question 1
Game 1
Suppose s∗1 = (p, 1 − p) and s∗2 = (q, 1 − q) then
Game 2
Strategy A of player 1 is dominated (weakly) . So, 1 will never play that. Then,
strategy B for player 2 would be dominated. Thus, ((0, 1), (1, 0)) = (B, A) is
the MSNE and also the PSNE
Question 2
The expected utilities of player 2 are all 5/2 for every strategy. Thus all of them,
and in fact, any mixed strategy too is a possible “best” response. Thus, q ∗ is a
best response.
Similarly, for player 1, the expected utilities for strategy A and C is 5/3 , while
for B is 4/3. Thus, 1 will never play B, which restricts us to only the p with
p2 = 0 , which p∗ certainly falls in. Thus, p∗ is a best response.
So, (p∗ , q ∗ ) is a MSNE
Question 3
This is a zero sum game and can be represented as
26
Figure 23: Untitled
xi = 0 if yi ̸= max yj yi = 0 if xi ̸= min xj
j j
Thus, any (x, y) where all coordinates of x are not equal is not a nash equlibrium,
since then , the coordinates of x with more than minimum value will have
corresponding yi to be 0. for y to be the best response. But then x won’t be the
best response for y , since xi ̸= 0 for i such that yi ̸= max yj .
Thus, x = y = 1/p is the only MSNE
Question 4
Strategy A of player 2 is dominated. So, supp(1) = {A, B}, supp(2) = {B, C} is
a possibility.
Suppose x∗ = (p, 1 − p) and y ∗ = (0, q, 1 − q) , then
Making the support any smaller, would just resut in linear combinations of
PSNEs, which there aren’t any.
27
Figure 24: Untitled
Question 5
maxmin
For x = (p, 1 − p) , the expected utilities for s2 = A and s2 = B is c + (a − c)p
and d + (b − d)p . Now,
d−c
c + (a − c)p < d + (b − d)p =⇒ (d − c) > (a − b + d − c)p =⇒ p <
a−b+d−c
Thus
(
d−c
c + (a − c)p if p <
min xT Ayj = d−c+a−b
j∈{A,B} d − (d − b)p
ad − bc
max min xT Ay =
x∈∆(S1 ) y∈∆(S2 ) a+d−b−c
minmax
For y = (q, 1 − q) , the expected values for strategies A, B of player 1 are
b + (a − b)q and d − (d − c)q .
Just like before,
d−b
b + (a − b)q < d − (d − c)q =⇒ q <
a+d−b−c
28
So, just like before,
(
d−b
d − (d − c)q if q <
max xTi Ay = ad −b−c
i b + (a − b)q
ad − bc
min max xT Ay =
y∈∆(S2 ) x∈∆(S1 ) a+b−b−c
Question 6
By symmetry, q = 1/2 . Thus y = (1/2, 1/2, 0) and x = (1/2, 1/2) . This is not
a MSNE since y ′ = (0, 0, 1) gives a better utility to 2 , and thus y is not the best
response.
29
Case 4 : supp(2) = {A, B, C}
This is impossible since equating first 2 expected utilities for 2 would give p = 1/2
, while equating 1st and 3rd would give p = 1/3
Thus, x = (1/3, 2/3) and y = (1/6, 0, 5/6) is the only MSNE
Question 1
We have fixed x ∈ ∆(S1 ) and we wish to minimise (xT A)y = (AT x) · y wrt
y ∈ ∆(S2 ) , where “ · ” is the dot product. Now, let m = minj (AT x)j , so that
X X X
∀y ∈ ∆(S2 ), y · (AT x) = yj (AT x)j ≥ yj m = m yj = m = min(AT x)j
j
j j
30
Thus,
Thus,
X X
min xT Ay = min(AT x)j = min (AT )ji xi = min aij xi
y∈∆(S2 ) j j j
i i
Question 2
10 5 x1 10x1 + 5x2
AT x = =
6 7 x2 6x1 + 7x2
Thus,
is the MSNE
Question 3
The maxmin problem :
max zz ≤ 0x1 +0.5 x2 −0.5x3 +0x4 z ≤ 1x1 +0x2 +1x3 +0x4 x1 +x2 +x3 +x4 = 1x1 , x2 , x3 , x4 ≥ 0
31
Figure 29: Untitled
Case 1 : x3 = 0
This gives us
Case 2 : x2 = 0
This case is impossible.
Case 3 : x1 = 0
This gives us
If none of x1 , x2 , x3 are zero, the we just haven’t found a critical point yet and
can still keep doing a projected gradient descent or something.
Thus
is the solution
So the MSNE is
32
Question 4
7 and 8 are not possible, because of this (obvious) theorem :
If aij = akl are nash equilibrium values, then so are ail and akj .
There is simply no way that you could place 2 (or 1) non-Nash-equilibrium values
in a 3 by 3 grid filled with Nash equilibrium values.
Assignment
MCQs
1. 2
2. 3
3. 1
4. 3
5. 1 . Nash equilbrium value is 4/7
6. 3
7. 2
8. 1
9. 4 : (B,D) , (D,B) thus 2
10. 4
11. 1
12. 2
Numericals
1. 2
2. 20
3. 100
4. 2
5. 37 15 = 315
6. 1/12
7. 0
8. -1
9. 7/3
10. 2/3 coz ((2/3,1/3),(2/3,1/3),(2/3,1/3)) is a MSNE
11. -1/2 or 3
12. 5 (4 with x = 3/4) (1 with x = 1)
13. 2
Jun 7
Fixed Point
Let X ∈ Rn and f : X → X be a function. A point x ∈ X is a fixed point for f
if f (x) = x .
33
Trivia : For any continuous function f : [a, b] → [a, b] , there is a fixed point
x ∈ [a, b] .
Convex Set
A set X ⊆ Rn is a convex set if for any a, b ∈ X , for all t ∈ [0, 1] , we have
ta + (1 − t)b ∈ X .
Compact Set
A set X is a compact set if for all infinite series ai for i = 1, 2 . . . , with the
property that ai ∈ X ∀i ∈ N , we have limn→∞ an = a∞ ∈ X .
Correspondence
A correspondence is a set valued function ϕ : A → 2B where 2B is the power set
of B . This can also be seen as a relation f . Essentially, a correspondence ϕ
function gives the set of all images of a particular element as per the relation f ,
i.e. ϕ(x) = {y ∈ B | f (x, y)} ∀x ∈ A.
Graph of Correspondence
For a correspondence ϕ : A → 2B , it’s graph , Gr(ϕ) ⊆ A × B is given by
Existence of MSNE
Consider the set valued function b : A → 2A where A =
Q
i ∆(Si ) , given by
Y
b(σ) = bi (σ−i )
i
It’s easy to see that σ ∈ b(σ) if and only if it is a MSNE, by definition. Moreover,
we have these properties :
1. b(σ) is non-empty (due to definition of bi )
2. b(σ) is convex (due to additive nature of utilities)
3. b(σ) has a closed graph (true for finite games)
34
Thus, by Kakatuni’s fixed point theorem, a fixed point of b , i.e. a MSNE exists,
for any finite game.
Graphical Games
The input size can be reduced all the way to O(nmd+1 ) in case of a graphical
game where each player’s utility depends on the actions of at most d other
players. In this representation, finding PSNE takes time that is exponential in
the size of input.
All we know is that verifying where a given profile is a PSNE is a task that
takes linear time. That is, computing PSNE for any general graphical game
is in computation complexity class NP. In fact, every other task in NP can be
represented using this task too, and thus, it is NP-complete.
So, then, if we did find a poly-time-algo for this task we would have P=NP and
all hell would break lose.
For some specific cases of graphical games, like trees for example, we do have a
poly-time algorithm.
K -> R [label="R"];
K -> E [label = "E"];
E2 [label = "E"];
E3 [label = "E"];
R -> E2 [label = "H"];
R -> E3 [label = "B"];
R2 [label = "R"];
35
R3 [label = "R"];
E -> R2 [label = "H"];
E -> R3 [label = "B"];
E2 -> O1 [label = "H"];
E2 -> O2 [label = "B"];
E3 -> O3 [label = "H"];
E3 -> O4 [label = "B"];
R2 -> O5 [label = "H"];
R2 -> O6 [label = "B"];
R3 -> O7 [label = "H"];
R3 -> O8 [label = "B"];
O1 [label = "(2,2,1)"];
O2 [label = "(0,0,0)"];
O3 [label = "(0,0,0)"];
O4 [label = "(1,1,2)"];
O5 [label = "(2,2,1)"];
O6 [label = "(0,0,0)"];
O7 [label = "(0,0,0)"];
O8 [label = "(1,1,2)"];
}
36
1. Any nash equilibrium is of form (a1 , b2 (a1 )) , and the SPE is a∗1 =
argmaxa1 u1 (a1 .b2 (a1 )) , thus u1 (a∗1 , b2 (a∗1 )) ≥ u1 (a1 , b2 (a1 )) ∀a1
• 4
p
−1 + (1 + 3(α − q1 )) α − q1
3q22 +2q2 −(α−q1 ) = 0q2 = = p ≤ α−q1
3 1 + 1 + 3(α − q1 )
1 1 p
u1 = αq1 − q12 + q1 + q1 1 + 3α − 3q1 − q13
3 3
Thus
du1 1√ 1√ q1
dq1 = α − 2q1 + 1/3 + 3 1 + 3α − 3q1 + 2 1+3α−3q1 − 3q12
• 5
Suppose inspector inspects with probability p , then if p < 1/10 , the
inspectee will cheat. If p > 1/10 , then inspectee with not cheat. Then
second case is favorable for the inspector. In that case, p → 0.1+ is the best
scenario. If the inspectee is optimistic, then we get a strong stackelberg
equilibrium with p = 0.1 and inspectee not cheating. We don’t have a
weak stackelberg equilibrium, since it needs p > 0.1 and p to be as close to
0.1 as possible.
Jun 15
To watch : Tim Roughgarden
Practice set
Question 1
37
• Case 1 : P, Q ∈ [0, 1]2
In this case, the Nash equilibrium (a, d) and the minimum cost case
(P + Q)/2
√ are both feasible. It’s easy to show that the highest value of
PoA is 2 in this case.
• Case 2 : a ∈ [0, 1], d ∈ [0, 1]
That is to say, P is above the square and Q is to the right of it.
Now, the NE is feasible, but the
√ minimum cost is sometimes not. Thus,
PoA is still upper bounded by 2
• Case 3 : a ∈ [0, 1], d ∈ (1, 2]
In this case, the PoA we obtain is always smaller than the cost at NE and
minimum cost woud be same if we used the NE for given conditions, but
then reflected Q along the line y = 1 . Then, by triangle inequaility, the
cost of NE for the reflected case would be more, while minimum cost would
stay the same or decrease. Thus, the PoA can’t be at its highest value.
• Case 4 : a ∈ [0, 1], d > 2 , b < 2
Now, we can reflect P about y = 1 . Here, the cost of NE remains same,
and minimum cost either decreases or remains same when we √ reflect. But
then using triangle inequality, the PoA is always less than 2 .
• Case 5 and 6
These are exact
√ opposites of 3 and 4 , and by symmetry, the PoA is still
bounded by 2
• Case 7 : a, d > 1
In this case, both the NE and minimum cost case are the same, i.e. (1, 1)
and thus PoA is 1.
Question 2
Since xp ≤ 1 , so at NE, the cost is 1 . Now, for any x , the cost is (1 − x) + xp+1
, which is minimised at x = (p + 1)−1/p to give the cost 1 − x + (1 + p)−1 x =
xp −1
1 − 1+p = 1 − p(1 + p)−1−1/p = 1 − (1/p)1/p (1 + p−1 )−1−p .
−1
Now, limp→∞ 1 − (1/p)1/p (1 + p−1 )−1−p = 1 − (1 + 0)−1−0 limq→0+ q q = 0+ .
Thus PoA goes to ∞ as p → ∞ .
Question 3 and 4
No figure given with a δ
38
Figure 32: Untitled
39
Question 5
Si = {v, vw, w}
Suppose a, b fraction of people opt for v, w , then the cost for v, vw, w are
Jun 17
Correlated Equilibrium
Let N be list of players, Si , ui be strategies andQutilities for individual players
i ∈ N , then for the set of strategy profiles S = i Si , any correlated strategy
τ ∈ ∆(S) is a distribution over all the profiles in S .
τ can also be seen as a function, where τ (s) is the probability of profile s .
Then, the utility of a correlated strategy is just this expected value :
X
ui (τ ) = τ (s)ui (s)
s∈S
40
For example for τ = {(A, A) : 0, (A, W ) : 1/3, (W, A) : 1/3, (W, W ) : 1/3}
, if player 1 is told to play W , we would have 2 cases to consider, (W, A)
and (W, W ) with probabilities τ ((W, A)) = (1/3)/(1/3 + 1/3) and τ ((W, W )) =
(1/3)/(1/3+1/3) , i.e player 2 (if he obeys the agent) will play W with probability
0.5 and A with probability 0.5.
Note that in general, the expected payoff for i ∈ N when si is assigned to him,
and he plays any strategy s′i ∈ Si is
X
ui (s′i |τ, si ) = τ (s−i |si )ui (s′i , s−i )
s−i
where τ (s−i |si ) = τ (si , s−i )/ s′ τ (si , s′−i ) is the probability of other player
P
−i
being told to play s−i , given that player i is told to play si .
Player 1 can now calculate the expected utilities in the two cases where he plays
W and A , so he, being rational, will only play the one with highest expected
payoff.
So, only those τ where deviation is not favourable, are actually played.
This is called Correlated Equilibrium, and can be stated as :
X X
τ (si , s−i )ui (si , s−i ) ≥ τ (si , s−i )ui (s′i , s−i ) ∀si , s′i ∈ Si , ∀i ∈ N
s−i ∈S−i s−i ∈S−i
The left hand side is the expected utility if player i is assigned si , and plays
that, times the probability of si being assigned to i . Similarly, the RHS is if
player i is assigned si , but plays s′i .
Rearranging, we get that τ is a correlated strategy equilibrium if and only if . . .
X
τ (s)(ui (si , s−i ) − ui (s′i , s−i )) ≥ 0∀si , s′i
s−i ∈S−i
Computational complexity
Now, to actually compute such an equilibrium, we need toPsolve an LP with
all of these inequalities as well as the additional constraints s∈S τ (s) = 1 and
τ (s) ≥ 0 ∀s ∈ S .
There is one constraint for each si , s′i pair, with 2|S−i | variables (τ (s) values) in
each constraint, and there are |Si |2 such pairs for each i .
Thus, there are i |Si |2 such inequality constraints.
P
41
Existence
Any MSNE can also be viewed as a correlated equilibrium, i.e. it “induces”
a τ that is an equilibrium. Thus, if MSNE exists, then so does a correlated
equilibrium.
Contracts
Every correlated strategy can be visually represented in the utility plane as a
point.
With correlated equilibrium, the players can reach more of the plane, namely
the area bounded by blue lines except the area bounded by orange lines, than
with just MSNE .
But, suppose we want to reach all possible utilities related to all correlated
strategies, i.e. the area bounded by the blue lines, then we need to add another
possibility to the game, known as contracts.
A contract fixes the strategy of players who sign it. Each player has an option
to sign it or not sign it. The contract specifies what strategies a subset C ⊆ N
must play if only and all of the players in C sign the contract.
42
Thus a contract τ is a vector [τC ]C⊆N where τC is a distribution over the
correlated strategies of the subset (aka coalition) C , that is to say τC ∈ ∆(SC )
where SC = ×i∈C Si .
Now, of course, the players wouldn’t just choose any random τC . They would
choose one where they are benefiting the most, both individually, and collectively.
Similarly, for the correlated equilibrium case, the players would want to fol-
low a very particular correlated strategy, not just any of the many correlated
equilibrium.
Problem Set
Question 1
Game 1
Let the probabilities be
A B
A a b
B c d
43
Game 2
This game has the utilities as a linear transformation of game 1, so it’s the same
as game 1.
Question 2
Question 3
Let’s assume that a = 0 , since a < 2b, 2c and 2d < b, c . This gives,
2b+7c = 40/97b+2c = 36/9 =⇒ c−b = 4/45c+b = 76/81 =⇒ c = 208/405b = 172/405d = 5/81 = 25/405
is the answer.
44
Question 4
Suppose the probabilities are w, x, y, z respectively for (A, A), (A, B), (B, A), (B, B)
, then we have
Thus, we have
So, all of these quantities are the same, let’s say (1 + d)(1 − c)(1 − b)t . Then we
can say
1
t(2 + d − b)(2 − c) = 1 =⇒ t =
(2 + d − b)(2 − c)
(1 − c)(1 − b) (1 − b) (1 + d)(1 − c) (1 + d)
τ = {(A, A) : , (A, B) : , (B, A) : , (B, B) : }
(2 − c)(2d − b) (2 − c)(2d − b) (2 − c)(2d − b) (2 − c)(2d − b)
Question 5
No, because of the very definition of correlated equilibrium and “strictly” domi-
nant strategy.
45
The inequality in the definition for cor. eq. will be false when player i is assigned
si .
Jun 19
Nash Bargaining
A correlated strategy is “feasible” if, not given any option to bargain (suggest a
better τ ), the players would still agree to, since it’s better than working alone.
Given the set of utilities of all feasible correlated strategies ,F , and the security
values (maxmin values), as a vector v = [vi ]i , one can find the utility of the
correlated strategy that the players would finally agree to, if they were allowed
bargaining (suggesting a correlated strategy that is better for some group of
players than the current strategy, thus making them sign up for the new contract
rather than the old one)
This is called the Nash Bargaining solution, given as f (F, v) . It has these
properties :
1. Independent Rationality : Each player gets more than security value
2. Scale covariance : Any linear transformation of the utlities doesn’t change
the solution.
3. Independence of Irrelevant Alternatives : If f (F, v) ∈ G ⊆ F , then
f (G, v) = f (F, v)
4. Symmetry : If the game is symmetric, i.e. vi is same for all i , and
{P u|u ∈ F } = F , where P is any permutation matrix, then (f (F, v))i is
same for all i .
It is computed as
Y
f (F, v) ∈ argmaxx∈F s.t. x≥v (xi − vi )
i
Problem Set
Question 1
3 points are discarded immediately. Among other three we draw lines and on
those lines, find the points that maximise (x1 − 2)(x2 − 1) and the point that
does that is (8, 6) .
46
Figure 40: Untitled
47
Question 2
To find the minmax of player 1, suppose player 2 has mixed strategy (q, 1 − q)
then the expected utilities for 1 is 2 + 3q, 3 − q . Thus, we want to find
minq max(2 + 3q, 3 − q) , which occurs at q = 1/4 and gives value 11/4 .
Similarly, for 2nd player, we want minp max(2 + 3p, 3 − p) = 11/4 .
So, the status quo point is v = (11/4, 11/4) . Due to the symmetry if the game,
the solution f (F, v) is on x1 = x2 , and is thus (5, 5)
Question 3
N = {1, 2, 3}v(123) = 6v(12) = v(23) = v(13) = 4v(1) = v(2) = v(3) = 0
Question 4
Question 5
Question 6
v(1) = v(2) = v(3) = 0v(12) = (5−1−2)/6 = 1/3v(13) = (7−1−3)/6 = 1/2v(23) = (9−2−3)/6 = 2/3v(123) = 1
48
Figure 45: Untitled
Question 7
1. Yes, for C = {2, 3}
2. Yes, for C = {1, 3}
3. {0.25, 0.51, 0.24} , for C = {2, 3}
4. 0
5. {5.5/16, 8/16, 2.5/16} for C = {1, 3}
6. No
Doubts
Mid Term Assessment
Assessment 1
Assignment 2 Responses
Jun 21
Shapley Value Axioms
1. Symmetry : If two players are equivalent, their values are same.
2. Dummies : If a player has 0 marginal contribution to every coalition, then
it gets 0. P
3. Non-wastefulness or Efficiency : i ϕi = v(N P )
4. Strategic equivalence : If w(C) = av(C) + i∈C ci for some a ≥ 0 and
fixed ci for i ∈ N , then ϕi (w) = aϕi (v) + ci .
5. Additivity : If w = v1 + v2 , then ϕ(N, w) = ϕ(N, v1 ) + ϕ(N, v2 )
Problem Set
Question 1
Let’s assume v(N ) = 100000 , so that v({l, r}) = 1 ∀l ∈ L, r ∈ R where L is the
set of left glove suppliers and R is for right glove suppliers. By forming pairs,
49
Figure 47: Untitled
50
and then adding their values up, we see that the sum is exactly 100000 , and
thus, the only sensible way is that each pair in the pairing must have a value
of 1. Now, the way in which we do the pairing is arbitrary, and thus each pair
{l, r} for l ∈ L, r ∈ R must have value 1.
From here, it’s easy to see that xl = a is the same for any l ∈ L and xr = b is
the same for any r ∈ R , along with a + b = 1
As for the Shapely value, because of symmetry and non-wastfulness, it is also
in the core. Now, because of the symmetrical nature of this game, the Shapely
value for any left glove guy is the same as right glove guy. Thus, xi = 0.5 ∀i ∈ N
.
Question 2
Suppose x and y are two imputations in the core, then for all C ⊆ N ,
X X X X
xi ≥ v(C) yi ≥ v(C) =⇒ pxi +(1−p)yi ≥ v(C)∀p ∈ [0, 1] =⇒ (px+(1−p)y)i ≥ v(C)
i∈C i∈C i∈C i∈C
P
Also, i∈N (px + (1 − p)y)i = pv(N ) + (1 − p)v(N ) = v(N ) .
Thus, the imputation z = px + (1 − p)y is such that
X X
zi = v(N ) zi ≥ v(C) ∀C ⊆ N
i∈N i∈C
Question 3
For the above game,
51
Figure 50: Untitled
Question 4
v(12) = v(13) = v(14) = 400v(123) = v(124) = v(234) = v(134) = 400v(1234) = 400
x1 +x2 +x3 ≥ 400x1 +x2 +x4 ≥ 400x1 +x3 +x4 ≥ 400x2 +x3 +x4 ≥ 400 =⇒ 3(x1 +x2 +x3 +x4 ) ≥ 4∗400 =⇒ x1 +
which is stupid.
But, the Shapley value always exists . The marginal cost of adding any member
to a 3 member coalition is 0, and so is for adding to null coalition.
For 1, there are 3 of 1 membered coalitions that give 400, and 3 of 2 membered
coalitions. Thus,
400
x1 = (3 × 2! + 3 × 2!) = 200
4!
Now, for 2, the only coalitions where it has a marginal cost are {1}, {3, 4} ,
giving us
400
x2 = (2! + 2!) = 200/3
4!
For 3 and 4, there is again, 1 one membered coalition, and 1 two membered
coalition, giving 200/3 as the value.
52
Figure 51: Untitled
Question 5
1. 3 player majority voting.
2. The game in question 4
3. Prisoner’s Dilemna
Question 6
1 1 1
x1 = (a + b + 2(d − c))x2 = (a + c + 2(d − b))x3 = (b + c + 2(d − a))
6 6 6
Question 7
Additivity is broken
Question 8
1
The conditions are
53
Figure 54: Untitled
X X
α(C) = 1 ∀C ⊆ N and α(C) ≥ 0 ∀C ⊆ N =⇒ v(C)α(C) ≤ v(N )
C⊇{i} C⊆N
α1 +α12 +α13 +α123 = 1α2 +α12 +α23 +α123 = 1α3 +α13 +α23 +α123 = 1α1 , α2 , α3 , α12 , α23 , α13 , α123 ≥ 0 =⇒ aα
2
Already done in question 6. Just plug in d = 1
3
The necessary and sufficient condition is convexity, and thus
So, essentially,
a + b ≤ 1b + c ≤ 1c + a ≤ 1
Jun 23
Fairness
We want to answer from a designer’s perspective, given different outcomes and
preferences (utilities), how to “aggregate” the preferences to reach a specific
outcome.
54
That is, we want to find a social choice function f that, given the agent preferences,
gives the outcome, and it satisfies the conditions of “efficiency” and “fairness”.
One way of fair division is Fitness.
Fitness
Give more resource to those who use it the best.
The problem is that “best” is subjective.
Another way to make a division (allocation) is Pareto-optimality. This is the
approach that a Welfarist would take.
Pareto Optimal
A division d1 is dominated by d2 if d1i ≤ d2i ∀i ∈ N . and ∃i ∈ N s.t. d2i > d1i
. A division that is never dominated is pareto-optimal.
The problem with this is that there are many Pareto-optimal divisions at times.
Collective utility
Utilitarian Welfare
P
Yet another criterion is simply the maximisation of sum of utilities W = i vi .
Egalitarian Welfare
Or, we could maximise the minimum of the utilities, W = mini vi
Nash Welfare
Just like in Nash bargaining,
Q we can also come P up with a fair division given by
maximising W = vi = exp(W0 ) where W0 = i ln ui . We know this doesn’t
really work all the time for |N | > 2 , but still, why not try it.
All of these satisfy these properties:
Axioms
Completeness
Given profiles (divisions) v1 , v2 , we can compare them as either v1 ≻ v2 or
v2 ≺ v1 , or v1 ∼ v2 . Note that this isn’t the same as v1 = v2 .
Essentially,
v1 ≻ v2 ⇐⇒ W (v1 ) > W (v2 )v1 ≺ v2 ⇐⇒ W (v1 ) < W (v2 )v1 ∼ v2 ⇐⇒ W (v1 ) = W (v2 )
55
Transitivity
v1 ⪰ v2 v2 ⪰ v3 =⇒ v1 ⪰ v3
Monotonicity
If a divison v1 dominates v2 , written as v1 ≥ v2 , then v1 ⪰ v2 .
Symmetry
If two agents are essentially the same than v1 ∼ v2 is v2 is just v1 with the
utilities of those two agents interchanged.
Independence of Scale
v1 ≻ v2 ⇐⇒ λv1 ≻ λv2 ∀λ > 0
Welfare functions
The functions with satisfy all these axioms are of a family {Wp | p ∈ (−∞, 1]}
called welfare functions, given as
P p
P ui
0<p≤1
Wp (u) = i log ui p=0
P p
− i ui −∞ < p < 0
It’s easy to see that maximising W1 is the same as Utilitarian Welfare, and W0
is the same as Nash Welfare, and p → −∞ is Egalitarian Welfare.
Assignment 2
1. 1,2,4
2. 4 (doubtful)
3. Two player zero sum game of picking numbers between 0 and 1.
1. 1 (i.e. 0, since whatever distribution 1 gives, 2 will “pick” the interval
where the integral is highest, thus making his utlity positive or 0)
56
2. 1 (i.e. 0, since that is just the maxmin value of player 2, but we can
do the exact same analysis)
3. 2 (i.e. 0, from b and c)
4. 1
5. 2
6. 3 (w = 50, L = 25)
7. 1
8. 3
20 40
60 30
F1 \ F2 E W
N 70,80 65,85
S 85,65 80,70
9. 4
10. 2
• Explanation
For CE , then condition is
X
τ (si , s−i )(ui (si , s−i ) − ui (s′i , s−i )) ≥ 0∀si , s′i ∈ Si
s−i
where ⃗τi (si ) = [τ (si , s−i )]s−i is the row or column vector of probabili-
ties in the matrix, and ⃗ui (s′i ) = [ui (s′i , s−i )]s−i is the row or column
vector of utilities corresponding to s′i . (These are all completely made
up terms, only for my convenience)
So, for a r × c bi-matrix, we’ll have to check the condition r + c times
in total for all different si for each i .
57
– Utility vectors
⃗u1 (A) = (2, 0, 0)⃗u1 (B) = (1, −1, 1)⃗u1 (C) = (0, 0, 2)⃗u2 (A) = (2, 1, 0)⃗u2 (B) = (3, −1, 3)⃗u2 (C) = (0
For different options this gives different values for ⃗τi (s′i ) . Remember,
for each ⃗τi (si ) , we need to check if ⃗ui (si ) gives the biggest dot product
or not, among all ⃗ui (s′i ). This can be done in O((r + c)rc) many steps.
(Red ⃗τ is faulty of not letting the CS be a CE)
– 1
τ1 (A) = (0.5, 0, 0)τ1 (B) = (0, 0, 0)τ1 (C) = (0, 0, 0.5)τ2 (A) = (0.5, 0, 0)τ2 (B) = (0, 0, 0)τ2 (C) = (0
τ1 (A) = (1/4, 0, 0)τ1 (B) = (3/8, 0, 3/8)τ1 (C) = (0, 0, 0)τ2 (A) = (1/4, 3/8, 0)τ2 (B) = (0, 0, 0)τ2 (C
– 3
τ1 (A) 1/4 0 1/8 τ2 (A) 1/4 0 0
τ = τ1 (B) = 0 0 0 τ T = τ2 (B) = 0 0 1/8
τ1 (C) 0 1/8 1/2 τ2 (C) 1/8 0 1/2
– 4
0 1/4 1/8
τ = 0 0 0
0 1/8 1/2
58
We know that the game is symmetric and so if a point with x + y = s
is a corr. equilibrium. , then so is (s/2, s/2), thus we only wish to find
the maximum and minimum x such that (x, x) would be a correlated
equilibrium. Obviously, then c = b, and so, that can be done as
Some cases of concern are (a, b) = (1/2, 1/4) , (a, b) = (0, 1/2) . Thus,
the maximum is x = 21/4 = 5.25 .
Similarly, the minimum can be done as
Thus, the candidates for (a, b) are (0, 2/5), (1/2, 1/4), (4/9, 2/9) .
Thus, the minimum is x = 3.6 .
59
Figure 56: Untitled
A′ = (−1, 7)B ′ = (4, 6)c′ = (6, 5)D′ = (7, 4)E ′ = (8, 2)F ′ = (9, −2)G′ = (−3, −2)
B ′ = (4, 6) = (0, 2)+(4, 4)C ′ = (6, 5) = (2, 1)+(4, 4)D′ = (7, 4) = (3, 0)+(4, 4)
60
It’s easy to see that the point we are looking for is a point on either B ′ C ′
or C ′ D′ , which are x + 2y = 16 and x + y = 11 . Clearly, maximum of
xy is achieved at (x, y) = (8, 4) and (x, y) = (5.5, 5.5) on these, which are
both, not on the line segments. Thus, C ′ = (6, 5) is the maxima. Adding
the status quo point to this, we get C = (8, 6), giving 48 as the product of
utilities. .
16. -6
17. 0
x1 ≥ 2x2 ≥ 4x3 ≥ 1x1 +x2 ≥ 12x1 +x3 ≥ 10x2 +x3 ≥ 14 =⇒ 2(x1 +x2 +x3 ) ≥ 36but x1 +x2 +x3 = 16
So, the core is empty. Sorry.. not in the mood for the conventional method.
18. 2
19. 2 (Additivity and Non-wastefulness (Efficiency))
20. 0
Consider the 2 player coalition game v(1) = v(2) = 0 , v(12) = 1 . It has a
non empty core. Now suppose we define v ∗ (1) = v ∗ (2) = 1 and v ∗ (12) = 1
, then the core is empty, which means that the new game isn’t balanced.
21. 82
min x1 +x2 +x3 x1 ≥ 12x2 ≥ 10x3 ≥ 20x1 +x2 ≥ 20x2 +x3 ≥ 70x1 +x3 ≥ 50
which gives us a solution (a, b, c) = (0, 40, 0) , which converted back gives
(x1 , x2 , x3 ) = (12, 50, 20) .
22. 1/3 (x1 , x2 , x3 ) = (0, 0, 1) and
1
ϕ3 = (2 + 2) = 2/3
3!
23. 9
61
Sequence Before After Contr.
1,3,2 10 22 12
2,1,3 24 34 10
2, 3, 1 8 18 10
3,2,1 0 6 6
3,1,2 0 6 6
Total 54
/ 3! 9
Jun 25
Cake Cutting
Given a distribution of utility of different sectorsR of a cake for each player say
1
ui (x) where x = θ/2π , normalised as vi ([0, 1]) = 0 ui (x)dx = 1 , then we want
to cut a cake, represented by [0, 1] into pieces Ai ⊆ [0, 1].
Moving Knife
Start at x0 = 0 and whenever we encounter vi ([xt , xt+1 ]) ≥ 1/n , give it to i .
Then remove that player. The last unclaimed piece is given to the remaining
person.
The people who are not last get a piece that they value at 1/n . For the last
person, since all the given pieces valued less than 1/n for him, thus the last piece
value more than 1/n.
In practice, after every cut, we have to ask everyone to mark the endpoint of
the next piece that would have valuation 1/n if they got it. Thus, it’s an O(n2 )
algorithm.
62
Even and Paz Algorithm.
Ask each person to mark the cake such that it’s divided into a left and right
piece, both at equal valuation for the player. Then cut at the median of these
marks. Divide the players into a Left and Right group based on the position of
their mark (whether it’s on left or right piece) . This ensures that each player is
assigned to the piece (among left or right) that they value at Vi ≥ 1/2 . Then,
if we somehow proportionally divide these pieces individually, then each player
would get vi ≥ Vi /(n/2) ≥ 1/n . To do the proportional division, we can do the
same thing again, and then again, and so on (except when a single person is
assigned to a piece).
This is a recursive algorithm which requires splits the group in half at every
stage, (i.e. it form a binary tree structure) . Thus, the number of levels is log2 n
. At each stage, in total (over all pieces), we have to ask all the n players to
make a mark. Thus, this requires n log2 n queries.
For n = 2
Let the first player divide into equal pieces and let the second player choose one
to his liking and give first the other. Thus, both are envy free.
63
Thus, PB isn’t envious since equal division, P1 isn’t envious since PA doesn’t
matter, and he got better piece than PB and PA isn’t envious too since he too
got the better piece.
For n > 3
The Selfridge-Conway procedure can be generalised (according to wikipedia). It
requires 2n−2 + 1 cuts in the first step, so ig it isn’t really practical.
Since we have actual algorithms to make envy division for any n , thus, an envy
free division, which is also a proportional division always exists.
64
Proof by Induction that RR works :
Assume RR works for all (N, M, v) with |M | = k − 1 .
We want to prove that for a game (N, M, v) with |M | = k , RR works.
Consider the game (N, M − {a1 }, v) after the first player has chosen his first item
a1 as per RR. It boils down to the same game, but the second player starting
first, and first player playing last in the cycle. If we forget about the first item
that is now not in the game, none of the players would be envious of the first
(now the last) player. Thus, they would also be envy free by 1 item if we did
consider the item.
Now, for the game after 1st player chooses first item, let’s assume by induction
that the RR works, then in the original game, all the players other than 1st
would be envy free by 1 to each other. But now we know that everyone is also
EF1 to player 1, and player 1 is envy free to everyone.
Thus, RR also works for the original game too.
Base case : |M | = 1
EFX
A person i is EFX type envy free from a person j if
This is different from EF1 since it has “∀k” rather than “∃k” .
It’s easy to see that
1. envy free implies EFX
2. EFX implies EF1
We have proved the existence of EF1 type divisions, but that does not say
anything about the existence of proportional divisions.
Problem Set
Question 1
Since Eddie doesn’t care which share he gets, we are left with Doug and Fred.
Doug cannot get S2 or S3 since 30% < 100%/3 , so he must be given S1. Similarly,
Fred cannot get S2. So, he must get S3, since S1 is allocated already. So,
Doug gets S1 , Eddie gets S2 and Fred gets S3.
They are all envy free since they got maximum utility anyway.
65
Figure 57: Untitled
Question 2
Pep + Sausage/2 and Mushroom + Sausage/2 .
There are many other ways too.
Question 3
NO
Consider N = {1, 2} with v1 = v2 , M = {1, 2, 3, 4, 5} with
v(5) = 100v(4) = 60v(3) = 40v(1) = v(2) = 0v(42) = 70v(41) = 60v(32) = 40v(31) = 80v(A∪{5}) = v(A)+v(5)
66
Question 4
For n = 2
WLOG, suppose player 1 is not EF1 of player 2, then
Now suppose g ∗ = argming∈A2 v2 (g)/v1 (g) , then the above equation would apply
as
v2 (g ∗ ) v2 (A2 )
(v1 (A1 )+v1 (g ∗ ))( ) < v1 (A2 )( ) = v2 (A2 ) =⇒ (v1 (A1 )+v1 (g ∗ ))(v2 (g ∗ )−v2 (A2 )) < −v1 (A1 )v2 (A2 )
v1 (g ∗ ) v1 (A2 )
Thus, for A = (A1 , A2 ) is not the allocation that maximises Nash Welfare.
For n > 2
Assume true till n = k .
For n = k + 1 , let A∗ = (A∗1 . . . A∗n ) be a NW solution for (N, M, v) .
Then, (A∗1 . . . A∗n−1 ) is a NW solution for (N − {n}, M − An , v) , and thus, the
allocation (A∗1 . . . A∗n−1 ) is EF1 , or more simply, any two agents in N − {n} are
pairwise EF1 to each other, given these allocations. Similarly, (A∗2 . . . A∗n ) is a
NW solution for (N − {1}, M − A1 , v) and is thus, EF1 (again, by hypothesis).
Similarly .. (A∗1 , A∗3 , A∗4 . . . A∗n ) is EF1. From this, we can conclude that all
67
i, j ∈ N are EF1 to each other for the allocation A∗ , and thus, A∗ is EF1 (by
definition).
Question 5
Then, (1 : {1}, 2 : {2}) is an envy free allocation, but not a proportional one.
Jun 27
Equitability (EQ)
A division is equitable if vi (Ai ) = vj (Aj ) ∀i, j .
The restriction is that vi (M ) = 1 and vi (ϕ) = 0 for all i . The notion can be
extended to general games by first normalising the value functions.
maxA∈D W (A)
PoF(I) =
maxA∈F W (A)
68
Essentially, for a set S of instances of games, the price of fairness is
maxA∈D W (A)
≤u
W (Af )
Binary valuations
In this section, we’ll consider the set Sr of games which have
1. binary valuations (0 or 1) of any single good by any player.
2. at least one player having non zero utility for each good.
3. r unique rows in the valuation matrix for some fixed r.
and we’ll consider the price of EQ1 fairness with utilitarian welfare.
It’s easy to see that the maximum utilitarian welfare is m = |M | .
Moreover, due to the binary valuations, every player is either rich , or poor, in
every EQ1 allocation, with rich agents having surplus of 1 over poor agents.
Lower bound
Consider the instance where agents a1 . . . ax+1 , all have utility for all and only
items in a subset M1 ⊆ M where x = (r − 1)2 , and for every other agent ax+i
for 1 < i ≤ r , they have
S utility for each and only items in Mi ⊆ M with
Mi ∩ Mj = ϕ ∀i, j and i Mi = M , and |Mi | = x ∀i .
Thus, optimal welfare is |M | = rx = r(r − 1)2 .
But, for any EQ1 fair division, at least one of a1 . . . ax+1 would be allocated value
0 due to pigeon-hole principle. Thus, there is one “poor” agent with value 0. So,
all the rich agents must have value 1 doe to EQ1 fairness. Thus, Ax+i = 1 ∀i > 1
is the best possible division, giving us W = x + (r − 1) = r(r − 1) .
Thus, the PoF for this instance is r − 1 , which will serve as a lower bound for
PoF(Sr ) .
69
Upper bound
For any I ∈ Sr ,let k be the rank of the valuation matrix. It’s easy to see that
k≤r.
Let B be any allocation that maximises utilitarian welfare among all EQ1
allocations.
Proof
Using the lemma, W (B) ≥ m/k . Thus,
m
PoF(I) ≤ = k ≤ r ∀I ∈ Sr =⇒ PoF(Sr ) ≤ r
m/k
Problem Set
Question 1
70
3. No. The utility of a1 is 2 at most for any EQ1 division, so at least one
item he likes is going to a2 or a3 . Thus, no EQ1 division will be pareto
optimal.
Question 2
Question 3
Jun 29
Classification models
Given features X and targets Y , and for all x ∈ X, suppose h(x) is the
vector of probability of different outcomes, i.e. (h(x))i ≈ P rob(yi = 1) as
predicated by the model, then the output vector ŷ is given by thresholding h(x)
, i.e. ŷ = I(h(x) > yt ) where yt is the threshold value, and I is an indicator
function that converts true to 1 and false to 0 (like, in numpy).
71
Sensitive features
There are some features which shouldn’t be used in ML ethically, like gender,
race, etc. Let’s call these A .
Here (x, y) ∼ (X, Y ) means that x, y come from the same distribution, that
(X, Y ) (concatenated) come from. L is the usual loss function, etc, etc.
Group Fairness
In any society, any group, if it feels like it’s on the shorter end of the stick, will
cause issues. Suppose there are 2 groups, a1 , a2 of 50 people each. Group a1
studies a lot, group a2 doesn’t. So, a1 is told they will succeed in life, and a2 the
opposite. Now, replace a1 , a2 with “female” and “male” . Even though the a2
group didn’t succeed because of their own actions, they will still cause trouble
and blame the school for partiality (or any other stupid reason). Thus, group
fairness is not there.
(This example is from my own perspective, since this is what happened at my
school. Damn.. the girls were competitive.)
Independence
The (predicted) probability of “success”, or really, any event should be indepen-
dent of sensitive traits (not taking into account the dependence of other traits
on the sensitive ones)
P r(Ŷ = 1 |A = a1 ) = P r(Ŷ = 1 |A = a2 )
This is actually unfair, but useful, since it seems fair to stupid people.
72
Separation.
Suppose, we later find out whether or not the boys actually succeeded in life.
Then, we can define these two things :
If the predictions were equally bad (in terms of “recall”) on each side, then they
were not biased.
This is a much better criterion.
But there is an even stricter and better criterion, which we actualy use for
sufficiency.
Calibration by groups
P r(Y = 1|A = a, h(X) = r) = r ∀a
Summary
Independence Ŷ ⊥ A
Separation(equal FPP, FNP) (Ŷ ⊥ A)|Y
Sufficiency (group calibration) (Y ⊥ A)|Ŷ
2 conditions simultaneously
Independence and Sufficiency
Since Independence implies Ŷ ⊥ A , and sufficiency implies (Y ⊥ A)|Ŷ , so both
happening simultaneously, thus P r(Ŷ |a) is independent of a (independence).
Then, P r(Y |a, Ŷ ) is independent of a , for some fixed Ŷ (sufficiency)
73
P
Combining P r(Y |a) = Ŷ P r(Y |a, Ŷ )P r(Ŷ |a) is independent of a.
Thus, both together mean Y ⊥ A
X
P r(Ŷ |a) = P r(Ŷ |a, Y )P r(Y |a)
Y
X
P r(Ŷ |Y, a)P r(Y |a) = P r(Ŷ , Y |a) = P r(Y |Ŷ , a)P r(Ŷ |a) = P r(Y |Ŷ , a) P r(Ŷ |Y ′ , a)P r(Y ′ |a)
Y′
, using first and last expressions, and the rules, we have, for each Y ′ , either
1. P r(Ŷ |Y ′ , a) = 0 ∀a
2. P r(Y ′ |a) to be the same for all a . (same base rates)
Problem Set
Question 1
512+36
For adults, P r(Y = 1|a1 ) = 10000 = 0.0548
2147+2177
For children, P r(Y = 1|a2 ) = 10000 = 0.4324
Thus, loss in demographic parity is 0.3776
For adults,
51 51
F P R1 = P r(Ŷ = 1|Y = 0, a1 ) = 51+9401 = 9452 and
36 36
F N R1 = P r(Ŷ = 0|Y = 1, a1 ) = 36+512 = 548
74
Figure 65: Untitled
For children,
96 96
F P R2 = 5580+96 = 5676 and
2177 2177
F N R1 = 2177+2147 = 4324
2177 36
Thus, loss in equalised odds is 4324 − 548 .
I would recommend this model to Adults
Question 2
75
X 0.5 -1 -0.5 2 0.5 1.5 0.1
Y’ 0 1 1 0 0 0 1
Question 3
Y\A a b
0 1/4 0 1/4 0
1 0 1/4 0 1/4
Y’ 0 1 0 1
Question 4
Y\A a b
0 p 3/8 - p x 1/8 - x
1 1/8 - q q 3/8 - y y
Y’ 0 1 0 1
Independence implies
This becomes
76
Figure 68: Untitled
by replacing u = q + x and v = p + y
Clearly, maximisation happens at u = 1/4, v = 2/4 .
We can split this as
Y\A a b
0 2/8 1/8 1/8 0
1 0 1/8 1/8 2/8
Y’ 0 1 0 1
77
Jul 1
Ensuring Trained Classifier
We can try to set a threshold have such that a trained model h can be used to
make classification with equalised odds.
This is to say that the ROC curves should intersect at a point where
1. The threshold is same
2. the accuracy isn’t too bad
In practice, this is done by randomisation of thresholds.
Note : The point (0,1) is the perfect classifier on an ROC curve.
Pre-Processing
Massaging
Change the labels when you can.
Pertubation : Change (scale) the inputs so that distribution (X, Y ) looks similar
for each group.
Sampling
Reweighting
Resampling in minority, lesser sampling in majority
Make new samples to make base rate same
Representation
From given X , we want to generate XF which is the fair version of X , given
A, Y .
The change in representation can be done via a generative model.
Adversial Learning
Will do later..
78
In-Processing
Desperate Impact
min{P r(Ŷ |a1 )/P r(Ŷ |a2 ), P r(Ŷ |aa )/P r(Ŷ |a1 )} ≥ 0.8
Convexification
Suppose we do the ususal lagrange multiplier thing and minimise this lagrangian
Recap
Jun 7 : MSNE
• MSNE always exists for every finite strategic form game and it is a fixed
point of a “best responses function (correspondence)” b(σ) = ×i bi (σ−i ).
• Convex Set : Any convex linear combination is in the set.
• Closed Set : Any limit of sequence of items in the set, is also in the set.
• Bounded Set : Distance between any two points in the set is upper bounded
by some finite value.
• Compact Set : Closed and Bounded
• Kakatuni’s theorem : given a correspondence ϕ : X → 2X where X ⊆ Rn
is convex, non-empty and compact , then if ϕ(x) is always non-empty and
convex AND Gr(ϕ) is a closed set, then ϕ has a fixed point.
• PSNE is not guaranteed to exist.
• PSNE can be computed in polynomial time when the full matrix is given.
• For general graphical games (a form of “succinct” games), determining
existence of PSNE (by computing it) is NP-complete : (Verification of a
solution can be done in polynomial time, and all such problems with that
property can be reduced to this problem)
• Congestion or network games can be represented via
– N , the set of players
– E , the set of edges
– Si ⊆ 2E , the set of paths (sets of edges here) that start at ai and
end at bi , which player i can take. This is obviously, also the set of
strategies.
79
– de (x) which tells the cost incurred by going through edge e ∈ E with
x “amount” P(usually fraction) of people on that road.
– ui (s) = − e∈si de (fe (s))
• Every congestion has a PSNE (Theorem by Rosenthal).
Essentially, any strategy profile that minimises the potential function
P Pfe (s)
Φ(s) = e x=0 de (x) is a PSNE. Since there always exists a global
minima (one of the PSNEs) in the search space, for any function (Φ here),
so at least one PSNE exists. Note that the inner summation is over all
“possible” values of x in that range. Also note that we conveniently define
de (0) = ∀e since it doesn’t make any difference strategically, what de (0)
is, coz..nobody uses it anyway.
• Symmetric congestion game : ai = a, bi = b ∀i , i.e same starting and
ending points.
• There is a poly-time algorithm for finding PSNE of a symmetric congestion
games
• Necessary and sufficient conditions for MSNE:
∗
– ui (si , σ−i ) is same, namely ui (σ ∗ ) , for all si ∈ δ(σi∗ )
– ui (σ ) ≥ ui (s′i , σ−i
∗ ∗
) ∀s′i ∈ Si − δ(σ ∗ )
• The LP for MSNE conditions is generally non-linear.
– In case of n = 2 , it’s linear.
– The variables are wi , σi (si ) , where wi is just full utility at MSNE.
There
P equations are translated trivialy, with the addition of
si ∈Si σi (si ) = 1 .
– For n = 2 , there are 2(1 + |S1 | + |S2 |) equations.
– Number of different sets of supports possible is i∈N (2|Si | − 1)
Q
y T z = 0y = M z + qy, z ≥ 0
80
Put together,
w + 0 (−A)σ2 = w̄
v + (−B T )σ1 0 = v̄
Let’s define
0 −A w w̄ σ
M= q= y= z= 1
−B T 0 v v̄ σ2
Chomp
• m × n , where m, n are finite : Player 1 wins since player 2 cannot have a
winning strategy. (This implication is from a theorem that’s advance)
• 1 × ∞ : player 1 wins
• 2 × ∞ : player 2 wins
• m × ∞ where m > 2 : player 1 wins
• ∞ × ∞ : player 1 wins by making it a 2 × ∞ game, or by symmetric play
• 2 × ∞ × ∞ : player 1 wins by making it a 2 × ∞ × 1
• 2 × m × n : player 1 wins by stealing argument again
• 2 × m × ∞ : player 1 wins by making it 2 × 1 × ∞ ∼ = 2 × ∞ and becoming
second player.
• In general, if any version of the game reaches a stage where the player
player can cut off a portion that is guaranteed to be removed no matter
what he plays, then by the stealing argument, the next player cannot have
a winning strategy, and thus, the current player has a winning strategy.
81
• Sub-Game Perfect Equilibria SGPE
For a game Γ , a strategy profile s∗ is a SGPE, if and only if s∗ is a PSNE
for Γh for every h ∈ SZ , i.e. , for all i ∈ N , we must have
82
By considering these two extreme cases, one can find the Strong
Stackelberg Equilibrium (SSE), and Weak Stackelberg Equilibrium
(WSE), respectivly.
Remember :
Optimistic → Strong
Pessimistic → Weak
– If there are multiple followers, the b−1 (q1 ) will be the Nash equilibrium
of the sub-game after player 1 plays q1 .
Jun 15 : PoA
NE Total Cost
• PoA = Minimum Total Cost
• P,Q game
– N = {1, 2}
– S1 = [0, 1], S2 = [0, 1]
– P = (a, b) ≥ 0, Q = (c, d) ≥ 0 are two points
– For strategies x, y of player 1 and 2, u1 (x, y) = −d((x, y), P ) and
u2 (x, y)√= −d((x, y), Q)
– PoA is 2 .
• Non-linear Pigou network
83
– Consider the linear function c(x) = ax + b with b ≥ 0, a > 0.
– Top road has cost c(r) , for some fixed value r .
– Bottom road has cost c(x) where x ≤ r is amount of people on lower
road.
– The price of anarchy is
rc(r)
α(C) = max max
c∈C, r≥0 x≥0 rc(x) + (r − x)c(r)
84
– Consider any edge e ∈ E with equilibrium flow fe and optimal flow
fe∗
– Suppose ce ∈ C , a class of functions, then by the definition of Pigou
boud, we have
fe ce (fe )
α(C) ≥
fe∗ ce (fe∗ ) + (fe − fe∗ )ce (fe )
1
fe∗ ce (fe∗ ) ≥ (fe∗ − fe )ce (fe ) + fe ce (fe )
α
– Summing,
X X 1
Cost(f ∗ ) ≥ ( fe∗ ce (f )) − ( fe ce (f )) + Cost(f )
α
P ∗ P
But now using the fact that e fe ce (f ) ≥ e fe ce (f ) , we can write
:
1
Cost(f ∗ ) ≥ 0 + Cost(f ) =⇒ PoA ≤ α(C)
α(C)
max W
PoA =
maxequi W
X
(ui (si , s−i ) − ui (s′i , s−i ))τ (si , s−i ) ≥ 0 ∀si , s′i ∈ Si , ∀i ∈ N
s−i
85
Q
• Every MSNE σ = (σi )i induces a CE τ such that τ (s) = i σi (si ) .
– The inequality condition for τ being a CE becomes
X Y
σi (si )( σj (sj ))(ui (si , s−i ) − ui (s′i , s−i )) ≥ 0
s−i j̸=i
σi (si )(ui (si , σ−i )−ui (s′i , σ−i )) ≥ 0 ⇐⇒ ∀si , σi (si ) = 0 or ui (si , σ−i ) ≥ ui (s′i , σ−i ) ∀s′i ⇐⇒ ∀si ∈ S
86
Y
f (F, v) = argmaxx∈F,x≥v (xi − vi )
i
• Effective negotiation
– Definition : The members of a coalition would form an effective
coalition if the players on realising that there is a feasible change in
their strategies that would benefit them all.
– Nash bargaining fails effective negotiation for n ≥ 3 . For n = 2 ,
since f (F, v) ≥ v , effective negotiation is trivially satisfied.
• Transferable utilities
– So far, we have only seen Non-Transferable Utility (NTU) games,
that is, players aren’t allowed to make “side payments” to each other,
and derive their utility solely from the outcome, and not from other
player’s utilities. In real life, this isn’t always the case (example :
employees)
– When utilities are transferable, the sensible thing to do is increase
the sum of the utilities of the coalition (aka Collective Rationality). I
claim, that for any division, if the sum is not maximum, then it is
not Pareto efficient, if utilities are transferable.
– Nash bargaining fails in TU games.
• TU/Coalition game
– N is the set of players
– v : 2N → R is the characteristic function, that assigns the maximum
value v(C) that any coalition C ⊆ N can get (which is the only thing
we need to care about, because of CR)
– v() = 0
– Γ = (N, v)
• NTU game
– N is set of players
|C|
– V : 2N → ∪C⊆N 2R is the characteristic function
– V (C) ⊆ R|C| is the set of feasible utilities by the coalition C ⊆ N
– Γ = (N, V )
• Special TU games
– Monotonic: C ⊆ D =⇒ v(C) ≤ v(D)
– Superadditive : C ∩ D = =⇒ v(C ∪ D) ≥ v(C) + v(D)
– additive : C ∩ D = =⇒ v(C ∪ D) = v(C) + v(D)
• Strategically equivalent TU games
– Let (N, v) and (N, w) be TU games
– These are strategically equivalent iff
X
∃c1 , c2 . . . cn ∈ R and ∃b ∈ R+ such that w(C) = b·(v(C)+ ci ) ∀C ⊆ N
i∈C
• 0-1 normalisation
– A TU game (N, v) is 0,1 normalised iff
87
∗ v({i}) = 0 ∀i ∈ N
∗ v(N ) = 1
∗ v(C) ∈ [0, 1] ∀C ⊆ N
– Every TU game is strategically equivalent to a unique 0-1 normalised
TU game.
• Imputation
– Given a TU game (N, v) , an allocation x is an imputation iff it has
1. Independent Rationality (IR) P : xi ≥ v(i) ∀i ∈ N
2. Collective Rationality (CR) : i∈N xi = v(N )
– An imputation
P y dominates x if ∃C ⊆ N such that yi ≥ xi ∀i ∈ C ,
and i∈C yi ≤ v(C) .
For any imputation x , a coalition C is a blocking coalition if v(C) >
– P
i∈C xi . Essentialy, a blocking coalition is a group of people who can
“revolt” against x and come up with an imputation y that dominates
x.
– An imputation in un-dominated if there is no imputation that can
dominate it, which is the same as saying that it doesn’t have any
blocking coalitions, i.e.
X
xi ≥ v(C) ∀C ⊆ N
i∈C
88
The dual LP for this is
X X
max α(C)v(C) α(C) = 1 ∀i ∈ N α(C) ≥ 0 ∀C ⊆ N
C⊆N C⊇{i}
By strong duality, if (and only if) the optimal value for this dual LP
is v(N ) (just like the primal problem), then the core is non-empty
This necessary and sufficient condition is called Balancedness.
– Balanced TU game
A TU game (N, v) is balanced if
X X
α(C) = 1 ∀i ∈ N and α(C) ≥ 0 ∀C ⊆ N =⇒ α(C)v(C) ≤ v(N )
C⊇{i} C⊆N
– Convex TU game
∗ Definition
Jun 23 : Welfare
• Division based on fitness : give more utility to people who worked harder.
This isn’t going to work in practice though. An animation company,
no matter how good animators they have, still need voice artists, who,
arguably, might slack off once a series is in full throttle. No matter how
little work someone has done, if his “contribution” (the difference in the
value of the product because of him) is big, he gets more in real life.
89
• Welfarist division : allocate resource such that the total benefit (Welfare
function W ) to all is maximised. The benefit can be just the sum of
utilities, or the product, or sum of powers of the utilities, or the minimum.
Note : For convenience, for divisions v1 , v2 , define v1 ≻ v2 ⇐⇒ W (v1 ) >
W (v2 ) and v1 ∼ v2 ⇐⇒ W (v1 ) = W (v2 )
• Welfare fuctions : What would be a good welfare function ? We can write
some sensible and intuitive axioms that will help us figuring out a good
welfare function W .
– Completeness : For any allocations v1 , v2 , one of these 3 must happen:
∗ v1 ≻ v2
∗ v1 ≺ v2
∗ v1 ∼ v2
– Transitivity : v1 ⪰ v2 ⪰ v3 =⇒ v1 ⪰ v3
– Monotonicity : v1 ≥ v2 =⇒ v1 ⪰ v2
– Symmetry : swap(v1 , i, j) ∼ v1 ∀i, j ∈ N
– Independence of unconcerned agent : Given divisions x, y with xi = yi
, x ≻ y ⇐⇒ x−i ≻ y−i
– Independence of scale : v1 ≻ v2 ⇐⇒ av1 ≻ av2 for any a > 0
– Pigou Dalton Tranfser Principle (equality is favoured) : Given di-
visions x, y, if xi = yi ∀i ∈ N − {j, k} and xj + xk = yj + yk and
xi < yj < yk < xk , then y ≻ x . Essentially, take resource from rich,
and give it to poor, and welfare is increased.
The functions {Wp }p∈(−∞,1] that satisfy all these axioms are called social
welfare function, and given by
P p
Pi ui
0<p≤1
Wp = i log ui p=0
P p
− i ui p<0
– Utilitarian Welfare is the value of W1
– Egalitarian welfare is give by W = mini ui , maximising which is the
same as maximising W−∞ Q
– Nash Welfare is the value Wnash = exp(W0 ) = i ui .
90
If M is finite, then this is called an “indivisible goods allocation game”.
• Divisible resource allocation game
– M = [0, 1]
– Normalisation : vi (M ) = 1 ∀i
– Non-negativity : vi (Ai ) ≥ 0 ∀Ai ⊆ M ∀i
– Additivity : A ∩ A′ = =⇒ v(A ∪ A′ ) = v(A) + v(A′ ) ∀A, A′ ⊆ M .
– Divisibility : A′ ⊆ A =⇒ v(A′ ) = ∃λ ∈ [0, 1] s.t . λv(A) .
• Proportionality : An allocation A = (A1 , A2 . . . ) is proportional if vi (Ai ) ≥
1/n ∀i
• Envy Freeness (EF) : vi (Ai ) ≥ vi (Aj ) ∀i, j ∈ N Note that Envy Freeness
+ complete allocation =⇒ proportonality, P since eachP player, in
his mind, has the best piece, thus nvi (Ai ) = j vi (Ai ) ≥ j vi (Aj ) =
vi (M ) = 1 , which means vi (Ai ) ≥ 1/n .
• Equitability (EQ): vi (Ai ) ≥ vj (Aj )∀i, j ∈ N
• EF1 : ∃g ∈ Aj s.t. vi (Ai ) ≥ vi (Aj − {g})
• EQ1 : ∃g ∈ Aj s.t. vi (Ai ) ≥ vj (Aj − {g})
• EFX : ∀g ∈ Aj , vi (Ai ) ≥ vi (Aj − {g})
• EQX : ∀g ∈ Aj , vj (Ai ) ≥ vi (Aj − {g})
• Dubis-Spanier (moving knife) algorithm for proportional allocation of
divisible resource : Cut just enough from the left that the piece is more
that 1/n for at least one agent. First, ask each agent to mark where that
cut would be for them, then choose the minimum. Thus, ask the agents
O(n2 ) times.
• Even and Paz (divide and conquer) algorithm for same : Let everyone mark
a cut that would divide the cake into equal parts according to them. Cut at
the median, separate the group of people based on whether their mark was
to the left or the right (put the median guy in any one randomly) , then
solve the sub-problems (recursive procedure, until n = 1 is encountered)
• EF divisible good allocation for n = 2 : Let one player divide into equal
portions (according to him), and let the 2nd player choose one to his liking
• EF division for n = 3 : Selfridge Conway Algorithm
• Round Robin (RR) is an algorithm that gives EF1 division for finite
indivisible resource allocation games.
91
• For the class Br of indivisible good allocation games with binary valuation,
single person liking each good, and r types of people (row vectors), we
have r − 1 ≤ PoF(Br ) ≤ r where W = W1 and fairness criterion is EQ1
• For class Bstoc of indivisible good allocation games with binary valuation
and row stochastic and column stochastic valuation matrix, the PoF is 1
for each game, where W = W1 and fairness criterion is EQ .
Jun 29 : Fairness in ML
• Given normal attributes X , sensitive attributes A , and binary targets Y ,
a classification model, after training makes predictions Ŷ as I(h(X) > yt ),
without using A, Y .
But just because the model didn’t use A
• Demographic Parity : P r(Y |a) is the same for all a, also written as Y ⊥ A
• Independence : P r(Ŷ |A = a) is the same for all a , also written as Ŷ ⊥ A
• Separation : Pr(Ŷ |a, Y ) is the same for all a (for any randomly chosen,
but fixed Ŷ , Y ). This is also written as (Ŷ ⊥ A)|Y , since we are looking
for independence in the space that has the specific Y , for every possible Y
• Sufficiency : P r(Y |a, Ŷ ) is the same for all a , also written as (Y ⊥ A)|Ŷ .
• ( Independence and separation ) if and only if (Y ⊥ A or Y ⊥ Ŷ ) This is
an “if and only if” condition for binary classification only. In general it’s
just an “if”.
• ( Independence and sufficiency ) if and only if (Y ⊥ A)
• ( Separation and sufficiency) if and only if (Y ⊥ A or Y = Ŷ ) The condition
Y = Ŷ means full accuracy.
• Calibration : P r(Y = 1|h(x) = r) = r
• Calibration on groups : P r(Y = 1|h(x) = r, A = a) = r ∀a This obviously
leads to calibration for total data-set.
• All above are group fairness notions. The one important individual fairness
criterion is (D, d) - Lipschitz fairness, which requires D(h(x1 ), h(x2 )) ≤
d(x1 , x2 ) ∀x1 , x2 ∈ X , where D, d are some distance functions.
92
– At yt = 1 , there are 0 positive predictions, and thus, F P R = 0 and
T P R = 0 too.
– At yt = 0, there will be 0 negative predictions, making T N R =
F N R = 0 . and thus, F P R = T P R = 1 .
– For a perfect classification, we would have F P R = 0, T P R = 1 .
– For a completely random h(X) function, P r(h(x) > yt |Y = 1) =
P r(h(x) > yt |Y = 0) = yt , which is to say F P R = T P R = yt
– Thus, a perfect classifier and a random classifier would has an ROC
curve as described :
– We can plot the ROC curve for different groups (assume 2) simulta-
neously like this :
Here, T P Ra = P r(Ŷ = 1|Y = 1, a) and similarly, other definitions.
– The point of intersection of ROC curves is the point where “separation”
or equal odds is achieved.
– ROC curves for different groups might intersect at a point which has
different threshold values for different classifiers, or might give a really
bad total accuracy even if the thresholds are similar
– So, we randomise between different thesholds in order to achieve
better results.
• Pre-processing data to make ML models fair
93
Figure 72: Untitled
94
– Massaging : For instances with P r(Ŷ = 1) ≈ 0.5 , we can change
the labels (Y ) in order to go towards equal base rates (Demographic
Parity)
– Perturbation : Change to input features so that, the ordering of
h(x) remains the same in any group, and, with the new features, the
distributions look the same
– Sampling :
∗ We can weight the importance of the samples according to the
sensitive features
∗ Preferential Sampling : Removal of duplicate samples based of
decision boundary
This is in contrast to uniform sampling, where duplicates are
removed directly.
∗ Oversampling the minority (SMOTE)
More Practice
www.eecs.harvard.edu
www.math-berlin.de
95
Figure 74: Untitled
Final Exam
FAI : Exam 2 doubts
EndSem_CS329.pdf
Helpful Code
NE.ipynb
TU.ipynb
96