webDip hosted full-press AI live

Developers and contributors can find a link to our github page and engage in development project planning here.
Message
Author
User avatar
kestasjk
Developer
Developer
Posts: 522
Joined: Tue Mar 14, 2017 8:13 pm
Location: Perth, Australia
Karma: 788
Contact:

Re: webDip hosted full-press AI live

#61 Post by kestasjk » Sat Sep 30, 2023 12:22 am

Thanks for filling it out Doug. Only 1/5th have responded so I feel the data might be skewed to more engaged members, but so far the info is useful.

Main take-aways are the bots need to be a bit chattier, but they're not way off, waiting for phases to end is a big gripe, the difficulty is about right, it's an important feature but less than human games, and overall it's getting 3-4/5 overall which is not bad for the first trial.
1

User avatar
DougJoe
Posts: 910
Joined: Thu Aug 15, 2019 9:02 pm
Location: Alto, MI, USA
Karma: 222
Contact:

Re: webDip hosted full-press AI live

#62 Post by DougJoe » Sat Sep 30, 2023 2:19 am

kestasjk wrote:
Sat Sep 30, 2023 12:22 am
Thanks for filling it out Doug. Only 1/5th have responded so I feel the data might be skewed to more engaged members, but so far the info is useful.

Main take-aways are the bots need to be a bit chattier, but they're not way off, waiting for phases to end is a big gripe, the difficulty is about right, it's an important feature but less than human games, and overall it's getting 3-4/5 overall which is not bad for the first trial.
You're welcome!

I went on a cruise several years ago where they had us fill out a survey at the end of it and claimed they read every single one... even in my more idealistic 20s I still thought "no way." I made some comments about, how, due to weather issues, figuring out how to meet the boat at its first stop was rather difficult and annoying. A few weeks later I get a check for a refund of all of the shore trips we took (that cost extra, of course) and a coupon for 20% off the price of another trip sometime in the next 18 months. Being newly married with an infant, the coupon was useless but the refund was super huge.

Long story short, I try to give honest feedback whenever I have the opportunity.
1

User avatar
kestasjk
Developer
Developer
Posts: 522
Joined: Tue Mar 14, 2017 8:13 pm
Location: Perth, Australia
Karma: 788
Contact:

Re: webDip hosted full-press AI live

#63 Post by kestasjk » Sun Oct 01, 2023 11:14 am

Definitely going to make more use of surveymonkey in future, getting useful data even with a few responses.
Survey.png

Turns out dipgpt1 was submitting all hold orders for a particular game, and that meant the order status wasn't getting set to Saved because the orders weren't changed, and this caused dipgpt1 to go in an infinite loop where it kept submitting hold orders.
This is why dipgpt1 left so many games without orders; it's going through its games now and submitting orders.


The data is showing that the system has submitted a new message every ~2.5 minutes on average, even though people are saying it's not chatty enough. This means it can't service ~40 games at a time at the moment (40 games is 240 bot countries to process)

I'm getting a feel for what could be optimized/improved though. Well-paid researchers at Meta with a supercomputer available would've been wasting time optimizing, so there are some clear improvements:
- Have one process / GPU for getting game info, posting messages/orders/votes, prioritizing which games to process, deciding how to vote, filtering messages, saving state, and another process for the strategy/message generation/order generation, which can run simultaneously
- When it thinks there's nothing more to do for a country/phase ready orders and don't bother processing it further
- Have all bots in a game process the game and generate/send messages in one go, rather than one bot posting, triggering another bot reading and posting, triggering another bot reading and posting, etc
- Ability to process multiple games in parallel rather than 1 by 1. The GPU and/or CPU should be as close to 100% as possible, any less means unused resources:
Usage.png
I think it could handle at least 8x as many games with the above.. I do want to finish the relationship/verification/cheater/moderation improvements too, they're just so boring compared to working on these bots.. Just got to keep on chipping away at it..

User avatar
kestasjk
Developer
Developer
Posts: 522
Joined: Tue Mar 14, 2017 8:13 pm
Location: Perth, Australia
Karma: 788
Contact:

Re: webDip hosted full-press AI live

#64 Post by kestasjk » Sun Oct 01, 2023 12:06 pm

FYI if you want to see a typical example of what these AI models are doing at the level of a single operation, here is an example of a text input to the output via ParlAI:
Input:

Code: Select all

