Chat:World/2021-07-15
Lyapunov_kills_me: Does anyone have any idea about Mars Lander-Episode2?
Lyapunov_kills_me: I find my logic too messy
kakaru: HELLO
MiyamuraIzumi: Mars Lander 2 is quite simple: just control the speed and angle in range
MiyamuraIzumi: and then => all
kakaru: 비니님 저두 한국
seAlKnoT: mero lado
jumps-are-op: https://www.codingame.com/replay/570242190 how this is even possible
LachlanB: I just did a technical interview, and I think it was an impossible question with the language I selected. How can I find out more about the solution?
Q12: What is the question? Is it one of the puzzles here?
derjack: good morning
LachlanB: It was a question to find lucky numbers. A lucky number is a number that has the digit 6 xor 8. I had to find how many lucky numbers there are between 1 and a 52 bit int, and I had to execute it in less than 6 seconds, I couldnt get that fast and I dont think it is possible with python
Hilekat: hi guys, i really would like to become a python developer, i learned all about theory, but in game i'm not good, how can i improve myself where i can learn to improve myself, can you give me some advice please
Q12: Solve puzzles in python @Hilekat
Q12: And @LachlanB This is possible with python. You should find a different algorithm to solve it.
bini0823: Does anyone knows that how to estimate rank on "CLASH OF CODE" ??
BugKiller_328: It depends on game mode.
bini0823: But I mean not each game but total rank!
BugKiller_328: http://chat.codingame.com/pastebin/e4bb8de3-29fa-46be-b163-6fbf93c7900d
BugKiller_328: Go to your profile page, and click question mark which is in top right corder of the ranking box...
BugKiller_328: make sense ?
BlaiseEbuth: Oo
derjack: o.
BlaiseEbuth: .
Astrobytes: o.o
derjack: any breakthrough in bt?
Astrobytes: me?
BlaiseEbuth: (╯°□°)╯︵ o˙o
derjack: you recently submited didnt you
darkhorse64: -.-
Astrobytes: Yeah, once or twice :P
BlaiseEbuth: (╯°□°)╯︵ -˙-
Marchete: (╯°□°)╯︵ ┻━┻
Marchete: (╯°□°)╯︵ ┻━━┻
Marchete: (╯°□°)╯︵ ┻━━━━━┻
Astrobytes: Need to tweak eval a bit I think
BlaiseEbuth: (╯°Д°)╯︵/(.□ . \)
BlaiseEbuth: ┬─┬ノ( º _ ºノ)
Astrobytes: generally sits between 28th and 21st at the moment
darkhorse64: Stop throwing furniture at us. I feel like in a Tex Avery cartoon
Astrobytes: :D
BlaiseEbuth: (╯°□°)╯︵ ᔭ9ǝsɹoɥʞɹɐp
Astrobytes: Anvils dropping from the sky, dynamite exploding everywhere
darkhorse64: kitchen sink
BlaiseEbuth: Now Tex Avery make me think about The Haunting... #NoMoreChildhood
derjack: hm?
BlaiseEbuth: A parallel with Road Runner used as weft for an awful death discovery scene... :ghost:
derjack: in here they translate road runner into Ostrich ~
BlaiseEbuth: Another kind of trauma...
BlaiseEbuth: In France it's 'Bip Bip'
Astrobytes: Weird, since roadrunners are a type of cuckoo :thinking:
BlaiseEbuth: Yeah... But the cartoon doen't really look like the original bird.
Astrobytes: What. Next you'll be telling me Daffy Duck looks nothing like a real duck
Astrobytes: :P
Ninjapig28: join clash or u scared<??
Astrobytes: No.
Astrobytes: Oof. Bit harsh Blaise.
derjack: :scream:
BlaiseEbuth: Reflex.
BlaiseEbuth: I don't like such provocation
Astrobytes: We noticed.
BlaiseEbuth: Well... He's probably more happy where he is now...
furtim: hi
BlaiseEbuth: o/
BlaiseEbuth: \o
BlaiseEbuth: \o/
dbdr: what's wrong Marchete?
BlaiseEbuth: The table, apparently...
Noah321: with power of thor episode 1
BlaiseEbuth: :thinking:
Astrobytes: "What's that Skippy? Noah's fallen down the well?"
BlaiseEbuth: You're welcome
dbdr: ^
Astrobytes: http://how-to-properly-ask-a-question.surge.sh/
derjack: oO
BlaiseEbuth: There's no kangaroo emoji...
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
BlaiseEbuth: That guy is a good one
BlaiseEbuth: Give him cookies
BlaiseEbuth: :cookies:
BlaiseEbuth: !cookie:
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
Astrobytes: :cookie:
Astrobytes: Anyway. Regarding Thor, we don't know what part of Thor you need help with so we can't currently help you.
dbdr: the part about solving it
Astrobytes: :D
BlaiseEbuth: Astrobytes! You already crunched that cookie! That's not very covid. :rage:
Astrobytes: It was already like that when I found it!
BlaiseEbuth: Noah321 you have to update thor's position yourself each turn.
derjack: :unamused:
Astrobytes: Something wrong?
derjack: nah, just made you look into leaderboards, didnt i
Astrobytes: Nope
TobiasA: how can i solve the "difficult, longer with cycles" testcase in labyrinth
derjack: donate faster cpu to CG
TobiasA: it still won't work
KiwiTae: you need to do path finding
KiwiTae: and bfs they say
TobiasA: yup i did the path finding and bfs and it works for all the testcases except the last one and i don
TobiasA: t know why
KiwiTae: it fails where?
KiwiTae: can't get to the control room? or go back to origin
KiwiTae: maybe improve the exploration
TobiasA: it doesn't get back to the start on time
KiwiTae: means you don't have the shortest path
KiwiTae: fix it :p
Noah321: please send a link with the code for Power of Thor
darkhorse64: no way
KiwiTae: https://pastebin.com/rbkHf2yi ^
KiwiTae: he left ah
KiwiTae: Noah321
KiwiTae: ah no
KiwiTae: here u go
KiwiTae: default code right there :wink: you are welcome
Astrobytes: Noah321: here is the Thor Code -.-- --- ..- / .- .-. . / ... ..- .--. .--. --- ... . -.. / - --- / ... --- .-.. ...- . / .. - / -... -.-- / -.-- --- ..- .-. ... . .-.. ..-.
KiwiTae: Astrobytes SAVAGE
KiwiTae: :joy:
Astrobytes: :grin:
nulte: :wave:
Astrobytes: hey nultestruct
The_ZimaBlue: Trying to decode morse :)
The_ZimaBlue: Already have code to do it.
The_ZimaBlue: Trying to find it.
The_ZimaBlue: Wait, what
The_ZimaBlue: is it just me, or does it decode to "encrypted/dectrypted"
The_ZimaBlue: oops
The_ZimaBlue: tiny mistake ^_^
The_ZimaBlue: Forgot to paste code in IDE
The_ZimaBlue: ESSESEISE?
dbdr: http://chat.codingame.com/pastebin/f62748d3-40ea-417b-8b7c-df182182730a
The_ZimaBlue: https://www.codingame.com/contribute/view/71159214dd88db1b04b50e52fffe18179bbf A contribution I made to do that XD
Astrobytes: I considered that dbdr but decided the message might be clearer with my text ;)
dbdr: your message is perfect ;)
The_ZimaBlue: IEISEIESIIEEIEIHSIESES EEEEEISHEISEHESIIHEESEEHISEHEESEIIIIIIIIHSEESES IIIIHHESIIHEIHEIIHHESIIHEIHEIIIIHSSISIIIIIIHSSISIII IH IH III IIIIIEEHIEIEIISHEEIISHEEEHISIEI EIISIIEIEISIEHE EEE EESSES ESIEIEIIHEEEEEESESS SE E?
The_ZimaBlue: Something is rwong XD
Astrobytes: Is your Morse decoder high?
Astrobytes: It appears to have been drinking at least!
The_ZimaBlue: XD probably
The_ZimaBlue: idk
The_ZimaBlue: http://chat.codingame.com/pastebin/ce2e3020-3a5f-4716-938e-0e2a34027930
The_ZimaBlue: Now it's working better
Astrobytes: Indeed
The_ZimaBlue: http://chat.codingame.com/pastebin/c1bf49df-54fe-4902-bd40-6539934a9132
The_ZimaBlue: MY python 3 code to do it
The_ZimaBlue: I only have morse alphabet
The_ZimaBlue: not special characters\
The_ZimaBlue: so it doesn't have the "<<" and the ">>" and the ";"
kakaru: java source for bfs, need what?
derjack: huh
eulerscheZahl: is this guy trying to sell a BFS code to us?
derjack: :money_mouth:
BlaiseEbuth: I think he want to trade what we need against a bfs code.
BlaiseEbuth: We need to clearly establish what we need guys.
eulerscheZahl: a contest
eulerscheZahl: with lasers
eulerscheZahl: in the medieval age
BlaiseEbuth: I'll say a contest of contest, and the glorious return of AutomatonNN !
eulerscheZahl: i would try a sneaky ban on automaton if it ever returns
BlaiseEbuth: eulerscheZahl is there a way to ban AutomatonNN is it returns?
BlaiseEbuth: *if
eulerscheZahl: "is it returns" is fine, Automaton doesn't construct correct sentences either
BlaiseEbuth: Right.
derjack: Automaton2000 what do you need
Automaton2000: how do you do that and i don't want to see it
Ninjapig28: w
derjack: Astrobytes why write W or L so early
Astrobytes: don't pay attention to that, it's lying currently
derjack: deceiving bots eh
Astrobytes: No I just failed to update that part
KiwiTae: u sad? ~
BlaiseEbuth: Oh cool. Hold on, I'll grab some popcorn.
Redlin_Kirill: Automaton2000
Automaton2000: just like in the first 10 matches are critical
Wontonimo: it is Automaton2000 , but what about the next 10 matches?
Automaton2000: yea i had to look up a clash just because i don't like how you can get
Marchete: Automaton2000 is right, the first 10 matches are critical
Automaton2000: to check if the opponent is
Wontonimo: "first10 matches" must be a high frequency n-tuple for Autom2000
Wontonimo: people really don't talk much about the second 9 matches
Wontonimo: or third 13 matches
Marchete: I see the first 12 matches, 12 good matches mean high in leaderboard from start
Marchete: 10 + 1 loss is bad too
nulte: hmm
Wontonimo: hm?
martinpapa69: yo Marchete
martinpapa69: have you tried training your NN in a more alpha-zero ish style instead of alpha go-ish style ?
Marchete: ??
Marchete: how
Marchete: minibatches?
Marchete: I have no idea how to do it properly
martinpapa69: i mean the meta-training script
Marchete: what meta training
Marchete: parallel workers?
martinpapa69: I see you basically have more versions of your NN competing eachoter, and you replace the best ones, when you find a new best
AllYourTrees: what were the differences other than always using latest instead of competing latest & best, and some sampling stuff?
Marchete: i have two bests
martinpapa69: yea, two
Marchete: and I selfplay AA AB BB etc
martinpapa69: in alphazero, there is only one NN
martinpapa69: wich you train continously
martinpapa69: you are nit waiting for new best
Marchete: I have "bad" generations
martinpapa69: you train the nn, with its recent outputs
Marchete: sometimes I went like 30% winrate
Marchete: and making selfplay from these
princess_of_zeal: but you still compare it to the previous version and only replace the best if the new one is actually better, right?
Marchete: just went worse
martinpapa69: there are no "versions" in the alpha-zero training
AllYourTrees: did the authors release any ablation study comparing the "always use latest" vs "keep best"?
martinpapa69: only one nn
princess_of_zeal: there are in mine :-)
AllYourTrees: afaik they just switched what they did without any justification lol
Marchete: ah
AllYourTrees: other than it was simpler
martinpapa69: you just generate selfplays, and train the network with them
Marchete: mine it's different
Marchete: I do snapshots
Marchete: and only generate samples from "best"
Marchete: I tried at first generate from "latest"
martinpapa69: ye i see, its very similar to what they do in alpha-go
Marchete: early on my tests
Marchete: if you want to test it
RoboStac: I still think theres a high likelyhood that gets stuck where you can't train enough improvement in a single generation
Marchete: just change the selfplay to always use last generation model
Marchete: ezpz
AllYourTrees: yeah things are different when you don't have millions of computers running stuff for you lol
martinpapa69: i already changed the script, to an alpha zero-like training
Marchete: it worked?
martinpapa69: getting the same result basically
AllYourTrees: "basically"?
Marchete: it's a "simple" change as I said
martinpapa69: but i like it more, because its much more simple
Marchete: used latest instead of best
martinpapa69: AllYourTrees like 0.1-0.2 elo difference
Marchete: 0.2 elo :D
AllYourTrees: :thumbs_up:
Marchete: maybe I can change to smth like 40% best 60% latest
Marchete: or any other percentage
Marchete: but I'm still puzzled with those generations with like 30% winrate....
AllYourTrees: i wonder if its something to do with a change in policy or value causes the games to go in state space where it isn't as good?
AllYourTrees: :shrug:
Marchete: hmm, maybe it's true about "latest"
Marchete: the thing may be: "if I can't win best, I need samples about why I can't win"
Marchete: so I'd learn from the bad winrate
BIPIN_THE_KING: hello 8th codingamer
Marchete: I was reading an alternative/similar to AZ: https://arxiv.org/abs/1705.08439
Marchete: made in about the same time, but without all that buzz
Marchete: and http://kth.diva-portal.org/smash/get/diva2:1514096/FULLTEXT01.pdf
Marchete: they seem to use alternative UCT formulas
Marchete: I'm checking them
AllYourTrees: that thinking fast and slow is interesting, thanks for sharing
AllYourTrees: i like the comparison to AGZ at the end
AllYourTrees: AGZ had flashier results than it. ive never heard of hex before, but lots of people have heard of chess and go?
Wontonimo: i like the idea of having a zoo of previous NNs, in the even that some only cover a subset of the critical lessons
Wontonimo: then if the new NN is able to beat all previous NNs in the zoo, then it has either learnt all the previous lessons, or it has a superior lesson.
Marchete: I was using best1+best2+random(from last 5)
Marchete: but maybe it's true to have more samples from latest
Marchete: I like diversity too
Marchete: I think my latest can go very wrong, and only selfplay from it seems risky
dbdr: I do latest vs best1/2/rnd
Marchete: that seems better
dbdr: so adds diversity
Marchete: latest vs latest only is a no no for me
Wontonimo: is rnd a rnd selection of a bot, or rnd play?
dbdr: yeah, calls for model collapse :)
dbdr: rnd gen
dbdr: as in the original script
Wontonimo: yeah, model collapse
dbdr: only gen0 is random :)
Wontonimo: do you ever do vs non-nn mcts?
Wontonimo: (that question is for anyone who does nn's)
AllYourTrees: i do that exclusively
AllYourTrees: err
AllYourTrees: for evaluation
AllYourTrees: not for training
AllYourTrees: i was initially seeding the replay buffer with random rollouts mcts
Marchete: only selfplay learning
Marchete: no external bots or domain knowledge
AllYourTrees: has anyone looked at using UCT instead of PUCT? or know why AGZ uses PUCT?
AllYourTrees: i'd assume you can just multiply the exploration term in UCT by probability of action?
jacek: get rid of policy, use UCT, return to monke
Marchete: I just posted that
Marchete: some alternative function to use UCT
Marchete: http://kth.diva-portal.org/smash/get/diva2:1514096/FULLTEXT01.pdf
AllYourTrees: ah the thesis has that?
martinpapa69: my idea is the more my AI is similar to the best AI in the world (AZ), the better performance it's able the reach :D the guys at google spent a lot of time developing it, and trying out different ideas
Marchete: page 45
Marchete: +they have 5000TPUs to play with
Marchete: +NN model in AlphaZero is completely different
AllYourTrees: ty marchete!
AllYourTrees: so they just combine the UCT term with the PUCT term?
Marchete: residual layers
Marchete: we don't have that
Marchete: yes, AllYourTrees
Marchete: uct + some policy "bonus"
Marchete: maybe it's worth testing it
dbdr: "Playing the Game of Risk withan AlphaZero Agent" "The zero learning process is basedon the Expert Iteration algorithm, an alternative to the famous AlphaZero algorithm" Title does not match abstract :D
Marchete: another point that can be improved is to also generate samples from pitplay
Marchete: no?
AllYourTrees: i really like this ExIt paper, ty so much for sharing marchete
Marchete: as you use latest
Marchete: :thumbsup:
martinpapa69: I dont do pitplay
Marchete: madness!!!
martinpapa69: train/sample generation/train/sample generation....
Marchete: alphazero does pitplay, isn't it?
AllYourTrees: what is pit play?
martinpapa69: alpha go does, alpha zero doesnt
Marchete: it's good to have different approaches :)
jacek: btw. i dont use pit
Marchete: they do
Marchete: each 1000 minibatches
martinpapa69: but there is nothing to compare. as you have only 1 version of the nn
Marchete: https://medium.com/applied-data-science/alphago-zero-explained-in-one-diagram-365f5abf67e0
Marchete: check "evaluate network"
martinpapa69: ye thats the alpha-go
Marchete: ahh sh*t its alpha go
Marchete: lol
martinpapa69: :D
Marchete: my fault
Marchete: I mixed all
Marchete: nvm I like the "generation" more
Marchete: have you changed something more, martinpapa69?
martinpapa69: not yet
jacek: winrate :v
martinpapa69: I dont like the training sample pool modification part tbh. i'll check if i can train the network with the last N replays without any filtering, or priorization or anything
Marchete: delete all *.dat files, don't use NNSampler
Marchete: then generate samples
Marchete: maybe you want to change the pipeline then
Marchete: make selfplay a daemon
Marchete: and do stuff in parallel
Marchete: the daemon will keep last N samples
martinpapa69: ye, that would be the ideal soulution, but ill start with the simple stuff :D
Marchete: and it can generate minibatches
nulte: so many NNs o.o
dbdr: Marchete, I thought about generating samples from pitplay. one possible issue is that noise is lower
dbdr: so samples will be less diverse
jacek: how many sample you get in pit and from how many from 1 iteration?
dbdr: depends on the settings :) but currently that would be 1/3 from pit
Marchete: true, that's why I never used it
ValidityFail: So has anyone received an offer through CG?
dbdr: I got an offer to play clash of code
nulte: sounds like the dream job
Astrobytes: :rofl:
Astrobytes: Didn't Agad e get a job with Roche?
dbdr: clash of code 8 hours a day? :thinking:
BlaiseEbuth: 8 days a week
Astrobytes: 8 clashes / era
BugKiller_328: :joy:
BlaiseEbuth: I have a trainee for that.
nulte: Usually its the first question in the interview
BlaiseEbuth: What question?
nulte: Do you play CoC?
Astrobytes: Clashes per hour rate I guess
Astrobytes: > 0 is autoreject
BlaiseEbuth: Too fast
nulte: chat is cursed for me
nulte: always crashing :'(
KiwiTae: omg thank you for boosting me woever pushed me gold lool
nulte: yw
BlaiseEbuth: Yell Wazaaaaaaaaaaaaaaaa!
BlaiseEbuth: ?
KiwiTae: o/ nulte BlaiseEbuth Astrobytes :*
BlaiseEbuth: \o
Astrobytes: Hey KiwiTae :)
KiwiTae: im so hyped finally managed to defish 220° wide angle camera image hehe
Wontonimo: what game KiwiTae did you get pushed into gold on ?
KiwiTae: pirate of the caribbean
KiwiTae: coders
Astrobytes: Programmatically or otherwise KiwiTae?
KiwiTae: Programmatically ~
Astrobytes: Nice
Astrobytes: For work I presume?
KiwiTae: yes~
dbdr: bramching factor: 10^6. curious how they will represent the policy network! :)
Astrobytes: Pirate of the Caribbean Coders eh
KiwiTae: I was at 27.5 pts last night lol now almost 29
Astrobytes: Boosting ftw
KiwiTae: i dont get it some guy played line 50 battles vs my bot
dbdr: spam submit
Astrobytes: They were spam submitting
KiwiTae: oh nice
KiwiTae: hhe
Astrobytes: Which incidentally is how I now test almost every feature so I don't get locked out of IDE matches
Astrobytes: Limit my IDE plays? Fine, I'll take them elsewhere.
KiwiTae: he can chain kill me now
KiwiTae: i m already passed it hehe
nulte: same happens in other games
nulte: i have like 60+ games in a row vs the same player
Wontonimo: it would be a nice feature to see all the battles vs 1 person rolled up into a summary
Astrobytes: me in BT probably :D
dbdr: 4 latter pseudo, hungarian flag? wait...
nulte: nah on c4
Wontonimo: perhaps by version of their bot
dbdr: *letter
nulte: you can always use https://cgstats.magusgeek.com/ Wontonimo
nulte: not really a summary but it gives the win rate
Marchete: https://www.codingame.com/share-replay/570363870
Marchete: :D
BlaiseEbuth: Glutton...
Astrobytes: lol, brutal
Marchete: it seems unexplored
Marchete: so the NN just shrugs
jacek: huh
Marchete: Oo
Astrobytes: oO
Wontonimo: nice nulte , thanks for the reminder link
sprkrd: sup guys
Marchete: :wave:
dbdr: my NN you mean?
Marchete: it seems
Marchete: it's rare to find a low score on these matches
Marchete: so I guess I did a dumb move your bot wasn't expecting
dbdr: victory by dumbness :+1:
AllYourTrees: :wave:
Marchete: frank grimes vs homer simpson :D
YurkovAS: in oware top8 all with NN?
dbdr: I think so
Marchete: top11 except MSmits
YurkovAS: thanks
Astrobytes: nulte: nice
nulte: meh
nulte: I almost beat you :p
nulte: its not ept yet
nulte: just random rollout
nulte: random with forced captures
Astrobytes: good work
nulte: Thanks
69razer69: this chat isn't as dead as the discord server's chat
Astrobytes: Either one is dead from time to time
jacek: or celestia's chat
Marchete: the problem with discord is that either chat or see the CG IDE
Marchete: embedded chat is better
Astrobytes: Multiple monitors ftw
69razer69: whats coding escape did you gave it a go
nulte: its like escape rooms
nulte: coop
Astrobytes: They were pretty fun, the ones we did
69razer69: yup i just escaped training its fun ah
Astrobytes: Definitely gotta pick the right people for your team, that will make or break the experience I think
69razer69: how is that
69razer69: skilled or funny ppl
Astrobytes: It's heavy on teamwork and communication. Skilled and people you're comfortable with, yes
69razer69: got u
Astrobytes: Not everyone needs to be good at programming, but problem solving, logic etc is useful
KiwiTae: or just take a second account and solve it on your own
KiwiTae: because why do teamwork when you can stay alone :sunglasses:
KiwiTae: :no_mouth:
Marchete: :ok_hand:
Astrobytes: We had a laugh when we did it, doing it myself would've been OK but kinda boring
KiwiTae: same, we did one with my team it was fun
Astrobytes: Was TBali, struct, Scarfield and myself, think we did 3 rooms? Didn't do that last one.
nulte: oh i forgot to check if a player captures all pieces
nulte: on win check
nulte: :D
jacek: does it really happen though?
Astrobytes: I haven't seen it happen personally
nulte: it can happen
nulte: https://www.codingame.com/replay/570373111
nulte: astro could have captured my last piece
Astrobytes: lol
Marchete: he doesn't have a win by killing all pawns
nulte: me neither
Astrobytes: Victory conditions You reach first the opponent's home row. You capture all opponent pieces.
nulte: or i would have pushed instead of going sideways
69razer69: oware abepa
jacek: leviosa
Astrobytes: om namo oware-abapa
dbdr: Marchete: I tried that state (frame 44) with newer weights, and I play differently
dbdr: so maybe I learned
dbdr: but the version in the arena does well against top players :)
nulte: NN problems
jacek: NN problems - losing points to noobs when winning
dbdr: and maybe it does well because it does some weird things and activates *their* blind spots
Marchete: yay! I'm lucky then
69razer69: i am trying a basic minimax for the default bot
nulte: which game'
Astrobytes: Oware I believe
69razer69: breakthrough
Astrobytes: Man, such a red herring.
69razer69: no its not owares mood
69razer69: what u mean
Astrobytes: A red herring is something that misleads or distracts from a relevant or important question. It may be either a logical fallacy or a literary device that leads readers or audiences toward a false conclusion
jacek: plot twist: its :notebook: :soccer:
Astrobytes: So when you mentioned Oware but were actually playing Breakthrough... :)
Marchete: paper soccer!!!
69razer69: no i was reading oware gamerules whe i mentioned it
Astrobytes: hehe
Marchete: don't play this game unless you are testing NN's
Marchete: weird rules
Astrobytes: lol, not that bad
AllYourTrees: :barf:
AllYourTrees: :sick:
martinpapa69: ye i feel like this game could have been much more simple
69razer69: u mean breakthrough or oware
Astrobytes: Oware they mean
Marchete: oware, weird rules
nulte: oware
martinpapa69: too many artificial rules
Astrobytes: Regarding Breakthrough, I would advise minimax w/ alpha beta as a minimum
Marchete: at turn 200 do you take your seeds?
martinpapa69: would be nice to make a BetterOware game
Marchete: things like that
Marchete: BetterOware == rm -rf ./oware
Astrobytes: In that respect yes, I'll give you that
69razer69: lol overwhelmed
AllYourTrees: what do ya'll think of bandas for nn testbed
QuickMathzs: sus
jacek: there are some nns in bandas
AllYourTrees: :eyes:
AllYourTrees: is it yours jacek?
jacek: yes
69razer69: so do you train the nn here or elsewhere than imports weights n stuff here
jacek: but i think rono has
nulte: if boardgame and player == jacek return NN
jacek: b
Astrobytes: rono lol
jacek: train offline, copy weights to ide
69razer69: ok
inoryy: jacek how many games do you have NNs in?
jacek: yes
Astrobytes: A wild inoryy appears
inoryy: o/
Astrobytes: long time no see
jacek: hmm. oware, bt, checkers, chess, bandas, onitama, c4, uttt, clobber...
jacek: othello and yavalath are n-tuples
AllYourTrees: for FPU in MCTS, is the node value `fpu` or `fpu + uct_value`?
inoryy: impressive! are they highly ranked?
jacek: most are top5
Marchete: https://cgmulti.azke.fr/players?p=jacek
jacek: but some games are new and have low players
jacek: AllYourTrees normal MCTS?
AllYourTrees: ya
inoryy: nice, do you work in AI?
jacek: normally fpu is some fixed value like 1.0 instead of inf for unvisited node
Marchete: in alphazero is -1
AllYourTrees: kk
Marchete: or loss
jacek: no, for work i write apps for android. nothing ai in that
Marchete: in others is -parentScore
jacek: stuff on cg is my hobby
Marchete: he is hiring a group of AI supervilains
martinpapa69: its better to keep ai as a hobby. i worked in it, and regret it to ruin my hobby
jacek: fpu generally works if you have some heuristic to guess which moves are better than others.
Marchete: supervillAIns
dbdr: does NN policy count as heuristic?
Marchete: inoryy NN is the 2021's GA
Marchete: almost top10 oware multi are NN
jacek: yes
inoryy: hah, cool!
jacek: before NN craze, heuristics were cool in mcts
jacek: and fpu helped with high branching factor to reduce to subset of promising child, instead of expanding all of them
inoryy: is everyone running custom frameworks now?
jacek: is there non-custom one? oO
AllYourTrees: ya "import coding_game_nn"
AllYourTrees: "coding_game_nn.play()"
AllYourTrees: ez
martinpapa69: back then you could import tensorflow in python on cg
martinpapa69: bu for some reason it got removed
inoryy: jacek not sure I follow the question
jacek: but then the fire nation attacked
Astrobytes: Disappeared with the removal of python2
RoboStac: it went with python2 martinpapa69
RoboStac: inoryy - I think most are still using tf / torch for training and just doing custom forward stages
inoryy: oh that guide looks awesome, great job Marchete
jacek: since no nn libs on cg, people do forward in code themselves
Astrobytes: I think robo just said that ;)
martinpapa69: some mini cpp inference lib at least would be nice on cg server
inoryy: so nobody tried going through model serving?
jacek: model serving?
Marchete: I did an AZ/AGZ for dummies like me
inoryy: https://github.com/tensorflow/serving
martinpapa69: i worked with that a bit. but how does it come to cg ?
jacek: could this work for cg with 100k characters limits?
inoryy: same way you'd import a precompiled binary
jacek: people have weights, generally float16/15. also for oware most people have one-hots for first layer. kinda very custom
Marchete: I did a minimal inference engine, similar to TF, it's also on that tutorial/github
Marchete: "similar" lol
Marchete: I mean how you define the model
inoryy: TF models can be served on tiny hardware so in theory it should fit into CG limits with a bit of hacking
inoryy: I never got around to give it a go so might not even work but a bit surprised nobody tried it still
inoryy: PyTorch has similar functionality iirc
Marchete: at some time I tried TF Lite and some other TF for embeddeds
Marchete: they were "huge" in CG terms
inoryy: right, not quite what I mean, you can basically hack into a tier lower than what TF Lite offered which you can think of TF for embedds "with bells and whistles" you don't need and can throw away
martinpapa69: im pretty sure, that the compiled binary would be still few megabytes at least
Marchete: I think the problem right now is how to improve performance, NN inference are slow, and CG's turn are small
RoboStac: tflite is a few hundred kb for simple image stuff
dbdr: sometimes it's more work to remove the 95% you don't need than to build the 5% you do need
RoboStac: but still well over 100
inoryy: to be clear I'm not saying I'm certain it's the better way so don't go off investing time into it, was just curious if anybody gave it a go
inoryy: dbdr that's probably true
Marchete: I tried as I said
Marchete: some TF for embedded devices
Marchete: trying to strip it down
RoboStac: I'm also not convinced tf would get near the performance as it's a bit too generalised
Marchete: the h5 reader was huge
Marchete: I'm sure Robo 3x the TF performance
Marchete: at least
inoryy: yeah, makes sense
inoryy: damn you guys got advanced so fast
Marchete: fast :D
inoryy: now I'm scared to try things
Marchete: use my framework for oware
Marchete: ezpz
martinpapa69: eztop10
Marchete: that's an skeleton for CG
Marchete: the idea is to improve it
Marchete: if it's from a ML expert, the better :D
jacek: is 20 more ppl will use it, then it wont be ez top10
inoryy: thanks, I might give it a go once I get some vacation days :)
dbdr: everyone can be top 10
Marchete: probably you are bored of NN stuff, too
RoboStac: what if we want to be better than top 10
Marchete: 50 guys can be top 10
AllYourTrees: lol
dbdr: ezpz
inoryy: I don't get much CG style bot programming that's for sure
dbdr: technically it's impossible to be better than top10 ;)
Marchete: you become your worst enemy just after you made it
Astrobytes: I thought > top 10 was CG Premium
nulte: wtt c4 bot for bt bot
inoryy: oh, they finally added CG Premium? does it come with special CSB league?
nulte: that comes in 2025
Astrobytes: lol no
69razer69: lol so u astrobytes you said minimax alpha beta minimum i just wracked wooden league by playing the first legal move
Astrobytes: are there 2 leagues in Breakthrough?
nulte: which game?
nulte: there is only 1 league
Astrobytes: You're 132nd at 38%
69razer69: breaktrough
Astrobytes: 44%
69razer69: yup everyone is playing same strat
Astrobytes: Oh are they.
69razer69: yeah
69razer69: go see
Astrobytes: I'm watching my submit right now.
69razer69: how i can watch you crush me
Astrobytes: select me as an opponent in the IDE
nulte: I print a random move and got top 50
69razer69: wth lol
Astrobytes: Do that a few times and you might not
Astrobytes: somewhere between 80 and 50ish iirc
Astrobytes: nulte: you're making some illegal moves
Astrobytes: https://www.codingame.com/replay/570393843
jacek: :police_car:
dbdr: Marchete: more training or...?
Marchete: I was trying the alternative UCT formula
Marchete: with some retrain
Astrobytes: alternative UCT formula?
Marchete: from some paper
Astrobytes: there are a few...
imathwee: hi there
Marchete: http://kth.diva-portal.org/smash/get/diva2:1514096/FULLTEXT01.pdf
Marchete: page 45
Marchete: but I'm using it only on submit
Marchete: not on train
dbdr: while notFirst():
read_some_random_paper() pick_random_idea() guess_how_to_apply_it()
Marchete: :rofl:
Marchete: while !first():
Marchete: train more
Marchete: read papers
Marchete: cry
Marchete: look leaderboards
Marchete: train more
Astrobytes: Interesting reading
Astrobytes: Saved
Astrobytes: Not sure it's 100% what you want in Oware but every little helps right
Marchete: why not
Astrobytes: Oware isn't Risk :P
Marchete: damn! I knew I forgot something!
Astrobytes: :rofl:
dbdr: page 45 is bibliography
Astrobytes: Nah seriously though, worth a shot right
dbdr: not sure it's a good idea to use that as UCT
Astrobytes: pdf index page dbdr
Marchete: 45->35
Astrobytes: and you have to scroll up just a touch
dbdr: :joy:
Marchete: btw CG IDE play is heavily crippled now
Marchete: very few matches
Astrobytes: No shit Sherlock :D
Marchete: luckily I don't benchmark a lot right now
Astrobytes: I test all my new features in arena now instead
Astrobytes: If they don't want IDE matches I'll give them server matches
Astrobytes: 25000 times per day
Astrobytes: (slight exaggeration there)
Marchete: only! 24886
Astrobytes: counting is for mathematicians :P
Astrobytes: (╯°□°)╯︵ ┻━┻
Astrobytes: I hate this game
Marchete: me too
Marchete: ..and I'm limited again
Marchete: f it, Astro's way!
Astrobytes: It's the way forward man. Local play only gets you so far
Marchete: my local play always keep saying I'm 60% better
Marchete: it doesn't reflect on arena
Astrobytes: That's true for a lot of local play, NN or not :D
Marchete: I'm the best 5yo basketball player!
Marchete: my mom says so
Astrobytes: hahaha :rofl:
Astrobytes: Exactly that!
Astrobytes: Argh. Fix bugs. Lose ranks.
KatMan911: any way to tell from CoC waiting lobby what kind of CoC it's going to be - short and sweet or long and hard?
juice0: if only there were some other way to phrase that question
KatMan911: Thank you, I do what I can :D :D :D
KatMan911: But disregarding the actual hardness of CoCs - can you tell from the CoC lobby what type of a CoC it'll be? Reverse, timed, etc.? Or is it just whatever, you either get lucky with the CoC or end up unsatisfied?
KatMan911: :thinking:
juice0: lol i think both the difficulty and style are meant to be a mystery until you're inside
WhaIe: @KatMan911 the game mode (fastest, shortest, reverse) is selected randomly in public lobbies. In private clashes, you can pick the mode
KatMan911: @Whale - gotcha, thanks. Oh, the mysteries of random CoCs...
KatMan911: @juice0 - I know, right? You have to wait until you finally get right inside - only then you find out how intense it's going to be. Sometimes you might need to employ some tricky techniques, and sometimes it's just getting quick and dirty, pounding hard at the problem until you finish.
juice0: if i could only get positive feedback about my CoC performance in real life like i do here, but it's rarely that impressive to have the shortest code or the fastest finish out there
KatMan911: I know, totally! And even then, you never get feedback right away. That's what bugs me. You might be thinking you've achieved success with 85% of test cases, 80% at least, but much, much later you get a shocker "oh, and BY THE WAY, blah-blah, 0%! Total failure!". At least with the CoCs here you know right away how well you're performing.
juice0: debugging my CoC here is a lot easier for sure, and i think a lot of it has to do with the differences in the feedback systems, as you just mentioned. sometimes IRL i can't get my CoC up and running, no matter how easy the test case.
KatMan911: We all have those days :( And yet you're always expected to have your CoC perform well, with all the evaluating and the judging, and you KNOW they'll be discussing your CoC if you don't measure up.
KatMan911: All right, I've had enough CoCs for the day, I'm exhausted. Nice talking to you, @juice0, - nice to see someone understands! :D
juice0: lol you too. i'll see you here tomorrow, when you're ready to get some more CoC'ing in