COS Homework 3

Similar documents
Syllabus Foundations of Finance Summer 2014 FINC-UB

Probability and Game Theory Course Syllabus

ECON 484-A1 GAME THEORY AND ECONOMIC APPLICATIONS

CS 100: Principles of Computing

Written by Wendy Osterman

MGMT 479 (Hybrid) Strategic Management

Data Structures and Algorithms

General Physics I Class Syllabus

Course Content Concepts

TU-E2090 Research Assignment in Operations Management and Services

MGMT 5303 Corporate and Business Strategy Spring 2016

The Evolution of Random Phenomena

DIGITAL GAMING & INTERACTIVE MEDIA BACHELOR S DEGREE. Junior Year. Summer (Bridge Quarter) Fall Winter Spring GAME Credits.

B. How to write a research paper

EDIT 576 (2 credits) Mobile Learning and Applications Fall Semester 2015 August 31 October 18, 2015 Fully Online Course

Department of Anthropology ANTH 1027A/001: Introduction to Linguistics Dr. Olga Kharytonava Course Outline Fall 2017

How do adults reason about their opponent? Typologies of players in a turn-taking game

Radius STEM Readiness TM

CS Machine Learning

When!Identifying!Contributors!is!Costly:!An! Experiment!on!Public!Goods!

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS

Getting Started with Deliberate Practice

Cognitive Thinking Style Sample Report

Rule-based Expert Systems

Classroom Assessment Techniques (CATs; Angelo & Cross, 1993)

Grade 6: Correlated to AGS Basic Math Skills

Food Products Marketing

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

The dilemma of Saussurean communication

Using focal point learning to improve human machine tacit coordination

South Carolina College- and Career-Ready Standards for Mathematics. Standards Unpacking Documents Grade 5

WESTERN NATIONAL ROUNDUP LIVESTOCK QUIZ BOWL

PHY2048 Syllabus - Physics with Calculus 1 Fall 2014

PROMOTION MANAGEMENT. Business 1585 TTh - 2:00 p.m. 3:20 p.m., 108 Biddle Hall. Fall Semester 2012

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

Algebra 1, Quarter 3, Unit 3.1. Line of Best Fit. Overview

An Introduction to Simio for Beginners

SETTING STANDARDS FOR CRITERION- REFERENCED MEASUREMENT

EDIT 576 DL1 (2 credits) Mobile Learning and Applications Fall Semester 2014 August 25 October 12, 2014 Fully Online Course

MARKETING ADMINISTRATION MARK 6A61 Spring 2016

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

SYLLABUS. EC 322 Intermediate Macroeconomics Fall 2012

Proof Theory for Syntacticians

Extending Place Value with Whole Numbers to 1,000,000

Hentai High School A Game Guide

Statewide Framework Document for:

STUDENT MOODLE ORIENTATION

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

Sample Problems for MATH 5001, University of Georgia

Grade 2: Using a Number Line to Order and Compare Numbers Place Value Horizontal Content Strand

Results In. Planning Questions. Tony Frontier Five Levers to Improve Learning 1

Instructor Dr. Kimberly D. Schurmeier

International Business BADM 455, Section 2 Spring 2008

MATH 1A: Calculus I Sec 01 Winter 2017 Room E31 MTWThF 8:30-9:20AM

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Introduction to Personality Daily 11:00 11:50am

Dynamic Evolution with Limited Learning Information on a Small-World Network

Marketing Management MBA 706 Mondays 2:00-4:50

Curriculum Design Project with Virtual Manipulatives. Gwenanne Salkind. George Mason University EDCI 856. Dr. Patricia Moyer-Packenham

Class Mondays & Wednesdays 11:00 am - 12:15 pm Rowe 161. Office Mondays 9:30 am - 10:30 am, Friday 352-B (3 rd floor) or by appointment

Chapter 4 - Fractions

Introduction to Ensemble Learning Featuring Successes in the Netflix Prize Competition

