Chat:World/2020-08-15

From CG community
Jump to navigation Jump to search

jacek: happy Caturday

Gorbit99: happy caturday

a1b8r: What are cps in this game?

Default avatar.png JBM: CPS?

a1b8r: CP

a1b8r: CPS being plural

a1b8r: Codin Points

WINWINWIN: points gained by competitive programming on codingame that determine your global rang

WINWINWIN: You can see the full explanation if you click on your rank at the home page and then the ? next to codinpoints

Gorbit99: it's explained under your profile > click on your rank

a1b8r: Thank you!

Default avatar.png FatherMucker: hey whats the best solution for this game guys?

Default avatar.png winterc4t: bro

a1b8r: They aren't increasing tho, if I'm playing.

aCat: they are updated once per day

aCat: so you don't see rightaway ranking change

aCat: if that's what you mean

a1b8r: thank you!

a1b8r: understood

Default avatar.png winterc4t: :rage:

Default avatar.png Foxyy: henlo

Default avatar.png Foxyy: Hiiiiiiiii

Default avatar.png Foxyy: how r u

Default avatar.png Foxyy: me gud

Default avatar.png winterc4t: nope

Default avatar.png winterc4t: hahaHA

Kiripot: lol

AntiSquid: good morning, no spam please, thanks

Washier: happy caturday

Default avatar.png v0: hello

danlars: Morning!

Default avatar.png UltraSheep: :stuck_out_tongue:

Default avatar.png UltraSheep: :stuck_out_tongue:

Default avatar.png UltraSheep: :stuck_out_tongue_winking_eye:

Default avatar.png UltraSheep: Oh its lagging

jrke: happy caturday :)

Thyl: Hello !

Thyl: Do you know any articles on genetic algorithms ?

Default avatar.png Phenomz: how come im able to program some stuff but im unable to solve those fucking puzzles.. making me mad -_-

Tee-Resa: what puzzle?

Default avatar.png Phenomz: im just trying "Chuck norris" a beginner puzzle lol

Thyl: *please ?

Default avatar.png Phenomz: maybe im just too dumb to understand the examples of those puzzles... well im certain

eulerscheZahl: don't you understand how to approach it or how to put your thoughts into code?

Default avatar.png Phenomz: maybe just put my thoughts into those example would be more accurate idk

Default avatar.png Phenomz: it says "we want to encode the message CC" but the expected results is: 0 0 00 0000 0 00 ?

Default avatar.png Phenomz: and the base message is C?

eulerscheZahl: so, the first step is to convert CC into binary in respect to the ASCII table

eulerscheZahl: 10000111000011

Default avatar.png Phenomz: so i can just take the whole alphabet and make it convert into ASCII binary?

Default avatar.png Phenomz: that's it?

eulerscheZahl: then group it: 1 0000 111 ...

eulerscheZahl: and convert as specified: 1 => 0 0 0000 => 00 0000 111 => 0 000

Tee-Resa: in binary there is only the first step, you should then display the sequences of 0 and 1 differently

Default avatar.png Phenomz: alright, i'll try something

Default avatar.png Phenomz: thanks

Tee-Resa: try to write down what order you have and what should happen there. mostly helps

Default avatar.png Phenomz: how is C coded as : 0 0 00 0000 0 00 if it gives 1000011 as binary

Default avatar.png Phenomz: wtf.

eulerscheZahl: take the 1000011 and group it into same digits

eulerscheZahl: 1 0000 11

Default avatar.png Phenomz: ?

eulerscheZahl: is that not clear?

Default avatar.png Phenomz: well i thought i had to convert it which i did.. but im lost

eulerscheZahl: that binary conversion is just the first step

eulerscheZahl: you did the well but there's more to do for the puzzle

eulerscheZahl: a sequence of 1 gets converted to 0 <length of sequence>

eulerscheZahl: thus: 1 => 0 0 11 => 0 00

eulerscheZahl: and a group of 0's: 00 <length>

eulerscheZahl: 0000 => 00 0000

eulerscheZahl: put that in order: 0 0 00 0000 0 00

eulerscheZahl: and that's the conversion of "C"

Default avatar.png Phenomz: ah i see

Gorbit99: I blcoked madknight on discord yesterday :(

Gorbit99: he messaged me 3 times a day if i tried the algo he outlined the other day, and yesterday when I told him that I had other plans, he said to just not do that and do the algo instead, as what I wanted sucked anyways

wlesavo: thats a classic mad

eulerscheZahl: wow, he's still active?

Default avatar.png Phenomz: @eulerscheZahl

wlesavo: also surprised

wlesavo: is the SG competition over euler?

eulerscheZahl: there has never been one

wlesavo: i mean that illedan challenge

eulerscheZahl: tomorrow evening i think

wlesavo: oh i see

Gorbit99: eulerscheZahl I was code golfing a different thing on a discord server, and he told me, that I should make the algo instead of the stupid code golf, and also that I should look at you because you're the best coder and you hate coc too

Gorbit99: sorry, he said you know tons about programming to be exact

eulerscheZahl: how dare you enjoying something that god-like eulerscheZahl dislikes? :D

eulerscheZahl: you should upload 3D teapots instead

MSmits: Gorbit99 wise words, I look at euler all the time

MSmits: that's how you beat him, just make him uncomfortable

dbdr: Glory To Eulerschezka!

kovi: how westicles still ahead?

AntiSquid: Gorbit99 do what you like, even coc if that's what you want, someone hating something doesn't make them right, if you apply a filter based on other people's preference you might as well quit CG: see recurz

MSmits: kovi i have a list of maximum found scores from papers and from that human playable website, Westicles is very near the max

MSmits: https://imgur.com/a/88ItxTW

Westicles: aCat says he knows an unpublished paper that beats them all. I guess neural nets?

aCat: no

aCat: yet another RPNI

aCat: by Tristan

AntiSquid: who's paper would it be? aCat's ?

AntiSquid: regenerative peripheral nerve interface ?

dbdr: could you share those numbers as text MSmits?

MSmits: sure, sec

Westicles: I only know Ed's approach (spurious_ai), he just did BFS.

dbdr: ‏I had this from the js website: ‫‏‎88214

MSmits: http://chat.codingame.com/pastebin/a6012afb-4214-4481-88c3-af48e28eb2fe

MSmits: yes some scores are best from js website, some scores are higher in papers

dbdr: lol: https://i.snipboard.io/D4qBgA.jpg

MSmits: apparently humans are still better at some

dbdr: js site might not be all human

jrke: suppose if i see all possible outcomes in offline ide then ?

MSmits: true probably not

aCat: damn me

aCat: NRPA ;]

