Chat:World/2020-12-18

From CG community
Jump to navigation Jump to search

Default avatar.png QuiqueLuna: Siuuu

Default avatar.png Robin_Hood: use englidh

Default avatar.png Robin_Hood: englidh

Default avatar.png Robin_Hood: english

Default avatar.png QuiqueLuna: jsjsjjs

Default avatar.png Robin_Hood: please use english

Default avatar.png Robin_Hood: ouldn't understand

Default avatar.png QuiqueLuna: sorry

Default avatar.png QuiqueLuna: hi

Default avatar.png Robin_Hood: hii

eulerscheZahl: now he has to create a new account

eulerscheZahl: his approval vote for my blockout puzzle is gone

Westicles: hii

eulerscheZahl: good morning

SanJJ: good morning !

Default avatar.png Rudova: shot out

jacek: good morning Sir/Madam

Default avatar.png situu: good morning

Default avatar.png B00M3RiNGU3: jesus lord, why couldn't this site just have videos to teach us

Default avatar.png B00M3RiNGU3: *?

Damaxal: what should they teach you?

Default avatar.png B00M3RiNGU3: like, is there a way to learn where goes what and why it goes there without having to look it up on external sites?

Westicles: teach you not to blaspheme!

mzbear: programming always involves having to look things up from external resources

Default avatar.png B00M3RiNGU3: then what's the point of this site being here if itself is supposed to be an "external source"?

Default avatar.png B00M3RiNGU3: seems kinda counterintuitive

mzbear: you work on the puzzles here, learning by doing, and the site verifies your answers. it's quite nice, really

Default avatar.png B00M3RiNGU3: it's legit just throwing me into a pit and expecting me to know how to climb out after having me input one number

Default avatar.png B00M3RiNGU3: havent found one puzzle yet that is explanatory or easy to understand

mzbear: well, why aren't you climbing? :D

mzbear: try writing some code, see what you can do with the input you got

mzbear: it doesn't have to work the first try

mzbear: the important part is being able to see what your code does

Westicles: the world needs fry cooks as well

Default avatar.png B00M3RiNGU3: can yall read?

Default avatar.png B00M3RiNGU3: its not knowing where stuff goes and why it goes there that it needs to teach someone like me

darkhorse64: This site is not about teaching, it is about competitive programming. You will learn something by programming puzzles or bots but it will not give you the basics.

mzbear: everything's difficult in the beginning. it'll get easier once you get started

Default avatar.png situu: yep

mzbear: if you haven't decided on a programming language, i recommend python 3. then google some resources about "conditions" and "loops" in python 3 to get started.

mzbear: and start with this puzzle: https://www.codingame.com/training/easy/power-of-thor-episode-1

Default avatar.png situu: but if u want to master game development i recommend lua

mzbear: any language is fine, as long as you can find resources that teach you the basics about it

mzbear: anyway, that Thor puzzle is quite easy. It only requires you to know variables and conditions.

Default avatar.png situu: I couldn't see the video tho

Default avatar.png situu: so i died multiple times

mzbear: oh wow, didn't know intel had such useful interactive guide for their special instruction sets: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#cats=Bit%20Manipulation

Default avatar.png JKROwling: 1300135

jacek: :thinking:

Default avatar.png JKROwling: 1300135

mzbear: oh, it spells out "boobs"

Default avatar.png situu: what's with the numbers

mzbear: 13 = B ... that's with the numbers. it's a highly intellectual joke

Default avatar.png Maxim251: :D

jacek: 80085?

Default avatar.png JKROwling:

Default avatar.png JKROwling: 1300135

Astrobytes: wtf

NorwegianMori: hello from the other side

Default avatar.png JKROwling: 5130013

struct: enough with the spam

Default avatar.png JKROwling: how to become a moderator?

Default avatar.png JKROwling: what is the criteria?

Astrobytes: Can see where that was headed

mzbear: not spamming "boobs" is a good start

Astrobytes: hey, that got me my moderator status

