Download Distributed Software Development: Self-interested Agents and Game Theory and more Study notes Software Engineering in PDF only on Docsity!
Distributed Software Development^ Self-interested Agents^ Chris BrooksDepartment of Computer ScienceUniversity of San Francisco
Department of Computer Science — University of San Francisco – p. 1/
23-2:^ Engineering systems vs Engineering agents^ •^ Recall that at the end of Thursday’s class, we were talkingabout ant algorithms.^ ◦^ By specifying a simple set of rules, we can achieveinteresting large-scale behavior.^ •^ Ant-type approaches lead us to think about how we can buildsystems that produce the effects we want.^ •^ “Given that agents will act in a particular way, how can weconstrain the environment to achieve a desirable outcome?”^ •^ This method of problem solving is best applied to problemsinvolving self-interested agents.
Department of Computer Science — University of San Francisco – p. 2/
23-4:^ Rationality and protocol design^ •^ By treating participants as rational agents, we can exploittechniques from game theory and economics.^ •^ Assume everyone will act to maximize their own payoff^ •^ How do we structure the rules of the game so that this behaviorleads to a desired outcome?^ •^ This approach is called
mechanism design.^ Department of Computer Science — University of San Francisco – p. 4/
23-5:^ Example: Clarke tax^ •^ Assume that we want to find the shortest path through a graph.^ •^ Each edge is associated with an agent.^ •^ Each edge has a privately known transmission cost.^ ◦^ Agents might choose to lie about their transmission cost.^ •^ How can we find the shortest path?
Department of Computer Science — University of San Francisco – p. 5/
23-7:^ Example^ •^ Assume each agent bids truthfully.^ •^ Agents A, B, and C are each paid 8 - (6 - 2) = 4^ ◦^ This is their contribution to the ’best solution’^ •^ Other agents are paid nothing.
Department of Computer Science — University of San Francisco – p. 7/
23-8:^ Example^ •^ Why is truth-telling a dominant strategy?^ ◦^ What if a underbids?^ •^ A bids 1: paid 8 - (5 - 1) = 4. No benefit.^ ◦^ What if A overbids?^ •^ A bids 3: paid 8 - (7 - 3) = 4. No benefit.^ •^ A bids 5. No longer on the shortest path, so A gets 0.^ ◦^ What if d underbids?^ •^ D bids 3: no change.^ •^ D bids 1: paid 6 - (5 - 1) = 2. But his cost is 4.^ ◦^ D overbids: no change.
Department of Computer Science — University of San Francisco – p. 8/
23-10:^ Solution concepts^ •^ There are a number of potential solution concepts we can use:^ ◦^ Social welfare - sum of all agent utility.^ ◦^ Pareto efficiency^ •^ Is there a solution that makes one agent better off withoutmaking anyone worse off?^ ◦^ Individual rationality^ •^ An agent who participates in the solution should be betteroff than if it hadn’t participated.^ ◦^ Stability^ •^ The mechanism should not be able to be manipulated byone or more agents.^ •^ It’s not usually possible to optimize all of these at the sametime.
Department of Computer Science — University of San Francisco – p. 10/
23-11:^ Stability^ •^ Ideally, we can design mechanisms with
dominant strategies ◦^ A dominant strategy is the best thing to do no matter whatany other agent does. ◦^ In the previous example, truth-telling was a dominantstrategy. ◦^ We would say that the mechanism is non-manipulable.(lying can’t break it.) • Unfortunately, many problems don’t have a dominant strategy. • Instead, the best thing for agent 1 to do depends on whatagents 2,3,4,... do.
Department of Computer Science — University of San Francisco – p. 11/
23-13:^ Nash equilibrium^ •^ If BM climbs the tree^ ◦^ BM gets 6 C, LM gets 4 C^ ◦^ LM eats some before BM gets down^ •^ If LM climbs the tree^ ◦^ BM gets 9 C, LM gets 1 C^ ◦^ BM eats almost all before LM gets down^ •^ If both climb the tree^ ◦^ BM gets 7 C, LM gets 3 C^ ◦^ BM hogs coconut^ •^ How should the monkeys each act so as to maximize their owncalorie gain?
Department of Computer Science — University of San Francisco – p. 13/
23-14:^ Nash equilibrium^ •^ Assume BM decides first^ ◦^ Two choices: wait or climb^ •^ LM has four choices:^ ◦^ Always wait, always climb, same as BM, opposite of BM.
Department of Computer Science — University of San Francisco – p. 14/
23-16:^ Nash equilibrium^ •^ Nash eqilibria are nice in systems with rational agents.^ •^ If I assume other agents are rational, then I can assume they’llplay a best response.^ •^ I only need to consider Nash equilibria.^ •^ They are^ efficient^ (in the Pareto sense).^ •^ Problems:^ ◦^ There can be many Nash equilibria. (the cake-cuttingproblem has an infinite number of Nash equilibria)^ ◦^ Some games have no Nash equilibrium.^ ◦^ There may be ways for groups of agents to cheat.
Department of Computer Science — University of San Francisco – p. 16/
23-17:^ Selecting between equilibria^ •^ Given that there are lots of possible Nash equilibria in aproblem, how does an agent choose a strategy?^ •^ In some cases, external forces are used to make oneequilibrium more attractive.^ ◦^ Government regulation, taxes or penalties^ •^ In other cases a natural
focal point^ exists. ◦ There is a solution that is attractive or sensible
outside the scope of the game.
Department of Computer Science — University of San Francisco – p. 17/
23-19:^ Auctions^ •^ An auction is a negotiation mechanism where:^ ◦^ The mechanism is well-specified (it runs according toexplicit rules)^ ◦^ The negotiation is mediated by an intermediary^ ◦^ Exchanges are market/currency-based^ •^ Agents place bids on items or collections of items.^ •^ An auctioneer determines how goods are allocated.^ •^ Requirements: the auction should be fair, efficient, easy to use,and computationally efficient.^ •^ We’ll need to trade these against each other.
Department of Computer Science — University of San Francisco – p. 19/
23-20:^ Auctions^ •^ Private-value auctions are easier to think about at first.^ •^ In this case, the value agent A places on a job has nothing todo with the value that agent B places on the object.^ ◦^ For example, an hour of computing time.^ •^ In common-value auctions, the value an agent places on anitem depends on how much others value it.^ ◦^ Example: art, collectibles, precious metals.
Department of Computer Science — University of San Francisco – p. 20/