Chat:World/2021-07-29

From CG community
Jump to navigation Jump to search

derjack: :upside_down:

TobiasA: :red_car:

BlaiseEbuth: Don't pollute the chat TobiasA

MSmits: I think it's electric

derjack: from coal power plant

MSmits: which is not in the chat

derjack: :black_large_square:

MSmits: is that supposed to be a coal powerplant?

MSmits: don't pollute the chat derjack

dbdr: this is the #World. coal plants are in it :(

MSmits: mmh ok

BlaiseEbuth: THE argument: "This is already polluted so we can pollute more."

Illedan: Anyone knows anything about Colab vs local run of python? :P

BlaiseEbuth: -> python

dbdr: https://www.codingame.com/replay/572886626 I like that goal from the corner after frame 30

BlaiseEbuth: I don't.

dbdr: your loss

MSmits: I like it

BlaiseEbuth: :rolling_eyes:

MSmits: :grin:

Illedan: Nvm, just had a bug. Now it works :)

MSmits: :bug: :fire:

MSmits: my D&B bot is now nearly 4k lines. I keep waiting for it to tell me it's too big

Marchete: :eagle::bug::skull:

Marchete: been there

Marchete: you can remove a lot of stuff

Marchete: spaces between operators

BlaiseEbuth: Even if I know since a long time that 'nvm' stands for 'nevermind', it's still difficult for me to not read 'niquez vos mères'... :see_no_evil:

Marchete: like = + >

Marchete: etc

Illedan: :)

Marchete: will you submit, MSmits?

Marchete: I'm interested in seeing your new bot

MSmits: today

MSmits: almost done

Marchete: soon*

MSmits: well almost done with a *working* version

MSmits: will still have bugs probably

Marchete: can it beat my ugly bot?

MSmits: I think so

MSmits: though probably not always

Marchete: :thumbsup:

MSmits: it still doesnt know what to do with your crazy loop offerings when the game is not solved

dbdr: my sogeti bot is 18 lines: https://i.snipboard.io/BfeZ1z.jpg

MSmits: of course it's never gonna grow big if you say it's pub time after every line

dbdr: :D

MSmits: it reads like code written by an alcoholic

BlaiseEbuth: Isn't it the case?

MSmits: is pub a rust thing?

dbdr: yeah. public

MSmits: ohhhh

dbdr: I will never read rust code the same way. thanks MSmits! ;)

MSmits: any time :)

dbdr: I should submit a patch to use pub more there: https://github.com/dusterherz/99BottlesOfBeer/blob/master/src/main.rs

MSmits: yeah !

MSmits: Marchete it is almost ready

MSmits: https://www.codingame.com/replay/572894628

MSmits: you can see it making a mistake around frame 83

MSmits: the problem is, I use the solved value to determine which line to place or but not yet whether to keep control or not. so I am taking that full chain in the top left instead of keeping control

MSmits: after than the score drops

MSmits: that

MSmits: your weird bot leaves safe moves till very late in the game, so i kinda need to make the pre-endgame solver perfect

MSmits: (G5R and G4R are still up by then)

Marchete: :)

Marchete: so you are countering my weirdness

MSmits: with the pre-endgame solver yes, but i dont use it for all types of moves yet, fixing that soon

Marchete: it's looking good

MSmits: i am afraid it wont help all that much vs mikla though

MSmits: the games i lose are almost all by wide margins, it will just let me win the close ones

MSmits: vs you, all games are close ones

MSmits: all games i lose anyways

Marchete: I don't know, I'm seeing epic losses in my bot

Marchete: like -6 boxes

Marchete: it should be 24 25 almost always

MSmits: thats actually not that big of a difference

MSmits: vs mikla in my case it's usually 11-38 or some such

MSmits: or 38-11 in my favor

MSmits: (40% of the time)

MSmits: i dont succeed at the loopy map all that well, so it's mostly nim-fight

Marchete: wow

MSmits: https://www.codingame.com/replay/572895617

MSmits: this is typical

Marchete: I thought top games were always like 24 25

MSmits: check how the solver makes my score better when mikla makes mistakes

MSmits: see also why it does not matter *at all* that it does

MSmits: here's another one: https://www.codingame.com/share-replay/572895818

MSmits: starts at 31-18 when solved

MSmits: is upgraded to 35-14 due to mistakes

MSmits: total nim-win, score doesn't matter at all

MSmits: I have a bit of a problem here

MSmits: the nim thingwrecks almost everyone except you, because you're mostly immune and mikla, because he's better at it

MSmits: as soon as i stop using the nim and focus on making loopy maps more, i stop getting 100% vs all the nim-vulnerable out there

MSmits: so i fixed it mostly vs you, because my score solver is now better, so i can afford sacrificing a box or two. but still not vs mikla. All i can do is submit and hope someone pushes me above him

Marchete: yeah

Marchete: I tried to mix with nim

Marchete: at some cases

Marchete: when complexity is breaking my search

Marchete: but my strategy works very well vs mikla for example

MSmits: yes

Marchete: and jrk_e is 50/50

MSmits: he has no clue how to play out the endgame other than heuristically and heuristics dont work when someone uses an unexpected strategy

MSmits: he just gets into the endgame with an extreme advantage every time so it doesnt matter

Marchete: so you see preemptive as a winning strategy?

MSmits: in some cases yes

Marchete: or more like kamikaze/unexpected?

MSmits: ok, there's 2 ways to look at it

Marchete: because if i win just because it's unepected and not optimal

Marchete: it's a dead end

MSmits: do you mean from a solved score perspective or from a beating mikla perspective?

MSmits: the one assumes perfect opponent

MSmits: the other assumes mikla

Marchete: but I've read about these preemptive, and tried to apply them

Marchete: about searching a perfect play

MSmits: pre-emptive sacrifices are not a dead end really. They have real use, but only in specific ways

MSmits: first of all you need to be ahead in score

MSmits: so length -1 points ahead

MSmits: if you're sacrificing a 3 chain, you need to be 2 points ahead

MSmits: and it needs to be a non-isolated chain (i call this a string)

MSmits: because you can never have a net win from the boxes left, when you do a pre-emptive sacrifice

MSmits: but you might not need one

MSmits: because you have a lead in score

MSmits: not doing the pre-emptive might get you -10, doing the pre-emptive might get you -2

Marchete: I think I never have score advantage in preempitve

MSmits: if you're 3 ahead, then 3-2 = 1

Marchete: I mean, most of you never let 1 box until endgame

Marchete: so I'll never sacrifice

MSmits: mikla does

MSmits: so does remi

MSmits: https://www.codingame.com/replay/572897105

MSmits: typical remi-game

MSmits: see all the sprinkled sacrifices

Marchete: but mikla and you?

MSmits: bah i also see another solver bug in this game

MSmits: mikla and you, yes sacrifices, but small ones

MSmits: usually 3 max, mostly 1 or 2

MSmits: but dont forget the other advantage

MSmits: even if it will not get you a net-win

MSmits: you invite the opponent to make more mistakes

MSmits: so say you're at 0 0 score

MSmits: and you will get -10 without sacrifice

MSmits: -2 with pre-emptive sacrifice

MSmits: you cant win

MSmits: but this assumes perfect play by opponent

MSmits: so still a good idea to pre-emptive sacrifice here

MSmits: especially if he doesnt know what to do with it and is always just gonna control like mikla does (take 1, give 2)

MSmits: oh crap i see it, my solver ignores that 2 box chain at the top left :P

derjack: oO

Marchete: that's fine

MSmits: I don't want my solver to give a score and then give a lower score later, that implies failure :(

MSmits: must be fixed

struct: hi

MSmits: hi struct

Marchete: :wave:

Wontonimo: easy fix MSmits, use max(this score, previous score) so easy ;)

MSmits: it'd be a lie, the final gamescore will be lower :P

Wontonimo: i'm jokin man

