Chat:World/2021-07-29
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"
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) ???
Mr-DillinG: Solved 1 of them (mars lander thingy), looking at the next one now... "Temperatures" i is called
struct: Runner87 imo yes
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
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.
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
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?
average_python_simp: how do i increase the difficulty in "clash of code"?
Astrobytes: You can't.
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
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
MYNKS: http://chat.codingame.com/pastebin/2ec46668-79e9-4a0f-90f1-2b9930cda3ec
Astrobytes: No.
eulerscheZahl: that reads like a minimum effort clash for the quest map
Astrobytes: Total waste of time these things
eulerscheZahl: but it isn't, it's 4 years old already :o
Astrobytes: Hint: Read it.
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
average_python_simp: eulerscheZahl
average_python_simp: can i play codeforces with just my friends?
eulerscheZahl: no
eulerscheZahl: but you can invite your friends
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)
eulerscheZahl: is that someone online?
eulerscheZahl: /msg <name>
Geiler: We just did a Coding Clash and I don't understand the solution so I want to ask him lol
eulerscheZahl: some clashers are bots. for obvious reasons they won't respond to you
Geiler: rip no one was found in the chat
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
Geiler: Sure, thank you, someone shared his code but I don't know Ruby, so can someone help me please?
Geiler: s = gets.chomp puts s.sum(99)
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
Geiler: Same, I can imagine the sum function counts all the letters of the string s?
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
Geiler: Reverse engineering: an example was: Input: "an exemple" Output: 959
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.
eulerscheZahl: i searched it here https://eulerschezahl.herokuapp.com/codingame/puzzles/
eulerscheZahl: and I shortened the solution:
eulerscheZahl: p gets.chomp.sum
Geiler: Wow, you own a search website
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?
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
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)
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
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
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:
_Diode_: Anybody know an editor mapping to run test cases?
dbdr: ctrl+enter ?
_Diode_: Holy cow, that is amazing. How did you know about that?
_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
_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
_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
_Diode_: No problem. Maybe I need to do that.
20orange: hello :D
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
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
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?
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
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
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
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
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
leechmanz: griffin you suck at coding
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
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