Chat:World/2020-08-14
jrke: eulerscheZahl how you run local simulation?
eulerscheZahl: with a local computer
Marchete: genius
eulerscheZahl: :brain:
eulerscheZahl: oh :(
Marchete: :older_man:
Marchete: 🧠
dbdr: :frog:
dbdr: 🧠
- frog:
AbundantPuddle: :eggplant:
AbundantPuddle: ⚙️
dbdr: how to create a hole in the IDE layout :D https://i.snipboard.io/CJHMLy.jpg
jrke: :santa_tone5:
jrke: ya it happens with me dbdr sometimes
eulerscheZahl: what did you do? collapse the chat?
dbdr: https://i.snipboard.io/DCpAMd.jpg
dbdr: so no
dbdr: right click on the right zone of the editor, then right arrow on the kbd
dbdr: seems too much right is bad :D
dbdr: :no_mouth:
eulerscheZahl: ah. disappears again when you clos eit
eulerscheZahl: close it
dbdr: yes. the wonders of the DOM
kovi: what was your score yesterday dbdr?
dbdr: kovi: https://github.com/dbdr/codingame-leaderboards/blob/master/optim/samegame.tsv
dbdr: why?
kovi: yay, im above
dbdr: you're competing with past dbdr? :D
eulerscheZahl: he started later than you
dbdr: oh sure
kovi: you still online?
eulerscheZahl: who?
kovi: or local hardcode. dbdr?
dbdr: "you"
dbdr: offline
dbdr: but not optimized yet
eulerscheZahl: i'm online again for an hour maybe. didn't put an all-nighter
dbdr: :D
eulerscheZahl: i'm hardtoading :(
dbdr: how to run a local simulation of euler?
jrke: kovi do you know about mini samegame contest ?
kovi: what do you mean?
jrke: you have to eat a toad dbdr for running euler sim
dbdr: "you"
eulerscheZahl: you need a lot of obscure dependencies for it, not recommended to install
dbdr: perl code?
eulerscheZahl: now i can't find a nonsense reply to keep this going
eulerscheZahl: btw smits of solving online too
kovi: yes, he is doing well
dbdr: https://xkcd.com/224/
dbdr: yes, impressive
Illedan: Morning
dbdr: hey Illedan :)
Thyl: Morning
jrke: yeee i didn't believe myself made 29000 points
eulerscheZahl: live-clash-of-code what is Thibaud doing on discord? creating a different place to share invites than this chat?
eulerscheZahl: oh, are those even different servers than the regular CG discord?
Illedan: No
Illedan: or
Illedan: :shrug:
jrke: oh ya i also saw live clash of code
eulerscheZahl: but clicking the links just tells me that the server isn't public
eulerscheZahl: i guess he's still in the middle of adding it
jrke: but i can see it
jrke: oh links sorry thought page
eulerscheZahl: but can you... https://prnt.sc/tzeh91 now I made a screenshot for you :/
[CG]Thibaud: the server was shared by Terazoid
[CG]Thibaud: https://discordapp.com/channels/466965651135922206/472807181163429890/741399086917222541
[CG]Thibaud: notifications are sent there and I follow them in #live-clash-of-code so people interested interested in streaming but not CoC are not annoyed
eulerscheZahl: ah, I see. Missed that because I have the streaming channel muted
[CG]Thibaud: :ok_hand:
FinnWerner: :point_up_2_tone1:
FinnWerner: :ok_hand:
Andriamanitra: does this site ever get new languages added?
dbdr: yes
Andriamanitra: odds on ever getting julia?
dbdr: TS and D got added, Julia was not far behind
Andriamanitra: :thumbsup:
dbdr: welcome to the club, Illedan :)
jrke: wait i will try to be in that club
dbdr: ok :)
jrke: my online sim got 36k points will run offline
Andriamanitra: can i only be on the leaderboard once? i was going to snag the coveted #1 spot for lua in samegame
eulerscheZahl: the 100k club?
jrke: there is no one from lua currently
eulerscheZahl: Andriamanitra only your highest score is shown
Andriamanitra: well i'm f'd then
Andriamanitra: i'm never going to beat 32k
jrke: 5 c++ in top 10
eulerscheZahl: there are barely more than 10 even trying more than just printing a valid move
eulerscheZahl: so you see the language preference of active users, doesn't tell anything about the language performance at all
dbdr: most of us could submit in lua too if we wanted :)
dbdr: with the same score
eulerscheZahl: i feel like i could even get a higher score in lua
kovi: not me
eulerscheZahl: as you are playing for real and make me feel a little shabby
eulerscheZahl: you definitely have the better algo
jrke: is there any in 100k club without harcoding?
eulerscheZahl: yes, 2
eulerscheZahl: kovi and smits
jrke: wow
dbdr: domiko too maybe?
Andriamanitra: what'd harcoding
jrke: they are nearly to beat dbdr hardcoded
eulerscheZahl: can't tell for domiko
eulerscheZahl: i'm sure dbdr will raise his score
dbdr: not 100K, but will be
jrke: and he is not in 100k club currently
jrke: domiko ^
eulerscheZahl: chat is laggy as i'm using 7 out of 8 threads for the puzzle :/
dbdr: really? :D
Andriamanitra: i thought the solutions run serverside
dbdr: how many bogomips eulerscheZahl?
Andriamanitra: seems a bit unfair to run them on clients
eulerscheZahl: dbdr started this
dbdr: it's fair since everyone can do it
Andriamanitra: but not everyone has same hardware available
Andriamanitra: or time
dbdr: also, MSmits made me realize, there is more luck involved with running online
eulerscheZahl: of course. you might be able to clean the board for 1k extra points
dbdr: ?
eulerscheZahl: ? ?
dbdr: I did not follow how what you said connected with the rest
eulerscheZahl: "luck factor" -> i agree
eulerscheZahl: as the 1k bonus for an empty board is significant and you won't always be able to get it
dbdr: right, that's a dominant aspect
kovi: true
Andriamanitra: maybe the validators should be randomized and just repeated enough times that you can take average
dbdr: and the luck is amplified by having to be lucky in many validators at once
dbdr: when validators are randomized, people submit many many times
eulerscheZahl: random validators are a bad idea. you can't get the same score on each board
dbdr: which is not good for CG servers
eulerscheZahl: so the board would be more relevant than your algo to some degree
jrke: whats best for vertical lines ?
dbdr: Andriamanitra: it's true there is also unfairness offline, but I think less. I don't have a fast CPU
Andriamanitra: algos are already mostly irrelevant if we're pre-calculating everything
dbdr: very much not true
dbdr: algos are extermely relevant
dbdr: Numbershifting showed this brilliantly
eulerscheZahl: 9803 i think jrke
Andriamanitra: you don't even need to use the same algo for all of them for crying out loud
eulerscheZahl: https://www.codingame.com/share-replay/481754254
jrke: same me hardcoded
dbdr: using the best algo for each base is exactly what you do in real problems
dbdr: there is nothing wrong with that
Andriamanitra: yeah but you conveniently skip all of the stuff that you'd have to do to choose the right one
eulerscheZahl: but the CG website design makes it a little unfair. we (lvl29+) can easily get the validators. new users won't even know that they are available
dbdr: oh, definitely, we should make the validators available
jrke: i made a code in which i enter mat and it gives me mat save in 2d array and moves as ouput for saving hardcoding
dbdr: if you want to compete on solving problems fast, it's exactly the skills needed for multis
dbdr: no need to make optim duplicate that
dbdr: it's good that it's different
dbdr: I mean "at real-time scale"
dbdr: 50ms or so
eulerscheZahl: i'm perfectly fine with some offline solving that is announced at such so everyone at least knows what's going on. see google hashcode
dbdr: and NS :)
eulerscheZahl: yes :D
YurkovAS: samegame has referee with many validators?
eulerscheZahl: 20 validators
eulerscheZahl: i can file a PR on your repo dbdr
jrke: ya even refree have random validator genarator
dbdr: I was looking at doing that eulerscheZahl :) do you have something in a ready to use format?
dbdr: I have something
eulerscheZahl: http://chat.codingame.com/pastebin/a47b3c8d-c0a0-4fa7-949c-0a10b33661c7
YurkovAS: i can't find "samegame" referee url. can anybody help me?
dbdr: https://github.com/dbdr/codingame-validators/blob/master/samegame.txt
eulerscheZahl: you should mention the other 20 validators
dbdr: right
dbdr: aCat?
aCat: hi
eulerscheZahl: aToad?
jrke: im ready for running local sim but i don't have time wanna go for lunch will do it later :(
dbdr: what about pushing the referee to a git repo?
dbdr: as YurkovAS was looking for it for instance
aCat: I didn't find a good reason for this as the code is downloadable
aCat: but i can
eulerscheZahl: also helps those who want to understand the SDK. just more reference to look at
dbdr: it's only dowloable for level29+, no?
aCat: I'm learning sdk via downloading ccontributions
aCat: 20
eulerscheZahl: 29+ to find it now
aCat: searching for githuybs is waste of time ;p
aCat: ouch
eulerscheZahl: as it's not pending anymore
dbdr: CG trivia :)
aCat: It is actually a github
eulerscheZahl: then link it in the statement
aCat: but inside my secret CG-solutions :P
**eulerscheZahl always does this :angle:
jrke: euler how many your local sim take for one complicated case
jrke: time
**eulerscheZahl always does this :angel:
eulerscheZahl: i use the same time for all testcases
aCat: and it has a readme pointing our related research
jrke: whats that limit?
jrke: how many ms or seconds?
eulerscheZahl: i don't even count the rollouts or anything, no idea
eulerscheZahl: beam search with 2000 width
jrke: ok
eulerscheZahl: changed that, running with lower width and some randomness right now
eulerscheZahl: new score: 129004
dbdr: nice
eulerscheZahl: still running. and theer's 4 cases i don't clear yet
eulerscheZahl: 8 with duplicates
aCat: https://demo.codimd.org/Dvvtp9FQQhmguomIi7vzkA
aCat: current readme
dbdr: I don't ever track which cases I solve
YurkovAS: aCat thanks for url. i'm find contribution download url.
dbdr: *even
dbdr: I should
GeRiY: guys i can't start it :( "There is no Spoon - Episode 1" Someone can help me?
eulerscheZahl: http://chat.codingame.com/pastebin/65ad00b6-bbd8-46fe-bdd5-ddc805a8b682
eulerscheZahl: plus means solved
dbdr: I know. I don't know my own
aCat: yeah, actually i can put link to contribution in the statement itself ;]
jrke: Westicles have nice lead!
Westicles: jrke, I cheated.... I already did these back in 2012
[CG]Thibaud: GeRiY I suggest you check the forum post related to the puzzle
[CG]Thibaud: or ask your question directly
Westicles: Though I didn't save the solutions
dbdr: did you find your code? :)
Westicles: Yeah, that dead Dell sitting in the corner had it on the hard drive
dbdr: :D
Westicles: Total mess. There are around 10 parameters tuned for each case
GeRiY: what is example what i need to put in output?
jrke: x y
jrke: x cordinate,space,y co-ordinate
GeRiY: i get a $line and its contain four three number and one dot
GeRiY: if i write ( echo "0, 0"; ) its wrong
GeRiY: sorry ( echo "0, 0\n" )
MSmits: aww damnit dbdr
MSmits: had to pass me when I was sleeping huh
dbdr: you got punished
dbdr: for encouraging other ppl to beat me ;)
MSmits: hehehe
aCat: ok, posted on github and updated CG readme
MSmits: Did you see how far I got online though :
eulerscheZahl: thanks aCat
dbdr: yes, impressive!
aCat: https://github.com/acatai/SameGame
MSmits: thanks, yeah gonna try to set up something offline to day
eulerscheZahl: acatai? are you asian now?
aCat: nopw ;]
aCat: aCatAI ;]
aCat: i had to found new nickname in a short time
ivandr: do anybody know how to see how much time code spend on answering??
eulerscheZahl: use the stopwatch equivalent of your langauge
Andriamanitra: use a stopwatch and watch the output carefully
eulerscheZahl: start the timer *after* reading the input
ivandr: this editor has debuging&&
MSmits: you need to code it avandr
ivandr: or you meant clock
MSmits: ivandr
MSmits: whatever your language has
MSmits: it's code... so language dependent
ivandr: of course
ivandr: I understand
MSmits: yes you still havent said which language....
ivandr: C++
MSmits: ok
MSmits: sec
ivandr: clock()
ivandr: function
MSmits: nah
ivandr: can measure time
ivandr: I know
eulerscheZahl: chrono has higher precision
ivandr: yeahh
MSmits: auto start = std::chrono::high_resolution_clock::now();
ivandr: hahah
ivandr: good googling
ivandr: thanks anyway
MSmits: it's not googled lol. I have this in 20 bots :P
ivandr: )
eulerscheZahl: and you googled it the first time you needed it
MSmits: no
MSmits: I Robo-ed it
eulerscheZahl: chat shared?
eulerscheZahl: :D
ivandr: I thought that all puzzles will show me usage like in codeforces(
MSmits: they will show you by timing you out if you're too slow, but otherwise you have to do it yourself
MSmits: you need to time it anyway, because often, you want to use the full available time
ivandr: ok
MSmits: and you need to know when to cut the algo short
eulerscheZahl: for puzzles it's usually not relevant
MSmits: true
ivandr: at some sense
MSmits: it's relevant when you have an algorithm that's too slow and want to test different things that are faster I suppose
MSmits: but that almost never happens afaik
MSmits: it does in bot games and opti arenas ofc
ivandr: mostly it used in machine learning - reinforcment learning - Monte Carlo
Andriamanitra: there should be style point category
Andriamanitra: just marvel at this absolute beauty of a code that i've created to find the groups in samegame
Andriamanitra: http://chat.codingame.com/pastebin/972a1698-55ce-400d-b3a7-b5a83a50920c
Andriamanitra: powered by regexp
dbdr: https://xkcd.com/208/
dbdr: or https://xkcd.com/1171/
dbdr: as you prefer ;)
Marchete: are you using some bitset magic in SameNumber, MSmits?
Marchete: or not worth it
Marchete: ?
dbdr: what a question
dbdr: he's MSmits
Marchete: :D
dbdr: (that answers the first question, not the second)
Nicholas0901: Hi guys and gals, I am trying to figure out how to display information in my game
Nicholas0901: I want to print out values without making the game crash. I can't wrap my head around the sys.stderr. Anyone able to quickly explain? Thanks
Andriamanitra: stderr is a separate output stream that won't be read by the game
Andriamanitra: how to use it depends on the language you're using
aCat: yeah - I passed this awful first steps in creating new puzzle!
aCat: nothing is visible
aCat: no idea where to start coding
aCat: :D
MSmits: oh sry was shopping
MSmits: not using bitset magic afaik
MSmits: I use a bitboard for floodfill, but my color map is just int8_t[225] i could probably do better here
MSmits: Marchete
Marchete: :thumbsup:
wlesavo: westicles i wonder if you already got to 1000 in NS? if thats not a secret ofc :slight_smile:
Westicles: No, I stopped where it is on the leaderboard
Westicles: I think dbdr could take it to a 1000 much easier
wlesavo: oh, didnt notice you submitted, nice
Nicholas0901: Thanks, so to anyone else who is new, the stderr is displayed in the console like the other input. Just you can filter to view the Debug only :)
MSmits: hey, does someone have test case 1 to 20 for SameGame in string format?
eulerscheZahl: https://github.com/dbdr/codingame-validators/blob/master/samegame.txt
MSmits: nice thanks
aCat: https://github.com/acatai/SameGame/blob/master/src/test/java/StandardTestset.txt
aCat: awful formating dbdr ;p
dbdr: that's subjective
dbdr: for me one line per case is easier to use
eulerscheZahl: for me it's 20 different files
aCat: what's upperbound on on in-game sgapes while initializing?
aCat: I can't show grids with > 36x36
aCat: https://imgur.com/hKxlUgl
eulerscheZahl: sgapes?
aCat: shapes
Astrobytes: shapes I believe
eulerscheZahl: 100kB for the initial turn, 30kB for later
aCat: kB...
eulerscheZahl: no pixi object limit, just ther replay size
eulerscheZahl: i managed to get around it by doing it in JS directly
eulerscheZahl: didn't publish teh code yet as I still have hopes for a contest
Astrobytes: What did Thibaud say?
Astrobytes: (re. your game)
eulerscheZahl: will review it this week
eulerscheZahl: the trick for the JS part: still use the SDK to register the entities (as this supports movement animations and all that)
eulerscheZahl: but generate them in JS yourself for less data
eulerscheZahl: otherwise you would have to reinvent frame transitions when the user starts sliding the timebar below the player
aCat: kB.. so how I can optimize it? I use simple rectangles / lines
aCat: I can cut the number of entities in half but hey I want this to be pretty :(
eulerscheZahl: put it in a private github repo and add me to it if you want (same username as here)
eulerscheZahl: i might not get to this today anymore. but it seems you can continue with it on a smaller map size for now and then scale it up later
aCat: yeah, I just want some hints for the future
aCat: I added you
eulerscheZahl: got hte mail
aCat: this is 90% irrelevant copy of the samegame
eulerscheZahl: great commit message :D
aCat: and 10% started jps puzzle
aCat: viewer is working and just showing grid, player is irreblevant does nothing
aCat: test 66 is large grid ;-)
eulerscheZahl: the general approach: you create and register your own module in Java (like the tooltip module or toggle module from the SDK)
eulerscheZahl: that module is responsible to serialize some data
eulerscheZahl: you add the mathcing module in JS to extract the info and do something with it
aCat: so you shift the workload to other part of the system that does not have such constraints?
aCat: The only thing I did in javascript were 3 puzzles ;p
eulerscheZahl: yes, whatever reduces replay size
eulerscheZahl: i can add that part to your game to draw the map in JS. then you also have a reference to come back the next time you need it
eulerscheZahl: took me about 2 days to get it working for my own game
eulerscheZahl: not much code. but easy to miss one thing in the chain
JBM: still using pixi, or ditched it altogether?
eulerscheZahl: still pixi
eulerscheZahl: as the SDK does the pixi handling and user interaction and all (pausing, resuming, ...)
aCat: that would be great euler I might need it a lot, for later puzzles
JBM: your teapot inspired me to push my html5 viewer concept a little further
eulerscheZahl: cool
aCat: this one can stick with small maps if forced to, cause its simple exercise
eulerscheZahl: let's make our own SDK
aCat: but, the extension I plan
JBM: still not the ideal java-free svg-based thingy i'm aiming for
aCat: will be in pain without HUGE maps
eulerscheZahl: you can even get around java I think if you manage to tell maven to use something else
JBM: i don't have the required maven level for that yet
JBM: though i'm getting frightfully better at it
JBM: but i'm not too scared of that
JBM: i'm not too far from just pushing my binary along
eulerscheZahl: aCat there are still limitations. pixi itself gets laggy with too many objects shown
JBM: and re-extracting/running from java
eulerscheZahl: so that 36x36 map already has > 1000 objects
eulerscheZahl: that's still fine but already pushing it to the limits
aCat: so
aCat: what's the ability to show 256x256 game maps?
aCat: :D
eulerscheZahl: compression? :D
aCat: hmm, actually in this case
eulerscheZahl: a chessboard would be a problem
eulerscheZahl: but large areas could be combined in visuals
aCat: I will probably stick with loading precomputed map png as a one image
aCat: and draw on top of that if needed
eulerscheZahl: sounds a reasonable decision
aCat: but Detective Pikaptcha EP1 have very large grids
aCat: but he proobably uses less visuals than me including additional lines, tooltips, etc
eulerscheZahl: tooltips can be generated in JS too
eulerscheZahl: also toggles (for a debug view)
wlesavo: yay got MC in C++ working, took me quite long though
ivandr: Guys, do puzzles have hidden tests
SPDene: yes
ivandr: or we see all testcases
ivandr: ok if yes how many
ivandr: where to see the amount
ivandr: of hidden tests
SPDene: you deliberately CAN'T see all test cases, to prevent you writing "If (case1), write (answer1)"-type solutions
SPDene: if you see 5 tests, there will be another (hidden) 5 tests
Gorbit99: if it's a normal in/out puzzle that is
ivandr: hmm
ivandr: ok
ivandr: maybe bad tested puzzle
dbdr: cool wlesavo!
wlesavo: are most of SG top scores from offline or it is possible to get >100k online?
wlesavo: thx dbdr
eulerscheZahl: smits and kovi are online
wlesavo: oh nice
eulerscheZahl: the odd number in the score is a clear indicator for online sim btw
wlesavo: smits have some sick rollouts count, i think i have an order of magnitude lower
eulerscheZahl: mine is really low
eulerscheZahl: after each change i regenerate all groups
MSmits: hmm i dont think my rollout count is that great is it?
wlesavo: well yeah, i do the same and for long testcases i get only 50k rollouts in 20s
MSmits: lemme test on set 15
MSmits: 80k in first 20 s.
wlesavo: oh, so not that many
MSmits: that's with mcts though, not sure how that affects rollout count compared to MC
MSmits: might be slower or faster
wlesavo: i though you said you have around 50k in 50ms
MSmits: nah
wlesavo: maybe for a smaller cases
MSmits: I have a solver, so i almost solve those
wlesavo: so mine 50k is actually ok, maybe ill try some real algo then
MSmits: it's not bad
MSmits: though, maybe my sim could use improvement
eulerscheZahl: 11845 ms 207361 expands
eulerscheZahl: on testset 15
Illedan: Online?
MSmits: mmh, you mean moves played"?
eulerscheZahl: expand is a single removal of 1 group
eulerscheZahl: yes, on the CG server
MSmits: oww
eulerscheZahl: but my score is offline search
MSmits: in those metrics I go over a million I think
wlesavo: oh, it is not a rollouts
MSmits: lemme count moves played
Illedan: I count full rolouts
eulerscheZahl: i don't do MCTS so it makes no sense to give you that number
Illedan: about 200k in 30 sec
MSmits: nice
kovi: 360k in 20sec
eulerscheZahl: so far kovi wins I think
aCat: eulerscheZahl thanks for the PR
eulerscheZahl: you welcome
aCat: I will try to understand what's inside
dbdr: is it a trojan?
aCat: and thanks for giving me hints how project filkes should look like / what to remove
aCat: I have no damn idea what files java & intellij creates and uses for
Illedan: :D
eulerscheZahl: .idea is your local project which files you have opened and such
MSmits: btw as for performance. It depends a lot on how you select a move. If you pick a random tile, it's different from when you floodfill every tile and then select a random flood
eulerscheZahl: you didn't add them to .gitignore and i didn't pay attention, my IDE just replaced some without my intent to do so
aCat: ah ok
aCat: fooltip is your version of tooltip?
eulerscheZahl: so the whole .idea folder should be in gitignore
eulerscheZahl: yes
eulerscheZahl: i needed a registerTooltip function
eulerscheZahl: so to add it, I just copied the tooltips file and tweaked it
eulerscheZahl: and pepped up the naming not to get confused :P
dbdr: foolpit
aCat: bleh, normally CG repos are for me, so even storing open IDE tabs seems reasonable for me ;p
aCat: :+1:
kovi: the problem is that 2x rollout only gives approx +5%
eulerscheZahl: you can't expect a double score as the theoretical optimum is probably below 200k
dbdr: so CPU amount only has negligible impact on optim score?
dbdr: shocking!
MSmits: yeah, the leaderboard will be creeping along
Illedan: xD
MSmits: biggest creep wins
dbdr: oOo
Illedan: WHAAAT can't I solve NP problems faster with more CPU :P
kovi: so 1k luck factor is more than that
kovi: or lucky roll on some unbalanced? (set20) case
MSmits: I doubt luck has much of an effect here
MSmits: algo > cpu time > luck
aCat: eulerscheZahl so I need to move everything on JS side, or later can add normal in-java tooltips and stuff?
aCat: but all the things as constant declarations, etc have to be doubledeclared then
dbdr: what about the luck to find the right algo?
dbdr: luck > algo. it's RPS all over again ;)
MSmits: sure, there is some luck in that, but also not that much :)
wlesavo: also luck in choosing the right language
MSmits: yeah, the best way to choose a language is by wheel of fortune
dbdr: roll the dice to discover your next language...
eulerscheZahl: you can combine the JS stuff with the CG SDK
dbdr: vb.net :scream:
eulerscheZahl: but it's not possible to create an object in JS and then reference it in Java
eulerscheZahl: and yes, you will need some code duplication. you could also send the constants to the JS module as well do avoid that. But I think it's not worth the overhead
eulerscheZahl: the tooltips might be a little tricky as you should use my Fooltip module for it. Otherwise you would see 2 overlapping tooltip windows in some cases
eulerscheZahl: but i can help with that if needed
aCat: yeh, I was thinking about that and probably youre right, sending constants as data to module seems stupid
wlesavo: got +10k by varying a seed lol
aCat: If fooltip works the same I assume I can use it instead of the old one
aCat: no reason not to
MSmits: gj wlesavo :)
wlesavo: thats totaly my way of solving prorblems :smiley:
eulerscheZahl: you will have to create a fooltip module on the Java side too
aCat: aaa
eulerscheZahl: my copying the official tooltip module and changing 2 or 3 lines
aCat: hm
eulerscheZahl: my => by
eulerscheZahl: and inject the new module in the referee.java
aCat: so you don;t have it already done in your projects?
eulerscheZahl: i have one project with some more JS code. but that would spoil a potential contest
eulerscheZahl: if you agree to keep your mouth shut and possibly test the game, i can give you access
aCat: ok, ok, I didn't as for an access , just like it is somewhere so you can copypaste this to me without too much effort
aCat: changed my mind
aCat: I am asking for an access
eulerscheZahl: that makes it easier for me :)
aCat: :heart_eyes_cat:
eulerscheZahl: so no sharing and spoiling, you agreed to these conditions on a public chat
dbdr: with logs
aCat: This cat is an honest person
aCat: trust this one
Illedan: We know where you live :eyes:
aCat: no you don't ^^'
Astrobytes: Cats are people too? :o
eulerscheZahl: invite sent
eulerscheZahl: g2g for now
aCat: thx, cya
dbdr: people have eyes. cats have eyes. therefore cats are people
Astrobytes: Astounding logic :D
dbdr: thx
dbdr: non distributio medii
dbdr: even more astounding with such a name, right?
Astrobytes: I remember this from the logic section of my maths for computer science course
Astrobytes: Part of me wishes I'd continued down that path rather than biology, but hey ho
dbdr: you can do CS on CG :)
Astrobytes: Well I have been learning ;)
dbdr: TheHolyCommitter was a great random username
jrke: are there only 30 original testcases in samegame?
zlatanised: yello
Memo12334: is it forbidden to ask for someones solution?
Scarfield: not only is it forbidden, its severally punished :p
Scarfield: you can ask, if you have already solved the problem yourself, someone might want to share, but dont count on it
Memo12334: ye probably no one is that generous xd
Scarfield: having problems with a puzzle?
Memo12334: yes and for a long time , it drained my brain power
Scarfield: which one?
Memo12334: I can't think clear anymore but I rlly want to solve it before I can live again
Memo12334: https://www.codingame.com/ide/puzzle/detective-pikaptcha-ep2
Scarfield: i havent done that one, what approach are you trying?
MarkAdell: what are the benefits of clash of code chat?
Scarfield: you can ask for a tip if stuck, and someone might be helpful
MarkAdell: but the chat isn't present during the round
Astrobytes: It has a known bug at the moment, where it disappears. Staff are aware, can only apologise in the meantime :/
Scarfield: oh didnt know, AstroWise
Astrobytes: Now you do KnowledgeField
dbdr: jrke only 20 unique validators
dbdr: + 20 that are the same with different colors
kovi: nice improvement msmits. still not local?
MSmits: no, i just started doing offline
MSmits: just a bot thats given more time is all
MSmits: 4 second turns till the end
MSmits: most of the testcases are the result of just 1 trial run
MSmits: I think I should be able to get to 140-150 or so if i hang in there
Scarfield: if you are testing locally, is there any reason to go beyond the first turn, instead of simulating from the first choice untill end, and finding the best sequence that way?
MSmits: it's nice how submits are much faster with hardcoded solution
dbdr: :D
itzblinkzy: i passed all the test cases in clash of code but still got 0%
itzblinkzy: :pensive:
itzblinkzy: dunno what i did wrong
jacek: you didnt invite anyone
dbdr: esp starting with e
eulerscheZahl: damn you dbdr, how dare you stealing my 2nd place?
eulerscheZahl: i have 139k offline. still below you
dbdr: you mean my 2nd place that you were injustly occupying?
eulerscheZahl: that's a ridiculous complaint
dbdr: I'm not the one complaining ;)
eulerscheZahl: you are the one stealing ranks
dbdr: *liberating
eulerscheZahl: do you clear all boards?
dbdr: I don't record it :D
eulerscheZahl: :rolling_eyes:
dbdr: lemme try sth
dbdr: yes, I clear all
dbdr: you?
MSmits: what boards?
wlesavo: all of them
wlesavo: :smiley:
MSmits: I got that part :P
jacek: tic tac toe boards?
dbdr: samegame board
dbdr: s
dbdr: what else?
jacek: differentgame boards
Scarfield: MLP boards
dbdr: skate boards
Astrobytes: floor boards
MSmits: not sure what you mean by clearing though
eulerscheZahl: i'm one short of clearing all
Scarfield: removing all tiles
MSmits: ohh, empty the full board for +1000
dbdr: yeah
MSmits: I dont even know
Scarfield: I suppose there could be a starting board, where you could get a higher score, by grouping more than 35ish tiles and removing them together, but not clearing the entire board
dbdr: theoretically yes, but 1000 is quite significant
Scarfield: sure, was just thinking that clearing all boards, might not be the best metric
dbdr: the best metric is score :)
Scarfield: ^ :)
dbdr: it's still interesting to check it
Scarfield: yea, i just finished the sim for it, now to decide how to search
dbdr: it's like that NASCAR video: "our strategy? drive fast!"
MSmits: mcts it :)
MSmits: mcts is easier for single player than for 2 player
MSmits: because you dont get the annoying sign bugs
Scarfield: thats was my first idea, but i think its time to learn about beam search, havent used it before
MSmits: sure that might work too
Scarfield: hmm just read the first paragraph explaining beam search. The idea is a lot simpler than i thought it would be, and doesnt seem to be the way for this optim. I understand your "might work" :p
dbdr: why not?
MSmits: there are different approaches that might work
MSmits: the advantage mcts has over beamsearch is detecting long term benefits
eulerscheZahl: JBM just trolled me :D
JBM: you may be interested in the way I address assets, btw
Scarfield: the greedy part of it, it seems to need a very good eval to sort out which choices to leave out
MSmits: what did he do euler
MSmits: Scarfield right
eulerscheZahl: pending contributions MSmits
JBM: i feel it's a bit cleaner than the "struct way" of posting once, than finding the hashes
eulerscheZahl: https://www.codingame.com/contribute/view/5326e0ad9aaa1c84010096f697c2dc81eee2
MSmits: kk
eulerscheZahl: i'll have a look at it. i took the hash-way too
MSmits: oh no i got RR-ed
JBM: yes, that's why i mention it
Astrobytes: ah ffs :D
MSmits: sometimes you think it's gone and then every few years it comes back
jacek: again, no fog of war
Scarfield: xD
eulerscheZahl: webm.setAttribute( 'src', base + assets.images['codingame.webm'] );
eulerscheZahl: hm, how to use that in the statement?
JBM: doesn't the statement pick them up directly?
eulerscheZahl: struct likes to add a lot of images there too
eulerscheZahl: I don't think so. Never tried tbh
JBM: it does for league popups
eulerscheZahl: i know
JBM: i'd expect it to do so for regular statement as well
JBM: though i never tried either
MSmits: eulerscheZahl are you beamsearching samegame or still mc?
eulerscheZahl: hm, now that I think of it: might work. of course not if i place it in the asset folder :D
eulerscheZahl: MC beam
MSmits: oh
MSmits: like MC hammer
jacek: mr beam
eulerscheZahl: beam, then MC to change a step, beam from there
MSmits: mmh bit like mcts
eulerscheZahl: and i realized that i have no save routine for during a run
eulerscheZahl: only when that testcase finished
MSmits: yeah I me neither
eulerscheZahl: getting tired but i have a nice score :(
MSmits: I need to get a meta mcts going
MSmits: that's a lot of work though, not sure if i can do that before sunday and run it any useful amount of time
Scarfield: for samegame?
eulerscheZahl: blame illedan for the close deadline
MSmits: yeah
eulerscheZahl: the cat is already working on the next game
MSmits: damn felines
Scarfield: felines before Fraülines
Scarfield: ah no umlaut :'(
MSmits: did you just come up with that one?
darkhorse64: He wants us to review all literature about NP problems
MSmits: i dont need to
Scarfield: nope, saw on reddit somewhere
dbdr: clicked the preview button on that contrib expecting a 3D toad
MSmits: they are no problem, problems after all
MSmits: haha dbdr
MSmits: you got RR-ed too
dbdr: RR?
MSmits: did you click play>
darkhorse64: Have you read NRPA papers ? Even worse than solver ones
MSmits: otherwise i will not tell you what it means
JBM: i think he knows what it means
dbdr: ah, RR
dbdr: :D
Scarfield: "nobody knows what it means, its provocative, gets the people going"
dbdr: first time it crashed the tab
JBM: how do i pop out the twitch chat thingy? :'(
MSmits: mmh was was nrpa again, it came up the other day
JBM: shit, there goes my portability :(
dbdr: wondered if it was an exploit :D
dbdr: FF, but definition
dbdr: a tab should not crash
darkhorse64: Nested Rollout Policy Adaptation. I don't like the idea of streaming inside CG
MSmits: ahh right that
dbdr: https://i.snipboard.io/Cfbrcx.jpg
MSmits: sometimes these papers about rollout adaptations and selection strategies feel like the researchers are running out of stuff to imrpove about mcts
MSmits: we got 3% better results on game x
MSmits: that sort of thing
dbdr: https://i.snipboard.io/hTWKiV.jpg
dbdr: that's a bug JBM
dbdr: loads to 50 after submit
JBM: yeah, did it to me too once
darkhorse64: The paper claims for more
JBM: their asset loading isn't foolproof
MSmits: hmm ok
dbdr: #1 at RR :)
JBM: shit, i'm not logged in to CG on this box
MSmits: damnit, I dont have your login details on this computer either
darkhorse64: Too hard to code when the beach is nearby
kovi: uh another hardcoder
JBM: got it from the mail server
MSmits: lol, he said too hard to code, not to hardcode :P
darkhorse64: :ice_cream:
MSmits: oh darkhorse64, i gave up breakthrough for now. Got lower top 10, but everything I try with params fails
jacek: aww
MSmits: I might return though :P
dbdr: https://youtu.be/gNCNj_1bRG0?t=71
MSmits: I think i need a new eval approach, but i dont feel like it
darkhorse64: I did for now too. I think I have a performance issue on BT but my code triggers a VS compiler bug and I am unable to profile it
MSmits: ahh thats annoying
Scarfield: xD lol dbdr
darkhorse64: my __builtin_ctlz implementation issues wrong code
dbdr: use a real compiler then?
MSmits: damnit I just got RR-ed again
MSmits: ctz is undefined for 0
MSmits: might that be your issue?
dbdr: there's a funky history around that
MSmits: nooo, no more RR links
dbdr: a new instruction with the same encoding as the old, but different behaviour on 0
darkhorse64: Worse than that. The compiler casts my uint64 to 32 bit
Scarfield: ctlz? isnt it either ctz or clz
Illedan: RR?
Scarfield: or just typo
MSmits: clzl or ctzl
MSmits: the l at the end is for 64 bit
darkhorse64: Sorry, ctzl
Scarfield: long yea, was just thinking that the typo could somehow be an issue
MSmits: Illedan click on JBMs new contribution
MSmits: https://www.codingame.com/contribute/view/5326e0ad9aaa1c84010096f697c2dc81eee2
Scarfield: i upvoted it
darkhorse64: Care to share some performance figures ?
JBM: streaming a bit of puzzle creation now https://www.twitch.tv/cg_jbm if there's any interest
jacek: barcelona bayern 1-1 so far
MSmits: preview, then play, then you will know what RR means
MSmits: darkhorse64 you mean for breakthrough?
darkhorse64: Yes
MSmits: sure sec
dbdr: https://en.wikipedia.org/wiki/Bit_manipulation_instruction_set#ABM_(Advanced_Bit_Manipulation)
MSmits: Rollouts: 418400
MSmits: ROOT: visits: 10504216
MSmits: turn 1
MSmits: Rollouts: 48736
MSmits: turn 2
jacek: rollout = 1 eval?
dbdr: (who thinks I've edited that wikipedia page with a RR?)
MSmits: no jacek
MSmits: thats eval of all children
MSmits: root visit is 1 eval
MSmits: so 10 million of those
jacek: :scream:
MSmits: i dont do random rollout
MSmits: i expand eval all, backprop
MSmits: if i would do, say a 5 depth rollout, it would be slower
MSmits: bot might even be better, but too lazy to try
RoboStac: darkhorse64 - ctzl is for longs (min 32bit) - ctzll is for long longs (min 64bit)
jacek: or you just need better eval
MSmits: yes, but in CG environment ctz is 32 bit and ctzl is 64 bit
dbdr: for now
MSmits: I for sure do need better eval to beat tric trac
RoboStac: yeah, but thats because of the min part of my statement - gcc does 64 bit longs
MSmits: for you i need better eval and some offline boosting
MSmits: yeah i know robo
MSmits: c++ is silly
MSmits: what other language does this?
RoboStac: pretty sure c started it
dbdr: C
MSmits: ah yeah thats not surprising
RoboStac: lots of others have variable sized types for some things
MSmits: oh
dbdr: lots?
MSmits: well i dont know so many language so sure
darkhorse64: My VS code:
MSmits: it just seems weird
darkhorse64: http://chat.codingame.com/pastebin/ff10c12b-ab77-412c-a664-0af71425bb12
jacek: int should be int - 32 bits, no more, no less :x
dbdr: not sure which ones
MSmits: whats wrong with that darkhorse64
RoboStac: well, rust / go both do sizes as 32/64 depending on arch
RoboStac: admittedly at that point I'm running out of examples
dbdr: rust has u32 and u64 and u128
RoboStac: yeah, but c++ has uint32_t
dbdr: and usize for the dependent one
darkhorse64: The code is correct but the compiler messes with it
MSmits: u128 is nice
MSmits: did you know C# actually sort of has u128
MSmits: it's called Guid
dbdr: uint32_t is ugly enough that it does not get used much
RoboStac: c++ just makes it really awkward by automatically converting between things
RoboStac: so you suddenly lose some bits and have no idea why because your constant 1 was actually a 32 bit int
MSmits: well at first you dont even know you lost some bits
dbdr: it loses bits silently? :O
MSmits: that's the first hour of debugging
darkhorse64: Basically, it ignores the upper 32 bits in a 64 bits int
RoboStac: yeah - easiest mistake in bitshifting is to do uint64_t y = (1 << x);
MSmits: it gets worse when you only lose the bits with optimization on
RoboStac: and if x is > 32 you get 0
MSmits: happens to me a lot RoboStac
darkhorse64: It used to work with previous VS versions
Scarfield: have done that as well
Astrobytes: I know that error well
dbdr: java is reasonable in only converting silently when it does not lose information
MSmits: C# also
MSmits: i dont think it ever converts silently
dbdr: in rust it's always explicit
dbdr: I guess if we need something unreasonable we always have C++ :D
MSmits: it's so crazy what it lets you do
dbdr: long x = my_int;
dbdr: that's silent conversion
MSmits: oh hmm
dbdr: in Java/C#
RoboStac: you just need to enable all the warnings + the extra ones + the even more extra ones and then a few more and it'll tell you about these things though
darkhorse64: http://chat.codingame.com/pastebin/3c47e4f7-f427-43ba-a0d8-b857dff0482a
MSmits: your VS is bugged
MSmits: it speaks French
dbdr: :scream:
MSmits: lemme show you what i did darkhorse64, maybe you can just steal that?
RoboStac: for what line of code darkhorse64?
MSmits: http://chat.codingame.com/pastebin/ba761d9a-dcd8-41a3-9fe0-2ecf2af94263
darkhorse64: Actually, hard to tell because everything is inlined but, looking at the ASM, I see that BitScanReverse is translated to ctz_helper. The error message says that the helper is called with a 32 bit argument cast from the 64 bit
RoboStac: because that warnings exactly what you should get for passing a uint64_t into __builtin_ctzl
MSmits: I do that all the time
MSmits: am I not supposed to?
dbdr: ll for 64
MSmits: I guess ll for 64 bit guaranteed
MSmits: ?
MSmits: but on CG just l works right?
darkhorse64: You mean that __builtin_ctzl is part of VS library ?
MarkAdell: is codingame open source?
MSmits: MarkAdell no
MSmits: but you can contribute puzzles and games
MSmits: that part is open source
darkhorse64: And that my implementation is shadowed ? That would explain everything
MSmits: also when they write a bot game for you to make bots for, they ahre the referee, thats sort of open source
MSmits: share that is
MSmits: so I guess parts of it are open source
dbdr: https://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models
dbdr: "it's complicated"
jacek: darkhorse64 you didnt know? you have 64 in your nick!
darkhorse64: MSmits: I have the same code: your ctz is my __builtin_ctz
darkhorse64: darkhorse64 is my ChessBase nick
dbdr: 64 bit shorts, nice :D
MSmits: ah ok, then your VS just doesnt like it somehow...
darkhorse64: I think he does not like that I call my function __builtin_ctzl
MSmits: me neither
darkhorse64: Great. An explanation and a workaround
darkhorse64: Problem solved
MSmits: cookl
MSmits: -k
darkhorse64: anyone can cook ?
MSmits: not me
Zenoscave: I can
Astrobytes: I can
Zenoscave: I cook frozen dinners all the time
darkhorse64: scrambled eggs is nothing for someone versed in MonteCarlo
MSmits: thats called defrosting Zenoscave
Astrobytes: When I wasn't vegetarian my cassoulet was legendary
Zenoscave: oh. does it count as cooking if i don't use a microwave?
MSmits: sure
Zenoscave: then i'm a "cook"
dbdr: Astrobytes: couldn't you adapt to a veg version?
Astrobytes: Of course dbdr, but then it's just not cassoulet ;)
Astrobytes: Just beans.
MSmits: wait, vegetarians can still cook meat cant they?
MSmits: I thought it was about eating it
Astrobytes: Yes. I have to sometimes.
dbdr: "virgin bloody mary"
MSmits: then it's still legendary isnt it?
MSmits: thats a sheldon quote dbdr
dbdr: yep
Astrobytes: Not if I can't eat it
dbdr: the "vegetarian cassoulet is just beans" reminded me of it :)
MSmits: mmh ok, but isnt legendary by definiton about other people ?
MSmits: dbdr yeah makes sense
Astrobytes: And quite frankly, I'm not about to go to the effort of making cassoulet for a couple of family members when I cannot eat it.
darkhorse64: I tried meat but I did not inhale it
Astrobytes: That and there's no French market here anyway :/
dbdr: I think it would be strange for a vegetarian to work in a slaughterhouse
dbdr: it's not just about eating
Zenoscave: having trouble with agitc
Astrobytes: Obviously.
Zenoscave: gitc*
Astrobytes: I was a highly carnivorous chef once upon a time.
jacek: cats are quite carnivorous anyway
Astrobytes: And I resent having to cook meat, which is why I do it for relatives only. At a push.
Astrobytes: On special occasions.
Astrobytes: Still love the smell and taste of it (if it's good stuff), but that's it.
dbdr: really? how long have you been vegetarian?
dbdr: I experienced it fades away with time
Astrobytes: About 2.5 years I think?
Astrobytes: I detest the smell of poor quality meat/meat products. Which is most of what you get in supermarkets etc.
dbdr: but yes, I can imagine it's different if it's right there and very good quality
Astrobytes: Some of the high quality stuff I've tasted I couldn't afford outside of a pro kitchen, and it's fantastic. Won't eat it now though.
dbdr: is quality going to get even worse outside the EU?
Zenoscave: dbdr have you tried running the ocaml in your bio?
Astrobytes: *Wouldn't
Astrobytes: Yes, I think so.
dbdr: Zenoscave: I don't think so, wrote out of memory. is it wrong?
Astrobytes: Loosening of regulations etc.
Zenoscave: I think so.
Zenoscave: my ocaml is weak though
dbdr: yeah, probably does not work for data
dbdr: my ocaml is rusty :D
dbdr: but you get the idea
Zenoscave: I do ;)
dbdr: Astrobytes: maybe Scotland will join? ;)
Astrobytes: Hopefully, but there's the issue of breaking free of the 'union' first.
Astrobytes: (the UK union that is)
dbdr: a small detail ;)
dbdr: https://www.theonion.com/british-empire-to-be-reduced-to-8-acres-around-buckingh-1819576944
Astrobytes: Haha! Sadly not, it's a huge detail unfortunately.
dbdr: "Undecided Voter Looking Forward To Learning More About Donald Trump During Campaign"
- joy:
dbdr: ok, I should stop
Astrobytes: lol I read that just a minute or so ago :D
MSmits: whoa
MSmits: those people exist?
Astrobytes: Satire MSmits, satire. But yes, they do.
MSmits: ah well I guess the US has woods
MSmits: and cabins
dbdr: The Onion is brilliant
Astrobytes: Yes, it's on point
Astrobytes: This is a good UK one: https://www.thedailymash.co.uk/
dbdr: If you felt your French conversation was improving, why not use two weeks of quarantine to keep practising? Give up on holiday-related phrases like ‘Ou est la plage?’ though, and find out what the French is for ‘Where is the nearest coronavirus testing centre?’.
- )
Astrobytes: :grin:
MSmits: I'm not vegan but I refuse to eat some meats
MSmits: like human, I think eating human meat is wrong
MSmits: allright then
itzblinkzy: .
itzblinkzy: if you think its wrong then you're a vegan lol
MarkAdell: what do I need to do to add a problem to clash of codes?
Schwase: contribution page
itzblinkzy: MarkAdell can you share your code please? I submitted too fast :sneezing_face:
Schwase: there is a process that involves having 3 20+ level members of the community approve your puzzle
MarkAdell: okay thanks
MarkAdell: itzblinkzy sorry I exited it.. which problem was it?
Schwase: check it out, its pretty self explantory when you look at the others' contributions
JBM: I think for CoC it doesn't involve 20+lvl users
JBM: rather people who played >N clashes
Gorbit99: 50
Gorbit99: for coc it's 50 puzzles, in both cases you unlock the specific quest