MSmits: I know :P

Marchete: if "2-box chain at top right" then ....

Marchete: ezpz

Marchete: solved

MSmits: yeah I am not sure if that was the reason. Might need to go back to my local solver, see whats what

MSmits: well thats not smart... I was returning 0 on timeout, to stop my solver, which is fine. But then don't store that 0 in a transposition table :P

MSmits: I am using 3 different negamax in my bot. Keep making the same mistakes

MSmits: ver = ver ^= box

MSmits: that doesn't look right

dbdr: :D

dbdr: isn't that the same as ver ^= box; ver = ver;

dbdr: i.e. the second one is useless but harmless

MSmits: not sure, isn't it the same as ver = 1?

MSmits: ver ^= box returns true doesn't it?

dbdr: that's ver = ver ^ box;

MSmits: that's what it was supposed to do

dbdr: oh, and returns the new value

struct: ver = (ver = (ver ^ box))

MSmits: that returns 1 afaik

MSmits: ver = 1

dbdr: it returns ver ^ box

dbdr: (their previous values)

MSmits: isn't an assignment a boolean operation?

MSmits: or

dbdr: no

MSmits: i mean doesnt it return true?

MSmits: if(a = b) do x

MSmits: always does x

ZarthaxX: returns a reference to the value you assigned

dbdr: a = (b = "foo")

ZarthaxX: the variable*

dbdr: a is now equal to "foo"

MSmits: ahh o

MSmits: ok

MSmits: I get it now. I guess it wasn't hurting me, it just looked silly

ZarthaxX: that's why it comes in handy to do things like return a = 3

ZarthaxX: assigns 3 to a, returns a, and that returns 3

MSmits: that seems really dangerous coding to me :P

ZarthaxX: yeah would be more of a lazyness thing

ZarthaxX: codegolfing? :P

RoboStac: it's undefined behaviour to have the two assignments to the same variable in one expression

dbdr: if (a = true) // what can go wrong? :D

struct: holy

struct: my bot solved on turn 23 with my new feature from breakthrough

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

MSmits: what feature is that struct?

struct: its a feature i added for mcts

MSmits: mcts solver?

struct: no

MSmits: well that's cool. Not sure how much it helps though, C4 is a bit weird with solving. Some games solve soon. It also ended at 49

derjack: pattern feature?

struct: no jacek

struct: basicly i was doing rollout if it was a forced move

struct: instead of expanding

MSmits: you can do another thing btw

MSmits: if there is only 1 child

MSmits: dont rollout

Krios: how to change difficulty in clash of code

MSmits: just keep expanding

MSmits: until you hit a node with more than 1 child

struct: oh right

struct: I might try that

MSmits: its a bit messy though, probably will bug for a bit

KiwiTae: Krios theres only 1 difficulty for CoC : very easy

MSmits: I do this in oware and C4 i think

derjack: 1 child is rare on other games though

MSmits: yes

MSmits: thats why it's usually a pointless if statement

struct: but on c4 when are forced moves it might help

MSmits: yes

MSmits: it will bias your search a little bit, but this can be good or bad, hard to say, probably doesn't matter much

MSmits: mmh i know why my score solver was wrong

struct: what was wrong?

MSmits: I was only allowing pre-emptive sacrifices for unfinished chains, but they also work in complex objects

MSmits: https://www.codingame.com/replay/572901763

MSmits: he opens a connected chain at frame 58

MSmits: i assume that's always worse

MSmits: but it's not

MSmits: so my score drops from 40-9 to 35-14

struct: so its a prediction

struct: its not fully solved

StepBack13: Anyone know the name of the CoC challenge that's about submarines in a grid and you count the number of your ships they can hit? Statement mentions Nazi enigma machine, but searching for all relevants words in below link comes up blank...

MSmits: well hopefully if i include these options it will be a fully solved situation

MSmits: but currently it's a prediction yes

StepBack13: https://www.codingame.com/contribute/community?mode=accepted&type=clashofcode I need to test the validators in IDA

StepBack13: IDE*. I got 83% but 100% in-game and I'm confused.

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

struct: try there

StepBack13: OMG! Thank you!!!

StepBack13: "Hit or Miss"

Default avatar.png Mr-DillinG: Coming in here with confidence, looking at the first "case" and deciding i still dont know anything about programming :P

struct: try easy puzzles

Runner87: one question about mcts: is it useful start the next turn with the the information of the best node of the current turn (so a partial tree statistics) ???

Default avatar.png Mr-DillinG: Solved 1 of them (mars lander thingy), looking at the next one now... "Temperatures" i is called

struct: Runner87 imo yes

Default avatar.png clementtoun: Did anyone pull off the puzzle of the week? Because I made a backtrack algorithm in C, the first test passes but it is not efficient enough for the following ones

Astrobytes: most of the time it is, yeah

Runner87: I try this strategy but I see no improvement.

Astrobytes: it doesn't help if the issues are elsewhere ;)

struct: thats because sometimes not reusing might make you go into another path

Default avatar.png clementtoun: if someone can help me

struct: that the previous tree thought it was bad

valentino.sm: I wrote puzzle of week in python and it not enough efficient for passing last USA test. Now I'm rewriting it in C++

struct: the solution from the contributor is in javascript

struct: python should be able to match it

Astrobytes: plenty have solved it in python. Think smarter.

Default avatar.png clementtoun: mmmm

Default avatar.png clementtoun: ty

valentino.sm: I was trying to do more efficient but it is so slow even with simple sets

struct: jacek bot made it

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

struct: 7 in a row

Flaaamort: Solved it in python with recursion, no problem.

derjack: :tada:

MSmits: pro

Astrobytes: nice!

derjack: c7, my favourite game

Runner87: wow

Runner87: Once every million

MSmits: nah jacek can do this at will

Astrobytes: lol

dbdr: struct isn't losing to a connect 7 a reason to delete?

Astrobytes: don't give him ideas dbdr!

eulerscheZahl: bot contest or delete?

struct: delete might happen this year anyways

struct: no need to rush

struct: yes euler

Default avatar.png average_python_simp: hi

Default avatar.png average_python_simp: is there anyway to raise the difficulty?

Astrobytes: do expert puzzles

struct: get rank 1 on csb

Astrobytes: play Bit Runner

Astrobytes: Wear a blindfold

Astrobytes: etc.

derjack: https://www.reddit.com/r/AnarchyChess/comments/fgf1kn/play_like_morphy_black_to_move_taken_from_a/

derjack: hmm in yavalath you cant get more than 6-in-row?

Default avatar.png average_python_simp: how do i increase the difficulty in "clash of code"?

Astrobytes: You can't.

Default avatar.png average_python_simp: oh

BlaiseEbuth: You stop clashs and start real things.

derjack: like pottering

Astrobytes: Pottering?

eulerscheZahl: fantastic bits

eulerscheZahl: playing harry potter

BlaiseEbuth: pew pewiosa

Astrobytes: Harrying

Default avatar.png average_python_simp: is there anyother site where i can challenge my friends to a similar match but with harder difficulty?

eulerscheZahl: codeforces. their next contest starts in 45min

eulerscheZahl: 21000 players are registered already

eulerscheZahl: https://codeforces.com/contests

derjack: private clash with shortest mode and java. thats nice difficulty

Default avatar.png MYNKS: http://chat.codingame.com/pastebin/2ec46668-79e9-4a0f-90f1-2b9930cda3ec

Default avatar.png MYNKS: give me this code plzz

Default avatar.png MYNKS: in c language

Astrobytes: No.

eulerscheZahl: that reads like a minimum effort clash for the quest map

Default avatar.png MYNKS: hint

Astrobytes: Total waste of time these things

eulerscheZahl: but it isn't, it's 4 years old already :o

Astrobytes: Hint: Read it.

Default avatar.png MYNKS: i'm beginner

derjack: hi beginner

eulerscheZahl: and we are grown up men using animal avatars. do you think we can help you?

