Chat:World/2021-01-30

From CG community
Jump to navigation Jump to search

NobodyGuy: print("Hello World!");

jacek: happy Caturday

Aayush.Curious: guys..nobody interested

Aayush.Curious: ?

Aayush.Curious: http://kuhackfest.com/

jacek: its for students only

NobodyGuy: yeah, we are old man

Aayush.Curious: @jacek yeah...wait arent we all learners tho?

eulerscheZahl: "Any high school student, undergraduate student, or graduate student age 16+ can participate!"

eulerscheZahl: we are old, that excludes most of us regular users from the contest

eulerscheZahl: happy Caturday jacek

Aayush.Curious: Wait...does it really say only high school student or undergraduate?

jacek: its in faq

Aayush.Curious: oh yeah o saw it now..

Aayush.Curious: Hmm...alright, but still just one seat is left in my team..

Aayush.Curious: And at max, i can kick out a guy and amke a room for 2

Aayush.Curious: make*

Aayush.Curious: So, if anyone wants to come;

Aayush.Curious: https://discord.gg/dFmaXqPk

Aayush.Curious: Besides; i have never been to these hackfest; neither any of my teammates have..

Aayush.Curious: And although we are quite good in coding, we wanted someone experienced

**eulerscheZahl prefers a fixed problem set to solve over those wider hackathons where you have to bring your own ideas what to code

eulerscheZahl: something is wrong with Tryangle catch. It doesn't show the tags :scream:

eulerscheZahl: I think I know why. The 5% doesn't parse :rofl: https://www.codingame.com/learn/5%

Aayush.Curious: So...I guess i am not finding anyone. for my team from here

Aayush.Curious: Alright..

eulerscheZahl: go to CG discord, there's an #external-contests channel

Default avatar.png PRATIK-CHOLKE: Hello

eulerscheZahl: post it there: link to the contest, that it's for students only and that you want 1 more player

Aayush.Curious: @euler yeah CG discord..

Aayush.Curious: @euler thank u GOD!!

jacek: oO

Aayush.Curious: DAMN I loved 2048 puzzle

eulerscheZahl: nice to hear ;)

Aayush.Curious: 2048 was one of the best puzzles; tbh and your coding skills make u seem like GOD... LOL

eulerscheZahl: let's not put that too hich ;)

eulerscheZahl: high

eulerscheZahl: so, should I file a bug report that CG doesn't support a 5% tag? What are my chances that CG considers this tag relevant enough to dig into it?

dbf: where this tag is not supported? It suggests to practice it together with Disappointment in the title of your game :)

eulerscheZahl: https://prnt.sc/xusu5s

dbf: ah, ok

eulerscheZahl: https://prnt.sc/xusuyc

eulerscheZahl: where do you see the tag in use?

dbf: https://c2n.me/4aKOXod

dbf: it is a link preview generated from title

eulerscheZahl: ah. where do you even see that preview? it's not on the forum announcement

dbf: it is from message in telegram

TBali: this tag does not relevant for 95% of the users, sorry :-)

TBali: go for "5-percent"

TBali: does = is

eulerscheZahl: 5% not supported, oh the irony :D

jacek: euler is master in disappointment

TBali: minority ombudsmanf for coders migght help, petition him

TBali: my mistype ratio is even higher than usual today

eulerscheZahl: a few more and you don't even need encryption anymore

TBali: is there a webchat plugin wich redirects the enter key to a "are you sure?" popup?

eulerscheZahl: i'd rather see an edit function

Default avatar.png Tenty2k: sup dudes

Default avatar.png Tenty2k: how do you lower the level of difficulty for clashes ?

Default avatar.png Tenty2k: if that is even an option

eulerscheZahl: it's random

dbf: there are random tasks in clashes, you can't modify difficulty

eulerscheZahl: for private clashes you can choose the mode and i think even language (don't quote me on the latter)

eulerscheZahl: for public ones you have no influence at all

TBali: and clash difficulty is even more subjective than for solo puzzles

TBali: I remeber starring at a reverse puzzle input for 15 mins than it turned out to be very simple

TBali: reverse puzzles are like iq tests. Find the pattern. Luckily I have a negative test result for IQ :-)

TBali: good to have it in covid times

Default avatar.png lets_think: if

Astrobytes: Hmm, what to practice today... AI? Or disappointment? :thinking:

Default avatar.png zhoubou: Practice 5%

Astrobytes: Good point!

Default avatar.png zhoubou: :)

eulerscheZahl: disappointment is a valuable lesson for life

Astrobytes: I'm a natural pessimist, I'm seldom disappointed ;)

Default avatar.png TheMusicalSkull_348b: Hello

jacek: someone completed puzzle of the week :tada:

Default avatar.png selmaDa: hi

Default avatar.png Rockstar555: hii

Default avatar.png Rockstar555: noo

Default avatar.png Rockstar555: @jacek

Default avatar.png XxX__Neatrix__XxX: hii

jacek: oO

Rockstar555: hey jacek

jacek: how may i help you, Sir/Madam

Rockstar555: i am sir

jacek: :+1:

Rockstar555: so i want to say some confusion with hard puzzles

SPDene: rockstar555 have you tried using nested octal loops to adjust the lapizoidal cooefficients of the keywords?

Astrobytes: Try nicely using your brain to constrate.

Rockstar555: yeah

SPDene: oh wait... you want to *say* confusion, not get it :P

Rockstar555: thanks

Rockstar555: SPDene is a brave guys i like his opinion

Westicles: Can someone edit this to private? It is orphan clutter now

Westicles: https://www.codingame.com/contribute/view/605104afff34d2fffc63d055b3c0b21301fe

eulerscheZahl: not possible to edit the approval status if you aren't the creator

eulerscheZahl: 6 more days and it's gone anyways

Westicles: If CG is deleting approvals they can delete this

Westicles: Help reduce the logjam

SPDene: IMO best way to do that would be remove the quest map incentive to submit stuff :)

eulerscheZahl: contrib page is messy enough, one more or less doesn't matter

eulerscheZahl: i totally agree with SPDene quality > quantity

**eulerscheZahl is in the top10 of most active contributors on CG

SPDene: I think eulerscheZahl's a bot tbh :P

Rockstar555: nice

Rockstar555: eulerscheZahl is a great Coder

Rockstar555: or contributor

Astrobytes: Yes, the contribution quest is a complete and utter trainwreck.

eulerscheZahl: or maybe i just buy new contributions on fiverr

Astrobytes: haha

Rockstar555: :smile:

Rockstar555: i am fully agree with Astrobytes

Westicles: What's after top 1000 CoC? I guess I will inevitably do those someday

eulerscheZahl: 3 wins in a row

Astrobytes: I'm happy to miss that part of the quest map.

Rockstar555: i think 1000 CoC u don't play CoC Westicles

Rockstar555: okk

Rockstar555: :smile:

Westicles: Hey Rockstar. Yeah, maybe I will play 300 to be able to edit

Rockstar555: okk

Rockstar555: nice

Rockstar555: how i can make a multiplayer game guys

jacek: you mean bot for multiplayer game?

TBali: just solved Kakuro solver. Timeout for IDE test 08, but passing all validators. Probably 'close call'

TBali: Hah, now my brute force skill increased by 1

TBali: but backtracking is not really brute force

TBali: it is clever force

Default avatar.png 314Mat: cunning + 1lvl

Westicles: they are going to have to rename CG to wacky japanese puzzle site

TBali: They are fine in my book

Westicles: Nurikabe is a nice one

TBali: That is still on my todo list

TBali: I don't know how to speed up Kakura - I already do it O(x * y), no necessary extra loops for checking sums

TBali: *un... necessary

TBali: even fdigit reuse is checked via bitmasks

TBali: okay, O(x,y) is silly, of course it is much more

TBali: what I meant I do not make extra loops

Rockstar555: yeah

Rockstar555: sorry what are u saying jacek

jacek: oh you meant contribution

struct: hello

TBali: revoke past message. Found a speedup idea in Kikaro

eulerscheZahl: what's Kikaro?

struct: new feature announced on monday? :popcorn:

eulerscheZahl: yes, at least "maybe Monday"

eulerscheZahl: *might

bottlez: Always share your code :innocent:

TBali: Kakuro

TBali: just encrypted :-)

TBali: ny mistyping

TBali: by

TBali: whatever

TBali: I should use a joystick instead of keyboard

TBali: or speech to text. But given my English accent ,it would bring even worse results

TBali: https://www.codingame.com/training/hard/kakuro-solver

eulerscheZahl: https://projecteuler.net/problem=424

eulerscheZahl: I solved that one long ago

TBali: so letters are another twist

Westicles: Monday?

TBali: "Find the sum of the answers for the 200 puzzles." - what is the runtime constraint on this site?

struct: I think you run it localy

struct: and just need to type the answer

Westicles: Ah, the team thing

Default avatar.png focarion: */--

Default avatar.png focarion: +

Default avatar.png focarion: +

eulerscheZahl: in theory every problem in project euler should be solvable in less than 1 minute on a slow machine

eulerscheZahl: my solver took a little longer, maybe 15min

TBali: any relation to the projecteuler site, or just a coincidence?

eulerscheZahl: my nickname? i needed one when i registered there and just kept it

eulerscheZahl: me being creative and such...

TBali: I just registered, looks interesting. 750 problems.... Ah another time sink...

Westicles: They get extremely boring and repetitive

DomiKo: yes

kovi: i am starting to loose faith in my uttt solution -yesterday was lucky, avg. place is between 20-40 as i thought, but its ok -i've added mcts solver...no difference (leaderboard) -earlier recogniton of some wins: it became much worse

MSmits: a small improvement will not be noticable in uttt by submitting

MSmits: you need a better test to notice this

DomiKo: but solver?

MSmits: solver is definitely an improvement

kovi: im more concerned about the 2nd part

DomiKo: kovi have you stats version with solver vs without solver?

MSmits: what is the 2nd part

kovi: earlier recognition of non3inawrow wins

MSmits: how did you do this?

MSmits: you counted won boards and if you won 4, with 2 drawn boards, it's a win because opponent can get max 3?

kovi: (domiko - havent started to play locally. also self play can be misleading with strong heuristics. altough solver should show up for sure)

kovi: yeah, msmits something like that

MSmits: that's never going to be worse, unless it takes a lot of resources

MSmits: i made it part of a lookup, so it gave me no extra overhead, it was in the same lookup i always used

kovi: im surprised. maybe i start to work towards a more tentative goal

kovi: yes, same lookup for me as well

MSmits: you could have a bug in it

MSmits: it's something you can easily do wrong

MSmits: if you dont hardcode your bot and it's sufficiently random in move selection (maybe add random(0, 0.05) to each child value on top level)

MSmits: then self testing is fine

MSmits: a small random variation will not make your bot much weaker

MSmits: and it will make it much more random

MSmits: then you can really test the value of some heuristics properly

kovi: yes, only counterheuristic is misleading

MSmits: my ept bots are really deterministic, so i have no choice but to add this randomness. Otherwise every test will be useless

MSmits: especially since at least half of opponents are deterministic like that. You will end up playing the same game over and over =/

MSmits: uttt is thankfully quite different though, as long as players arent hardcoding

kovi: cant be sure that i dont have a bug, but already doublechecked. anyway i got a new theory. it is not that my moves are towards are more tentaive win. it is avoiding a loss, which the enemy may not detects that early

MSmits: are you saying, you're worse off playing better?

MSmits: that is actually a thing

Default avatar.png Angecide: I feel the same, whenever I add heuristics, my bot just becomes worse

kovi: i have an idea how the check that

MSmits: Angecide uttt is notorious like that

MSmits: if something helps, it helps by a little

MSmits: so do also make sure it is actually worse, and you dont go by your submit result, because that is fairly useless

kovi: 3 submits as always (atm im yesterdays version)

MSmits: yes, but that doesnt necessarily make it a good test

MSmits: it depends a lot which players you face and in which order you face them

Default avatar.png Angecide: I am starting to incorporate cgbench to get more “true” data of my bot’s performance

MSmits: yeah... best thing is make a list of target players with your arena version in there as well. So you play vs yourself and a selection of players, preferably spread out on the leaderboard

MSmits: dont include players you always beat or players that always beat you

Default avatar.png Angecide: ye, I am new to cgbench, for uttt should I set randomSeet: true, empty seed list and playerPosition: -2 ?

MSmits: seed has no effect on uttt

MSmits: playerposition -2 is good, that makes it alternate

Default avatar.png Angecide: yep I see

MSmits: though you could also choose to have a separate player 1 and player 2 test

MSmits: that's sometimes interesting

Default avatar.png Angecide: ah right, that way I can measure the performance of each of my sides more accurately

MSmits: yeah, you could do that

MSmits: I did that vs karlis o. Last time i checked, without book it was 100% win for him if he was p1, 50% if he was p2

MSmits: so he's pretty strong :)

Default avatar.png Angecide: I mean he does book too right?

MSmits: not anymore

MSmits: it was hurting him

Default avatar.png Angecide: oh, so he has a sick bot, that's actually cool

MSmits: yeah

MSmits: re curse as well i assume, judging by the rating

kovi: oh, #1 now?

MSmits: those two should not be too far apart in strength i think

kovi: did i pushed him?

MSmits: who? karlis o?

kovi: yes

Default avatar.png Angecide: nah, kovi that is because u are boosting karliso

Default avatar.png Angecide: check replays

MSmits: you may have. It's a very reliable bot

MSmits: so it wins easily against all weaker players

MSmits: might be re curse nn was either unlucky or has rare losses against weaker players, i didnt check

kovi: both of them beat me+angecide 100%

kovi: maybe just at a different height

MSmits: also just maybe not the same amount of them

Default avatar.png Angecide: ye, that's werid, recurse should stay nr1 according to what I can see

MSmits: no, the one who wins more gets boosted more

kovi: they were within 0.1 ts few days ago

MSmits: opponent selection is random so it may just mean karliso played more games

MSmits: and since he was a lower rank, he's closer to your rank so probability of a match is higher

MSmits: makes sense to me

kovi: yes he won more

MSmits: only fix for that is for recurse to resubmit

MSmits: and then do it again in a few days if you guys keep submitting :)

MSmits: unless of course his bot is perfect vs, then you should push him right back to 1

MSmits: vs you

MSmits: btw jacek, my connect4 bot has problems with you. I pushed you quite a bit past tric trac

MSmits: maybe it's somehow connected to the fact that i changed my steal and opening to move 1

PatrickMcGinnisII: Just did "The lost files", reminds me a little bit of euler's TryAngleCatch graph

eulerscheZahl: i had the same impression when I saw that puzzle

eulerscheZahl: but the lost file is only 5 months old

MSmits: I spent some time writing classes to read the input properly euler. But havent gotten to the logic yet. Working on GoD first

eulerscheZahl: => my game is older => i didn't get any inspiration from there

MSmits: i think the idea of having objectives and such, might be similar to a good approach with tryangle

eulerscheZahl: no pressure MSmits

PatrickMcGinnisII: Your game just went live yesterday

PatrickMcGinnisII: there was only 2 approvals, then i saw it pop up, only had 2 days left

eulerscheZahl: but i started working on that game in June

PatrickMcGinnisII: I understand

PatrickMcGinnisII: I did puzzle to get some insight into finding triangles

MSmits: but you get them as input dont you?

eulerscheZahl: https://github.com/eulerscheZahl/TryAngle-Catch/graphs/contributors took me a while to code the game the way I wanted

kovi: im lazy and asked euler to list the triangles ;)

MSmits: well i am happy he did. Finding them seems messy

eulerscheZahl: it is :D

eulerscheZahl: checking for crossing lines

MSmits: well i guess you find neighbors and then for each neighbor find out if one of it's neighbors is a neighbor of the root

MSmits: but then its not necessarily a triangle ofc

PatrickMcGinnisII: holy crap, it is in the input

eulerscheZahl: map generator is a little worse even. making sure that the angles don't get so small that houses are on a line visually

MSmits: oh, right

MSmits: that must have been annoying to code

MSmits: at least it's easy to debug, since you're making it visual

MSmits: when i write a bot, nothing is visual

PatrickMcGinnisII: I saw some obtuse angle testing... i didn't dive into referee at all tho

PatrickMcGinnisII: the shading of the triangle is a nice touch

eulerscheZahl: the obtuse angle is for visuals only

eulerscheZahl: the referee makes sure that you can't construct triangles with such angles at all in the node placement

PatrickMcGinnisII: :thumbsup_tone1: The mirroring musta been a pain in the arse

eulerscheZahl: no, not even that much

eulerscheZahl: but command handling

kovi: you start from center?

eulerscheZahl: i place a random node + mirrored at the same time

eulerscheZahl: make sure there are no obtuse angles

eulerscheZahl: then connect all nodes within 400 range at first

eulerscheZahl: then remove random edges and see if the graph is still double connected

PatrickMcGinnisII: I wrote 100 lines trying to setup game like GiTC, and it seems like overkill at this point, smh

**PatrickMcGinnisII slaps PatrickMcGinnisII around a bit with a large fishbot

eulerscheZahl: the first boss has 200 lines

PatrickMcGinnisII: crap gotta do real work

PatrickMcGinnisII: thanks for another game

PatrickMcGinnisII: :P

1400179: MSmits: I'm not fighting leaderboard in uttt anymore, CG system is so broken I'd have to resubmit all the time to account for random draws and whatnot. My bench gives >62% over 420 games in top5, it's enough for me. :p

eulerscheZahl: a reasonable decision

eulerscheZahl: and the 960 version of chess was too

1400179: I don't think it's about books

eulerscheZahl: so it's about the small difference in points even if you are significantly stronger?

MSmits: I know reCurse

1400179: Yeah

MSmits: i was just responding to the other guys that were surprised karliso was boosted to 1

1400179: Same problem in CSB

MSmits: i think it's not about the small difference in points in this case

MSmits: in this case it's about you and karliso both winning 100% against everyone else

1400179: Which brings the gap to inexistant if enough lower ranked submits happen

MSmits: exactly

1400179: Which is the same problem as CSB

MSmits: right

MSmits: well i said everyone else, i mean mostly < rank 10

MSmits: other * wil* have occasional wins and draws

MSmits: the game is random enough for that

MSmits: not in CSB though, CSB is pretty dependable when you've got a stronger bot. But that doesnt help you with low ranked submits

1400179: Except it's not

MSmits: you dont win 100% vs other players?

1400179: Barely got back rank 1 with >80% winrate against everyone, took until the submit was around 90% done to get it.

1400179: Which means 70% would not have made it

MSmits: ah yes, i meant when you're on the board, over time

MSmits: not during submit

1400179: But the only one who could make a difference submitting is pb 4

1400179: The others will just give 100% to both

1400179: System is broken as hell :)

MSmits: yeah, i meant, that is different with utt

MSmits: there are more players that will make a difference

MSmits: not just 1

1400179: Seems like only kar liso too no?

1400179: Or does he win that much more vs others?

MSmits: nah, i didnt test, but even against karliso i would get wins as p1

MSmits: it would just be draws and losses for me (draws counting as 2 games)

MSmits: so if i chain submit

MSmits: i will push whoever i play worse against

MSmits: not just whoever i play more against

1400179: True

MSmits: karliso wins 97% vs me as p1, 50% as p2

MSmits: dont know how it is with your bot

1400179: I only have combined stats

MSmits: well it's 74% or so for karliso

MSmits: vs me

1400179: 69%

MSmits: this is only his last version btw, a few months ago i was basically tied with him

MSmits: he improved a lot

1400179: vs you

MSmits: ah ok

MSmits: there is some residual book in there thats not hardcoded vs you, no idea if it helps at all

MSmits: it was vs your last version

MSmits: totally different bot

MSmits: but there's also residual book vs an old karliso version

MSmits: so who knows...

1400179: If only we'd all be obsessed on a good game instead...

MSmits: your definition of a good game is really quite limiting though

1400179: MK was right all along

1400179: :o

MSmits: he says a lot, so you'd have to be more precise :)

1400179: CSB is the one true game

MSmits: oh ok, well it's a good game in its own way. I dislike what it does with the floats though, same with GoD

MSmits: the angles i thought it was mostly

MSmits: illedan fixed that for br2t

MSmits: br2k

1400179: It really doesn't have much impact

MSmits: not much no

MSmits: it's an annoyance

1400179: My new training run really draws a *lot* in checkers...

MSmits: how does it draw

MSmits: not by repetition i hope?

1400179: Shuffling

1400179: How do you make a replay shareable again...

MSmits: do you have the endgame book yet? Because otherwise i dont think you can fix it

MSmits: from CG bench i have no idea

MSmits: havent succeeded

1400179: No I haven't plugged the endbook yet

1400179: I wanted to do a clean run with all the tweaks I did since

MSmits: in the IDE you do replay and share button

1400179: To """properly""" measure

MSmits: ah ok

1400179: As much as you can in this universe of entropy

1400179: Source code is also messy as hell

1400179: For the db

MSmits: you mean from the link i shared?

1400179: I just want to uncompress it straight into the ram and spare the drama

1400179: Yes

MSmits: it seemed messy to me

MSmits: wait do you mean the db or the generator ?

1400179: The db

MSmits: oh ok, i never tried to use the db

MSmits: just the generator code

1400179: I don't care if it takes 16gb at least the lookup is quick

MSmits: yeah i made a 15 seed db for oware that's 4 GB. Different result based on how many turns left

1400179: At least it's better than chinook's lol

MSmits: so its 15 seed states times 200

MSmits: whats bad about chinooks?

1400179: The source code is ancient

1400179: And it shows

MSmits: oh ok, i didnt know it was public

1400179: Well on the plus side I don't lose against db dr

1400179: On the negative side it's all draws

MSmits: do you think the top checker bots used engine code publicly shared?

1400179: Always possible

1400179: I don't know db dr's stance on that

MSmits: dont think dbdr has a problem with it, I do think he googles when there is a multi. He probably would just use it for ideas and them make it his own

1400179: Can you open this? https://www.codingame.com/replay/525568104

struct: yes

1400179: Ok so the trick is to add share- to replay

MSmits: yeah

1400179: so /share-replay/...

MSmits: weird

1400179: I think it's necessary since they made the replays private by default

MSmits: so there's not actually anything changing in terms of security?

1400179: Since the contest snooping I think

1400179: Anyway that's an example of draw

MSmits: yeah fairly typical

MSmits: usually it's 3 vs 3 though,

MSmits: but 4v4 happens

1400179: I wonder what the endgame db has to say about it

MSmits: could be anything really, i wouldnt know

MSmits: I worry that you will keep having this problem on the leaderboard

struct: kings are not forced to take?

MSmits: even if you can fix it offline

1400179: They are

struct: Ah, I thought it was another variant

1400179: tbh I have my satisfaction with benches

struct: where you could move kings like queens

1400179: idc about what displays anymore and lost faith in any fix

MSmits: i mean you will keep having draws because you can never fit an endgame book large enough

1400179: Well I'm hoping the training will prefer positions that won't draw

1400179: If it has a 8 piece db

1400179: Though uncompressed maybe only 6 or 7 would fit

MSmits: yeah that's possibly

MSmits: if it is dtm, then 7 piece is the maximum realistic

1400179: Motherboard doesn't support more than 64gb :(

MSmits: i dont think anyone ever did a 8 piece dtm

MSmits: the calculation time would be insane

1400179: In theory the NN could learn endgames

1400179: But mine is probably way too small

MSmits: the framework?

1400179: No the network

MSmits: the network i meant sry

MSmits: you need more layers/nodes

struct: lc0 end games are good?

1400179: Yeah but in CG's context I can't

struct: without table bases

1400179: lc0 has syzygy

MSmits: right

struct: ah ok

1400179: Don't think they care without, though someone trained an endgame net

1400179: Not used in competitions

MSmits: hey reCurse, remember when checkers was introduced and you said, pah why bother, it's a solved game

1400179: Not sure how well it performs

1400179: I say a lot of dumb things

MSmits: just pointing this one out :P

1400179: Thanks

MSmits: :grin:

1400179: To be honest though

1400179: Without NN I wouldn't bother

1400179: It's my only interest for these games

1400179: That are way too studied

MSmits: yeah that's fair

1400179: Hmm...

1400179: endgame net huh

1400179: Now that's another idea

struct: Seems worth a try

1400179: There are a lot of interesting ideas there

kovi: manual prevention of interaction till...x turns/fewer power

1400179: I can just do straight up SL

MSmits: i do wonder how chinook solves the problem of looking up a win and then not knowing how to get there quickly without repetition

MSmits: they dont have dtm db

1400179: For checkers it should be as simple as simplification I think

1400179: Since you need to capture all to win

1400179: Any win that has less pieces is better

1400179: Maybe even add piece distance on top

MSmits: yes, but many turns you have no capture opportunity

MSmits: oh an average distance to capture value?

1400179: Maybe

MSmits: or something?

1400179: Should be very easy to tune offline

MSmits: yeah, if you have a good idea how to code it, I would struggle with that

1400179: Just need to pick a random position from db and time to solve

1400179: Tune heuristic to optimize

MSmits: I see

MSmits: well you could add that to your nn instead you know

1400179: Well that's why I was musing about endgame net

MSmits: ah

1400179: I can supervised learn the db

1400179: Only issue is it doesn't give policy

1400179: So DTM would definitely be better

1400179: Do those exist online?

MSmits: i keep finding the same google result for that, but it's dead, bought up by some advertising spam crap

1400179: :cry:

MSmits: someone built a 7 piece

MSmits: checkers has really been dead since it was solved I think

MSmits: the link i shared was the center of the checkers world i think

MSmits: martin fierz

MSmits: i would guess it's kind of annoying when your favorite game gets solved completely

1400179: I guess

MSmits: btw, it should not be hard for you generate the dtm yourself. I think you may be better at this than I am and i was able to do it for oware. It's not that different for checkers

MSmits: the only annoying part is turning a game state in an integer code. You need binomial stuff for that

MSmits: it's all in the generator code

1400179: It's not something I'm interested into enough to dedicate the time needed if I can avoid it

MSmits: yeah I get that. I found it fun to do, but we have differing tastes

1400179: For a competition I'd be down that path already

MSmits: understandable

1400179: Oh and something else

1400179: I think I'm interested into checkers also because it's a stepping stone to chess

1400179: And then I'll lose my soul there probably

MSmits: ah I see

MSmits: is it really a stepping stone?

1400179: I think so

MSmits: are they so similar?

MSmits: I mean they're both historically popular board games

1400179: You have different piece types, you need to handle endgames, there are problems with shuffling

MSmits: ah yes, thats right

1400179: I think BT->checkers->chess is a path that makes a lot of sense

Default avatar.png Amloxg: :grinning:

MSmits: yeah, I am trying to think of another game to add in there from CG, but can't think of one thats similar enough

eulerscheZahl: where is arimaa on that list?

1400179: ?

MSmits: arimaa not on CG, unless it's another one of your secret projects euler

eulerscheZahl: nope, i have nothing in the making

MSmits: kk

1400179: "After DeepMind's AlphaZero <https://en.wikipedia.org/wiki/AlphaZero> mastered Go, Chess, and Shogi simply by playing itself, Omar Syed announced a $10,000 prize for the creation of such an Arimaa bot which could win a 10-game match against Sharp."

1400179: !!

Default avatar.png Angecide: time to shine

Default avatar.png Angecide: or is it over?

MSmits: that's a pretty big challenge though

MSmits: if deepmind didnt claim it already...

struct: Someone suggested arimaa before

struct: But I think its too hard for cg

eulerscheZahl: i think it was acat

1400179: According to wikipedia it's not been done yet, but maybe it's not up to date

MSmits: oh that game, with the animals

struct: I think it expired

MSmits: seemed hard yeah

struct: It was until certain date

struct: but im not sure

1400179: Aww

MSmits: you can try to do it anyway reCurse, the challenge might reappear

MSmits: it's not like you're not already doing this for free

struct: available annually until 2020

struct: The prize was claimed in 2015, when a computer program played 7:2 against three human players.

struct: https://en.wikipedia.org/wiki/Computer_Arimaa

1400179: Sometimes you need stupid carrots

1400179: Nah there's different things I think

1400179: "The Arimaa Challenge was a cash prize of around $10,000 that was to have been available annually until 2020 for the first computer program to win the human-versus-computer Arimaa challenge."

1400179: And

1400179: The quote I pasted

struct: ah I see now

struct: its different

1400179: Sharp is the program that won the first challenge

1400179: So the second challenge is to beat Sharp

1400179: Deepmind wouldn't claim it probably because training costs more than the prize money lol

1400179: Those boards are unreadable though

1400179: At least the pictures on wikipedia are ugh

1400179: Anyway back to checkers

tibithegreat: Q: maybe I'm dumb and can't see it, in ghost in the cell, can you output multiple actions in the same turn?

1400179: Yes

struct: reCurse you wanted dtw db?

1400179: For checkers yes

tibithegreat: how? a space between them?

1400179: ;

struct: oh, I wonder if they only run on that program though

struct: http://edgilbert.org/EnglishCheckers/KingsRowEnglish.htm

struct: at bottom there is dtw

struct: But I guess its only for that program :/

1400179: Hmm interesting, thanks

1400179: Updated 2020 :o

1400179: Oh I'm starting to pierce db dr's defenses

Kusum_R: hello

1400179: Hi

1400179: Success, I found the database access code struct

struct: Nice

1400179: http://edgilbert.org/Checkers/KingsRow.htm

1400179: Thanks

struct: np

1400179: Now to download this humongous file

tibithegreat: reCurse: Apparently you can only do multiple actions at wood 2, I had just started and was in wood 3

tibithegreat: that was confusing

1400179: Oh didn't know, my bad

tibithegreat: the statement was confusing as hell tho, cause it never said you can't do it

tibithegreat: it did mention that you can do it in higher leagues (which I missed, my bad there)

tibithegreat: but if you actually did it, it didn't err or anything, it only executed the first action

1400179: Weird

tibithegreat: anyway, moving on, climbing the wood ladder

MSmits: hf tibithegreat, it's a nice game, i hope to revisit it at some point when i figure out a good approach for games like that. Doing game of drones atm that has similar problems

struct: I also have no idea how to do those games

MSmits: I'm guessing you have to use heuristics to form strategic objectives and then use some optimization algorithm to combine them efficiently

MSmits: I think if I can figure out how to do that for one game, i can do it for many

MSmits: pr2, gitc, god etc.

MSmits: pms often speaking of "simulating ahead" under some assumptions

MSmits: that would be a way to score objectives

tibithegreat: yeah I did UTT before this, and this one seems quite different

MSmits: it definitely is

tibithegreat: I think a search can also be done at some point after you use a strategy/heuristic to prune a lot of the search space

tibithegreat: I'll see

MSmits: yeah that could work

MSmits: I also think there is a large variety of approaches possible that all do fairly well

MSmits: that's something complex games have in common

MSmits: simple boardgames often don't have that variety

tibithegreat: yeah

tibithegreat: I'm not a big fan of this but it what it is

MSmits: however, this does cause the rock/paper/scissors effect

tibithegreat: I usually prefer games with simple rules but deep strategy

MSmits: me too, but gitc does have fairly simple rules and looks pretty

MSmits: it's just that you have so many options to send your dudes out

tibithegreat: luckily I got some time to try stuff out, since I'm on medical leave from work for another week :)

MSmits: good

MSmits: well not good that you're sick or something :P

tibithegreat: well I got the covid a week ago

tibithegreat: until now it's been pretty mild, kinda like a cold

MSmits: I see, well take it easy

tibithegreat: thanks :)

jacek: once again sf is going to win tcec super finals

Arnaud.Net: @pb4 mdr ouais enfin la tu me mets 80% gg

1400179: Last couple of days broke my heart :/

jacek: hm

jacek: reCurse whos gonna likely win in bt? p1 or p2? my previous bot prefered p1 but restaring train from scratch and now prefers p2...

jacek: and its slightly stronger

1400179: Mine said p1

Scarfield: bt?

jacek: breakthrough

eulerscheZahl: too many games to keep track of acronyms

Scarfield: ah of course

eulerscheZahl: when I was new to CG, there were like 10 or 12

jacek: right, sf

eulerscheZahl: :older_man:

jacek: youre getting old, ez

MSmits: it would be really odd if p1 did not have an advantage in breakthrough

MSmits: i mean the goal is to advance your pieces and you have 1 more turn to advance

jacek: unless its blitzkrieg

jacek: ahh wait not this

MSmits: you mean zugzwang i think

1400179: There could be zugzwang

jacek: yeah

jacek: those german words

1400179: I had that problem when I misprogrammed the rules

1400179: P2 had a massive advantage because of blockade

1400179: White had to move and give away a hole

jacek: in the beginning of training it always prefers p2, then switched to p1, and now finally its p2 again

MSmits: this would not be detectable for a bot i think. The effect of zugzwang coming from p1 having 1 more move at the start would only be noticable if you nearly solved it I think.

1400179: Don't know why only if nearly solved

MSmits: I am not sure it seems like a small effect, zugzwang itself is not, but there should be many ways to avoid it

MSmits: unless both players play perfectly ?

1400179: There could be plenty of positions where you stumble on a zugzwang

MSmits: yeah there could be, my intuition could be wrong here

MSmits: in D&B zugzwang is basically the entire game

MSmits: btw jacek bt does have blitzkrieg :P

MSmits: more so than zugzwang i think :)

jacek: hm?

MSmits: it's basically moving fast and piercing enemy lines right

jacek: ah

MSmits: your connect4 bot is good btw

MSmits: if you missed me saying it earlier

MSmits: i almost never lose vs tric trac, lose quite a few vs you

1400179: Am I blind

MSmits: do you see this: :wave:

1400179: No

MSmits: blind then, sry

Scarfield: :v: how many fingers am i holding up

eulerscheZahl: you have to extend your book

MSmits: i just run mmcts without countering players specifically, it goes like 3-5 plies deep at most

NoobCod3: hey guys

MSmits: the moves that are in the book are basically also played without the book :P

NoobCod3: i haven't been on here in like a long time

Scarfield: hi

NoobCod3: so today we are going to do some coding on here XD

NoobCod3: So I might be bad

NoobCod3: so hope you enjoy it

MSmits: i will try to enjoy your badness

Scarfield: lol

NoobCod3: ?

MSmits: i have to go to the store, if i am not back in 45 mins i am going to be fined for being on the street after 9 =/

MSmits: ttyl

NoobCod3: omg lol

tibithegreat: lol

NoobCod3: XD

tibithegreat: I never understood this after hours curfew

NoobCod3: :FF

NoobCod3: FFFFFFFFFFFFFFfff

tibithegreat: it's not like the virus is somehow a lot more active at night or something

NoobCod3: can we get a F in the chat

NoobCod3: lol

1400179: Someone take the juice box away

NoobCod3: who the juice box?

1400179: This is not Twitch chat

NoobCod3: I know

1400179: So act like it

NoobCod3: oh cause

NoobCod3: ok

NoobCod3: :)

NoobCod3: \

NoobCod3: :)0

NoobCod3: :o

NoobCod3: :0

jacek: MSmits quite small sample size on contributions

therealbeef: Dutch govt using mcts to deal with corona :rolling_eyes:

struct: Smitsimax should do better

therealbeef: Let MSmits explain that to the cops when he gets fined :D

Westicles: Chess with a 1-star vote. Who is the enemy?

Westicles: It has to be one of the 18 on the leaderboard, right?

struct: no

struct: you just need to press play my code

eulerscheZahl: yes

eulerscheZahl: you have to submit to vote, don't you?

eulerscheZahl: not 100% for a puzzle but submit

struct: nope

eulerscheZahl: oh, interesting

AntiSquid: tibithegreat that's wrong thing, hope you're wearing 2 masks

struct: https://i.imgur.com/t5GErPk.png

AntiSquid: think*

AntiSquid: which game is that struct?

struct: its chess

tibithegreat: AntiSquid what do you mean with 2 masks?

tibithegreat: I'm not leaving the house at all :)

NoobCod3: ?

_O-MEGA: What u think about my contributions guys? i tried to make them as original as posible.

AntiSquid: must be a mailed in ballot, struct

AntiSquid: NoobCod3 to answer your question from PM: yes

NoobCod3: ?

NoobCod3: oh ok

nima_sedaghat_nia: flutter is good

nima_sedaghat_nia: :)

nima_sedaghat_nia: lovely:grimacing:

NoobCod3: :l

NoobCod3: :P

eulerscheZahl: _O-MEGA your Orchard isn't that original I think, see https://www.codingame.com/training/medium/robbery-optimisation

AntiSquid: no to private chat, prefer you keep the random emotes in private and ask the questions in world chat NoobCod3

eulerscheZahl: but then my code from there doesn't pass on your puzzle

eulerscheZahl: on test4 i print 70 while you expect 69

AntiSquid: feeling like you're an alt or some other dodgy entity

NoobCod3: ok @AntiSwuid

NoobCod3: *Antisqui

NoobCod3: typo

NoobCod3: AntiSquid

eulerscheZahl: and on validator 4 i disagree again

NoobCod3: me?

AntiSquid: just press A and then press TAB for autocomplete then instantly hit enter NoobCod3

NoobCod3: Astrobytes

NoobCod3: ?

eulerscheZahl: also avoid trailing spaces in the input. made my parsing crash

_O-MEGA: :))

Westicles: yeah, I pass them all with robbery except 1 off on test 4

tibithegreat: huh, I had no idea this chat had autocomplete

eulerscheZahl: and validator 4 is much larger than the testcases

eulerscheZahl: in terms of input size

Default avatar.png Tik2004: why are u nerds?

AntiSquid: we love it

Default avatar.png Tik2004: ok

AntiSquid: we aren't you ?

Default avatar.png Tik2004: 50 50

AntiSquid: why *

Default avatar.png Tik2004: tryin to balance it

MSmits: jacek i know sample size is small. I did quite a few submits and tests though, i think you win 40% or so. tric trac prolly around 10%

Default avatar.png ErrorRazor: Astrobytes

Default avatar.png ErrorRazor: ^That's me testing what happens if I press enter immediately after autofill lol

Astrobytes: Stop pinging me I'm busy.

Default avatar.png ErrorRazor: Sorry.

Scarfield: poor pingstrobytes

Scarfield: oh and there he is :)

jacek: AutomatonNN why would anyone ping Astrobytes

AutomatonNN: why do you know if anyone here played Coders Strike Back?

Default avatar.png ErrorRazor: AutomatonNN that was a good attempt to make sense

AutomatonNN: what is the difference between the top players who can see that you can interpret the values of its

Default avatar.png ErrorRazor: 100% agree.

trictrac: struct : all works fine on Amazons :slight_smile:

struct: Thanks for checking

struct: its a simple game to make an engine I guess

struct: without bitboards at least

trictrac: huge branching factor : needs to prune

trictrac: I made a bitboard version

trictrac: @8x8

struct: Should be the better version for CG

trictrac: I think It's enough

jacek: 2nd league will be 10x10 still?

jacek: or just 8x8 both

trictrac: I don't try the 10x10

struct: 8x8 jacek

struct: most likely

bafian: i suck at math =(

struct: Also dont worry on testing the 10x10

struct: if the 8x8 doesnt have bugs the 10x10 wont have either

struct: its the same code

M3T4: such a grind to get to level 20 what gives the most XP/time

jacek: quest map?

M3T4: quest and achievment included i've already done the very hard puzzles that doesn't require too much code

jacek: have you tried multiplayer games like CSB

M3T4: i'm stuck on gold

M3T4: just seen that mars landers has 2 legendary achievments gonna do that one

MSmits: M3T4 if you're stuck on csb gold it means you need to learn how to use search algorithms and csb is not the best place to start with that

MSmits: better to start doing that on a simpler game, like one of the boardgames on cg

M3T4: search algorithm ? what do you mean

MSmits: by that i mean, you try out as many actions as you can, simulating them out into future turns to find out what is the best move

struct: simulate next turns

MSmits: often you would do 100k + simulations or something

MSmits: really using the full calculation time available

MSmits: but this is harder in csb as you have two pods to control and need to make assumptions about the angles and thrust, discretizing them

MSmits: and without a good evaluation function, it wont even let you reach checkpoints

MSmits: board games are already discrete, dont have so many options and you can simulate quite a few turns into the future

MSmits: also the simulation is easy usually

M3T4: i was thinking i could use 1 bot as a defender and the other as a racer

MSmits: thats what we all do

MSmits: not the hard part though

struct: But you cant do this with ifs and elses

M3T4: well i'm taking a totally wrong aproach then

MSmits: no, it's not wrong

MSmits: it's just less advanced. There's steps in learning this

MSmits: nothing wrong with using heuristics to start with. That approach will even work all the way to nr 1 in some games

MSmits: code a la mode contest was won by pure heuristics

MSmits: if else etc.

MSmits: I'm actually trying to use heuristics in game of drones atm, because i dont know how to use a search properly

MSmits: (for this game)

struct: I managed to implement the xorshift on avx2

MSmits: oh

struct: If you ever need it feel free to ask

MSmits: do you mean multiple xorshifts at the same time in parallel?

MSmits: or just 1 result?

MSmits: fast

struct: 8 at once

MSmits: what would you do with 8 at once?

MSmits: which game i mean?

struct: Well I think it might be usefull on csb

struct: oh wait

struct: let me think

MSmits: usually when i xorshift i hash stuff

MSmits: do you mean fast random ?>

struct: yeah

MSmits: ahhh

MSmits: yes that is very useful, would love to have that

struct: but range is not high

struct: range is 16 bits

MSmits: fne with me

struct: [0,665536-1]

struct: something wrong there

struct: remove 1 6 :p

MSmits: weird

struct: 2^16

MSmits: right, but when i use fastrandom its usually to pick a random move

MSmits: maybe out of 64 options max

MSmits: why would i need 16 bit

struct: Well if you use 8 bits you can do even more

MSmits: that sounds great

struct: The gain is around 300-400% on cg I think

MSmits: nice

struct: Let me see if I can do a 8 bit version

MSmits: cool

MSmits: I would probably try to work it into uttt and other boardgames

MSmits: I guess filling a randomcache right before a random rollout

struct: so you use xorshift8bit ?

MSmits: you mean fastrandom again?

struct: yes sorry

MSmits: whatever this is:

MSmits: inline int FastRand(int mod) { g_seed = (214013 * g_seed + 2531011); return (((g_seed >> 16) & 0x7FFF)* mod) >> 15; }

struct: well if you want [0,255] range It can compute 32 at once

MSmits: random generation is mostly not a bottleneck i think if you use this fastrand, but hey, anything you can speed up with avx is a win

struct: if im not mistaken

MSmits: sounds awesome

MSmits: what exactly do you calculate. Is it the final integer, or is it a float that still has to be multiplied with the max to get the integer

struct: its just this https://en.wikipedia.org/wiki/Xorshift

struct: but avxed

MSmits: would you feed in an array of different maxima, or do they all have to have the same maximum?

struct: avxed*

struct: no they can have different maximum

MSmits: ahh ok, useful

tibithegreat: do you avx a bunch of other stuff as well with that or do you generate an array of random numbers with avx and then use normal?

MSmits: both are possible, depending on the game you use it for i guess

tibithegreat: cause if you remember it somewhere I think the mem access is slower then recomputing

MSmits: yeah thats possible

struct: no tibi, I needed this for csb

tibithegreat: I used that for UTTT

tibithegreat: didn't do much, it was something but not much

MSmits: its impossible for it to do much because random number generation is not taking more than 2% of total time

MSmits: unless you use std random or something

MSmits: then its maybe 4-5%

tibithegreat: well in my UTTT there wasn't really any visible bottleneck

jacek: is this like this? https://stackoverflow.com/questions/24001930/avx-sse-version-of-xorshift128

MSmits: usually it's the way you structure our random rollout

tibithegreat: like 70% of the time was spent doing simulations

MSmits: yeah

MSmits: thats the bottleneck

tibithegreat: and the simulation was doing

tibithegreat: 2-3 additions

tibithegreat: and a random

tibithegreat: repeat until check if the game is ended

tibithegreat: which was precomputed

MSmits: there are a few things you can do to make those endgame checks cheaper

MSmits: especially the big board one

MSmits: smallboard checks are cheap

tibithegreat: I had the big board precomputed

MSmits: yeah but that can be a huge array

tibithegreat: yeah

tibithegreat: and I also had an EarlyStop precomputed

MSmits: you can make it smaller if you use 2 bit per entry

tibithegreat: basically if the big board reaches a certain state it doesn't matter anymore

MSmits: yeah i do that too

MSmits: basically i used a 8 bit lookup and then did some shifting, a single 8 bit lookup would cover 4 different boards

MSmits: helps with cache

tibithegreat: I think I did that as well

tibithegreat: but still couldn't reach legend

tibithegreat: indeed my intuition is the same that the main bottleneck is the cache

MSmits: then there must have been something wrong. You need only a quarter of my bot's performance to reach legend

MSmits: maybe a bug

tibithegreat: probably my stuff is properly stored in memory to be cache friendly

tibithegreat: i had ~20k iterations on first turn

MSmits: yeah i have 1 million on the first turn if i make my bot vanilla

tibithegreat: wow

MSmits: maybe you mean 2nd turn

tibithegreat: yeah

MSmits: then it's 100k or a little over that

tibithegreat: first turn I had ~100k

MSmits: you would need 25k for legend

tibithegreat: yeah so I heard

tibithegreat: well it was my first MCTS

tibithegreat: so I'm decently happy with it (although an inner regret is still there)

tibithegreat: :D

MSmits: mine too, but not really. The first time it was my first, but i redid it several times

MSmits: i keep being drawn back

tibithegreat: it's a pretty cool game

MSmits: i think so too, some people hate it and it has its flaws, but it's also a great experience for a while

MSmits: main flaw is p1/p2 inbalance imho. And well people complain about the volatility of the leaderboard, but I dont mind that too much

tibithegreat: is p1 favoured?

MSmits: much favored yes

tibithegreat: interesting

MSmits: generally you can guess it as 70% vs 30%

MSmits: it's because p1 both has a 1 move advantage and gets to pick the best move in the game

tibithegreat: wow, that's pretty heavy

jacek: with mcts speed you have (if its not bugged) you should be in legend

tibithegreat: then maybe it's bugged :-??

MSmits: yeah could be

MSmits: tibithegreat, the very best bots, almost play perfectly as p1.

MSmits: as in, they dont allow you to win and there's no way to stop them

tibithegreat: aha

MSmits: i know because i tested their lines of play in a meta mcts solver program

tibithegreat: we need a bigger board :))

MSmits: they do make mistakes, but very few

tibithegreat: Ultimate Ultimate Tic Tac Toe

MSmits: there's several ways to solve the problem

tibithegreat: where each cell is a UTTT game

MSmits: one way would be the steal option, that would force p1 to not select a move that is so good

MSmits: another is random first move, but thats less strong as a solution

tibithegreat: well UTTT by definition is a deterministic game

tibithegreat: so someone definetly can 100% win

tibithegreat: with perfect play

MSmits: not necessarily

MSmits: could be drawn

tibithegreat: either p1 or p2 (probably p1)

MSmits: with steal it is very likely drawn

tibithegreat: oh yeah, or draw

MSmits: regular TTT is draw, even though p1 has a massive advantage

tibithegreat: but from what I understand the problem is that bots are so good

tibithegreat: that they get pretty close to solving it

MSmits: mmh not exactl solving it

MSmits: it's just that there's alittle margin of error because p1 has so much advantage

MSmits: so they are allowed to maybe make 1 mistake and still win

tibithegreat: I mean, by what move does the bot start zeroing in on the perfect strategy?

MSmits: oh, my bot solves at 15 plies before the end usually

MSmits: assuming the opponent doesnt suicide because he knows he lost

MSmits: but thats solving, the bot should know a bit sooner

tibithegreat: yeah my guess is that after move X let's say

MSmits: ply 25-30 is realistic for a bot to be safe if it is still on the path to win

tibithegreat: there is no more room for error

tibithegreat: like after move 30 if your bot makes a mistake, the opponent will know exactly how to beat it

tibithegreat: or with a very high probability

MSmits: yeah thats safe to assume

tibithegreat: so that's basically what we are optimizing

tibithegreat: the smaller X the better the bot

tibithegreat: and if X reaches 1 then basically the game is solved

MSmits: well you need to maximize your chances by your opening moves too

tibithegreat: indeed

MSmits: using teccles as p1 up to ply 18 or so is a safe bet

MSmits: then you have to play perfectly for maybe 12 turns (so 6 moves) and after that, if you've got a good bot, you're golden

MSmits: thats sort of my sense of it

tibithegreat: aha

tibithegreat: interesting

tibithegreat: I'll get back to UTTT at some point

MSmits: of course p2 can break teccles by sending you to a board with 2 moves on it already

MSmits: then you got more choices to make

tibithegreat: but my conclusion was that I had to rewrite the MCTS

darkhorse64: Does playing teccles as p2 work ?

tibithegreat: and kinda lazy about it :-"

tibithegreat: I wanna try some other games before I get back to it

MSmits: darkhorse64 not entirely sure, i dont think it hurts you, but dont do it later on

MSmits: so not after 18 or so

MSmits: meta mcts almost always converged on teccles as p2 as well

darkhorse64: OK

darkhorse64: thx

MSmits: np

MSmits: i watched one of re curses uttt games and it used teccles exclusively. I think his training also exposed the heuristic

MSmits: dont think he needed to hardcode that bit. Meta mcts also finds it fast

jacek: yeah its so nice to see pure ai to discover good strategy on its own

MSmits: yeah it is

tibithegreat: that's why I find RL to be incredibly beautiful

tibithegreat: especially the "Zero" variations

tibithegreat: it's like "ok humans played this game for a few thousand years... let's what the AI thinks"

tibithegreat: will it find the same moves humans did, or were we playing the game wrong the whole time

MSmits: actually that is how many CG NN's work too i think

tibithegreat: how can you do NN on CG?

tibithegreat: do you embed the weights in the source code or what?

MSmits: yeah

tibithegreat: bleah

MSmits: people do it :)

MSmits: not very many and it;s not always succesful, but mostly it is, on simple games

tibithegreat: it would be nice if CG had a more RL friendly environment

MSmits: you would still need to train your bots offline

MSmits: cant expect to use server resources for that

tibithegreat: that's fair

MSmits: so i guess all they could provide is libraries with functions to make the calculations easier to do

tibithegreat: well more like a way of uploading the NN weights or something

tibithegreat: and also the ability to download other agents locally to train against them

MSmits: well that's similar to just providing support for more than 1 file

tibithegreat: yep

1400179: Download other agents, that's gonna go down well

MSmits: would make counterbooking even easier eh?

tibithegreat: well in a special friendly environment :)

tibithegreat: not for competition

MSmits: counterbooking aside, it would just make it too easy to exploit RPS effects

MSmits: tune your parameters to perfectly play against your 1 rival

tibithegreat: like yeah for a competition it would be cheating galore

1400179: Don't worry though there's zero chance of something like that happening here

tibithegreat: fair enough

MSmits: i like the idea of trainign by selfplay

MSmits: no need for other bots

MSmits: and the issue with CG being NN unfriendly. Once you figured it out for 1 game, it's not that big of a deal i suspect

MSmits: you can just do the same thing for other games

1400179: At the risk of sounding like a D and elitist and whatnot

1400179: If the current limitations stop you

1400179: That probably wouldn't have worked out otherwise

MSmits: good point

MSmits: but tibithegreat has a point when it comes to learning

MSmits: if you want to learn minimax, CG is fine

tibithegreat: it's great actually

MSmits: if you want to learn to use a NN here, there are unnecessary hurdles

MSmits: you have to learn it elsewhere and apply here

tibithegreat: I mostly use kaggle for my ML learning and stuff :)

1400179: People have all sorts of wrong perceptions of NNs

tibithegreat: what do you mean?

tibithegreat: I am very beginner level in NN so I'm curios what's your thought on it

1400179: That you feed it a lot of data and it works out

tibithegreat: oh :))

tibithegreat: yeah that's not exactly how it works

tibithegreat: my experience is a lot of tuning of meta-parameters

MSmits: not my perception. You need a to set a lot of parameters and the data needs to be good as well

MSmits: lots of trial and error

tibithegreat: yep

tibithegreat: I did some kaggle stuff

tibithegreat: and I was basically just binge watchign some stupid show

tibithegreat: while working on it

tibithegreat: because I was like "oh let's see what happens if I add one more layer"

tibithegreat: start training, see you in 2 hours

tibithegreat: 2 hours later -> ok, that didn't really work

tibithegreat: let's try changing the activation functions

tibithegreat: and so on

MSmits: I think you develop an intuition about it so that after a while you need less trial and error to get to the correct parameters

tibithegreat: luckily I also have a decent gpu

tibithegreat: yeah, but that comes with experience :)

MSmits: yea

tibithegreat: so you have to go through the hurdles of a lot of trial and error first

tibithegreat: oh and also as you mentioned

tibithegreat: you need to make sure your data is properly set up

MSmits: thats for data classification stuff, but I am guessing for an actual game playing bot it's more difficult

tibithegreat: if you show your NN 10 billion images of dogs and 10k images of other animals

tibithegreat: and ask it to classify animals

tibithegreat: you're gonna have a bat time

tibithegreat: *bad

MSmits: i am not sure how to do it with a game playing bot. I think I can do a data classification NN (poorly) with some library assistanc

1400179: It's different challenges

tibithegreat: with a game I think the reward function is the main problem

1400179: Zero uses no reward

MSmits: not even WLD?

tibithegreat: Zero is end-to-end?

1400179: That hardly counts as a reward in its normal definition

MSmits: yeah ok

tibithegreat: I thought Zero was just that it didn't do any imitation learning

tibithegreat: but it makes sense to not have any intermediate reward as well

1400179: Zero has no domain knowledge other than input

1400179: Hence the name zero

tibithegreat: otherwise you are purposely guiding the bot to play as human knowledge dictates

MSmits: it doesnt try illegal moves though right?

tibithegreat: I think it does

MSmits: mu zero does

MSmits: a zero doesnt i think

1400179: The policy may output illegal moves

1400179: They are masked out

MSmits: ah ok

tibithegreat: you can build the output in such a way that it can't really output illegal moves (depending on the game)

1400179: For long games with poor convergence though then yeah, reward and curriculum becomes a necessity

tibithegreat: depends on how much hardware and time you have available for training

tibithegreat: with infinite hardware an AlphaStarZero could be possible

1400179: Not really, there are domains that are known not to be tractable

tibithegreat: what do you mean by tractable?

1400179: That you can't hope to achieve a solution using pure computation

MSmits: maybe D&B :)

tibithegreat: hmm interesting

tibithegreat: what's D&B?

MSmits: remi thinks so

1400179: Training starcraft from zero would probably need more hardware power than we have

MSmits: dots and boxes

tibithegreat: MSmits got it

tibithegreat: reCurse theoretically still possible

MSmits: yeah those RTS games are ridiculously complex

tibithegreat: but just theoretically

1400179: Sure, theoretically I could resolve covid overnight

tibithegreat: :))

MSmits: dota 2 was done and that's just controling 5 guys, no building and lots of simplifications

tibithegreat: it wasn't zero tho

1400179: And a enormous reward function

tibithegreat: that's what I didn't really like about the dota thing

tibithegreat: they basically trained it specifically to human knowledge of the game

1400179: Gotta run bbl

tibithegreat: like how to cs

tibithegreat: how to deny

MSmits: bye reCurse

tibithegreat: bye

tibithegreat: like they gave it rewards whenever it would deny a minon, or last hit a minion

MSmits: ah yeah

tibithegreat: cool part is seeing the AI figuring that out on it's own

tibithegreat: like a dog playing chess :))

MSmits: the funny thing about using AI in those games is that they will play strategically weak, but they can micromanage the sht out of the game

tibithegreat: yeah

MSmits: like you have a zerg army in starcraft and they move each one individually

tibithegreat: did you see the alpha star demo?

MSmits: not sure

tibithegreat: it was a few years ago and it beat some pro players by playing protoss with incredibly blink micro

MSmits: ohh sounds fun

tibithegreat: https://www.youtube.com/watch?v=cUTMhmVh1qs&ab_channel=DeepMind

tibithegreat: it beat TLO and Mana (if you know sc 2 proplayers)

MSmits: nah i dont know that much abou tthe SC2 scene

MSmits: played a ton of RTS i my time though

MSmits: not specifically SC2

tibithegreat: they are middle of the pack players

MSmits: ah ok

tibithegreat: not the best koreans

tibithegreat: but not low level either

MSmits: ah ok, i am watching it now

tibithegreat: ok, have fun :)

MSmits: thanks :)

struct: There is a retired(?) pro sc2 player that usually comes here for contests

struct: nerchio

tibithegreat: oh

tibithegreat: yeah he is kinda on the same level

tibithegreat: as mana and tlo

Default avatar.png BillCrowe: codingame is hard lol

Default avatar.png DaddyWaddy: hey

Default avatar.png JoelMoel: hey

Default avatar.png DaddyWaddy: i love men

MaxTheorum: site is always slow around this time isn't it?

Il_Contadino: Yeah it is

Default avatar.png GregSureman: Super laggy

Rabus: Giga laggy

MaxTheorum: ends at 1:30 if i remember correctly?

MaxTheorum: correction, should've ended

DrQuarius: lag is terrible :(

Default avatar.png Angelburgie22: HS it's laggy as f

DrQuarius: glad it's not just me though. Had to submit my CoC code without even seeing test results

MaxTheorum: yeah no same her

Default avatar.png Angelburgie22: My code didn't even run, I got a 0%, I am pretty sure it is a 100% tho

MaxTheorum: e

DrQuarius: That sucks Angel

Default avatar.png Angelburgie22: IK

Default avatar.png Angelburgie22: :'|

MaxTheorum: ah we're back online

Default avatar.png Angelburgie22: Yes, we are

Default avatar.png Angelburgie22: How often does this happen?

tecrado: usually every day around this time

GregW12: t

Default avatar.png What1: anyone know how to stop chat from opening everytime I get in a clash?

Default avatar.png popomafu: pinukim

YOLI: ken ahi

Default avatar.png cokevex: wpinww

Default avatar.png Angelburgie22: aGVsbG8