aCat: too many shorcuts

aCat: wait

aCat: I have to check this one alse

dbdr: jrke: that would take longer than the age of the universe

kovi: so the best way to win to get some strong players play this 20? :)

aCat: nested rollout policy adaptation\

jrke: really? dbdr

dbdr: yes

aCat: with some tweaks

kovi: i was thinking about that. with not good enough algo manual could help with ns

kovi: (below 100)

MSmits: in other worse, doing what jrke says also solves the problem of finding out how the universe ends

dbdr: "Exponential growth is the most powerful force in the universe"

MSmits: words that is

jrke: max possible outcomes will be less than 115**115 its uncountable

MSmits: you just counted it

MSmits: and its even less than you said

kovi: yay

jrke: yup!!

dbdr: the word is untractable

kovi: trictrac is offline?

MSmits: doesn't this game have a lot of transpositions also?

dbdr: even less? lame! :D

dbdr: it's still NP complete

MSmits: sure

MSmits: but there's some improvement there

dbdr: sure

MSmits: I am not taking this into account currently

MSmits: are you?

dbdr: yes, zobrist

MSmits: hmm ok

MSmits: it's difficult to do for mcts

MSmits: but meta mcts handles it just fine if i ever get it finished

Westicles: MSmits, your table has 6086 for case9. Where is that from?

MSmits: sec

MSmits: https://dke.maastrichtuniversity.nl/m.winands/documents/KNOSYS_SameGame.pdf

MSmits: page 18

MSmits: HGSTS score

MSmits: I think they use the GPU

MSmits: they dont have highest on everything btew

MSmits: btw

dbdr: looks like 50+% are from the JS site

dbdr: thanks for the numbers MSmits!

MSmits: sure, but also some of the js numbers are submitted from bots

MSmits: so some might be in both

MSmits: np

dbdr: I do the same of calculating the diff to max to know where most improvement might lie :)

Westicles: Man, that's over a thousand over me. Better try that one some more

MSmits: yeah

Westicles: I bet its a typo, though

dbdr: https://i.snipboard.io/2YgZPr.jpg this seems old :D

MSmits: it's just highly compatible

dbdr: with 90's browsers

MSmits: yeha

dbdr: "Monte Carlo (MC)tree search algorithms are a form of best-first search algorithms that do not evaluate the quality of a node based on some evaluation function. Instead, Monte Carlo bases the quality of a node on a number of random games"

dbdr: except you can consider the score on random games as the (randomized) evaluation function

MSmits: yes, but the base MC is used for win/loss games

MSmits: with -1 to 1 scores

dbdr: that's a special case

MSmits: also the evaluation function is supposed to be an approximation of the board value

MSmits: the score is the actual board value

dbdr: you don't do -1/1, you use the final score

MSmits: right but for win/loss games -1 to 1 are the actual game results

MSmits: for samegame the score is the actual game result

dbdr: for specific actions

MSmits: yes but thats always true for a statistical search

dbdr: it's just one more evaluation function

MSmits: i dont agree, when you make an evaluation for chess, or checkers or whatnot, you dont have win/loss scores, you evaluate other things

MSmits: you dont evaluate the end of the game

dbdr: you can do that or do something else

MSmits: in same game you do evaluate the end of the game, doesnt matter that it is random and dependent on actions

dbdr: there are all evaluation functions

dbdr: *they

dbdr: you could say "static heuristic evaluation"

eulerscheZahl: dbdr i don't even recognize the red browser icon from your screenshot

MSmits: do you still call it an evaluation function if the game is solved and you're just taking the solved result?

dbdr: eulerscheZahl: me neither. sherlock time :)

dbdr: MSmits: yes, I would

dbdr: it's perfect evaluation :)

Westicles: MSmits, I'm not sure about that paper. I beat him in most cases, but he beats me by 1002 and 1003 in two cases.

MSmits: ah ok, fi that is your definition, then basic mcts uses an evaluation function as well

dbdr: http://www.js-games.de/images/browser_mozilla.gif

dbdr: so it's "mozilla"

MSmits: Westicles your heuristics may have a blind spot

MSmits: and so do his

dbdr: ah yes, if I zoom I see the godzilla head :)

SuthiwatPraesi: yo mates

Westicles: Nah, I think he is giving himself 2000 to clear :)

dbdr: there was a time where they were saying "it's written Nescape but it's pronounced Mozilla" or sth like that

dbdr: oh, you can do that? :innocent:

MSmits: Westicles lol ok, who knows :) It is said in the paper that the results are unverfied

SuthiwatPraesi: I have a question

MSmits: for that particular AI

dbdr: can I tell the referee how much I want for clearing?

SuthiwatPraesi: How long it take to be professional at CP

MSmits: coding points?

SuthiwatPraesi: Competitive Programming

MSmits: might be a long time, still not making money off of it :(

MSmits: oh ok

dbdr: 3 years and 2 months

MSmits: oddly specific

dbdr: well, that's a hint :)

SuthiwatPraesi: for real

dbdr: suddenly, poof! you're competitive

Westicles: Also, seems weird he took the time to type his two 78k results into jsgames, but didn't bother with the much better 85k score

dbdr: SuthiwatPraesi: you get better over time, that's all. there is no specific time

MSmits: Westicles let me put it this way, your result for 9 is like 5k right?

eulerscheZahl: what does that even mean, being a professional at it? doing it for a living?

Westicles: yep

MSmits: my result for 9 is 4631

MSmits: everywhere i have around 75-85% of max

MSmits: if 6k would not be the max

SuthiwatPraesi: Thanks guys

MSmits: but 5k

MSmits: then i would have over 90% of max in case 9

MSmits: it would be my best result suddenly

MSmits: by far

MSmits: so I imagine the max must be higher than yours

MSmits: using the same kind of logic as you are

Westicles: MSmits, but why would he take the time to manually play in his two lesser results into jsgames (as unimaas2 and 3), but not the much higher one? Plus all us other guys are grouped tight around a different number.

MSmits: you are saying, my bot rocks, it can't be that high. I am saying, my bot sucks, so it cant be that low

dbdr: it can happen that there is a narrow path to make a bigger main group

Westicles: If you know that guy, you should track him down and make him confess :)