Astrobytes: :rofl:

derjack: is frog furrious?

eulerscheZahl: no, i don't have fur

Default avatar.png average_python_simp: eulerscheZahl

Default avatar.png average_python_simp: can i play codeforces with just my friends?

eulerscheZahl: no

Default avatar.png average_python_simp: oh

eulerscheZahl: but you can invite your friends

Default avatar.png average_python_simp: is there any other site which does do that?

eulerscheZahl: and there's a leaderboard of only those who you follow

eulerscheZahl: (filtered)

Default avatar.png Geiler: How do I PM someone?

eulerscheZahl: is that someone online?

Default avatar.png Geiler: Yes

eulerscheZahl: /msg <name>

Default avatar.png Geiler: We just did a Coding Clash and I don't understand the solution so I want to ask him lol

Default avatar.png Geiler: Thanks

eulerscheZahl: some clashers are bots. for obvious reasons they won't respond to you

Default avatar.png Geiler: rip no one was found in the chat

Default avatar.png Geiler: no one who could solve it

eulerscheZahl: you can try the forum. a private message there will trigger an email notification

eulerscheZahl: or you paste the solution and ask us to explain it

Default avatar.png Geiler: Sure, thank you, someone shared his code but I don't know Ruby, so can someone help me please?

Default avatar.png Geiler: s = gets.chomp puts s.sum(99)

Default avatar.png Geiler: What does this do?

Default avatar.png Geiler: The input is a string and it should output a number

eulerscheZahl: gets.chomps reads the line (without line terminator)

eulerscheZahl: the 99 puzzles me

Default avatar.png Geiler: Same, I can imagine the sum function counts all the letters of the string s?

Default avatar.png Geiler: But I don't know why he put a 99 as arg

eulerscheZahl: what was the task btw?

eulerscheZahl: 99 is a lower-case c in ASCII, not sure if that's relevant here

eulerscheZahl: ruby is a blind spot for me

Default avatar.png Geiler: Reverse engineering: an example was: Input: "an exemple" Output: 959

Default avatar.png Geiler: "An exemple"

eulerscheZahl: https://www.codingame.com/contribute/view/485d6ab4acfe2984f3ccafdacfceea5daf6

eulerscheZahl: You are given a string of characters s. Output the sum of the ASCII value for each character of the string.

Default avatar.png Geiler: Damn you found it!!

Default avatar.png Geiler: Thanks a lot

eulerscheZahl: i searched it here https://eulerschezahl.herokuapp.com/codingame/puzzles/

eulerscheZahl: and I shortened the solution:

eulerscheZahl: p gets.chomp.sum

Default avatar.png Geiler: Wow, you own a search website

Default avatar.png Geiler: Thanks

Illedan: It will replace google in a few years

Astrobytes: :D

eulerscheZahl: all while still using the heroku free hosting

Illedan: :D

eulerscheZahl: where is my number shifting app?

Default avatar.png Geiler: You can host a website on heroku for free?

eulerscheZahl: yes

Illedan: Think it is below this pile of training data for my nn

Default avatar.png Geiler: So you don't have to pay for anything?

Astrobytes: that's what free means

eulerscheZahl: but you can't keep it up 24/7. but 60% uptime is possible (it will suspend after 30min without any access and then start again when needed)

Default avatar.png Geiler: Lol I thought you also had to do other stuff than hosting

eulerscheZahl: and the database has some limitations too (e.g. 10k lines at most)

Illedan: eulerscheZahl, I have that for my own todo app. Made a script to poke it every few min :P

Default avatar.png Geiler: I haven't made a website yet, but heard people saying they pay like 10$ every month

eulerscheZahl: jrke used heroku for hosting. and some free cronjob site to keep it up

Flaaamort: You are scraping the contributions while they are in review? :O Is this accepted?!

eulerscheZahl: you can get some things for free but there are limits as I said

Default avatar.png Geiler: Alr, thanks, I didn't know that

eulerscheZahl: e.g. a domain name costs. eulerschezahl.herokuapp.com is free

eulerscheZahl: if i'd want to have eulerschezahl.com, i would have to pay

eulerscheZahl: some more limitations for the programming language I use (my website is a django python project)

struct: bot seems to be winning way earlier i hope it does good

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

MSmits: in my experience, early winning is a sign your opponent played poorly that game

Wontonimo: ;(

MSmits: with two perfect players you likely get a draw and if your opponent makes only 1 mistake, it's likely a very late ending game

MSmits: i say likely because that's what meta mcts indicates, but it's obviously not solved

struct: dont crush my hopes MSmits

struct: I pressed play my code 3 times

struct: it happened 3 times

struct: :D

Astrobytes: Talk about raining on his parade MSmits. Shame on you :P

MSmits: sorry :P

MSmits: I will try to stop the rain

MSmits: :white_sun_cloud:

struct: maybe I added some bugs

struct: Im also losing early o.o

struct: I played one wrong move

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

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

Astrobytes: MSmits: bring the flood

MSmits: :cloud_rain:

struct: oh well

jacek: robo any improvement?

FalINTOblivion0112: i made a custom connect 4 ai

FalINTOblivion0112: with java if anyone wants to see it

jacek: 7x6?

struct: it happened

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

struct: I can finally sleep at night

MSmits: and dream of glorious 7 in a rows like jaceks

struct: why win with 7 when you can win with 4

MSmits: because 7

jacek: only 4? noob

dbdr: do a 9 in a row

MSmits: if only it were possible

eulerscheZahl: re-define the grid as a Möbius strip and build a longer chain

dbdr: (using a bug in the referee, of course)

MSmits: ah yes, bug the referee

MSmits: do you mean a real Möbius or a pikachu Möbius

dbdr: or using a bit flip caused by a neutrino from space

dbdr: is it neutrinos that do that?

eulerscheZahl: that's the joke MSmits

MSmits: indeed

eulerscheZahl: was about to write torus but corrected it

dbdr: cosmic ray

MSmits: dbdr yes neutrino oscillations

eulerscheZahl: force your luck with row hammer

MSmits: they flip type, muon, tau, elektron etc,

dbdr: cosmic rays can be protons, I guess it's useful to flip electrons :)

MSmits: no i meant neutrinos

MSmits: elektron-neutrinos, muon-neutrino's etc.

dbdr: https://en.wikipedia.org/wiki/Cosmic_ray#Effect_on_electronics

MSmits: neutrino's come in different varieties

MSmits: 6 types

dbdr: neutrinos can have charge +0 and -0, like floats? ;)

MSmits: kinda yes

MSmits: when you compare matter and antimatter, charge is reversed

PatrickMcGinnisII: I'm gonna root for the anti-neutrinos

MSmits: but neutrino's have no charge, yet there are anti-neutrino's

PatrickMcGinnisII: ^

MSmits: so 0 and -0 kinda

struct: is this used in sogeti?

MSmits: only in the top 3

PatrickMcGinnisII: struct yes, snaffles don't collide with wizards

MSmits: i can never remember what snaffles are called

MSmits: call then sniggles or sniffles or whatnot

PatrickMcGinnisII: the 3 turn grab delay doesn't seem to be implemented

struct: you sure patrick?

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

PatrickMcGinnisII: aweful bouncy https://www.codingame.com/replay/572943729

struct: check wizard 2

MSmits: the game is pretty, but it seems to me like a bunch of wasps

struct: oh

struct: I had 4 cooldown

struct: instead of 3

PatrickMcGinnisII: and aren't they suppossed to drop them

struct: might be the reason

struct: yes

struct: in the replay I posted they drop them

PatrickMcGinnisII: the guy at the end hold that one forever\

struct: when he moves he drops it

struct: but snaffle keeps the speed from the wizard

RoboStac: he's just moving at the same speed as it, you can see it snap back every few turns

PatrickMcGinnisII: turn 30-40, bouncy

