Computational Finance and Economics Research Lab home Page

Bargain Tournament 2009

Tournament 2009 is part of the Intelligent Problem Solving (CC283) module at the University of Essex. It is also part of the bargaining project. The tournament is open to all students taking the CC283) module. To test the strength of this year's entries, some of the participants in previous tournaments were selected to participate. The rules of Tournament 3.2 (2001) are adopted. The tournament is judges by the parameters shown below (which remains the same from Tournament 3.2), though alternative parameters were used to assess the strength of the programs submitted.

All buyers will be played against all sellers, under rules defined by me (click here for details of the tournament rules). The winners are the buyer and the seller that accumulate the highest profit.

The best buyer and the best seller entries by my CC283 students in 2008-09 will each receive a prize from me. The prizes includes an certificate (which will be done electronically this year -- they tend to keep for longer) plus a bottle of wine (this is not electronic, in case you ask) from me. This is for fun. The best buyer among this year's entries is written by Jason Caits-Cheverst (certificate); the best seller is written by Philip Street (certificate). However, they have not been able to beat our past champions. Robert Stacey's seller and Christopher Musgrave's buyer remain the strongest players in Tournament 2009.

Beyond fun, there could be serious research in it. This tournament is part of the Bargaining Project in the Computational Finance & Economic Research Lab. Bargaining is an important branch of game theory. Game theorists traditionally study games through mathematical modelling and analysed. Rules in this Tournament make it difficult to find subgame equilibrium mathematically (the players do not know their opponents' constraints, the distribution of costs, utilities and days to trade are unknown to the players). Strategies are better expressed procedurally, which involves strategy design and computer programming. This game opens the frontier of traditional game theory.

I have proposed this game to the Technical Committee for Games in IEEE's Computational Intelligence Society. Hopefully this game will be competed by researchers worldwide in the near future.

Edward Tsang,
Computational Finance & Economic Research Lab
23 May 2009

  • Full results and analysis (results in spreadsheet )
  • Download for all programs, including the mediator and the participants
  • Bargaining project

  • How I run the tournament:

    1. I will set the parameters in the parameter file for the tournament.
    2. If your program causes any problems, such as failed or return negative profits, it will be disqualified.
    3. I have final say on the procedures and judgement. No appeals will be accepted.
    4. Your program must generate NO screen output.
    5. Any program that cheats will be disqualified. All winning programs will be inspected carefully.
    6. All source codes will be put in the public domain.

    Rules and Parameters for Tournament 2009:

    The game involves a buyer and a seller.

    1. The seller is given a cost and the number of days within which it has to sell (DTS);
    2. The buyer is given a utility and the number of days within which it has to buy (DTB);
    3. Both the buyer and the seller know that the cost is randomly drawn from the range [MinCost, MaxCost], the utility is randomly drawn from the range [MinUtil, MaxUtil] and the DTS and DTB randomly drawn from the range [MinTime, MaxTime] independently (which means DTS and DTB are not necessarily the same). These parameters are defined by the predicate negotiation_parameter. The following parameters will be used for assessing the entries in this tournament:
      negotiation_parameter(cost_range, 101, 200 ).
      negotiation_parameter(days_to_sell, 3, 10 ).
      negotiation_parameter(utility_range, 201, 300 ).
      negotiation_parameter(days_to_buy, 3, 10 ).

      It is preferable (though not necessary in this tournament) that your programs can work for other settings. You may access negotiation_parameter/3 directly.
    4. The seller does not know the buyer’s utility and DTB;
    5. The buyer does not know the seller’s cost and DTS;
    6. The plays make alternate bids, starting with the seller;
    7. When both plays bid for the same price, a sale is agreed;
    8. If a sale cannot be agreed before any player runs out of time, the negotiation terminates; no penalty is paid by either player;
    9. Past bargaining is forgotten;
    10. The history of each negotiation is given to the player {in reverse order), e.g.:
      [+106, -106, +192, -53, +215]
      The seller always goes first. In this example, the seller asked for a price of 215, the buyer offered 53, which the seller countered with 192, etc. Finally, they agreed on the price of 106.

    Maintained by: Edward Tsang; Last Updated: 2009.12.09