MSmits: no idea Westicles, but while repeatedly running my mcts, I can suddenly jump up 600 points

dbdr: N² grows fast

eulerscheZahl: my bot completely clears 19 out of 20 boards. and somehow misses on. just some strange case where my search fails hard

MSmits: which case cant you clear and what is your score there?

eulerscheZahl: 19: 3337

kovi: btw 120 is reachable online

eulerscheZahl: just arguing about Westicles having a lower score

kovi: 120k

eulerscheZahl: it's possible to have some blind spot

MSmits: got 3989, must have cleared it

eulerscheZahl: that's pretty impressive kovi

MSmits: I think you are converging on a result thats not cleared, my score without the +1000 is 2989 so you got further on scores for regions

MSmits: might be it's just missing the reward at the far end of the tree

MSmits: beaming does that

eulerscheZahl: i know

dbdr: Until the year 2010, the top score on this setwas 84,414 points, held by the programspurious ai.5This program applies amethod called Simple Breadth Search (SBS), which uses beam search, multipleprocessors and a large amount of memory (cf. Takes and Kosters, 2009). Fur-ther details about this program are not known.

MSmits: say you also have a result that will get 2989 without the bonus. It will be dropped out of the beam in favor of your 3337

MSmits: eulerscheZahl maybe keep some random bad scores?

dbdr: there can be the same issue in MCTS if you stop exploring a branch

MSmits: sure but that can be solved with more cpu time

eulerscheZahl: nah, doing my own nonsense approach right now MSmits

dbdr: and more memory. in beam search too :)

eulerscheZahl: and tbh i'm not too involved into the game

MSmits: yeah dbdr, thats why meta mcts might be great here

MSmits: pleny of HD space available

MSmits: also currently I am losing everything when i reset my search

dbdr: going for the world record?

dbdr: the thing is, this problem seems to be researched to death

MSmits: i doubt it, but I like running meta mcts, it's fun. I'll get as far as I get

eulerscheZahl: if you want to contest top scores on a poorly analyzed subject, just put it on codingame :D

dbdr: ^

dbdr: I have several world records that way :D

MSmits: you do

dbdr: "world"

eulerscheZahl: but did you write a paper?

MSmits: yes it doesnt count unless there's a paper

dbdr: yes. but not about those ;)

MSmits: give us your secrets

dbdr: obstination is the secret. you know it ;)

MSmits: I'll request them from research gate

jacek: for $$$

MSmits: obstipation?

dbdr: ?

MSmits: heh constipated in Dutch.

Westicles: spurious_ai is Ed Mertensotto. He worked on this for years, and everybody kept writing papers saying they had no idea who he is

dbdr: let your ideas out

MSmits: Westicles did you work on this before acat put it up?

MSmits: you seemed to have a good bot so quickly

eulerscheZahl: he did in 2012

MSmits: oh

Westicles: MSmits, yes I am sampson on jsgames

MSmits: ahhhh

MSmits: can illedan maybe extend the deadline another 8 years please

dbdr: hypermarathon

Westicles: Well, I only worked on it 2 months, so you can have that long

dbdr: Westicles: you found your code but not your data, right?

MSmits: wow 2 months, that's still pretty hardcore.

Westicles: Yeah, but there are so many tuning params, they just shot straight back to the same answers, more or less

dbdr: ah, you still had the params?

dbdr: less than years for Mertensotto

dbdr: but yes

Westicles: Yeah, the code has like 10 params per test case.

wlesavo: MSmits or pirate dbdrs future article via scihub :smiley:

MSmits: ohh right

dbdr: why would I not make it public?

MSmits: $

dbdr: authors don't get paid

wlesavo: well big journals make YOU pay for open access

dbdr: ^

dbdr: racket

Default avatar.png Sonex123: i dont understand it

MSmits: you get exposure as a scientist, boosts your career

MSmits: thats why

wlesavo: there are some pure open access journal, lot of them, but not many people read them because of a flood of a junk papers

dbdr: when you work in a field, you know who else is working on it

dbdr: and what matters are the confs, where everyone can submit for free

MSmits: since i signed up on ResearchGate, I keep getting "people read your work" mails.

dbdr: that's how you know about the research

wlesavo: sure, also citating works good, people get notification aout beink cited

MSmits: Turns out 2 people read my 16 year old paper last week :P

MSmits: the only one I ever wrote

Default avatar.png JBM: read or downloaded?

dbdr: might be "people"

MSmits: not sure, hard to say

dbdr: might be "read"

dbdr: who knows

MSmits: could be a bot

MSmits: ofc

MSmits: we all know automaton2000 is looking to branch out

dbdr: reminds me of linkedin

Automaton2000: yeah but i think it should be a lot better than my bot

dbdr: "you are getting noticed" :D

wlesavo: lol

dbdr: it's the problem of those platforms, they have incentives to hook you, not to give you value

MSmits: right

MSmits: like every social media platform

dbdr: yeah

dbdr: well, the commercial ones

MSmits: like every social media platform

MSmits: well, 99% :)

wlesavo: actually after todays disscussion testset becomes understandable, somehow it didnt come up to me that its actually standartised for benchmarking

MSmits: yeah thats the nice part

MSmits: i was worried people would have put solutions online that you can hardcopy into your bot, but i didnt see any

MSmits: probably if you look harder, you could find them somewhere

MSmits: the owner of js-games could probably take the nr 1 spot :P

dbdr: yes, maybe that's one that 85K is not there

dbdr: *why

MSmits: makes sense

dbdr: I wonder if you could prove you have a solution without revealing it

MSmits: doubt it

dbdr: well, cryptography can do surprising things

dbdr: you can prove you have a certain private key without revealing it

Default avatar.png JBM: seems feasible