PatrickMcGinnisII: on my replay

FalINTOblivion0112: i made an unbeatable connect 4 ai lol

struct: o.o

FalINTOblivion0112: using an algorithm called titalmax

FalINTOblivion0112: *titanmax

FalINTOblivion0112: not minimax, titanmax

struct: https://www.codingame.com/ide/puzzle/connect-4

struct: submit it here

FalINTOblivion0112: yes

struct: I want to see the unbeatable

FalINTOblivion0112: gimme a moment i want to change the depth

FalINTOblivion0112: to 15

FalINTOblivion0112: crash the server

dbdr: the server won't crash, your bot will

FalINTOblivion0112: oh what

FalINTOblivion0112: crap

MSmits: don't rain on his parade dbdr

FalINTOblivion0112: no worries

MSmits: :P

dbdr: :white_sun_rain_cloud:

MSmits: :water_polo_tone2:

Default avatar.png _Diode_: Anybody know an editor mapping to run test cases?

dbdr: ctrl+enter ?

Default avatar.png _Diode_: Wooooooh!

Default avatar.png _Diode_: Holy cow, that is amazing. How did you know about that?

Default avatar.png _Diode_: In the editor config section I did not see anything about that. So that must be some default then?

jacek: oh my

eulerscheZahl: try CTRL+P _Diode_

BlaiseEbuth: alt+f4

Default avatar.png _Diode_: Yes CTRL+P is a handy menu. Unfortunately it only works in 'Classic' editing mode and not 'VIM' mode. Any idea how to set a VIM mode mapping in this editor config?

struct: i think if you press config in the left

struct: settings*

struct: https://i.imgur.com/VFarNdG.png

Default avatar.png _Diode_: Hi @struct I am aware of how to change to VIM mode and how to open the editor config settings as well. But does anyone know how to set a VIM mapping to in that config?

struct: no idea sorry, I use an external ide

Default avatar.png _Diode_: No problem. Maybe I need to do that.

20orange: hello :D

Default avatar.png JoacoB: Hello orange. How's things?

M1_Bradley: Hey

phoenixcrow: so hard cant understand .....

jacek: thats what she...

Astrobytes: :smirk:

JoacoB: I've been on this website for twenty minutes and I'm already starting to love this community.

BlaiseEbuth: Jacek! Stop trying to do jokes, you gonna broke reCursNN again. :rage:

AllYourTrees: jokek?

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

BlaiseEbuth: (╯°□°)╯︵ ʇɔnɹʇs

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

struct: :(

AllYourTrees: struct ︵╯)°□°╯)

BlaiseEbuth: What's this thing ?! :scream:

struct: :)

AllYourTrees: :ɯɐǝɹɔs: ¡¿ ƃuᴉɥʇ sᴉɥʇ s,ʇɐɥM

AllYourTrees: ¡spuɐɥ ou ɐɯ ʞool

AllYourTrees: ¿ʎlʇuǝɔǝɹ ɹǝpᴉds ɐ ʎq ʇᴉq ǝslǝ ǝuoʎuɐ

struct: my brain hurts

BlaiseEbuth: That proves you have one.

derjack: ...