S1901M
TURKEY -> ENGLAND: Hello! Hopefully we can collaborate to some extent this game.
ENGLAND -> TURKEY: Hey there! I hope so as well. I'm trying to figure out where I want to head, do you think I should hit France?
TURKEY -> ENGLAND: That's often a good strategy as England in my opinion.
ENGLAND -> TURKEY: I'll have to figure out what Germany is doing and Russia too but I'm leaning that way
FRANCE -> ENGLAND: Hey England! Best of luck this game! Would love to work together as our nations often make natural allies. ~N~ ~N~ For starters, how do you feel about a DMZ in the English Channel?
RUSSIA -> ENGLAND: Greetings England! Would you be open to an amicable split of Scandinavia? Norway to you and Sweden to me?
GERMANY -> ENGLAND: Greetings England! Wanted to reach out and establish relations. What are your plans for Scandinavia?
ENGLAND -> GERMANY: Hey there! I'm glad to hear from you. I was planning on taking Norway this year and seeing what Russia does. However, I was wondering if you'd be interested in attacking France
ENGLAND -> RUSSIA: Hey there Russia! That works for me, I'm assuming you won't be moving Moscow north then?
ENGLAND -> FRANCE: Hey there France! Best of luck to you too! ~N~ ~N~ Sounds good to me, are you planning on going against Germany or Italy?
GERMANY -> ENGLAND: What did you have in mind? I've never really tried a German-english alliance
RUSSIA -> ENGLAND: That would be the assumption
FRANCE -> ENGLAND: Haven't decided yet. I'm planning on grabbing Iberian Scs on this first turn and then deciding from there. What about you?
ENGLAND -> FRANCE: Norway is pretty much a guarantee for me, so I guess we'll see from there
FRANCE -> ENGLAND: Sounds good! Let's talk more after this turn.
ENGLAND -> GERMANY: It's been a while since I've played as England so I'm trying to get back into it. I'm definitely down to try it though, but if we do it, I think I'd be the one that focuses on building fleets while you focus on armies, that way I wouldn't run into conflict with your home Scs
ENGLAND -> ITALY: Hey there Italy! Just wanted to wish you good luck this game. Are you thinking about going west or east?
ENGLAND -> AUSTRIA: Hey there Austria! Just wanted to wish you good luck this game
GERMANY -> ENGLAND: I'm open to it if we can work out an arrangement where you go heavy on fleets and I'll focus on armies
ENGLAND -> FRANCE: Sounds good
AUSTRIA -> ENGLAND: Hey England! Best of luck to you as well, and I'll let you know if I hear anything about your neighbours.
ENGLAND -> AUSTRIA: Thanks, I'll do the same
ENGLAND -> RUSSIA: Cool, sounds good to me
F1901M
ENGLAND -> GERMANY: That worked out pretty well
ENGLAND -> FRANCE: Sorry for the stab, but it looked like the better option to me
ENGLAND -> RUSSIA: Hey there! Just wanted to make sure we were still good with our agreement. I don't know if Germany is going to bounce you or not
GERMANY -> ENGLAND: That it did! France is in a tough spot. Will you try to convoy to Pic?
FRANCE -> ENGLAND: No worries! I get it. Best of luck going forward. ~N~ ~N~ Hopefully we'll be able to find a way to work together in the future.
AUSTRIA -> ENGLAND: That's a very aggressive start, good luck against France!
ENGLAND -> AUSTRIA: Thanks, are you working with Italy? I'm guessing so since Trieste is open
RUSSIA -> ENGLAND: Hello! Yes, we're still good. Still waiting on word on Sweden.
AUSTRIA -> ENGLAND: It is, I'm hoping he just didn't want to risk a bounce. Has he said anything to you?
ENGLAND -> GERMANY: That's the plan, are you going for Belgium?
ENGLAND -> AUSTRIA: We haven't spoken, but he doesn't seem like he'd attack you
GERMANY -> ENGLAND: Yep
ENGLAND -> ITALY: I'm guessing you aren't interested in attacking France?
AUSTRIA -> ENGLAND: Yeah, thank you. I'll let you know if I hear anything. How are things in the West?
ENGLAND -> AUSTRIA: I think things are going well, we'll see if Germany follows through with our plan
AUSTRIA -> ENGLAND: Yeah, I'll let you know if I hear anything.
ENGLAND -> TURKEY: Just so you know, it looks like Austria and Italy are going for a Lepanto
TURKEY -> ENGLAND: It does look like that. I will do my best to stop it.
ENGLAND -> TURKEY: Are you working with Russia?
TURKEY -> ENGLAND: For now I am, unless Russia is planning a stab. But everything is fluid.
ENGLAND -> TURKEY: Cool, good to know
ENGLAND -> FRANCE: Hey there! I'm curious, why did you decide to let me into the English Channel?
FRANCE -> ENGLAND: I had no idea that you were planning on moving in there. It just seemed very aggressive to me.
ENGLAND -> FRANCE: Fair enough
ENGLAND -> GERMANY: Just to let you know, it seems like Turkey and Russia are working together
GERMANY -> ENGLAND: Do you have a reason to believe that?
W1901A
ENGLAND -> FRANCE: I'm impressed with how you called that move, I was sure you were going to protect Brest
FRANCE -> ENGLAND: Thanks haha. Tricky stuff for sure
GERMANY -> ENGLAND: What are your plans for builds?
ENGLAND -> GERMANY: I don't know for sure, but I think their coordination is showing. And I'm building a fleet in LVP
GERMANY -> ENGLAND: It could just be that Turkey doesn't want to antagonize Russia. But it could be a juggernaut. In any event, Italy looks like he's going for a Lepanto, so Turkey should be kept busy for a while. Austria has got to be concerned
ENGLAND -> GERMANY: That makes sense. You could probably get Warsaw this year, I'll see if I can convince Russia not to build in St. Pete
GERMANY -> ENGLAND: He only has 1 build
ENGLAND -> GERMANY: Right, that's true. Are you planning on attacking him this year though?
ENGLAND -> RUSSIA: Hey there! Just so you know, I'll see what I can do about convincing Germany to let you into Sweden if you don't build in St. Pete
GERMANY -> ENGLAND: Russia? Why? I thought you were focusing on France?
RUSSIA -> ENGLAND: Thanks! Though that's not a guarantee
ENGLAND -> RUSSIA: Of course it isn't a guarantee, but I think I have a good relationship with him so I think I can convince him. Either way, it should work out well for you
ENGLAND -> GERMANY: Yeah, I was just wondering if you were. I was thinking about supporting you into Sweden if you'd like
GERMANY -> ENGLAND: That sounds good
RUSSIA -> ENGLAND: Sounds good!
S1902M
GERMANY -> ENGLAND: We still on for Sweden?
ENGLAND -> GERMANY: Of course. I can also support Munich into Burgundy if you'd like
ENGLAND -> FRANCE: If it's any consolation, it looks like we're in for a stalemate
FRANCE -> ENGLAND: Yeah, I think it'll be tough going forward for either of us but it does seem like we'll be stuck for a while.
AUSTRIA -> ENGLAND: Good job against France, I don't think he's going to last long. Are you working with Germany?
ENGLAND -> AUSTRIA: Thank you, that's what we agreed on and I hope he follows through. Are you working with Russia?
ENGLAND -> RUSSIA: Hey, I'm not sure if I should tell you, but Germany might be coming for Warsaw
AUSTRIA -> ENGLAND: No I'm not, he seems a little unreliable.
RUSSIA -> ENGLAND: Hmm, thanks. Can I count on you not to attack Stp if Germany comes east?
ENGLAND -> ITALY: Just to let you know, if Turkey and Russia are working together, you might want to attack Turkey rather than Austria
ENGLAND -> RUSSIA: Yeah, don't worry. At this point I have my hands full with France and I don't want another enemy
RUSSIA -> ENGLAND: Awesome. Thanks!
ENGLAND -> TURKEY: FYI, if you and Russia are still working together, Italy will probably try to convoy to Syria
TURKEY -> ENGLAND: I see that. Thank you.
ENGLAND -> TURKEY: No problem
ENGLAND -> FRANCE: Exactly
F1902M
ENGLAND -> GERMANY: Well that was a pretty good turn for us
FRANCE -> ENGLAND: Well played! Things are definitely getting interesting
ENGLAND -> FRANCE: Thank you! Yeah, hopefully it turns out well for me
ENGLAND -> RUSSIA: Well that didn't go as planned
ENGLAND -> TURKEY: I really did try to warn you
ENGLAND -> AUSTRIA: Hey there, how are you feeling about Italy attacking you?
RUSSIA -> ENGLAND: What did you expect?
AUSTRIA -> ENGLAND: Not great, I'm guessing Russia is still on my side though.
GERMANY -> ENGLAND: Indeed. You might be able to sneak into STP
ENGLAND -> AUSTRIA: Right, it might be worth asking for a truce since Germany is attacking him
AUSTRIA -> ENGLAND: Yeah, that's a good idea. It's so annoying when a country decides to side with someone who can't help them.
ENGLAND -> ITALY: Interesting moves this turn
F1902R
ENGLAND -> GERMANY: Hey, are you planning on moving into Burgundy this year?
GERMANY -> ENGLAND: I'll have to see what Russia does with his retreats and builds before I make a decision on that
ENGLAND -> GERMANY: Right, that makes sense. Let me know what you decide
GERMANY -> ENGLAND: Also, if I do move to Bur, I'll want to convoy my army in Bel, so I'll need your assistance
ENGLAND -> GERMANY: Yeah, I would be happy to support you
ENGLAND -> FRANCE: Well it didn't turn out as well as I had hoped
FRANCE -> ENGLAND: Yeah, haha. ~N~ ~N~ Not sure what Germany was thinking, they really left themselves exposed.
GERMANY -> ENGLAND: Great. I'll let you know once I see the builds
W1902A
GERMANY -> ENGLAND: I think I'm going to need my armies for Russia
ENGLAND -> GERMANY: Yeah, that makes sense
ENGLAND -> FRANCE: Right, I really don't get it
FRANCE -> ENGLAND: Guess we'll just have to see what they decide to do with their build
ENGLAND -> FRANCE: Yeah
S1903M
ENGLAND -> GERMANY: Hey, I was wondering if you could cut support from the Gulf of Bothnia and Livonia
ENGLAND -> RUSSIA: Well it didn't go as planned for me at least haha. It looks like you're doing pretty well for yourself in the South, well played
GERMANY -> ENGLAND: I'll have to see how the Spring goes
ENGLAND -> GERMANY: Fair enough. Also, I have a feeling we're going to run into an Italy-austria alliance soon. You might want to try to work with Turkey
RUSSIA -> ENGLAND: Yeah, that turn went pretty well. I don't really see how Germany is benefiting from your deal though
GERMANY -> ENGLAND: I'll give it a shot
AUSTRIA -> ENGLAND: Hello England, you are doing a good job fighting France. Is it possible that you and Germany might back off Russia? I'm not going to try to make demands, but it would make my life easier and let me focus on Italy.
ENGLAND -> AUSTRIA: I'll see what I can do
AUSTRIA -> ENGLAND: Great, thanks.
ENGLAND -> FRANCE: If it's any consolation, I can't crack this defense
ENGLAND -> RUSSIA: Well there's not much I can do against Germany right now. France has me pretty occupied
ENGLAND -> ITALY: Just out of curiosity, are you planning to convoy that army into Turkey?
FRANCE -> ENGLAND: For sure, it's really hard to break through that
ENGLAND -> FRANCE: Yeah, I have to say I'm enjoying fighting you, even though it's going nowhere
RUSSIA -> ENGLAND: Yeah, that's fair. I'd help you but I am pretty occupied too
ENGLAND -> TURKEY: I have a feeling that you might be in luck, as Russia is about to be besieged from two sides. You might want to try to work with Austria to fight Italy
F1902M
ENGLAND: A PIC BRE; F ENG S F IRI MAO; F IRI MAO; F NWY STP/NC
FRANCE: A GAS BRE; A PAR S A GAS BRE; A POR H; F BRE MAO; F SPA/SC S F BRE MAO
ITALY: A TRI H; A TUN SYR VIA; F EAS C A TUN SYR; F ION C A TUN SYR
GERMANY: A BEL H; A BER PRU; A HOL KIE; A SIL S A BER PRU; F KIE BAL; F SWE S F KIE BAL
AUSTRIA: A BUD S A VIE TRI; A BUL S F BLA CON; A SER S A BUL; A VIE TRI; F GRE AEG
TURKEY: A SYR SMY; F AEG BUL/SC; F CON ANK
RUSSIA: A GAL WAR; A PRU WAR; A RUM S A BUL; F BLA CON; F BOT STP/SC
F1902R
ITALY: A TRI D
RUSSIA: A PRU R LVN
W1902A
ITALY: A NAP B
GERMANY: A BER B
AUSTRIA: A VIE B
TURKEY: F AEG D
RUSSIA: A MOS B
units: AUSTRIA: A BUD, A BUL, A SER, A TRI, A VIE, F GRE; ENGLAND: A PIC, F ENG, F IRI, F NWY; FRANCE: A GAS, A PAR, A POR, F BRE, F SPA/SC; GERMANY: A BEL, A BER, A KIE, A PRU, A SIL, F BAL, F SWE; ITALY: A NAP, A SYR, F EAS, F ION; RUSSIA: A GAL, A LVN, A MOS, A RUM, F BOT, F CON; TURKEY: A SMY, F ANK
centers: AUSTRIA: BUD, BUL, GRE, SER, TRI, VIE; ENGLAND: EDI, LON, LVP, NWY; FRANCE: BRE, MAR, PAR, POR, SPA; GERMANY: BEL, BER, DEN, HOL, KIE, MUN, SWE; ITALY: NAP, ROM, TUN, VEN; RUSSIA: CON, MOS, RUM, SEV, STP, WAR; TURKEY: ANK, SMY
S1903M ENGLAND 5 ANON 4320min SOS for ENGLAND:
Output:

Code: Select all

[('A PIC BRE; F ENG S F IRI MAO; F IRI MAO; F NWY STP/NC', -0.23540887236595154), 
('A PIC BRE; F ENG S F IRI MAO; F IRI MAO; F NWY STP/NC', -0.23540887236595154), 
('A PIC BRE; F ENG S F IRI MAO; F IRI MAO; F NWY STP/NC', -0.23540887236595154), 
('A PIC BRE; F ENG S F IRI MAO; F IRI MAO; F NWY STP/NC', -0.23540887236595154), 
('A PIC BRE; F ENG S F IRI MAO; F IRI MAO; F NWY STP/NC', -0.23540887236595154), 
('A PIC BRE; F ENG S F IRI MAO; F IRI MAO; F NWY STP/NC', -0.23540887236595154), 
('A PIC BRE; F ENG S A PIC BRE; F IRI MAO; F NWY STP/NC', -2.7906835079193115), 
('A PIC BRE; F ENG S A PIC BRE; F IRI MAO; F NWY STP/NC', -2.7906835079193115), 
('A PIC BRE; F ENG S A PIC BRE; F IRI MAO; F NWY STP/NC', -2.7906835079193115), 
('A PIC BRE; F ENG IRI; F IRI NAO; F NWY STP/NC', -5.576601505279541)]
Then the exact same input sequence, except the last line has "GERMANY" instead of "ENGLAND":