MSmits: thats how i did not :(

Astrobytes: :D

mzbear: alright, second iteration of Yavalath bot done. still no search, but now i'm taking forced moves too

mzbear: seems to do a bit better than pure random

Astrobytes: oh your doing yava, nice :)

Default avatar.png situu: right about to solve Futoshiki Solver

Aayush.Curious: oh..puzz of week

MSmits: yeah, nice one mzbear

MSmits: would be cool to have more players

MSmits: btw, get your steals set up correctly. Steal all center squares. dont steal the corners and the mid hexes on the edges

MSmits: (center = 7 hexes)

mzbear: i've kinda started preparations for making search, by optimizing the heuristics as much as possible

mzbear: i'm only stealing centers currently, since i have no idea what moves are good moves yet

MSmits: well basically i just told you :)

MSmits: corners and mid edges are bad

MSmits: centers are good, so steal. Rest is pretty balanced

MSmits: I simulated around 4 million games, so I'm fairly confident :)

mzbear: wait, all 7 center hexes are good? mmkay

MSmits: yeah i solved them as awin

MSmits: so you can technically always win if you take them

MSmits: you do have to have a good bot of course, but it should increase your win chances at the very least

mzbear: alrighty then, i'll write down a TODO comment and do that a bit later, right now the stealing is a hack and i need to rearchitecture the code first :D

MSmits: sure, if you want to get a good bot fairly quickly, probably go minimax

MSmits: it's not worse than mcts

MSmits: and much easier to code

mzbear: mcts isn't that hard either, it's just more annoying to tune

MSmits: it's reasonably difficult here

struct: on yavalath is harder

MSmits: because fully random rollouts dont work

mzbear: my biggest problem is that i dont feel like setting up a local testing environment

MSmits: if you random rollout, almost every game ends because someone suicides with a 3 in a row

mzbear: so i'm coding in this web editor ... and my display is fairly small, so that code editor is 60x25 characters large only :D

MSmits: eek

mzbear: i already have fairly fast heuristics to prevent 3 in a row etc

MSmits: yeah, if you put those in the rollout, it should do ok

MSmits: also try to take the win automatically in the rollout

struct: are you doing bitboards mzbear?

mzbear: i go through all 61 moves in ~0.015ms currently, testing for 3-in row and 4-in-row

mzbear: yep, bitboards in BMI2

MSmits: you mean you use intrinsics

MSmits: ?

MSmits: I would guess pdep, pext, pop count and ctz/clz

mzbear: http://chat.codingame.com/pastebin/7707c253-909f-4fbf-aba9-9a8fee6e07c2

mzbear: there's an example

MSmits: well close enough, thats 3 out of 5 guessed right :)

mzbear: i do use popcounts for other tests

MSmits: ah ok, yeah you kinda need it to generate a random number

MSmits: btw, if you go further into it, it can be worth checking for traps

mzbear: oh hey, i didn't even think of that yet

mzbear: popcount + pdep to pick a move, yes yes yes

MSmits: but ofc first just get something working :)

MSmits: this sort of thing is very bug prone, small steps

mzbear: right now i'm just looping through all moves and doing reservoir sampling

MSmits: whats reservoir sampling

mzbear: if(rand()%n++==0)

MSmits: no idea what that does

mzbear: so i dont need to store the moves anywhere, i just iterate through them all

MSmits: randomlu?

MSmits: u=y?

MSmits: seems weird to iterate over all and yet use random

mzbear: well, that provides an uniform distribution

MSmits: ohh right

MSmits: this is monte carlo

mzbear: except without search

MSmits: good way to start

mzbear: :D

MSmits: it's kind of a search

MSmits: it's MC search

mzbear: well, kind of. i just discard bad moves and pick decisive moves, otherwise it's random

MSmits: ah ok

mzbear: since i dont evaluate any future states yet

MSmits: big difference between this game and uttt is the early ended games

MSmits: if I do a mcts and i get to ply 10 or so, often 80% of nodes are immediately solved