Default avatar.png JBM: first one can just hash it

dbdr: and then?

MSmits: dbdr isnt that because the person you are revealing it to also has information others dont have?/

Default avatar.png JBM: depends on who he'd want to prove it to

dbdr: sure, you can publish a hash to get the anteriority, if you later reveal it

MSmits: meaning you can prove you had the solution earlier?

dbdr: MSmits: no, that's the magic :)

Default avatar.png JBM: better "solutions" would need more framing

dbdr: yes

jacek: https://en.wikipedia.org/wiki/Zero-knowledge_proof

dbdr: MSmits: oversimplifying, you take huge prime numbers P and Q and publish R=P*Q. everyone knows R, but you can prove you know P and Q while it's "impossible" to find them based on R

MSmits: right

MSmits: but you are communicating with someone

eulerscheZahl: tried to submit a wrong score on the JS gaming site...

dbdr: you can do it publicly

eulerscheZahl: got a 200 OK response

eulerscheZahl: content: "Cheater!"

dbdr: lol

dbdr: they did good job

Default avatar.png JBM: classic

dbdr: JBM style

MSmits: dbdr what i mean is, you post something publicly, the person who can read it also has P doesnt he?

Default avatar.png JBM: i remember trying this with colleagues as early as 2004

MSmits: or Q or whatever

Illedan: 123,550k, but only 95%

Illedan: (╯°□°)╯︵ ┻━┻

Default avatar.png JBM: and persistently keeping up with it each time a new popular game came up

dbdr: you never reveal P and Q, those are private

MSmits: but how does someone who is supposed to be able to read it, do so?

dbdr: you can setup a channel with one person, yes

MSmits: thats what i mean

MSmits: so if you use something like this for samegame, someone has to have more information

MSmits: there has to be some central agency to check

dbdr: I'm not saying it's directly usable to prove you have a solution without revealing it

dbdr: I'm saying it's not obvious what can be donne or not

MSmits: ok, because the prime numbers thing is pretty much the only thing i know about this :P

dbdr: before the invention of public key cryptography, it probably sounded impossible

MSmits: right

MSmits: but dont you think a game has to be designed with this in mind?

MSmits: i doubt you can figure this out afterwards

Default avatar.png JBM: it doesn't take too much to include it

MSmits: sure

MSmits: that could be true

Default avatar.png JBM: you can get a lot of mileage out of just making a solution['s hash] a private key, and publicizing the public key

Default avatar.png JBM: get a solution => you can sign a "GOT IT" message for all to verify

MSmits: hmm ok

dbdr: what checks that the solution is valid?

Default avatar.png JBM: wait that's not that easy i'm getting ahead of myself

Default avatar.png JBM: game author presumably

Default avatar.png JBM: by stating what the public keys are

dbdr: echo "GOT IT" | sign-it :)

Default avatar.png JBM: that's for single known-in-advance solution

Default avatar.png JBM: but some puzzles are constructed like that

Default avatar.png JBM: *cough* NS

dbdr: :)

dbdr: yeah, that's an easier case

Default avatar.png JBM: i don't think there's a generic way for a generic puzzle

dbdr: thinking of a referee program

dbdr: if you can design sth around that it could be generic

eulerscheZahl: and then the only thing you need is an interesting game using it

Default avatar.png xlr4829: Hello

Default avatar.png Osama_Almaani: i dont get it :joy:

wlesavo: Westicles in that paper the rules are explicitly described to give 1000 points

MSmits: he was kidding about the 2000

MSmits: he just doesnt believe the high score and the score is not verified so who knows. By the way, these particular scores were not obtained by the author, but came from different scientists

MSmits: i believe them, because every search has blind spots

MSmits: (except full search)

Westicles: Yeah, just kidding. But it would be weird if case9 had such a solution. It is so dominated by one color it is one of the easier ones

wlesavo: oh sry, didnt get that :slight_smile:

MSmits: but it is still far from solved and the fact that it's dominated by 1 color, means you can get a huge bonus just from adding a few more tiles to the big clear

MSmits: so big jumps seem to me to be more likely in cases dominated by 1 color

Westicles: I'd be happy to be wrong. That's the only one where I have the record on jsgames, so I might not be an objective observer :)

MSmits: yeah and as I said, who knows

MSmits: unverified means just that

Default avatar.png petticode: Hi, I am beginner . Can anyone tell me from where i should start? :disappointed:

MSmits: beginner at coding?

MSmits: do you know the basics in a particular language?

Default avatar.png petticode: yes i have learned javascript

MSmits: start by doing easy puzzles i guess

Default avatar.png petticode: where i can find easy one?

MSmits: get used to the way input works and try to solve one that you like

MSmits: there are over 100

MSmits: https://www.codingame.com/training/easy

dbdr: in case 9, there are 60 of the main color right?

dbdr: so max score is 3600 for that

Default avatar.png petticode: can you tell me what are readLine and parseInt func?

dbdr: (62 - 2, sorry)

dbdr: tr -d '"' | tr ',;' '\n'|sort |uniq -c | sort -n

dbdr: can you do that in your format aCat? ;)

dbdr: (I mean you can, but I expect it will be more work)

Westicles: Right, and to get close to 3600 you can't clump the other colors much.

dbdr: upper bound of score for case 9: 9693 + 1000

MSmits: hmm do you use the upper bound to know you've solved it?

dbdr: no, it's surely unattainable

MSmits: I guess maybe at the last 3-4 moves your score will actually be the upper bound

dbdr: yes, you can for small boards

dbdr: I saw it mentioned for A* type searches which need an upper bound

MSmits: wonder if it is worth implementing that

dbdr: sounds rather cheap to implement, so maybe

MSmits: hm ok

dbdr: oh, euler hadn't been out of top 3 for a long time

Marchete: how are the recolored validators?

dbdr: recolored

Marchete: I mean

Marchete: I need to permute all to just find it?

Default avatar.png xlr4829: from hexa FF to decimal 255 use parseInt(FF,16) with 16 represent base

dbdr: just canonicalize the colors

dbdr: e.g. the order in which they appear first

Marchete: ahh

Marchete: much better

dbdr: you don't need to try all permutations

dbdr: I identify a board by it's top line, it's unique