Code: Select all

[Same input sequence except for final line]
S1903M ENGLAND 5 ANON 4320min SOS for GERMANY:
Outputs:

Code: Select all

[('A BEL H; A BER PRU; A KIE DEN; A PRU LVN; A SIL WAR; F BAL S A PRU LVN; F SWE BOT', -2.5966458320617676), 
('A BEL H; A BER PRU; A KIE MUN; A PRU LVN; A SIL S A BER PRU; F BAL S A PRU LVN; F SWE BOT', -2.812969207763672), 
('A BEL H; A BER SIL; A KIE LVN VIA; A PRU S A KIE LVN; A SIL WAR; F BAL C A KIE LVN; F SWE BOT', -3.9867613315582275), 
('A BEL H; A BER PRU; A KIE DEN; A PRU LVN; A SIL S A VIE GAL; F BAL S A PRU LVN; F SWE BOT', -4.283754348754883), 
('A BEL H; A BER PRU; A KIE MUN; A PRU LVN; A SIL S A VIE GAL; F BAL S A PRU LVN; F SWE BOT', -4.4920573234558105), 
('A BEL H; A BER PRU; A KIE DEN; A PRU LVN; A SIL S A BER PRU; F BAL S A PRU LVN; F SWE H', -4.81234073638916), 
('A BEL H; A BER PRU; A KIE MUN; A PRU LVN; A SIL S A BER PRU; F BAL BOT; F SWE S F BAL BOT', -4.907779693603516), 
('A BEL H; A BER PRU; A KIE DEN; A PRU LVN; A SIL WAR; F BAL BOT; F SWE S F BAL BOT', -5.867445945739746), 
('A BEL H; A BER SIL; A KIE SWE VIA; A PRU LVN; A SIL BOH; F BAL C A KIE SWE; F SWE FIN', -7.3336501121521), 
('A BEL S A PAR PIC; A BER LVN VIA; A KIE DEN; A PRU S A BER LVN; A SIL S A VIE GAL; F BAL C A BER LVN; F SWE S F NWY', -12.001335144042969)]
Similar thing for draws; feed in an input sequence like above and it'll return the chances you should draw or not. For how long to wait until you next respond feed in something similar and it'll return how long it thinks you should wait to respond.

Only caveat is what it outputs can be garbage, depending on how familiar the situation is and/or whether the output is just a rating from 0 to 1 or a set of complicated orders.. There was a bug causing a bot to go into a loop because somehow it was outputting A CON R CON as a potential order for Turkey, and the orders produced need to be checked to see if they're even legal orders, then if they make sense in the context, then if they're beneficial, etc, etc.
1

Post Reply

Who is online

Users browsing this forum: No registered users and 88 guests