Chat:World/2021-07-27

From CG community
Revision as of 05:29, 28 July 2021 by Chat Log (talk | contribs) (Created page with "File:Default_avatar.png AJamal31: the leaderboard on the compete section and the rankings on the person's profile <img src=/a/59449061195531> BlaiseEbuth: The ranking on...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Default avatar.png AJamal31: the leaderboard on the compete section and the rankings on the person's profile

BlaiseEbuth: The ranking on the profile correspond to the global leaderboard.

Default avatar.png AJamal31: so what does the leaderboard on the compete sectino mean?

BlaiseEbuth: My bad. I said 'global' instead of 'general'. The ranking on the profile correspond to the 'general' leaderboard in the compete section.

Default avatar.png AJamal31: lol i'm still confused

Default avatar.png AJamal31: i literally found out about this site today

BlaiseEbuth: No problem. What don't you understand ?

Default avatar.png AJamal31: When I go to the compete tab, my rank says 3000 something but on my profile it's like 400,000... I don't understand the difference

Default avatar.png AJamal31: like who am I being compared to in the 2 different rankings

BlaiseEbuth: You're looking to the Clash of Code leaderboard.

BlaiseEbuth: At the top of the leadeboard page there are tabs, you have to click on the first one, 'general' to see what is displayed on your profile.

BlaiseEbuth: https://i.imgur.com/V9rfFo4.png

Default avatar.png AJamal31: oooo i see

Default avatar.png AJamal31: thanks!

Default avatar.png AJamal31: general is combination of everything and clash of code leaderboard is only for clash of code... makes sense

BlaiseEbuth: AJamal31, if you want details, click on the '?' beside your rank on your profile.

BlaiseEbuth: https://i.imgur.com/iYQd2AR.png

Default avatar.png AJamal31: I only have the progression box: https://www.codingame.com/profile/ac73e76e943039550b0f72549c3d4d480806444


Default avatar.png AJamal31: But i see the ranking on your profile so now it makes more sense

BlaiseEbuth: Oh. Yes that's normal, since you've just registered. You'll be able to see it tomorrow.

jacek: a helpful mod? oO

BlaiseEbuth: Shit! He saw me! :scream:

Default avatar.png AJamal31: who saw you?

BlaiseEbuth: Jacek :(

Default avatar.png AJamal31: lol anyways, nice to meet you and thanks for your help

BlaiseEbuth: No problem. ;)

Default avatar.png kobebryant: hi

BlaiseEbuth: o/

Default avatar.png kobebryant: what u doing

Default avatar.png AJamal31: if you don't mind me asking, are you a student or are you working?

Default avatar.png kobebryant: working

BlaiseEbuth: Working. :older_man:

Default avatar.png AJamal31: Okay so does practicing here help with coding interviews?

Default avatar.png AJamal31: These questions int he "Clash of Code" seem much easier than like LeetCode questions

Default avatar.png AJamal31: in the*

BlaiseEbuth: Clashs aren't representative.

Default avatar.png AJamal31: what do you mean?

Default avatar.png kobebryant: u people are crzy

BlaiseEbuth: Thanks kobebryant

BlaiseEbuth: AJamal31 I thought you spoke of CodinGame tests. Well, anything that make you practicing is good to take.

BlaiseEbuth: (Even if clashs are not the better way...)

Default avatar.png kobebryant: you people are insain

BlaiseEbuth: Something interesting to say kobebryant?

Default avatar.png kobebryant: yes

Default avatar.png kobebryant: u crazy people

Default avatar.png kobebryant: bye ncrazy people

BlaiseEbuth: Bye

Default avatar.png kobebryant: hi

Default avatar.png kobebryant: me still here

Default avatar.png kobebryant: me soo dumb

Default avatar.png kobebryant: ji

Default avatar.png kobebryant: anyone here

BlaiseEbuth: Stop kobebryant. Last warning.

Default avatar.png AJamal31: Great meeting you, I'm gonna head off. It's really late here

BlaiseEbuth: Good night!

Default avatar.png kobebryant: ok

Default avatar.png Despair97: as a noob,i like the clash exercise problems

Default avatar.png Despair97: generally i cant provide a valid answer in ~10 mins but i take the question and solve it myself in time

derjack: that what puzzles are for

ShishirBoss: ?

Default avatar.png Maxim251: http://chat.codingame.com/pastebin/d51b5b6f-a3fd-4fee-971c-b20848b0ff84

Default avatar.png Maxim251: http://chat.codingame.com/pastebin/e5c4e82c-f16b-43c9-8d0f-fe9e000f73e5

Default avatar.png Maxim251: Who was playing Custom Game Of Life in codingame? There is rule which I dont understand

Default avatar.png MoosDruide13: hello

Default avatar.png Kaldesyvon: hi

Default avatar.png Fastman: Hello everyone

Default avatar.png Fastman: How continue solving the problem in clash of code?


struct: search the puzzle here

struct: https://eulerschezahl.herokuapp.com/codingame/puzzles/

Default avatar.png Fastman: Ok, thanks

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

Default avatar.png miri613: where are you from?

Default avatar.png miri613: TobiasA?

BlaiseEbuth: (╯°□°)╯︵ ∀sɐıqo⊥

TobiasA: how dare you

BlaiseEbuth: ┬─┬ノ( º _ ºノ)

BlaiseEbuth: Poor table...

Default avatar.png jacksunlk: hello

MSmits: i did not know you can flip people

MSmits: very cool

MSmits: flip me

sprkrd: that sounds uncomfortably sexual

TobiasA: MSmitsノ( º _ ºノ)

BlaiseEbuth: (╯°□°)╯︵ sʇıɯSW

oxydowe: is there any chance to see Codepilot using CoC solutions? that would be fun! :-)

captnBill: :eye:_:eye:

Default avatar.png miri613: :hand_splayed_tone1:

MSmits: thanks BlaiseEbuth

darkhorse64: Did more blood towards the brain improve anything for you ?

MSmits: yeah

struct: I cant understand

struct: anything I change gives no improvement

struct: this win was decent but its not consistent

struct: https://www.codingame.com/replay/572451905

MSmits: record the moves done, make a list of states and moves. If state == listed state -> make winning move

struct: nah

struct: Might be the time to finish the book

Default avatar.png JoeOrtega: for (let i=0; i<n; i++) {

   for (let j=0; j<n; j+=1){}

}

Default avatar.png JoeOrtega: why is this loop not iterating the whole table ?? any help !!

struct: is the table n*n?

Default avatar.png JoeOrtega: its n*1

Default avatar.png JoeOrtega: i am trying to compare two numbers in the table !