mzbear: it would probably be more efficient to do the 4-in-row and 3-in-row tests after mutating the board

MSmits: because they fail to block some trap

Default avatar.png JKROwling: :O

mzbear: looks like i got rank 50 with this

MSmits: over halfway up the ladder

struct: fish is the highest minimax right?

MSmits: tric trac

MSmits: but basically just as good

MSmits: the only reason tric trac is up there is probably because i got dafish's tree solved better

MSmits: also

MSmits: dafish both experiments more with bad moves

MSmits: bot

MSmits: tric trac has a tiny opening book i think

MSmits: there's also a neural network

MSmits: rob

MSmits: +o

struct: is it strong?

MSmits: he thinks he failed, but it actually makes good moves

MSmits: its just super deterministic

MSmits: I had to work pretty hard to find the correct counters

MSmits: maybe jace k can make a better NN or his ntuple bot, he always uses random so that will be interesting :)

MSmits: anyway have to walk the dog, ttyl :)

struct: cya

Westicles: struct, if you get control again you should change it to octagons. kill 2000 hours of work for him :)

Westicles: well, of course octagons don't tile...

mzbear: change it to penrose tiling

MSmits: lol

MSmits: he could also just remove the center hex

MSmits: that would do the job as well

MSmits: maybe put a volcano there and call it Lavayath (trademark Astrobytes)

Default avatar.png hbq123-boop: devalaya patlayam

Default avatar.png hbq123-boop: is nice

Default avatar.png situu: anyone finish the clash of code??

jacek: still working on that n-tuples. quick testings show 65% winrate against the mcts

MSmits: nice

jacek: actually i tried mlp n-tuples. with fixed nodes it is better but too slow

MSmits: what is mlp again?

darkhorse64: all 4 n-tuples for Y ? Using symmetry ? Yes, I read all your references papers and I think I could write one now. The training part is less clear in my mind

jacek: multi-layer perceptron MSmits

MSmits: ahh yes

jacek: yeah, i use all 4-in-rows

MSmits: funny thing is, i have a bot thats all set up to do that

jacek: no symmetries in the n-tuples

MSmits: but no way of training the params

MSmits: so i have some set params

MSmits: handpicked

darkhorse64: I mean using board symmetry to divide the # of 4-tuples by 6

MSmits: he does use that

MSmits: by 12 actually I think

jacek: no, i use 102 n-tuples uniquely

MSmits: not to train though?

jacek: it is just i use symmetries for training so i have 12x more data

MSmits: yeah

MSmits: I guess it's not exactly divided by 6 or 12.

MSmits: some ntuples are 6-symmetric, others 12 or even 3

MSmits: mmh no 3 doesnt seem possible

jacek: im too dumb to make symmetries of them and to make them efficiently

MSmits: me too

MSmits: doubt it will be worth it

MSmits: I only do it in meta mcts

jacek: do you know how many unique of them are?

MSmits: not sure, but i guess around 16?

darkhorse64: Too much to do. I have some ideas to improve my score at AC, now that I understand BeamSearch, I want to get Legend at HS and reach level 40, ...

MSmits: you never did beamsearch before?

MSmits: it's one of the easiest algorithms to figure out

darkhorse64: no, first on FC2020

MSmits: well cool, another tool

struct: me too

struct: Icebox teached me

MSmits: i used it in ooc, HS, probably others

jacek: FC2020?

MSmits: stupidly named contest

DomiKo: Fall Challange

DomiKo: 2020

darkhorse64: I did a BFS for FC without realizing I was not going deep enough (I made the wrong tests). I also realize that I should have tried that at SC2020

MSmits: oh right, i did beamsearch there too!

MSmits: the pacman

darkhorse64: I move from 140 to 50 with BS and a better scoring

darkhorse64: pacman was a disaster. I knew my search was poor but I did not know how to focus on rewarding paths

MSmits: a lot of players viewed it as a disaster, but i think it's mostly because it was just a hard game

MSmits: there were 5000 contestants, remember that when you look at your 140 rank

