-
Notifications
You must be signed in to change notification settings - Fork 7
Coordination
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.
XDO
- Conjunctions:
AND
ORR
- Conditionals:
IFF
PCE
ALY
DMZ
XDO
- Conjunctions:
AND
ORR
- Conditionals:
IFF
- Utility Bounds:
-
UUB
andULB
-
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 ) ) )
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.
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.