struct: i mean is the number of rows equal to the number of columns?

struct: ah

Default avatar.png JoeOrtega: no

struct: so its a 1d array right?

Default avatar.png JoeOrtega: yes

struct: is this for which puzzle?


struct: if you make j start at i + 1 so let j = i + 1

struct: but if you just want to iterate over the array

struct: 1 for loop is enough

struct: that is looping n * n times

Default avatar.png JoeOrtega: ah ok thank you !! i see

eulerscheZahl: what's that new achievement? https://prnt.sc/1gmfgh1

DaNinja: points if you rate other players puzzle solutions

struct: rank puzzle

struct: solutions

struct: yeah

struct: da ninja was fast

Astrobytes: also, someone should tell them that examinateur != examinator

eulerscheZahl: i guess i'll never reach that achievement. just like "invite 20 users"

eulerscheZahl: they are French...

Astrobytes: Sure. But examinator sounds like a character that Arnold Schwarzenegger might play

eulerscheZahl: to me it sounds like someone who passes all exams in a badass way

Astrobytes: lol

Astrobytes: I reported it anyway

eulerscheZahl: found your report

Astrobytes: I refrained from pinging you

BlaiseEbuth: Examinator III: He's back, again.

Astrobytes: :D

jrke: how can i convert base64 encoded bytes or string to int?

BlaiseEbuth: You just have to click 45 times on a button eulerscheZahl. Simpler than creating 20 smurfs.

BlaiseEbuth: Or to have friends.

darkhorse64: Rating solutions: upvoting/downvoting ? I tried that with no success

darkhorse64: maybe the feature is not yet enabled

DaNinja: when you submit a valid puzzle solution, you are shown three pairs of other solutions and need to select which solution you prefer

DaNinja: I've only seen it once

darkhorse64: OK. Thanks

DaNinja: ah you get it when you click Learn for the best Coders

DaNinja: *from

jrke: yeah i also just discovered that

Default avatar.png pyprog: im giving 100$ to a random person

BlaiseEbuth: You're giving a php file?

SlurpasGasskagg: Anyone who can help me if Mars Lander rounds your X/Y-positions up, down or to closest position?

Default avatar.png Hans12345: hi

Default avatar.png a_noob: bruh

Default avatar.png a_noob: why `String.prototype.replaceAll` is shown as available in the editor, but it's not supported in the validator side?

Default avatar.png a_noob: (JS language)

eulerscheZahl: BlaiseEbuth it's not about how hard it is to get there. it's about how much i care about the task reflecting that achievement

eulerscheZahl: i gave some downvotes for identical solutions in the past (stealing the creator's code). maybe it updates when i solve a puzzle

darkhorse64: Maybe it should replace captchas

eulerscheZahl: SlurpasGasskagg it's best to compute all by yourself and completely ignore the input given

eulerscheZahl: http://chat.codingame.com/pastebin/e349f8dd-d7c1-41e5-a532-abca48f96f7f

BlaiseEbuth: Isn't the purpose of achievments to make you do things you'll never done otherwhise?

Default avatar.png TheBouncyPanda_4003: hI

Default avatar.png TheBouncyPanda_4003: Hi

Default avatar.png TheBouncyPanda_4003: I am new to this thing

sprkrd: you're missing HI and hi

sprkrd: welcome then :)

Default avatar.png TheBouncyPanda_4003: I have started learning javascript, please guide me how to master promises!

Default avatar.png TheBouncyPanda_4003: hAhaha tHanks @sprkrd

Default avatar.png TheBouncyPanda_4003: :slight_smile:

Default avatar.png kresteodymium: hi

TheBeatles: hi

Default avatar.png iLoveAss69: hey

Default avatar.png iLoveAss69: is learning programming hard?


Default avatar.png iLoveAss69: i feel like i don't belong to that world :worried:

struct: at the start it might seem hard

dbdr: then it gets harder ;)

Default avatar.png iLoveAss69: well

Default avatar.png iLoveAss69: any tips for me?

Default avatar.png TheBouncyPanda_4003: and then after that?

Default avatar.png iLoveAss69: just change from java to c++ and thing went from 0 to 100 real fast

struct: code also got faster probably

Default avatar.png iLoveAss69: so

Default avatar.png iLoveAss69: just keep trying and it will eventually get into your head

Default avatar.png iLoveAss69: is that right?

struct: yeah learn by doing

Default avatar.png iLoveAss69: damn you're a master in c++

struct: why?

Default avatar.png iLoveAss69: how many years does it take to be on that level?

Default avatar.png iLoveAss69: i looked at your profile

struct: I think it changes from person to person

Default avatar.png iLoveAss69: very impressive thing

struct: I took a while tbh

Default avatar.png iLoveAss69: did you struggle in the beginning?

struct: yes

Default avatar.png iLoveAss69: the pointer and reference thing

Default avatar.png iLoveAss69: you have some hard times with those too?

struct: not anymore

struct: but when I started I took some time to understand it

Default avatar.png iLoveAss69: you must be a senior developer

Default avatar.png iLoveAss69: do you have any advice for the juniors of us?

Default avatar.png iLoveAss69: i love coding but i'm having some hard times

struct: im still at uni

struct: the normal advice I give is practice

Default avatar.png iLoveAss69: oh

Default avatar.png iLoveAss69: ty

Default avatar.png iLoveAss69: well

Default avatar.png iLoveAss69: it feels very comfortable to express my thought to some random person on the internet

Default avatar.png iLoveAss69: have a good day

Default avatar.png iLoveAss69: bye

BlaiseEbuth: [RANDOM][OLD]struct

Default avatar.png TusharPandey: How do I know which question has character count as criteria?

struct: it should say at the top

struct: if its shortest mode or not

Default avatar.png TusharPandey: Thanks!

martinpapa69: any idea why my clang consume 10gb of ram, when a compile a codingame-sized project ?

struct: memory leak?

eulerscheZahl: some nested defines that blow up the code size?

martinpapa69: i mean, the compiler consomes the ram during copiling

eulerscheZahl: did you try another compiler?

martinpapa69: nah

martinpapa69: ye mbe i should

reCurse: That doesn't sound right at all

reCurse: Using clang all the time with no such issues

martinpapa69: maybe some compatibity issues with linux subsytem

Default avatar.png lets_think: line

jacek:

Default avatar.png Eagermoney: so Ive been trying to learn code from scratch rn and I can figure out how to end a code and start a new one you guys have any idea how to do that?

StepBack13: lol, depends on what language?

BlaiseEbuth: Usualy, I do ctrl+s, ctrl+f4 and ctrl+n. That's all

