Ultimatum Game Simulation Program

 

Source code

 

The source code of the simulation program is available for download. Click on the link to download the required files: simulation.zip

 

Simulation Game

The program is a simulation of the Ultimatum Game. In short the scenario is that some agent, that we will refer to from now on as ‘bidder’, receives a conditional amount of money (in our case 10 $). He must make an offer to a second agent, which we will refer to as ‘recipient’. The offer to this recipient must be some part of the 10$ and this part is what will be given to the second agent.

 

If the offer is accepted the bidder will get 10 minus his offer to the recipient and the recipient will get the offer that was offered to him.

 

But if the offer is rejected, both the bidder and the recipient will get nothing!

Setup of the Simulation

In the simulation there are a fixed number of bidders and sellers, which have been given a maximum and minimum threshold respectively. This means that a bidder gets a maximum offer they can make, and recipients have a fixed minimum offer they need before they can accept. In one bidding round each bidder will make an offer to each recipient. Each bidder can have either one of two bidding strategies:

 

Fixed bid: The bidder will always offer their maximum bid (limited by the threshold)

 

Optimum bid: The bidder will bid that offer which has the highest expected value for the next round, based on the assumption that thresholds of the recipients are uniformly distributed (see the paper for a detailed explanation).

 

Bidding round

Each bidder can accumulate money by making a single offer to each recipient in every round. After a bidder has offered some amount to the recipient, the money is divided between the two if the offer was accepted. In case the offer was refused, both the agents will get nothing. The bidder will remember each offer he has made to each recipient, and this information is what he will use to make a more profitable offer to the same recipient in the next round.

 

Auction round

In an auction round every piece of knowledge about the recipients that has been acquired by bidding agents is put on auction. All bidding agents will bid for a certain piece of information, based on how much extra profit they expect this new piece of information will give them. The auction is a Vickrey type auction, where the highest bidder pays the second highest bid.

 

Setting up the program

The program is written in Java, and can be started if a Java environment is configured. The program can be run by starting ‘run.java’. When started, a window appears with a menu bar at the top. The menu is displayed in figure 1.

 

Fig. 1: Menu bar

 

The first tab is experiment, where the type of experiment can be selected. Mostly the options are combinations of a bidding strategy for the bidders, the number of rounds and whether or not there is an auction.

 

The second tab is start/stop. After all the other parameters are chosen, the experiment can be started using ‘run’. The experiment can be run only once, and if the user wants to run another experiment the program has to be restarted. Stop will pause the program after the next step.

 

The third tab is speed, where the delay between transactions can be set to some specified time. In this way the user can determine how much specific information can be observed.

 

The fourth and fifth tab respectively determine the amount of bidders and recipients.

 

The sixth and final option is a parameter that can be set to give bidders and recipients random thresholds.

 

Interpreting a Bidding Round

 

A general bidding round is displayed in figure 2.

 

Fig. 2: Bidding round display

 

In the first and last column the name, the threshold and the current money of each bidder or recipient is displayed. In the center at the top, the current round and the type of strategy for each bidder is displayed. Below that are the thresholds for the current bidder and current recipient of this offering. Two bars are displayed on the screen which show the prior information the bidder has about the recipient and the posterior information (after the offer was made).

Interpreting a Auction Round

A typical auction round is displayed in figure 3.

 

Fig. 3: Auction round display

 

Again the sides display the usual information about the agents. In the center the current information about some recipient that is being auctioned is displayed in a bar. Below that is a list of each bidder and the amount that each bidder is wiling to pay for this information. In this case the winner is bidder 7, who is willing to pay 0.5 for this information. But since he only has to pay the second highest bid, he has to pay 0.4.