dbdr: *its

**dbdr goes away in shame

MSmits: I turn the board into a long string and compare the whole thing :P

dbdr: cleaner

MSmits: just gained 800 points on case 1. I think I did 40 or so runs before

MSmits: so it is possible to get a huge jump even after lots of cpu invested

MSmits: (a run is like 2 minutes)

MSmits: possibly i just cleared it for the first time

MSmits: I still dont check that

Westicles: Which color are you focusing on for case1?

MSmits: No idea

MSmits: I do mcts

MSmits: but in rollout i avoid common color

Westicles: oh

MSmits: most common color

MSmits: it's possible that in different parts of the tree, the most common color is different

Westicles: Looks like I have red as the taboo color, but it is third most common

MSmits: oh ok

MSmits: hmm well color counts are so close that this doesnt matter in my case

MSmits: since i build a mcts tree, i will soon hit a situation in which red *is* the most common color in the rollout

MSmits: doesnt take much depth

Westicles: Hmmm. I guess it is possible that your program could figure out the best color on its own, but ultimately you'll probably have to figure out the best one and force it

dbdr: the best might be to change the tabu along the way...

MSmits: oh did you do a lot of manual forcing?

eulerscheZahl: is trictrac hardcoding?

Westicles: There isn't much scoring outside of biggest group+1000, except on a couple of the tricky ones

trictrac: yes

eulerscheZahl: then i'm relieved

MSmits: I think my best score without hardcoding is about 116k

eulerscheZahl: but Marchete with a nice score for only 50% :o

MSmits: yeah thats high

MSmits: also hardcoded i am thinking

dbdr: ice falling from the sky :o

dbdr: the earth is weird

Default avatar.png JBM: ice elemental ftw

MSmits: Marchete at nr 2

MSmits: with 159k

eulerscheZahl: saw it

eulerscheZahl: well done

MSmits: yeah

dbdr: nice Marchete

MSmits: the 50% was to check if hardcoding was going properly :)

Westicles: That's what you get for helping with the recoloring

dbdr: the hard part :D

MSmits: no doubt

MSmits: meta mcts should do great here then

MSmits: I habitually force the search in directions I think are good

dbdr: Marchete: thanks for the motivation ;)

Marchete: :D

Marchete: I know you'll beat me

Marchete: you always do

eulerscheZahl: :popcorn:

Marchete: the 50% was because I was doing only the cases without the recoloring

Marchete: I needed to link them

Westicles: Nice, that's good for fifth on that website

Marchete: and for frying bacon in my CPU

dbdr: are you running in C#, or just the player part?

Marchete: just for the player

Westicles: Is this one like NS where you can get the badge for every language?

eulerscheZahl: yes

eulerscheZahl: as long as you get 100% on optim/golf/puzzle, you get an achievement

Marchete: well, there is a puzzle whose solution was something like sqrt(2*n), or mars lander

dbdr: inb4 #1 in a minor language

eulerscheZahl: you just have to submit some dummy, doesn't even have to be your highest score

dbdr: there's a puzzle where anything is 100%, no?

eulerscheZahl: A*Craft

eulerscheZahl: and REALLY easy for CG sponsored contest

eulerscheZahl: and for number shifting

dbdr: Marchete increasing fast

eulerscheZahl: calm down

eulerscheZahl: making faster progress in that high range than me at 140k

wlesavo: damn, Marchete stole euler's rightful second place

Westicles: Not long until first

dbdr: MSmits stole my rightful #3

MSmits: you dont have better scores to submit?

dbdr: I have a bit better

MSmits: When I saw myself at 3 I figured, oh he already kicked me down again, but it was Marchete :P

dbdr: more and more people in the top 3

MSmits: :confused:

dbdr: :D

eulerscheZahl: you evil thieves. i'll sue you

Illedan: Oh, Marchete joined the party too :thinking:

dbdr: BMSMA

Illedan: Is that your algo dbdr?

dbdr: no, something Bender would reply to eulerscheZahl

wlesavo: euler should write a paper and claim second best results with hashed solutions

Illedan: hashed solutions?

MSmits: Bite My Shiny Metal Ass

eulerscheZahl: i should edit the referee, submit my code and then revert to old referee

wlesavo: its kind of meme from todays chat Illedan

dbdr: fae46e47dccd500f4fd2ab937d4e0d6c814819a5f5ddd8643bcba265bf46df14 hash of my solutions with 195k points

Illedan: xD

Marchete: then submit it

