Chat:World/2021-07-17
jacek: ja_fica maybe theres something about encoding https://www.codingame.com/playgrounds/58137/alphazero-like-implementation-for-oware-abapa-game-codingame/environment-preparation
jacek: also, happy Caturday
sakuraiuto001: https://www.youtube.com/watch?v=58J5LyaZ1oo
Marchete: happy caturday :kissing_cat:
Marchete: btw converting data to base65535 is worse in CG, some UTF takes 2 chars. I used Base16k and it seems better
Marchete: either:
Marchete: https://github.com/JDanielSmith/Base16k
Marchete: or
Marchete: https://github.com/marchete/Codingame/blob/master/BinarySend/ENCODER16k.cs
Marchete: or
Marchete: https://qualapps.blogspot.com/2011/11/base64-for-unicode-utf16.html
Marchete: probably some of these
PaarthThePro: What is Caturday?
PaarthThePro: :smiley_cat:
Thyl: :cat:
Thyl: :cat: :point_right_tone2: :clock12:
PaarthThePro: :cat: :point_right_tone3: crying_cat_face:
- pouting_cat: :point_rightt_tone2: :heart_eyes_cat:
PaarthThePro: :point_right_tone2: :crying_cat_face:
- pouting_cat: :point_right_tone2: :heart_eyes_cat:
PaarthThePro: :cat: :point_right_tone2: :crying_cat_face:
- pouting_cat: :point_right_tone2: :heart_eyes_cat:
PaarthThePro: --------------------------------------------------
PaarthThePro: :cat: :point_right_tone2: :crying_cat_face:
- pouting_cat: :point_right_tone2: :heart_eyes_cat:
PaarthThePro: OK, what is :Cat:ur:day:???????????
PaarthThePro: :Cat: ur :day:
PaarthThePro: :cat: ur :sunny:
xanthopsia: damn, pretty hard challs at clash
xanthopsia: can't really get any haha
KiwiTae: clash of codes are really hard its normal xanthopsia
PaarthThePro: I just played my own clash!!!
PaarthThePro: BTW what is caturday?!?!?!?!?!?!?!?!??!
KiwiTae: it must be easy for a greek god
KiwiTae: PaarthThePro its a stupid tradition when you post cat memes on a saturday
Marchete: whaaat?
Marchete: I'm completely offended
KiwiTae: :grin: oupsi
Marchete: :pouting_cat:
PaarthThePro: That makes so much sence
KiwiTae: :heart_eyes_cat:
PaarthThePro: :cat: :heart: :pouting_cat:
Marchete: no, you can't fix that
Marchete: https://imgflip.com/i/5gri7d
KiwiTae: :joy_cat:
KiwiTae: /\_/\ ( o.o )︵-┻━┻
> ^ <╯
PaarthThePro: Something that never happens:
- heart_eyes_cat: :dog:
PaarthThePro: Something that happens:
- pouting_cat: :dog:
jxsxtx03: why this page does not reconogize the %, for example in order to know the divisors. I use C
jacek: % in C is modulo. should work in C regardless if its CG or not
KiwiTae: maybe he thinks he is using C but he isnt
KiwiTae: hehe
KiwiTae: wanna share your code ?
jxsxtx03: but this dont reconogize% ( modulo) , it shows me an arithmetic error
jxsxtx03: http://chat.codingame.com/pastebin/0ee8856f-cdf4-4e43-8a92-fd2e1565e235
jacek: and what a i b did you try
KiwiTae: that code runs well in c
trizin: '<script>alert(1)</script>
jxsxtx03: but not in this page
Astrobytes: Hi
jacek: :scream:
Tellishappy: Hey
DarkLord__28: heya
VinhDaDen: i use Pascal hehe
Astrobytes: "hehe"
Dragon84: https://www.codingame.com/clashofcode/clash/1869659623ac17af393f6b4a176101c41c80f19
nulte: on ept should I return the state evaluation or should I return 1 or -1 if my state is better/worse than opponent?
AstroHydes: Depends. Using the eval is jacekmax-y
AstroHydes: I use the eval in Oware, scaled to between 0 and 1
AstroHydes: Or something like that
nulte: guess ill try both ways
AstroHydes: Yeah, experiment with it
69razer69: hi
Matsuuu: Is it just me or are some of the task skeletons written with OOP languages in mind
Matsuuu: Doing clojure, the example skeleton just doesn't really yell functional lol
1mmunity: amogus
Noyotens: CODINGAME FALL CHALLENGE 2021 date ???
inoryy: between 01/09/21 and 31/12/21
Astrobytes: Might not be bot programming though . . .
inoryy: what?!
Astrobytes: The decision has not yet been "made"
Astrobytes: From the forum: "The format of the challenge hasn’t been decided yet."
inoryy: :(
Astrobytes: Not particularly encouraging. We can hope though I suppose.
inoryy: what's the reason?
Astrobytes: No reason given afaik
martinpapa69: maybe its getting hard to come up with something fresh, new
Westicles: highly skilled bot guys don't need help getting jobs
inoryy: but they do need a place to have fun though
martinpapa69: working in ai development is not more entertaining after a few years, than cleaning toilets
inoryy: not sure I agree in general, but I'm sorry to hear if that was your experience
MSmits: I did not know toilet cleaning could be that much fun
Marchete: a wild Smits appeared!
inoryy: I went from literally cleaning toilets to working in AI, can confirm AI is a bit more fun
MSmits: indeed, i was on vacation last week, if you're wondering :)
Marchete: back from holidays?
Marchete: ok
MSmits: my wife doesn't want me to tell you when I am leaving, cuz you'll break into our house
MSmits: so that's why i just disappeared :P
Marchete: oh, I'm comfortable breaking in with you two inside :eyes:
MSmits: lol
Marchete: ok that was a bit creepy, jk
inoryy: you're joking that it was a bit creepy?
MSmits: i knew that :P
nulte: damn, I missed a chance on getting the c4 book :(
MSmits: hey I made my nim solver for D&B about 20 times faster
nulte: 20 times?
Marchete: only 20x?
MSmits: (not score solver, nim solver)
MSmits: yeah, it's still a magnitude slower than rank 1
MSmits: but i easily beat everyone below me
MSmits: so at least I am a comfortable rank 2 for now
MSmits: but not done yet
nulte: I finished the 1st version of bt, full rollout is not that bad
nulte: At least ranking wise
MSmits: you mean random rollout?
nulte: yes
MSmits: so no eval
nulte: yeap
MSmits: ah good to know. I never tried it
nulte: But it plays bad
nulte: It sacrifices to many pieces
MSmits: https://www.codingame.com/replay/570667881 my bot starts crying when it's a solved nim-loss. See how much slower it still is compared to nr 1
nulte: Whats the difference between "Win" and "win"
MSmits: not sure, i think he accidentally capitalized it somewhere
inoryy: Marchete please don't take it the wrong way but I found it hilarious you figured out all the bits and pieces behind your CGZero work but couldn't figure out what regularization is
MSmits: happens to me all the time, doing a ton of smart stuff and getting tripped up by something basic.
inoryy: "So I assembled my own car but this cup holder thing I couldn't figure out so I threw it out"
MSmits: thats what happens when you figure out everything yourself
Daporan: Isn't regularization pretty much a field on its own? Not so simple then in my opinion.
inoryy: there's layers to it of course but even majority of experts don't really think about it beyond "just stick L2 norm to the loss and forget about it"
inoryy: i.e. this is sufficient for majority of practitioners https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity/l2-regularization
Daporan: I knew about L2, but thanks ;)
Marchete: now I know what it is
Marchete: and how to use it
Marchete: well
Marchete: in my own words
Marchete: L2 reg is to avoid overfitting / complex models
Marchete: and it's via weight->artificial loss
Marchete: the car pretty much works without that bolt
Marchete: at least I was honest
Westicles: weight loss and occasional irregularity... oh dear
inoryy: Marchete again I don't mean to criticize you, it just seemed funny you've figured out all the really complex stuff but then threw out the "extra bolt" :)
Marchete: not considering the current bias due to submit spams, my current bot was 2nd in oware (much much lower than Robo's bot)
Marchete: yeah, I know my turorial is funny from a ML point of view
MSmits: it's hard to go by rating because of determinism
martinpapa69: you were even first Marchete for few minutes
Marchete: yay! \o/
martinpapa69: BiG
nulte: oware getting dangerous
Marchete: I have 0% winrate vs Robo
inoryy: is oware the most popular for NNs?
Marchete: so I can't deserve that
Marchete: is the simpler one
nulte: I think so inory
Marchete: but the simulation, damn..
Marchete: so many endgame issues
nulte: on connect 4 there are 2 NNs, on breakthrough there are 3 I think
Marchete: I think it's because it's hard to get an heuristic in oware
inoryy: what about UTTT, any NNs there?
MSmits: yeah
MSmits: 3 of them i think
inoryy: oh recurse did one I think
MSmits: also robo and jace k
nulte: on othello there are 3 I think
nulte: on yavalath 1 that I know
MSmits: robo
Marchete: recurs_e won last challenge, by a big margin, with a NN
inoryy: yeah, I remember that
inoryy: it's very impressive progress as a whole
inoryy: When the pandemic clears up and hiring picks up the pace I'd be happy to give a reference to anyone who independently reaches the top of a multi with a NN if they're interested to work in AI for a living. My reference doesn't really mean much but eh you never know until you try.
**Marchete screenshots oware leaderboard
inoryy: by top I mean top~10 or so, you're definitely in the group :)
Marchete: I'm 1st until Robo resubmits
Marchete: so I'll capture the moment
inoryy: ah, congrats!
nulte: grats
Marchete: just rock, paper, scissors
martinpapa69: I think my (copy of your) bot is forever 9th. I keep removing the stuff i dont like and getting almost exactly the same result. I think the net size is a bigget limiting factor here
nulte: I also have rank 1 screenshot before robo improved his NN
nulte: https://i.imgur.com/8KSJOiB.png
Marchete: what net size?
Marchete: I used a bit bigger
Marchete: I have 96,48
Marchete: maybe it's something else
martinpapa69: ahh that was the question, didnt understand
martinpapa69: so i could fit only 80, 32....
Marchete: Dense(96), Dense(48)->policy/value
martinpapa69: ye and i have 2 more layers in the common part of the netwrok
Marchete: you can always use the float32to16
martinpapa69: maybe i could remove them
Marchete: I've put functions elsewhere
nulte: you need to make your bot play worse to beat robo
martinpapa69: ye float16 conversion is a good idea, gonna try it
Marchete: minimal loss
Marchete: if size it's the problem
Marchete: my problem now is more about performance
Marchete: or amount data to fit in the model
martinpapa69: tensorflow even has byte conversion, with minimal precision loss
martinpapa69: havent tried it tho, only read about it
Marchete: quantization too
Marchete: robo uses it
Marchete: I'm still dumb for that
martinpapa69: one thing is interesting for me that, with training only selfplays, the network never overfits
martinpapa69: It reaches its final performance in like an hour, and it stays there, even if i train it for one more day
kovi: not deep enough for overfit?
Marchete: try with more neurons csip
Marchete: I think it's noticeable
martinpapa69: ye i think that will be my next mission
martinpapa69: to fit bigger network in
nulte: only 1 hour to train?
martinpapa69: il lstart with adding #ifdefs to the code
martinpapa69: to only compile necessary parts for inference
martinpapa69: ye i changed the pipeline a lot
martinpapa69: nulte
Marchete: add the option to convert from and to float16
Marchete: make a bit bigger the NN model
Marchete: preference on the first layer
Marchete: as it's "cheaper"
Marchete: due to one hots
martinpapa69: ye, and thats the biggest "bottleneck" in the net
martinpapa69: from 372-> 96
martinpapa69: biggest data loss
martinpapa69: I usually dont make bigger steps, than halving the output in one layer
martinpapa69: but here, we have to
Marchete: I don't know
Marchete: data loss is not from 372->96
Marchete: but from the amount of data to predict
Marchete: 372 are in theory 14 inputs
martinpapa69: my idea is that you compress you data from 372->x in a layer
martinpapa69: umm actually
martinpapa69: because its encoded in one hot, the first layer cointains much less information, than the 2nd
martinpapa69: in cumputer vision i always used the halving the layers in thumb rule, but maybe it's not so good here
martinpapa69: float16 header for c++: 200 kb. bruhh
RoboStac: float16 header?
martinpapa69: ye. im i overcomplicating something ?
martinpapa69: am*
martinpapa69: http://half.sourceforge.net/ btw
RoboStac: yeah
RoboStac: just do _cvtss_sh to convert them to 16, store them and then convert them back to 32 bit on cg servers using _cvtsh_ss
RoboStac: don't do any maths with the 16bit versions
martinpapa69: aa sure, tx for the suggestion. i wanted to do the conversion in the binary, but ye its unnecessary
RoboStac: If you are writing your weights from python you can do it in numpy too
nulte: so you train with 32 float and then convert the weights right?
martinpapa69: ye in numpy, its simple
nulte: or do you train with 16?
RoboStac: training is 32 bit
nulte: makes sense
Marchete: martinpapa69 https://github.com/marchete/CGZero/blob/master/src/CGZero.cpp#L2663-L2723
jacek: maybe instead of bigger net, try bigger replay buffer
Marchete: also that
martinpapa69: bruh
martinpapa69: ye thats a good idea jacek, gonna try
Marchete: check these files functions
jacek: for bigger net then theres too little data
Marchete: I sometimes had some problems with the filesize detection
jacek: and afaik cgzero has low defaults
Marchete: how low?
jacek: you said 800k for buffer? or something
jacek: while i use 12m
Marchete: 12M?
Marchete: then yes :D
martinpapa69: okay, 96->64 net: 70kb cool.
Marchete: float32 to 16 isn't that hard, no?
martinpapa69: ye i thought it was gonna be pain in the arse
Marchete: I even found that AVX function
Marchete: that does it nicely
martinpapa69: btw, why is that, the caching is turned off by default ?
jacek: win to 12 https://www.codingame.com/share-replay/570679151 :tada:
RoboStac: stop bullying my bot, it did nothing to deserve that :(
BlaiseEbuth: You did.
jacek: son carries on father's sins
BlaiseEbuth: Carry on my wayward son...
martinpapa69: okay so i kept sending my "best.txt" instead of the "actual.txt" to cg, thats why my result didnt change in the past 2 days XD wp
Marchete: ohmy
Marchete: for real?
Marchete: note to self, clean up folders
jacek: oO
Marchete: if you have checkpoints you can try to get the best model
Marchete: at some point
martinpapa69: I dont. and i just moved to float16 and changed the model, so my old model is gone anyways
jacek: so low
Marchete: do you have samples?
Marchete: well
Marchete: anyways
Marchete: if it only takes 1 hour
martinpapa69: ye I'll se. I made like 10+ changes in the past two days, so probably something is broken atm
Marchete: maybe do some tests at some point, pitplays are good for initial tests
Marchete: something <99% vs random is not good
jacek: after 3 days
BugKiller_328: hi
BugKiller_328: I have class A and B in a single cpp file.
BugKiller_328: A uses B and B uses A
BugKiller_328: so I did like
BugKiller_328: class A; class B;
BugKiller_328: at the top
BugKiller_328: but I'm getting error like 'invalid use of incomplete type class 'B'
mrfoo: use them as pointers
BugKiller_328: using as pointer
darkhorse64: you have a circular definition. Change your design
Astrobytes: im too slow :(
BlaiseEbuth: Astrosnail
MSmits: I prefer kinetically handicapped
darkhorse64: make more mistakes to recognize them fast enough
Astrobytes: lol MSmits
MSmits: jeez look at this submit: http://cgstats.magusgeek.com/app/multi-dots-and-boxes/msmits
Astrobytes: nah, not that I didn't see it, my hands didn't move fast enough
MSmits: mikla too strong :(
darkhorse64: clear second
Astrobytes: aw shush, you're second by a long chalk
MSmits: yeah
MSmits: I made my bot around 400x faster
MSmits: for solving nim
Astrobytes: oof
Astrobytes: Nice
MSmits: but need another 400x i think :P
ANONYMOUS42: why is the winrate 0%
MSmits: my winrate vs nr 1 is 0%
MSmits: my winrate against everyone else is 100%
ANONYMOUS42: oh i see
jacek: there is 95%
MSmits: yeah royale
Astrobytes: with cheese
MSmits: he rarely beats mikla too
MSmits: for some reason
MSmits: well... i found the one win vs mikla anyways
jxsxtx03: is c++ better than c?
MSmits: has more options
MSmits: same speed i suppose
MSmits: I guess you could say it's better
ANONYMOUS42: C is for masochists
jxsxtx03: should i learn c++ in order to do this kind of things?
MSmits: depends
Astrobytes: C has its place
jxsxtx03: but doing this tasks with C is kinda hard
Astrobytes: Plenty people use C on here
ANONYMOUS42: i'm guessing it comes from french schools teaching C mainly
MSmits: if you want to do complex bot games with 1k line bots and have an easy time writing a sim and still have good performance I would say c++ over c
Astrobytes: If you find it easier then use C++, use the features you like and write the rest in C
MSmits: 1k line code
Astrobytes: tell that to trictrac!
MSmits: yeah you can start writing a bot in c and if you miss features, just copy it over to c++
jxsxtx03: c++ has sth to do with c?
jxsxtx03: or are completely different
MSmits: c++ is an expansion of c
MSmits: it's a superset of c mostly
Astrobytes: You can write C code in C++ no worries.
jxsxtx03: im trying to learn c++, ty guys
MSmits: good luck
darkhorse64: the first C++ compilers were actually translating C++ to C and compiling the result
Astrobytes: Interesting. Didn't know that one
jacek: how 1st compiler was compiled
MSmits: it was done by a chicken
Astrobytes: In some kind of assembler language iirc
darkhorse64: Which is to say anything you write in C++ can be done in C but with great effort
MSmits: does c have structs?
Astrobytes: Yes
MSmits: then i guess i can mostly translate my bots to c without too much effort
RoboStac: they're just data containers though, you can't have functions
Astrobytes: Please do.
RoboStac: so you end up with lots of functions that take that struct as the first parameter
Astrobytes: What robo said :D
MSmits: yeah
MSmits: I guess it's just another layer of headache that I already feel using c++ :)
Astrobytes: Pick the tool for the job. If you have a bunch of stuff already implemented in C and it's good, use it. Otherwise, C++ probably has stuff you could use. Some hardware you can't use C++, etc etc
Westicles: I read other people's C++ and I can't follow it. All this auto business
MSmits: me neither
Astrobytes: Would you rather a huge line of iterator-based nonsense?
MSmits: and not just auto, C++ has tons of stuff i never use and would not recognize
Astrobytes: Like what?
Westicles: classes and templates and lambdas
Marchete: and templated classes :D
MSmits: that sort of thing. It's hard for me to even name examples because when people share their code I often don't know what I am looking at :)
Astrobytes: classes are not hard to get your head around, nor templates (until you start getting *into* template metaprogramming I guess) and who doesn't love a lambda?!
BlaiseEbuth: classes? You're just doing C in a C++ environment...
Westicles: yeah, I just use the containers
MSmits: same
BlaiseEbuth: :no_mouth:
MSmits: I mean i can use a class i suppose, but i dont do much with it
Marchete: O_O
MSmits: in c++ that is
MSmits: in C# I used more features
MSmits: virtual and abstract stuff
Astrobytes: Yeah, CG isn't really the place to use that stuff generally though
MSmits: it is nice sometimes for those complex contest games
MSmits: like kutulu
Astrobytes: Or what I mean is, you can get away without it
BugKiller_328: C is way more faster than c++ even for same code ?
MSmits: no
Astrobytes: It's as easy to do that in C++ as it is in C# though MSmits
MSmits: sure, i just never have
Astrobytes: Try it, learn the features
ubap: good evening friends
MSmits: and it's not exactly as easy, you got the forward declaration
Astrobytes: good evening ubap
MSmits: C# doesnt care where you put stuff
Marchete: that's true
Astrobytes: Plan and organise better :P
Marchete: C++ is a pita
Marchete: with all .h and double definitions
BlaiseEbuth: -> shit is shit everywhere...
MSmits: I try to put things in the right order so i dont have to forward declare, but sometimes you have stuff referencing eachother and then you have no choice
Astrobytes: It is, I admit. But it comes down to design and planning ateotd
Marchete: it's not about design, it's cumbersome
Marchete: for todays' standards
MSmits: old languages have to try too hard to be backward compatible
MSmits: like the weird typing c++ has
MSmits: long long = ?
MSmits: I doubt rust has this problem
Marchete: unsigned long long but not that long you undestand me
ubap: long long = at least 64bit ?
Astrobytes: yeah
Astrobytes: lol
jacek: uint64_t [solved]
Astrobytes: ^
MSmits: thats what i do yeah
Astrobytes: Specify what you need
Astrobytes: And don't assume a damn thing
Astrobytes: You have to be explicit or C++ will piss in your chips
MSmits: eww
Astrobytes: Especially going between different platforms/test environments
Astrobytes: Be specific as to what you want and need, make sure you test whether you're getting what you want or need
BugKiller_328: dummy question to create object array in c++
BugKiller_328: Dog *data = new Dog[5];
BugKiller_328: this will generate 5 object of Dog
BugKiller_328: what I want to know is Is there a way to call constructor which has parameter during making array with dynamically using 'new' keyword ?
nulte: new Dog[5]{ {1}, { 2 }, { 3 }, { 4 }, { 5 } };
BugKiller_328: for example ? Dog::Dog(string name, int age);
nulte: new Dog[2] { {"a", 9}, {"b",10} };
BugKiller_328: If I want to pass same parameter for all objects though
MSmits: Or just do it like the CG Pros: Dog dogs[1000000]
BugKiller_328: Is it ok? MSmits ?
BugKiller_328: creating fixed size of array ?
MSmits: hmm
MSmits: yeah
MSmits: just keep a count of how much of it you're using
MSmits: and make sure the size is enough
MSmits: I often have 20 million nodes for a tree or something
MSmits: most i will not be using
BugKiller_328: yeah, of course I need to have like num_of_dogs ..
MSmits: if they're that big, they have to be global though
MSmits: or at least forced to be on heap somehow
BugKiller_328: now trying to do mcts but when I make expansion, it will have different child..
MSmits: yeah
Marchete: it's for CG?
Marchete: then forget new
MSmits: what i do is i give a Node 2 things: a childindex and a childcount
BugKiller_328: so I was going to make array in dynamic size
MSmits: childindex tells you where in the massive array the set of children starts
MSmits: and childcount tells you where it ends
nulte: BugKiller_328 you dont want to initialize memory during search
BugKiller_328: and then loop by child++ ?
MSmits: yeah for example
nulte: You must create a pool of objects on first turn
BugKiller_328: ok ..
MSmits: just loop on the part of the array you need
BugKiller_328: and creating object with new keyword (probably will be generated on heap) is not good in CG bot programming ?
Marchete: https://github.com/marchete/CGZero/blob/master/src/CGZero.cpp#L1004-L1013
Marchete: I do use new
MSmits: http://chat.codingame.com/pastebin/53e871e5-913f-447b-a2a3-ec2874e4f2fb
Marchete: for tree reuse purposes
Marchete: imo maybe not worth it
Marchete: it's slow
Marchete: Smits is hardcore, he doesn't even save the parent pointer
Marchete: I prefer to do it
MSmits: BugKiller_328 this is an example of a loop
MSmits: http://chat.codingame.com/pastebin/6d69e3c7-6a11-441f-baa4-b0cc2e2d64b3
BugKiller_328: MSmits it's not even pointer ??
BugKiller_328: :D
MSmits: what is?
BugKiller_328: int childIndex;
MSmits: yeah thats just an integer
MSmits: Node* children = nodes + temp->childIndex;
MSmits: nodes is the object pool
MSmits: i add the childindex and that gives me the start of my set of children
BugKiller_328: makes sense..
MSmits: it's like a subarray
BugKiller_328: yeah, totally understand
BugKiller_328: childIndex // where my child starts in pool
Astrobytes: Yeah. It's pretty useful
BugKiller_328: my purpose was to learn algo enough.. but I realized that I'm even weak in data structure than algo.. :D
BugKiller_328: struggling how to manage data ...
Marchete: ..manage data in CG constraints
Marchete: just make a difference vs other environments
Marchete: outside CG I would never make that big static array
nulte: Check memory pool
nulte: is the same concept
MSmits: it's pretty much the only data you store BugKiller_328 in mcts that is
BugKiller_328: you're making big static array for only speed thing..
nulte: ofc
MSmits: depending on how you store the gamestate, it's either on the node, or it's modified when applying moves and reset when the rollout is done
BugKiller_328: like to make more simulation within limited time ?
nulte: I dont use a brain i use speed
Marchete: optimize to win
nulte: yes
MSmits: yes BugKiller_328, but also it's simple
MSmits: no need to worry about running out of memory except for managing the object pool. there is no other memory use
MSmits: unless you count the small stacks that come and go
BugKiller_328: Thanks ..
MSmits: good luck, ask any time. This sort of thing is discussed a lot here
MSmits: when people are not talking about neural networks that is
MSmits: or doing cat emotes
BugKiller_328: thanks MSmits.
MSmits: np
Astrobytes: EPT working nulte?
nulte: I think my eval might be bad
nulte: I just threw random stuff
nulte: But my bot plays different now
Astrobytes: nulte: I beat Crazy_Remi so I'm done for tonight in BT, do your worst!
nulte: grats
Astrobytes: It's a damn tough top 20
nulte: https://www.codingame.com/replay/570701005
nulte: what is my bot doing
Astrobytes: Sign error?
Astrobytes: It looks like it wants to have less pieces than the opponent
nulte: maybe
Astrobytes: Output the values of your eval and look for strange things
Astrobytes: *values of the features in your eval
linjoehan: I finally learned some python now I can play golf
nulte: I think ill create local referee or something
nulte: just to test faster
Astrobytes: It's on my list.
Astrobytes: Anyway, out for tonight. Take care dude, and everyone else too
nulte: gn
FalINTOblivion0112: im a rusty programmer
FalINTOblivion0112: oh no not the tech lead again
FalINTOblivion0112: imma lose
Zenoscave: Meta-mcts question here
Zenoscave: opening book keeps using same replies and I can't seem to change that even by changing exploration constant
Zenoscave: Any ideas?
Westicles: nobody here but us clashers