Page 1 of 2

building a Diplomacy AI

PostPosted: 02 Jan 2019, 23:11
by espero
I'm trying to generate interest in a Diplomacy AI.

See http://wrongdoing.org/181004_Diplomacy_AI.pdf for an outline, and https://youtu.be/Ojpn3UXZuGM?t=1033 for a short video presentation.

I'm starting with the BANDANA framework, so would particularly like to find someone with Java skills.

Thanks,

Colin / espero

Re: building a Diplomacy AI

PostPosted: 03 Jan 2019, 02:20
by David E. Cohen
Good luck with your project. I have been convinced for many years that if someone can develop an AI which can play Diplomacy really well (and by that I mean be adept strategically, tactically and most importantly in negotiation), the AI will have gotten most of the way to passing the Turing test.

Re: building a Diplomacy AI

PostPosted: 03 Jan 2019, 10:07
by Strategus
David E. Cohen wrote:Good luck with your project. I have been convinced for many years that if someone can develop an AI which can play Diplomacy really well (and by that I mean be adept strategically, tactically and most importantly in negotiation), the AI will have gotten most of the way to passing the Turing test.

That said, there are some players who wouldn't necessarily pass the Turing test.

Re: building a Diplomacy AI

PostPosted: 03 Jan 2019, 10:25
by espero
Thanks David, and agreed.

I have a three-stage strategy in mind:

  1. a bot that just submits orders without negotiation. This could be based on the BANDANA framework's RandomBot. Obviously, it wouldn't need to pass a Turing test.
  2. a bot that also negotiates using the BANDANA protocol. This could use BANDANA's RandomNegotiator bot. As these offers are very tightly defined, Turing again seems unnecessary
  3. a bot that negotiates like a human player. Here, I think, that it could even be important for the bot to be able to selectively pass Turing: it could benefit from having one other player think that it's a bot (allowing an alliance) but not more than that (as it would then risk being ganged up on).

Re: building a Diplomacy AI

PostPosted: 03 Jan 2019, 11:50
by Zubb
I believe a starting point would be a gunboat bot?

Re: building a Diplomacy AI

PostPosted: 03 Jan 2019, 13:59
by espero
Thanks Zubb. Yes, good point: I didn't know that term. The BANDANA RandomBot doesn't negotiate, so this could be the starting point for a gunboat bot.

I've just seen another thread on a Diplomacy AI at viewtopic.php?f=126&t=38313

@megan, @sinnybee, @jaelis, @WHSeward

Re: building a Diplomacy AI

PostPosted: 03 Jan 2019, 20:50
by Strategus
For my two penne'th. A gunboat player is one who does not negotiate, but just plays the best possible moves. Zubb's suggestion of a gunboat bot should be the first base. I would basically design the programme to deliver the best possible moves, regardless of any negotiations the bot might or might not be capable of. Then design algorothms to simulate negotiation, and try to enable the bot to carry out the moves it deems to be the best. This could be ranging from complete lies to diversionary tactics. Also, a key feature would be the capability of the bot to determine if a player went through with the moves they agreed to. But determining all this from free text is kinda tricky. Also, a bot could pass the test for a while with standard "bullshit" greeting type comments. A lot of players do this all the time. Really annoying, but effective at times.

Re: building a Diplomacy AI

PostPosted: 04 Jan 2019, 16:44
by jay65536
An absolutely massive hurdle, even at the gunboat level, is to determine what "the best moves" are. Not just on a strategic/tactical level, but also on the level of negotiation. I don't play gunboat, but I do know that negotiation exists in gunboat even without speaking. The best gunboat players use support orders as crude substitutes for negotiation. If a bot can't be programmed to do this, it's going to be at a disadvantage.

Re: building a Diplomacy AI

PostPosted: 04 Jan 2019, 20:54
by Strategus
jay65536 wrote:An absolutely massive hurdle, even at the gunboat level, is to determine what "the best moves" are. Not just on a strategic/tactical level, but also on the level of negotiation. I don't play gunboat, but I do know that negotiation exists in gunboat even without speaking. The best gunboat players use support orders as crude substitutes for negotiation. If a bot can't be programmed to do this, it's going to be at a disadvantage.

Agreed, but start with one that just does the basics.

Re: building a Diplomacy AI

PostPosted: 04 Jan 2019, 22:49
by jay65536
Strategus wrote:start with one that just does the basics.


It's possible that I'm thinking about the problem wrong from a programming perspective (coding is not my strongest skill), but in my mind the issue is that "best moves" aren't a well-defined concept in Diplomacy.

The reason is that the best tactical moves are almost always conditioned on who is friendly toward you and who isn't, and in particular whether moves can be coordinated among allies. A gunboat AI probably would not have to learn concepts like allies giving each other centers for tactical gain, but it would have to learn when a move is good because of the likelihood of another country supporting it, and inversely when not to play a move because of the unlikelihood of having enough support.

Another super-massive problem for a Diplomacy AI (that chess AIs do not have, incidentally) is when the AI should accept (or perhaps even propose) a draw.