Chat:World/2020-09-10
nishantsinha: hey
RachRay: https://www.codingame.com/clashofcode/clash/13731208b6e0f0a63567c14806ba0b9bffd3d37
jacek: good morning
gsomix: good morning, jacek
Gloryness: good morning, i got to go to school in like 2 minutes lol
Shihab_BD: hey
AntiSquid: hey no clash of code links spam please, click #clash and do it there Gv RachRay
jacek: perhaps the chat should censor those links
emysito: hello world
emysito: :wq
UndisclosedBeastAndHisDog_820d: how are you all?😊
Saptarshi: Yo bros
Saptarshi: can anyone teach me Binary Tree
sheikh18: non linear data structrure
Saptarshi: I know
jacek: [solved]
Saptarshi: but teach me the application
sheikh18: it is used in databases management
sheikh18: for optimization of query
Saptarshi: sql?
WINWINWIN: Awesome... contest details out.
jacek: the november one?
Albab: hi friends
Saptarshi: Fall Challenge?
G._ROSYADI: dont break my world break my pussy
Ventex: hold up
WINWINWIN: Jacek, yeah, I wasnt online for some time... dont know when it came out.
jacek: codingame is like vim: i cant quit
MrPianoman: VIM is only useful for generating random strings (by users unable to quit VIM)
DJSunnyOctopus_6c0c: hi everyone
sugam: how to get codinpoints
jrke: by doing clash of code,bot programming, code golf and optimization
sugam: I did code golf and i am not getting codinpoints
DomiKo: you have to wait
sugam: how much time?
jrke: it updates once a day
jrke: maybe at 0:00 UTC
sugam: i hope it's not a troll
jrke: no its truth
DomiKo: http://apps.rezonux.com/codingame/
DomiKo: here you can check your points NOW
MSmits: hi guys
eulerscheZahl: hi
jacek: are you hyped for the contest
MSmits: meh, hyped more for D&B :)
MSmits: got some success today
eulerscheZahl: still 2 months, no hype yet
MSmits: that true
MSmits: too
Illedan: HYPE
MSmits: I'll be doing that contest from a bigger room
MSmits: will be painting all weekend :(
Illedan: 8 days vacation :check:
Illedan: :checkmark:
eulerscheZahl: double fail
eulerscheZahl: do it like Mr Bean, MSmits
MSmits: what'd he do again?
eulerscheZahl: https://www.youtube.com/watch?v=T9MAmWnOznI&ab_channel=MrBean
MSmits: seems effective
jacek: what about that community contest
jacek: it starts in 2 days
MSmits: it's not really a community contest I think?
MSmits: it's like a school sponsored contest?
MSmits: prizes for students, not for us
MSmits: but you can join
MSmits: I'm not going to, I'll be doing the mr bean thing. Just gotta find some illegal fireworkds
DomiKo: wiat
DomiKo: wait
DomiKo: there are prizes?
MSmits: for students
MSmits: for that particular course
DomiKo: any student?
MSmits: not you
MSmits: it's some AI course
DomiKo: ohhh ok
sugam: I'm one of the student
MSmits: cool
sugam: but i don't know how this site works
MSmits: you'll learn soon enough, it's not complicated
MSmits: the coding can be though
sugam: how do i get codinpoints
jacek: bribery
sugam: i did couple of code golf
MSmits: competitive stuff
jacek: :soccer:
MSmits: code golf does give some, if you're ranked high enough
MSmits: but it updates at night
MSmits: so you wont see it till tomorrow
sugam: ohhhhhhh that's whyyyy
MSmits: multiplayer arena's give more CP though
sugam: what type of problems do we get in the competition
MSmits: but the programs tend to be large. Somewhere between 300 and 1500 lines each
sugam: AT competition
MSmits: same as multiplayer arena's in general I guess
MSmits: if it's separated into leagues, there's a chance you start with simple rules
MSmits: requiring simple heuristics
MSmits: as more rules get added, the game becomes more complicated to code for
sugam: where do i find Multiplayer arena
MSmits: in the end the meta will have bots with highly performant search algorithms
MSmits: https://www.codingame.com/multiplayer/bot-programming
eulerscheZahl: MSmits got the link faster than me :/
eulerscheZahl: your "contest" will be one of the games listed there
Astrobytes: I've simply given up
sugam: I want to get familiar with the environment I'll be having in tomorrow's contest
sugam: and I don't know a thing about AI
sugam: I'm a fresher and I know some DS and simple algorithms
MSmits: hmm maybe try ghost in the cell?
MSmits: seems a good gamble to practice before an unknown contest?
sugam: so the contest has one of the already existing games?
MSmits: no
eulerscheZahl: yes
Astrobytes: yes
MSmits: well
MSmits: usually it's a ripoff :)
sugam: won't they create their won game?
MSmits: if its a school sponsored contest
eulerscheZahl: for a real contest: original content
sugam: school sponsored
eulerscheZahl: the school contest is an old game
Astrobytes: He means does the unofficial contest use an existing game MSmits
MSmits: yeah
MSmits: but it's never exactly the same is it?
sugam: they got prize money too
MSmits: it's dangerous to let it be exactly the same
sugam: if it's possible to cheat then what's the point
eulerscheZahl: MSmits it's really just promoting an existing multiplayer
eulerscheZahl: we know about github
Astrobytes: MSmits, it's not a CG one, just unofficial, like thibpat's one for PR2
MSmits: if there's prize money, the top 1 of the particular leaderboard can sell their bot
sugam: lmao
jacek: hmm
sugam: so it's not going to be fair
eulerscheZahl: maybe they ask for a presentation about the AI
MSmits: sugam dont worry
MSmits: it's probably going to be at least somewhat different
eulerscheZahl: to counter the most obvious cheating at least
MSmits: yeah
Astrobytes: It's judged via a different leaderboard
MSmits: Astrobytes yeah, but if the game is exactly the same, that doesnt matter
Moctrof: you can only win prize with you are part of their school I thikn
Astrobytes: Yes
sugam: I'm part of the school
eulerscheZahl: MSmits a bit different would require additional effort from someone. staff, if it's an older game. unlikely to happen
MSmits: if there's a lot of prize money, it might be worth it?
sugam: It's less likely that anyone from our school actually knew about this site
Moctrof: prize will be a t shirt
MSmits: o
Moctrof: lol
MSmits: then I am not worried :)
sugam: it's not much $500 usd
MSmits: hmm
MSmits: yeah top players from CG wont care enough to cheat and sell their code for that much
sugam: then I'm relived a bit?
MSmits: 10x that and I'd be worried
Astrobytes: prizes - not prize money
MSmits: sugam says it's 500
Moctrof: I sell you my code
MSmits: he's from the school
Moctrof: but I suck
Astrobytes: I see it, chat hung for a moment
sugam: No I just want it to be fair
MSmits: sugam it will never be perfectly fair, but dont worry about people selling code
Astrobytes: Don't worry
sugam: so help me get started to prepare
MSmits: the unfairness will mostly be differences in available time. Some of your fellow students will code day and night
Astrobytes: The discord channel suggested to do puzzles and try CSB
eulerscheZahl: also note: these are old contests. you can find writeups on the forum
eulerscheZahl: e.g. for the last contest: https://www.codingame.com/forum/t/spring-challenge-2020-feedback-strategy/184113
MSmits: but dont practice that one
eulerscheZahl: lots of ideas without sharing actual code
Moctrof: let's team
Moctrof: ahah
Moctrof: I do the coding style
sugam: haha
sugam: No thank you it's alright m8
darkhorse64: There is a nice multi in the works: Penguins. It could solve fairness problems. BTW, it has hexes and it can be bitboarded
eulerscheZahl: the last 2 are great selling arguments for freshmen
Astrobytes: Yeah, I promised the fox I would test Penguins soon
darkhorse64: and for MSmits
eulerscheZahl: hey, just saw this contribution: https://www.codingame.com/contribute/view/543277361e1c19142b907271303db1031b34
eulerscheZahl: i like the title
MSmits: penguins are fun
Hjax: good morning
eulerscheZahl: good afternoon to you as well
Astrobytes: good afternoon
Hjax: no it cant be afternoon, i havent had my coffee yet :P
darkhorse64: I made a toy bot for the 2 levels and I wonder if the push feature is really a nice idea. It changes completely the meta and make the fishing part quite irrelevant
darkhorse64: It may be also a case of stupid bots
jacek: hex AND bitboard? what else? opening book!?
Astrobytes: It just becomes a push-fest?
darkhorse64: No, sorry. Yes and I think it's an issue
darkhorse64: But I may be wrong
Astrobytes: I would have thought the combination of fishing and aggression would have worked
jacek: but its a port of some popular game :?
Astrobytes: Will need to play it to find out I guess
darkhorse64: I don't think the push is part of the rules. At least not from my google searches
darkhorse64: My concern is that aggression takes over. In 4 player games, it's hard to defend on such a small (and decreasing) board
sugam: this code challenge requiring least characters is so flawed
darkhorse64: golf ?
sugam: will this type of challenges be in the contest?
darkhorse64: no
sugam: I'm so confused
Astrobytes: Hmm, yeah the diminishing board size would definitely contribute to that issue
sugam: how to prepare for this
darkhorse64: Practicing. Don't worry, I have been a complete noob too
Astrobytes: sugam - the contest will be a multiplayer bot programming challenge, not golf
sugam: I did bot programming
sugam: the first one where we have to race
jacek: csb?
Astrobytes: You reached Legend league in CSB already? ;)
sugam: and then I got stuck at the bronze
jacek: rock football?
MadKnight: was it ezpz ?
Astrobytes: lol
sugam: haha
MadKnight: no u gotta make it ezpz
eulerscheZahl: see what you've done Astrobytes
Astrobytes: Hey don't blame me :P
MadKnight: it's all your fault Astrobytes
MadKnight: euler said so
sugam: ah so we practice bot programming and that's it?
Astrobytes: Sure, pick a game and try it out, see how far you get
Astrobytes: Plenty to choose from
jacek: eeyup
sugam: so the contest will have the already existing games right
Astrobytes: Yep
Astrobytes: One of them
sugam: how many are there
MSmits: yeah you can try boardgames or inferior games, whatever you like :P
sugam: sorry if i'm being annoying
Astrobytes: A few: https://www.codingame.com/multiplayer/bot-programming
MSmits: np
wlesavo: csb contest would be fun :slight_smile:
Astrobytes: meh
sugam: csb I'm at bronze
MSmits: hmm, csb and no neural networks allowed?
MSmits: interesting...
Astrobytes: Whatever it is, I think it's cool Crypticsy (?) organised it for his university
sugam: i know nothing about AI
sugam: if else
Astrobytes: Don't worry, neither did I when I started here
Astrobytes: If else will get you far
sugam: haha, indeed
Astrobytes: (in a lot of games - not all)
darkhorse64: Code A La Mode is a giant if else
sugam: what are the basic prerequisites for the bot programming challenges?
eulerscheZahl: you got the trick already https://9gag.com/gag/aOYA1mE
darkhorse64: If you want to be smart, you say it's a state machine
Astrobytes: No real prerequisites other than being reasonably competent in a language
sugam: i know bit of a java
Astrobytes: If you know Java better than anything else, use it. You'll learn new stuff along the way most probably
sugam: all i know is java. I know python but not much
Hjax: java is decent for contests
Hjax: depending on the game ofc
Astrobytes: Java it is then. Keep a tab open for Google, and a tab open for SO and you're good to go ;)
sugam: SO?
Astrobytes: stackoverflow
sugam: ahh, yeah
Hjax: the tome of knowledge for all programmers
Crypticsy: a lofi channel on the side?
sugam: stackoverflow preserves the programming knowledge of entire human race,
Astrobytes: and all their mistakes :P
Hjax: im super excited for this contest
Astrobytes: I never noticed :D
Hjax: contests are the only thing that properly motivate me it seems
sugam: you're from the school, Hjax?
Hjax: i am not
x544D: Hello
Hjax: i am someone who has brief bursts of programming passion, and then quits for months at a time
Crypticsy: couldn't relate more XD
sugam: ahaha so none of yours real job is coding?
Hjax: mine is, but its kind of different from fun coding
darkhorse64: +1
Astrobytes: Mine isn't, just a nice hobby
Hjax: yeah lots of hobby programmers here
Hjax: MSmits is another
Astrobytes: though he does teach a computing class now
Hjax: im kind of curious how competitive the people from the college are going to be with the regulars on this site
Astrobytes: Are they all from the same year or varied?
Crypticsy: varied
Astrobytes: cool
Hjax: maybe some hotshot will sign up and beat us all up :D
Astrobytes: I guess some of them could be very competitive then
Astrobytes: not unheard of!
Crypticsy: Hope so too
Astrobytes: Well done for organising it, pretty cool thing to do for your college
eulerscheZahl: did you check for bots on github in regards to your game choice?
Astrobytes: woah, yeah, good point
Hjax: last unofficial contest no one managed to dethrone the #1 (re curse)
darkhorse64: Yeah avoid Hypersonic, CodeBusters, CodeOfKutulu
darkhorse64: and maybe others
Crypticsy: i haven't, still waiting for a higher database to finalize the game
eulerscheZahl: we can easily extend this list darkhorse64
Crypticsy: good point, i will do it then, let me check. But i don't want to chose a category that will be hard for the new players either
Crypticsy: choose*
darkhorse64: These are multis for which there exists top bots. I don't count the myriad of bronze bots
darkhorse64: BackToTheCode, GameOfDrones
eulerscheZahl: both have public bots around top10-top20
Hjax: isnt there a user who just copy pastes from github? just avoid games where hes high ranked
darkhorse64: That's what I meant
eulerscheZahl: was about to suggest that
Hjax: its anid right?
darkhorse64: yes
eulerscheZahl: anid or shiardeOussama
Hjax: huh, that guy copy pastes too? didnt know that
eulerscheZahl: *SihardeOussama
Astrobytes: didn't know that second one
eulerscheZahl: https://www.codingame.com/replay/478018253 that game isn't perfectly symmetric :/
eulerscheZahl: but i'm convinced it's the same bot
Hjax: you can catch cheaters if you know the public top bot
darkhorse64: His CP profile does not look suspicious
eulerscheZahl: siharde?
MSmits: eulerscheZahl seems the same yeah
eulerscheZahl: at some point there was an external site that allowed you to check which language you used to solve a puzzle
MSmits: also the bot itself might not be perfectly p1/p2 symmetric
MSmits: start two games
MSmits: with players switched
eulerscheZahl: compared that user with another cheater. both used a fair margin of different languages for community puzzles. the same in most cases
eulerscheZahl: and surprise: the problem author used the same
MSmits: do you mean the player copied the authors solution because of contribution access?
eulerscheZahl: yes
Astrobytes: That's just weak. I mean, why even bother?
MSmits: agreed
Hjax: how many languages people use for multis is an interesting topic, ive used 3: python3, rust, and java
eulerscheZahl: 2: C#, C++
darkhorse64: 1
eulerscheZahl: let's compile stats for top100 or so :D
eulerscheZahl: AntiSquid: a dozen of D bots :rofl:
MSmits: c++ for simple games, C# for complex ones, but lately I started using c++ for those too
Astrobytes: only C++ for multis for me
MSmits: i did pacman in c++
Hjax: my pacman was java and i regret it
darkhorse64: C++
Hjax: i regret many things about pacman though
Astrobytes: I regret starting it
eulerscheZahl: i regret fog
Astrobytes: (not really, but it wasn't my favourite)
darkhorse64: I regret all
MSmits: you gave a heroic try though Hjax, and don't forget to divide your rank by 3 to account for players competing
MSmits: there were soooo many contestants
Hjax: the game was just so frustrating
Hjax: and im still pretty disappointed with my result :P
MSmits: hmm, it was hard to figure out a good strategy. Lots of trial and error
MSmits: that's why i prefer board games. A lot of the time, the stuff that makes sense, also works
MSmits: in pacman, stuff that made sense, did not necessarily work :)
DomiKo: C++ gives you that advantage, that you don't really have to care about performance
just add #pragma and your program goes BRRRRRR
Hjax: at one point i was 200 ranks below the boss, and going even with the boss in my testing
MSmits: ah yeah thats frustrating
MSmits: I bet you boosted lots of players
Marchete: #pragma GCC optimize("O0") go brrrr
Marchete: hello MSmits
DomiKo: now you feel python programers
MSmits: hi Marchete
Marchete: I'm struggling with bitboards
MSmits: you need to love them
MSmits: dont struggle
Marchete: but I think I finally got the degree calculation on boxes
MSmits: whats that exactly?
MSmits: do you mean the chain counting technique from the papers?
Marchete: boxes ordered by edges
Marchete: chain counting?
MSmits: ohh ok
Marchete: not yet :D
MSmits: ah yeah thats a thing, whether you want chaincounts to be even or odd
Marchete: I mean, from Hedges and Vedges
MSmits: never bothered with that
MSmits: wait what
MSmits: hedges and veggies?
Marchete: horizontal and vertical edges
Marchete: I mean edges
MSmits: ohhhh
Marchete: calculate boxes by number of edges
MSmits: i thought you were losing it
MSmits: but what do you calculate
Marchete: lots of XOR's and bitwise operations...
MSmits: do you calculate whether you can take them?
MSmits: or whether they are twice connected?
Marchete: i mean
Hjax: i hope the fall contest is fun, so i can stop griping about pacman :P
MSmits: you mean you can pick a different game for this Hjax?
MSmits: oh wait you said fun
Marchete: on a chain, boxes[2] will be a uint64_t with all the boxes with 2 edges
Marchete: boxes[3] with 3
Marchete: and so on
MSmits: ahhh
MSmits: wanna see my poorly named variables for this?
Marchete: you posted a line about how to get boxes with 2 edges
Marchete: I tried to guess how, I can't :D
Marchete: I just redo all
MSmits: I have a bitboard for vertical lines and horizontal lines
darkhorse64: :scream:
MSmits: I do this:
MSmits: http://chat.codingame.com/pastebin/4a19cbf3-830f-4235-ac33-8391fb120df7
Marchete: probably similar
Marchete: http://chat.codingame.com/pastebin/fa4d205a-7fc0-4ee8-b435-f9f74b57e932
Marchete: but I see much less operations in yours
MSmits: well it's at least equally hard to understand whats going on :P
Marchete: I struggle a LOT
Marchete: to get 1 and 3 to work
MSmits: I used Xor for 0,2,4
Marchete: 0 and 4?
MSmits: if you xor all edges together
darkhorse64: Are you aware that exposing young kids to such code is probably illegal ?
MSmits: if it gives 0 it's either a 0, 2 or 4 edge box
MSmits: if it's 1 it's either a 1, 3 box
Marchete: 0 is just a lot of ANDs
MSmits: lol darkhorse64
Marchete: and 4 is the opposite
MSmits: yeah
MSmits: so 2 is left if you do the xor thing
Marchete: yes
Marchete: but the 1 and 3 was tricky
MSmits: so thats how i do ti
MSmits: yeah
Marchete: I did with (a|b)^(c|d)
MSmits: uint64_t doubleHor = ~(hor | horShifted) & FULL_BOARD;; uint64_t doubleVer = ~(ver | verShifted) & FULL_BOARD;; uint64_t threeBoxes = (doubleHor ^ doubleVer) & xorBoxes & FULL_BOARD;
MSmits: probably similar
Marchete: yeah
MSmits: yeah its the same
MSmits: i just & with fullboard
MSmits: not sure if it is necessary here
MSmits: but you might end up turning on some extra bits that are outside of the board
Marchete: well, "fullboard" is inUse for me
MSmits: oh ok
Marchete: because it's just a continuation
Marchete: but inUse starts as FULLBOARD, yes
MSmits: right, so we probably do the same
Marchete: \o/
MSmits: whats the problem you're having now then?
MSmits: in my case, this part of the code is really not the bottleneck
Marchete: oh, nothing. I just wanna say it to you
Marchete: it was an achievement for me
MSmits: oh ok, well it's nicely done, this is not easy
MSmits: i do it all the time and I struggled here too
Marchete: I think about bitboarding I have the big stuff
Marchete: also a for loop()
Marchete: for both edges and boxes
MSmits: hmm
MSmits: what does the for loop do?
Marchete: iterate on each active bit
Marchete: but as a for loop
Marchete: not while(xxx){ }
MSmits: ahh
Marchete: and doing stuff at the end
MSmits: http://chat.codingame.com/pastebin/9344e4af-fdf9-489a-ad96-2ecaed65a929
MSmits: my function for making random boards
MSmits: endgames that is
MSmits: i just fill it up randomly
Marchete: ahh
MSmits: i dont think i need everything i am calculating there
Marchete: nice, it can be useful
MSmits: this is for offline testing for my solver
MSmits: it can do 1k games in 1.3 seconds now
MSmits: which seems great, but then the slowest still takes a tenth of that time :P
Marchete: hmm, your horizontal mask is my vertical mask and viceversa
Marchete: const uint64_t MASK_V_EDGE = 0x7F7F7F7F7F7F7F7FULL; const uint64_t MASK_H_EDGE = 0x00FFFFFFFFFFFFFFULL;
MSmits: and if i do 100k games, there's one that takes as long as the full 1000 first games
MSmits: funny
MSmits: yeah i guess the bitboard is defined somewhat differently then
MSmits: it would make my head hurt to think about how exactly, so not gonna try
Marchete: no no
Marchete: neither me :D
Marchete: those A1 from bottom left are messy
MSmits: tbh, i havent touched this part of the code in 2 weeks
MSmits: just been doing graph stuff
MSmits: I discovered something really neat today
MSmits: you can completely ignore all independent chains of size >= 4 and all loops of size >= 8
MSmits: and just calculate them as part of the simple-game solver after all the complex objects are gone
MSmits: because you can safely play them all at the end
MSmits: this includes chains and loops that came out of complex objects
MSmits: so they are created and then postponed
MSmits: this is because they are always a netgain for the controlling player, so he will never give up control when they are offered
MSmits: so by the time the defender is offering these objects, he's offering them all, one after another, until the game ends
Marchete: why those numbers?
Marchete: like loops of size > 8?
Marchete: >=8?
MSmits: because, if you offer a loop of 8
MSmits: and the opponent wants to keep control
MSmits: he needs to give up 4 boxes
MSmits: so that's 4-4
MSmits: netgain 0
MSmits: with a chain of 4,he needs to give up 2 boxes to keep control (a double dealing move)
MSmits: 2-2 also netgain 0
MSmits: 3-chains and 4/6 loops are different because when the defender offers them, the controlling player has a net loss to keep control
Marchete: Good bless dbdr_'s chat save :D
Marchete: I'll recover that later
MSmits: what I did was disallow all offerings for these larger chains and loops until the complex objects are gone, got all the same negamax results on 1000 tested games
dbdr: :)
MSmits: and a 2-3 x speedup
Marchete: sh*t I got caught!
MSmits: hey dbdr :)
dbdr: hey!
MSmits: there's some complex stuff going on with short strings in complex objects. If I figure that out I think a 10x speedup or more is possible
MSmits: because the worst endgames consist of a ton of splits with little 1 or 2 size strings on them
MSmits: which make sense, the more splits, the more complexity and the smaller the strings, the more splits fit in 7x7
MSmits: but 1-2 length strings switch control, always, so if you have good heuristics for when this must happen, you lose the branching
Astrobytes: When can we expect the paper on D&B then?
MSmits: Well... this is actually the first time I think I could publish something worthwhile
MSmits: but I am not done with it
MSmits: i mean scientifically worthwhile
Astrobytes: Yeah I knew what you meant :)
MSmits: Though, if uttt had more attention in the scientific community, I suppose I could publish some about that
MSmits: and maybe yavalath
MSmits: but D&B seems more popular
Astrobytes: Do it anyway, niche market
MSmits: how does that work anyway?
Astrobytes: what?
MSmits: if you want to get something published into a journal when you're not affiliated with a university?
wlesavo: you can add any affiliation you want, nobody checks that
Astrobytes: Not sure tbh, most people end up approaching someone from an institution
MSmits: ah ok
MSmits: I would love to meet some of these guys. Half the papers I read are from my own country
wlesavo: you even can add your cat as coathor as story tells
MSmits: won't work
MSmits: no cat
MSmits: :dog:
wlesavo: lol
Hjax: then astro and i can be coauthors :D
Astrobytes: lol
wlesavo: uljahn as a cat
MSmits: why Uljahn?
wlesavo: he is a cat
MSmits: oh, didn't know
Hjax: his profile picture is Sakamoto from an anime called Nichijou
Marchete: http://chat.codingame.com/pastebin/8abe159b-b914-4a09-b47d-d82281cf18b1
MSmits: is this one of those things where you have infinite universes, one of them has a cat posing as a CG player succesfully by randomly hitting the keyboard?
Uljahn: Hjax: that's right
Marchete: damn, it's not clear
Astrobytes: I would guess approaching some journals in the field would work MSmits, foir self-publishing I mean
MSmits: Marchete very clear
jacek: how does publishing to arxiv work
Marchete: I mean
MSmits: i see a bunch of B's
wlesavo: MSmits actually almost any paper have email, if you will write to them im very sure they will answer you and even will agree to meet with you
MSmits: Astrobytes sure, will keep that in mind
jacek: it seems many things there are some drafts rather htan papers
Marchete: yeah, it's about different gamestates
MSmits: what are the B's ?
Marchete: but I think they should have the same Hash
Astrobytes: Good points wlesavo
Marchete: boxes
MSmits: oh you mean because for an independent chain, it doesnt matter where it is?
Marchete: it's a chain with 2 3-way boxes
Marchete: because if you cut a chain
Marchete: it doesn't matter how's painted
MSmits: right, if it is an independent one
MSmits: if it's a string, connected to a bunch of other stuff, then it does matter
Marchete: but if in both cases I end with an equivalent state
Marchete: the id of the edges are irrelevant
MSmits: yeah, there's tons of opportunity for reduction by graph equivalency. It's just very hard to make use of it
Marchete: hmm
Marchete: a simpler example
Marchete: you have 2 loops of size 4
Marchete: it's irrelevant what you open of those two
Marchete: it's the same gamestate
Marchete: no matter the edge or the loop itself
MSmits: yeah, for my hash I just have a "loop4Count"
Marchete: you achieved that?
MSmits: the funny thing is, I can fit all information about an endgame in a single uint64_t
Marchete: creating a hash that can make that?
Marchete: in a single uint64_t?
MSmits: well.. only if it's an endgame by my definition
MSmits: yes
Marchete: impossible
MSmits: you'd think so
MSmits: however, the connections are fixed when the endgame starts
MSmits: the choosing of which object you open matters though
MSmits: so whats different between states can all be encoded within the 7x7 bits
Marchete: and I disagree
Marchete: if you reduce the game to for example 2 equal loops
Marchete: it's irrelevant the edge to open
Marchete: or even N equal loops
MSmits: true
MSmits: thats right
Marchete: so, you achieved something similar?
Marchete: I think it's pretty hard
MSmits: well it's hard to explain. What i do only works for endgames
MSmits: the symmetry i make use of is only for:
Marchete: ah, ok
MSmits: independent 1 and 2 chains
MSmits: doesnt matter where they are
MSmits: also 3 chains
MSmits: 4 loops
Marchete: no matter the length?
MSmits: and recently everything thats a long chain or a 8 >= loop
MSmits: no i count them
MSmits: you see
MSmits: 49 bits taken
MSmits: 3 bits for all possible 1 chain
MSmits: 4 bits for all possible 2 chain counts
MSmits: i mean counts
MSmits: it doesnt matter where they are, only how many
Marchete: yeah, that's my whole idea about hashing the states
MSmits: so i count them and put them in the 15 bit i have left
Marchete: graph-wise, not edge/box wise
MSmits: i use the 49 bit only for complex objects
Marchete: ok
MSmits: the only thing that matters is where they have been taken or not
MSmits: which is why you can put 1 box in 1 bit
MSmits: since the connections are fixed before the endgame starts
MSmits: where = whether
MSmits: and i use unscored states
Marchete: imo chains are different when you talk about outer edges
Marchete: ground for me
MSmits: i call them grounded chains yes
Marchete: ok
MSmits: wait
MSmits: no i just call them chains
MSmits: all my chains are grounded
Marchete: well
MSmits: if they are stuck to a split, they are strings
Marchete: except loops
MSmits: one sided grounded maybe, and one side attached to a split, thats a string
MSmits: or both sides attached to a split
Marchete: so O-O is not a chain?
MSmits: if it is isolated, it is
MSmits: but they are all stuck to the edge
MSmits: because they have to
Marchete: O-O-O-O is not a grounded chain
MSmits: it can be
MSmits: it can be in the corner
MSmits: one side on the left edge of the board, the other side on the top edge
Marchete: ▒-O-O-O-▒ is grounded for me
MSmits: you mean both sides have a connection to the edge of the board right?
Marchete: or anything with ▒
Marchete: yes
MSmits: in my defintion those are chains
Marchete: or even only one
MSmits: and nothing else is called a chain
Marchete: ▒-O-O-O
MSmits: if it's only 1, it's not a chain
Marchete: that's not a chain?
MSmits: it's a string
MSmits: because one side is on a split
MSmits: so it's part of a complex object
Marchete: hmm, now I understand your naming
MSmits: simple endgames only have chains and loops
Marchete: I only have chains :D
MSmits: how do you only have chains?
Marchete: why not?
MSmits: you mean by your definition?
Marchete: chain == graph
Marchete: grounded chain with minDegree 1 and MaxDegree 2: ▒-O-O-O
Marchete: grounded chain with minDegree 2 and MaxDegree 2: ▒-O-O-O-▒
Marchete: ungrounded chain with minDegree 2 and MaxDegree 2: a Loop
MSmits: ah ok
Marchete: and so on :D
MSmits: totally different from the papers I use
MSmits: they use my definitions
Marchete: I imagine
MSmits: some other papers use different ones though, but they are crappy anyway
MSmits: one used "circles" for loops
Marchete: thanks
MSmits: :P
MSmits: i dont mean the one you use
MSmits: the one i paid for
Marchete: you implicity said it, no problem
MSmits: it was crap and used circles and other weird names
MSmits: lol
MSmits: but anyway, we use this representation for completely different purposes
Marchete: no, but I was trying to go from edges/boxes to a higher level
Marchete: of graph representation
Marchete: and then hashing that graph
MSmits: yeah, thats much easier to do in the end game
MSmits: i dont even know where to begin when everything is so many times connected
MSmits: in my case I can just assume that when a box is played it is immediately taken and out of the game
MSmits: so i never have to worry about which edge was played
MSmits: you can only play 2-way boxes in an endgame, so as soon as you play one, the opponent takes it
Marchete: I'm in that point, at what time one need to worry about chains
MSmits: no idea really
sugam: anyone from nepal?
Marchete: and the game is impossible to score before that point
MSmits: the problem with papers about this is a lot of "rule of thumb" no hard rules
Marchete: I mean, how? I have literally no idea
MSmits: humans can guess and half-gamble
MSmits: AI needs probabilities
MSmits: stuff needs to be quantified
MSmits: thats what makes it hard to use those rules
MSmits: NN might be good for this part of the game actually
MSmits: even though the one paper i found that tried it, failed
MSmits: but was a student I think, so what did he know
Marchete: yeah, I think I saw it too
Marchete: they are all of the same university
MSmits: probably a professor that likes the game
Marchete: like they just try to do more work about some existing stuff
MSmits: Combinatorial Game Theory: The Dots-and-Boxes Game
MSmits: this one is not bad
MSmits: I took most from here though: PLAYING SIMPLE LOONY DOTS AND BOXES ENDGAMES OPTIMALLY.
MSmits: at first the theorems and corollaries make your head hurt, but you can mostly ignore all the proofs and then you're left with very specific instructions
MSmits: for simple endgames that is
Marchete: yes
MSmits: and then you try to use some of those rules for complex endgames, some stick, some stick in specific situations etc.
Marchete: I think I have them all, like pokemons
MSmits: lol
MSmits: the stuff by elwyn berlekamp I havent found useful
MSmits: this seems all catered toward human play
MSmits: he's supposedly D&B guru, but not for AI I think
MSmits: maybe i'll find more use in it when i finish the endgame stuff and i am in your situation
Marchete: well I'm using the coding as "strings and coins" game, they created that
Marchete: the graph*
MSmits: ahh yeah
MSmits: it's equivalent
Marchete: gotta go, we'll talk tomorrow probably :D
MSmits: for the endgame you need a different structure though, why keep a string of 8 coins with 7 connections between them
MSmits: sure
MSmits: wlel
MSmits: I am painting my house
MSmits: so maybe :P
jacek: painting with dots and boxes?
vortexdom: how can i put circularField in pod?
Crypticsy: you're talking about "SHIELD"?
MSmits: just paint jacek, just paint. However, if some strange patterns emerge on the walls and my wife notices, I will claim innocence
Hjax: MSmits have you experienced the tetris effect from codingame yet
darkhorse64: If you paint randomly dots, you will cover the entire wall in the end. This is Monte Carlo Paint
Astrobytes: If you paint in branches rather than dots, it is Monte Carlo Tree Painting
Hjax: honey why didnt you paint that part of the wall? uh..... im not confident enough, maybe if i paint the rest of the wall some more first....
Astrobytes: lol
jacek: https://i.pinimg.com/236x/df/b6/8e/dfb68eb13c199a3753a67866b972346f--straight-lines-knights.jpg
Astrobytes: UCT for arborists: they relax more the higher in the tree they climb
Astrobytes: lol jacek
sugam: where did i heard monte carlo before...
sugam: oh yes the assignment from princeton's algorithms course
jacek: this is also a place in monaco
jacek: where they plant trees
Astrobytes: hahaha
MSmits: hjax, tetris effect?
Hjax: when you play a game too much and start seeing it everywhere or dreaming about it
MSmits: oh right
MSmits: I think it's the other way around
MSmits: sometimes other things affect my codingame time
Hjax: ah, i would have expected you to see UTTT in the clouds by now :P
MSmits: I have had CG affect dreams a few times
MSmits: but most of it was during contests
MSmits: and not lately
MSmits: first few contest I was a bit more dedicated
MSmits: since i discovered boardgames they are less interesting to me so i am a little more sane about them
MSmits: during some contests I actually woke up randomly in the night, ran to my PC to code up some stuff before I forgot it
MSmits: not kidding
Hjax: ive definitely woke up with a fully formed coding idea in my head before
Hjax: usually the solution to a bug
MSmits: yeah
MSmits: mostly this happens when I go for a walk, but I think going for a long walk and dreaming are similar states of mind in this regard
Hjax: once i knew the exact line of code that was wrong and why, its was almost surreal
MSmits: you are processing
MSmits: yeah it seems surreal
MSmits: I suggest going for walks between coding complicated stuff
Hjax: oh i love walks, i think more clearly when im moving
jacek: try lucid dreaming and using computers in dream. thats surreal
sugam: can we see when the user joined this website?
MSmits: you can check their profile
MSmits: with the codingpoints history
MSmits: thats roughly when they started I guess
MSmits: coding rank i mean
sugam: where do i check the coding points history
Astrobytes: The graph on the profile
jacek: graph eh
Astrobytes: Yeah, click on the 'Ranking'
MSmits: you dont see it for your own profile sugam
MSmits: it's too new or because it has no cp, not sure
MSmits: try one of ours
DomiKo: no CP
MSmits: makes sense
sugam: ok wait..
Hjax: so on my profile sugam, see where it says im ranked 335th? click on that
MSmits: you need to hover over the dots in the graph
MSmits: 21 march 2018 for Hjax
Hjax: ?
MSmits: same day for me apparently, :confused:
sugam: oh yes
sugam: i saw
Hjax: my account is much older than that
MSmits: yeah something is off here
Hjax: my graph goes back to oct 22 2014 for me
sugam: 37k ranking
Astrobytes: Yep, that's what I get
sugam: started from 8th sept
MSmits: oh right
sugam: how good is this?
MSmits: yeah i did something wrong Hjax
Hjax: and then you can see the massive period of inactivity until last year when i actually started playing
MSmits: sugam overall ranking is not very reliably as a judge of skill
Astrobytes: Yeah, I have the same, 2015 though
sugam: what do i check?
MSmits: if the ranking is very high, you can, at most say, someone is "pretty good"
MSmits: but the top players can't be distinguished by rank
MSmits: sugam contests are a reasonable estimate, but not perfect, so you could use contest rank
MSmits: contests require players to have plenty of time to participate though
MSmits: in a short timespan
MSmits: not everyone can do that
sugam: hmm... i see
Hjax: theres quite a few players who are serious contenders to win any contest they play in that arent in the top 100
DomiKo: first 100K points
DomiKo: are just grinding
Hjax: karliso and teccles come to mind
MSmits: yeah they are good
MSmits: re curse also
Hjax: hes rank 21 though
MSmits: he is also ranked high, but he's better than most that are ranked above him
sugam: I'mma go practice i think
MSmits: even though those guys are all good
MSmits: re curse is pretty awesome as a competitor
DomiKo: i have to say
Hjax: he might be the best if hes taking a contest seriously, his track record is pretty insane
DomiKo: when i joined the site
DomiKo: i thought that re curse is a god
Hjax: well, you arent wrong
DomiKo: just by looking at his performance on contest
Hjax: hes won many things
MSmits: he's awesome, but not alone in that, there are a few others, but not many at all
MSmits: i am very impressed by karliso personally
MSmits: because he seems to have very little knowledge and uses it to great results
Hjax: yeah, i learned about him the hard way in utg
Hjax: last minute rank 1
Hjax: outdid teccles who was crushing everyone at the end
MSmits: he's always asking about algorithms on chat that every one knows and then he uses them to get nr 1
MSmits: teccles is good too, i think he has the best uttt minimax
DomiKo: wow
DomiKo: if he do something he seriously do it
Hjax: theres also the_duck, who im afraid of because of previous coding contests outside of codingame
MSmits: his uttt bot has 3x more lines than mine :P
MSmits: karliso's i mean
Hjax: he did quite well in utg and then vanished
MSmits: yeah he just does contests
MSmits: like the guy that won locam
MSmits: forgot the name
Hjax: the_duck won battlecode 3 years in a row, only person to do that
MSmits: wow nice
sugam: Maybe the real treasure is the friends we make along the way
MSmits: sugam this is a great place to find likeminded people and discuss stuff so I guess you're right
MSmits: it's also a quote from somewhere :P
Hjax: cg honestly has a great community, mostly due to the 10 or so super active skilled people that frequent this chat
Astrobytes: CG has a good community around it for sure
sugam: i can see that
DomiKo: yes
Hjax: (like smits, astro, and euler)
sugam: it's my second day and I'm hooked
DomiKo: community is really the best thing there
sugam: not as a hooker
DomiKo: if you just ask here, you can do some much in a really short time
Astrobytes: Very true
Astrobytes: *ask the right questions
DomiKo: I can say it from my experience :sweat_smile:
DomiKo: and read forum
DomiKo: there is a lot of knowledge
Astrobytes: :+1:
Hjax: the postmortems are great
Hjax: (and fun to write after a stressful contest)
im.aryan7: here anyone who is in school?
markyy: the duck reached level 12
MSmits: class 10 is a bit meaningless internationally. Different countries organize schools differently
MSmits: I usually try to say the age + cognitive level
MSmits: ahh ok
MSmits: almost 40 here
im.aryan7: whats cognitive lvl
MSmits: how smart they are
im.aryan7: i started using this website 2 days ago
DomiKo: you can find people with various age
DomiKo: 21 here
MSmits: if you're here on codingame your class is probably high cognitive level
AntiSquid: i am 30 + 2i years old
MSmits: why are you adding complex numbers to your age?
im.aryan7: whats the average age of people?
MSmits: people in general?
Astrobytes: I'm 38
Astrobytes: I think
Hjax: im 24, i think the average age on this site is older than i am
TrippTrapp84: My age is 3rd dimensional, nerd. I'm a solid 12 +2i - 5k
MSmits: Hjax of the active people it is, but maybe not the lurkers
DomiKo: Hjax active people are older*
Hjax: at least the average age of chatters is older than me :D
MSmits: yeah
im.aryan7: just completed that thor episide 1
MSmits: good
im.aryan7: so what do you guys do here? you all might be in jab aleady
DomiKo: nahhh
DomiKo: I don't work
DomiKo: work is not fun
Q12: It is for fun
im.aryan7: anyone who completed thor episode 1?
Hjax: im a software engineer
Q12: Yes me im.aryan7
Q12: I don't want to share my age in public
Q12: :thumbsup:
Hjax: with a small amount of googling you can find my real name and age on the internet, so it personally doesnt bother me to talk about myself
Q12: But I am pretty young...
im.aryan7: what is your size code Q12
im.aryan7: when you coded thor
Q12: Wait a sec I checking
im.aryan7: i might me younger than you!
Astrobytes: The age range on here is between 12/13 and 50s/early 60s
Astrobytes: afaik
Q12: All my lines together are 107 but I start this puzzle in my first month here and didn't touch him since
Hjax: im trying to think who the oldest user ive talked to on this site is
Astrobytes: Yes im.aryan7, jrke for instance is 13 (and pretty good)
Hjax: PatrickMcGinnisII i think is in his 50s?
im.aryan7: i started coding at that age
im.aryan7: and came to know about this 2 days ago
Astrobytes: Yeah I think so Hjax
Hjax: yeah i first learned how to program when i was about 13 as well, but i was realllllllllllllllllllly bad
Hjax: i played aichallenge ants and planet wars
AntiSquid: hey my teachers were first pretending to teach me how to code when i was 12 also
AntiSquid: was playing games in class back then
Q12: I stumbled this website after a long time of searching good place to practice code. I don't know how it is know but I think if you will publish the website more he will have a lot more users.
Q12: *now
im.aryan7: how to you mention someone on this chat?
Hjax: you just say their name
Astrobytes: Just type their username
Hjax: yeah, that message was red for me im.aryan7
Astrobytes: yes im.aryan7
Hjax: :thumbsup:
im.aryan7: ohh i could not see it red
Hjax: yeah its only red when someone mentions you
Astrobytes: ^
AntiSquid: you must say it 3 times to successfully summon
Astrobytes: lmao
Astrobytes: (he's joking)
AntiSquid: ofc i am
Hjax: Automaton2000 Automaton2000 Automaton2000
Automaton2000: you have a list of possible moves
Hjax: see magic
AntiSquid: i have pings turned off, i'll never answer just because you ping me
Astrobytes: hahaha
Hjax: :D
im.aryan7: i know he was Astrobytes :wink:
sugam: ah i hate this. I'm doing clash of code and they give a very tough question to solve in the shortest character and then I can't even solve and can't even understand the code of the competitors
sugam: i hate my life
Hjax: clash isnt the best way to practice
Hjax: better to do something you can take your time on
sugam: I'm super demotivated
Hjax: whys that
sugam: everybody are smart except me
Gloryness: im not smart
Hjax: experienced*
Hjax: which is something you can overcome with practice
sugam: should i do the puzzles
Astrobytes: Do the easy puzzles, don't clash for now
sugam: or the bot?
Astrobytes: Both if you like
Hjax: start with puzzles until you get comfortable id say
Hjax: then try a multi that looks fun / easy
sugam: okay. I think I'll pull an all nighter today
Hjax: arent you playing the unofficial contest? being sleep deprived wont help you
Astrobytes: Hey, sleep is great you know
Hjax: it starts only 2 days from now
sugam: yes I am playing that
sugam: I should prepare for that init?
Hjax: being well rested is important too
Astrobytes: ^
sugam: it's 11;20. I'll try to solve puzzle for 40 mins
The_Auditor: anybody did the weekly chalange ?
Q12: Yes
The_Auditor: my solution passes all tests except Validator 1
im.aryan7: where is weekly challenge
The_Auditor: can't find what the problem is...
Q12: Maybe your program run for more time then needed
Q12: Click the bell in up right of the screen and there should be message that her title is puzzle of the week, just click it
The_Auditor: this one this week: https://www.codingame.com/training/medium/fair-numbering
The_Auditor: it's medium . . . soo not easy
Q12: you welcome :relaxed:
im.aryan7: you too The_Auditor
The_Auditor: my solution does preaty well on the "stress tests" included in the puzzle description, i doubt it's that
Q12: http://chat.codingame.com/pastebin/896f2a16-a523-426f-b101-cc462ffc64f7
Q12: This is the input
Q12: http://chat.codingame.com/pastebin/76cb2f3a-8a37-41d5-a60e-8ed3a77fb94e
Q12: this is the output
Q12: now you can check yourself
The_Auditor: thanks
Q12: :thumbsup:
The_Auditor: found the error in an edge case...thanks
kpackapgo: How do you know for example that E middle line is "## " and not the same as upper and bot lines "### "
kpackapgo: ok got it :D
jacek: :tada:
Q12: I am trying to put spaces between numbers in the statement of contribution to make them look like there are in grid but when I click send It's like erasing all the spaces I put. Can somebody help me?
Q12: and it's leave just one space between each number
jacek: hmm https://arxiv.org/abs/2009.04374
Hjax: thats a strange use for alphazero lol
MSmits: instead if playing the game better it makes the game better?
MSmits: of
jacek: maybe it will invent yavalath 2.0
jacek: without the need of pie rule
MSmits: impossible
MSmits: the game is already perfected
SituatedDust: anyone feeling bored wanting to help me debug my code for code of the rings?
elderlybeginner: I'm struggling with clojure. Any ideas: https://bpa.st/EE2A
elderlybeginner: that's 'roller coaster' - I need it in clojure :)
Tiktaktorix: try another language?
jacek: sacre bleu
AK-47: How can i hide this shit?
ajeetkharel: bottom left LOL
ajeetkharel: click on "play like button"
jrke: anybody knows sqlite here in python flask?