RoboStac: martinpapa69 - I used to have that problem, the old version of clang on the default wsl distribution is very memory hungry

jacek: was it made in java?

martinpapa69: ye, it works fine with clang12. thx!

reCurse: Huh, TIL. I always updated before using.

jacek: huh, at work i never update during deadline

reCurse: *using for the first time...

jacek: if using for the first time, then its not update

reCurse: Not sure if you're trolling.

struct: its jacek

reCurse: In case you're not, after installing wsl2 I update compilers and other packages

reCurse: In case you are, I'm done

BlaiseEbuth: There's no trolls on this chat...

reCurse: Usually better when it's tied to an attempt at being funny

jacek: was not funny?

jacek: :rage:

BlaiseEbuth: Don't worry jacek, one day he'll be able to understand humor. Emergence can take time.

reCurse: :rolling_eyes:

FalINTOblivion0112: lol

reCurse: Time for another CG break I think

jacek: :no_mouth:

BlaiseEbuth: Hmm...

Default avatar.png ChirathPansilu: Hello

Wontonimo: hey ChirathPansilu

Wontonimo: what's your programming lang of choice?

Medoo: i like how c works

struct: are you participating in sogeti Wontonimo?

eulerscheZahl: are you, Tobou?

struct: yes

struct: and yes

eulerscheZahl: what's the 2nd yes?

struct: im tobou

struct: Im done with bt

eulerscheZahl: that's out of question

eulerscheZahl: that you are tobou

struct: im still not sure if im participating tbh

struct: ive submited my fb smitsimax that got to bottom gold

struct: but that was about it

eulerscheZahl: so you are more invested than I am :P

Astrobytes: you never do the physics ones

struct: I would be trying more if I was eligible for any of the prizes

struct: bt tilted me

eulerscheZahl: i never do the semi-private ones

struct: im never touching it again

Astrobytes: you've done one or 2 no?

eulerscheZahl: last was the planets game. but i didn't play until the end

Astrobytes: that's what I was thinking of

eulerscheZahl: that was a new game

Astrobytes: true

eulerscheZahl: those 90% existing games are boring

BlaiseEbuth: Don't worry, no more of those!

Astrobytes: indeed

BlaiseEbuth: No more sdk!

BlaiseEbuth: And only escape contest!

BlaiseEbuth: \o/

Astrobytes: No more SDK? Who said that?

eulerscheZahl: the SDK still exists

BlaiseEbuth: For now...

eulerscheZahl: sounds highly unlikely to me that they will cancel support for a working system

Astrobytes: I could see them no longer updating it at some point

struct: I have 3 options, to port arimaa, paritipate in this challenge or to try breakthrough again and probably go insane

eulerscheZahl: i don't expect much improvements/extensions. but still continued support

struct: Doesnt need improvements tbh

eulerscheZahl: you are insane already

struct: all we need is to create own modules

struct: probably

BlaiseEbuth: Why maintain it if they don't use it for business

eulerscheZahl: the SDK even got a recent update (pixi.js version)

eulerscheZahl: it's still working. and i don't think it needs a lot of maintenance

eulerscheZahl: unless they decide to update java one day? :thinking:

BlaiseEbuth: That's the point

struct: the maintenance is clear the disk when we upload new games

BlaiseEbuth: http://chat.codingame.com/pastebin/ea5a4dd7-96b9-4b8d-a958-00332b6cb3c8

BlaiseEbuth: :scream:

struct: maybe ill try bandas

struct: seems like a few hours at most

Default avatar.png ConnorKrakosky: blaise how many of these problems have u seen jfc

BlaiseEbuth: jfc?

Default avatar.png ConnorKrakosky: jesus fucking christ lol

BlaiseEbuth: Oh.

jacek: no more bt?

struct: probably not

struct: i give up

struct: :(

Default avatar.png ConnorKrakosky: blaise, howd you do the knight one in 30 seconds?

struct: maybe if I ever can manage to make a NN ill try it again

Default avatar.png Anonymous7777: he has 1,773 games completed on clash of code

Default avatar.png Anonymous7777: just checked lol

struct: weak number

Default avatar.png Anonymous7777: true

KiwiTae: he is a bot

BlaiseEbuth: Of course I am.

BlaiseEbuth: :robot:

Hexagonal: roybot

struct: tooltip bug?

struct: https://www.codingame.com/replay/572534169

struct: it seems that the spell shows 1 turn after it was cast on tooltip

struct: because score tooltip shows before spell

eulerscheZahl: blame julien

struct: unplayable

struct: now I can play something else

jacek: :notebook: :soccer:

Default avatar.png ShellyCsl: Hi

Default avatar.png ShellyCsl: my bf and I are coding

BlaiseEbuth: Or read the rule that state a spell is applyed the turn after its cast? :rolling_eyes:

struct: I did read them

Default avatar.png Mohammad_Moein: im bored

Illedan: Spell is cast 1 round later?

struct: yes illedan

struct: you can only change vx and vy when turn ends

struct: end turn apply spell

Default avatar.png Mohammad_Moein: have you see many compiler problem in this site

Illedan: :/

Wontonimo: i haven't seen any

Illedan: So, if a wiz picks up the snaffle, it has no effect?

Astrobytes: yeah, I think that's when it says "spell failed" or something like that

Default avatar.png Mohammad_Moein: in cpp code compiler cant compile your code well and many bugs

struct: it compiles fine for me

Wontonimo: Mohammad_Moein , do you mean bugs in your own code or bugs in the actual compiler ?

struct: What are you trying to compile?

Astrobytes: compiles fine for me. PEBCAC

struct: ah the compiler returns no error

Default avatar.png Mohammad_Moein: actual compiler because i write my code everytime again in vs and it work well

struct: do you still lose magic though?

Astrobytes: not 100% on that struct

struct: vs uses msvc, codingame uses gcc

Default avatar.png Mohammad_Moein: last time i use my code in gcc and it works

Default avatar.png Mohammad_Moein: yeah i know it

Astrobytes: what are you trying to do?

Default avatar.png Mohammad_Moein: i try to compute the angle and use in robot war

Default avatar.png Mohammad_Moein: when it give me x and y , i use to compute arctan

Astrobytes: and what's the error?

Default avatar.png Mohammad_Moein: not an error that function returns me just 45 deg for every x , y

Astrobytes: atan2?

Default avatar.png Mohammad_Moein: arctan(y/x)

Wontonimo: hmm, something tells me you should try atan2.

Astrobytes: ^

Astrobytes: atan2(y,x)

Wontonimo: :D

Default avatar.png Mohammad_Moein: i'll try it

Default avatar.png Mohammad_Moein: but i use "math64.h" so arctan return atan2

Marchete: lol that's next level

Default avatar.png Mohammad_Moein: thanks all

Marchete: it's not the descent game

Marchete: but the compiler

jacek: math64.h?

Astrobytes: intriguing

Default avatar.png ShellyCsl: me coding with my bf

Astrobytes: we heard you the first time.

Default avatar.png ShellyCsl: okay...

Default avatar.png ShellyCsl: print("".join(["0"if int(i)==1 else"1" for i in input()]))

Default avatar.png ShellyCsl: we like shortest mode

eulerscheZahl: 4 chars less: exec(bytes('牰湩⡴∢樮楯⡮≛∰晩椠瑮椨㴩ㄽ攠獬≥∱映牯椠椠湩異⡴崩⤩','u16')[2:])

eulerscheZahl: https://clemg.github.io/pythongolfer/ have fun

Astrobytes: that one gave me some weird line terminators that CG wouldn't accept

eulerscheZahl: worked for me

eulerscheZahl: there was a dialogue that asked me how i want to paste it

Astrobytes: worked for everything except one

eulerscheZahl: tried the first option, failed then i tried the other

Astrobytes: Hm, I had no option. Maybe I'll try again if I get bored at some point.

Default avatar.png ShellyCsl: that site is crazy!

Default avatar.png ShellyCsl: exec(bytes('牰湩⡴∢樮楯⡮≛∰晩椠瑮椨㴩ㄽ攠獬≥∱映牯椠椠湩異⡴崩⤩','u16')[2:])

Default avatar.png ShellyCsl: I can actually run that code

eulerscheZahl: replace exec by print and you will see that it unwraps to your original code

struct: now paste that into there again and run it again

jacek: :O

eulerscheZahl: An error occured. Refresh the page or check the logs.

jacek: euler must be master of shortest clashes, eh

Marchete: hacker :spy:

struct: marchete are you doing sogeti?

jacek: ur mum's spaghetti

Marchete: pasta :D

Marchete: no I'm not doing it

Astrobytes: Still doing D&B Marchete?

Marchete: I think I'll stop by now

Astrobytes: :)