kovi: duh, it looks like im the weakest of hardcoders :(

MSmits: 183266 = max from sources I checked

wlesavo: Marchete then cg would own the world best solution, no way!

dbdr: nah, I'm worried CG devs would steal my solutions

MSmits: kovi hardcoding takes time

eulerscheZahl: a 256bit hash, looks like you created one for real and weren't entering random characters

Illedan: Marchete, did you find the solutions online? :thinking:

dbdr: echo "GOT IT"|sha256sum

wlesavo: Marchete wanted to steal dbdr's solution from cg sservers

Marchete: it worked

MSmits: Illedan doubt it, Marchete is pretty good at optims as far as i can tell. He did well at numbershifting too

Illedan: I know .P

Illedan: :P

Marchete: by hand level 80 or so :D

Illedan: There is some open sourced C++ solver of SameGame on github as I saw. No idea how good

Illedan: Lol

MSmits: i saw it

Marchete: the rest of them it was done by my PC

Illedan: Solving SameGame by hand? :D

MSmits: seems crap :P

Marchete: Number shifting

wlesavo: same shifting

Marchete: it was a fun optim

Illedan: Agreed

Marchete: I pity I went out of ideas

Illedan: Until a certain level -.-

eulerscheZahl: how's the app going Illedan?

eulerscheZahl: i want to get rich

dbdr: it worked so well he got better solutions than me??

Illedan: It's the next on my list. Will finalize my blog webpage today. And then the app :)

dbdr: "tomorrow I'll start"

Illedan: Yeah, getting settled in the new house now

Illedan: getting more time for coding again

Illedan: :rocket:

Marchete: Number shifting, procastination edition

Default avatar.png Solacefire: I'm #1 in my grouping in the coders strike back challenge, how do I rank up?

Illedan: Just wait Solacefire

Illedan: There should be a timer above the leaderboard. And you need to wait for 100 % submission

Default avatar.png Solacefire: 15H 48...guess I'm done for the day

Illedan: What league?

Default avatar.png Solacefire: Wood 1

Illedan: That should be in minutes..

Illedan: Give it some time.

Default avatar.png Solacefire: Oh, it was at 15.48 GMT, I see

kovi: cant improve any more ok, after tomorrow 12am lets reset with new judges and no more mass hardcoding

SirMiska: Hey how is everyone doing today?

Default avatar.png jurkis: not great

SirMiska: Why is that jurkis?

Default avatar.png SaurabhNegi123: can anyone help me with coders strike back wood 2 league

AntiSquid: no, all the people above are stuck in wood 2 so doubt it

Default avatar.png JayBeest: i might

Melo_07: Meh

Default avatar.png JayBeest: i dmed you

Default avatar.png JayBeest: some kind of running joke or? total silence..

Laminator: facebook hacker cup round 1 starts in a few minutes. Thanks for pointing it out to me!

Default avatar.png xlr4829: Hebbik assim

Zenoscave: cgfunge prime has a bug

Zenoscave: | operator does nothing

Zenoscave: Nevermind it's my font. It should be an uppercase I (eye) not a Vertical Bar

jacek: oO

dbdr: Zenoscave: nice contrarian attitude :+1:

dbdr: cgfunge is fun

Zenoscave: I made a mistake lol

Zenoscave: Couldn't read the font in the instructions

dbdr: by conntrarian I mean, picking a different optim than everyone else

eulerscheZahl: Zenoscave is getting back to that old puzzle? nice

Zenoscave: I thought of a better algo

Zenoscave: Oh The I was for debugging. I don't know what everyone else uses

eulerscheZahl: robo is using Rabin-Miller afaik

Zenoscave: huh

eulerscheZahl: enough to test with base 2 for the given validators

dbdr: \o/

eulerscheZahl: what did dbdr break this time?

eulerscheZahl: 150k :D

eulerscheZahl: troll

dbdr: no

dbdr: 150000

dbdr: will you believe it's a coincidence?

Zenoscave: 150000 what?

eulerscheZahl: i'm sure you can score higher

eulerscheZahl: https://www.codingame.com/multiplayer/optimization/samegame/leaderboard

Scarfield: Chat Log (talk)\o/Chat Log (talk)

Zenoscave: That's what everyone was floodfilling

dbdr: right now I can't

eulerscheZahl: wait, it's a coincidence for real? :o

dbdr: yep

eulerscheZahl: and i'm back to 4th

eulerscheZahl: could beat smits but not you

dbdr: I was waiting for 150k+ to submit, and bam

MSmits: trying something new currently

MSmits: hope it helps

MSmits: I do mcts with 1 minute turns and a node pool reset. 1 run will take an hour

MSmits: I was doing 4 second turn runs without resetting tree and occasionally running out of node pool even with 80 million nodes

MSmits: and with 100 million nodes, the array gets too big, program is not allowed to run

MSmits: so i figured if i am going to reset the tree, then i might as well do loooong ass turns

eulerscheZahl: or you run it for a while, then take the first move as granted and search again from there

MSmits: thats basically what i am doing now

eulerscheZahl: ah

MSmits: I run it for 1 min, take best move and do it again

MSmits: so that will take like an hour

eulerscheZahl: the last moves should be faster if you have code to handle this case

MSmits: you mean because it sovles?

MSmits: solves?

eulerscheZahl: yes

MSmits: yeah i do

MSmits: but it does not use transpositions

eulerscheZahl: also lots of identical nodes. removing group A and B vs B and A

eulerscheZahl: oh

MSmits: not sure how to do this with mcts

eulerscheZahl: me neither :P

MSmits: how do you make zobrist work here?

MSmits: the order of actions does matter

dbdr: wasn't that discussed before?

eulerscheZahl: i have a beam search

dbdr: it

MSmits: I know

dbdr: it's not a tree, it's a DAG

eulerscheZahl: sometimes the order matters, sure

MSmits: whats a DAG?

dbdr: MCDS I guess :)

eulerscheZahl: directed acyclic graph

dbdr: directed acyclic graph

eulerscheZahl: haha

dbdr: ^

MSmits: whats the difference?

dbdr: you can have several parents

MSmits: hmm ok

dbdr: diamond

dbdr: because of transpositions

MSmits: yeah but thats true for most board games also

MSmits: so i cant call any of those trees anymore?

dbdr: https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/Polytree.svg/200px-Polytree.svg.png

MSmits: and some of my bots do MCDAGS?

MSmits: yeah I know what you meant

MSmits: so... back to zobrist, trying to wrap my head around it

MSmits: I know you xor stuff together and that the order doesnt matter and in that way you detect transpositions

dbdr: is zobrist the problem or the DAG part?

MSmits: zobrist coul dbe the solution to the DAG part

MSmits: I have too much branching because i ignore transposition

MSmits: in my mcts

dbdr: if you don't have transpositions, you have a tree, not a DAG

MSmits: I know I currently have a tree

dbdr: (technically a DAG, but not an interesting one)

MSmits: but the game is a DAG

MSmits: so I should treat it like one

dbdr: "everything is a graph" :)

MSmits: to do better...

dbdr: inb4 MCDAGSWEPT

dbdr: acronyms are fun

MSmits: lol no

dbdr: oh, SWEPT even reads nicely

MSmits: so here's my question, zobrist is coupled with actions right, not gamestates?

dbdr: it's a keeper

Scarfield: whats the w for?

Astrobytes: "with"

dbdr: WITH

eulerscheZahl: you can couple zobrist with states

dbdr: oops, not an acronym. OR IS IT?

MSmits: hmm how, if there are millions?

eulerscheZahl: every property of the state has a value

dbdr: WIde Iterative Tree Heuristic

eulerscheZahl: there's a red cell on (7,12)? hash XOR with 43627482

Astrobytes: lol dbdr

dbdr: it's acronyms all the way down

eulerscheZahl: i hate acronyms

Scarfield: IHA

MSmits: right, i get that, but the zobrist thing should not slow down your search too much.