darkhorse64: A disaster for me. I do not blame the game

MSmits: me neither, the game was ok

MSmits: but because its so hard, its easy to think its your own fault for not getting a neat/clean search going

darkhorse64: at SC, I was 350 but I am slowly sinking

MSmits: while really, most players were flailing in the dark

MSmits: ohh ok i thought you meant SC 140

MSmits: i have no idea about FC, didnt have the time :(

struct: my code is a mess

MSmits: btw darkhorse64, I am testing that full rollout thing for uttt again... hope this time you're right and it works

darkhorse64: FC 140/7000 is a decent result for me

MSmits: yeah seems good

darkhorse64: I have drifted to 16th at UTTT, Time for a revisit

darkhorse64: ?

MSmits: depends, there are probably some things you can improve

MSmits: public knowledge has changed

jacek: full rollout thing?

MSmits: just simulating from each child, instead of just one

MSmits: i didnt get it to work for uttt

MSmits: but use it almost everywhere else

MSmits: somehow it was always worse with uttt

darkhorse64: The only quick win I think of is to add a multiply bonus in my nodes for the value and classify nodes against wins, free moves, and teccles strategy

MSmits: yeah

MSmits: those should be tried

MSmits: remember, you can also use teccles inside the search

MSmits: not just when picking a move

MSmits: expansion will give you 1 child then

darkhorse64: inside the rollout not only during selection ?

MSmits: if you do it in expansion, you can for sure do it in the random rollout

MSmits: since the demand for accuracy is even lower there

MSmits: so just do it everywhere. I lowered it to end at ply 20 just in case

MSmits: so i only do it before 20

MSmits: in endgames it's sometimes a bad choice

MSmits: also look at the center move if you want

MSmits: it's almost always bad, especially when the board is nearly empty

darkhorse64: Biasing the selection is one thing, biasing the rollout is more dangerous. Apart from book things, is there other "public" knowledge that I should know of ?

MSmits: these are the main things I think

MSmits: currently i have a better way of testing new bot ideas

MSmits: i add + random(0,01) to every move

MSmits: so that i dont overfit

MSmits: that way no submit is needed

MSmits: or CG bench

jacek: bonus for win small board and penalty for ending up on solved small board

MSmits: yeah i dont currently use the bonus for winning small board

MSmits: it didnt work for me

MSmits: but the other one did

MSmits: clear advantage (55%)

MSmits: I just add 0.2 to avoid rree moves

MSmits: free

MSmits: err subtract

MSmits: from UCT score

MSmits: that's a big penalty

MSmits: it's like you're saying this node has 10% less winrate

darkhorse64: I was thinking UCT like bonus * value + regret, bonus being 0.85 or 1.15 or 1.0

MSmits: but all of these bot tweaks interact. If you add one, the other becomes worse

MSmits: hmm thats dangerous

MSmits: because if you do bonus * value, then when the value is negative, the bonus hurts you

MSmits: I just add the bonus

MSmits: in your case, if a node has winrate 50%, then the value is 0 and there is no bonus either

MSmits: inline float Value() { return wins / (float)visits + bonus; }

MSmits: inline float UCT(float sqrtLogVisits) { return Value() + sqrtLogVisits * rsqrt_fast(visits); }

darkhorse64: I was thinking of a mutiply factor because the regret is unbounded. Yeah, quick/easy/cheap fix to the engine

MSmits: you could also use progressive bias

MSmits: bonus reduces with more visits

MSmits: but you need to have *a lot* of visits before a free move node is properly valued

MSmits: there are so many moves and most of them are bad

MSmits: so it has a low value for a long time, until some of the board-winning moves get selected and significantly raise the node value

MSmits: needs thousands of visits

darkhorse64: From my archives, the Russians and Ukrainains are using a constant bonus

MSmits: yes, thats where i got it from

MSmits: but they did it weirdly

MSmits: they added it to the backpropagation

MSmits: but thats the same as just adding it in selection

MSmits: this way is cleaner

darkhorse64: You are almost tempting me. :slight_smile:

MSmits: not really trying to. I just like to talk about it

MSmits: i can tempt you to try other board games as well

MSmits: just let me know which you want and i'll boost your motivation by spamming about it

MSmits: i've been thinking about breakthroughm but i am stuck as much as you are

MSmits: I really want to try a meta mcts for it, but i need a good bot first, my bot is crap

darkhorse64: I'll stick to my plan. Legend HS and level 40.

MSmits: HS is fun

MSmits: legend should really be doable

MSmits: legend itself is a mess

MSmits: good idea to stop when you get there

darkhorse64: I want to be above the clones.

MSmits: oh, then you're entering the mess

MSmits: submissions will tell you nothing

MSmits: because the ratings are too close

jacek: clones?

MSmits: yeah 3rd in contest shared his bot on gith

MSmits: so its full of clones

darkhorse64: Which rank is above the clones ?

jacek: :no_mouth:

MSmits: dunno exactly, but probably around 20

MSmits: well

MSmits: 60 if you dont count improved clones

MSmits: the funny thing with HS is that you dont need to really worry about performance too much

darkhorse64: OK. Scoring 4K + CP is not going to be easy

MSmits: once your bot is fast, you can go very deep with only like 10 ms

MSmits: what is 4k + cp?

MSmits: oh

MSmits: thats what you need for some rank?

darkhorse64: Same for FC. More than 4000 CP

MSmits: the grap is pretty steep isnt it

MSmits: graph

darkhorse64: In a way, yes, I have an internal competition with daaskar e.

MSmits: do you know him personally?

darkhorse64: Yes

MSmits: wait a min

MSmits: you're like 1 rank below me

MSmits: yeah

MSmits: so i'm gonna be dropping further :P

darkhorse64: steady and stubborn progress. Code golf, optims point by point

MSmits: yeah if you focus on it, rank is pretty easy to get

MSmits: i got some good boost from quest progress

MSmits: hardcoding code of the ring :P

MSmits: reeeally should have beamsearched that

darkhorse64: I did too. Beam Search CotR ? I did something simpler, Bruteforce on the four next chars but it's not very good but sufficient to be above many and benefit from all other contestants

MSmits: I went through every case by hand

MSmits: took the entire afternoon

MSmits: at the end i was ranked 50 :P

MSmits: one case is horribly long but i made it

darkhorse64: 2K steps difference with me. Huge gap

darkhorse64: I did not try searching because clearly "functions" are the only way to score well

MSmits: shows how difficult it is to search

MSmits: if you can do better by hand

MSmits: like numbershifting

MSmits: some got to level 100, i had great trouble getting past 61 at first

MSmits: with a search

darkhorse64: You know Marchete's LAHC NS ?

MSmits: nope

MSmits: whats that

jacek: hill climbing variant?

darkhorse64: sec

darkhorse64: https://github.com/marchete/Codingame/blob/master/Optimization/Number Shift/NumberShift_LAHC.cpp

MSmits: is this basically a freely shared solver?

MSmits: or?

Westicles: yep. he changed some things to TODO, a teaching thing I guess

MSmits: ohh ok

MSmits: well that's ok

MSmits: as long as it's not too easy to copy paste

darkhorse64: I used that LAHC on A*C to improve my scoring. It's a bit crippled but the algorithm is interesting

Westicles: xevi used LAHC as well.

MSmits: i favorited it, maybe i'll try it some time

Default avatar.png UnnamedCodinGamer: you can see the exchange here: https://www.codingame.com/forum/t/community-puzzle-number-shifting/152425/25

Default avatar.png UnnamedCodinGamer: I tried it myself but it did not perform better than SA in my case

darkhorse64: I mean LAHC can be applied on other problems and the implementation is clear enough to be reused

Default avatar.png UnnamedCodinGamer: yes

MSmits: I loved the dancing links algo

MSmits: too bad it capped at the low 200s

darkhorse64: It also tempts me to give a go at NS. I just solved 16 levels by hand

MSmits: it's fun

Westicles: Yeah, I think I'll make a run to 700 just to keep xevi interested

darkhorse64: by hand ? by search ?

Westicles: Good weather now for it :P

MSmits: lol by hand at 700 :P

MSmits: you cant even look at the board

darkhorse64: new computer for Xmas ?

MSmits: you need toprint it yourself

Westicles: Just SA. It is really slow at these levels, maybe a day each

MSmits: Westicles how do you keep SA running?

MSmits: doesnt it have a temperature scheme that ends?

MSmits: and then you start over?

MSmits: it's not like minimax where you can keep it running forever and it will keep getting closer to the answer

MSmits: or mcts

MSmits: I guess you can set it to run for a day and hope it hits on the right answer?

Westicles: Well, it runs for a few minutes each and finds a bunch of decent ones, then sends it off to an optimizer that tries for maybe an hour. Then starts over

MSmits: ahh ok

MSmits: and you just experiment with these parameters

MSmits: x minutes, y hours

MSmits: i suspect you need to set them higher for higher levels to solve more quickly

MSmits: I recently did my first SA on the travelling salesman for a teaching project

Westicles: Yeah. I was kind of disappointed, my theory was at some level they would get easier to solve. More solutions available

MSmits: yeah but also more restrictions i guess

MSmits: i mean

MSmits: a greater space, so the fraction of solutions gets smaller

Westicles: right

MSmits: thats why level 61 was so hard

Default avatar.png hbq123-boop: :O

Default avatar.png hbq123-boop: 6`

Default avatar.png hbq123-boop: 61

MSmits: there's like 2 solutions, so even if the space was small, the fraction is tiny

jacek: oh my

tarikyildiz: Hi, I started learning algorithm very difficult, first I learn big o

Default avatar.png hbq123-boop: good

tarikyildiz: thx

mzbear: ... third version of my Yavalath bot submitted. Now it also takes moves that open multiple 4-in-row opportunities. I suppose I should've made it also block enemy from taking those

jacek: noice

jacek: still no search

mzbear: yep, unless you count iterating through all currently possible moves and picking decisive ones as a search :D

mzbear: hmm, actually blocking enemy traps is harder than making traps, because enemy trap move might be 3-in-row for us, and traps can potentially be broken at any of the following winning moves as well

jacek: yeah thats common. keep trapping until you trap means 3-in-row for opponent

mzbear: alright, preliminary trap blocking implemented... somehow the code is cleaner than before implementing it, too, lol

mzbear: this forced me to setup a uint64_t filter for currently valid moves, which cleaned up a lot of other code

mzbear: oh yeah, this is doing much better

mzbear: i might have to start doing a search soon

mzbear: rank 39 ... oh, my bot is buggy, it doesn't understand when enemy steals my move!

mzbear: rank 28 after fixing that bug

mzbear: that's higher than i expected to get without search

struct: Nice

mzbear: my bot only does traps when it guarantees victory. it only does detected decisive and forced moves, the rest is random

jacek: :tada:

MSmits: what did you do jacek?

jacek: it was for mz :bear:

MSmits: o

ROMZAB28: za warudo

MSmits: indeed

mzbear: ugh. there's still a category of trap-leading losing moves that i'd like to detect before i start writing search, but i dont know if i should. it might be better to just mutate the board and detect it at next step

ROMZAB28: yes

MSmits: make the search work

MSmits: then worry about that

MSmits: brb

jacek: mutate board? :thinking:

mzbear: mutate, as opposed to detecting the traps without changing the board

jacek: oh, for a moment i thought about genetic algorithm :o

mzbear: nah. it's just that i can e.g. test up to 6 different 3-in-rows in parallel with pext etc

mzbear: so of course it's better to do it without descending into search

mzbear: oh, ffs, i have a bug. it still improved my ranking, but i'm taking a decisive move when it's not actually decisive

mzbear: let's see if my ranking drops because i fixed the bug :D

mzbear: yeah, my bot is playing weaker now. being decisive about blocking traps was good, even when forcing the enemy to move elsewhere would've also been valid

mzbear: oh lol, i've written my code to not check if winning condition was reached, because referee ends the game before that. not good for search ;D

tarikyildiz: hello clash of code questions sound very confusing, what should I do?

MSmits: better just read them

MSmits: the computer voice won't help

jacek: sounds clashy

jacek: spring challenge live action movie https://img-9gag-fun.9cache.com/photo/a3w9yXv_460svav1.mp4

tarikyildiz: thx

MSmits: thanks jacek, this is excellent for making fun of other people's pacman bots

jacek: ahh those amsterdam people

MSmits: yeah

jrke: level wise statement not working - https://pastebin.com/ESAFMv6x anybody who is free can tell

jacek: AutomatonNN where is eulerscheZahl

AutomatonNN: file score at the end of the day

jrke: euler is busy in doing RAIC

eulerscheZahl: adding my final cheese

MSmits: :cheese:

Martime: hello

Default avatar.png MaxiLaw: Yes is no is yes

Default avatar.png MaxiLaw: xD

Default avatar.png MaxiLaw: Yes

jacek: xDDD

Default avatar.png MaxiLaw: HARDER PLEASE DADDY

Default avatar.png MaxiLaw: xD

jacek: oO

Default avatar.png JKROwling: https://www.codingame.com/training/easy/mountain-map

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

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

struct: I made my code such a mess

Default avatar.png JBM: fix it

struct: Its impossible

Astrobytes: ezpz

VizGhar: delete it

struct: Not again

Default avatar.png suleyman-kutukoglu: ANAN

Default avatar.png suleyman-kutukoglu: APTALLAR

Default avatar.png suleyman-kutukoglu: PUSSY HUNTER

struct: Chill with the spam

struct: :tada:

Default avatar.png toosumit: hi

Default avatar.png toosumit: i need sleep

Uljahn: no sleep till legend

Default avatar.png toosumit: what if it kills me

Uljahn: raise an exception and call Automaton2000

Automaton2000: of course i had to add a few more times

Default avatar.png toosumit: how to become moderator?

VizGhar: eat a lot of brocolli

Default avatar.png toosumit: makes sense

VizGhar: I think you have to be not idiot for 5 years straight to earn such accomplishment :)

Default avatar.png toosumit: 5 years!! I can hardly make it to 5 minutes

MSmits: but when you manage it, you'll be the best moderator ever

MSmits: If you can moderate yourself, you can moderate anyone. Think about that

ian173: Why does clash keep making me do harder and harder captchas

ian173: *captchas

ian173: Does it think I am a bot?

MSmits: are you?

MSmits: AutomatonNN is ian173 a bot?

AutomatonNN: I'm just checking my code for some reason

ian173: Bro I hope not, itd be hard to break to my parents

MSmits: I'm guessing they already know

MSmits: they coded you after all

MSmits: AutomatonNN did you code ian173

AutomatonNN: *couch*

ian173: So clash didnt alway ask me to do a bot check every single time

ian173: And now it is

MSmits: you just did too many clashes

ian173: Ah, that might be it then

MSmits: probably you need to take a break

MSmits: CG worries about your health

struct: Im currently storing states until depth N, now I started reusing them.

struct: I was thinking on doing also this for states and include skulls

struct: So I would do like State at depth 1-N add 1-12 skulls

struct: But the skulls could be added in any depth of the state

struct: Was wondering how I should store it

MSmits: no idea sorry

MSmits: STC not my specialty

struct: np

struct: Im not even sure its worth to pre compute skull states

struct: Maybe just compete skull states that my bot can do in depth N

MSmits: or maybe sleep and solve the problem in your dreams

struct: What if I solve it thenforget it

MSmits: notebook next to bes

MSmits: bed

MSmits: wait no

MSmits: a DREAM journal !

MSmits: better name for it

MSmits: though, if you dream about skulls it's technically a nightmare

struct: Thats good, I might wake up and ill remember

MSmits: let me know how that goes :P

struct: My arena bot is so bad that my bot with no eval beated it 1 time :(

MSmits: is this your new bot?

struct: no

struct: I dont have anything yet to submit

MSmits: is your new bot the bad one?

MSmits: oh

struct: My arena is around 2 years old

MSmits: ah I see

struct: Both are bad, but the ide one is currently worse since it has no eval

struct: Its just debug stuff for now

SupSon: Does anyone know which version of the JDK works for brutal tester I'm seeing some weird errors running https://github.com/dreignier/game-ultimate-tictactoe

struct: 8

SupSon: alright thanks

MSmits: SupSon if you use a solver, you can very easily create an arena yourself

MSmits: just trust the bot when it says it won

MSmits: no need to sim

SupSon: But if I want to test the strength between the two?

SupSon: two different versions*

MSmits: if they both have a solver its fine

MSmits: it will output the move + "WIN"

MSmits: then you know it won

MSmits: if not, pass the move on to the other bot

MSmits: and if that one says it "WIN's then trust that one

SupSon: but it's running as an exe

SupSon: then i'd need to write some management code

MSmits: yeah, you need a framework for starting two processes and sending input and receiving output

MSmits: i use a windows form

MSmits: pretty easy

MSmits: my point is, you can use this for any game that has a bot with a solver

MSmits: since you dont need to sim the actual game

MSmits: the bots do this for you

SupSon: mmm ok i see

MSmits: just dont have a bug in your solver :P

SupSon: I never would

MSmits: good :)

MSmits: oh and if you run vs yourself, be sure to add some random to the bot

MSmits: 0,01 to node value randomly

MSmits: when it makes a move

MSmits: otherwise it's likely very often going to play the same games

MSmits: you get overtraining

MSmits: even in utttt

SupSon: yea I have randomness

MSmits: kk

struct: So with solver you can also not run the game until the end right?

MSmits: yeah if the solver is good this can shave off 15 plies

MSmits: 30% speed bonus to your brutaltesting

MSmits: mmh maybe i should not be running 3 meta mcts's at once :P

MSmits: stuffs starting to lag

struct: You are doing 3 matches at once?

MSmits: yes, for 3 different games

MSmits: each running 1 instance of bots playing themselves

struct: Poor cpu

MSmits: uses 3 cores, but a small cost for the meta mcts part that starts the bot processes and handles the results

MSmits: + a small cost i mean

MSmits: i have 4 cores so...

MSmits: i'll turn off my uttt one, it's the least important

struct: What other games are you running?

MSmits: currently, yavalath because i lost some games to robo earlier

MSmits: and oware, cuz i still need to beat those NN's

MSmits: well i already fixed the robo part mostly, but then i noticed some other lost games and before long i am trying to plug those holes too :P

struct: lets see what jacek comes up with

MSmits: yeah I am curious

Illedan: Hi

Illedan: Anyone have an idea iif it is worth to have 32 GB on a macbook, or if 16 GB is enough :thinking:

Illedan: memory that is

Westicles: Worth and macbook shouldn't be in the same sentence

Illedan: That is another story :P

HuynhNgocHai: Hello mother fucker

HuynhNgocHai: What can i do? I'm nebie

HuynhNgocHai: newbie\

z64555: never enougn memory. Load it up to the max

Default avatar.png ChampionCoder: 16 GB is fine

Default avatar.png ChampionCoder: I use some 50 windows ay a time with 8 GB

Default avatar.png ChampionCoder: Ok that's a exagerration :sweat_smile:

Default avatar.png ChampionCoder: maybe 15 windows

Default avatar.png ChampionCoder: So don't waste money on that much memory

Default avatar.png ChampionCoder: Unless you use a lot of high-priority applications

mzbear: 16G isn't enough on my osx box, it always gets out of memory and start lagging

mzbear: firefox in particular likes to regularly start eating 8G+ of ram all by itself