Laboratorio di Intelligenza Artificiale e Robotica

ADMN-1311: MicroSoft Word I ( Online Fall 2017 )

Science Fair Project Handbook

Naviance / Family Connection

Just in Time to Flip Your Classroom Nathaniel Lasry, Michael Dugdale & Elizabeth Charles

DEVM F105 Intermediate Algebra DEVM F105 UY2*2779*

Master Program: Strategic Management. Master s Thesis a roadmap to success. Innsbruck University School of Management

Critical Thinking in Everyday Life: 9 Strategies

English 120: Introduction to the English Major Literature, History, Culture CRN: Fall 2012: MW 8:00 9:50 FH 236

Introduction and Motivation

Grade 5 + DIGITAL. EL Strategies. DOK 1-4 RTI Tiers 1-3. Flexible Supplemental K-8 ELA & Math Online & Print

Beginning and Intermediate Algebra, by Elayn Martin-Gay, Second Custom Edition for Los Angeles Mission College. ISBN 13:

Objective: Add decimals using place value strategies, and relate those strategies to a written method.

(Sub)Gradient Descent

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

MKTG 611- Marketing Management The Wharton School, University of Pennsylvania Fall 2016

Artificial Neural Networks written examination

A simulated annealing and hill-climbing algorithm for the traveling tournament problem

NUMBERS AND OPERATIONS

GENERAL BUSINESS 7397, section 18842: BOOKS AN MBA SHOULD READ

PSYCHOLOGY 353: SOCIAL AND PERSONALITY DEVELOPMENT IN CHILDREN SPRING 2006

Chemistry 106 Chemistry for Health Professions Online Fall 2015

Lecture 6: Applications

Section 1: Basic Principles and Framework of Behaviour

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Numeracy Medium term plan: Summer Term Level 2C/2B Year 2 Level 2A/3C

EFFECTIVE CLASSROOM MANAGEMENT UNDER COMPETENCE BASED EDUCATION SCHEME

P-4: Differentiate your plans to fit your students

Computer Science 1015F ~ 2016 ~ Notes to Students

INTERMEDIATE ALGEBRA Course Syllabus

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

Dublin City Schools Mathematics Graded Course of Study GRADE 4

Increasing Student Engagement

Parallel Evaluation in Stratal OT * Adam Baker University of Arizona

Learning to Think Mathematically With the Rekenrek

The Success Principles How to Get from Where You Are to Where You Want to Be

Transcription:

COS 445 - Homework 3 Due online Monday, April 3rd at :59 pm Please reference the course infosheet http://www.cs.princeton.edu/~smattw/ Teaching/infosheet445sp7.pdf for the complete homework/collaboration policy. Highlights below: You must write up your solutions by yourself, without any collaborators or external references. Unless otherwise stated, you may collaborate with other students and consult external references, but may not take written/typed/recorded notes from these interactions. You must list all collaborators and external references consulted. Some problems will be marked as no collaboration problems. This is to make sure you have experience solving a problem start-to-finish by yourself in preparation for the midterms/final. Please upload each problem as a separate file via CS Dropbox. Instructions for Problems -3 In each of the next three problems, we will describe a game, for which your task is to implement a strategy in Java. Specifically, for each game, your task is the following: (a) Submit a Java source file that precisely follows the API specifications. We suggest starting by using the template code provided. Your source file must follow the naming convention ProblemName_netid.java, where netid is the NetID of the submitter. List your teammates and their NetIDs in your submitted writeup. (b) Describe your strategy in English. (No pseudocode necessary, since we will have your code!) (c) Describe, as rigorously as possible, why your strategy is a good idea. How does it behave against {Nash equilibrium players, a copy of itself, other simple strategies you can think of, irrational players}? What s the worst that could happen? What s the best that could happen? What do you expect other players to do? If you feel that your exact strategy is too complex to analyze, you are allowed to analyze a simpler version of your submitted algorithm. Logistics and grading You may work in teams of up to 3 students. One team member should submit source files and the writeups (but please make sure all team members are clearly listed!). Each task will be worth 5 points total, broken down as described below.

