Skip to content

Instantly share code, notes, and snippets.

@jmauerhan
Created May 28, 2015 22:47
Show Gist options
  • Save jmauerhan/b6ae1906be928e1486fb to your computer and use it in GitHub Desktop.
Save jmauerhan/b6ae1906be928e1486fb to your computer and use it in GitHub Desktop.
Robots and Marbles
# Robots and Marbles
There are five robots, A, B, C, D, and E. Robot A is the oldest model, Robot E is the newest model.
When we give the robots a bag of 100 marbles, they will distribute the marbles among themselves following these rules:
1. The oldest robot will present a distribution of the marbles, divided however it has decided.
2. All robots will vote on whether or not to accept this distribution.
3. If 50% or more vote to accept the proposal, the marbles are distributed in that manner.
4. If less than 50% vote to accept the proposal, the oldest robot is automatically shut down, and the process starts over with the next oldest robot.
5. All robots have the following priorities and will vote according to these rules, in this order. They all know that they all share the priorities:
1. Do not be shut down.
2. Assuming two outcomes in which they will not be shut down, maximize their own marbles.
3. Assuming two outcomes in which they will not be shut down and their marbles are equal, get older robots shut down.
6. Because robots are logical and emotionless, each can perfectly extrapolate the actions of every other robot. Robot A can therefore propose a distribution which will be accepted and maximizes it’s own marbles. What is that proposal?
Number of Marbles
* Robot A:
* Robot B:
* Robot C:
* Robot D:
* Robot E:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment