Chat:World/2021-01-30
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
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: 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
Tenty2k: how do you lower the level of difficulty for clashes ?
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
Astrobytes: Hmm, what to practice today... AI? Or disappointment? :thinking:
Astrobytes: Good point!
eulerscheZahl: disappointment is a valuable lesson for life
Astrobytes: I'm a natural pessimist, I'm seldom disappointed ;)
jacek: someone completed puzzle of the week :tada:
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
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
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
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
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
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
MSmits: though you could also choose to have a separate player 1 and player 2 test
MSmits: that's sometimes interesting
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 :)
Angecide: I mean he does book too right?
MSmits: not anymore
MSmits: it was hurting him
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
Angecide: nah, kovi that is because u are boosting karliso
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
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
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: !!
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
AntiSquid: we love it
AntiSquid: we aren't you ?
AntiSquid: why *
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%
ErrorRazor: ^That's me testing what happens if I press enter immediately after autofill lol
Astrobytes: Stop pinging me I'm busy.
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?
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
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
BillCrowe: codingame is hard lol
MaxTheorum: site is always slow around this time isn't it?
Il_Contadino: Yeah it is
Rabus: Giga laggy
MaxTheorum: ends at 1:30 if i remember correctly?
MaxTheorum: correction, should've ended
DrQuarius: lag is terrible :(
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
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
MaxTheorum: ah we're back online
Angelburgie22: How often does this happen?
tecrado: usually every day around this time
GregW12: t
What1: anyone know how to stop chat from opening everytime I get in a clash?
YOLI: ken ahi