Marchete: holidays for 20+ days

Marchete: without PC

Astrobytes: Nice. Enjoy that!!

BlaiseEbuth: :scream:

struct: just leave your NN on for those 20 days

struct: What can go wrong

Astrobytes: :grin:

BlaiseEbuth: :smile_cat:

Default avatar.png ShellyCsl: your bf code with you?

Default avatar.png ShellyCsl: I can tell that he is the cutest and best bf in the world

jacek: i dont have bf :(

Default avatar.png ShellyCsl: Im gonna bite his face

Default avatar.png ShellyCsl: awwwww

Wontonimo: code people. let's focus on code

Default avatar.png ShellyCsl: Im sure you can get one soon :)

PatrickMcGinnisII: oh no... code in the face :sneezing_face:

Astrobytes: Wontonimo: you doing the Sogeti contest?

Astrobytes: And you Patrick

jacek: then what are you codeing Wontonimo

PatrickMcGinnisII: like I'm clueless

PatrickMcGinnisII: trying to find my error in 2-player calculator game

jacek: calculator game?

jacek: 80085?

Astrobytes: Slowww submits

PatrickMcGinnisII: Boobs ... yes thank you

Astrobytes: BlaiseEbuth: https://www.youtube.com/watch?v=ZrOpdZMssL0

PatrickMcGinnisII: 55378008

Astrobytes: 8008135

Marchete: 3352176

MSmits: ohh the anthem of scotland

Marchete: HOW CAN I UNSEE SOMETHING?

MSmits: lots of alcohol I think

MSmits: hf on vacation martinpapa69

MSmits: argh

MSmits: marc

MSmits: Marchete

MSmits: that works

Marchete: :thumbsup:

Marchete: you are free to improve your D&B :D

MSmits: yes, I also still need to try your nn stuff

struct: NN for breakthrough when?

MSmits: so, i'll still be working on that when you come back

Marchete: I'd like NN for C4

Marchete: board seems easy to code

KiwiTae: nn for serpent!

KiwiTae: snake

MSmits: snek

KiwiTae: ups

Astrobytes: lol MSmits

struct: i can give you the win checks and stuff in avx

Marchete: my NN is not hard to get it working

