Primal-Dual Algorithms for Rational Convex Programs II: Algorithmic Game Theory Dealing with Infeasibility and Internet Computing Vijay V. Vazirani Georgia Tech Nash bargaining game, 1950 Captures the main idea that both players gain if they agree on a solution. Else, they go back to status quo. Complete information game. Example Two players, 1 and 2, have vacation homes: 1: in the mountains 2: on the beach Consider all possible ways of sharing. Utilities derived jointly v2 S : convex + compact feasible set v1 Disagreement point = status quo utilities v2 S c2 c1 Disagreement point = (c1 , c2 ) v1 Nash bargaining problem = (S, c) v2 S c2 c1 Disagreement point = (c1 , c2 ) v1 Nash bargaining Q: Which solution is the “right” one? Solution must satisfy 4 axioms: Paretto optimality Invariance under affine transforms Symmetry Independence of irrelevant alternatives v N (S , c), T S & v T v N (T , c) v2 S v c2 c1 v1 v N (S , c), T S & v T v N (T , c) v2 S T v c2 c1 v1 Thm: Unique solution satisfying 4 axioms v2 N (S , c) max(v1 ,v2 )S {(v1 c1 )(v2 c2 )} S c2 c1 v1 Generalizes to n-players Theorem: Unique solution N (S , c) max vS {(v1 c1 ) ... (vn cn )} Linear Nash Bargaining Feasible set is a polytope defined by linear packing constraints Nash bargaining solution is optimal solution to convex program: max log(vi ci ) i s.t. linear constraints How should they exchange their goods? State as a Nash bargaining game u f : (.,.,.) R ub : (.,.,.) R um : (.,.,.) R c f u f (1, 0, 0) cb ub (0, 1, 0) cm um (0, 0,1) S = utility vectors obtained by distributing goods among players Special case: linear utility functions u f : (.,.,.) R ub : (.,.,.) R um : (.,.,.) R c f u f (1, 0, 0) cb ub (0, 1, 0) cm um (0, 0,1) S = utility vectors obtained by distributing goods among players ADNB Generalize further: assume ci 's are arbitrary, i.e., not status quo utilities. Given game is feasible iff vS s.t. i : vi ci Convex program for ADNB max log(vi ci ) i s.t. i : vi j u ij x ij j : ij : x 1 x 0 i ij ij Theorem (V., 2008) This convex program is rational. Combinatorial polynomial time algorithm for determining feasibility, and if feasible, for solving it. Game plan Use KKT conditions to transform ADNB to determining feasibility & computing the equilibrium in a certain market. Design algorithm using primal-dual paradigm. Several buyers with different utility functions and moneys. Find equilibrium prices! p1 p2 p3 Linear Fisher Market Assume: Buyer i’s total utility, vi uij xij jG mi : money of buyer i. One unit of each good j. n buyers and g goods. Find equilibrium prices! Flexible budget market, only difference: Buyers don’t spend a fixed amount of money. Instead, they have a strict lower bound on the utility they desire. Flexible budget market, only difference: Buyers don’t spend a fixed amount of money. Instead, they have a strict lower bound on the utility they desire. Money spent = f (utility desired, prices of goods) Most cost-effective goods At prices p, for buyer i: Define p j Si arg min j uij p j cost (i ) min j uij Flexible budget market Agent i wants utility ci At prices p, must spend ci . cost (i) to get utility ci Flexible budget market Agent i wants utility ci At prices p, must spend ci . cost (i) to get utility Define Find market clearing prices. mi 1 ci . cost (i) ci Flexible budget market Agent i wants utility ci At prices p, must spend ci . cost (i) to get utility Define Find market clearing prices -- may not exist!! mi 1 ci . cost (i) ci Flexible budget market Agent i wants utility ci At prices p, must spend ci . cost (i) to get utility Define Find market clearing prices -- may not exist!! mi 1 ci . cost (i) feasible/infeasible ci Theorem: ADNB reduces to Equilibrium for flexible budget markets Theorem: ADNB reduces to Equilibrium for flexible budget markets (S(u), c) M(u, c) (S, c) is feasible iff M is feasible. If feasible, x is Nash bargaining solution iff x is equilibrium allocation. Convex program for ADNB max log(vi ci ) i s.t. i : vi j u ij x ij j : ij : x 1 x 0 i ij ij prices pj An easier question Given prices p, are they equilibrium prices? If so, find equilibrium allocations. An easier question Given prices p, are they equilibrium prices? If so, find equilibrium allocations. Equilibrium prices are unique! Max flow in N(p) p(1) m(1) m(2) p(2) p(3) m(3) m(4) p(4) p: equilibrium prices iff both cuts saturated Weak Domination p q if j : p j q j 0 q(1) m(1) m(2) t m(3) m(4) q(2) q(3) q(4) Lemma: If M is feasible, p equilibrium prices and s is a min-cut in N(q) then p q s Small prices: q s.t. s is a min-cut in N(q) q(1) m(1) m(2) t m(3) m(4) q(2) q(3) q(4) s Invariant Throughout algorithm: s is a min-cut in N(p) i.e., algorithm works with small prices. Feasible Prices p: feasible if small and i : surplus(i) 1 Lemma: p feasible i : vi ci Exists iff M is feasible. Feasible Prices p: feasible if small and i : surplus(i) 1 Lemma: p feasible i : vi ci Exists iff M is feasible. Observe: Notion defined via balanced flow! 1-surplus i surplus(i) - 1 Because of Invariant, surplus(i) 0 Hence, i 1 p is feasible iff p is small and i : i 0 M is feasible iff maxvS mini vi ci 0 Write this as an LP M is feasible iff t > 0 max t s.t. i : u x jG j : x iB i, j : ij ij ij ci t 1 xij 0 Proof of infeasibility: dual soln. 0 max t s.t. i : u x jG j : x iB i, j : ij ij ij ci t 1 xij 0 Proof of infeasibility Lemma: If i i 0 and p j j then M is infeasible. 0 Proof of infeasibility Lemma: If i i 0 and p j 0 j then M is infeasible. Observe: If p 0, then i : surplus(i) = 0, hence i 0 Initialization i : mi 1 Find equilibrium prices, p, for this linear Fisher market. i : mi 1 ci . cost(i) Invariant holds. Search Allocations Prices (Money) Infeasible Feasible ? Decision Allocations Prices (Money) Feasible: i : i 0 Infeasible: i i 0 and p j j 0 Network N(p) N’(I, J) i 0 i 0 J I N - N’ Network N(p) N’(I, J) i 0 i 0 J I N - N’ Network N(p) N’(I, J) i 0 i 0 J I N - N’ Best viewed as a tug-of-war between 2 teams of buyers! GOOD: i s.t. i 0 NOT GOOD: i s.t. i 0 GOOD NOT GOOD i min rest i 0 i 0 I J i min rest i 0 i 0 I J i min rest i 0 i 0 I J i min rest i 0 i 0 I J Decision takes polynomial time Use balanced flow! i2 i ( B1 B2 ) 1 Decreases by fraction in each iteration. 2 n Search Allocations Prices (Money) Infeasible Feasible ? Decision Allocations Prices (Money) Network N(p) N - N’ I N’(I, J) J p implies mi mi 1 ci . cost(i) What about surplus(i)? p implies mi mi 1 ci . cost(i) What about surplus(i)? surplus(i) decreases iff i 0 equilibrium init feasible equilibrium ? init feasible Feasibility for LP’s is easy! Non-total problems just as easy as total ones. e.g., max. wt. perfect matching vs max. wt. matching. Theorem: Algorithm runs in polynomial time. Theorem: Algorithm runs in polynomial time. Q: Find strongly polynomial algorithm! Open Can rational convex programs be solved in polynomial time using an LP-solver? Open Nonlinear programs with rational solutions! Open Nonlinear programs with rational solutions! Solvable combinatorially!! Primal-Dual Paradigm Combinatorial Optimization (1960’s & 70’s): Integral optimal solutions to LP’s Exact Algorithms for Cornerstone Problems in P Matching (general graph) Network flow Shortest paths Minimum spanning tree Minimum branching Primal-Dual Paradigm Combinatorial Optimization (1960’s & 70’s): Integral optimal solutions to LP’s Approximation Algorithms (1990’s): Near-optimal integral solutions to LP’s Approximation Algorithms set cover Steiner tree Steiner network k-MST scheduling . . . facility location k-median multicut feedback vertex set Primal-Dual Paradigm Combinatorial Optimization (1960’s & 70’s): Integral optimal solutions to LP’s Approximation Algorithms (1990’s): Near-optimal integral solutions to LP’s Algorithmic Game Theory & Economics: Rational solutions to nonlinear convex programs Primal-Dual Paradigm Combinatorial Optimization (1960’s & 70’s): Integral optimal solutions to LP’s Approximation Algorithms (1990’s): Near-optimal integral solutions to LP’s Algorithmic Game Theory & Economics: Rational solutions to nonlinear convex programs Approximation algorithms for convex programs?! Convex program for ADNB max log(vi ci ) i s.t. i : vi j u ij x ij j : ij : x 1 x 0 i ij ij Eisenberg-Gale Program, 1959 max mi log vi i s.t. i : vi j u ij x ij x 1 ij : x 0 j : ij i ij Common generalization max wi log(vi ci ) i s.t. i : vi j u ij x ij j : ij : x 1 x 0 i ij ij Common generalization Is it meaningful? Can it be solved via a combinatorial, polynomial time algorithm? Common generalization Is it meaningful? Kalai, 1975: Nonsymmetric bargaining games wi : clout of player i. Nonsymmetric ADNB Common generalization Is it meaningful? Kalai, 1975: Nonsymmetric bargaining games wi : clout of player i. Algorithm Nonsymmetric ADNB