A submission that plays the game correctly according to the description will be worth 5 points per task. For part (c), the analysis, we will provide a few specific leading questions. Answering these questions clearly and concisely will get you another 5 points per task. The quality of the remainder of your analysis and your overall strategy will be worth the remaining 5 points per task. This portion is open-ended in nature, and will be graded on clarity, rigor, originality, and use of game-theoretic concepts. Please limit yourself absolutely to no more than two pages of analysis per problem; a few thoughtful paragraphs can suffice for a perfect score. Most analyses should be less than a page. A well-thought-out strategy that is justified clearly in the analysis can receive full credit, regardless of its performance in the simulations. A strategy that performs exceptionally well in the simulations can receive full credit, even if the analysis and justification is unremarkable. Note that performance will be measured against a benchmark of total accumulated payoff, not relative ranking among your classmates - you should try to get as much payoff as possible. If doing so gives your classmates more payoff too, even better! It is possible for every team to receive 5 points per task with well-thought-out and well-explained strategies. Bonus points (and special prizes TBA) will be awarded to teams that perform especially well. In particular, as noted above, a strategy that performs well might make up for a not-quiteperfect writeup. Please ensure that your code can play all rounds within 5 seconds on a reasonable desktop computer, and consume less than GB of RAM. Intentional violations of this rule to disrupt the game will result in a score of zero (it is extremely unlikely that you will accidentally violate this - just keep an eye out if your computer crashes when you test your strategies). You are encouraged to think outside the box, but within the confines of this assignment. Non-game-theoretic solutions (for example, bribery, intimidation, blackmail, or submitting ransomware) will result in a score of zero. You are allowed to post notes about the assignment to Piazza, to try and coordinate with other teams, etc., but not to share code. Examples of acceptable posts might include: Our team is playing strategy X, and it is a Nash if every team does this. Please do so as well! or Our team is playing a Grim Trigger strategy, don t cross us or we ll ruin your payoff, even if it hurts us too! All such posts must be non-anonymous to instructors (anonymous to classmates is OK), and should be recorded in your strategy justification (how did making this post help?). Please keep all strategic communication about the assignment on Piazza and visible to the instructors. Problem : Iterated Prisoner s Dilemma (5 points) In this problem, you will implement a strategy for the Prisoner s Dilemma, repeated over a time horizon of T = 000 rounds. At each round, a player can cooperate (C) or defect (D), receiving rewards according to the following payoff matrix:

C D C (, ) (0, 5) D (5, 0) (, ) Your player will be able to access play history through a callback function, so that you can implement strategies that maintain state. Your performance will be measured by the sum of your payoffs, played head-to-head against each other submission in the class. API specification Your class should implement the Prisoner interface, which requires the following methods: public boolean cooperate(): called at each round, when you must make an action. Return true to cooperate or false to defect. public void receive(boolean action): will be called at the end of each round with the partner s action, so that you can record play history as you like. A simple example is provided in Prisoner_cxzhang.java. Questions What is the unique Nash equilibrium of this game (you don t need to prove it s unique)? How does your strategy behave against tit-for-tat? How does your strategy behave against itself? Problem : Centipede (5 points) In this problem, you will play an iterated version of the game Centipede, which we first describe. Centipede is a two-player game played over 00 alternating turns. Suppose Alice is the player to move first, and Bob is the second player. There is a growing pot of money, which is divided asymmetrically based on the actions of the players. At the first round t =, Alice can take or push the pot. If she takes, the game ends with Alice receiving $4, and Bob receiving $. If she pushes, nobody receives any payoff, and control passes to Bob. At the second round t =, Bob can take or push. If he takes, the game ends with Bob receiving $5, and Alice receiving $. In general, at odd rounds t, Alice can take the pot to end the game with payoffs (t + 3, t). At even rounds, Bob can end the game with payoffs (t, t + 3). Or, either player can choose to push to the next round. At round 00, if the players have pushed for all previous rounds. Bob must take the pot. Your solutions will play an iterated version of Centipede in the following sense: Each day, you will be matched with two partners. You will play as Alice with one, and Bob with another. 3