KiwiTae: the frenchs are ruining my english :(

Default avatar.png TerryDenn: what is NN?

struct: neural network

Default avatar.png TerryDenn: aha

Default avatar.png TerryDenn: 10x

MSmits: no just 2

FalINTOblivion0112: 14 gold achievements

FalINTOblivion0112: not bad

Astrobytes: is there a CSB promotion computing or what?

Astrobytes: hm, 112 computing

Takos: hello

Takos: :cloud:

jacek: or maybe they lowered the limit again

Astrobytes: was fine a wee while ago

Astrobytes: Seems like it was the CSB after all. Have they reduced their server capacity too?

FalINTOblivion0112: how do you become a codingame mod

Astrobytes: Sell your soul

Astrobytes: Nah, just be regular, trustworthy and asked

Astrobytes: It's not a paid role btw

FalINTOblivion0112: dunno if blaiseEbuth sold his soul to the devil

FalINTOblivion0112: or he sold his soul to salt instead

Astrobytes: You sell your salt and souls to Blaise

FalINTOblivion0112: i like salt

FalINTOblivion0112: i can say that for certain

FalINTOblivion0112: what is even blaise gender

Wontonimo: it's good on apples

FalINTOblivion0112: SALTY APPLES

FalINTOblivion0112: YES MY FAVORITE SNACK

Astrobytes: CAPS LOCK MUCH?

FalINTOblivion0112: oops

FalINTOblivion0112: can somebody just accept my contribution on codingame

Wontonimo: you could have said you used shift for every letter to make it even more loud

Astrobytes: No. Be patient.

Default avatar.png Maxim251: salty appes?

AbhiEncoded: hi

AbhiEncoded: anyone there

MSmits: It is I

MSmits: who is here

Astrobytes: You've done it now, you've awoken Mecha-Smits

MSmits: :robot:

FalINTOblivion0112: how do you limit your clashes to only reverse clashes

MSmits: there is one way to never get shortest and speed

FalINTOblivion0112: how

Astrobytes: Think you can only do that in private clashes

MSmits: dont play clashes

FalINTOblivion0112: ahhhh thats big brain

Astrobytes: Or maybe not even, I don't clash so...

struct: i hope the fb rewrite is wrote

struct: my previous code was barely getting any sims :(

Astrobytes: True AI ftw. Who needs sims.

Astrobytes: Speaking of which, I just spotted a wild ceg in the leaderboard

struct: if I write a true ai ill need to think

struct: if i write a sim i wont

struct: its an easy choice for me

Astrobytes: :D

MSmits: prune arrays are coming to hogwarts

Astrobytes: hehehehe

MSmits: marchet e changed the whole way I am looking at D&B now

MSmits: keeping me busy

struct: my state size for FB was 10kb

struct: o.o

Marchete: :nerd:

Astrobytes: lol, embracing the graphs MSmits

MSmits: no, not that

Astrobytes: the loopy thing

MSmits: I was trying to beat mikla at the nim-game, but now I know I don't have to

MSmits: yeah that's part of it

MSmits: I basically have the tools marchete uses to beat mikla, but i wasnt using them rgiht

MSmits: thought my score solver was just cool to look at, but it can do more

Astrobytes: a 2-pronged approach is often better

MSmits: in this case it would be 3 pronged

Astrobytes: multi-pronged

MSmits: yes many prongs

MSmits: whats a prong?

Astrobytes: think of the bits on the business-end of a fork

MSmits: ah yes

PatrickMcGinnisII: prawn *

Astrobytes: prong *

MSmits: :shrimp:

PatrickMcGinnisII: ok, new name for a game search

Astrobytes: :)

cegprakash: Wingardium!! :D

Astrobytes: hey prakash, how you doing man?

cegprakash: good :D I just edited my fantastic bits bot and submitted for wingardium :D

Astrobytes: Didn't we all :D

Marchete: maybe you don't have graphs

cegprakash: hope to get some XP :P

Marchete: but you do need to floodfill

struct: Dont think this game gives XP

Marchete: check "graph" types, etc

Astrobytes: No XP for this no

Astrobytes: 1 league

cegprakash: Looks like no Accio in this version

Astrobytes: there is only Wingardium

cegprakash: Wingardium may be little OP compared to Wingardium

cegprakash: compared to Filipendo*

Astrobytes: there's no flipendo either so don't worry about it

cegprakash: lol https://www.codingame.com/replay/572588719

struct: we can wigardium wizards?

cegprakash: it's difficult to even score 1 goal against Neumann

Marchete: what's your rank at FB?

struct: bottom legend with if else but bottom gold with this bot

cegprakash: gold 229th

cegprakash: no collision detection lol

cegprakash: just take the ball and shoot to target

cegprakash: :D

struct: I had no idea that I could cast wigardium on wizards

struct: https://www.codingame.com/replay/572588607

struct: maybe also works for bludgers

cegprakash: sometimes my bot try to pass to teammate :D

cegprakash: but not really a through ball like top guys do

Astrobytes: just says 'entity' so I would assume so struct

cegprakash: top guys play through passes which is insane

cegprakash: a back pass into wingardium would be a nice strat

struct: my bot likes to take boost from bludgers

cegprakash: interesting

struct: https://www.codingame.com/replay/572496389

struct: its sim though

struct: at frame 65~

struct: since the mass of bludgers is 8, it gives a good boost to speed

cegprakash: double rebound strat wow

struct: and the pass

struct: before that

cegprakash: don't tell it's sim struct.. tell it's ur strat :D

struct: its easy to tell if a bot has sim or not from replays

Astrobytes: you don't say!!

cegprakash: will we get the source code released?

Astrobytes: No.

cegprakash: :(

cegprakash: that means I won't do sim

cegprakash: struct nice through ball :D

cegprakash: imagine this was a 5 v 5 game :D it would be a futsal

cegprakash: ppl would try different formations

YurkovAS: cegprakash https://github.com/dreignier/fantastic-bits

cegprakash: thx YurkovAS will check

cegprakash: gn all

Astrobytes: gn cegprakash, nice to see you

struct: gn

PatrickMcGinnisII: hmm, is there a codefest going on?

struct: https://www.codingame.com/hackathon/sogeti-codefest-2021

Astrobytes: Yes I mentioned it earlier to you and Wontonimo Patrick

YurkovAS: no Russia in the countries list :sweat:

PatrickMcGinnisII: ahh couldn't find it on the home page

Astrobytes: switch country temporarily YurkovAS

PatrickMcGinnisII: loaded

struct: I was in spain when i registered

struct: I going back when it ends

struct: Im*

PatrickMcGinnisII: last one didn't include USA

Astrobytes: :D

PatrickMcGinnisII: VCirtual travel is better than no travel

PatrickMcGinnisII: er virtual

Astrobytes: True

YurkovAS: :laughing:

Astrobytes: St. Petersburg, Finland! A place I know so well :rofl:

struct: https://www.codingame.com/replay/572594110

struct: I might be on to something

Astrobytes: Possibly the most exciting replay in history

struct: :D

MSmits: very deep strategy

MSmits: it's no shame if you can't see it

Astrobytes: Shifting your dudes around like that is something though

struct: this boost is from 2 wingardium 100 combined

struct: with only 1 is not much

Astrobytes: Depends how much magic you spend on it though

Astrobytes: can you cast it on yourself?

struct: ill try wingardium + thrust

struct: one sec

struct: https://www.codingame.com/replay/572595085

struct: with 2 thrust 150

struct: is not much tbh

struct: half the map

struct: and you have to spend 100 wingardium

struct: magic*

reCurse: Still there MSmits?

MSmits: yeah

MSmits: whats up reCurse

reCurse: Just wondered something about mcts solver

MSmits: ok

reCurse: How to get out of the fact that when a draw is found it never explores anything else if for some reason all other moves are seen as bad by both sides

reCurse: I'm a bit puzzled rn

MSmits: there's several ways to deal with it

MSmits: I can tell you how i do it sometimes

MSmits: ok so the idea is you have 1 child node solved as draw and the others are probably solved as loss right?

MSmits: meaning they bring up the value of the parent node, because they keep losing?

MSmits: or is this not your problem?

reCurse: No they are barely explored because the initial value is below 0

reCurse: 0 = draw

reCurse: And it keeps selecting the solved draw because it's better than losing

MSmits: do you mean initial value from policy?

reCurse: Which is good in theory but then the exploration is lost

reCurse: No it could just be initial values from low exploration

MSmits: ohh, well first of all stop selecting the solved draw

MSmits: thats a waste

reCurse: Yeah that's the obvious part

reCurse: However

MSmits: allright, but you want to prevent bias yes?

reCurse: What if it *is* the best way

reCurse: Because of zugzwang situation for example

reCurse: Then it's better to force the draw and you want to reflect that and not all the other crap

PatrickMcGinnisII: 32nd with move and throw, not fancy ... wth, anyone trying?

MSmits: ok, so what you do is, you fix it on backpropagation

MSmits: one of those bad nodes will be selected

MSmits: and some bad result will be backpropagated

MSmits: what you do is, you dont let it get past the solved draw

MSmits: so you up it to 0 when you get there

MSmits: but only as long as the bad node has a value lower than 0

reCurse: But then you have the same problem up in the parents

reCurse: It keeps selecting the 0 node

reCurse: When it's not proven because other moves are not selected

reCurse: Or can't be proven anyway

Astrobytes: Good time to post your SolverPropagation(int result) ?

MSmits: nah, i dont have a good example for this, i do this in my meta mcts

NinjaDoggy: that's not an issue is it reCurse?

MSmits: for oware

NinjaDoggy: the parent parent of the draw node should keep selecting the 0 value if other nodes are worse

MSmits: yeah i dont see the problem of selecting draws when they are obviously better

MSmits: at least until they are solved

reCurse: Yeah but the problem is the other nodes may not actually be so bad if you'd select them more

Astrobytes: The key being that the rest are solved

MSmits: you just have to prevent the bias from loss siblings

MSmits: reCurse but isnt that an eval question, why would the NN think they are bad?

reCurse: The jump from eval to solved is so massive it completely messes up the selection

reCurse: Because NNs aren't perfect

MSmits: ohh ok, so the NN doesnt have an eval thats centered around 0, is this the problem?

reCurse: They can still have wrong intuition only corrected by further search

reCurse: No

reCurse: It thinks the position is really bad but it may turn out to be not so bad

reCurse: But with 10 visits or so it's hard to tell

reCurse: And then it finds the draw too early

reCurse: And zeroes in (hoho)

reCurse: When in fact there was an obscure checkmate

NinjaDoggy: ok so if I understand this correctly basically at some node

NinjaDoggy: all the child nodes are supposed to be close to 0 in value

NinjaDoggy: but the NN outputs negative

NinjaDoggy: so then when one of them is solved for draw

NinjaDoggy: it will keep selecting that one

reCurse: Yes

Astrobytes: that's how I read it yeah

MSmits: well as i said, stop that at least

reCurse: But with more forced visits on the siblings

reCurse: The initial negative value is actually turning out to be positive

reCurse: But it never gets to explore

reCurse: Or if you want a different perspective

NinjaDoggy: doesn't this issue go away with more training?

reCurse: Let's say you're ahead in material

reCurse: You feel good

reCurse: But oh no there's a forced tactic in 4 moves you didn't see and now you lose

reCurse: All your evals will still return massive positive until more search is done

reCurse: So same with the other way around

reCurse: But draws make it entirely stop looking into bad moves

MSmits: but that kinda make sense

reCurse: You can't expect a NN to never be wrong

MSmits: from the NN perspective anyway

reCurse: That's why you back it up with a search otherwise you wouldn't bother

MSmits: of course

NinjaDoggy: increase exploration constant then?

reCurse: But the jump is massive

MSmits: lowers depth and might not let him get past the depth 4 thing

reCurse: So now it finds that draw sequence because both sides don't feel good about their position for some reason

MSmits: I'm not sure this is a mcts solver issue though. I mean it would also happen with an unsolved node that has a "draw like" eval

reCurse: And it wastes the entire remainder of the search constantly selecting that path

reCurse: Sure but you can expect your own eval to be smooth

reCurse: The terminal can cause a massive break in the smoothness

MSmits: yes that's true

Astrobytes: is this backproping the solve too early? Before checking the sibling nodes?

reCurse: No it's not backproping the solve

reCurse: It's backproping the 0 value tho

reCurse: And that's messing up with the average score very quickly

Astrobytes: Ah ok

MSmits: oh you can backprop solves though

reCurse: Yeah I do that too

MSmits: even using some form of ab pruning

reCurse: But it never gets to solve anything else anyway because it keeps selecting the draw

MSmits: lemme make my ab pruning for draws picture again, who knows, maybe it;s worth it for nn

NinjaDoggy: don't think it will resolve the issue here

NinjaDoggy: I still think this shouldn't be an issue with improved NN weights

reCurse: Just imagine you're in a losing position

reCurse: But you find a perpetual check

reCurse: But these kind of situations don't happen enough for the NN to bother learning it

reCurse: Makes sense?

NinjaDoggy: ok nvm yea I see

reCurse: Now for a perpetual that behavior is actually desirable

reCurse: So not so good example

reCurse: But say you find a draw by repetition

reCurse: Then it may or may not be valid

NinjaDoggy: except it would keep selecting the perpetual

NinjaDoggy: and not look for other lines that COULD win

NinjaDoggy: at all

reCurse: That is definitely another issue yeah

MSmits: https://imgur.com/a/gRmm2No

MSmits: in case it helps

MSmits: most people dont know this about mcts solver

reCurse: The problem is the terminal value can be so different from the eval it's messing things up

Astrobytes: No it's a fine example tbh if you just conjecture other situations with it

reCurse: For wins and losses it's fine

reCurse: Draws however...

struct: is this similar to what you are getting reCurse

struct: "PUCT algorithm from AlphaZero needs an unpractical amount of simulations to revisit optimal ac- tions where the value evaluations of the first visits are mis- leading"

reCurse: That's a similar issue but not quite

MSmits: I think us non-NN users run into this problem a lot less. We get so many sims and much depth so it evens out a bit

struct: ah, ok i was just reading how a0 implemented it

struct: this was the paper

struct: https://arxiv.org/pdf/2012.11045v1.pdf

Astrobytes: Don't you counter that sometimes though MSmits? Sure I saw you talking about it before

reCurse: You could definitely have the same issue

reCurse: Without NN

reCurse: Say you're down material

reCurse: Your eval is negative

reCurse: You find a draw by repetition

reCurse: You zero in on that

reCurse: But there's actually a forced checkmate

reCurse: You'll never find it

struct: ah re curse they mention

struct: that they handle three fold diferent

struct: on solver

Astrobytes: well, not with just one search

MSmits: allright, you're correct. I think the reason we don't encounter it is that we mostly play games with no early-draws

reCurse: Chess is also very particular on that

MSmits: so draws are always last to solve

NinjaDoggy: yea I mean this is why Alpha Beta is in general so much stronger than MCTS for chess right

Astrobytes: this is why there are multiple search types and depths used at various stages

MSmits: those "fill-up the board" games solve draws very late (like uttt, yavalath connect 4 etc.)

struct: and no draws for repetition there

MSmits: right

struct: which is a completely diferent thing

Astrobytes: NinjaDoggy yeah

MSmits: Astrobytes what we usually talk about is the bias from not selecting a solved draw and instead selecting bad nodes, making the solved draw look bad too

MSmits: if you dont correct for it in backprop

Astrobytes: 960 alphabeta variations for every step in a chess engine :P

reCurse: Hmm

reCurse: I need to propagate some information up the tree the draw exists

reCurse: And stop selecting it

reCurse: But remember it enough that if nothing better is found at the end

reCurse: Then consider it

reCurse: I have trouble formulating the algo though

MSmits: challenge is to code that without being disgusted :P

Astrobytes: MSmits right yeah, The backprop is important. That's why I suggested your solver backprop code

Astrobytes: It accounts for this no?

MSmits: yeah i dont mind sharing that, but its a complete mess inside my C# oware meta mcts code

MSmits: extremely complex

reCurse: I'm kinda hoping fixing that issue will boost my elo

MSmits: and it backprops net seed score too

reCurse: Found multiple bad plays caused by that bug

MSmits: do you have some place with a leaderboard where this bot gets tested?

MSmits: like CG's

Astrobytes: The reChess Computer I presume :D

MSmits: well of course

MSmits: but it would be cool to beat other chess engines

NinjaDoggy: just download stockfish and beat it ;)

Astrobytes: He tests with available engines

reCurse: Yeah I pick engines off CCRL

MSmits: ahh ok

reCurse: When I start beating an engine by 60% I pick another one higher

struct: he could also test it in lichess I think

reCurse: Then the equivalent hardware goes out the window

MSmits: oh it doesn't run on their stuff

reCurse: No

MSmits: thats too bad

MSmits: well good if you want to keep your stuff private

reCurse: Then I can batch all I want with all my cores

reCurse: Ah I think I found a solution

reCurse: Set a flag when a draw exists with no better score

NinjaDoggy: wait does AlphaZero/LC0 do anything special in their MCTS?

reCurse: Reset the flag when a better score is backproped

reCurse: Set it back when it falls below

reCurse: etc

MSmits: oh yeah, you can still use the eval of the draw, instead o f0

Astrobytes: that's kinda like your one MSmits? 0 for loss, 1 for win, 2 for ongoing right?

Astrobytes: or whatever it is

reCurse: So it's kind of a draw negotiation

MSmits: well thats how i do the solver sure

reCurse: If the negotiation reaches the root then it's accepted

MSmits: i think recurse means a different kind of flag

Astrobytes: not altogether that different

Astrobytes: conceptually

MSmits: a flag that sees the draw as 0 or sees the draw as it's eval score even when it's solved

MSmits: unless i'm mistaken

MSmits: it's really hard to discuss these things properly

NinjaDoggy: from my interpretation i'm hearing

NinjaDoggy: have the parent node of the draw have the flag set to true

NinjaDoggy: if no other child node has positive eval

NinjaDoggy: and then set the flag to false when a child (other than the solved draw) has positive eval

MSmits: might work

NinjaDoggy: and then he'll probably do something to select the node less when the flag is true

NinjaDoggy: but in the end check for existing flags to go for draw if no better lines are found

Astrobytes: Very interesting issue either wayy

Astrobytes: *way

MSmits: I've been stuck for hours on the ab pruning + TT problem myself. It's already a hard thing to properly do, but with D&B you have control switching which basically gives you an extra turn or gives your turn away. Headache-inducing. It works again now, which is fine.

MSmits: however

MSmits: I have a much shorter formula, more elegant, gives the same result

MSmits: and i dont know why :(

Astrobytes: what's your TT replacement policy?

MSmits: oh, i keep upper and lower limits

MSmits: when they are the same, it's an exact value

NinjaDoggy: sry what's TT?

MSmits: transposition table

Astrobytes: Depth-wise?

MSmits: It's a solver. I just store all

MSmits: it's not iterative minimax

MSmits: i should probably keep depth also and then not overwrite higher depth result

Astrobytes: Yes

MSmits: but my problem was not that

MSmits: it was just the conceptual part of it

Astrobytes: Replace if higher or equal, use if equal depth

NinjaDoggy: wait for dots and boxes is it not good to generate all moves you can chain?

NinjaDoggy: like make chaining just 1 move?

NinjaDoggy: does that explode too much?

Astrobytes: Or you'll really fk things up if you're not doing things in a certain way

MSmits: in my solver, when i play a chain, i play the whole thing at once

MSmits: say a chain is 5 boxes

MSmits: it gets played at once and either you take all 5 boxes

MSmits: or you take 3 and give 2 to opponent

MSmits: so that seems like a split of 2

MSmits: but i can do it in 1 negamax

MSmits: that's the elegant formula i discovered which i dont know why it works :P

Marchete: how in 1 negamax?

MSmits: sec

MSmits: ok this is my negamax function

MSmits: template<bool depth0> int Negamax(int a, int b, int bonus, int currentScore, uint64_t map)

MSmits: a and b are alpha and beta obviously

MSmits: you can simulate the two things

MSmits: by doing:

MSmits: int controlScore = -Negamax<false>(currentScore - b, currentScore - a, 0, bonus, map); int captureScore = Negamax<false>(-(currentScore - a). -(currentScore - b), 0, bonus, map); best = currentScore + max(controlScore, captureScore);

MSmits: so a negative negamax for giving away your turn and a positive negamax for keeping control

MSmits: take all boxes, or all minus 2

MSmits: (bonus is the doubledealing loss btw)

Marchete: for me these are two different moves

MSmits: well they are, in a sense

Marchete: with turn == all moves until not scoring

Marchete: and If I end in "free moves" I auto give away to the enemy

Astrobytes: both valid approaches I guess

MSmits: i play the whole chain and give the opponent the choice what to do with the last 2 boxes

Marchete: your score or score -2

MSmits: but the chain is already gone

MSmits: so the map is the same either way

MSmits: only the score is different and who's turn it is

Marchete: in my case the latter is myscore += score-2; enemyscore+=2

MSmits: yes, thats it

Marchete: because they are *freeeee*

MSmits: but anyways, 2 possible moves right?

MSmits: when a chain is played

MSmits: 2 ways to respond

Marchete: yes, but not 1

Marchete: on a simple chain, yes

MSmits: so, now i did this:

MSmits: int specialB = b - currentScore + bonus; int score = Negamax<false>(-specialB, specialB, 0, bonus, map); int best = currentScore + abs(score);

MSmits: so it's still two negamax

MSmits: but i only calculate it once

MSmits: and then just have a + or - sign

MSmits: (i abs)

Marchete: too complex for me :)

Marchete: I mean

MSmits: yes for me too, thats my problem

MSmits: but it works

Marchete: I never thought that way

MSmits: tested on 100 million boards

MSmits: it's also not faster

MSmits: because the other way just uses TT

Astrobytes: int score = Negamax<false>(-specialB, specialB, 0, bonus, map); are you missing some '-' or did I miss something

MSmits: int best = currentScore + abs(score);

MSmits: minus sign is irrelevant

MSmits: because i abs

Astrobytes: right

Astrobytes: I missed that part, my bad

MSmits: mind you, i dont know why it works, but it has something to with the symmetry of lookign from both players positions at the map

MSmits: impartial game it's called

MSmits: i shifted the score to make it symmetric around 0

MSmits: or something..

Default avatar.png missjane: omg I'm so confused I don't know what to do

MSmits: it annoys me that it's a pretty formula and i dont get it. Would be ok if it was someone else's work, but i came up with it

MSmits: anyway, this is my endgame solver, then i extended that solver into the pre-endgame and with pre-emptive sacrifices i also play chains

MSmits: which means i can use the same formula again..

Astrobytes: I think it's weird, but if it works, go for it

MSmits: yeah I guess so... i can also use the other one, it's not slower, just uglier

MSmits: and i understand it

Astrobytes: 'other one'?

MSmits: the one with 2 negamax calls and a max

MSmits: instead of 1 negamax call and a abs

Astrobytes: ah right

MSmits: the thing is, after the 1st negamax it stores in TT

MSmits: so the 2nd negamax just looks it up

MSmits: map is identical after all

Astrobytes: I never use abs in negamax

Marchete: didn't you have preemptive sacrifices, MSmits?

MSmits: well i only had an endgame solver, there are no preemptive sacrifices in the endgame as all chains are finished

MSmits: but i extended it to before the endgame and at first had only normal sacrifices (1 and 2 boxes)

MSmits: but pre-emptive are super important apparently

Marchete: I don't know

Astrobytes: anyways, I'm away to bed, gn people and take care :)

MSmits: well it cuts chains

MSmits: gn Astrobytes

MSmits: if a very long chain is about to be formed and you can sacrifice a 3 chain to prevent that, your netscore improves a lot

MSmits: the thing to remember is that you can never use it to win unless you're already ahead

MSmits: gn Astrobytes

MSmits: you might be ahead when facing a nim player who is sacrificing a lot of boxes to keep control

MSmits: you can screw his chains this way and he wont have enough points in the endgame

PatrickMcGinnisII: gn Astrobytes drream travel

MSmits: your bot does it Marchete

MSmits: not always correctly, but it does do it

MSmits: and wins with it too

Marchete: it backfires a lot

MSmits: yes

MSmits: thats why it's good to have it in a solver, if the solver is correct it cant backfire

Marchete: it's hard to count/guess early

MSmits: yes

MSmits: it makes my solver a lot slower though, looking for ways to prune it

MSmits: one way of pruning it is to use the alpha

MSmits: alpha is like the minimum score you can get right?

MSmits: so if your alpha >= 0, pre-emptive sacrifice should be useless

MSmits: or maybe >= -1 even

MSmits: or >= -chainlength +2 or something like that

MSmits: ab pruning hurts my head

MSmits: this is why i always test everything vs a non-pruned output

MSmits: to make sure its faster, but not wrong

Marchete: I prefer MCTS

Marchete: I see it more "clean"

MSmits: played out till endgame you mean?

MSmits: intermediate eval is complicated here

NinjaDoggy: I like MCTS too but one thing REALLY bothers me

NinjaDoggy: which is that the value of a node is the sum of all it's children...

MSmits: but it prefers the good child

MSmits: so it's a weighted sum

MSmits: and the more visits, the more weighted it is

NinjaDoggy: but it can be so hurtful like in UTTT

MSmits: play long enough and the other children will be irrelevant

MSmits: yes, especially on free moves

NinjaDoggy: moves that give your opponent freedom are seen as good

NinjaDoggy: because of the sum thing

MSmits: i see this in meta mcts, they completely bias the game

MSmits: you need a lot of visits before they are reliably searched

MSmits: however, visiting them at all is usually a bad idea

MSmits: because they are not good moves

MSmits: it's a conundrum

MSmits: it happens also in yavalath, on a forced move

MSmits: when you're making forced move, you're automatically playing the correct move. But then it's the opponents turn and he has the choice of tons of bad moves

MSmits: (it's like a uttt free move, only all the time)

NinjaDoggy: wait meta-mcts except you replace random rollouts with another mcts?

MSmits: yes, meaning it takes a lot more time to get a good view of the value of a node

MSmits: so in my meta mcts, when i get near those free nodes, i see the terrible bias happen live

MSmits: they get selected a lot

MSmits: because the opponent doesnt know what to do with them. so much choice, so many crap moves

NinjaDoggy: so the results are heavily skewed by who has more complexity

MSmits: in my uttt bot on the leaderboard i bias free moves with 0.2 on value

MSmits: negatively

MSmits: so they are less likely to be selected

MSmits: helps a bit

MSmits: yes, more complexity but it gets worse when only a small fraction of moves are good

MSmits: say you get 50 moves to choose from

MSmits: and only 1 wins you a miniboard and nearly wins you the game

MSmits: those 49 are really going to bring you down for a long time

MSmits: until they get enough visits that they will no longer get selected anymore

MSmits: in combination with their low value ofc

MSmits: so the player who played the free moves will, for a long time, think this is a good idea

MSmits: not a problem for the root node, because there will be enough visits to fix the problem, but it will affect exploration deeper in the tree

NinjaDoggy: are there any formulas that very heavily weigh the best node?

MSmits: I think there are many mcts enhancements like that

MSmits: to UCT mostly

MSmits: but i think you have to look at the game and try different things

MSmits: many things should help and then turns out they dont help enough to offset performance loss

MSmits: this is particularly frustrating in uttt. It's really a good place to learn mcts, but not a lot works in uttt beyond the basic mcts

MSmits: the top consists mostly of high performance + intelligent pruning in expansion

MSmits: (and NN's )

Marchete: error #407....

MSmits: did i break the chat

Marchete: you did a buffer overflow

MSmits: haha

MSmits: you know i type with 2 fingers

MSmits: doesn;t stop me

ja_fica: where do you use AVX in UTTT?

ja_fica: MSmits

Default avatar.png thealmightyjason: hello

Default avatar.png thealmightyjason: dime

Gameonn: Hello friends