#OK to post homework #Blair Seidler, 2/20/22, Assignment 8 Help:=proc(): print(`No procedures today!`): end: #1. Yeah, I like the writing style of this book. The only downside is that I'm used to thinking about # games as bi-matrices (even before this class started), so the one-player perspective Sigmund uses # takes me some extra time to process. #2. (* So we are thinking about the Donation Game (a/k/a Prisoner's Dilemma) as the game G = [[[R, R], [S, T]], [[T, S], [P, P]]] Where T>R>P>S. Because T>R and P>S, the second row (column) dominates the first row (column). This forces the NE to [2,2] with payoff [P,P]. If we use the values T=R+0.01, R=10000P, S=P-0.01 for some positive P, we see that the inequality T>R>P>S holds. The best total result for the game ([1,1]) pays each player 10000 times the NE payoff. Tragic, indeed! *) #3. (* Again, we can think about the Snowdrift game as G = [[[R, R], [S, T]], [[T, S], [P, P]]] But now with T>R>S>P. Here, we have two pure NE's. Row's best response to C1 is R2 Row's best response to C2 is R1 Col's best response to R1 is C2 Col's best response to R2 is C1 So there are pure NE's at [1,2] and [2,1]. As always, when there are two pure NE's in a 2x2 game, there is also a mixed NE where p1 and p2 are dependent on the relative values of P,R,S,T. Using the book values, the game is [[[25, 25], [10, 40]], [[40, 10], [0, 0]]]. This produces a mixed NE at p1=p2=0.4. Feeling too lazy to do this by hand: > G := [[[R, R], [S, T]], [[T, S], [P, P]]] G := [[[R, R], [S, T]], [[T, S], [P, P]]] > po := PayOffG(G, p1, p2); po := [P p1 p2 + R p1 p2 - S p1 p2 - T p1 p2 - P p1 - P p2 + S p1 + T p2 + P, P p1 p2 + R p1 p2 - S p1 p2 - T p1 p2 - P p1 - P p2 + S p2 + T p1 + P] > d1 := diff(po[1], p1); d1 := P p2 + R p2 - S p2 - T p2 - P + S > d2 := diff(po[2], p2); d2 := P p1 + R p1 - S p1 - T p1 - P + S > solve({d1 = 0, d2 = 0}, {p1, p2}); / P - S P - S \ { p1 = -------------, p2 = ------------- } \ P + R - S - T P + R - S - T/ Sanity-checking against the book values, T=40, R=25, S=10, P=0 p1=p2=(-10)/(-25)=2/5 *check* Verified against several sets of random numbers: > rc := randcomb(500, 4); rc := {39, 71, 92, 451} >T := rc[4]; R := rc[3]; S := rc[2]; P := rc[1]; T := 451 R := 92 S := 71 P := 39 > MNE22(G); / [32 32 ]\ { [0, 1], [1, 0], [---, ---] } \ [391 391]/ > (P - S)/(P + R - S - T); 32 --- 391 *)