Andriamanitra: i tried to save a few characters in shortest mode by changing 360/(2*Math::PI) to 57.2958, passed all the visible tests but failed some of the validators ;_;
Andriamanitra: i would've won by like 40 characters even without shortening that bit :disappointed:
Andriamanitra: yeah i was pretty happy with it, too greedy though
eulerscheZahl: you could have done 180/Math::PI at least
Andriamanitra: yeah i had that for a brief moment of sanity
eulerscheZahl: come on trictrac, do you really want to fight this war? :/
MaliciouslyCrypticUsername: I see no trictrac
eulerscheZahl: i do
Gorbit99: love how the creator is only 4th
Gorbit99: how hard is samegame to write code for?
eulerscheZahl: not that hard
eulerscheZahl: now i have 2 algos. some are better at one testcase, some at the other
eulerscheZahl: wider beam size did the trick
Andriamanitra: you really think your wide beams are going to save you when i get my algorithm done?
Andriamanitra: i just need to figure out how to generate two random numbers between 0 and 14 and i'll be golden!
eulerscheZahl: i dont know how good you are. but beam search is too obvious for me to be the only one using it
Gorbit99: well, if you explain it, I can tell you how obvious it is
eulerscheZahl: i start with the initial board, generate all possible follow-up boards that i can obtain by removing a group
Gorbit99: so far so good
eulerscheZahl: score those based on current game score + expected score for the remainder
eulerscheZahl: then only take the best X boards of those
eulerscheZahl: and do the expand+score again until the game is over
eulerscheZahl: aka beam search
Andriamanitra: well yea but the odds of finding optimal solution doing that seem pretty miniscule compared to my rng-based artificial intelligence
eulerscheZahl: aCat is doing what you describe. score of 38k i'm at 69k
Gorbit99: so basically a 1 step monte carlo?
eulerscheZahl: at least i think that's what he does
Gorbit99: I'll display that follow somewhere on my wall
Andriamanitra: ok you win i cant get my rng to work
Gorbit99: don't worry, right now I'm failing on creating a flood fill
Andriamanitra: your outputs will not be synchronized with the game's turns and unexpected behaviour may occur
eulerscheZahl: i get that too
eulerscheZahl: as i solve the whole thing in turn 1 and ignore the following inputs
Gorbit99: oh, you just run through the entire thing?
eulerscheZahl: when i print the first action, i already know my final score
Gorbit99: I assume there's tons of heuristics in place to not get you timed out
eulerscheZahl: not at all. still early in the game
Gorbit99: you get 20 seconds for the first turn?
eulerscheZahl: and it's an optim game. sooner or later top ranks will solve it offline and hardcode
eulerscheZahl: yes, 20s
Gorbit99: solve it offline and hardcode?
Gorbit99: isn't it sorta randomised?
eulerscheZahl: the testcases are always the same
eulerscheZahl: bulls and cows has random tests
Gorbit99: that's a bit lame
Gorbit99: 20 seconds is hilariously a lot
Gorbit99: at that point the main problem is memory
eulerscheZahl: depends on what you are doing
eulerscheZahl: my solution would still get better with more time
Gorbit99: aren't you brute forcing it?
eulerscheZahl: to some degree. i can't do a full search in 20s
Gorbit99: what lang btw?
eulerscheZahl: https://www.codingame.com/replay/481565931 but you can clearly see that my solver has a mission
Gorbit99: big blobs
Gorbit99: you get 1000 points for clearing the board, so I guess that's the main goal to shoot for
eulerscheZahl: yeah, i don't do that yet. but it's not easy to achieve
eulerscheZahl: http://www.hacker.org/brick/ i never got far on this one
Andriamanitra: why am i selecting empty tiles though
tutubalin: so my first task as a hacker is to run Adobe Flash on Mac
Andriamanitra: seems like rng-based artificial intelligence should know better
eulerscheZahl: -1 is a huge block with an awesome score
eulerscheZahl: and you got confused by the input format, rows given in reverse order
Andriamanitra: i see, my algorithm is fine but game is bugged
Gorbit99: why are rows given in reverse order again?
tutubalin: because bottom is always zero
tutubalin: things grow up
Gorbit99: in this case bottom is 14 as I see
eulerscheZahl: depends on your point of view. at least I had a bug reading the lines in the wrong order at first
eulerscheZahl: line 14 is the first input line, line 0 is the last
Andriamanitra: so when i look at the animation what coordinates is top left?
eulerscheZahl: hover over it
Andriamanitra: 0,14 ?
eulerscheZahl: there are tooltips
Andriamanitra: oh that's handy
dbdr: euler, don't you think andria is trolling you?
eulerscheZahl: but i'm bad at troll detection
jrke: top left is 0,14 i think
jrke: 0,0 is bottom left
dbdr: the rng ai is suspicious
Gorbit99: now I have mr "just click on the biggest tile please" working
eulerscheZahl: of course he isn't serious with it
eulerscheZahl: but would call it joking, not trolling
Gorbit99: top 10 boys
jrke: currently i m just choosing largetst tile
dbdr: impressive :)
dbdr: I failed at top 10
eulerscheZahl: that's more than dbdr has working
Gorbit99: how the hell do you get 440 points more than me jrke
Gorbit99: I'm also best ruby player and best hungarian
Gorbit99: although the ruby leaderboard is quite uh... barren
jrke: and im only and the best indian player ;)
jrke: in same game
dbdr: i'm best dbdr
Gorbit99: but if we do the same thing, then how do you get more points?
Gorbit99: just blind luck in order?
jrke: with some random choosing also gorbit if tile no. are equal
jrke: whats your algo
Gorbit99: chooses tile closest to top left
jrke: my algo is bad just pathfinder
Gorbit99: first horizontally, then vertically
Andriamanitra: i just passed all the tests so here we go right to the top, probably
Gorbit99: let me reverse my y a bit
Gorbit99: sorry jrke, new 9th in town
Gorbit99: totally planned
Gorbit99: not just dumb luck
jrke: np i just worked on it for 15 mins will have to work on it
jrke: of just 18 points difference
Andriamanitra: now i just need to keep submitting until the rng trains itself
jrke: whats the best for horizontal lines i.e. first test case
Andriamanitra: probably trying to connect all the greens together
Andriamanitra: since the scoring is (n-2)^2 it will be dominated by the biggest region you can create
jrke: euler you didn't did search race?
eulerscheZahl: no jrke didn't feel like it
jrke: Response time for first turn ≤ 20s what?
jrke: 20 seconds
Gorbit99: 20 second, yep
Gorbit99: after that you get 50 ms a turn
Gorbit99: a bit lopsided
Andriamanitra: who woulda thunk relying on rng would make debugging painful
Andriamanitra: i can't reproduce bugs :grinning:
dbdr: use a seed
Andriamanitra: that's wicked smart
aCat: Andriamanitra general strategy for SameGame is to avoid merging the color with the largest number of tiles unless it is necessarly to do so
aCat: as far as thic cat is aware ^^'
aCat: bleh, gotta go swim ;-)
dbdr: poor cat
Andriamanitra: i guess i'll keep trying different random seeds until i either reproduce the bug with the test cases or luck my way through the validators
Andriamanitra: my score is wicked high but i keep failing like one validator
eulerscheZahl: always the same validator Andriamanitra?
Gorbit99: well, it's his rng
jrke: so someone can do hardcoring
jrke: but lot of time is needed for that
Andriamanitra: nope it varies, always one of the standard testset though
Andriamanitra: just managed to reproduce it for the first time
eulerscheZahl: hardcoding is easy jrke
Putnam3145: hardcoding is tedious as hell
Putnam3145: who has the PATIENCE for that
eulerscheZahl: how is that tedious? get the validators (accessible), run your code on each of them and store that solution in your code
eulerscheZahl: i can do that in 15-20min
jacek: and automate your hardcoding
Andriamanitra: ok i have absolutely no clue what's going on with my code, it's outputting values that are nowhere to be found
jacek: ahh the programming
Andriamanitra: oh right, there was another return statement, now we're cooking with gas
eulerscheZahl: just don't let it explode
Gorbit99: how do you get the validators tho?
Allis: Alternatively, compel it to explode.
Gorbit99: are they still available in the contrib section?
jrke: in accepted
eulerscheZahl: zip download and playable in the IDE
Andriamanitra: BOOYAAH straight into the 30k+ range
eulerscheZahl: well done
Gorbit99: welp, gonna last for a bit
Gorbit99: after that it will be max score for everyone
eulerscheZahl: not max but less fun IMO
eulerscheZahl: top4, maybe more, are hardcoded
Illedan: You hardcoded?
eulerscheZahl: yes. to show neumann how easy it is
eulerscheZahl: he spent 2 or 3 days getting the validators and told it's an achievement
Illedan: Wasn't it 1 week? :P
eulerscheZahl: at least a while and a lot of submits
jrke: oh then if testcases change like in power of thor then?
eulerscheZahl: while I got all 30 of them in 10min maybe
eulerscheZahl: now that API has better protection
jrke: a hardcoded mod ;)
Illedan: protection or randomness?
eulerscheZahl: private replays
eulerscheZahl: still the same validators though
eulerscheZahl: that link didn't work well
Illedan: CG failed to parse?
jrke: so you are simulating with high time in local ide and storing result
jrke: euler isn't it?
Gorbit99: well, that makes optimization less fun
eulerscheZahl: tourist might still have the best A*Craft bot if we would limit everyone to 1s and prevent hardcoding
dbdr: more fun than random validators
eulerscheZahl: yes jrke. at least for A*Craft
Illedan: Will result in a spam fest dbdr
eulerscheZahl: for code of the ring i did some by hand even
Illedan: Spam to have a lucky random
eulerscheZahl: for the rest I play fair
Gorbit99: hmm, there needs to be a way to make it consitent, but not hardcoded
dbdr: random validators, yes. I don't think it's a good solution
Illedan: Do you include loops in your Code of the ring search euler?
eulerscheZahl: i create some loops, yes
eulerscheZahl: but afterwards in post-processing
eulerscheZahl: why do you care about CotC all of the sudden?
eulerscheZahl: is it part of the quest map?
Illedan: Below 6.5 k :P
dbdr: Gorbit99, samegame is NP complete. it's not possible to get "max score" even with days/years of CPU
eulerscheZahl: sounds way easier than 200 for don't panic
Illedan: But I managed it yesterday with moving around instead of +-
Illedan: 200 is a pain
Illedan: I have to learn some other language now
eulerscheZahl: python or ruby
dbdr: or learn to golf ;)
Illedan: Solve the normal puzzle in python, ruby and JS and hope someone pushed a short version :D
eulerscheZahl: the remaining 2 quests: top2% for optim and golf leaderboard
dbdr: btw you don't need to learn a language to golf in it
Gorbit99: oh, it is?
Gorbit99: then it's kinda nice
dbdr: I get better scores in languages I don't know
eulerscheZahl: because they are obscure and others don't know them either
dbdr: yes, an optim really has to be NP complete to be interesting
dbdr: not only
Gorbit99: I barely speak ruby, but I get good scores
dbdr: all languages have been tried hard by some people
dbdr: it's also that it's harder to even think of really hacky ways to use a language you use for normal coding
dbdr: your brain shuts the idea down before it's even conscious
eulerscheZahl: and then there are so many dirty things you can do about the validators
eulerscheZahl: thor goes north now. but you don't have to update the y coordinate
jrke: there are 50 test cases including validators right?
dbdr: the dirty tricks is what makes golfing fun
eulerscheZahl: for Same Game? 10 tests, 40 validators
eulerscheZahl: that is 20 validators, each of them existing twice
Illedan: Anyway, of to work. ttyl
dbdr: have fun :)
eulerscheZahl: my holiday will end soon :(
jrke: can you tell me where is timeout manager is there in same game in refree
Illedan: I still got 5 more weeks of holiday to enjoy during the rest of the year :tada:
Gorbit99: I don't understand certain code golfs
Gorbit99: like thor is currently at 45 chars
Gorbit99: I take up 2/3s that with input
eulerscheZahl: i got a parsing error on your question jrke
dbdr: Illedan how many weeks of holiday a year?
Illedan: Just 5, but got to bring 2 from last year
jrke: np i found what i was looking for
dbdr: ah, nic
Illedan: Will do 1 week on the contest I think
dbdr: inb4 Illedan #1 in contest
eulerscheZahl: inb4 contest delayed till 2021
dbdr: TIL there will be a 2021
jrke: inb contest?
AntiSquid: inb4 = in before
AntiSquid: with all the protests out there i am surprised the number of cases didn't skyrocket
eulerscheZahl: sounds more reasonable than setting the 0 of our calendar to a birthday of someone 2000 years ago
dbdr: did you miss the part where it's the 7th of the 5th March?
AntiSquid: you want multiple official calendars? that's how you get them euler
dbdr: we already have multiple calendars
AntiSquid: i know, but not every country needs to acknowledge their existence
eulerscheZahl: yes I did miss that
dbdr: yes, there is a dominant one. would be pretty costly to change, for no clear benefit
AntiSquid: you just need few "my equalitah" protesters and soon you will have to mention date for 5 different calendars to "not discriminate"
dbdr: there is the CE/BCE, which is smart
dbdr: not changing the dates
dbdr: "common era"
Andriamanitra: i should've stopped trying as soon as i got my stupid rng algorithm working
Andriamanitra: anything i do just makes it worse
dbdr: now do the opposite of what you do
eulerscheZahl: ah, I only knew the German abbreviation for it n.u.Z = nach unserer Zeitrechnung
eulerscheZahl: vs v for "vor"
dbdr: "after our era"?
AntiSquid: after our calculations
dbdr: does it start when humanity wipes itself
dbdr: it's 2020 after our calculations. sounds like you expect some calculation error :D
AntiSquid: here the meaning is more like "based on" rather than "after an event occured"
dbdr: looks like the translation of Zeitrechnung is just Calendar
dbdr: rechnung is invoice :D
dbdr: time is money
AntiSquid: oh calculation is Berechnung ... i am getting rusty
dbdr: the topic of our chat today is "German by dummies"
AntiSquid: all the million sufixes and prefixes ....
dbdr: AntiSquid: rusty is good ;)
dbdr: (I included myself in the dummies, just to be clear)
eulerscheZahl: nach can also mean "according", not only "after"
Gorbit99: oh god no, german
dbdr: in french "of after" means according :D
dbdr: but what is it that it is that this?
eulerscheZahl: in German the "After" is a part of your body that i'll not further specify
eulerscheZahl: there are jokes about a no-longer-planet going in that direction
dbdr: that one is not a no-longer-planet either?
dbdr: that's behind my knowledge
AntiSquid: Jupiter no longer a plant, promoted to mini brown dwarf
Automaton2000: see you in the leaderboard
dbdr: dwarfie promoted to legend
eulerscheZahl: cleared \o/ https://www.codingame.com/share-replay/481588031
eulerscheZahl: sadly this was done offline
eulerscheZahl: 54,13s user 1,19s system 109% cpu 50,558 total
Westicles: Samegame again, ugh
Westicles: There was a contest a few years ago... looks like I am down to 4th on the JS-Games site
dbdr: what's your name there?
eulerscheZahl: you are about 650 point above me on the testcase I just shared
eulerscheZahl: time to take a screenshot before you ruin it :rofl:
Westicles: Are the validators different than the standard test cases?
eulerscheZahl: there are the 20 ones you know
eulerscheZahl: then the same 20 again with colors shuffled
Westicles: So you can do them offline and hardcode?
eulerscheZahl: yes :(
eulerscheZahl: my current score is without hardcoding. but because of double validators it's about 37k
eulerscheZahl: which is really low looking at the jsgames scores
eulerscheZahl: Westicles how did you submit your scores on the jsgames website? clicking by hand or anything smarter?
eulerscheZahl: oh, they have sokoban too. I made a solver for that game a while ago. let it run for an afternoon, still rank 85 on https://www.sokobanonline.com/community/profile/eulerschezahl
Westicles: Yeah, it was by hand. But that was back in 2012, maybe it has some kind of submission option now
Angecide: hi where can i read about how much time there is between each turns in bot programming? I think the time is different between first and second rounds and so on, but I am not entirely sure how much
AntiSquid: bottom of the statement Angecide
Illedan: Oh, new Optim :o
eulerscheZahl: not for you
Illedan: Not fun?
eulerscheZahl: you are dangerous for my ranking
Illedan: You already have a long headstart
Illedan: But I have the night off. :smiling_imp:
dbdr: eulerscheZahl: did you get your screenshot?
eulerscheZahl: i'm just floating around
eulerscheZahl: no, didn't take one
Illedan: dbdr beat him already? :P
eulerscheZahl: are you about to beat me now?
dbdr: hurry up ;)
Illedan: Offline search?
dbdr: of course
Illedan: Such cheat, much ok
dbdr: embrace it
Illedan: Validators in the repo I guess?
dbdr: i guess it's easier not to do it to have an excuse not to win ;)
eulerscheZahl: and visible in the contribution itself
dbdr: in the contrib
eulerscheZahl: for download in the zip. i don't think there is a repo for it
dbdr: I did not find any repo
Illedan: Found it
Illedan: Let the games begin
Illedan: should get back to work though
dbdr: https://i.snipboard.io/8hdSy1.jpg for eulerscheZahl
eulerscheZahl: so you are about to submit
eulerscheZahl: what score can you achieve online?
dbdr: in bash
eulerscheZahl: i could easily increase my score too when running offline. just seems boring and not who the game is meant to me played
dbdr: who decides how it's meant to be played?
eulerscheZahl: acat who doubled the validators :D
dbdr: i'm sure you could increase it
dbdr: there is a :god: icon? :D
dbdr: ah no
eulerscheZahl: you shall not make a picture of god
jrke: dbdr is your bot in same game hardcoded?
dbdr: offline search
eulerscheZahl: even for the 61k?
dbdr: well, that was one run at 20s, with no tuning
eulerscheZahl: ah, your submit just updated
eulerscheZahl: so far the score isn't any shocking
dbdr: I'm sure we'll see 100K before too long
jrke: suppose you stored solution but how you check which is for current test case
dbdr: match statement
Illedan: I like this puzzle, will give it a serious try after work :)
Illedan: Offline ofc
dbdr: game is on :)
Illedan: You bet
jrke: is this not cheating ?
dbdr: not if everyone can do it easily
Illedan: Wanna bet about it dbdr?
eulerscheZahl: everyone can do it. still feels lame to me
dbdr: bet what?
eulerscheZahl: so i'll join the offline club soon
eulerscheZahl: 100k score bot
Illedan: On who is first on SameGame by the end of Sunday
MSmits: I'm coding too, but it's gonna take a while
Illedan: Loser has to add a bio for a week of the winner
MSmits: jacek said meta mcts so...
dbdr: well, we can make a minicontest
MSmits: don't really need a timelimit tbh
Illedan: I love timelimits
jrke: lest make mini constest 5 days from now same game ;)
dbdr: deadline makes it more intense
Illedan: And I can timebox it
MSmits: time box?
dbdr: like a lunchbox, but for time
MSmits: o that explains everything
jrke: i will start it from tommorow
MSmits: why put it off, do it now jrke
MSmits: go go
dbdr: start yesterday
jrke: busy in school hw :(
dbdr: gotta sort out your priorities
MSmits: my school starts next week so I am ok
jrke: but from tomorrow i will have 4 days will work on it
dbdr: so sunday 8 pm end of contest?
dbdr: when is euler's bedtime?
eulerscheZahl: 8pm is fine
Illedan: 8 pm GMT+0
eulerscheZahl: i'll be around for the end
Illedan: It's on
jrke: i have doubt in input of same game
jrke: 8pm time for which country?
dbdr: GMT is dead
eulerscheZahl: GMT? greenwich mean time?
jrke: yeah Greenwich meantime
dbdr: you see, eulerscheZahl is too young to even know it
jrke: india is GMT+5:30 means i will be sleeping at that time :stuck_out_tongue:
eulerscheZahl: i never know the timezone CG is using to announce a contest
eulerscheZahl: EST or whatever that is
dbdr: sleeping is not recommended during contests
dbdr: isn't CG usually using CET?
jrke: suppose i=0 and j=0 in input so it will be top left or bottom left
jrke: in same game
dbdr: check the tooltips
dbdr: or the statement if you are brave ;)
Illedan: 39k on my stupid greedy :)
dbdr: apparently you're working hard :D
Frosty8529: How do I get CodinPoints?
eulerscheZahl: employee of the month
dbdr: that's how you get codingpoints? :D
dbdr: i've been doing it all wrong
Frosty8529: I'm just a first year in college so I'm not doing any jobs ;-;
Illedan: Just play games and puzzles
Frosty8529: rip codinpoints
Illedan: And the points will come naturally
Illedan: On CodinGame
Illedan: Multiplayer is the easiest.
Illedan: And most fun
Frosty8529: you mean the compete mode?
Illedan: Why did aCat just double the testcases -.-
Frosty8529: I want to get better before entering one
Illedan: Only need to solve half of them
Illedan: You get better by entering one
Frosty8529: oh ok
eulerscheZahl: i was arguing against exactly that decision Illedan, stopped me from approving
eulerscheZahl: his arguements: 40 validators is better than 20 (which is proven wrong with hardcoding in identical ones)
eulerscheZahl: and common testsets are better than new, random ones as we can compare them with literature
AntiSquid: how come trolls vs castles isn't approved?
eulerscheZahl: does it deserve to be approved?
eulerscheZahl: also isn't it still WIP?
AntiSquid: personally i don't like it but considering the other stuff that got approved ...
eulerscheZahl: i don't see the point of the game, feels way too random for me
AntiSquid: 110 score
eulerscheZahl: where? what?
dbdr: eulerscheZahl: it can be studied, it's not random
eulerscheZahl: i know about markov chain and nash equilibrium
dbdr: though I did not follow how it evolved, just speaking about the base concept
Illedan: Westicles hardcoding? 15% and 22k :O
eulerscheZahl: westicles = sampson
dbdr: right, so he has a huge headstart :D
eulerscheZahl: you have to double the scores to get CG scores
eulerscheZahl: as the cat doubled the validators
Illedan: He just copied those maps?
Illedan: but why
jacek: same validators
jacek: as same game
eulerscheZahl: he changed the coloring
eulerscheZahl: but still the same, as the same click order gives the same score
dbdr: so 173K incoming?
eulerscheZahl: get rekt
Marchete: validators are public and fixed?
dbdr: banned from the contes
eulerscheZahl: yes and yes
Westicles: oh, hey good news I don't think I have those old solutions any more
AntiSquid: get an avatar ^
Illedan: Let's try to beat him anyway :eyes:
dbdr: random validators are bad anyways
Illedan: They could instead just make validators a seed :P
dbdr: unless it's a trick ;)
Illedan: And hide the contri
dbdr: you can always extract them
dbdr: just makes it harder, so potentially less people have them
dbdr: => more unfair
dbdr: bit by bit
AntiSquid: he will undergo hypno therapy to remember how he solved it last time
Illedan: yeah, go full Neumann on it :P
dbdr: ping => one more contestant now :)
eulerscheZahl: do you still have the solver code Westicles?
Illedan: I'll add a discord channel for the minicontest :D
AntiSquid: what contest?
eulerscheZahl: sounds overkill
dbdr: why not just flood #world ?
AntiSquid: yes ^
dbdr: forum post might be good though
eulerscheZahl: just don't rearrange the order of channels Illedan
dbdr: y not?
Illedan: Wonder who did that
Illedan: dbdr, make the forum post
eulerscheZahl: he confessed already
Illedan: I'll make the Discord stuff
Illedan: Who was it?
eulerscheZahl: the forum post already exists
dbdr: that's good, I felt lazy
dbdr: (in french)
Marchete: dbdr what's your approach for SameGame, something like NumberShifting or just MCTS?
dbdr: jacek :unamused:
jacek: he uses jacek for samegame
Marchete: JACEK, another new acronym I need to learn...
eulerscheZahl: got your screenshot dbdr?
dbdr: it's your job
dbdr: respect the new tradition
Marchete: I can't see how MCTS can be good
eulerscheZahl: good thing it's only 1 keystroke away
dbdr: arf, optimized for 100K milesone
Marchete: any little change can make huge changes on the outcome
eulerscheZahl: for me it's beam search
eulerscheZahl: but still far away from top players on that other website
Marchete: I think i'd go with some SA variant
Marchete: and restart each N secs
Marchete: but I need bacon
Marchete: to cook it while I fry again the CPU with stupid long calculations
jacek: yeah, cancer research and stuff
Marchete: "stupid long calculations"
Marchete: i.e. numbershifting v2.0
eulerscheZahl: sounds all like number shif...
eulerscheZahl: yes that
Illedan: My new kitchen will have owens powered by CPU usage.. Cheaper this way
darkhorse64: Cooking may be too ambitious. Target central heating
Illedan: In comming news: Global Warming, now powered by SameGame!
eulerscheZahl: the heating also has less peaks
jacek: I permit
jacek: validation tests and test cases are different to avoid hardcoding solution
jacek: maybe your code isnt correct
PurCHES5: Lusher it means there are something wrong in your code but the test cases cannot detect. You may try to check your code again and do more testings
jrke: euler are you targeting 1,000,000 points for same game
PurCHES5: maybe just leave it and later you may find other solutions
PurCHES5: bonne chance
jrke: i found bug in the game
jrke: The game has crashed. Please contact the author and enclose the following error: http://chat.codingame.com/pastebin/77725630-3b85-4aca-9e35-4084727a6528
eulerscheZahl: i'm pretty sure 1 million is impossible
jrke: if you didn't give spaces between x y co-ordinates
eulerscheZahl: probably even 200k is out of range
eulerscheZahl: tell aCat
jrke: lemme comment in contribution
jrke: sorry gorbit just 5 min gave me 10000+ points ;)
jrke: eulerscheZahl watch points rank 19 in same game 92,910 but 55%
Gorbit99: yeah, haven't touched the puzzle since
MSmits: yay 100%
MSmits: I won samegame :P
kovi: duh, another optim
MSmits: now to do better than random bot :P
BenjaminUrquhart: and it's an optim I'm actually interested in
MSmits: sims like these make my head hurt
dbdr: how it is different from others?
MSmits: i dunno, the shifting of rows and columns, i keep making bugs :P
dbdr: did you optimize it to death? :)
MSmits: maybe it;s worse because of the semi-bitboard I have got going on
MSmits: semi-optimized yes
kovi: well, for the interest is the algo if it is pure sa than not my fav
MSmits: I'm gonna go with mcts
MSmits: dunno why it would be SA
Westicles: What's the longest too fast timeout?
kovi: i read above sa and beam
kovi: dont even know the rules yet
MSmits: they only just started, it's new. People try stuff
dbdr: rules are for the weak
MSmits: beamsearch makes sense
kovi: yeah, i like the norule optim
dbdr: submit your score
MSmits: the timing is weird
MSmits: 20 s first turn, then 1/400 of that in the next turns
MSmits: basically you have to retain your search tree from turn 1 or you lose a lot
DomiKo: the first idea was only 20s
DomiKo: and then 0s
DomiKo: you have to do everything in one turn
MSmits: yeah thats kinda annoying because it requires perfect sim
dbdr: you plan to have bugs? ;)
Illedan: (╯°□°）╯︵ ┻━┻
Illedan: 11898 on offline runner. 10889 and 87 % online -.-
MSmits: nah dbdr I was more talking about beginners. You dont want to force them to have a perfect sim right at the start i think
DomiKo: 50ms is not enough?
MSmits: it's fine, it doesnt matter as long as there's enough time to read input
MSmits: and output something
MSmits: it's just weird compared to the 20s at the start
MSmits: but I get the reasons
MSmits: gj :)
Illedan: 100 % equal offline vs online
Illedan: let the games begin
aCat: MSmits i was forced to add turns ;/
aCat: to make it noob friendly
Illedan: I find it ok :)
MSmits: i know acat, its fine
MSmits: its just weird
aCat: it should be one-turn puzzle
aCat: forgive this cat ^^'
MSmits: cat is forgiven
Illedan: Online IDE doesn't like my 1 long string of hardcoded moves :D
MSmits: it doesnt no
MSmits: ohh you get 0 points for a 2 tile
MSmits: no wonder i would crash, it's not larger than 0
Illedan: 50k rollouts in 10 sec :snail: :(
MSmits: ah well
MSmits: let it run for longer
Illedan: Debug mode. Not optimal impl
Illedan: Full MC now
MSmits: i am almost done with full MC
MSmits: I am not saving tree yet though
MSmits: so it's just 50 ms most turns
MSmits: almost 50k :) :)
MSmits: me happy
MSmits: i should check my rollout count
Illedan: 42k points. Stuff is working. Now optimization and better search
MSmits: 85k full rollouts in 20 seconds
MSmits: so it's slower than yours
MSmits: i guess the testset matters
MSmits: this was on 20
DomiKo: yes it matters
MSmits: gonna try and get a mcts working today
MSmits: will do everything online first
DomiKo: but with full MC i can get 140K in 20s on testcase 20
DomiKo: and my score is lower...
MSmits: hmm ok
MSmits: how do you define a rollout?
DomiKo: whole simulation of one game
MSmits: ah ok same here
MSmits: so that means floodfilling everything?
MSmits: or do you select a random tile/.
MSmits: and then flood fill
MSmits: I floodfill everything, make a list of tiles for each floodfill,, then select one of those randomly
MSmits: if you're just selecting random tiles, it might be a lot faster
DomiKo: i select random legal tile
MSmits: thats why your score is lower
MSmits: and why you are faster
DomiKo: you are right
MSmits: you're faster because you dont need to flood fill everything
MSmits: and your score is lower because you have a larger chance of picking large floods
DomiKo: and that larger chance isn't cool
DomiKo: i will fix that
MSmits: because you need to collect large floods without picking them
MSmits: I'm hyped for this multi
MSmits: err optim
MSmits: it's fun
MSmits: getting numbershifting vibes
eulerscheZahl: so, Westicles finally submitted a 100% solution
eulerscheZahl: looks tough to get there
MSmits: 100% as in the board is empty?
eulerscheZahl: 100% correctness
Illedan: He is 1st on the leadboard
Illedan: and 100% testcase solved
eulerscheZahl: but i suppose all boards cleared too
Westicles: heh heh.
MSmits: how do you know it's 100% correctness
Illedan: Is it possible to clear all boards?
Westicles: Yeah, you can clear them all
aCat: you always have 100% if youre not crashing
aCat: you can clean probably
MSmits: right aCat thats what i was thinking
aCat: but thtat is noe an endgame ;]
aCat: cause it may be even more benficial to not clear it
MSmits: makes sense
aCat: not sure on that but yeah,
Illedan: might be
aCat: score grows fast when you're able to gather same colors
eulerscheZahl: + is cleared, - is not
MSmits: oh, nice
MSmits: i was confused by your math
aCat: This will be probably firs/second task for the course ^^'
MSmits: but then i realized the weird *2 modifier
aCat: now I'm glad you are all having fun
aCat: but need to go code other puzzles :D
eulerscheZahl: except for you. will you join?
MSmits: just submit a simple bot
eulerscheZahl: he did
MSmits: oh ok
aCat: xp/cp wise I should other things
MSmits: who cares about that
aCat: teaching-wise other
Illedan: Only solving 20 euler and finding equal puzzles?
aCat: and work-wise even outside cg
MSmits: oh, you dont want your students to be ahead of you?
eulerscheZahl: yes Illedan
eulerscheZahl: everything else would be waste of CPU time
Illedan: I should do that too. Halves the runtime
aCat: If I have lectures prepared on things I have to do I will do some coding here for sure
MSmits: Illedan, make your own colors
MSmits: first color that appears = 0
MSmits: second = 1
Illedan: Yeah, I know
Illedan: Just had a very naive input reading
eulerscheZahl: that gives the same score for swapped colors
eulerscheZahl: in theory it might consider some boards the same that are not. but not a problem for the given testcases
MSmits: I'm probably just gonna put some giant strings in there :P
Illedan: I have that now
eulerscheZahl: i have too
eulerscheZahl: and a solver that i outcomment with #id DEBUG
eulerscheZahl: if, not id
eulerscheZahl: otherwise i would easily risk losing the solver. my disk is a mess
MSmits: hmm i dont get it
MSmits: why would you lose it?
eulerscheZahl: i mean it's easier for me to find the code on the CG website than in my local folder structure
Gorbit99: unorganized stuff?
MSmits: ahh ok
Illedan: I'm currently pushing my SameGame code in my OOC repo :D
eulerscheZahl: that makes absolutely no sense
Gorbit99: on linux I just do sudo find / -name thing
**eulerscheZahl is on linux
Illedan: Where I have my bot code for ooc
Illedan: Just the last repo I made for CG
Gorbit99: eulerscheZahl can also use that and save a heck ton of time
Illedan: feels better to put it on GiT
Neumann: Illedan, eulerscheZahl : late reaction, but at least my way of reversing the validators is fun and rewarding
Neumann: You trolls
eulerscheZahl: i do pro-level validator reversal
Illedan: I would say your way is more impressive :P
eulerscheZahl: and somehow i'm missing some avatars
eulerscheZahl: like Neumann and smits
Illedan: Anyway, you joining for a small contest on SameGame Neumann?
Neumann: What's that
Neumann: Hum, let me check my empty agenda
Illedan: Deadline on Sunday 8 PM UTC
Neumann: Where does it say so
Illedan: We set a theoretical deadline :P
Illedan: And I wrote on on General on Discord
Neumann: I'll never have enough CPU-time to win this
Neumann: I need 2 months
eulerscheZahl: more precisely: Illedan decided i'm just playing the game for fun
eulerscheZahl: i think i need a different scoring
MSmits: the best score = "more points is better"
eulerscheZahl: thanks, i'll try that
MSmits: it will help, I promise
Lachrymosa: Good Morning
eulerscheZahl: good evening Lachrymosa. you aren't in Germany anmore?
Lachrymosa: No, I've moved back to the US for the foreseeable future
MSmits: https://www.codingame.com/share-replay/481682054 is this perfect play?
eulerscheZahl: i just received an email from. who wants to try and spot patterns?
Illedan: Damn, had to resubmit 10 multies -.- First time I checked through all since C# update :P
Illedan: 71k :tada:
MSmits: do I need to do this too on some multis? I am guessing it's just C# fancy features
eulerscheZahl: the marchete pragma?
MSmits: oh that weird restart thing"?
MSmits: dunno if I have it submitted anywhere
MSmits: maybe locam
eulerscheZahl: i had a few bots drawing bitmaps
dbdr: gogogo #4 Illedan ;)
Illedan: (╯°□°）╯︵ ┻━┻
Illedan: 20 min run and I had a bug in my new save method. Making me loose that new score -.-
eulerscheZahl: how high was it?
Illedan: Just 74k :P
dbdr: always test with a short run first
Illedan: But 3rd!
AntiSquid: chat lagging for anyone else?
dbdr: I also print the moves on stdout just in case
kovi: 20min/local? is it so easy to obtain testcases? :(
eulerscheZahl: very helpful
Illedan: It's CG, not fort knox
eulerscheZahl: zip download + IDE access
eulerscheZahl: top3 is hardcoded now. i was at 74k within the 20s limit
eulerscheZahl: but improved my solver since
kovi: oh well. thought i will have fun for the weekend after 3 month of no coding
Illedan: I find offline solving fun too
MSmits: why not have fun?
MSmits: doing it online for now though
eulerscheZahl: i'm with kovi: more fun without the hardcoding
eulerscheZahl: but no way to be competitive if you don't hardcode and others do :(
MSmits: depends on the algorithms too though
eulerscheZahl: would need something absolutely brilliant
MSmits: allright, will submit soon :P
dbdr: inb4 MSmits #2
MSmits: no idea Illedan. i am solving online
MSmits: I will know when i submit, it's a mcts
eulerscheZahl: of course it is
dbdr: that's the fun part: your score is a surprise :D
MSmits: tuning the exploration parameter a bit first, it's a bit weird. Never done a 1p mcts before
MSmits: also i am using highest score as value, might need an average score instead
dbdr: though it's also a nice surprise when you break a record offline
dbdr: it's all fun, happy happy
eulerscheZahl: sounds like dbdr is up to something
dbdr: why cannot you believe I enjoy the game without a hidden reason? ;)
MSmits: hmm i can see another reason to solve offline
Illedan: CG submit limit?
dbdr: I mean W is high enough and had such a headstart that I don't feel much pressure :)
MSmits: you can pick your best result. If I submit it might have some validators lower than usual and others higher
Illedan: Sooo, I should save scores for each testcase on it's own
dbdr: NEW RECORD: 2085 => 2089 you see, such a nice surprise :D
Illedan: and pick the best
MSmits: of course
eulerscheZahl: my total is 126408
eulerscheZahl: not making much progress anymore
eulerscheZahl: won't even submit
MSmits: failed 4 tests and have 49576 points
MSmits: no idea why i fail them
MSmits: 6 tests even
MSmits: mmh maybe i run out of nodepool
Illedan: No replay on optims
dbdr: gz Illedan on #4
dbdr: you can retire now ;)
Illedan: I'll grab a shower and get back to my awesome results after this next run. brb
dbdr: need to get that 100K badge?
Illedan: 101,239 and I'm happy
kovi: dbdr already has 103.427
dbdr: why that number? :D
Illedan: *103.428 then
eulerscheZahl: why is your number odd Illedan?
Illedan: can't it be?
eulerscheZahl: makes no sense with duplicated validators
dbdr: it's me + 1
Illedan: stop thinking this much
eulerscheZahl: ok, good night
MSmits: gn euler
dbdr: dream in 5 colors
MSmits: weird, i succeed on all testcases in IDE, but fail on 4 validators
MSmits: I fail on 8. 11 and on 18 I fail on both versions
MSmits: maybe it happens when I empty the board
aCat: sensing some empty action maybe?
aCat: no idea, should work the same
MSmits: maybe i print too much error
MSmits: i usually print a line for each possible move
MSmits: nope didnt help. I also fail on different test cases each time
darkhorse64: 56k with a MonteCarlo
MSmits: got 49 with monte carlo myself, but tried only once
darkhorse64: C++; STC code reuse; not using the 50 ms
AntiSquid: why not?
Astrobytes: Presumably because 20s was enough?
darkhorse64: My previous score was using aCat Java bot; C++gives a nice boost. I am not using the 50 ms for now as a first try
darkhorse64: 50ms should not make a big difference
darkhorse64: The boost comes also from a improved BFS and stacking algo
dbdr: what's acat java bot?
darkhorse64: From the contribution
Astrobytes: guessing just from the contrib
dbdr: I though only puzzles needed solutions
Astrobytes: Not a solution, he just means the game code
aCat: it's basic flatmc
darkhorse64: There were several bots included
aCat: unoptimized java
aCat: I advise you to use PlayerError :D
Astrobytes: There were? I downloaded but didn't even look lol
Astrobytes: aCat isn't all java unoptimised? :P
aCat: true that ;]
dbdr: that's cheap ;)
darkhorse64: It's a nice starting point anyway. Before smart algos, you need an engine
aCat: you want a c++ implementation :>?
dbdr: aCat Consulting Group
Astrobytes: Yes. Please include one with all your future contributions :stuck_out_tongue_winking_eye:
darkhorse64: I have one now
MSmits: it sounds great, but I can never read other people's c++
Astrobytes: I'll start properly tomorrow, busy day today, got some time off tomorrow
aCat: BTW you use normal sims?
dbdr: can you read your own C++?
aCat: or with the Tristan's proposed heuristic?
MSmits: I can usually read it :P
aCat: It's not my c++ ;p
darkhorse64: "normal sims" ? Fully random playouts ?
MSmits: what is this heuristic?
darkhorse64: Yes. Tabu is next
aCat: maybe I read a little too much papers on this
aCat: heh ;]
MSmits: and who is Tabu?
aCat: someone make their classes ;]
dbdr: Tabu is taboo
Astrobytes: MSmits do some reading darn it
MSmits: reading :(
Astrobytes: You like writing, reading is mandatory
MSmits: mmh ok
Astrobytes: Seriously tho, you never came across tabu search so far?
darkhorse64: Same for me before the optim appeared
MSmits: ahh finally 100% I think I had a backpropagation bug. Only 52k points though
MSmits: I think i need to use average score
MSmits: and store the best results as opposed to just using the tree result
MSmits: if I get a good random rollout result I should store it
Memo12334: guys im sorry for disturbing but this ep2 challenge killed me. I tried to do it without hardcoding everything aka doing it with rotations but im lost. May I ask if anyone can take a look at my code and help. I ask with shame
aCat: no shame in programming :D
aCat: it's normal its not working
Astrobytes: You've been promoted to Sir MSmits!
Astrobytes: His initial I do believe ;)
Astrobytes: So you can use iterator
MSmits: my students call me meneer Smits
MSmits: wait I forgot, Memo12334 are you one of my students? I just see Netherlands
darkhorse64: For this puzzle, I used a more complex data structure where each cell store its 4 neighbours (or less to account for borders). This makes moving and pathfinding a lot simpler
Astrobytes: Sounds like one of yours MSmits :P
MSmits: most students I teach arent good enough to even try these puzzles Memo12334
MSmits: pikaptcha 2 is pretty hard for a beginner
MSmits: Memo12334 it might be worth to take one step back and find a BFS tutorial for beginners.
Astrobytes: (also joking, I knew he was older)
MSmits: did you ever use BFS?
Astrobytes: You're gonna find pathfinding algorithms *really* useful on CG
MSmits: BFS is basically the easiest pathfinding algorithm. Now, you dont really use BFS here, because moves are decided by the wall, but practicing BFS in a maze gets you used to move generation and such
MSmits: basically what I did was give each direction a number 0, 1, 2, 3
MSmits: if the change in direction is right, then I will increment, otherwise i will decrement
MSmits: when it becomes 4, it becomes 0
MSmits: and -1 becomes 3
MSmits: so you hit the wall, increment to right, still a wall? increment again, still a wall? increment again,
Astrobytes: Ah OK, you're C++ skid
Astrobytes: On discord
Astrobytes: Robo suggested rotating the direction vector
MSmits: Memo12334 well not really, it's just a number that means a direction
MSmits: so 0 could be up, 1 could be right, 2 could be down, 3 could be left
Astrobytes: From discord: http://chat.codingame.com/pastebin/548e8bb8-37cc-4484-b0c0-1f59658a9da1
MSmits: so first you check if you can move, if not, do the direction change however many times until you can move
MSmits: then move in that direction
MSmits: and do it again
MSmits: all the way until you hit start tile
MSmits: no dont do that
MSmits: dont do the rotation matrix crap
MSmits: who needs that
MSmits: just have a single number for a direction
MSmits: and 4 possible directions
MSmits: then some if elses
MSmits: if(direction == 0), y = y - 1
MSmits: else if (direction == 1) x = x+ 1
kovi: oh, illedan...
MSmits: just 4
Astrobytes: Isn't that what you had already Memo12334?
MSmits: its less than 5 min of coding for a puzzle you've been stuck on for days
MSmits: first make it work
MSmits: then make it pretty
Astrobytes: This 100%
MSmits: or never make it pretty, who cares :P
MSmits: Memo12334 I've done a bot contest where I had over 300 times the word "if" in my bot
Illedan: Rookies numbers
Astrobytes: Like the Enigma puzzle, just get it working and work on different methods later
darkhorse64: You should really study BFS algo and companion data structures, they are ubiquitous at CG.
Illedan: Ah, kovi joined too :D
MSmits: Memo12334 nope, it just depends on the arena.
MSmits: this one i had 300 ifs in
MSmits: 3k lines of code :P
dbdr: what about NS kovi?
kovi: i knew that is coming
dbdr: never say never ;)
Illedan: NS is designed to be offline tj
MSmits: well it took 10 days of heavy coding, so it's not like i did that in an afternoon
Illedan: Wow, I'm wood2 on calm :D
Astrobytes: Wood 2? How did that happen?
MSmits: start cookin'
Illedan: I was a tester and got sick of the game :P
Astrobytes: Ah OK. Too much food.
MSmits: he just makes a crappy blueberry pie
Astrobytes: Eugh. Still have nightmares about that game lol
MSmits: I had fun except when people didn't take my plate :rage:
LEO_000_001: which game?
Illedan: Code a la mode
LEO_000_001: hahaha a French name
Astrobytes: Hopefully csj learned his lesson after BitRunner and will make a more search-friendly game next time :P
darkhorse64: csj = Code Royale, no ?
Astrobytes: Aye, and Code a la Mode
MSmits: didnt those games get made by teams of 3 players?
Astrobytes: Yeah but they were csj's games
MSmits: ah ok
Astrobytes: Where is he anyway, didn't see him around for ages. Think the last time was when he streamed some CoC or something ages ago
Astrobytes: The harder they come, the harder they fall
darkhorse64: Code a La Mode was a good game by itself and also because it is quite different from other multis (coop, no search)
MSmits: Memo12334, you have to define directions 0,1,2,3
MSmits: R could be increasing the number
MSmits: L could be decreasing
Astrobytes: Yeah definitely was darkhorse64, hard to enforce the cooperation part though so it kinda got lost
MSmits: i did the numbers wrong lol
R for the wall on his right L for the wall on his left
darkhorse64: I mean, sim is not needed for Legend. Yes, coop was difficult to implement
MSmits: yes Memo12334, if at the start you get "R", then you always increase the number when you hit the wall
darkhorse64: You had to make your code quite resilient to bad manners
MSmits: if at the start you get L, then you always decrease the number
MSmits: of course making sure that when you go over 3 it becomes 0 and such
MSmits: np good luck
MSmits: use a lot of error messages to get feedback about what your algo is doing
AntiSquid: fell to coc? what?
AntiSquid: oh chat scroll
MSmits: yay finally 100% again. I had a really rare bug in my sim
MSmits: it would sometimes skip a hole in the bottom when moving tiles left
MSmits: it would pass 37 validators and then fail on 3
MSmits: but every time different validators
kovi: close to 70k now, nice msmits
MSmits: yeah, all online still
MSmits: gonna try some submits with different exploration params
MSmits: yep 2.0 gave me 72k :)
MSmits: i need a little more to beat trictrac :)
MSmits: oops, now I'm a robot
DomiKo: 71K with only MC :)
MSmits: did you do the tabu thing DomiKo?
DomiKo: tabu thing?
MSmits: it's a heuristic to avoid one color in the random rollout
MSmits: to get more large groups
DomiKo: then yes :grimacing:
MSmits: ahh that explains that then
MSmits: it's a strong heuristic
MSmits: will try it soon
DomiKo: i changed one parametr
DomiKo: and boom
DomiKo: yea 93K
MSmits: wait, why do you have a parameter if it is plain MC
DomiKo: parametr for heuristic
DomiKo: i have to say that opti will be so awesome
MSmits: it is
DomiKo: so unlucky that small Contest is to Sunday
DomiKo: and I won't have time to make something better :(
MSmits: ahh its not a real contest and you can be doing it for years if you want :)
DomiKo: I will be doing it more next semester :joy:
MSmits: aww damnit!\
MSmits: and 97%
DomiKo: so close
DomiKo: 97% is one fail?
MSmits: not sure why
MSmits: i thought i fixed it
DomiKo: one is weird
MSmits: might be random server lag or something
MSmits: i had 3-4 before
MSmits: but my sim was bugged
MSmits: still 97% again
DomiKo: you will fix it soon
MSmits: at least my bot is better :P
DomiKo: 96K now
DomiKo: my goal is just 100K
DomiKo: and I can go sleep
MSmits: i keep losing on different testsets also
MSmits: increasing my time buffer didn't help either
MSmits: this is crazy, i tried submit 5 times and it fails on a different test each time, each time only 1
MSmits: yay 100% finally
DomiKo: found bug?
DomiKo: or just lucky submit
MSmits: no, got lucky :P
DomiKo: still 100% is 100%
DomiKo: good job
MSmits: yeah. and still online!
DomiKo: i need 3.3K points
MSmits: do 5k, beat dbdr
DomiKo: and I will be proud of my online MC
MSmits: oh i think he had more offline already nvm
MSmits: yeah thats great DomiKo
MSmits: I am actually doing mcts
MSmits: so not comparable
DomiKo: heurstic is so strong
DomiKo: so i guess that super nice for begginers
MSmits: i went from 72k to 112k with it
MSmits: all i did was 100% rollout picking other colors than the most common one
MSmits: if they are available that is
MSmits: I think you're not supposed to do it 100% though
MSmits: allright, more tomorrow, gn!
CyanRook: allis, can you share your code when you finish?
Andriamanitra: who says you need ruby or bash for code golf, just won a shortest code round using C :grinning:
Allis: That is highly unusual.