At the beginning of each Centipede match, you will receive some information about your partner: a and b, the average payoff received by your partner playing as Alice and Bob, respectively. Your performance will be measured by the total payoff received after a large number of rounds. Everyone will be guaranteed to play with each other. To ensure fairness, we will run the entire process multiple times with random matchings assignments. API specification Your class should implement the Centipede interface, which requires the following method: public boolean init(double a, double b): called at the beginning of a game of Centipede. a and b are the average payoffs your partner received playing as Alice and Bob, respectively, or on the first day. public boolean push(int t): called at each round t, when it is your player s turn. Return true to push, and false to end the game. A simple example is provided in Centipede_karans.java. Questions What is the unique Nash equilibrium of this game (you don t need to prove it s unique)? Why might you not want to play according to a Nash, even though you are only playing one game with each partner? How does your strategy behave against one that chooses to push or take by flipping a fair independent coin? How does your strategy perform within a population of copies of itself? Problem 3: Ultimatum (5 points) In this problem, we play a reciprocal, iterated version of a classic asymmetric game. We begin by describing the basic game, which consists of just two turns. During Alice s turn, she receives 00 coins, and her task is to propose a division of these coins. Alice must propose an ultimatum: a division of these coins (x, 00 x), where x {0,,..., 00}. During Bob s turn, he can either accept or reject the proposal. If he accepts, Alice receives payoff x, while Bob receives payoff 00 x. If he rejects, both players receive nothing. The iterated version will be similar to that for Centipede: Each day, you will be matched with two partners. You will play as Alice with one, and Bob with another. As either player, you will receive the average proposal value x made by your partner s program while playing Alice. 4

Your performance will be measured by the total payoff received after a large number of rounds. Everyone will be guaranteed to play with each other. To ensure fairness, we will run the entire process multiple times with random matchings assignments. API specification Your class should implement the Ultimatum interface, which requires the following methods: public int propose(double a): returns the proposal (an integer between 0 and 00 inclusive) that your program wishes to make. To inform your decision, a will be the average proposal your partner made as Alice. On the first day, a will be set to. public boolean accept(double a, int x): returns whether your program wants to accept a proposal of x (such that you receive payoff 00 x). a is the same as above. A simple example is provided in Ultimatum_smattw.java. Questions Why might Alice not just choose (99, )? Why might Bob not always accept? How does your strategy do within a population that always proposes a (50, 50) split and accepts a (00 x, x) split with probability x/00? How does your strategy perform within a population of copies of itself? Problem 4: A Tree Game (5 points, no collaboration) Consider the following extended form game: A B x y z w a b c d e f g h 4.5 3 0 0 3 0.5 Figure : An extended form game. Food for thought: by posing this question, did we change the strategies you re considering? Did we change your beliefs about how your classmates might behave? 5

There are two players (named and ) and three rounds. First player plays, then player, then player again. The numbers on the leaves denote the payoffs to the first and second players, respectively (as labeled at the internal nodes of the tree). The labels on the edges denote the names of the actions they can play at that turn. (a) Find a subgame-perfect Nash equilibrium for this game. (b) Find a pure Nash equilibrium such that both players receive strictly higher payoff than in the subgame-perfect Nash equilibrium from part (a). Recall that for both parts, you must list a pure strategy for every internal node (even if it is never actually played ). For example, {B, w, h} is not a complete answer, but {B, y, w, b, d, f, h} is (i.e. you must still specify what actions would have been selected if those nodes were reached). In both parts, you should briefly argue why the strategies you pose form a (subgame-perfect) Nash. 6