dbdr: ^^

MSmits: you cant do this for every cell can you?

eulerscheZahl: i do :P

MSmits: hmm thats pretty awesome

eulerscheZahl: you can try incremental hashing as well

MSmits: what happens on collisions, do you have a comparison check?

eulerscheZahl: yes

dbdr: the point of zobrist is to do it incrementally, as I understand it

MSmits: so when you remove cells, you de-XOR them and re-XOR something else in place?

eulerscheZahl: for same game i'm not even sure if incremental is that much better

eulerscheZahl: there are small changes (removing a block at the top)

eulerscheZahl: but also bigger ones (block at the bottom)

eulerscheZahl: and yes MSmits

MSmits: hmm so basically at the start of the game you generate 225 * 5 random 64 bit integers?

eulerscheZahl: yes

MSmits: and then on your Apply Move thingy, you just add that in

eulerscheZahl: *6 for blank if you want. but that's redundant

MSmits: seems straightforward

MSmits: yeah blank seems redunant and expensive

MSmits: redundant

MSmits: seems doable

eulerscheZahl: i'm surprised that you didn't come across zobrist earlier

MSmits: i did come across it, i just always decided not to use it

eulerscheZahl: than i'm surprised you didn't use it :P

eulerscheZahl: then

MSmits: can you name a game or optim where i should have?

MSmits: just curious

dbdr: hypersonic maybe?

eulerscheZahl: whenever you care about duplicate states. also depends on your search

aCat: breakthrough?

MSmits: i use a map in hypersonic

MSmits: unordered map

eulerscheZahl: i like to use it in combination with minimax

MSmits: lots of xor-ing

aCat: other multis with simple states to check collisions when minmaxing / mctsing?

eulerscheZahl: e.g. my checkers bot has it

MSmits: hmm eulerscheZahl but what do you do when you come across a duplicate state?

jacek: zobrist hash eh?

MSmits: in minimax

MSmits: is not not going to interfere with alpha beta to just ignore it?

eulerscheZahl: use old score from previous run

eulerscheZahl: you have to hash alpha+beta too

aCat: you also store depth with the state info

MSmits: hmm I see

dbdr: same state -> same result

jacek: im too umb for zobrist hash. i just use my own hash

dbdr: no need to recompute it

MSmits: same jacek

MSmits: but samegame is a bit painful

MSmits: having to hash the whole thing every time

jacek: if youre asking what the transposition table is for... then its for transpositions... and for ordering using previous interation in IDDFS

MSmits: no no, i know that

MSmits: I am just trying to figure out what to use for samegame

jacek: and afaik zobrist allows you to incrementally hash things

eulerscheZahl: it does

MSmits: yeah

aCat: you just hash difference

aCat: not entire state every time

MSmits: maybe i should recode my bot to do the map as uint64_t[15]

MSmits: then i could just XOR-shift those 15 rows together

Astrobytes: MBits incoming

MSmits: well it's doable

MSmits: 3 bits per color

MSmits: times 15 = 45

Astrobytes: Surprised you didn't try it already tbh

MSmits: can also more easily shift rows

MSmits: sure

MSmits: i could have

MSmits: but it makes my head hurt with the shifting and such

Astrobytes: When has that ever stopped you? :P

MSmits: well I guess it shouldnt have, its more a matter of complication upon complication. Samegame already has a pretty complicated sim thats easily bugged

MSmits: but since its working fine now, i should try it

MSmits: i did this in ooc btw

MSmits: I had a 64 bit map for mines I think

MSmits: each cell had info of how many mines are nearby

MSmits: hmm or maybe that was 32 bit, i know something was 64

MSmits: o right, the damage map, each map could hold up to 15 damge in 4 bit

MSmits: allright, gotta go do that recoding and get some transposition magic

MSmits: oh lol my first testcase 3 runs are done. The 1 min turn time definitely helped a lot. The 3 finished ones are all near the highest score and one beat it by 2 points

MSmits: wheras my last 15 runs on 4 seconds were all worse

Astrobytes: You're doing 1 minute turns?

MSmits: yeah its something new i am trying

MSmits: couldnt keep the tree any longer due to limitations of node pool

MSmits: so i figured if i need to reset the tree anyway, why not use long ass turns

Astrobytes: Ah OK, makes sense

Zenoscave: Miller Rabin seems like the way to go

Zenoscave: Just need to figure out exponentiation

MSmits: mmh ok

Zenoscave: different puzzle sorry

dbdr: "if it's working, break it"

Zenoscave: dbdr do you exploit validators?

dbdr: yes

dbdr: of course! :)

Zenoscave: (╯°□°)╯︵ ┻━┻

dbdr: that's the fun part

Zenoscave: just if else with - :

Zenoscave: ?

dbdr: something like that

Zenoscave: mind updating the repo ;)

MSmits: which puzzle is this Zenoscave?

Zenoscave: CGFunge Prime

MSmits: ohh ok

MSmits: never done that

Zenoscave: It's a different puzzle style for sure

Zenoscave: You'd learn some new areas of programming. SOP for example

Astrobytes: validators on the repo no?

Zenoscave: https://en.wikipedia.org/wiki/Stack-oriented_programming No Astrobytes

Zenoscave: wait which repo

eulerscheZahl: same game? yes validators are public

Astrobytes: https://github.com/eulerscheZahl/CGFunge-Prime/tree/master/config

eulerscheZahl: that too

Zenoscave: glorious

Zenoscave: It changes the whole puzzle. It is now an inexact partitioning scheme puzzle

MSmits: Zenoscave has the words today

**dbdr starts to worry about his rank

Zenoscave: I'm comming for you dbdr

dbdr: :scream:

eulerscheZahl: :popcorn:

eulerscheZahl: hint: with string mode and unicode you can load constants

dbdr: on the other hand, I knew I could do better, just didn't have any reason to

Zenoscave: I know about the unicode

dbdr: but do you know about the unicorn?

Zenoscave: That part won't be hard. emoji's? unicode-9 yeah

eulerscheZahl: the unicode wasn't even a planned feature

dbdr: that's the best kind of feature

Zenoscave: did you search for best comparisons? dbdr?

