Distributed Computing with Adaptive Heuristics Aaron D. Jaggard Rutgers/Colgate Michael Schapira Princeton Rebecca N. Wright Rutgers Innovations in Computer Science 09 January 2011 Partially supported by NSF This Talk • Identify new aspects of the boundary between game theory and distributed computing • Look at some initial results • Identify various avenues for future work Background Areas nodes interacting in an asynchronous environment simple, myopic rules of behavior; convergence in synchronized environment Motivation Many real-world settings involve both simple, myopic behavior and asynchronicity – Network protocols • Routing • Congestion control • ... – Asynchronous circuits Research Agenda new questions in game theory and economics novel applications in distributed computing (fictitious play, regret minimization,…) (congestion control, asynchronous circuits,…) Goal: Explore dynamics of adaptive heuristics when asynchrony is allowed Understanding when Dynamics Converge: A Simple Example • Two stable states (pure Nash equilibria) Bach Stravinsky Bach Stravinsky (5,4) (1,1) (0,0) (4,5) Understanding when Dynamics Converge: A Simple Example • If either player is activated alone, the system converge Bach Stravinsky Bach Stravinsky (5,4) (1,1) (0,0) (4,5) Understanding when Dynamics Converge: A Simple Example • Without control over who is activated, the system might not converge Bach Stravinsky Bach Stravinsky (5,4) (1,1) (0,0) (4,5) Basic Model • n nodes (the players) • Node i has action space Ai • Each node i has a reaction function fi: A1 x A2 x ...x An→Ai that determines i’s next action based on other current actions – No dependence on own action Dynamics • Infinite sequence of discrete timesteps t = 1, … • Schedule s:{1,…} → 2[n] determines which set of players is activated at time t. – Fair schedules • Start at an initial state; at each time step t, let the nodes in s(t) react using their reaction functions Convergence • The players’ action profile a=(a1,…, an) is a stable state if fi(a) = ai for every i. • The system is convergent if the dynamics always converge (for all initial states and all fair schedules) Two High-Level Questions • What classes of systems are guaranteed (or cannot be guaranteed) to always converge to a stable state? • How hard is it to determine whether a system always converges to a stable state? Basic Result Theorem: If the system has multiple stable states, then the system is not convergent. (I.e., there is some initial state and some schedule that diverge.) • Actually, can strengthen this: – Allow some history-dependence – Allow randomness in reaction functions Revisiting Our Example Bach Stravinsky Bach Stravinsky (5,4) (1,1) (0,0) (4,5) A Few Words About the Proof • Inspired by approach to FLP result on impossibility of resilient consensus Applications • Interdomain routing • Congestion control • Best-reply dynamics in general games • Diffusion of technologies in social networks • Asynchronous circuits • … Communication Complexity Theorem: Determining whether a system of n nodes, each with two actions, is convergent may require Ω(2n) bits. – Even if all reaction functions are deterministic, and do not depend on history or own action • Uses a reduction from SET DISJOINTNESS. – Constructed system has a unique stable state Computational Complexity Theorem: Determining whether a system of n nodes, each with deterministic and historyless reaction function, is convergent is PSPACEcomplete. • So, difficult even if the reaction functions are succinctly represented (so that they could be transmitted quickly) • Under complexity assumptions, no short witnesses (in general) of being convergent Scheduling Bach Stravinsky Bach Stravinsky (5,4) (1,1) (0,0) (4,5) Question: Does randomness help? Scheduling Question: Does randomness help? Answer: No. Divergence may not only be possible, but overwhelmingly likely. • Issues of r-fairness Open Questions • What are the convergence guarantees and impossibility results – For other heuristics – For other notions of convergence – For other notions of equilibrium • We’ve taken first steps in the context of regret-minimizing dynamics Other Open Questions • Variations in information – Outdated information – Knowledge only of own utility function (uncoupled dynamics) • Lots of others Summary • Simple behaviors show up in lots of settings – Important to understand dynamic behavior when asynchrony is allowed • Initial results on the impossibility of guaranteeing convergence • Lots of open questions – What can we say about the dynamic behavior in other natural asynchronous settings?