From CG community
Jump to navigation Jump to search

nishantsinha: hey


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

Default avatar.png UndisclosedBeastAndHisDog_820d: how are you all?😊

Saptarshi: Yo bros

Saptarshi: can anyone teach me Binary Tree

Default avatar.png sheikh18: non linear data structrure

Saptarshi: I know

jacek: [solved]

Saptarshi: but teach me the application

Default avatar.png sheikh18: it is used in databases management

Default avatar.png 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)

Default avatar.png 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: 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?


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


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

Default avatar.png knight212: hi

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

Default avatar.png LoukasPap: :space_invader:

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:

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:

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:

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

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: 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:


Marchete: probably similar


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: 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


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: 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


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)

Default avatar.png im.aryan7: here anyone who is in school?

Default avatar.png im.aryan7: class 10

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

Default avatar.png im.aryan7: i am 16

MSmits: ahh ok

MSmits: almost 40 here

Default avatar.png im.aryan7: whats cognitive lvl

Default avatar.png im.aryan7: ohh

MSmits: how smart they are

Default avatar.png im.aryan7: okh

Default avatar.png im.aryan7: i started using this website 2 days ago

DomiKo: you can find people with various age

DomiKo: 21 here

Default avatar.png im.aryan7: so i am a newbie

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?

Default avatar.png im.aryan7: whats the average age of people?

MSmits: people in general?

Default avatar.png im.aryan7: yeah

Astrobytes: I'm 38

Astrobytes: I think

Hjax: im 24, i think the average age on this site is older than i am

Default avatar.png Dragon0l: 18

Default avatar.png TrippTrapp84: My age is 3rd dimensional, nerd. I'm a solid 12 +2i - 5k

Default avatar.png im.aryan7: i am 16

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

Default avatar.png im.aryan7: just completed that thor episide 1

MSmits: good

Default avatar.png im.aryan7: so what do you guys do here? you all might be in jab aleady

Default avatar.png im.aryan7: job*

DomiKo: nahhh

DomiKo: I don't work

DomiKo: work is not fun

Q12: It is for fun

Default avatar.png im.aryan7: yeah!

Default avatar.png im.aryan7: anyone who completed thor episode 1?

Hjax: im a software engineer

Q12: Yes me im.aryan7

Default avatar.png im.aryan7: whats your age?

Q12: I don't want to share my age in public

Default avatar.png im.aryan7: ok no problem

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...

Default avatar.png im.aryan7: what is your size code Q12

Default avatar.png im.aryan7: when you coded thor

Q12: Wait a sec I checking

Default avatar.png im.aryan7: i am also young

Default avatar.png im.aryan7: i might me younger than you!

Astrobytes: The age range on here is between 12/13 and 50s/early 60s

Astrobytes: afaik

Default avatar.png im.aryan7: 12/13 years old!?

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?

Default avatar.png im.aryan7: i started coding at that age

Default avatar.png 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

Default avatar.png im.aryan7: :joy:

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

Default avatar.png im.aryan7: yeah!

Default avatar.png im.aryan7: how to you mention someone on this chat?

Default avatar.png im.aryan7: do*

Hjax: you just say their name

Astrobytes: Just type their username

Default avatar.png im.aryan7: ok Hjax

Hjax: yeah, that message was red for me im.aryan7

Default avatar.png im.aryan7: ok Astrobytes

Astrobytes: yes im.aryan7

Hjax: :thumbsup:

Default avatar.png 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

Default avatar.png im.aryan7: okay

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

Default avatar.png 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

Default avatar.png im.aryan7: where is weekly challenge

Default avatar.png im.aryan7: ?

The_Auditor: can't find what the problem is...

Default avatar.png im.aryan7: i am new here

Q12: Maybe your program run for more time then needed

Default avatar.png im.aryan7: for 2 days

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:

The_Auditor: it's medium . . . soo not easy

Default avatar.png im.aryan7: thanks Q12

Q12: you welcome :relaxed:

Default avatar.png im.aryan7: you too The_Auditor

Default avatar.png im.aryan7: :blush:

The_Auditor: my solution does preaty well on the "stress tests" included in the puzzle description, i doubt it's that


Q12: This is the input


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 "### "

Default avatar.png aqbed2je1: awesome

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

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:

Default avatar.png JBM: try another language?

elderlybeginner: that's 'roller coaster' - I need it in clojure :)

Tiktaktorix: try another language?

jacek: sacre bleu

Default avatar.png AK-47: How can i hide this shit?

ajeetkharel: bottom left LOL

ajeetkharel: click on "play like button"

Default avatar.png AK-47: Thanks. :)

Default avatar.png LinhT.Nguyen: hello worldo

jrke: anybody knows sqlite here in python flask?

Default avatar.png DJSunnyOctopus_6c0c: hi