eulerscheZahl: code to generate code that is interpreted by more code

dbdr: to some degree

dbdr: the 2D constraint mean it's not an obvious search

dbdr: it's interpreters all the way down

dbdr: especially if the world is a simulation

eulerscheZahl: we are all living in a huge turing machine

dbdr: which, according to some arguments, is almost certain

eulerscheZahl: the "huge" makes no sense as every turing machine can do the same

eulerscheZahl: so the Beatles were wrong

dbdr: yes, and it could take 1 year to simulate a picosecond, and we would not know it :)

dbdr: what did they say?

Astrobytes: "so the Beatles were wrong" hahahha

Astrobytes: well played

eulerscheZahl: we all live in a yellow submarine

dbdr: what if it's a universal yellow submarine?

Zenoscave: But the interpretation of what the mechanics in a yellow submarine do could count as a turing machine

dbdr: On the Turing-completeness of Yellow Submarines

   A thesis for the doctorate in Pop-Computer science, by <insert your name here>

Zenoscave: I call dibs

dbdr: it's yours. run with it!

Zenoscave: YES

dbdr: just credit the CG chat as appropriate

Zenoscave: Will do

dbdr: in the thanks section

Astrobytes: lol, 100% would read

eulerscheZahl: and smits will request your paper for free on researchgate or however it's called

dbdr: is that a scandal?

eulerscheZahl: no

eulerscheZahl: it's the epilogue

dbdr: https://www.youtube.com/watch?v=vB9JgxhXW5w

Westicles: The people running the sim are having trouble emulating all our CPUs, but they have plenty for GPUs so they are making us switch over

dbdr: didn't get the epilogue

MSmits: ahh so researchgate is a scandal

MSmits: got it

dbdr: yep

dbdr: or is it researchgategate?

Astrobytes: ^

MSmits: mmh this is too complicated for me. I'll stick with my bits

dbdr: logicgategate

Astrobytes: Ah, that time when the AND was NOT

dbdr: caused a shift to the left

Astrobytes: :smirk:

MSmits: :confused:

MSmits: well got 100% with the new bitboard, but not somewhat worse performanc

MSmits: without the not

MSmits: I am hoping the transpositions will be worth it

jacek: what about researchgate

MSmits: dunno

Marchete: westicles has better scores than most papers around there...

Scarfield: damn, was he testing your contribution, he made his submit very early iirc

Default avatar.png scout102: yanderedev

Illedan: Marchete, got link to some good papers?

Marchete: I haven't read them yet, just cross reading searching for top scores per test

Marchete: to know where to use more CPU

Marchete: I'm rotating 5 tests each hour

Illedan: ah, alright

Marchete: maybe I prefer to use more on certain tests I know I'm low

Marchete: anyways aCat_ links some literature at his github page https://github.com/acatai/SameGame

dbdr: Marchete: w wrote his bot in 2012

Illedan: dbdr, still brute force full random? :P

dbdr: ?

Illedan: Wondering if you still do montecarlo. Or changed to some fancy stuff

dbdr: I never did MC

Illedan: oh

Illedan: nvm then

Marchete: w played there http://www.js-games.de/eng/highscores/samegame/lx ?

Marchete: it seems they have the highest ones

Illedan: Yes

Illedan: He is sampson

Marchete: makes sense, I'd be 5th in that rank, but there is a big gap after his place

Illedan: But those games give negative score for not finished games I see

Illedan: Meaning they had to finish them all

MSmits: I suspect the best scores from papers also finished them all

MSmits: the bonus is quite big

Illedan: Wonder if the testcases are in the same order

Marchete: yes

MSmits: pretty sure they are, I would have noticed otherwise

Marchete: http://www.js-games.de/eng/games/samegame/lx/play

Marchete: use preset

Marchete: compare with yours

Marchete: I just randomly tested, but it seems it's the same

Illedan: :+1:

Marchete: well, they use the weird start at 1 and not 0

Marchete: so test 1 to 20 means [0..19]

Marchete: but it's the same in validators

Illedan: :+1:

Marchete: ok I broke the thing some time ago, it's not working :D

Marchete: not solving anything

Illedan: Know that feeling

Marchete: :(

Marchete: and I don't keep previous copies of the code

Illedan: -.-

MSmits: been trying to solve some bug for 2 hrs mylelf

Marchete: maybe tomorrow, sometimes a break is good to find these bugs

Illedan: Yeah, I struggle to center my DIV -.-

MSmits: center your DIV?

Illedan: html :P

MSmits: ohh

Default avatar.png JBM: ok, blaiseebuth just gave me the trick

Default avatar.png JBM: "auto" margin-left and margin-right

Default avatar.png JBM: (https://cg.desast.re/pages/temperatures.html half an hour ago)

Illedan: WHAT

Illedan: worked

Illedan: <3

Default avatar.png JBM: come to #Fr and thank him

Illedan: :checkmark:

Default avatar.png JBM: gg

Illedan: Now I can rest in peace.

Default avatar.png JBM: g'night :p

MSmits: gn

Marchete: ahhh f*ck, I've been rickrolled

Marchete: *JBM: ++rickrolled;*

MSmits: hahaha

MSmits: never gonna give you up :musical_score:

MSmits: holy crap

MSmits: holy holy crap

MSmits: I just submitted my mcts with transpositions

Default avatar.png JBM: \o/

MSmits: ohhh nvm, its my hardcoded solutions again, not my online, lol

MSmits: thought i just gotten 147k without hardcoding :P

Marchete: I was reading your blog

Default avatar.png JBM: so it's you

Marchete: damn

Marchete: :eyes:

Default avatar.png JBM: my reader <3

Marchete: I was checking the center div :D

Default avatar.png JBM: eheh

Default avatar.png JBM: well i got to learn things just by asking the question

Marchete: I mean, so elaborated post for rickrolling me...

Default avatar.png JBM: i like that ^^

Default avatar.png JBM: yeah, i tried to do it through normal means of commenting on the toad's contrib, but it wasn't enough for you

Default avatar.png JBM: i had to draw the big guns

Marchete: :D

Marchete: best rickroll ever

Default avatar.png JBM: thank you :D

Default avatar.png JBM: now upvote and troll your friends O:-)