struct: 196 collisions :(

struct: my poor code

jacek: collisions?

struct: on fb

struct: there are 196 possible collisions

Astrobytes: prioritise

BlaiseEbuth: 196 ? :thinking:

struct: if there are 7 active snaffles yes

BlaiseEbuth: (7s + 4w + 2s)² = (13)² = 169

BlaiseEbuth: *2b

BlaiseEbuth: Or you're counting the walls ?

struct: walls

BlaiseEbuth: Ok

struct: + 2 poles

struct: 4 poles*

BlaiseEbuth: Hmm... Not sure I gonna manage walls/goals as collision.

struct: also goal is diferent from wall in my code

struct: :(

BlaiseEbuth: Poles can be collided ?

struct: not with each other

struct: but wizards / snaffles / bludgers can

BlaiseEbuth: Erf...

BlaiseEbuth: Haven't thought about this...

BlaiseEbuth: Well. Just in time! I'm writting my collision detection right now. ^^

jacek: poles colliding eh

Astrobytes: Like a mosh pit in Wroclaw

BlaiseEbuth: :no_mouth:

FalINTOblivion0112: oh no blaise is in my clash of code

FalINTOblivion0112: i am going to lose so bad i promise

FalINTOblivion0112: mercy please blaise

jacek: blaise clashing?

Astrobytes: writing collision detection eh

Astrobytes: collisions between clashers

BlaiseEbuth: Hmmm?

BlaiseEbuth: I'm writing my collision detection. I can't do two things at the same time.

BlaiseEbuth: For any question relative to clashs, please ask my slave.

BlaiseEbuth: *trainee

Default avatar.png HighSodium: slavee

dbdr: when goal posts are colliding, you know something went horribly wrong

MSmits: yay my solver is working I think. So far no errors in 30 games

Astrobytes: A very windy day.

Astrobytes: still d&b'ing?

MSmits: yeah

MSmits: I implemented a pre-endgame solver.

MSmits: had to, to avoid getting wrecked by marchete

Astrobytes: lol nice, another negamax?

MSmits: yeah it's a negamax that runs until endgame and then calls another negamax

MSmits: they even share ab

MSmits: but have separate hashtables

MSmits: one works with graphs and one with bitboard

Astrobytes: gotcha

Marchete: :thumbsup:

Marchete: it's much better than previous one, isn't it?

MSmits: the solver is yes

MSmits: it allows pre-emptive sacrifices and can use it on others. So when i am behind i should use it

Astrobytes: Oh nice score

MSmits: at least to reduce the losing margin

MSmits: might still be <50% wr vs mikla though

Marchete: I win you once

MSmits: havent checked

Marchete: :(

xxd: what password do I use for the CodinGame XMPP server if I use Google+ to sign in?

MSmits: yes, but i predicted that one correctly

jacek: xxd change your password then

MSmits: which is more important than winning :P

Astrobytes: 2 x bacon losses too

Marchete: playing like sh*t got me 100% vs mikla :D

jacek: google+? is this still a thing?

MSmits: i am afraid to submit this more than once, because i will just be pushing mikla up

MSmits: well that is if i am <50%

Marchete: the thing is that I won't win you more

xxd: Well, the CodinGame terminology is Google+ but that just means using my Gmail OAuth to sign in

jacek: oink

Marchete: meanwhile I can win mikla morwe

MSmits: yep

Astrobytes: lol, the age-old strategy of playing the most insane moves ever to confuse your opponent? :D

Marchete: so you'll go even higher

MSmits: so i cna always just wait

Default avatar.png AB_007: hi

MSmits: Astrobytes that is exactly what he does!

Marchete: yeah, bad moves worked against endgame nim players

MSmits: my solver makes me somewhat immune, except when he does it too early

Astrobytes: Seems logical

Marchete: your solver is immune because you saw my weird moves :D

MSmits: he'll just offer a 4 loop, so 4 free boxes, and mikla will decline because he doesnt want to lose nim

BlaiseEbuth: You're immune, exept when you're not.

MSmits: and then again, and again

MSmits: so 12 free boxes for marchete

Astrobytes: heh heh

Marchete: nim vs scores

Astrobytes: tricksy

MSmits: yeah

MSmits: but also marchete is able to loopify the map very well

MSmits: making nim less useful, my bot doesnt do that. It's too busy trying to win at nim

Astrobytes: Yeah, I remember the conversations

MSmits: yea

BlaiseEbuth: yea

Astrobytes: aye

MSmits: indeed

Marchete: eya

jacek: eeyup

Marchete: but that's a one trick pony :D

MSmits: https://www.codingame.com/share-replay/572966276

Astrobytes: :rofl:

MSmits: watch the scores

Marchete: not really the best strat I guess

Marchete: :_(

MSmits: i mean to see they dont go down, the solver is working

MSmits: i had many bugs today

MSmits: esp. vs remi

Marchete: you have 100% except mikla

Marchete: (again)

MSmits: and you

Astrobytes: Still not noticed bacon online btw

Marchete: 1?

Marchete: lol, that's irrelevant

MSmits: yeah ok

MSmits: but your bot can be improved

MSmits: if you want to, you can use my bot as a score solver in IDE and see when the score shifts

MSmits: then you know there was a mistake somewhere

Astrobytes: Are you the Anti-Bacon Brigade now

MSmits: yeah!

jacek: :star_and_crescent:

MSmits: https://www.codingame.com/share-replay/572966363

BlaiseEbuth: :no_mouth:

MSmits: see mikla makes the mistakes too

MSmits: 22-27 to 13-36

Marchete: probably because as the bots now it's losing

Marchete: no matter if it's 25 or 36

Marchete: it's a -1

Marchete: know*

MSmits: in the case of your bot, i would believe that

MSmits: your bot searches the endgame

MSmits: i dont think his does

MSmits: it's just heuristics

Marchete: naaah I can't win you anymore

Marchete: usually 24-25

MSmits: there's a chance when i sacrifice for nim

MSmits: but it's small

BlaiseEbuth: Sacrifice! :imp:

MSmits: because you cant make a single mistake after

MSmits: 2 losses vs you btw

jacek: yay or nay? https://i1.kwejk.pl/k/videos/msMs0On69vFYH8fcjrZrhRZx55K9XnCK.mp4

martinpapa69: for first look, it looks like a yay

jacek: lets make ultimate edition then

MSmits: what a cool idea

MSmits: might be too simple for 3x3

struct: solved

MSmits: but no need to go 9x9

Illedan: Looks too easy yeah

MSmits: 9x9 is overkill

struct: 18x18

Astrobytes: 8x8 CG standard

MSmits: does this have a name?

struct: 1k iterations random beating my smitsimax. ...

MSmits: maybe you accidentally coded smitsimin

Astrobytes: more of a smitsimin is it?

Astrobytes: damn!

MSmits: sorry

Astrobytes: :D

Marchete: I want to do smitsimaxZero

MSmits: :cloud_snow:

Astrobytes: :rofl:

jacek: just use worst move of your smitsimax, ezpz

Astrobytes: alphaSmizo

struct: marchete do it for bit runner

struct: :)

Marchete: why the hell he says win? https://www.codingame.com/share-replay/572968548

Astrobytes: nimsolved

xxd: hallo

xxd: got this working in pidgin

jacek: :tada:

AllYourTrees: \

struct: maybe i just dont know how to implement smitsimax

struct: All my tries on CSB failed

MSmits: yurko did it better than me

MSmits: did you compare it with another bot struct? like a gA or minimax?

MSmits: maybe it's CSB that's the problem, not the algo

struct: i was trying it on sogeti atm

MSmits: csb might just be hard to eval for you

MSmits: (it kinda is)

struct: I never managed to code a blocker

struct: might be the reason

MSmits: I dont really code a blocker in csb, it just has a separate eval

MSmits: it's like 3 lines

struct: I think I got top 200 with smitsimax using 2 runners

struct: in csb

MSmits: oh, well thats not too bad

Marchete: https://www.codingame.com/share-replay/572970501

Marchete: why do you have a sad face?

Marchete: can I win?

Marchete: at 51

MSmits: I lost nim to you

MSmits: but regained it

MSmits: I cant predict how nim will go until i solve it

MSmits: and it could be a loss for me

Marchete: do you solve nim from there?

Default avatar.png dsfjkfdls: bruh

Marchete: I was trying minimax, depth 5

MSmits: yes as soon as the face appears, nim is solved

MSmits: if you really want to do nim, you have to write a dedicated nim solver

Astrobytes: So that's your nimface eh

MSmits: it's an entirely different beast

MSmits: yes :grin:

Marchete: and you went from 22-27 to 24-25

MSmits: ow crap not again

Marchete: so it's not fully solved before 70?

MSmits: this is my new bot?

Marchete: guess so

MSmits: damnit, i just went through 100 games no bug

MSmits: and you found one

Marchete: I'm pushing you to create the best bot ever :D

MSmits: jeez, it's the damn loop

MSmits: maybe you can actually play isolated loops

MSmits: and gain

MSmits: i thought you couldnt

MSmits: yeah seems like that is it

MSmits: it's not a bug, it's a faulty assumption by me

jrke: i want to ask is opening smallest loop optimal?

jrke: like always opening smallest loop

MSmits: it's better than opening a bigger loop

jrke: and cutting off big loops from search

MSmits: but it's not better than all other moves

MSmits: you can prune the bigger loops when a smaller one is available

jrke: oh so pruning bigger loops is good?

Marchete: loop-wise, yes

Marchete: I think

MSmits: only as long as a smaller one exists jrke

3779295: how much computer science background do i need for bot programming

MSmits: same with chains

BlaiseEbuth: 0.5

MSmits: but a small chain is not always better than a big loo

AllYourTrees: if you know loops/if statements you can do a lot

Astrobytes: You can't flush a big loo with a small chain

BlaiseEbuth: :flushed:

MSmits: :P

Astrobytes: (sorry)

jrke: so just taking smallest loop, smallest closed chain and all open chains right?

MSmits: I think I might have to rewrite a big part of my solver Marchete, you just showed you can just about play anything as a pre-emptive sacrifice

Marchete: I thought it was this way

Marchete: but you said no

MSmits: because of the papers

MSmits: they only ever talk about unfinished chains

BlaiseEbuth: *paid papers

Marchete: your bot right now is probably ahead of all those papers

Astrobytes: ^

MSmits: but earlier i discovered also connected chains (to a join) can be pre-emptive sacrifices

MSmits: and apparently isolated loops can also

AllYourTrees: its crazy how much expertise there is on CG

struct: so many experts then there is me

Astrobytes: expertTrees eh

AllYourTrees: we got AllYourExperts right here on CG

Astrobytes: :D

AllYourTrees: :D

Astrobytes: struct don't be ridiculous

AllYourTrees: ^

AllYourTrees: don't sell yourself short

MSmits: much expertise in the struct

Astrobytes: +there is, hmmm

AllYourTrees: you should rename yourself the inSTRUCTor

struct: I wanted to name myself constructor

struct: but it breaks the search bar

struct: instructor is taken :(

AllYourTrees: just delete there account ez

AllYourTrees: their*

jacek: inclassor?

Astrobytes: There are 2 constructors, one with a c and one with a C

BlaiseEbuth: Evaluator!

Astrobytes: Examinator :P

jacek: and so many destructors

AllYourTrees: oooh destruct would be a cool alter ego

struct: Maybe ill rename nulte

jacek: le struct

jacek: would be in spirit of site's language

Astrobytes: NulteLeStruct?

Astrobytes: structo!

struct: so many options

struct: soon ill run out of accounts

dbdr: https://www.codingame.com/replay/572972077 Scandal! FB is not symmetrical!

struct: yeap

struct: even if you move the game will be diferent

Astrobytes: Nice dance though

dbdr: yes :)

Marchete: rounding errors

struct: or can it be on how the handle collisions happening at same time?

struct: they handle*

jrke: MS have you started pre predicting value now?

Astrobytes: he has multiple negamax-based score solvers for different stages jrke

jacek: soon he will predict opening books

Marchete: he is countering bad players

Marchete: like me :D

Astrobytes: Hey, your strategy works though Marchete

jrke: yeah

Marchete: not against smits

jrke: nice work marchete

Marchete: like 0% winrate

jrke: time to sleep

jrke: gn

Marchete: gn

Astrobytes: Yeah, but against all others ;)

Astrobytes: gn jrke

Marchete: in fact at some point it worked pretty good

Marchete: even 100% vs 2nd player

Astrobytes: Smits always spoiling the fun :P

Marchete: yeah

jacek: hes like eral in the funeral

Marchete: if it wasn't for that evil scientist I could be 1st

Astrobytes: hehehehe

Astrobytes: He's gone full-on into D&B that is for certain

Marchete: imo it's the opposite

Marchete: I retake D&B because of him

Marchete: like "challenge accepted"

Marchete: but now I'll let it on hold

Astrobytes: I can see this one lasting all year lol

Velcoro: faced a couple of cheaters already, but today faced a cheater moderator for the first time, yay, my lucky day!

Marchete: no, I eventually want to try NN

Marchete: but in D&B is a hard task

Marchete: very mathematical

MSmits: dunno, i kinda want to move on. Clobber is an idea, if i can do the claessen paper. Or i still want to do the oware NN also

MSmits: but i cant abide untried ideas

Marchete: do the oware NN

Astrobytes: Not sure D&B seems right for NN

Marchete: but imo supervised is more time preparing it

MSmits: yeah

Astrobytes: Velcoro: hm?

Marchete: reinforced like CGZero is plug & play

MSmits: supervised requires you to know the exact solutions

MSmits: or at least very good ones

Marchete: D&B is bad for NN Astrobytes :D

Astrobytes: Clobber most likely too

MSmits: not sure, clobber can be evalled a bit

MSmits: jacek has a NN

MSmits: probably NN + nim is king in clobber

dbdr: clobber has nim too?

MSmits: sort of, differently, but yes

MSmits: it's not as easily implemented

dbdr: should there be a nim multi too? puzzle?

MSmits: would be cool

MSmits: but you have to make it large enough so that it requires divide and conquer to solve within time limit

MSmits: cant just be brute forced without dividing, then you didnt really nim-solve

MSmits: a real nimsolver can beat a negamax by a factor of millions because of the divide and conquer component

MSmits: it's like comparing quicksort with bubblesort

jacek: a NN vs an NN. which is it

MSmits: the former

jacek: :(

MSmits: unless its a silent N

MSmits: eural network

jacek: i always read NN as en-en

MSmits: yeah but when you say it out loud you dont abbreviate it i think?

MSmits: people would just say " a net" or something

dbdr: a ÑÑ

MSmits: no idea what those things do

dbdr: Ñeural Ñetworks?

struct: en-en

MSmits: that doesnt help dbdr

dbdr: :(

Marchete: Ñ¿

Marchete: Ñ is spanish

MSmits: what does it do

MSmits: why dont you guys like normal N's

struct: how does an N sounds like?

Marchete: gn sound

dbdr: español

Marchete: this

dbdr: ñiet

MSmits: ahh

dbdr: ñet even

MSmits: so ÑÑ is like the sound you make when working on a jobby?

Astrobytes: jalapeño

dbdr: Neural Nietwork

Astrobytes: Nyetwork

MSmits: gngn

MSmits: :poop:

dbdr: the NN that always output 0 (niet!)

Astrobytes: I don't know what kind of jobbies you do Smits but I seldom make any sounds while doing mine

Astrobytes: lol dbdr

MSmits: hmm

MSmits: so you have been trained by a jobby-ninja Astrobytes?

MSmits: silent but deadly

Astrobytes: No they're just like that by themselves. Veggie diet for ya :P

MSmits: well I dont eat meat either

MSmits: tbh i dont make sounds either afaik

Astrobytes: You only drink your food

MSmits: yes, but lots of fiber

MSmits: it's kinda funny

MSmits: people always assumes it comes out the same way it looks going in

Astrobytes: as long as it works! I would miss food though

MSmits: like they dont chew their food into mush

Astrobytes: lol

MSmits: i sometimes eat food

MSmits: but not regularly

MSmits: some popcorn or something

Astrobytes: You don't miss nice food?

MSmits: there isn't a lot of nice food i like

MSmits: and it's mostly very unhealthy

MSmits: or it's meat

Astrobytes: Oh yeah, I forgot you were fussy in that regard

MSmits: like junkfood and such

MSmits: yeah exactly

MSmits: so this is like a perfect solution, but i realize it's not for most people

Astrobytes: Hey, as long as you get all your nutrition I ain't judging

jacek: keto is love keto is life

MSmits: yeah, should be, according to food science anyways

MSmits: dont know what keto is

jacek: ketones

MSmits: is this like a drug?

Astrobytes: Do you have a medical condition that requires keto diet jacek?

Marchete: ketonic, low carbs

Marchete: meat + vegs

jacek: welp im not keto stricly, but low carb + intermittent fasting

Astrobytes: low carb veg

MSmits: seems like that would not have much fiber

Marchete: why not?

MSmits: well meat doesnt have much

jacek: flaxseed has fiber and not much net carbs

MSmits: ah ok

Marchete: you have nuts too

Marchete: and seeds

Astrobytes: It's a pretty extreme diet mostly used in treatment of several medical conditions

MSmits: i think the flaxseed might be in those shakes i take

Marchete: just not empty calories from carbs

Marchete: that makes high sugar spikes

Astrobytes: Probably yeah MSmits

Astrobytes: nuts and seeds are good

Marchete: I don't see it extreme

MSmits: i think what they do is put a lot of those seeds and nuts and stuff, grind it and dry it so it becomes a powder

Astrobytes: flaxseed tastes like :poo: though

Wontonimo: you can make tacos with beans and peanutbutter. mmmm

MSmits: also soy

MSmits: it's vegan apparently

Marchete: just take out bread, sugar and highly processed foods

Marchete: with tons of starch

Astrobytes: I only eat homemade bread

Astrobytes: I only use sugar in cooking certain things

MSmits: i notice sugar is really addictive. You miss it a lot when you stop, but that feeling goes away after a few weeks

Astrobytes: The only processed foods I go for are condiments like ketchup or whatever, sometimes

3779295: i've wanted to quit (added) sugar/processed foods but it's too hard

Marchete: and makes you hungry fast, due to sugar spikes + insuline spike

Astrobytes: ^

BlaiseEbuth: Not being able to kill people over chat is kind of frustrating...

Marchete: what?!

MSmits: I sometimes still eat fries, at most once every 2 weeks or so, that also makes me hungry

Astrobytes: I stopped adding sugar to things around 2000-2001, starting with coffee

Marchete: I think keto as reduced carbs is OK

3779295: is carbohydrates bad too, like rice and stuff

Marchete: it's pretty balanced

MSmits: but hey, i need to mow the lawn, got another hour of light for it. Ttyl guys

Marchete: meat, veggies, nuts, and some carbs

Marchete: cya

Astrobytes: It's not strictly the true keto diet though, just a low carb alternative diet

Marchete: the lawnmower man

Astrobytes: later MSmits

Astrobytes: lol

BlaiseEbuth: carbs stands for carbonara, right ?

Astrobytes: lol, well, it's included

Marchete: it's more from carburator, imo

Marchete: carburetor?

Marchete: in english, I don't know

dbdr: carbohydrates

dbdr: carbon and hydrogen atoms

Astrobytes: carburetor or carburettor yes Marchete

Marchete: no, I'm 99.6% sure it's from carburetors

Marchete: :D

dbdr: :D

dbdr: well, carburator is also from carbon I think

Astrobytes: You missed an element dbdr

dbdr: oxygen

Astrobytes: :)

dbdr: who needs oxygen thhough?

Marchete: carburetors

Astrobytes: And carbohydrates, or they're just hydrocarbons!

BlaiseEbuth: Clashes are really the garbages of this site... Being called a cheater because you coded a bot, on codingame ? Wtf... :rofl:

Marchete: in fact in Spanish you can say "hidratos de carbono" or "carbohidratos"

Astrobytes: hidratos de carbono.... that sounds nice to say out loud :D

Astrobytes: You made a clash bot BlaiseEbuth?

Astrobytes: Of course

Marchete: cheeaaaateeeer

Marchete: it's not fair, you applied knowledge and expertise here!

jacek: who codes a bot on codingame :unamused:

Marchete: freaks

Astrobytes: weirdos

BlaiseEbuth: I did. Was funny to code. But being pinged again and again by one or two 'clashs master' that don't like losing don't worth the pinch of CPs I get...

BlaiseEbuth: I'll stop it I think. :thinking:

Wontonimo: no, just add a random timer to it

BlaiseEbuth: I already manage the time.

Astrobytes: Give it another account?

NguyenVinhHien: hybrid or native is better for mobile app bro?

Astrobytes: I mean clash CPs aren't worth the effort imo due to the decay

Wontonimo: add in something that looks for those "clash masters" and skips clashes with them

Wontonimo: +1 Astrobytes

BlaiseEbuth: Well If you play everyday there's no decay.

Wontonimo: why on gods green earth would you play every day?\

Astrobytes: ^

Marchete: masochism

BlaiseEbuth: I don't. The bot do

BlaiseEbuth: That's all the interest

Astrobytes: I regard it as artificial inflation unless all you do is clash, in which case it's 'worth' maintaining

Astrobytes: artificial inflation of CPs

BlaiseEbuth: :thinking:

Astrobytes: Like ghost CPs

BlaiseEbuth: Well, the gain is not big...

FalINTOblivion0112: no pain no gain

Astrobytes: That's why I say make a separate account for it

Astrobytes: See how far it gets

FalINTOblivion0112: yes

FalINTOblivion0112: ಠ_ಠ

BlaiseEbuth: Already seen ^^ Between 50th and 150th. A lot of fluctuations due to shortests and unknown clashs.

BlaiseEbuth: Will do better if I let it run.

Astrobytes: use python and the github golfer

BlaiseEbuth: github golfer ?

Astrobytes: https://github.com/clemg/pythongolfer/

BlaiseEbuth: Oh this. Well, I'll see. Gonna eat for now :yum:

TanmaySharan: Can anybody tell me ,if i can create a group on this site or not ??

Wontonimo: #a_chat_group_for_you

Astrobytes: A group?

Wontonimo: click there

Wontonimo: it's a public chat

TanmaySharan: oh..ok

Astrobytes: you can DM the channel name to your friends if you need to keep it private

TanmaySharan: Got it...thanks

Astrobytes: If you mean making a group so you can identify on the leaderboards, you could all use the same 'Company name'

MSmits: or school

Astrobytes: that too yes

Illedan: or country

Astrobytes: You can't make that one up though :P

Illedan: Gotta be some countries without players

Illedan: Bonaire seems good :D 15 players all below level 10

Illedan: They wont complain

Marchete: france too :)

MSmits: Marchete did you submit the version that's not deterministic?

Marchete: nope

MSmits: oh too bad

Marchete: do you want?

MSmits: makes it easier for me to test my loopy errors

MSmits: to see if i fixed it

MSmits: i can just do a lot of IDE tests

Default avatar.png Maxim251: i AM ON Ultimate Tic-Tac-Toe game, and i want learn how make tree search

Marchete: I've been touching stuff

Marchete: maybe it crashes

MSmits: oh ok, just do whatever you like. I'll find a way either way

Marchete: it crashes

Default avatar.png Maxim251: exactly montecarlo tree search. I know basics, because I watch multi tutorials, but still I am not sure how write code to generete tree.

Wontonimo: cool Maxim251 , i approve your ambitions !

jacek: first, make game simulation. makeMove, undoMove, get list of all available moves

MSmits: or makeStateCopy, make move, restore statecopy

MSmits: is sometimes easier or faster

Marchete: don't listen these guys, they don't know nothing about UTTT :D

struct: I usually start by optimizing

Astrobytes: game specific

jacek: premature optimization eh

struct: yes

Astrobytes: It's his speciality jacek

struct: its bad but I cant stop it

struct: So I just embraced it

KiwiTae: https://www.youtube.com/watch?v=ZNH0MuQ51m4

jacek: drink so brake fluids then

Astrobytes: works well quite often though struct

Wontonimo: I don't see your bot on UTTT Maxim251

struct: it works for simple stuff I think

struct: games like uttt, bt, c4 are all "simple" to sim

Astrobytes: clobber is really easy to sim too

struct: yeah

jacek: so is some :soccer: game

struct: my both a msmits bot are probably equal

struct: my bot*

struct: and

struct: cant type today

Default avatar.png Maxim251: What id UTT?

Astrobytes: Ultimate Troublesome Tiring Tedium

Wontonimo: https://www.codingame.com/multiplayer/bot-programming/tic-tac-toe

Marchete: Msmits https://www.codingame.com/share-replay/572985095

Illedan: Damn, smitty predicting the score :O

Astrobytes: that's his nim-solving face

Illedan: nim?

Marchete: not nim I think

Marchete: faces are nim

Marchete: scores are calculated

Astrobytes: oh yeah sorry, didn't notice he got the score too

Astrobytes: but the face is nim yeah

MSmits: Illedan nim is a way to predict who has to open the first chain when there are no safe moves left

Default avatar.png Maxim251: I just try to start code that game, thats why I am not on batle ranking

Illedan: Is that an algo?

Illedan: Math?

MSmits: it was Marchete in that game, which is in my favor

MSmits: math

Illedan: ok

MSmits: however, i had to sacrifice 1 box to get there

Astrobytes: look up nim game theory

Marchete: but I'm still winning you...

MSmits: yes, because of the 1 box

MSmits: i sacrificed

MSmits: frame 46

Illedan: Ah, that game

Illedan: Ic

MSmits: if you dont sacrifice any boxes and you win the nim game, you win the entire game, always

Astrobytes: sprague-grundy etc etc nimstrings nimbers

MSmits: but i didnt have any choice, i had to sacrifice that box

MSmits: or no nim-win for me

MSmits: of course if i had score solved by then, then nim would be irrelevant, but nim-solving is way easier than score solving, so it's a tough choice

Astrobytes: is there some way to probabilistically choose between them?

MSmits: well yes

Marchete: anyways 38% winrate :S

Astrobytes: And interpolate

MSmits: i could look at the map, if it has a lot of large chains, it's safe to sacrifice boxes

MSmits: against marchete thats rarely the case

MSmits: so i could use that

Marchete: :innocent:

MSmits: 38% is good man

Marchete: the problem I saw is that

Marchete: sometimes with long chains I just give a lot of boxes

Marchete: I'd need to limit the sacrifices

MSmits: yes long chains are rarely worth sacrificing

MSmits: in theory they can be, but in that case there's probably something shorter also

MSmits: i am testing soon if it is ever worth it to sacrifice an isolated 3+ chain

Marchete: anyways you are +3pts vs everyone else

MSmits: cool :)

Marchete: if you keep improving is because it's a challenge

Marchete: my submitted is random now

Marchete: so you can test

MSmits: thats great, thanks

jacek: yeah, it sucks when youre 1st all the time

jacek: its like curse

martinpapa69: suffering from success

MSmits: it's a burden to be sure

struct: cant relate

MSmits: only because of NN's

MSmits: if you had started boardgames before that, you would have been nr 1 in a few places

struct: maybe its time for me to join NNside

MSmits: if it's fun

struct: might be more enjoyable than writing random eval

struct: hoping it works

Astrobytes: yeah, don't NN because you feel you have to

MSmits: yeah i never did like that much either

MSmits: the eval thing

Wontonimo: automate the random evel , aka NN

MSmits: and now that benching isnt really an option, it's harder

jacek: theres still so many different things regarding NNS

Astrobytes: I enjoy evals and pruning techniques

jacek: some are crappy, some are good, some are copycats of certain article and still they differ between themselves

MSmits: me too, but I think to keep enjoying it, i would have to write a framework for fitting params, much like NN trainign pipeline

Astrobytes: then do it

MSmits: yeah it's just 1 more thing for the list

struct: well you can use euler tool

Astrobytes: The List

struct: the paramfiddler

MSmits: euler tool is better than nothing, but there are better ways

struct: ofc

MSmits: it trains 1 param at a time

MSmits: i often have like 8 or more

Wontonimo: yikes

struct: yeap

Astrobytes: yes, I've never found a use for it tbh

struct: I tried it on spring challenge

struct: I had 20+ paramaeters

struct: :D

jacek: euler tool?

jacek: 1 param? thats some sort binary search eh

MSmits: right

Astrobytes: paramfiddler, on his github

Wontonimo: have you heard of TPE optimization ?

struct: https://github.com/eulerscheZahl/ParameterFiddler

MSmits: maybe if you say what it stands for

Astrobytes: I have now

struct: TPE?

Astrobytes: Tree Parzen Estimator

jacek: hmm 1-delta, 1+delta? sounds like that stockfish tuner thing

jacek: https://www.chessprogramming.org/Stockfish%27s_Tuning_Method

Wontonimo: it's in python from hyperopt import tpe

Wontonimo: i've used it to find the optimal parameter combo of 200 hyper parameters in 120 simulations

Astrobytes: import everything

jacek: still, for hyperparamters i resort to good old grid/random search, and/or semi-manually tuning

Astrobytes: import speed

Astrobytes: Error: no such library

MSmits: may have to install it first Astrobytes

AllYourTrees: import optimal_parameters print("finished")

Astrobytes: or snort it if you want to optimize python :P

MSmits: that too

Default avatar.png SmileyCash: hi travis

Default avatar.png leechmanz: whats up griffin

Default avatar.png leechmanz: griffin you suck at coding

Default avatar.png SmileyCash: okay sorry :(

Astrobytes: you can make your own channel

Astrobytes: #my_school_channel

Astrobytes: click there and stay out of world chat

MSmits: try #bronies4life

Astrobytes: No mercy Blaise

BlaiseEbuth: I don't like hate when it doesn't come from me.

MSmits: Marchete testing the isolated chain thing now. I set up 10k boards where i solve, assuming all isolated loops and chains are also fair game. Now trying without the chains, seeing if i get different solved result

MSmits: so far it doesnt seem to matter if i remove them

MSmits: crap found one

MSmits: the 730th board

MSmits: 1010th too

Default avatar.png SmileyCash: that leechmanz guy really sucks at coding

Wontonimo: hey SmileyCash , what do you think of the people who coded these bots? https://www.codingame.com/replay/572981989

Wontonimo: you think you could crush them?

Wontonimo: they are pretty much just driving straight

Astrobytes: Bit late for that Wontonimo

Astrobytes: tfw your alt got Gold in FB and your main didn't

darkhorse64: submit alt code [solved]

Astrobytes: That has not worked so far unfortunately

darkhorse64: rage submit

Astrobytes: Tried that too

Astrobytes: :D

Astrobytes: Focusing on making it a bit better :P

darkhorse64: use my recipe for Legend: mag us + pb 4

Astrobytes: At least the Sogeti contest made me focus on something else

Astrobytes: what's pb 4 got to do with it?

darkhorse64: mag us sim and pb 4 eval

Astrobytes: Oh I see

Astrobytes: I still have to get gold with this reflex bot first

darkhorse64: Same thing for me: Sogeti made me focus on FB code and I see I have large improvements left

struct: one performance tip I can give is do not calculate all collisions

struct: when one collision happen

Astrobytes: That's what I said earlier, prioritise

darkhorse64: you can cache collisions too

Astrobytes: ^

Astrobytes: only process the most important one

Astrobytes: (At the time)

struct: you can also make avx sim to calculate multiple collisions at once

struct: but I wouldnt dare to try it :)

darkhorse64: Yep, too ambitious for me atm

darkhorse64: gn all

struct: gn

Astrobytes: gn

Illedan: where is pb 4 eval?

Illedan: pms?

dbdr: struct: how do you know which collision happens first without calculating all of them?

struct: https://forum.codingame.com/t/fantastic-bits-feedback-strategy/2360/54

struct: dbdr I calculate them all at the start of the turn

struct: but after one collision happens I dont need to calculate them all again

dbdr: right, only those involving collided entities

struct: yes

struct: Also you can try doing map zones like it some people described on meanmax

Astrobytes: What like quadtrees or something?

struct: https://forum.codingame.com/t/mean-max-cc01-feedback-strategies/5030/11

struct: maybe cant be applied here

struct: I read it a long time so I might not remember well

Astrobytes: yeah, same kinda thing

Illedan: I have both map zones and collision caching in my FB bot. I have so much optim in this shit and no good algo :D

Astrobytes: lol

Astrobytes: think simpler

Illedan: Why?

Astrobytes: then go complex

Illedan: My network is training, can't go much more complex

struct: you are doing NN?

Astrobytes: oh well in that case, ignore previous comments :P

Illedan: yeah

Illedan: It fails spectaculary

struct: gl

Illedan: spectacularly*

Illedan: 100k datapoints and it can't learn shit

Astrobytes: Again: think simple - you may have missed something

Illedan: Yeah, I guess 186 inputs are too much :(

MSmits: wait, is this 186 inputs one hot?

Illedan: some of them

Astrobytes: how many?

struct: Illedan how well does it do with only 1 wizard?

struct: 1 wizard vs nothing

Illedan: 70 onehot ish

Astrobytes: Like any wizard I would hope it just sits there and chills struct :P

Illedan: lol

Illedan: vs nothing?

Illedan: I even have bludger targets in here

Illedan: xD

struct: well people did try to make a runner only on csb

Astrobytes: Yeah I got the idea, just a good joke opportunity

Illedan: And no, I didn't try something simple first

Illedan: Hence I have a 30 line long loss function

MSmits: wait, did you do other NN's before?

Illedan: Sure

MSmits: cuz this seems like a hard way to practice it

Illedan: Learned a lot though

Astrobytes: Even an Oware NN!

MSmits: ah ok

Astrobytes: Not a Marchet e one either

Astrobytes: Sorry Illedan, didn't mean to speak for you :D

MSmits: he doesnt mind

Illedan: Hm? someone spoke?

Astrobytes: :D

Astrobytes: You made SR for practising NN right Illedan? iirc

Illedan: Yeah, but my motivation is weak for own challenged goals

Astrobytes: That's fair, I can understand that

struct: ok ill port arimaa where only NNs will do well

Astrobytes: Are you finally going to finish that?

struct: I think its too hard

struct: for cg

struct: :)

Astrobytes: Don't be ridiculous.

Astrobytes: Where else can you do such things other than offline.

struct: Ok Ill port it this weekend

struct: but i dont hope having many players

struct: Game is way too hard

Astrobytes: Well look at Yinsh!

struct: yeah but 4 moves per turn

struct: I dont even remember all the rules

struct: Rules are simple though

Astrobytes: Just cause it's hard doesn't mean to say it's not worth trying out. If it fails in contrib phase then we chuck it

Wontonimo: that's this?

struct: What do you mean Wontonimo?

Wontonimo: wad u tak abut?

Astrobytes: Arimaa

struct: https://boardgamegeek.com/boardgame/4616/arimaa

Illedan: Damn, so many rules in the first section

Illedan: gl hf

Illedan: Anyway, I'm off, bye

struct: gn

Astrobytes: gn Illedan

Astrobytes: The game itself is simple. Winning it is not :)

Astrobytes: For bots at least

Astrobytes: That was the point of it right?

struct: yes

struct: anyways im also out for tonight

struct: gn

Astrobytes: gn struct, take it easy

0xFFFF: https://www.codingame.com/clashofcode/clash/18904662cbb36713f6ebf87c978c02b9c9aaef7

Astrobytes: 0xFFFF: post your clash links in #clash channel please

FalINTOblivion0112: yes! AI gold level!

StepBack13: #Clash

Peached: finally im off 10k on clash