Skip to content

Coordination

Ben Johnson edited this page Jan 30, 2023 · 5 revisions

Link to DAIDE Semantics Spreadsheet

In order for bots using DAIDE++ to properly coordinate, there needs to be a reasonable intersection of supported messages and agreements. This is discussed below.

Tokens to support by team:

Cynnovative

  • XDO
  • Conjunctions:
    • AND
    • ORR
  • Conditionals:
    • IFF
  • PCE
  • ALY
  • DMZ

Strategy Robot

  • XDO
  • Conjunctions:
    • AND
    • ORR
  • Conditionals:
    • IFF
  • Utility Bounds:
    • UUB and ULB

We send 2 types of messages: proposals or threats. Proposals sometimes include a utility lower bound (ULB) but always have an XDO for every unit of the receiving power. Threats always use utility bounds as rewards or punishments.

Example proposal message:

PRP ( AND ( ULB ( GER 0.8 ) ) ( XDO ( ( GER AMY BEL ) MTO HOL ) ) ( XDO ( ( GER AMY BER ) MTO SIL ) ) ( XDO ( ( GER AMY KIE ) MTO DEN ) ) ( XDO ( ( GER AMY RUH ) MTO HOL ) ) ( XDO ( ( GER FLT GOB ) MTO BAL ) ) ( XDO ( ( GER FLT SWE ) SUP ( GER AMY KIE ) MTO DEN ) ) )

Copied from daide-specification.md

Strategy Robot Note: We intend to use INS to indicate active punishment or reward (changing our move to enfore the utility bound). In contrast, PRP indicates that we predict the utility bound is correct without our active enforcement.

These examples use a single XDO as the condition, but the condition may also be an AND of multiple XDOs.

Example threat message sent from England to Germany:

IFF (XDO((GER AMY BER) MTO MUN)) THN (PRP (ULB (GER 0.8))) ELS (INS (UUB (GER 0.1)))

This is a threat from England to Germany that says if you move BER to MUN then I predict you will get at least 0.8 utility, but if you do anything else I will move to prevent you from getting more than 0.1 utility. In this case we are actively punishing Germany.

Example threat message sent from England to Germany:

IFF (XDO((GER AMY BER) MTO MUN)) THN (PRP (ULB (GER 0.8))) ELS (PRP (UUB (GER 0.3)))

This is a threat from England to Germany that says if you move BER to MUN then I predict you will get at least 0.8 utility, but if you do anything else I will predict you will get at most 0.3 utility. In this case we are not actively punishing or rewarding, we are just sharing the results of our game theory analysis.

Note that we also support receiving PCE and ALY tokens but interpret both in the same way (none of the participants attack any of the other participants supply centers or units).

Any teams that wish to add the tokens they are hoping to support can add them here or propose them in future meetings.

What do we mean by support?

Supporting a type of message means more than just accepting it without returning an error or responding with a TRY message. Supported messages and contracts must meaningfully impact its strategy. Take a peace (PCE) agreement as an example: if an agent sends and receives peace agreements, but those peace agreements do not in any way affect which orders it executes, or how it communicates in the future, then it's incorrect to say the agent "supports" peace agreements. Having agents that support the same tokens is crucial to facilitating coordination.