Chat:World/2022-07-07
cythonboy: hi
cythonboy: unfactorial formula
Polnoluniza: Hi
iamsofia_rless: hy
derjack: :upside_down:
j4at: derjack how do you will variable number of bots in clash of bots ?
j4at: how do you deal with*
derjack: i just have one 5x5 inputs network
j4at: hehe
derjack: but this looks interesting https://attentionneuron.github.io/
j4at: they you should try it
j4at: yeah*
waterproofsodium: woohoo google foobar level 3 completed :D
waterproofsodium: struct did ya hear :p
AlvaroAlonsoGiraldo: http://chat.codingame.com/pastebin/9c439062-061d-493d-ad1a-dd7d478dfd20
AlvaroAlonsoGiraldo: http://chat.codingame.com/pastebin/a06380b0-9270-43a4-b9f3-a60108373170
AlvaroAlonsoGiraldo: http://chat.codingame.com/pastebin/53a93c07-6e4b-4611-901c-71be63e10679
achillemar: https://www.youtube.com/watch?v=dQw4w9WgXcQ
achillemar: good to learn code
5DN1L: no spam please
5DN1L: spammers will get kicked or banned
5DN1L: https://www.codingame.com/playgrounds/40701/help-center/code-of-conduct
achillemar: breaking bad best tv show
5DN1L: 3 kicked
5DN1L: be respectful
5DN1L: next is a ban for all those kicked
ImSeaFu: Has anyone seen wontonimo in the last week or so? Haven't heard from him in a while and just worried that something happened to him
5DN1L: he was here a few days ago
jacek: hes mourning the chat
Aldoggen: the chat that apparently is still holding on for dear life
kamkamkil: hi, is there any option here to create a "group" for multiple people or you only can add individual frieds ?
5DN1L: no
Aldoggen: do you mean for clash of code?
kamkamkil: no, in general, so multiple people could quickly see what other are doing
kamkamkil: i'm on programming discord and i would be fun if multiple people could join smth like that
5DN1L: the most you can do is to filter a leaderboard
Aldoggen: there is a possibility to add individual friends, but no groups as 5DN1L said
Lachrymosa: So chat is actually planned to be removed? Will discord become the defacto replacement?
Aldoggen: https://www.codingame.com/forum/t/discussions-spaces-update-the-question-of-the-chat/196276/1
Smai: Why does clash of code say every one is a winner?
Aldoggen: from what do you gather that?
Aldoggen: what makes you tell everyone is a winner?
5DN1L: a quote on that page
Smai: I want people to know they lost
5DN1L: that's evil
BlaiseEbuth: :imp:
Aldoggen: lmao if you're first that should be satisfaction enough, right?
Lachrymosa: RIP chat, wonder if theres any way to port over the twitch moderation system or some clone of it. I echo what a lot are saying in the forum post; The life of CG is the sidebar chat.
Smai: Is there a private message function
Aldoggen: are you gonna tell people they lost? in that case there is no such function
5DN1L: lol
Smai: Why does this have skype emojis
xx_zero: skype emojis?
xx_zero: those r nothing like skypes lol
xx_zero: skype's emojis are a lot worse
Smai: What did they do to my man the neutral face
Lachrymosa: :|
xx_zero: :nerd:
MSmits: :scream_cat:
Aldoggen: better than this guy :no_mouth: he doesn't have a mouth
MSmits: unsettling
Smai: The nerd emoji aint good neither
MSmits: yo
Smai: That doesnt feel like a slap to the face
Lachrymosa: !fish Smai
MSmits: don't think of yourself that way
MSmits: have some confidence
Lachrymosa: I haven't used it in a while, but there was some command that slapped a named user
**Aldoggen slaps Lachrymosa around a bit with a large fishbot
**MSmits slaps Lachrymosa
Lachrymosa: that one
Smai: Wait Msmits what do you mean
MSmits: you're not minor, you're great
Lachrymosa: Perhaps even Major
MSmits: ooo
jacek: :upside_down:
Aldoggen: :stuck_out_tongue_winking_eye:
jenk: send a cat emoji if you're a discord mod
5DN1L: don't spam emojis here
Aldoggen: I felt like it was still more a response than spam, but I'll take it easy now
5DN1L: Smai what brings you to this website?
5DN1L: Curious :shrug:
Smai: Teacher said to do it ig
5DN1L: oh, which subject is that
Aldoggen: that's a nice teacher you have
xx_zero: the nerd emoji is funny though icl
5DN1L: do you like computer science? Smai
Smai: The nerd emoji should be cruel
xx_zero: the epitome of "well acktually :nerd:"
Darleanow: hello everyone, i'm trying to print an ascii form
Darleanow: and like to animate it through carriage return; i know that it works for one line, but what if for \nseparated lines ?
Darleanow: like to emulate a circle turning on itself for example
Darleanow: (Hey 5DN1L tho) :)
5DN1L: hi Darleanow
xx_zero: sorry bro cannot help u when it comes to that ascii art thing i have no clue where to start
5DN1L: Good to know, Smai, you have lots of coding opportunities here if you like coding too
Aldoggen: Darleanow, what I did in the past was using some escape codes to get the cursor back up the lines you've printed and overwrite them
Aldoggen: don't know if that's what you want, but it functions a bit like clearing a frame and redrawning it
Smai: Cant i just cheat clash of code with random number generator?
5DN1L: you can
5DN1L: if you don't mind losing
Smai: If you lose you arent cheating correctly
5DN1L: indeed
Smai: Do you get paid to mod this chat or is it free time?
5DN1L: i'm not paid
Smai: Negotiate with the owners
5DN1L: yeah i probably should
5DN1L: thank you Smai
xx_zero: £7 an hour :fire:
Smai: Its saying i got 0% score but all the tests worked
5DN1L: because your code is tested against another set of hidden cases
xx_zero: how do we know ur telling the truth
5DN1L: it's up to you
Smai: So i cant be creative with my answers
Aldoggen: you can, they just need to be general enough to solve the problem
Aldoggen: instead of only solving the test cases
Smai: I worked very hard on cheating the system though
xx_zero: smai pro hacker
Smai: Where you working 5DN1L?
5DN1L: don't spam please
Smai: Did you just pie me sandle?
xx_zero: rip :pray:
D1LAN: banned but never forgotten
5DN1L: guys please don't disrupt the chat here or get kicked or banned
5DN1L: https://www.codingame.com/playgrounds/40701/help-center/code-of-conduct
D1LAN: #ALM (Ashely Lives Matter)
D1LAN: 5DN1L are you the moderator of this chat?
5DN1L: i am a moderator of this chat
xx_zero: u should get paid tbh
D1LAN: how long u been in the business
5DN1L: this chat is not about me
5DN1L: please focus on coding
xx_zero: i got u bro
xx_zero: #5dn1l
Smai: Whats your paypal ill hit you up
D1LAN: 1 v 1 me Mad Pod racing Noob
D1LAN: not you 5DN1L, luv u m8
xx_zero: actually 5DN1L i have a question
xx_zero: why has my username and profile picture not updated in chat
5DN1L: it could be cache issue
xx_zero: true
Smai: My new pfp is heat and i need to share it
xx_zero: well its not because ive just cleared my cache and reloaded and i still have my old pfp and username
xx_zero: tell the guys at codingame to up their servers :point_up:
D1LAN: @5DN1L, how long have u been in the mod business?
5DN1L: never mind, this chat is going to be removed soon
xx_zero: rip </3
**WoBo727 slaps cvrsed around a bit with a large fishbot
xx_zero: chats been here since i signed up in 2016 rest up for when it dies
Smai: Are you a mod in the new chat?
5DN1L: there's no new chat, but discord chat will continue
Smai: Are you a mod in the discord chat
5DN1L: yes i'm a mod there
xx_zero: W
jenk: guys has anyone seen my chromosome
xx_zero: 5DN1L how long have u been coding for
Smai: 5dn1l Youve been avoiding about your job
Smai: What brings the bills in lad
5DN1L: this chat is not about me
xx_zero: its lunch we gtg
lifetimeLearner007: Is there a way to start a private chat with someone I saw getting 100% in a clash. I need to understand his code
5DN1L: click their name to start a private chat
lifetimeLearner007: Nah, it just goes to their profile page
Frankich: or /msg his username
5DN1L: you click their name not their profile pic, lifetimeLearner007
lifetimeLearner007: It is not clickable. Its a text element
lifetimeLearner007: I tried /msg but it just says <username> not found on the chat
5DN1L: then that's the reason
5DN1L: my method works, but that other person has to be online too
lifetimeLearner007: well, I see a green dot on his/her profile pic which means he/she is online right?
5DN1L: maybe he/she was
5DN1L: i suspect the profile online status may not be updated frequently
5DN1L: can't say for sure, though
lifetimeLearner007: I got the rainbow problem in the clash where a string and a ruleset string is given and we need to check if the string has the chars in the ruleset in that order in the given string.
lifetimeLearner007: Last 2 test cases didn't make sense to me but this guy got 100% and in his code I see 'AZERTYUIOPMLKJHGFDSQWXCVBN' hardcoded
lifetimeLearner007: I just want to know what this string is and how it is relevant to that rainbow problem. It is not given in the question
5DN1L: is it the one which requires you to output Rainbow accepted/denied?
jacek: https://www.codingame.com/contribute/view/159211d1257e7f4c631c168e1b9edec348625
lifetimeLearner007: yes
jacek: he copied the contribution solution :?
5DN1L: jacek has given you the contribution link to check, lifetimeLearner007
lifetimeLearner007: yes, that is the puzzle I got in clash.
lifetimeLearner007: here's the clash report. https://www.codingame.com/clashofcode/clash/report/24992548a55553d6130c9615235b571c7e93e89
5DN1L: we can't see any code shared, lifetimeLearner007
Frankich: We can't see his code, can you copy paste it in the chat somehow
5DN1L: chat pastebin is broken
5DN1L: anyway
Frankich: arf
5DN1L: if the code is copied and pasted, you may report him/her on his/her profile, lifetimeLearner007
lifetimeLearner007: https://pastebin.com/0iKvahRL
lifetimeLearner007: I don't know if he copy-pasted it. I just wanted to understand it.
5DN1L: it's just the full alphabet
lifetimeLearner007: but why that particular order?
5DN1L: maybe he would type it faster that way
lifetimeLearner007: I thought so too
lifetimeLearner007: But it doesn't follow sequence of keys in the keyboard like QWERTY... or ASDF...
jacek: its azerty keyboard https://en.wikipedia.org/wiki/AZERTY
lifetimeLearner007: oh!... There's azerty keyboard !!! Did NOTknow that
lifetimeLearner007: Thanks #jacek and #5DN1L
5DN1L: np
5DN1L: thanks to two channels, i guess
lifetimeLearner007: Is A* the proper way for BlockTheSpreadingFire problem? Is there any better approach?
5DN1L: Maybe you need A* plus other stuff
5DN1L: some have suggested Simulated Annealing
Lachrymosa: Just finished my first "Hard" puzzle. I used to be really intimidated by them, nice to see progress :D
5DN1L: 🎉
jacek: :smirk:
BlaiseEbuth: Do an expert one now
Lachrymosa: :V maybe I will, maybe I won't!
jacek: https://www.codingame.com/training/easy/space-maze
BlaiseEbuth: :rofl:
Aldoggen: the very hard ones do some time tho
5DN1L: https://www.codingame.com/training/expert/recurring-decimals
BlaiseEbuth: A few are not so hard
5DN1L: you need to be an expert to understand recurring decimals
Lachrymosa: Is there some math that will identify repeating blocks easier? I'd probably run into an issue where theres a repeating block 20 digits long and not catch it until the 40th or something
BlaiseEbuth: The barnyard for instance is trivial if you do it with numpy :smirk:
5DN1L: can there be a repeating block of 20 digits?
Lachrymosa: idk, math is a fact of life, but one i don't gawk at for too long
5DN1L: ah yes
5DN1L: it can
Aldoggen: I'm pretty sure repeating parts can be as long as you want them to be
5DN1L: really based on the denominator
Lachrymosa: so then there is some determinate math that will let you know how long of a repeating segment there is?
5DN1L: yes
5DN1L: there are just so many combinations of divisions
5DN1L: given a specific denominator
5DN1L: there's a limit
Lachrymosa: then that very hard problem may be less hard and more about knowing math better
5DN1L: it's not hard actually
lifetimeLearner007: success rate is 5% lol
5DN1L: it's more a misclassification of difficulty upon introduction of difficulty level
BlaiseEbuth: It's the probleme of the problems classification. "Hard for how?"
BlaiseEbuth: *who
Lachrymosa: I feel like Zerg Rush wasn't as hard as it was labeled as
Lachrymosa: either difficulty creep is happening or it was mislabeled as well
5DN1L: try it
5DN1L: you should be able to solve it within 24 hours
Lachrymosa: the decimal one?
5DN1L: yes
Lachrymosa: I'll bookmark it, I'm about to leave the office in a bit
5DN1L: I agree, BlaiseEbuth. but it's all relatively speaking, comparison between puzzles as well
5DN1L: to a new programmer, even an easy puzzle can be difficult to them
Lachrymosa: If there was some rubric of techniques and concepts that were racked and stacked it could be used to decide difficulty better
Lachrymosa: It originally took me 3 months of trying to solve the first non-tutorial puzzle on this website :V
5DN1L: and you've improved since then :)
Lachrymosa: greatly!
MSmits: dedication
MSmits: which puzzle?
Lachrymosa: Zerg Rush today
MSmits: no, i mean the one that took you 3 months
BlaiseEbuth: Yes, of course. And the old puzzles suffered from a lack of available comparisons when they were graded.
Lachrymosa: Oh, I think it was the blasting mountains one
MSmits: the descent?
Lachrymosa: that one
jacek: 3 months?
MSmits: the difficult thing to understand there is that you have 2 loops. One input loop and one loop over mountains to blast
Lachrymosa: I completely misunderstood how this site's input output structure worked and I was originally using C++
5DN1L: I guess so, BlaiseEbuth
MSmits: I totally get why this was hard Lachrymosa
MSmits: and the input structure is a major hurdle for people starting out
Lachrymosa: Also completely self-taught coder using free time after working 10 hours a day XD so don't think of it like 3 straight months, it was whenever I wasn't getting food and crashing
Aldoggen: ah, yeah, sounds more reasonable then
MSmits: ahh I see
Aldoggen: still, props for dedication
Lachrymosa: I love computers. Coding is more of a fun hobby for me though. I've gone the DFIR route
jacek: DFIR?
Lachrymosa: detection forensics investigation response
Lachrymosa: Digital Forensics and Incident Response* sorry
BlaiseEbuth: When I first registered to CG back in 2013 there was no binding between the test files and the standard input. You had to read files manualy. As a beginer it was so frustrating to not even be able to read the input that I quit the site immediately for a time. :sweat_smile:
MSmits: ouch
MSmits: most other sites are still like that I think
MSmits: you get a bunch of files and you need to do it yourself
MSmits: people who complain about CG don't realize how far ahead of the competition CG is in this regard.
Lachrymosa: I've had a year long hiatus at one point I think, but that was between moves a few years back. Lost contact with a dude named Samsi in that time, real bummer cause him and I collaborated a lot
Lachrymosa: haven't seen Maddy for a while either
Aldoggen: man, I love that testing is as easy as clicking a button. didn't know other sites didn't do this
MSmits: CG ruined me. I can't try other sites. They immediately turn me off
BlaiseEbuth: I complain about CG precisely because they have a fantastic environment/system/community and are wasting it MSmits ;)
Aldoggen: it's so satisfying when you play all testcases and they just work when you're barely half a minute in CoC
MSmits: BlaiseEbuth that's different
Lachrymosa: codewars does a decent job, but the site feels too sterile and structured.
Lachrymosa: 0 multiplayer fun too. Unless you want a well akshually fest in their "multiplayer" solution thing.
MSmits: yeah the multiplayer thing here is truly unique
MSmits: other sites have mostly puzzles and optimization
Aldoggen: what about the chat? ;)
MSmits: pretty sure the other sites will have discord or other channels
Aldoggen: yes, I'm opening this can of worms again
MSmits: haha no thanks :)
Lachrymosa: codecombat has a really good angle with E-Sports league for coding, but its tailor marketed towards kids 10-16 or so
Lachrymosa: CanOfWorms.close()
Aldoggen: forgot the semicolon
Lachrymosa: Python ;3
Lachrymosa: semicolons are for winky faces only
Aldoggen: should have used with
BlaiseEbuth: Speaking of this, you're all welcome on cheloniangall once the chat deleted (No presure, come if you want :p )
Lachrymosa: whats that?
BlaiseEbuth: https://cheloniangall.com/
Lachrymosa: can't click unknown links here
Aldoggen: type them in browser bar
Lachrymosa: its more of a moral obligation than a physical limitation
Aldoggen: relevant text in the website "The CodinGame chat deletion is imminent... There is still work to do here, but the XMPP server is up! You can already create an account and connect to the chat directly on the site or from your favorite XMPP client!"
Aldoggen: work in progress: http://chat.codingame.com/pastebin/efbbae4e-34f2-4928-9536-f6a3bad57756
Aldoggen: when does it create a pastebin like that?
MSmits: Lachrymosa you will miss out on all of jace k's rickrolls with that attitude
Aldoggen: I missed out on all of them so far
Lachrymosa: At home I'll click w/e I want. Its just this machine isn't mine :V
BlaiseEbuth: More than 4 lines creates a pastebin
MSmits: ah yeah that makes sense :)
Aldoggen: 🟢 Account system 🟢 Chat server 🟢 Database 🟢 Web server
MSmits: oo you made green circles
Aldoggen: http://chat.codingame.com/pastebin/55f1b072-1ac3-4f6b-aeb5-d11b65b7ab25
BlaiseEbuth: :o
Aldoggen: that were only 4 lines
MSmits: :bear:
5DN1L: Aldoggen why are you copying and paste stuff here? for Lachrymosa to see?
Lachrymosa: kek
Aldoggen: that was the last paste
Aldoggen: they even want to save Automaton2000 bot
Automaton2000: that was a cool game
Lachrymosa: I know it was buddy, I know it was
5DN1L: they = BlaiseEbuth, Aldoggen
Lachrymosa: they.append(Lachrymosa)
BlaiseEbuth: Yeah. I'm a lot in my head
Lachrymosa: half crazed chatbots like Automaton2000 are comfy
Automaton2000: i have never heard of it
Aldoggen: BlaiseEbuth, are you making ChelonianGall?
BlaiseEbuth: Yup
Aldoggen: didn't really realize
Lachrymosa: is it just going to be a chat site?
MSmits: I might use it just to cheer myself up looking at the dancing turtle
BlaiseEbuth: The main thing is the xmpp server, the webchat is there for those who don't want tu use an app client.
Lachrymosa: Write a plugin for your browser that sticks the chat from the site in the right panel of a website XD CG Chat in every tab now!
BlaiseEbuth: And for the turtle
Aldoggen: yes, the turtle should have its own spot :)
BlaiseEbuth: That's not a bad idea Lachrymosa :thinking:
5DN1L: is there a story behind the turtle?
Lachrymosa: poppin shells :sunglasses:
Aldoggen: aren't chelonians turtles?
BlaiseEbuth: Yeah. Making Automaton2000 say 'tortue' is an old joke on #fr
Automaton2000: yeah it seems silly. unless it's in retaliation to all the competitive coding places that disqualified ru players because of ...
5DN1L: ah i see
Aldoggen: that response was quite nice actually
Lachrymosa: It has its gems
Lachrymosa: I go now, pce
Sheeesh---: guys i'm trying to learn MCTS i just wanna ask about the simulation/rollout part let's say it's tic tac toe should i just do random moves and see the winner or is there a better way ?
Aldoggen: can I try to answer this first?
Sheeesh---: go ahead
Aldoggen: agh the terminology is unfamiliar. simulation is the part where you're going over a part of the tree you haven't explored yet right?
Sheeesh---: it's when you wanna give a score to a node as fas i know
Aldoggen: so what I gather from this paper I've read, is you can do random moves, but a better idea is to implement some from of heuristics to see what moves are interesting
Sheeesh---: oh i see
Aldoggen: that will significantly improve the performance of mcts
Aldoggen: https://dke.maastrichtuniversity.nl/m.winands/documents/uctloa.pdf
5DN1L: try the basic one first
Dapps: it also depends on what you're problem space is. some areas are difficult to write a heuristic, and mcts with random movements can basically "figure it out"
Aldoggen: the things I've said are on page 28, in the first paragraph of play-out
5DN1L: the one Aldoggen describes is a modification of the basic algorithm
5DN1L: it's better to understand and code the basic one first
Sheeesh---: ok then
Sheeesh---: gotta go step by step
Sheeesh---: thanks guys !
Aldoggen: ty guys for revising my answer :)
struct: Sheeesh--- when you do rollout
struct: normal rollout is just random
struct: but you can improve it afte
struct: after*
struct: to do smarter moves
struct: For example if you can win on next move you play the winning move
struct: Block opponent from winning moves
struct: stuff like this
struct: Also are you doing normal TTT?
Sheeesh---: that's my play
Sheeesh---: after it i will go to UTTT to beat y'all
struct: yeah thats what I did as well
Sheeesh---: my plan*
struct: I then copy pasted most of it to uttt
struct: But are you going to use python?
Sheeesh---: nah
Sheeesh---: python is really slow
struct: yeah
Sheeesh---: i experienced it when i did mars lander with genetic algo
Sheeesh---: it was literaly 10000 time slow
Sheeesh---: tines*
Sheeesh---: than my c implementation
Westicles: I'm getting gaslit on my contrib
Aldoggen: yes, I've succesfully implemented arbitrarily precise long division
5DN1L: on recurring decimals?
5DN1L: nice
Aldoggen: now for the recurrence detection
MSmits: think this is a new record for me. Solved 26 moves before the end: https://www.codingame.com/replay/649997374
MSmits: I don't even care if it wins more or not. Love that solving :)
Astrobytes: oof, nice
Aldoggen: how do you know it was solved?
struct: his mcts found a path that lead to a win
MSmits: i output "win"
Astrobytes: it outputs win
Astrobytes: sometimes the simple answer is the answer ;)
MSmits: I do it mainly because it is a good debugging tool. Yurko spotted a bug for me the other day because it outputted something wrong
Aldoggen: til you can see the bot outputs in the replay
Astrobytes: you can't see them? Refresh
MSmits: it says below the profile pics
Aldoggen: I had to open something
MSmits: in the viewer yeah
Aldoggen: I probably need glasses then
MSmits: but beyond frame 43, otherwise its not solved
MSmits: kk
YurkovAS: my bot without a fast solver is play good too :)
Astrobytes: I got Alice and Bob first time and had to refresh :D
Westicles: problem has nothing to do with recursion. one guy solves it with recursion, one guy says it should be medium due to recursion, one guy says it should be medium due to recursion with recursion tag
MSmits: yeah it's only a tiny advantage yurko
MSmits: karlis o doesnt even have a solver
MSmits: i just like solvers :0
Astrobytes: yeah, as MSmits says solver is just useful more than anything else
Astrobytes: and matters more in other games than some
Aldoggen: Westicles they're doing it with math instead of simulating it I guess
MSmits: i like it also because when i run meta mcts locally, the games are much shorter
Dapps: what does it mean to have a solver?
MSmits: you prove the win or loss
Westicles: Aldoggen, if they used math it would just be a formula. Maybe it is some voodoo approach only the french know
MSmits: so if you prove the win, it means you win even if the other player plays perfectly
Dapps: is that basically brute force full search? or other ways
MSmits: it's brute force, but if you make some smart choices you can go deeper with it
Dapps: ah got it
Aldoggen: Westicles I'm gonna see if I can solve it
Dapps: so something like alpha beta search
MSmits: yes
Aldoggen: after recurring decimals tho
MSmits: i do something like ab pruning but for mcts
Astrobytes: on your probability one Westicles?
Dapps: i've been having a lot of fun with uttt. but i think i've gone as far as i can with C# lol
Westicles: Aldoggen nice! Looking for a recursion comment
Westicles: Astro yes
Dapps: i don't know how people got into legend with it
MSmits: it's very hard Dapps
MSmits: i got into legend with it
Dapps: very impressed!
MSmits: I did use bitboards and such
MSmits: efficient random rollout
Astrobytes: It seems kinda straightforward, not sure where the dude got recursion from...
MSmits: around 20k rollouts per turn
Dapps: i've maxxed out at around top 180 gold
MSmits: do you use mcts or minimax/
Dapps: yeah i use bitboards, mcts, not sure what does efficient rollouts mean? i use uniform random
Astrobytes: and what is that guy who commented on your other contrib smoking... "Add 2 or 3 examples of what a "greatest common divisor" is. The CoC summary should be self-sufficient as per the rules"
Westicles: heh heh
MSmits: oh, well there are many ways to code a rollout, some are faster than others
MSmits: one thing you can do is make a win lookup
MSmits: winArray[512]
eulerscheZahl: i have that
Westicles: greatest common denominator is like the perfect name to describe what it is
Westicles: *divisor
eulerscheZahl: 2 actually, one for the small board and one for the large
MSmits: yeah i do too
eulerscheZahl: large board lookup is bigger than 512
MSmits: it's even faster than an avx win check and we had a really fast one
Astrobytes: lol, right Westicles!
MSmits: eulerscheZahl yeah
MSmits: uint8_t bigBoardStatus[65536] = { 0 };
MSmits: i store 4 results in 1 byte
eulerscheZahl: i think mine is 3**9 in size
eulerscheZahl: too long ago
MSmits: hmm not for bigboard i think
MSmits: you have 4 types of miniboards
MSmits: unfinished, p1 win, p2 win, draw
eulerscheZahl: i jacek around? i have 2 memes for him
struct: wait are you telling me that I need a bigger table for the bigboard?
struct: to check if a player won?
MSmits: if you want to include draws yeah
eulerscheZahl: board can be p1, p2 or open
MSmits: it can also be draw eulerscheZahl, thats different from open
eulerscheZahl: i know
eulerscheZahl: but i treat them the same i think
eulerscheZahl: don't want to check
MSmits: yeah thats better than having no lookup
struct: ah I see, I just use the 512 one
struct: for both boards
MSmits: i like to add the draws because then you can also cut short games where neither side can win or one of the two sides wins by boardcount
MSmits: the larger the lookup, the slower it is though
MSmits: if you want to go really heavy on the lookups you can even have less than 3^9 for miniboards
MSmits: because half the boards are finished boards and it doesnt matter how they got finished. there's only 3 types of those
MSmits: p1/p2/draw
MSmits: that leaves only 8629 possible miniboards
MSmits: better than 19863
eulerscheZahl: i tabbed away for a few seconds and now there is a wall of text waiting for me
MSmits: :grin:
Astrobytes: Smits Sermons ftw :D
MSmits: I was just done :P
eulerscheZahl: no jacek? i'll share it anyways https://9gag.com/gag/a81OM8Q https://9gag.com/gag/a81Oy0Z
Dapps: i don't have a winlookup for the big board, could add that in
MSmits: that second one is awesome!
Astrobytes: :rofl:
eulerscheZahl: unexpected
Astrobytes: best you-know-what ever
MSmits: too bad the sound defaults to off
Astrobytes: does it have sound?
Aldoggen: I had a wall of text waiting for me and I didn't even alt tab lol
Aldoggen: just too busy on recurring decimals
Astrobytes: Yeah, I think jacek would highly appreciate both of those
MSmits: eulerscheZahl did you see this one yet: https://www.youtube.com/watch?v=6RxqNv6bEug
MSmits: (john oliver)
eulerscheZahl: yes
MSmits: so funny
Westicles: I remember when talk shows made fun of both political parties, now they just make fun of one
MSmits: apparently you did not see the video
Westicles: no, don't like that guy
eulerscheZahl: that's the advantage of more than 2 parties: you can be for one of them and still make fun of several others
MSmits: Westicles he's going on for 10 mins about creepy beached dolls
MSmits: there's no politics
eulerscheZahl: a few weeks about he analyzed a movie about a dog playing basketball
jacek: huh
MSmits: and also, he's not really very often targeting specific parties, mostly talking about the absurdity of some facts of the US
jacek: oh my!
Astrobytes: watched that one the other night MSmits, superb
BlaiseEbuth: Don't worry Westicles, I make fun of all americans without discrimination. :grin:
MSmits: eulerscheZahl yeah i saw that too, so funny
jacek: that would be nice in bt statement
Astrobytes: lol jacek
Westicles: BlaiseEbuth I am shocked! I have the utmost respect for all french
jacek: oO
MSmits: :french_bread:
Astrobytes: Yet another thing I will miss about chat. Westicles vs France
BlaiseEbuth: Don't worry I make fun of all french too.
Westicles: :P
BlaiseEbuth: Humanity is so fun...
MSmits: oh the humanity
Astrobytes: ...damentally flawed. Yes
Astrobytes: I'll miss killing chat too. I'm so good at it.
BlaiseEbuth: Automaton2000! Group rez'!
Automaton2000: so you want to see a solution to the puzzle
Astrobytes: Automaton2000 has the answers eh
Automaton2000: they've played tens of thousands of games
Darleanow: Automaton2000 what do you think about Westicles puzzles ?
Automaton2000: to see if that works
Darleanow: Automaton2000 what do you mean?
Automaton2000: so it's a good idea to make a good bot
Darleanow: Automaton2000 so you're saying a bot would be easier than westicles puzzles ?
Automaton2000: i can see that it is really good at it
Darleanow: Automaton2000 you're right
Automaton2000: because you need to use a nn for this contest
Aldoggen: Automaton2000 make sense please
Automaton2000: and you are at the same time
Darleanow: Automaton2000 you solved retaining water with a O(n^2) solution ?
Darleanow: impressive
Automaton2000: is there a way to get back on track
Darleanow: Automaton2000 try to code a bit more i guess
Automaton2000: not being able to solve any of the bot
Darleanow: Automaton2000 but you are a bot
Automaton2000: every time i do a histogram and choose the best one
Darleanow: Automaton2000 what's your purpose ?
Automaton2000: ok, i don't know how to code it
Astrobytes: lol
Darleanow: Automaton2000 you need to type it..
Automaton2000: well if you want to have to check for a win
Darleanow: (he's tired i guess)
Darleanow: Automaton2000 i'm letting u afk a bit
Automaton2000: you can submit in different leagues
PatrickMcGinnisII: Automaton2000 ride them like a pony
Automaton2000: so if you had to do with that
derjack: oO
Nerchio: did the russian cup already start
Aldoggen: yes. it even got startled and spilled all over
Astrobytes: 5 minutes I think Nerchio
Astrobytes: at least i think it is
Nerchio: ah ok
Nerchio: so can we participate
Nerchio: or i need shady russian bank account
BlaiseEbuth: No money for you
Astrobytes: not sure
Astrobytes: they said it would be updated in the FAQ
Astrobytes: (the organisers)
Astrobytes: first week is beta anyway, best wait for bugs to be fixed
Nerchio: and for the game to get additional crazy rules? ^^
Astrobytes: lol, that comes after :D
eulerscheZahl: they also made completely new rules at the end of beta once
eulerscheZahl: an atomic bomb to prevent unit stacking
Aldoggen: take care when you participate. in russia, bugs find you
Astrobytes: oh for the rts one
eulerscheZahl: 2016 i think
Astrobytes: *first rts one
Astrobytes: with the big phalanxes of units
eulerscheZahl: yes
Nerchio: in 2016 i didnt know what programming is
Astrobytes: heh heh heh
Astrobytes: innocence lost!
Nerchio: and euler was already dropping nukes in russian ai cup
eulerscheZahl: really Nerchio? you started coding that late?
Astrobytes: which is better? SC competitions or AI bot competitions?
Nerchio: ai competitions since they have more variety, the problem is you can't win with java and even if you win you don't get too many prizes :grinning:
eulerscheZahl: join topcoder
Nerchio: eulerscheZahl eh I mean I probably did but at that point I wouldn't call it coding really
Nerchio: i tried but I don't know where to click on their site :joy:
Astrobytes: Nice! Turned to the dark side. ofc you can win with java, depends on the contest
eulerscheZahl: my first topcoder experience was similar
eulerscheZahl: 2nd was an optim tasks i didn't like
Astrobytes: all my topcoder experiences were like that until I bookmarked it
Nerchio: i opened like topcoder arena or something and there was like a calendar or something but couldnt find any tasks
eulerscheZahl: 4 years between account creation and my first contest i played seriosly
Nerchio: so didnt bother much longer
eulerscheZahl: topcoder arena is for algorithmic challenges only
eulerscheZahl: like the puzzle section here
eulerscheZahl: they also have an optim section. and some paid jobs
Nerchio: ok so where do I go for real stuff
eulerscheZahl: better copy the URL, you can't click it:
https://www.topcoder.com/challenges?bucket=openForRegistration&tracks[DS]=true&types[]=CH&types[]=F2F
jacek: this one you can https://www.youtube.com/watch?v=dQw4w9WgXcQ
Nerchio: kek
Nerchio: you almost got me jacek
Astrobytes: never gonna click that
jacek: never gonna give you up
BlaiseEbuth: XcQ :eyes:
Nerchio: it's like jacek discovered internet yesterday
jacek: so, they put chat removal to friday evening after all
Astrobytes: the pawn one though :D
Nerchio: it's fine we've all been there
Astrobytes: ofc jacek
Astrobytes: Nerchio :rofl: yes, every day he rediscovers it I think
Nerchio: so eulerscheZahl you participate in things from this list when they come up?
Astrobytes: Marathon Matches, yes
eulerscheZahl: for dates: https://clist.by/
eulerscheZahl: expand the topcoder thing in the white area at the bottom
eulerscheZahl: they even increased the prize pool
struct: so it starts on 13-07?
eulerscheZahl: https://tco23.topcoder.com/competition-rules
eulerscheZahl: yes, next Wednesday
BlaiseEbuth: Oh great. I'll take a look
PatrickMcGinnisII: So, we need to gamble on who get's last chat msg logged?
Nikanameu: NASA comet detection! now that's a contest
Nerchio: i only see some topcodr 09.07 and 22.07 on that clist site lol
eulerscheZahl: that's a part 2 actually. in part 1 they found 2 completely new comets with the contest
PatrickMcGinnisII: SpaceX super heavy launching next week, and James Webb photos released bext week
Astrobytes: bext week is the week before?
PatrickMcGinnisII: Oh, virtual comets?
Astrobytes: Real comets.
eulerscheZahl: https://i.imgur.com/k8QqQv8.png
PatrickMcGinnisII: My coffee is still in the coffee maker, I take no responsibility for my typos
Astrobytes: :P
Nikanameu: patrick CERN discovered 3 new particles this week
Nerchio: i didn't see the things you can unroll :thumbsup:
PatrickMcGinnisII: someone code a way to tell my garbage truck how to pickup trash after a holiday... they never get it right
MSmits: Nerchio: https://www.codingame.com/contests/code-a-la-mode/leaderboard/global
eulerscheZahl: there are some manual processes on topcoder. like starting and ending a contest. therefore a contest might start a few minutes early or late
MSmits: https://www.codingame.com/contests/unleash-the-geek-amadeus/leaderboard/global (second in java)
**PatrickMcGinnisII 's exotic Hadrons are itchy
MSmits: https://www.codingame.com/contests/a-code-of-ice-and-fire/leaderboard/global (again second in java)
Nikanameu: what are those links man
MSmits: recent contest where java or python or C# did well
MSmits: well not recent
MSmits: some 2 yrs old
jacek: 'recent'
eulerscheZahl: add ghost in a cell to your recent list
MSmits: feels recent :0
Astrobytes: afk
struct: you can get top 15 in C4 with java
MSmits: well... that's because it's a small amount of top players
struct: still he would be the first with java
MSmits: true
Nerchio: why do you think top15 is possible
Nerchio: ?
MSmits: because he can get top 15 with 10% performance
struct: not 10
struct: 5
Aldoggen: bold of you to assume that java can get 10% performance
Nerchio: :D
struct: im sure java is not 20x slower
Aldoggen: as long as GC doesn't kick in lol
MSmits: you can avoid GC with object pools
Aldoggen: just remember everything
MSmits: you wont be reusing your tree from previous turns, then you need only like 1 million nodes
MSmits: you can survive initializing that many
MSmits: tree reuse is overrated anyway
Aldoggen: so you don't reuse your tree, but you keep it?
struct: I did reuse it
struct: but thats because i forgot to remove it
Nerchio: i have only MAX_NODES = 250000;
Nerchio: in c4
struct: let me see how many nodes I get
MSmits: might be enough except in turn 1 Nerchio
Nerchio: i have hardcoded opening
MSmits: works
MSmits: I have 35 million nodes in uttt :P
Nerchio: o.o
Nerchio: how much memory it takes
MSmits: almost all
struct: 45M in C4
Aldoggen: how much do you get actually?
MSmits: how many do i use?
MSmits: i use the whole array if my opponent doesnt play moves I pruned. I will have to reset the tree because i run out
Aldoggen: no, I mean what's the max memory anyone can use?
MSmits: 780 MB or so
MSmits: around that value
Aldoggen: but that's interesting to know too :)
struct: 768MB
struct: ok I submited with 5ms again and 50 for first turn and no reuse
Nerchio: it's 25 165 824 ints?
struct: it shows the number of rollouts
MSmits: They are node objects
MSmits: usually my nodes are 10 to 12 bytes or so
MSmits: actually no
MSmits: make that around 20 sorry
Aldoggen: so you're using around 680 MB
MSmits: wins/visits is 8 already, then an index to the first child is another 4, thats 12 bytes, then some random stuff like childcount (1 byte) and solved status and scuh
PatrickMcGinnisII: hmm, at depth 4 I use 126MB, very innefficient
MSmits: that sounds right Aldoggen
Aldoggen: that's because I used a calculator
Nerchio: i have only like Rollouts 22216 per turn
MSmits: in uttt it almost always resets much sooner though, I will agressively prune in the opening gome
Nerchio: in c4 so yeah
struct: 22216 on first turn?
Nerchio: no
Nerchio: on like turn 10
Aldoggen: sounds like a good strat, opening is where you generate a lot of unneeded stuf
struct: https://www.codingame.com/replay/650029694
struct: this is with 5ms Nerchio
PatrickMcGinnisII: 170k nodes = 126MB ... i guess i suck
MSmits: Aldoggen you still have to be careful with pruning, but uttt has some nice heuristics for the start of the game
struct: smart rollout
Nerchio: yeah I just did barebones mcts
Nerchio: don't have anything smart
MSmits: if you change your rollout to smart it will help wayyyy more than if you change your code to c++
Nerchio: what is a smart rollout
MSmits: moves arent random
MSmits: not completely
MSmits: you dont play moves that cause you to lose
MSmits: so if you place a disk somewhere where there is a winning move for the opponent righ tabove that it is dumb
MSmits: also if you dont block opponent it is dumb
Nerchio: so you need to have some lookup?
Nerchio: to see winning moves
MSmits: well i have to admit we use SIMD to find these, but you could do some loops
struct: no need loops
struct: http://blog.gamesolver.org/solving-connect-four/09-anticipate-losing-moves/
MSmits: ah right, yes there are smarter ways
Nerchio: so it's heuristics
MSmits: yes, but not heuristics that bias the search
MSmits: you only prune proven losses
MSmits: so those are moves you would never play anyway
struct: for example a rollout goes from 25 moves average if its full random
struct: to 33
struct: or something
MSmits: Yavalath is a similar game where smart rollout is way more important than performance
MSmits: pb 4 had a similar strength bot compared to mine with 5x less sims
Nerchio: I will see later if I have the patience to go back and add it to my code but looks good :D
bavana: :metal_tone1::metal_tone2::metal_tone3::metal_tone4::metal_tone5::metal:
struct: maybe it wont get top 15 this time
struct: oh well
struct: i blame rng
PatrickMcGinnisII: why i hate c4: https://www.codingame.com/replay/650032285
struct: the steal patrick?
MSmits: heh heh
struct: if you play on middle you will lose
MSmits: well it's likely
MSmits: it's almost 100% certain to be solved as a win for the person who plays it
MSmits: 3 and 5 are even better though
MSmits: possibly the only draw is 1 or 6, that makes them the only safe starts
struct: maybe I should try opening with 2
struct: to see if it makes any difference
MSmits: 2 also favors player 1 and i will steal it, but the book will be poor
MSmits: so it might belp vs me
MSmits: help
MSmits: NN's might also perform worse
PatrickMcGinnisII: just rollout 9^64 games, I'll wait
struct: ok now I have 4 openings instead of 1
struct: rank 1 here i come
PatrickMcGinnisII: How I feel after a day on CG: https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Ftse3.mm.bing.net%2Fth%3Fid%3DOIP.Zmw8Z4z11I-FU_2Hl1EOCQHaEK%26pid%3DApi&f=1
Aldoggen: you need dark mode man
jacek: connect4 talks made me browse connect4 memes yet again
MSmits: connect flour
jacek: double kill https://www.codingame.com/share-replay/650035133
Astrobytes: still love those c4 memes
MSmits: jacek didnt you have 7 in a row
MSmits: one tim
jacek: eeyu
MSmits: showoff
Astrobytes: p
struct: maybe I broke something
MSmits: did you hit the wall when you saw jacek double killed you?
Astrobytes: :rofl:
jacek: rage quitted https://9gag.com/gag/aeDNdGv
struct: But I think I do have a bug since i added expansion on nodes that only have 1 child
Astrobytes: must...resist... reading... entire.... thread.....
Aldoggen: it surprises me that dogs can grasp the rules of c4
jacek: have you seen the comments
MSmits: you must read all comments
MSmits: they are epic
Astrobytes: ^
Aldoggen: pretty good stuff :)
Aldoggen: lol they have one that's actually c4
PatrickMcGinnisII: damnit tx to jacek i ended up in a 9gag #cat ihole
jacek: :3
Astrobytes: C-hole
Astrobytes: catamine
Astrobytes: Nerchio (and anyone): regarding RAIC prizes
nnovich-OK — Today at 5:21 PM So it has begun 🙂 I don't see English version of FAQ, but Russian one says "T-shirt can be transferred to almost any place worldwide" (not sure what "almost" means here), but "only people with Russian bank account can receive cash prizes". People without account are supposed to participate hors concours (am I using this phrase right?)
Nerchio: so we can play in the main competition?
Nerchio: not only in sandbox
Astrobytes: Yeah, just no cash prizes
Nerchio: well i have to first check the game anyway
Nerchio: its a battle royale (i think that was known already)
Nerchio: will have to think about it
Nerchio: one game
Astrobytes: Yeah I think it looks fun
MSmits: fortnite without the stupid building
struct: stuff is so small
Astrobytes: zoom in lol
Astrobytes: use the mouse/mouse wheel to change the view
Astrobytes: in realtime
struct: I'll probably skip, too much stuff going on
Astrobytes: you have a whole month in case you change your mind
eulerscheZahl: press "v" for debug mode
eulerscheZahl: was the same last time
Astrobytes: Yep
eulerscheZahl: i might go for a low effort tshirt
Nerchio: MSmits building is/was the best part of fortnite :D
MSmits: it seems silly to me, it's way too fast
MSmits: i like how it works in rust
eulerscheZahl: oh wow, round 1 at RAIC starts on the 15th already
Astrobytes: euler, nnovich messaged me again, he's as confused as us; asked for confirmation but the telegram chat is flooding currently
eulerscheZahl: usually there were 1 or 2 weeks more, weren't there?
eulerscheZahl: i see. won't be too hard to reach top300 i think. easily doable on a lazy Saturday
eulerscheZahl: so i might just risk not getting my tshirt
eulerscheZahl: otherwise it would probably be the easiest of the year (not counting hacktoberfest)
MSmits: doesn't it bother you that it is always t-shirts. I figure you'd need pants and shoes and stuff as well
eulerscheZahl: sometimes it's hoodies
eulerscheZahl: and once i won a cup
eulerscheZahl: the thing that keeps your coffee warm
eulerscheZahl: i don't drink coffee
MSmits: oh ok, i was imagining something else
eulerscheZahl: i realized the double meaning, which is why i clarified
BlaiseEbuth: Any news about the banks thing?
MSmits: like you were only wearing t-shirts before, but finally got a cup so you would no longer get arrested
eulerscheZahl: johnathan banks is still active, BlaiseEbuth
Astrobytes: MSmits :rofl:
eulerscheZahl: i don't get that
BlaiseEbuth: :upside_down:
Astrobytes: it's possible t-shirt shipping for those without accounts is for displaced RU nationals (given the current situation) but also possible it's for non-RU entrants, we need to await the official answer
BlaiseEbuth: Hmm 'k
Astrobytes: the out of competition round states it's for VK employees and those who worked on task development, but there are 2 leaderboards, one for in-competition and one without, so as per RAIC there is some strangeness
Astrobytes: anyway nnovich will update me with any news so I'll pass it on as soon as I hear anything
eulerscheZahl: :+1:
Nerchio: who is nnovich, some kind of special agent?
eulerscheZahl: i once played in a mini RAIC. it didn't even have English rules
eulerscheZahl: a user who's also active on CG
eulerscheZahl: top20 in the pikaptcha puzzle contest
eulerscheZahl: was so happy about it that he shared his solution on the chat
Astrobytes: Nerchio: just a CG user, the guy who posted the link to it
eulerscheZahl: then got DQed :(
Astrobytes: oh that was him?
Astrobytes: ouch
eulerscheZahl: yes
Astrobytes: didn't do pikaptcha but I remember
eulerscheZahl: i was barely faster than smits
BlaiseEbuth: Ok. But I didn't asked: The bank account prevent you to register or it's just about prizes?
eulerscheZahl: started really well with the first 2 tasks. then got confused about Möbius strip
eulerscheZahl: you can register without an account
eulerscheZahl: just for fun
eulerscheZahl: only thing we don't know: do tshirts still count as fun or as serious competing?
BlaiseEbuth: Oh. Well that's all OK.
BlaiseEbuth: Erf
BlaiseEbuth: Yeah t-shirts is a serious issue
Astrobytes: oh btw, the shorter duration before Round 1 start is because they combined beta and sandbox this year
eulerscheZahl: ah, so changes until directly before R1?
Astrobytes: seems that way
Astrobytes: its on the site but doesn't give more info than that
eulerscheZahl: and half of it is Russian even when you select English
Astrobytes: heheh yeah it's a bit peculiar
eulerscheZahl: if i play, i should do it this weekend. otherwise it will collide with TC
Astrobytes: good idea
DrunkeyCPP: is the TC challenge worth for noobies learning a language?
DrunkeyCPP: or is it too hard?
eulerscheZahl: last 2 tasks to get an impression: https://www.topcoder.com/challenges/9bb1c5e1-dbb3-4407-be0e-3cc0dc45bf1a https://www.topcoder.com/challenges/d9570afb-dfde-43b0-b4e1-20434933c8cc
eulerscheZahl: they have animations. but you have to log in to see them :(
DrunkeyCPP: well I wouldn't even know where to start, so I guess that answers my question haha
DrunkeyCPP: thanks doe :thumbsup:
struct: its usually similar to cg optimization right euler?
eulerscheZahl: you can't hardcode on TC, so no :D
DrunkeyCPP: lol
eulerscheZahl: but somewhat comparable, often with visuals
Astrobytes: and usually high quality problem
eulerscheZahl: a tester for local development
eulerscheZahl: here's an animation as the one on the website doesn't play without account: https://cdn.discordapp.com/attachments/935525847140536320/976536014938067034/seed1_3.gif
eulerscheZahl: basically was about building long chains with one knight to get max points
eulerscheZahl: always capturing the same color
DrunkeyCPP: seems really fun but yeah, I guess I'm not on that level yet
eulerscheZahl: you learn by pushing yourself to the limits
Astrobytes: keep practising ;)
DrunkeyCPP: sir yes sir
Astrobytes: indeed. Get out of your depth but get something working
eulerscheZahl: on a side note: there are finals once a year. it's not easy to qualify but would be really good to use this as a community gathering. so everyone join :)
Astrobytes: ^
DrunkeyCPP: that also sounds like great fun
eulerscheZahl: they will even invite you to the US
struct: ok I might try if I can bitboard it
struct: hi
Astrobytes: afk, eating
Illedan: ifok, coding
Illedan: eulerscheZahl, what actions can you do in the RAIC?
Illedan: Didn't check yet
eulerscheZahl: compete for fun, compete for real, not compete?
Illedan: No, more like
Illedan: Move left right?
Illedan: Or continous?
Illedan: Shoot?
Illedan: Magic?
Illedan: Nuke?
eulerscheZahl: i saw 1 replay, it was laggy. that's it
Illedan: Kamikaze?
Illedan: ok
struct: are replays on green circle playing faster?
struct: or is just me
struct: ah I guess its due to the card animations
struct: frames are still 1 sec
WereEnder: Can someone help me. Im new to coding and I really have no idea whats happening
Razovsky: this is not a website to learn
Razovsky: but to practice
Razovsky: check the forum
WereEnder: whats a website to learn?
Razovsky: lots of tips for beginners, but to summerize 5DN1L u should arrive here knowing the bases of a langage
Razovsky: loops, if/else, in/out commands
WereEnder: whats a website to learn?
Razovsky: man
Razovsky: try google "learn to code"
Razovsky: to begin with
5DN1L: or try codecademy.com , 'The Coding Train' on youtube, or first levels in codewars.com
Razovsky: im not your mom
Razovsky: thx 5DN1L XD youre so much patient
5DN1L: just copy and paste :P
Razovsky: love you
5DN1L: :)
Illedan: Need :taco: bot to automatically reply on these questions
eulerscheZahl: https://pokemon.fandom.com/de/wiki/Pok%C3%A9mon_Wiki learn all about pokemon here. you should ask more accurate questions
5DN1L: wasn't paying attention to the chat until you pinged me Razovsky
5DN1L: Illedan, yes indeed
TomAlard: I'm trying to improve my UTTT bot. I've got a basic pure MCTS implementation. Are there any substantial improvements I could make other than optimizing the code?
MSmits: many
MSmits: well, when i say many, i mean many small things that each add a few % to WR
eulerscheZahl: to world record?
MSmits: yes
MSmits: try the following heuristic TomAlard
MSmits: in the first 20 turns or so, whenever you have to play on an empty board, pick the square that has the same position on the board, as the miniboard has in the overall board
MSmits: meaning, the square that forces your opponent to play on that board as well
TomAlard: You mean doing that instead of random rollouts?
MSmits: nah, do the randomrollouts if you want, just play this move if it is available
MSmits: you could also force this through expansion (when you expand and this move is available, have it as the onyl child)
MSmits: you can see it in action here: https://www.codingame.com/share-replay/650069725
TomAlard: Interesting
MSmits: it's generally best to limit this to the first 20 turns
MSmits: after that, sometimes it's a losing move
MSmits: i mean 20 plies
MSmits: (both players moved 10 times)
MSmits: it is not just a gimmick... it's an extremely strong heuristic
MSmits: random rollouts will not give you a better move
TomAlard: Thanks! I'll try it
MSmits: np, there's more ideas like this. Ask me when i'm around
TomAlard: Yeah, I heard you're trying to improve your UTTT bot as well
struct: this should bring you from 100 to 50th +-
MSmits: yeah i am
struct: just this heuristic
TomAlard: damn
MSmits: ran out of ideas mostly, but trying the eval version again. I had a reasonable good one before
MSmits: no random rollout, was ranked about 20th or 30th
struct: yours?
MSmits: but my normal bot is 7-9
MSmits: yeah
MSmits: mcts with ept
struct: ah
TomAlard: I wonder who found this idea
MSmits: it was a bit unstable
MSmits: it would beat recurses nn with a 50% + WR and then lose to lower ranked
struct: maybe because it played bad
struct: :p
MSmits: maybe
MSmits: but it didnt just play well vs recurse
MSmits: it did well vs other top guys
MSmits: it just couldnt deal with some gamestates i think that only pop up with weaker players
MSmits: eval is not as flexible as a random rollout
struct: yeah
putibuzu: have you tried combining rollout and evaluation function?
MSmits: putibuzu not really, i may have at some point, but never with some serious effort
putibuzu: MSmits alright thanks :) was just wondering since The_Duck is using something like this in green circle successfully :)
MSmits: yeah it sometimes works, but uttt doesnt have a very reliable eval
MSmits: best you can hope for is averaging it out
MSmits: to something reasonable
MSmits: over many visits
MSmits: just as you would with random rollout
putibuzu: ah ok good to know, I have no clue about UTTT to be honest. thanks!
DrunkeyCPP: whats uttt?
BayraktarBakh3ridzeIG: d
BayraktarBakh3ridzeIG: a
BayraktarBakh3ridzeIG: j
5DN1L: Ultimate Tic Tac Toe
DrunkeyCPP: ah thanks
5DN1L: np
YurkovAS: in my case: smart rollouts give 15% wr vs only random rollouts. checked in brutal-tester 1Kx2 mirrored games
MSmits: you mean +15% ?
YurkovAS: +15 %
MSmits: ok, sounds about right
MSmits: looks like my evalbot ends about 30th
MSmits: (the old one)
MSmits: I want to try and improve it
struct: just need to use jacekeval
MSmits: hah yeah that would work
struct: but you do ept(0) MSmits?
MSmits: yes
struct: does it do worse if you do like 10?
MSmits: it is otherwise basically the same bot, with all the solver enhancements and heuristics
MSmits: 10 what?
struct: 10 moves then eval
MSmits: oh randoms, i never tried
struct: Its what I do for bt
MSmits: is it better than straight eval?
struct: for me it was
MSmits: how much better? Easy to prove with tests?
struct: ok i just tested on leaderboard tbf
MSmits: mmh hard to say
struct: it was from 20 to top 10 or something around that
MSmits: thats good
MSmits: if i were to add random rollout to eval bot it would go over 3k i think
MSmits: mmh eval bot was still going up, 22nd now
struct: I just use the normal rollout and then stop at depth N
struct: oh nice
MSmits: only 1 pt below you now
MSmits: I just got the dumbest phishing mail
MSmits: it asked me to fill out a survey
MSmits: it's like it just doesn't want to phishing to succeed... a survey lol
struct: better fill it
MSmits: :)
MSmits: double win vs tomatoes and supson
struct: it does well for an eval
MSmits: so close to the struct now :)
MSmits: yeah it does
MSmits: i must have remembered it wrong, it was stronger
MSmits: not sure why i gave up trying to improve it. It may have the potential to be stronger than my random rollout bot
Afraaz1: Hey guy I'm stuck on the descent easy minigame
Afraaz1: Anyone around to help?
struct: press hints on the left
PiPrevalis: Afraaz, you may be having the same issue I was which I was using the same variable for biggestHeight and rewriting that with the index. I'd check the largest height and update a new variable for the index and return the index not the height variable
PiPrevalis: or I apologize that's a totally different game don't mind me... lmao
Afraaz1: no thats the same game
Afraaz1: for some reason i shoot the same mountain over and over
PiPrevalis: oh no worries! Hope that helps!
Afraaz1: ill have to add an array
Afraaz1: i was returning highest height not index
struct: yeah you can also have 2 vars
PiPrevalis: yeah I was shooting mountain 4 every time lol
struct: so you keep track of the highest_mountain_height, highest_mountain_index;
struct: you will need to store both
PiPrevalis: ^that's how I ended up doing it, without creating a new array
Afraaz1: how does that stop you from firing the same mountain over and over
Astrobytes: overwrite it every time you see a higher value
Afraaz1: i need to reset the variables
struct: if they are inside the while loop
struct: they are reseted
struct: because it goes out of scope
Afraaz1: thanks i was putting the reset outside the loop out of habit
Razovsky: hey 5DN1L
Razovsky: U Talked about codeacademy earlier
Razovsky: i went on the website, it might be what i was looking for actually, so thanks
Razovsky: i have langage and algorithm knowledge thanks to this website, but i don't know how to build usefull competences for a real job as a dev
Astrobytes: yo Razovsky, regarding CTFs and things for stego challenges, check CTFTime.org and sites like hackthebox for non-competitive CTFs. Sites like hackthissite etc are good for practicing on a puzzle-type basis
Astrobytes: *CTFtime is for contest CTFs
Razovsky: thx Astrobytes
Razovsky: crypto really please me
Astrobytes: here's another list: https://www.sjoerdlangkemper.nl/2018/12/19/practice-hacking-with-vulnerable-systems/
Razovsky: thx !
Razovsky: u rock
Astrobytes: np :)
Razovsky: by the way what would you advice to somebody which never study computer science but who manages to do well on this site and might consider switching to dev/computer science jobs ?
Astrobytes: donno, never did a CS degree
BlaiseEbuth: :popcorn:
xAzaelx: Dunno bout other countries, but in Germany i"d say always yes
Astrobytes: yes to what?
DevJacob: SW Dev/engineer is a great position. You get paid to be stressed!
Astrobytes: BlaiseEbuth: why the popcorn?
xAzaelx: Consider going for a dev job
Astrobytes: ah
BlaiseEbuth: Because it's good?
xAzaelx: because its easy to get a job and its well paid
xAzaelx: and if you have fun coding anyways that a huge plus
BlaiseEbuth: Was answering to Astrobytes.
BlaiseEbuth: Do you want popcorn?
Astrobytes: Razovsky: I'd probably start by learning some frameworks, tech stacks etc, make a meaningful portfolio of projects on github, contribute to OSS projects
jk_java: Razovsky: go for it, if you do well here, you will lern what is required fast in real life as well
jk_java: you will be fixing somebody elses code anyway
Astrobytes: but don't ask me, I do well on this site but no CS education or dev job
jk_java: most real life devs woudl not do well here tbh
BlaiseEbuth: You almost have a phd in an interesting domain and you deliberately want to drop it to become a corporate slave? :think:
PatrickMcGinnisII: ^ only time i agree w/ mr. demon
Astrobytes: what is the phd?
Astrobytes: what domain I mean
jk_java: Razovsky: maybo also consider going into data science - the coding there is more about solving problem and datascience is in high demand
jk_java: also DevOps - small programs that automate deployment and super high demand now
BlaiseEbuth: Geology iirc.
Astrobytes: How dare you call geology interesting! Blasphemy!
Astrobytes: (never enjoyed that :D )
Astrobytes: but yeah, I'd finish that first before anything else
BlaiseEbuth: Do we already had a disagreement PatrickMcGinnisII? :thinking:
Astrobytes: that's a lot of years of hard work to throw away
jk_java: there might be CS jobs in geology i guess as well
jk_java: most science is data science
PatrickMcGinnisII: have a good day, i could debate the computer guru stuff for hours, but I have actual RL stuff to do. My Galleon Wars improves everyday, not that I have resubbed it yet.
PatrickMcGinnisII: laterz
Astrobytes: I've used my knowledge in various domains/jobs over the years
jk_java: :cocktail:
Astrobytes: never used an MCTS or alphabeta at any job mind you :P
BlaiseEbuth: What did I do to Patrick? :thinking:
Astrobytes: nothing afaik
BlaiseEbuth: :shrug:
Razovsky: ill throw nothing away
Razovsky: and i do way better than casual geology
Razovsky: im a seismologist darling
Astrobytes: ugh, even worse. Moho measurements made me fall asleep
Razovsky: but as i have facilities in coding, and research is an unstable domain
Astrobytes: :rofl:
Razovsky: i am asking myself on becoming a dev
Razovsky: Astrobytes if i had been ur teacher
Razovsky: u would have love every bit
Astrobytes: :D
BlaiseEbuth: Well... Slavery is pretty stable
Astrobytes: well, you know you best, pretty sure you can combine CS and seismology though
Astrobytes: best of both worlds
Astrobytes: And yeah, research isn't all it's cracked up to be
Afraaz1: anyone does the ASCII art challenge
daddy0resist: im sexy big black dude
daddy0resist: slavery is good because we are putting a toaster inside my toaster
MSmits: what song is this?
IhorKostiuk: How to get an Internship
Astrobytes: don't do what that other guy did
BlaiseEbuth: Make great coffee and nice photocopies.
derjack: :upside_down:
MSmits: my eval bot is close to 45% vs my random rollout bot now
MSmits: was 32% before
MSmits: if i can tweak it more, maybe it can get better
MSmits: that's what i said
derjack: uttt?
MSmits: yeah
derjack: eval in uttt? :scream:
MSmits: yep
Aldoggen: whoa, you were 8th with random rollout?
MSmits: well everyone and their mom uses random rollout on uttt
MSmits: that you know of
MSmits: just features that make sense for an uttt board
Nerchio: if(loss) eval -= 100000;
MSmits: winning miniboards and such
Aldoggen: I'm gonna play devil's advocate here. is there no way for a procrastinate-winning-miniboards-and-catch-up-later kind of strategy to be viable?
MSmits: yeah definitely
Aldoggen: so winning miniboards doesn't necessarily mean winning the game
MSmits: correct
Aldoggen: or i guess it depends at what depth you're looking
Aldoggen: if you're looking near the end of the game it would probably be ok
MSmits: no this is a universal truth. Winning miniboards does not mean winning the game
MSmits: but it can help
Aldoggen: still don't know the rules :)
MSmits: thats why i have a bunch of features
MSmits: with parameters
Aldoggen: at first I thought you needed to treat the big board like a normal ttt
MSmits: well you kinda do
Aldoggen: now it's just a matter of tuning the parameters :)
MSmits: yeah working on it
MSmits: as long as it beats my other bot i'll be happy
MSmits: need to get from 45% wr to 50% +
Aldoggen: you could do something with gradient descent maybe
derjack: how many params?
MSmits: i should yeah, but i need to get a pipeline for that
MSmits: 8 params
MSmits: atm
derjack: brute force it is, then
MSmits: might drop some and gain some new ones
Aldoggen: I think assuming strength of the bot is smooth in the parameters is a pretty bold statement tho
MSmits: yea at first will do brute force
MSmits: it's not, there's definite local optima
YurkovAS: how many rollouts you have? > 60k in 2 turn?
MSmits: way more
Aldoggen: I won't deny there are local optima, but idk if gradient descent will work
MSmits: 1 million rollout on first turn, dunno 2nd, it has visits from reuse
MSmits: 255k visits on 2nd turn, but that includes from root
MSmits: 164k visits on 3rd
YurkovAS: root visits?
MSmits: 150k on 4th
MSmits: yeah backpropagated to root
MSmits: but i reuse tree so it keeps visits from earlier turn
MSmits: oh wait nvm i do keep track of rollouts
MSmits: it's around 100k
Westicles: Only needs one more approval. ASCII art!
Westicles: https://www.codingame.com/contribute/view/23544778f13fa4bdcec80adea8db1bc2c4f4f
MSmits: brb
YurkovAS: MSmits 100k rollouts with smart playouts phase?
YurkovAS: or only random
MSmits: no, this is a new bot
MSmits: it has no playouts
MSmits: selection -> expansion -> eval
MSmits: it ranks around 12th
MSmits: pretty happy with it
MSmits: needs more tuning though, maybe it can go higher
MSmits: http://cgstats.magusgeek.com/app/multi-tic-tac-toe/msmits
MSmits: look what I did to Bowwow =)
YurkovAS: :thumbsup:
PewPewBewm: M$mits... you're welcome : )
struct: finally positive win rate vs MSmits
struct: I can finally retire
MSmits: not compared to my best bot struct, but i definitely improved evalbot
YurkovAS: and vs me :smile:
MSmits: no it seems to suck vs you. From cg stats it also seems very unstable. I guess it's more deterministic because no random playout
struct: add rand to select like jace k
PewPewBewm: Ooops.sorry .... Westicles Y W : ) Apologies, can't see straight today. Got code eyes : )
MSmits: i might add rand yes struct
MSmits: would help with the tuning i guess
PewPewBewm: Westlicles. I ran your submission a few days ago. Just gave it its third approval.
Westicles: Well done PewPewBewm! The french are going to hate it :P
PewPewBewm: Man, I need to sleep ... I am a zombie. 27 hours awake and counting... been living on coke and headache tablets.
PewPewBewm: Gonna sleep before my body decides to hurt me bad
PewPewBewm: o/
Psyho: did people try RAIC? is it fun?
Psyho: is it morally good to participate there? :thinking:
Psyho: *is it moral
struct: I didnt like the viewer so I decided to skip it :p
struct: Also no money prizes if you dont have a russian bank account
YurkovAS: MSmits for smart rollouts i evaluate all moves, sort by score and choose by random: best moves choose frequently (FastRand(movesCount + N))
Psyho: "Also no money prizes if you dont have a russian bank account" I would donate it anyway, honestly
Psyho: otherwise feels weird
struct: thats fair
MSmits: sounds complicated YurkovAS
Astrobytes: Psyho: for me personally there is no moral issue for this kind of thing, I have zero issues with ordinary russians
TimeEngineer: Hey struct, did you understand what Jacek mean when he said -Qmax ? Is it for player who win too ?
YurkovAS: rollouts count drop from 70k -> 40k winrate +15%
Astrobytes: I thought it was kind of unfair that a lot of sites excluded RU participants, was glad CG did not
struct: derjack
TimeEngineer: Oh MSmits is there too !
MSmits: yeah!
MSmits: :cheer:
TimeEngineer: :wave:
Psyho: I guess I look at it from the company perspective: what's the relation between VK (sponsor) and the government
Psyho: most places I've seen just disallowed Russian people to represent Russia (which I think is... okayish?)
Astrobytes: It's a minefield (not a pun) really/
Astrobytes: *really.
MSmits: participation as an individual only representating yourself, should be ok in any case
struct: a quick search and it seems to have ties to it psyho
struct: TimeEngineer im not sure about what jacek said
struct: My knowledge of NNs is pretty bad
Astrobytes: Yeah we know struct, that's the moral dilemma
TimeEngineer: Oh
MSmits: Qmax sounds like the highest value child
TimeEngineer: Yeah
struct: ah I thought he meant as a question, my bad
MSmits: -Qmax could refer to the parent gettign the value of the negated max value child
MSmits: but i am totally guessing
Psyho: " amid a significant overhaul of the firm’s shareholder structure that has seen state-owned entities assume control" ah yeah
Psyho: struct: that was a question, yes :)
Astrobytes: ah I thought you were aware
Astrobytes: my bad
Psyho: that would be my blind guess, but I didn't check
Psyho: + mostly I'm just curious what do people on CG think about it
Psyho: but yeah, it's essentially competing in a contest sponsored (indirectly) by russian government
TimeEngineer: For my DQN, in tic tac toe, I used the same NN for training, the common case is to propagate Qcurr(s, a) = R + yQmax(s') where s = state and a = action
TimeEngineer: But Jacek mentionned -Qmax
darkhorse64: I would not touch it with a ten foot pole
Astrobytes: it's only this year that there is this issue
darkhorse64: even before
Astrobytes: yeah I know, you said in 2020, but I'm just pointing it out ;)
Darleanow: BOBLOB
struct: TimeEngineer https://cg.spdns.eu/wiki/Chat:World/2022-07-04
darkhorse64: I do not see participating as safe and now there is a moral on top of that
struct: Ctrl+F Qmax
darkhorse64: a moral issue
darkhorse64: you may call me paranois
TimeEngineer: Oh thanks ! struct
darkhorse64: paranoid
darkhorse64: :mask:
struct: I understand you darkhorse64
Astrobytes: It would be slightly odd for them to distribute malware in their runner or whatever tbh but I get you
Astrobytes: I believe that a competition full of programmers would have noticed something amiss by now.
darkhorse64: I meant personal safety
CipherEmber: Should I choose webdev or gamedev? I want to do something interesting and useful for the world. I'm having a hard time choosing.
Astrobytes: Personal info or physical darkhorse64?
struct: CipherEmber https://www.youtube.com/watch?v=pLAi_cmly6Q
darkhorse64: personal info
Psyho: gamedev = fun, lower wages, crunch times webdev = boring
Astrobytes: what you give is minimal, and if there was strange data gathering going on it would have been noticed I'm sure
struct: also depends on the company ofc
darkhorse64: I have a complete distrust in everything that comes from this country even though I have been once there and loved the people, culture, ...
Astrobytes: that's fair, and understandable
Psyho: out of curiosity: where do you trust in Chinese software on that scale?
Psyho: *where do you put
darkhorse64: the concern is more about the government. In both cases, very low
Astrobytes: I wouldn't trust that either
CipherEmber: what are you talking about
CodoMojo: Hi, i have just a simple question how much 10^26 equal in base Ten??
MSmits: it equals 10^26
Astrobytes: :D
Astrobytes: That's like the person asking for examples of what the greatest common divisor is
CipherEmber: the greatest common divisor ls 10^26
Zorg1: but in which base ?
CipherEmber: Approximately 800 employees laid off from Activision Blizzard
waterproofsodium: # AI is real ?
CipherEmber: real, but Is it possible to create consciousness?
MSmits: sure it is
waterproofsodium: who cares if it takes our jobs?
MSmits: just find someone of the opposite sex and get crackin'
waterproofsodium: mankind creates problems faster than they solve them..
MSmits: speak for yourself. I solve a lot more problems than I create. Did not make one contribution so far and solved 100+ puzzles
Astrobytes: heh heh heh
Nerchio: sounds like a parasite :joy:
MSmits: and proud of it
MSmits: if more people were like me, Westicles would have a life
waterproofsodium: I was neither speaking for you nor for me. I spoke about the average. obviously we're still not out of nuclear war era given the current situation so that problem is not solved as one example. but already new ones are on the horizon which we don't know how to deal with
waterproofsodium: hopefully the trend is changing, but I cannot bet on that
PewPewBewm: I'm an fully optimised problem generator some days ; )
CipherEmber: Horizon Zero Dawn comes true.
Astrobytes: waterproofsodium: I believe he was joking ;)
PewPewBewm: You ever start the day with code that was beautiful and just needed a couple of little tweaks ...
... and ended the day deleting the project folder and sobbing ?
waterproofsodium: oh ok :P
PewPewBewm: :P
Westicles: MSmits, the puzzles are coming at a trickle these days, so lots of life here
Astrobytes: PewPewBewm: Have you heard of this fancy thing called version control? :P
PewPewBewm: I have... it's on my todo list...
... there's a LOT of things on my todo list. LOL
MSmits: ah good to hear Westicles
CipherEmber: I love math. Codding after math and it made fractal cabbage
PewPewBewm: there's infinite vitamins in a fractal cabbage...
waterproofsodium: MSmits I finally understood your joke :D
MSmits: yes some of my jokes age like fine wine
waterproofsodium: I shall put the next one in a shelf to consume later
MSmits: preferably in a cold environment
khanglovesIT: https://escape.codingame.com/game-session/iSm-Zz3-j19-QoW
khanglovesIT: ok pls join :)
KAnos: https://escape.codingame.com/game-session/iSm-Zz3-j19-QoW
PatrickMcGinnisII: game drives me nutz https://www.codingame.com/replay/650143672
khanglovesIT: https://escape.codingame.com/game-session/iSm-Zz3-j19-QoW CAN ANYONE HELP ME PLS
eulerscheZahl: sorry, i can't unpress capslock for you. that's something you have to do yourself