Chat:World/2021-05-21

From CG community
Revision as of 12:07, 15 June 2021 by Chat Log (talk | contribs) (Created page with "File:Default_avatar.png NotSureWhyThisWorks: when you have the exact same algorithm as your opponent. https://www.codingame.com/replay/558868531 File:Default_avatar.png...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Default avatar.png NotSureWhyThisWorks: when you have the exact same algorithm as your opponent. https://www.codingame.com/replay/558868531

Default avatar.png NotSureWhyThisWorks: another one: https://www.codingame.com/replay/558869098

pmor: lol

derjack: good morning

VizGhar: morning sunshine

Default avatar.png NguyenThanhTam: fuck you all

derjack: oO

pshemke: D:

Default avatar.png GTNRV: Nik théo

KiwiTae: :') NguyenThanhTam wrong website

Default avatar.png GTNRV: Bonsouer

Default avatar.png GTNRV: Théodore Abdel

Default avatar.png ArtLiteracyStory: Anyone want to play with a streamer together? https://www.twitch.tv/senamonry is playing

**BrainNotFoundException slaps everyoe around a bit with a large fishbot

**BrainNotFoundException slaps everyone around a bit with a large fishbot

Cdude: hi

Cdude: Container Terminal

Habiasa: Error loading certifications

Habiasa: What does it means?

KiwiTae: refresh page

CortexDeveloper: Hi Can you recommend books or useful link to learn AI? thnx

Cdude: https://www.codingame.com/multiplayer/bot-programming/coders-strike-back

VizGhar: Compilation took too long and has been interrupted... o.O

KiwiTae: >< linux kernel?

VizGhar: codingame IDE :)

KiwiTae: ouch

VizGhar: they are probably updating kotlin or something

jacek: good old friday deployment

VizGhar: plain code is compiled in time (however it still takes way too long)

Tychkorg69: stfu yall work at callcenters

Tychkorg69: while i work at google

Greg_3141: since you work at google, could you google who asked?

AntiSquid: CortexDeveloper https://nnfs.io/ i recommended it to many people, including users here on CG and I've seen only positive responses so far

CortexDeveloper: :thumbsup:

yassine_Benlahbib: hello

jacek: so youre reinforced on positive values only

Alina24: hi

MSmits: AntiSquid I am reading that nnfs book

Wontonimo: how is it? I have watched a few of the authors videos back in the day before he wrote the book

MSmits: it's too bad the video series only goes to 25% of it. I actually thought it was better than the book. Normally I prefer written stuff

MSmits: but the book is fine

MSmits: I'm at around page 200

MSmits: I know all of the math so every time it's about math, I speed through ot

jacek: any plot twists?

MSmits: it

MSmits: it's just basic NN stuff. Pretty in depth. doesn't get into convolution and such, but I does explain everything up to and including backpropagation

MSmits: explains many activation functions too

MSmits: and, as opposed to other sources, explains every step of the math in detail

MSmits: goes into saving and loading of models and such at the end

MSmits: and it's not written with tensorflow or other tools in mind. Just basic python

MSmits: well, numpy of course

MSmits: but it even explains the workings of numpy

KalamariKing: nnfs yes?

MSmits: oh and there's lots of code. You can reproduce everything they do

MSmits: yes

KalamariKing: great resource

Wontonimo: nice. seems like a really really long book for just fully connected linear NN

KalamariKing: Yeah kinda

MSmits: it's long because of detail

MSmits: if you go through it, you don't just know how to do things. You know how it works and why it works

MSmits: and it's not long at all if you have prior knowledge. I am a third of the way through in about a day

MSmits: the information contained in here, is enough for a university class

MSmits: which would take 8 weeks or something

MSmits: but gj AntiSquid for sharing. Darkhorse told me about it, but I guess you told him?

KalamariKing: It goes pretty far in-depth, not sure about other types of nns tho

Wontonimo: On the topic of NN (and AI in general), This MIT OpenWare course is really good survey of AI https://www.youtube.com/watch?v=uXt8qF2Zzfo

Wontonimo: the link is to the NN video

MSmits: yeah i guess it covers similar stuff, but the nnfs has way more detail than a single video can

MSmits: (unless it's 10 hrs)

MSmits: another major advantage of this book is that because it contains actual code, it really invites you to try stuff

MSmits: I think a lot of people watch the video's and such but never actually start experimenting

Wontonimo: what? how do you learn then?

MSmits: you dont learn how to do it, you learn about it. I think many people just learn about it

MSmits: like i have for the past year o rso

Wontonimo: ;)

KalamariKing: A lot of people I know who supposedly know nn stuff just know theory

KalamariKing: kinda sad

MSmits: as long as enough know the practice, it's fine

MSmits: I wish more people who didn't do science, knew about science

MSmits: then we might not have people lighting 5G towers on fire

MSmits: they dont have to ever go into a lab to prevent that you know

MSmits: they just have to know the theory

jacek: i know nn by practice, little on theory. am i bad

jacek: it works and i dont know why

MSmits: you know a lot of theory

MSmits: you just dont realize :P

MSmits: it's imposter syndrome

MSmits: what do you not know?

MSmits: I mean, you say you dont know why stuff works, why not?

jacek: https://xkcd.com/1954/

jacek: i was a little sarcastic

MSmits: lol you have a meme or link for everything :)

jacek: i just didnt dive into math too deep

jacek: there is xkcd for everything

MSmits: well I'm sure you know what a partial derivative is, or ?

jacek: yes

MSmits: then you're fine

MSmits: backpropagation is the most complicated part and thats just a whole bunch of partial derivatives

MSmits: i dont think you need to go through the math more than 1 time. Consider why some things work and some things dont. Then abstract it and dont look at it again unless you have to

MSmits: it's helpful to know why you would use a softmax for the last activation function

MSmits: that sort of thing, but i guess you know that too

Wontonimo: like all of programming, solve the thing, make it into a function, then use it at a high level and move on

MSmits: yeah

MSmits: oh i had a question jacek

MSmits: maybe you know this

MSmits: when you take the input of a typical board game, which has cells that generally have p1, p2 marks or are empty

MSmits: is it useful to use as input -1 for p2, 0 for empty and 1 for p1

MSmits: or do you have 2 inputs per cell that are 0 or 1, 1 for each player

MSmits: the first version is way more compact, but i suspect there are disadvantages to it

Wontonimo: i don't know about optimizing for CG, but in image processing you want separate layers

MSmits: layers of what?

jacek: for me each state is separate input

KalamariKing: Wontonimo is talking nns

Wontonimo: 2 inputs

jacek: 0 activates different input, X activates different input and O activates different input

KalamariKing: If you're doing a nn, I would one-hot the inputs

jacek: ^

MSmits: but doesnt that mean 3 inputs?

KalamariKing: Or two-hot or whatever, just not smth like -1 for a, 0 for b, 1 for c, etc

KalamariKing: Why does the number of inputs matter?

jacek: well yeah, for TT that would be 3 inputs x 9 so 27 inputs in which there are always 9 activated

MSmits: ok so thats what you do, that's actual one-hot indeed

MSmits: i am just wondering *why* the -1,0,1 version wouldnt work

MSmits: or maybe if it works, but far less efficiently

KalamariKing: The nn nodes are linked together such that a -1 might give the opposite result than a 1, if that makes sense

MSmits: sure

KalamariKing: If its one-hot then they can give similar but different results

MSmits: but is that a bad thing for a board game?

MSmits: an opposite result?

Wontonimo: I need to do a multi with NNs before I say anymore. This format of super tight compute time, small(ish) memory constraints, and no libraries is out of my comfort zone. Perhaps the -1/0/1 is better for CG constraints.

KalamariKing: That is also something to keep track of

KalamariKing: But couldn't you cut time somewhere else? 100ms is a lot of time to a computer

MSmits: I was thinking about oware. If you input the number of seeds, you can have like 60 different possible values for the input. That's way more even. If you have only 3 for a cell, why would that be an issue if 60 in oware isnt

MSmits: the seeds in oware are also discrete possibillities

jacek: that -1/0/1 thing maybe would work if you flip the board for the current player

Wontonimo: okay MSmits, consider the case where the NN would like to calculate the XOR between two adjacent cells and check if only one is empty.

MSmits: i'm thinking

MSmits: why would this be a problem?

jacek: fyi i have 820 inputs for oware

Wontonimo: i'm thinking also...

MSmits: brb, keep talking:)

KalamariKing: Was that like a rhetorical question or an actual question

Wontonimo: sorry, should have stated that it's what i'm starting to think about as a mental test

Wontonimo: i don't have the answer yet

jacek: what was the question o.O

Wontonimo: given 2 cells in a board,

Wontonimo: and it can be owned by p1, p2 or unoccupied

KalamariKing: if the nn wanted to xor two adjacent cells, to check if only one is empty

Wontonimo: yes. using either -1/0/1 for encoding or 1 hot

KalamariKing: would one-hot x3 inputs be better or a single [ -1/0/1 ]

Wontonimo: 1 hot being [0,0,1] [0,1,0] [1,0,0]

KalamariKing: yeah, where only... one is... hot

jacek: why 3 brackets?

KalamariKing: Three test input cases

Wontonimo: two -1/0/1 (one for each cell) or two [x,x,x], one for each cell

jacek: 2 vs 6 inputs

Wontonimo: right

KalamariKing: One-hot simply means instead of giving the nn one input ranging from x to y, you give it (y-x) inputs and only have one on

KalamariKing: if that makes sense at all

jacek: well both would work i think

jacek: when you have bias input anyway

Wontonimo: float x[2] vs float x[2][3]

MSmits: jacek holy sht so many inputs for oware

jacek: as long as it works...

MSmits: yeah, it just seems a lot

MSmits: this is basically one-hot for seeds then?

MSmits: + score

jacek: 2 * 26 for scores, 12 * 32 * 2 for houses

jacek: probably i could get away with normal inputs for scors

MSmits: why the *2 for houses?

MSmits: or is it 6 * 2 ?

jacek: 0..31 seeds, x2 for side to move

MSmits: oh ok, you could flip there

MSmits: symmetry

jacek: mhm

MSmits: player to move is always lower houses

MSmits: flipping is super chea[

jacek: ah well

MSmits: cheap, negligble

jacek: welp robo does the flip

darkhorse64: my nnfs book recommandation is independant from Antisquid's. It looks like we are at least 3 to see its value for nn noobs

MSmits: it's good, because it's so well structured, it's easy to skip the stuff you know

Wontonimo: update, I pulled the -1/0/1 into my xor nn that uses 5 hidden neurons and it can't solve xor

MSmits: i mean i dont mind rereading about weights and biases, but i dont need to learn the derivative of x squaered is 2x :)

MSmits: Wontonimo but xor doesnt use -1 does it ?

RoboStac: for the -1,0,1 thing earlier, my view has always been it doesn't make much difference for the 1/-1 case but it makes the 0 case really hard to deal with (as there isn't a single weight + bias that can make that positive and the other two negative so it would always need extra layers)

AntiSquid: you mean one hot encoding? @_@ why call it one-hot ... like hot what? hotdog ?

MSmits: but would it be bad to have extra layers?

MSmits: one of the possibilities is 1

MSmits: alll others are 0

jacek: more expensive

MSmits: is *hot*

MSmits: 1 is

Wontonimo: conceptually MSmits , can 1 hiddenlayer learn to output true if only one of the two -1/0/1 inputs is 0

Wontonimo: and the answer is , i don't think so

MSmits: it seems like a fun experiment anyways. It's easy to test with a simple TTT example

RoboStac: extra layers are bad if you have processing time / size limits to deal with. Even without it'll probably increase training time with no real benefit

AntiSquid: maybe darkhorse64, i recommended sentdex before he brought up his book though :P hoped he'd stream one of the contests, never happened though

MSmits: RoboStac do you then also have hundreds of inputs for oware?

MSmits: like jacek ?

RoboStac: yeah, 32x14

RoboStac: though I only changed to that a couple of weeks ago

RoboStac: after jacek convinced me

MSmits: what did you have before?

RoboStac: before that it was 14 floats

MSmits: that worked quite well though

jacek: but this one works weller

RoboStac: yeah, but not as well (especially from a training / size perspective)

MSmits: hmm ok, and i guess you clamp the 32, incase the rare 33 seed happens

KalamariKing: what game is this for?

MSmits: oware

darkhorse64: I'll gladly acknowledge you were the first

jacek: my recent come back at oware was made by making the nn predict 6x times faster, and overall 2.5-3x more nodes explored

jacek: and really i dont know how

jacek: my modification should give at most 2x speedup for nn part

RoboStac: I probably should experiment with oware more, this was just the first one trained after changing inputs

MSmits: there could be something that autovectorized

MSmits: jacek

MSmits: and didnt before

MSmits: because you simplified the code

jacek: heck, now even the nn isnt the bottleneck now, but move generations and make/unmake

MSmits: mmh you need my sim :P

darkhorse64: bitboard it !

MSmits: weird though

jacek: i used similar method for uttt and yielded almost 2x iterations speedup

MSmits: i thought sim was usually negligible in performance compared to nn cost

RoboStac: that may be some part of why the one hot one is much better for me - getting rid of the extra layers meant it is now 3x faster

Wontonimo: another update from training... after changing the init values of the NN, it can learn using -1/0/1 if out of 2 cells only one is empty

jacek: yeah, once again i did something that works and i dont know why

MSmits: i guess the large number of inputs does not affect the speed much because it's just the first layer thats more expensive

RoboStac: even though the first layer is so much bigger it's not slower because you still are only actually doing 14 sets of weights

jacek: oh i have it in lookup table, this is really only 14 * HIDDEN for loop

RoboStac: you just skip lots instead

MSmits: ohh right

MSmits: I guess there would come a point where you have to let go of the one hot

MSmits: say the discrete possibilities would be much larger

Wontonimo: here is the tensorflow python code to prove my claim https://gist.github.com/panchishin/a0a6bd3b9119aba6818e95908c54aa49

jacek: like unlimited score

RoboStac: yeah, I was trying to go full one hot for the contest but couldn't make that sensible for suns/score

MSmits: sure yeah

Wontonimo: i *like* the idea of one-hot more though

MSmits: Wontonimo no proof needed, i believe you. Will try stuff myself anyways :)

Wontonimo: I'm sharing. Not about not believing me.

Wontonimo: cool cool

jacek: one hot in oware just grasps the concept of empty house, 1-2 seeds being different than other houses

jacek: some domain knowledge

MSmits: Wontonimo i'll save the code, will get back to it at some point, thanks

KalamariKing: oware is cg right

MSmits: es

KalamariKing: wait its literally mancalla

MSmits: yes

MSmits: no its not

MSmits: mancala is a different game

MSmits: there are many games of this type

MSmits: same board, different rules

KalamariKing: oh I didn't read too much into it, lemme check it out

MSmits: walking the dog for a while, ttyl :)

KalamariKing: have fun

MSmits: thanks

KalamariKing: I heard someone talking about actor-critic for this, how would that work

Wontonimo: I think that was used to mean "value function". If that's so, then you'd use the NN to judge the value of the current board. Good for eval at the bottom of minimax, or other non-terminal search

KalamariKing: Yeah, I get all that, but someone was talking about training an actor-critic, possibly as player and opp respectively, and then uploading the actor

KalamariKing: No search func

MSmits: hmm actor critic is different in that it outputs a move instead of a value using a policy right?

MSmits: or possibly both

AntiSquid: you can design the output independant from the algo itself

AntiSquid: actor critic is almost like having 2 different NN in one

Wontonimo: ah, sorry KalamariKing

KalamariKing: Yeah, and they almost train each other

AntiSquid: you have the learner and the teacher

AntiSquid: or critic

MSmits: isnt azero using this?

MSmits: because it learns both policy and value

MSmits: actor and critic

AntiSquid: no, i think an example would be something like image identification with adverserial attacks such as adding one pixel to the image to confuse the NN whether it's really a bear

KalamariKing: for e.x. generating handwriting, because that's my most recent actor-critic (simple ik, just basics) The critic learns what a '4' looks like, while the actor generates pretty-much-random images The critic can then update the actor; the end result is they both slowly learn to produce handwriting

MSmits: hmm ok

KalamariKing: Kinda interesting, and different than nns like cnns, since its generating the images from noise

AntiSquid: i shared this before, but here it is again, writing A3C from scratch: https://www.youtube.com/watch?v=OcIx_TBu90Q&t=2170s

MSmits: this says that azero also uses actor/critic

MSmits: https://marksaroufim.medium.com/how-to-solve-board-games-8375847c6577

AntiSquid: and before he releases a book, i advertised him first :P

AntiSquid: actually i think he has a book too somewhere

KalamariKing: But how would you apply actor critic to a board game

KalamariKing: Would it look for 'good moves'? or would they progressively train each other?

AntiSquid: i misremember then MSmits, maybe i've seen this info and forgot about it

MSmits: sec KalamariKing i'll explain

AntiSquid: i do too much theory study to be honest

AntiSquid: like anyone heard of transformers here? :P

jacek: the cars?

AntiSquid: no ...

KalamariKing: the voltage booster?

AntiSquid: https://medium.com/inside-machine-learning/what-is-a-transformer-d07dd1fbec04

MSmits: ok so KalamariKing, azero has two things in its mcts search. The network provides a good move (policy) and a value (critic)

AntiSquid: heard about LSTM or GRU ?

MSmits: when you train it, it learns both at once

MSmits: and i guess implicitly the two parts teach eachother

KalamariKing: Oh cool, ok thanks

MSmits: as for our earlier discussion about one-hot and input. You can have a similar discussion about score and W/L output. A game can have an endgame score that decides the winner and you can choose to let the network predict the score or predict the winner

KalamariKing: anti yeah, why

MSmits: in oware, if you precict score instead of winner, you can use scoreless states and not have score-input

MSmits: there are 20 different ways to have a specific pit-layout with 28 seeds on them, with scoreless it is only 1. Wonder if that gains you something

AntiSquid: because those help you understand the theory of transformers better

AntiSquid: KalamariKing

KalamariKing: I see that they're different, but how?

KalamariKing: scalability?

AntiSquid: arhitecture, efficiency ... data required to train, check the article

AntiSquid: amount of data *

AntiSquid: well someone explained it as "it translates stuff into a language of it's own" before translating it into the output ... which is a bit of a round about explanation, but it works

AntiSquid: but then same could be said about any model that has a form of memory

jacek: :thinking:

fenrir: the words actor/critic may be used in different ways, but for AZ I think the right one is policy/value

MSmits: could be, terms are confused a lot in AI

fenrir: where I know acrot/critic is in refinforcement learing (REINFORCE/A2C/A3C) where the actor is the policy, and the critic is used to 'critic' the actual move (good/bad)

fenrir: it is not the actual game value

MSmits: ahh ok

fenrir: (at least while training)

fenrir: it is more like the value the actor willhave if it play every move using its policy

MSmits: I see

Default avatar.png 7_ajinkya: how're you guys so fast man... unbelievable

jacek: their wife must be complaining tho

MSmits: clashers that get a repeat problem, just paste in their previous answer 7_ajinkya. There are around 600 unique problems

MSmits: it takes a while

MSmits: before they repeat

MSmits: most of us here arent clashers though, including me. Just about everything else on CG is more interesting than coc

Default avatar.png 7_ajinkya: oh i see... coc is fun though for building quick logic... i anyway code just for fun

MSmits: as do most of us :)

MSmits: here anyways

fenrir: I think in AZ, the value is more the actual game value, the policy being only a 'guide' to avoid wasting time looking for useless node. But well, I think it is heavily biased by the policy

MSmits: yeah thats how the mcts part works, but i wonder if in training the two parts might have an actor/critic kind of relationship. I don't know enough about the subject though

jacek: i think this is more for alphago (before zero). policy and value were separate networks

MSmits: oh right

jacek: mcts search moves by policy and value network tells how good they were

MSmits: policy was trained with supervised learning right?

MSmits: before zero

fenrir: it's more the opposite, you search by value, the policy allows you to look at the most promising node instead of every nodes

MSmits: you search by both afaik

fenrir: in AZ, you may use seperate network or not, that's independant

fenrir: it may help or not

MSmits: separate network helps in situations where you need *just* the policy or *just* the value

MSmits: assuming the two networks would be smaller

jacek: implementation detail :shrug_tone1:

reCurse: Sure but when do you need just one or the other

reCurse: I always miss the interesting convos

jacek: ok lets back to discussing clashes

MSmits: no idea reCurse

RoboStac: whether they're separate or not they're still trained to work together and removing one would most likely make the whole system weaker

MSmits: hey i have an unanswered question for you reCurse.

MSmits: Do you think it would be worth it to make oware predict score instead of win

MSmits: to then use scoreless states and avoid score input

reCurse: What do you expect to achieve with that?

RoboStac: I still don't understand how you think that can work with a tree search

MSmits: i used it before RoboStac

MSmits: well

MSmits: the statespace is about 20x smaller

MSmits: with scoreless states

reCurse: Ok... and?

RoboStac: but if two different sets of moves end up in the same state (but with different scores) they need to eval differently

MSmits: they dojt

MSmits: the best move is the same

MSmits: independent of history

Default avatar.png ZoteLeRedoutable: hello i'm making a clash of code game, i haven't find the solution of my own problem x) if u wanna take a look: https://www.codingame.com/contribute/view/677683039c99ce3a75af342d1f0e925a9a26


MSmits: you always want to get the maximum score out of the current state

MSmits: doesnt matter how many points you already have

jacek: i fail to see where would you put that in tree search

RoboStac: thats fine for a single best move from a current position

MSmits: well the value in your mcts, is the predicted future net-score

MSmits: instead of your chance t owin

MSmits: you backpropagate expected seeds gained

RoboStac: but that's not even possible to backprop unless it knows the score

reCurse: I'm still at the expected benefit part

MSmits: RoboStac i mean expected seeds gained in the future

RoboStac: eg after one move you win 5 seeds - every move after that now has a lower score to backprop

MSmits: not the past, it's score

MSmits: less

MSmits: yes, when you backpropagate you add captured seeds

MSmits: so that doesnt matter

jacek: do you mean only your own seeds?

MSmits: it makes backpropagation a bit more complicated

MSmits: no it's a net seed thing

jacek: or your seeds - opponent seeds

MSmits: yes that

MSmits: ido this in my meta mcts

MSmits: it works

MSmits: it doesnt maximize win, it maximizes seeds gained

MSmits: reCurse i am getting to your point

RoboStac: yeah, but that isn't what you want to maximise

RoboStac: you want to maximise win

MSmits: it's easy to combine this with an endgame book

RoboStac: even if it's just by 1 seed

MSmits: because endgame books have seed counts

MSmits: then you can stop at 9 seeds on the board, even at depth 5 in the search or something

MSmits: i know you want to maximize win, but maximizing seeds maximizes win as well

reCurse: Whether it's seeds or wins shouldn't matter

JohnCM: the tree search is a way of policy improvement in az. You use it to improve the move probabilities

MSmits: right

MSmits: so if seeds allows you to use some extra tools like an endgame book at a leaf in your tree, isnt that a benefit?

reCurse: That's a matter of state not evaluation

MSmits: of course

RoboStac: if you've got an endgame book you know the winchance too though

MSmits: but if you predict the number of seeds gained

MSmits: then you can replace the prediction with the book

MSmits: and you have an exact prediction

MSmits: (At some point)

MSmits: at some depth i mean

reCurse: You can do this with a regular win evaluation though

MSmits: yeah, with a large degree of confidence, sure, but not as good as an endgame book will do

reCurse: No

reCurse: When you reach the state with endbook

reCurse: You backprop the book result instead

MSmits: oh yes if the root is there

reCurse: No need to touch evaluation

MSmits: but i am talking about leafs in your searcg

MSmits: leafs can also get to the book

reCurse: Same thing?

MSmits: hmm

RoboStac: if the endgame book says this position is +4 seeds you can work out if you win or lose from that position

MSmits: yes thats true

RoboStac: and just backprop that

MSmits: you're correct, I missed that

MSmits: then the only advantage is scoreless states. Does it help to have a smaller statespace?

MSmits: when solving games it does help a lot and people generally do this

jacek: because it takes less GB in your disk?

MSmits: less solving time too

MSmits: the game simply becomes less complex

reCurse: This is very different from solving

MSmits: i know

MSmits: and i know very little about it in practice, hence my question

reCurse: If the input matters then it will learn to ignore it

reCurse: *doesn't

MSmits: it will of course matter if you dont treat the state as scoreless

MSmits: the only way to make it not matter, if the search handles the state as scoreless

MSmits: (different backpropagation method)

MSmits: but that requires to predict seeds instead of wins

MSmits: you need to know *by how much* you win

reCurse: You're asking about if it's better with less state space

reCurse: I'm telling you it can simplify the state space if it doesn't see it helping

reCurse: The extra info

MSmits: hmm maybe i should rephrase

reCurse: What you output is completely separate

MSmits: will it reduce calculations required

MSmits: if there's less input

reCurse: Very little

MSmits: or will my scheme require a bigger network in the end

MSmits: which means more calculation

reCurse: It will literally only matter on the first layer

reCurse: Then the rest is the same

MSmits: i am not sure, the score is in fact very important if you dont do it scoreless

jacek: but i have only one layer :v

MSmits: so the score is going through the network in an important way

reCurse: Well yeah obviously

reCurse: You're mixing too many topics at once

MSmits: i guess so yes

MSmits: cant help it :)

reCurse: What you output is independent

reCurse: But if you ask it to output win

reCurse: And you withhold critical info

reCurse: Then yes it's bad

MSmits: yeah thats bad

MSmits: i get that

reCurse: So if you don't input score you need to predict seeds gained, naturally

reCurse: Does it help on calculation, barely

CamTheHelpDesk: did rankings not update last night? 🤔

reCurse: You have X * H connections at the first layer

MSmits: maybe on convergence in training?

reCurse: So you brought that down to (X-1) * H

MSmits: no idea how this would work out

reCurse: The other layers are identical

reCurse: You might save some time if that input was useless, it will need to weigh it down first

MSmits: what if you need less nodes in the layer if you dont input score

MSmits: in the 1 hidden layer or 2 or whatever

reCurse: That's a different topic

MSmits: sure

Default avatar.png Darkboy: hi

reCurse: Determining the size of what will work

reCurse: Is a whole other can of worms

MSmits: i understand that my question has many layers

reCurse: Maybe it works better, maybe it doesn't

MSmits: so i should probably just try it

Default avatar.png Darkboy: hi

MSmits: cant hurt

reCurse: You need to threshold that with number of comparisons possible

reCurse: Whether you need to compute more possibilities than accurate eval

MSmits: more possibilities?

reCurse: Nodes

MSmits: oh ok

MSmits: what kind of last activation function would a seed predictor use?

reCurse: Linear

MSmits: ah ok

reCurse: Unless you don't care about precision at the extremes

reCurse: Then sigmoid, tanh, etc

reCurse: don't care = care

reCurse: Wait that was right

reCurse: I hate not having edits...

jacek: i would care less

reCurse: I usually type first and correct stuff later

Default avatar.png Darkboy: hi

jacek: ohai

MSmits: sigmoid/tanh has asymptotic behavior, so less precision at edges, its clear

Default avatar.png Darkboy: im 9

jacek: good for you

Default avatar.png Darkboy: why

MSmits: thanks for clearing some of this up reCurse

MSmits: going back to practicing with basics in my nnfs book :)

jacek: MSmits i only did eval the normal way, i still cant picture the seeds thing

MSmits: it's a bit complicated, lets say if i get it to work, i will write it up, if not, you can forget it :)

jacek: as first thing i would stick to the basics and if it works, then would try some more exotic approach

reCurse: Yeah the important is to get anything basic to work

reCurse: You can add the fancy stuff later and use that as a regression test

CamTheHelpDesk: anyone know if there's more than 5 homepage paths

jacek: if you can get the eval right, you then know your NN works

reCurse: I feel like we're having conversations in the playground sometimes

MSmits: to me the seeds thing isnt really more complicated, its just different. I used it before

MSmits: but harder to explain

jacek: if the seeds thing wouldnt work, you wouldnt know if its faulty NN or other bugs

MSmits: oh, because i already know other approaches work from you guys

MSmits: good point

MSmits: but i might start with a simple ttt or something

jacek: :+1:

fenrir: with NN: always start simple first, because even with huge bug, the NN may workaround a lot of issue and hide it

MSmits: btw dots and boxes has this too. Scoreless states where only the board matters and the net score from the rest of the game. That's where i got the idea from

fenrir: I had a bot in SC21 that was quite ok (~50 early legend) trained in selfplay, where both player had the exact same inputs ...

Gumarkamole: Does someone have issues with Kotlin too? My code passes all the test but after pending results I have 0%

fenrir: (ie player 2 was seeing the input of player 1)

MSmits: fenrir yeah a lot of times re curse/jace k and robo told of bugs they discovered very late

fenrir: but it didn't prevent it of 'working not so bad'

MSmits: when the nn was already working

reCurse: Oh boy yeah that sounds all too familiar

fenrir: :)

RoboStac: if you do try it on TTT first be very careful with tree search methods as they'll find endgame states so quickly the nn doesn't matter much

fenrir: I know I have to look for this bug (not the first time), but I have still bugged it ;)

MSmits: yeah that was my worry RoboStac, maybe i will use it as a policy nn only, 9 moves available = 9 outputs

MSmits: no search

MSmits: i think jacek did this

Default avatar.png Darkboy: Has any one seen this code

reCurse: I still think CSB runner is the best

reCurse: I can hardly find an example where it's complicated enough yet very easy to figure out if it's right

MSmits: for some reason it feels very complicated to me reCurse

jacek: MSmits i did 1-ply search

RoboStac: I've still never got anything useful to work on csb

RoboStac: probably should try that again at some point

MSmits: oh jacek you just took the best out of 9 value lookups?

fenrir: a runner alone in CSB is quite easy to do and yes a good training example

Default avatar.png Darkboy: Input//"hello world"

jacek: MSmits yes

fenrir: I started with tha, I think pb4 also (but unsure, don't want to speak at his place)

MSmits: that would probably be easi

RoboStac: last time I tried my runner learnt to only turn one direction and just kept varying velocity to make the circles bigger / smaller

MSmits: +er

reCurse: Oh yeah that rings a bell

reCurse: lol

fenrir: if RL, the entropy regulrization is really really mandatory

MSmits: thats what the first drawings of my daughter looked like RoboStac :)

fenrir: otherwise very fast convergence to a minimum

fenrir: I mean local minimum (an a bad one)

reCurse: Maybe I'll write a CSB runner tutorial at some point... don't hold your breath though

reCurse: I think it's a great introduction to RL in general, CG regardless

MSmits: hmm, you're not the first to say that, but there is also bias since that is how you got into it

RoboStac: it was a long time ago though, probably should try it again

reCurse: Of course there's bias

reCurse: I've also seen what else is out there

jacek: nn has bias, its a good thing

fenrir: there is a game with a runner only in CG

fenrir: SL no ?

jacek: search race?

fenrir: yep

fenrir: I think that could be a good way to test a runner only

fenrir: here I did a DDPG

darkhorse64: SF2442 ?

MSmits: ye innory also said csb is better than oware to start with

reCurse: I'm pretty sure he meant csb runner

reCurse: Real csb is a whole other story

MSmits: ah ok

reCurse: Like not even close

MSmits: that makes sense

MSmits: so that other optim then

MSmits: search race

reCurse: Yes and no

MSmits: how so

reCurse: If you get it to run under CG somehow, sure

reCurse: Much easier to get it running with whatever you want without constriants

MSmits: oh you mean locall

reCurse: The viewer is much easier to recode than working under CG constraints

MSmits: ah right

MSmits: yeah, seems like a nice project

reCurse: Oware is simple enough, problem is it's very difficult to see if it's right

reCurse: Unless you spend time studying the game

MSmits: mmh i have my meta mcts

reCurse: CSB? There's a checkpoint.

reCurse: If it doesn't drive towards it, it's a complete failure

MSmits: yeah much easier to see

MSmits: well I have a ton of time between now and around september, I hope to get at least a good bot in 1 arena. Will not start any other project before i do. Think thats realistic?

KalamariKing: Thats a lot of time, I'd say so

MSmits: cool

MSmits: i know reCurse spent many months also, but I think I have more help/resources now, mainly people telling me what works and what doesnt

fenrir: in CSB, my first NN was a search without doing the gradient, I don't remember the exact name, but basically it's a perurbation of the NN coffeicent, accumulate a bunch of run, and modify in the righ direction

MSmits: no gradient?

MSmits: oh just adjust weights by a fraction?

MSmits: like 1/1000 of the weight value

MSmits: the nnfs book mentions that as a first order improvement over complete randomly generated weights

fenrir: it was an algorithm search when the function is not derivable

MSmits: nice if you got that to work

Wontonimo: i used TPS to do that with very good results.

fenrir: it kind of worked, not fast but it idid

MSmits: TPS?


Wontonimo: sorry TPE

Wontonimo: mybad

MSmits: TPE?

Wontonimo: aka Hyperopt

Wontonimo: http://hyperopt.github.io/hyperopt/

MSmits: ye google found it fast:

struct: Hi MSmits I also bought the book

struct: Takes me a while to understand some stuff though

ill-be-waiting-outside: hi

MSmits: I have trouble with the backpropagation part. Not because i dont understand the math, but because it's so dry. I guess there's no way to make that more interesting though. Other than that I had no problem so far.

MSmits: let me know if you have questions

MSmits: i didnt go beyond about page 200

MSmits: (yet)

struct: Im entering chapter 5 atm (page 111) error loss

MSmits: ahh ok

struct: Sometimes I just have to read multiple times to understand

struct: Because this is brand new stuff

MSmits: there are videos too

MSmits: they end around there

MSmits: maybe a bit further, i think loss is in there

MSmits: backpropagation isnt

struct: yeah I saw up to softmax

MSmits: ah yes, there's 1 more after

MSmits: softmax is 6 i think, there's a 7th

struct: ill watch it too

davilla: which fields in the description are visible when the class is a reverse?

davilla: Input? Output? Constraints?

davilla: Or is it just the 4 examples?

MrPapaya: none

MrPapaya: only tests

davilla: cool thanks

Wontonimo: anyone give any thoughts to which multi they are planning on attacking with NN first?

Wontonimo: it would be great if we all dogpile the same one

Wontonimo: oware-abapa was mentioned

VizGhar: So this is the site, where future machine learning experts will be raised?

ZarthaxX: and you will get smashed in future contests, prob yes

KalamariKing: oware sounds like a good nn challenge

Default avatar.png Kramerius: i just joined this. 9th grade, first coding class. This is scary

KalamariKing: say, why are we all learning nns this morning

KalamariKing: Kramerius That's pretty epic. What exactly is scary?

struct: I dont expect to make one any time soon

Default avatar.png Kramerius: no idea what half of this means

KelvinAndHubbles: actually yeah, theres only like 10 input nodes for oware, might make one and run it through a GANN

struct: I struggled quite a bit on early chapters

VizGhar: you mean chat Kramerius?

Default avatar.png Kramerius: no, in general

Default avatar.png Kramerius: and yes the chat too

Default avatar.png Kramerius: i think before i do anything, ill just spend some time looking at the documentation

KalamariKing: chats really advanced today I'll give you that

KalamariKing: I'm somewhat experienced in nns so I can at least contribute today

Default avatar.png Kramerius: What is NNS?

Wontonimo: NeuralNetworks

KalamariKing: Plural of NN, neural network

KalamariKing: Machine learning (think ai)

Default avatar.png Kramerius: Oh

KalamariKing: Kramerius honestly experience in the field is better. The practices might be too hard if you're just starting out, so play a few clashes or smth

VizGhar: Kramerius ignore chat :) only open it if you have specific question... You will get lost here immediately

Default avatar.png Kramerius: i think ive seen a video on that

MSmits: really dont worry about this Kramerius, it's not always like this. Just have some fun with puzzles. That's what i was doing on CG 3 yrs ago

ZarthaxX: so funny that recurs win with nn and now everyone is on that boat

MSmits: blissfully ignorant of everything to do with bots

ZarthaxX: following the winner :rofl:

ZarthaxX: won*

Wontonimo: didn't that happen with MCTS also

KalamariKing: I remember someone telling me that a nn would be irrational

MSmits: ZarthaxX nahh, this has been going on for over a year at least in my case

ZarthaxX: not for you smits

MSmits: did you not see me get wrecked in every leaderboard :P

VizGhar: ++ just play easy puzzles, read forums about solutions and maybe a bit of CoC

ZarthaxX: but everyone else lol

KalamariKing: So I wasted all of my time learning search algos and stuff, when I already knew nns

MSmits: ahh ok

Default avatar.png Kramerius: On youtube, there was a guy who used NNS to beat Falppy bird or something

ZarthaxX: i saw your struggle

ZarthaxX: fighting with your handmade nns :P

struct: ZarthaxX I wanted to try it before, but never started it

MSmits: lol

ZarthaxX: struct but this was like a motivator right haha

struct: Even relu took me a while to understand

MSmits: Kramerius yeah flappy bird is one of the things you can do

Wontonimo: I used scratch.mit.edu to do RL for a self driving car

Wontonimo: well, it was a dog

RoboStac: I think it happens to some extent after most contests, just in this case it's getting discussion in chat as it's a bit more complicated / unusual (and something that the regular chatters haven't done before)

Wontonimo: not a car

MSmits: self driving dog?

MSmits: or a dog learnign to drive?

MSmits: a dog on wheels?

RoboStac: a dog learning to write a nn

KalamariKing: Or a car learning to dog

MSmits: oh ofc

MSmits: btw, scratch wow... talk about low tech :)

ZarthaxX: scratch rl?

ZarthaxX: how can you do that

MSmits: thats what i did with students before i could even code

ZarthaxX: its scratch, block programming

ZarthaxX: wtf?

jacek: KalamariKing you still need search though

KalamariKing: jacek yeah ig

maazshakeel: Hi guys

KalamariKing: Hello

ill-be-waiting-outside: hey

maazshakeel: How are you all?

Hasuzawa: just curious, can I use numpy of python in codingame, I figured the quickest solution to a problem is n by m linear equation with excess condition

jacek: they are up to something

MSmits: yes Hasuzawa i think numpy is an option

jacek: yes, there is numpy in here

jacek: and panda i think

Hasuzawa: cool, thx

MSmits: :panda_face:

Hasuzawa: now I dont have to use crammer rule

AntiSquid: ZarthaxX i think for this contest specifically it can work better, doubt it works for every contest

AntiSquid: for example: pacman

AntiSquid: at least it's far more difficult

Wontonimo: i just had to double check on the self driving dog. not rl, it was hand tuned. :( I didn't lie, I just remembered wrong

AntiSquid: here it was favoring optimizing eval and since that's what NN is good at of course there was such a massive lead with a well trained model

MSmits: I dont think you need to use NN for the entire thing. You can take a part of the game thats hard to evaluate and train a NN to do it

jacek: no, lets NN everything

AntiSquid: i guess, you can do "NN" for the RPS minigame part, or use the already available algorithms online for it#

MSmits: allright, I'm convinced

MSmits: let's nn everything!

KalamariKing: I agree

MSmits: oh btw, jacek, wanna see how far i got with connect4 so far. I recently turned on a 10 game paralllel version of the meta mcts, building on the old version

AntiSquid: VizGhar not really, this isn't an ML focused site, i am not an expert to say who would be best where, but i am sure the folks that train models all the time would have an advantage over everyone here

Wontonimo: i'm looking forward to training my NN with MCTS, then using that trained NN in my MCTS.

jacek: and how far did you go

MSmits: http://chat.codingame.com/pastebin/fae6edbe-0eb4-4ed5-b242-f24fceb2be1f

MSmits: for a while i did just move 1, it's doing all again now

jacek: :scream:

MSmits: thats why move 1 has 10 million games

MSmits: pretty sure it's p2, draw, p1, p1, p1 when it gets solved

jacek: but theres summer soon

KalamariKing: I was summoned

AntiSquid: is that with steal included MSmits ?

KalamariKing: Where was the ping wtf

MSmits: this is without steal, so this tells you to start with move 1 or get a forced loss as p1

MSmits: because move1 is pretty sure to end in draw. The search hits leafs that are solved in draw with the principal variation

AntiSquid: 51.7% so p2 is always at advantage with the steal ... so like in the popular 7x6 version ? :D the first move has the advantage

MSmits: no, the 51,7% goes above and below 50%

MSmits: it needs to completely solve lost branches too

MSmits: so that affects the percentages

MSmits: just in case a bad branch still leads to win (otherwise it is not a proof)

MSmits: i should probably stop backpropagating when there is a draw option. That would solve the fluctuation

MSmits: I kinda want to go all the way and solve this, because wiki says noone has yet

AntiSquid: ya definitely some branches can lead to a win, they do for 6x7 (i just know trust me0

MSmits: 8x8 is biggest solve, 9x7 would be next

AntiSquid: saw chat earlier, anyone who doesn't have the nnfs book ? :D

MSmits: not me, I don't not have it

AntiSquid: what are you reading then?

MSmits: nnfs

MSmits: because i have it

AntiSquid: @_@

jacek: neural network for file system?

MSmits: neural network from scratch (in python)

AntiSquid: McBitz jokes, where's Automaton2000

Automaton2000: but it will be worse

MSmits: cant me worse than mine Automaton2000

MSmits: be

Automaton2000: don't think he can do

jacek: or AutomatonNN?

KalamariKing: I think AutomatonNN is no longer with us, succeeded by Automaton2000

Automaton2000: maybe i should read the rules again

MSmits: Automaton2000 dont read the rules and use pruneArray

Automaton2000: if you go to the chat

AntiSquid: Automaton2000 is the original one, KalamariKing, well this is second iteration

KalamariKing: I'm in the chat rn what do you want Automaton2000

Automaton2000: we do have a lot of bugs in your code

Automaton2000: but when i try to make my code cleaner

KalamariKing: AntiSquid oh sick

KalamariKing: thanks

MSmits: wait, is he telling us he saw our code and it has bugs?

KalamariKing: Automaton2000 why would you try to clean buggy code

Automaton2000: what you need to put in some time

AntiSquid: use the search bar on the site to search for automaton, KalamariKing, check the puzzles out

KalamariKing: Automaton2000 if my code is as buggy as you said, then fine

Automaton2000: but i'm saying i like do actions like harvest, seeding

KalamariKing: AntiSquid I see the 'build your own Automaton2000' rn, its actually pretty cool

Automaton2000: makes me want to puke

MSmits: btw, this C# mutex thing is awesome. So easy. I think Astrobytes suggest this? Or someone else. Anyways thanks

KalamariKing: wdym mutex

MSmits: for parallelization, so you dont get many threads accessing and modifying the same variables

jacek: mutex eh

jacek: and virtual loss?

MSmits: i have 10 visits, not sure if thats optimal

MSmits: 10 vists for one that is being played through

MSmits: or if more than once 10x

jacek: per thread?

MSmits: yeah

MSmits: if multiple threads go through same node

KalamariKing: when did I reach bronze in two games

MSmits: then that node has x times 10 visits in UCT

KalamariKing: I've only played one bot game, csb

KalamariKing: just got a random acheivment

jacek: no spring challenge?

KalamariKing: ohhhhh

KalamariKing: that makes sense thanks

hypers: heh, I've got achievement for two golds and i'm not in the gold in spring challenge

hypers: just in one more contest as far as a remember

hypers: also happend minutes ago when rating was updated

hypers: I hope they wouldn't change their mind

hypers: as i'm already proud of myself :)))

KalamariKing: rating was updated a few mins ago?

KalamariKing: interesting

hypers: as far as I can tell by Clash of Code to

KalamariKing: Oh sick

hypers: i was not in the 500 this morning, now I've moved up as a result of today's games

hypers: but I expected update to happen tomorrow

KalamariKing: I thought your rating updates after every game

KalamariKing: It does for me

MSmits: the CP ranking updates at night

struct: coc ranks update after a game is complete

struct: But CP is daily yeah

hypers: I might have looked at CODINPOINTS

MSmits: thats cp

hypers: oh, thanks I see now

asrinivasan007: hello

asrinivasan007: orz

jacek: good afternoon

asrinivasan007: :wave:

Smelty: ^

KalamariKing: you said that literally 6 minutes before noon here

KalamariKing: could you not have waited

jacek: no :imp:

Smelty: lol

Smelty: hehe https://www.codingame.com/share-replay/559010104

jacek: oO

Default avatar.png bora399: I need to improve my coding skills, any suggestions ? I can't solve medium puzzles

KalamariKing: bora399 The puzzle difficulty isn't consistent, I don't blame you

KalamariKing: Some mediums are easy, others are like expert+

Default avatar.png bora399: oh okay thx for message, i relaxed :D

Wontonimo: some of the medium puzzles take me several hours, and many times I have to think on it casually for a day or two.

Smelty: yep

struct: This is why I dont do puzzles

Smelty: some hard puzzles r easier than some medium puzzles

jacek: never run with scissors

King_Coda: How do you hide chat using the url?

struct: ?disableChat

King_Coda: isn't it like ?hideChat

jacek: alt+F4

King_Coda: OH YEAH, thanksstruct

jacek: my method would also hide the chat

Wontonimo: i use your method often. it works well

Wontonimo: got2go :wave: l8r

Soumyadarshan: hey

jacek: good afternoon

Smelty: good morn

Wiilss: hi

Default avatar.png Illusive: hi

Wiilss: :relieved:

Default avatar.png Illusive: so can someone tell me why its called console.log, like bruh log is a tree

Wiilss: damnnn

Wiilss: facts

Default avatar.png Illusive: if australias 12 hours ahead, why didnt they warn us about 911

Default avatar.png 551D: tree is a log but not every log is tree

Default avatar.png Illusive: what is it then

Wiilss: twisty

Default avatar.png Illusive: a twig

Default avatar.png 551D: their news were late

Default avatar.png Illusive: my guy

Default avatar.png Illusive: no

Default avatar.png Illusive: log

Default avatar.png Illusive: is log

Default avatar.png Illusive: js

Default avatar.png Illusive: is

Default avatar.png Illusive: js

AntiSquid: Illusive funny, what about "log a call" or "log in" ?

eulerscheZahl: hey, it's somewhat working \o/ https://eulerschezahl.github.io/AI-Battle/connect-4

struct: 404

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

Default avatar.png supraaxdd: hello

eulerscheZahl: https://eulerschezahl.github.io/AI-Battle/index.html

eulerscheZahl: and then navigate on the left

OutLaw: hey everyone, I have two questions: is it possible to put the dark mode in all the codingame website, and where can I learn to code in C++? From the basics?

AntiSquid: sorry there's nothing at this address

jacek: weird, when i click the link its 404

jacek: but from home page its alright

eulerscheZahl: blazor single page application combined with github pages

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

eulerscheZahl: there must be a way to get around this

struct: how many rollouts?

eulerscheZahl: i don't print it. also depends on your browser

eulerscheZahl: all done in WebAssembly

jacek: its not c#?

jacek: c# to js?

eulerscheZahl: yes, compiled to WASM

eulerscheZahl: no JS

Marchete: C# to js? amazing

jacek: no steal move?

jacek: now do onitama :imp:

eulerscheZahl: but that's a lot more work to do :scream:

jrke: euler here is mine connect 4-

jrke: https://github.com/Jrkej/Connect-4.git

jrke: ;)

eulerscheZahl: that's a lot of instructions compared to clicking a link and playing in the browser

eulerscheZahl: after fighting the 404

jrke: yeah but i made that for fun and school project

jacek: so c# bots on cg can be automatically converted?

eulerscheZahl: with very little effort

darkhorse64: I won it !

eulerscheZahl: struct too

ZarthaxX: where is the bitboard jrke?

ZarthaxX: no bitboards :C

struct: euler I would change the yellow pieces

struct: hard to see them imo

eulerscheZahl: just go and buy a better screen

ZarthaxX: toad i cant see your game

ZarthaxX: :(

struct: its not the screen

eulerscheZahl: did you try https://eulerschezahl.github.io/AI-Battle/index.html ?

AntiSquid: resizing width breaks the layout euler

struct: is just that night light is on

struct: to save my eyes

eulerscheZahl: or why can't you see it ZarthaxX?

jacek: he has screen off

eulerscheZahl: that's something I started yesterday and you guys are already complaining :(

ZarthaxX: yeah what jacek said, i didnt turn pc on

ZarthaxX: works like a charm toad <3

struct: im not complaining :/

eulerscheZahl: so, what else if not yellow?

eulerscheZahl: blue? :P

struct: well you can change the background

AntiSquid: poor web design needs to be thoroughly scrutinized, where's the contact us form to leave a review on the site?

ZarthaxX: did you do low lvl stuff toad?

ZarthaxX: :rofl: squido

eulerscheZahl: no, pretty much my tech.io bot still

eulerscheZahl: just with a larger board

ZarthaxX: oh okey

eulerscheZahl: and 400ms

ZarthaxX: as you said web asm

ZarthaxX: i didnt get it

ZarthaxX: i lost

eulerscheZahl: do you know what webasm is?

ZarthaxX: :D

ZarthaxX: i think i dont

ZarthaxX: i heard of it tho

eulerscheZahl: a way to run compiled programs in your browser

ZarthaxX: wait

ZarthaxX: you are telling me i can run a c++?

ZarthaxX: an exe

ZarthaxX: executable whatever

eulerscheZahl: and blazor provides a .net runtime as WASM

ZarthaxX: interesting

ZarthaxX: i wanted to try running bots on web

eulerscheZahl: so the connect4 bot is a .net DLL which is executed in .net runtime via webasm

ZarthaxX: not a good idea i guess tho

ZarthaxX: damn

Default avatar.png UUolfo: Side note 2nd?!? dangggggg whose first and how do i tell?

ZarthaxX: interesting

eulerscheZahl: https://www.codingame.com/leaderboards/general/global

eulerscheZahl: royale reclaimed the lead

Default avatar.png UUolfo: ty, well done.

ZarthaxX: probably clashes e.e

eulerscheZahl: i dropped in the spring 2021 leaderboard

Default avatar.png UUolfo: looks like bot programming

AntiSquid: 4 CP difference ZarthaxX

eulerscheZahl: 104

AntiSquid: 104 CP nvm

ZarthaxX: lol

AntiSquid: ya basically clash diff by 100 points

jrke: damn dbdr also in the race

eulerscheZahl: he will take over soon

eulerscheZahl: his points are from games that still gain more players and total points

jrke: yeah one those are d&b

ZarthaxX: true

jrke: and i am also a guru now :)

Wiilss: hi

jrke: just a rank above ZarthaxX

ZarthaxX: you took my place jrke

ZarthaxX: lol

ZarthaxX: right

ZarthaxX: i will fix it, someday

eulerscheZahl: was about to mention that

jrke: time to sleep... gn bye and hoping ZarthaxX will fix his rank

ZarthaxX: haha nah

ZarthaxX: not for now

ZarthaxX: gn!

AntiSquid: when you going to bed ZarthaxX ?

eulerscheZahl: in 10 hours

eulerscheZahl: it's 14:30 for him

eulerscheZahl: wait 14:53

AntiSquid: 1 AM ?

jacek: and when you goind to bed, euler

MSmits: in 1 hr

eulerscheZahl: in 1h

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

MSmits: and 7 minutes

AntiSquid: :D

MSmits: euler has perfect self control and self discipline

AntiSquid: it's usually 8 AM here when he goes to bed, makes it look weird

ZarthaxX: i hate this toad, always knows my time

AntiSquid: 8 PM *

eulerscheZahl: i still feel a little tired after the contest

ZarthaxX: who doesnt?

ZarthaxX: :D

ZarthaxX: they are getting more intense

eulerscheZahl: but long weekend ahead :ship:

ZarthaxX: true :O

jacek: long?

eulerscheZahl: 3 days weekends are the best

MSmits: whats with the boat

AntiSquid: you can search the time online ZarthaxX : https://duckduckgo.com/?q=time+arhentina

MSmits: you going on the water?

ZarthaxX: he is a toad

eulerscheZahl: like "land in sight"

MSmits: toadboat?

MSmits: oh ok

ZarthaxX: i know AntiSquid

eulerscheZahl: just that the land is a public holiday

ZarthaxX: but i think toad knows it without googling it

MSmits: right, totally get this analogy now

ZarthaxX: he says it too fast always lol

eulerscheZahl: i know ZarthaxX = me -5h

ZarthaxX: yeah that :P

ZarthaxX: i will remember the 5

ZarthaxX: wait, you go to sleep at nine???

ZarthaxX: or at 10

eulerscheZahl: 9 sounds about right

ZarthaxX: isnt that way too early?

ZarthaxX: why not 00 D:

MSmits: he gets up early

MSmits: feeds his chickens and stuff

eulerscheZahl: around 6am

ZarthaxX: hell

ZarthaxX: ahhh

AntiSquid: what about daylight savings ? are those always synchronized ?

ZarthaxX: makes sense

ZarthaxX: why tho?

MSmits: cuz they need food

jacek: he needs his dose of lucid dreaming

ZarthaxX: MSmits toad feeding chickens :rofl:

ZarthaxX: suddenly he lives in a farm

MSmits: i dunno why, it's just educated guessing

ZarthaxX: still no phone toad right?

ZarthaxX: no russian telegram

eulerscheZahl: i have landline

MSmits: me too, no phone

ZarthaxX: i meant mobile phone

MSmits: and landline

MSmits: yeah

ZarthaxX: isnt landline dying?

AntiSquid: my smartphone is my landline

MSmits: i dunno. It worked ok last time i tried

ZarthaxX: i meant like

ZarthaxX: passing away

eulerscheZahl: i also have a headset for the computer

ZarthaxX: lol

MSmits: me too, headset

eulerscheZahl: belongs to employer but i think i can risk it :imp:

ZarthaxX: :rofl:

ZarthaxX: computer also belongs to employer?

MSmits: i dont see the point of mobile phone

MSmits: isn't that for like, a social life

eulerscheZahl: using my personal screen and keyboard for work in return

eulerscheZahl: i have a computer on my own and one from the company

eulerscheZahl: i way i'm willing to use that windows in my free time

ZarthaxX: notebook from company i guess?

MSmits: same, 2 computers, one for myself and 1 for work

AntiSquid: i have a work laptop, they kept promising work phones for a while now (smart phones too)

MSmits: I should start playing soccer and then I'll live eulers life

eulerscheZahl: not a notebook. more like a 20kg monster

ZarthaxX: :rofl:

eulerscheZahl: 60cm deep

ZarthaxX: thought it was normal that they gave notebooks only

eulerscheZahl: and 40 high, 20 wide

ZarthaxX: you can train your NNs there :D

ZarthaxX: or mine

eulerscheZahl: it has 2 processors with 8 cores each

MSmits: whoa

ZarthaxX: wtf, what do you do at your job

eulerscheZahl: FEM machine

ZarthaxX: MSmits i think he doesnt feed chickens

AntiSquid: using windows in freetime? :thinking: got tired of linux ?

eulerscheZahl: i don't really need all that parallel power. it's just that this PC was spare when I needed one

ZarthaxX: okey :thinking:

MSmits: ah right, it was lyin' around

MSmits: makes total sense now

ZarthaxX: lol

AntiSquid: it's not about what you need it for, it's what the employer can afford

eulerscheZahl: definitely more expensive than my personal computer

AntiSquid: is it secured? encrypted?

AntiSquid: how much access do you have to it

eulerscheZahl: questions getting weird, not sure if that's the right topic for public chat

MSmits: why do you need to know that :P

AntiSquid: why not? curious

MSmits: this reminds me of conversations with mad knight :P

eulerscheZahl: let's do a teamviewer session

MSmits: come get on teamviewer and when i ask why, why not?

eulerscheZahl: :rofl:

MSmits: hehe

ZarthaxX: lol

AntiSquid: completely different topic

MSmits: my point exactly :P

AntiSquid: madao feels lonely likes to chat, different interest

eulerscheZahl: once another user here asked me to connect to his PC with teamviewer

AntiSquid: madao's alt?

MSmits: well that doesnt surprise me... you help people with technical problems

eulerscheZahl: no, i could help him with a C# problem

AntiSquid: so did you connect?

eulerscheZahl: but i wouldn't give any of you access to my PC. you are still somewhat strangers

eulerscheZahl: yes, i connected to his PC

eulerscheZahl: and i don't want anyone to touch my PC

AntiSquid: i didn't ask for access to your PC, weird assumption

MSmits: wouldnt do that either i think, but if anyone, it would be you

MSmits: nahhh it would be astrobytes

MSmits: :P

eulerscheZahl: just saying because that random guy on chat (not even a regular user) asked me

struct: at most screenshare

eulerscheZahl: if i were in his shoes, i wouldn't

AntiSquid: nobody here, i don't care, it's private @_@

Default avatar.png BinaryIO: eulerscheZahl I have your location. locking in on you!

eulerscheZahl: because I wrote the location on my profile

AntiSquid: besides i have funny gif desktop can't have people see that

eulerscheZahl: you are in *concentrated look* the US

eulerscheZahl: i have a hypnotoad picture collection

Smelty: lol

AntiSquid: euler is a foreign spy, BinaryIO

MSmits: we're all foreign

Marchete: ALL GLORY TO THE HYPNOTOAD

Smelty: ^

MSmits: did you watch that 10 hr YT again Marchete

Marchete: ofc

MSmits: I know it only seems like 2 minutes, but watch the sun before and after

Marchete: twice in a row

eulerscheZahl: i hear that every day when writing extensions for the CAD software: "foreign application failed to initialize"

AntiSquid: oh god MSmits, just reminds me reading some ingame chat, often seeing "oh all these foreigners not speaking my language, get out of my country" lmao

MSmits: which game was this AntiSquid?

AntiSquid: happened in multiple ones

MSmits: yeah, I remember chat like that in dota2

AntiSquid: "verdamte auslaender"

eulerscheZahl: verdammte

MSmits: they always complained about "the russians"

AntiSquid: ya that

eulerscheZahl: verdamt = something that turns into a woman

Smelty: :eyes:

reCurse: I am now fluent with insults in spanish, portuguese and russian thanks to dota 2

MSmits: lol reCurse

struct: lol

Smelty: lol

eulerscheZahl: i know some Hindi curses thanks to kitboga

struct: brazilians play it?

MSmits: i hadnt watched kitboga in months and i coincidentally watched 1 last night

MSmits: i think you need, to every once in a while

AntiSquid: what MMR reCurse ?

reCurse: Between 3.8k and 4.2k back when pros were around... 7 or 8k I think?

reCurse: That was years ago

MSmits: I never got very far with that, you had to play hundreds of games to even play rated games

reCurse: Leagues didn't even exist

MSmits: i stopped when i was allowed to

AntiSquid: i only played it back when it was a warcraft 3 map

MSmits: oh thats a long time ago

MSmits: like 15 yrs ago?

MSmits: more even

AntiSquid: idk, it was getting popular on ggarena or something like that

AntiSquid: gggaming !

MSmits: only game i played seriously was company of heroes

MSmits: online i mean

MSmits: lots of strategy, people around my rating had 3x as many clicks/min

MSmits: slow but smart :P

reCurse: APM got perverted when people started putting too much focus on it

AntiSquid: high APM = pro

MSmits: depends on the game though. Some games are specifically designed to require it, like starcraft 2

reCurse: Same result

AntiSquid: 1212121 right click spam

reCurse: Hardly measures anything except maybe sweatiness

reCurse: Of course you need some good reflexes to be good but

reCurse: Past a certain point...

reCurse: Just realized Nerchio might be reading this, I should shut up in case I say something very stupid

MSmits: well, with that logic most of us should keep quiet because you're here :P

Default avatar.png izzythehacker: idk what to do

reCurse: Um...

reCurse: No?

AntiSquid: nerchio teach us the right hotkey bindings

MSmits: I mean because i say a lot of stuff you know much more about

MSmits: sometimes saying stupid stuff is an opportunity to be corrected :)

reCurse: Fine, let's just say I might be speaking with a bit too much confidence when I could get massively corrected by someone who (was?) an actual pro

MSmits: yeah, but you can take the embarassment, it's fine

AntiSquid: you can check if he is in chat

AntiSquid: protoss are easy win because shields OP

MSmits: he's not, but we log chat these days

MSmits: it's actually way more risky for me than for you reCurse

MSmits: i am a teacher, i often think sht, some student may read this

AntiSquid: see? he didn't respond

reCurse: Alright so excluding actual pros

MSmits: if i am careful half the jokes i do i probably shouldnt :P

reCurse: APM is most likely perverted by unnecessary sweatiness in those levels below

reCurse: IMO

MSmits: do you mean perverted as in inflated?

reCurse: Yeah because it's often wrongly associated with a measure of skill

Dartisan: Hi, for those who interest, I put nine men's morris (Multiplayer) back in the contribution. ;-) Any feedback is welcome.

MSmits: ahh ok

reCurse: So people get it all wrong

reCurse: I need more APM to be good

reCurse: ...no

MSmits: so people are just randomly clicking stuff in downtime

AntiSquid: it's the culture, people measure APM and if it's not super high for no reason then they call you a noob

reCurse: Exactly

reCurse: That's royally stupid

reCurse: Sure you need to poll your buildings etc to make sure you build stuff on time and all

reCurse: But that's why I say past a certain point the metric is useless

Default avatar.png SubwayMan: Hi, is there any way to adjust the codingame editor settings? I'm really not a fan of the autocomplete

Default avatar.png UUolfo: I think it used to be that it was a measure of how percisely you could do x commands in y time, but it turned into just rando click

MSmits: games become a lot less interesting to me with these features. Like the last-hitting and deny-ing thing in dota2

MSmits: they could have coded a feature where this was automatic

MSmits: and you could focus on thinking

struct: denying is a joke

AntiSquid: like Heroes of the Storm ?

struct: dota gives me raic flashbacks

reCurse: That's massively underestimating all the strategy that goes with it MSmits

MSmits: i like that you dont have to do it in league of legends and hots

jacek: is it alive still?

reCurse: And it's not nearly as much about reflexes

AntiSquid: "pick heal" "omg noob why not pick heal"

MSmits: reCurse how so

reCurse: There's a lot of mental games that go with it, which creeps to focus, zoning, etc

struct: its more about timing decision

MSmits: i am ok with decisions like those

MSmits: it's the ridiculously precise timing required

AntiSquid: that's why you play 24/7

reCurse: There is a whole balance around attack animation and damage for last hitting and denying in dota

MSmits: yeah i know

struct: I tried to play dota but the learning curve was to big, compared to league

MSmits: i preferred heroes of the storm

MSmits: it seems a lot more random/fun

AntiSquid: extremely random

MSmits: yeah

MSmits: for casual game it's better i think

AntiSquid: i remember the fun times: ping once for help reply: "STFU YOU TOXIC SHIT"

MSmits: toxic?

MSmits: lol

reCurse: Ah yes HOTS, where you get called out for being toxic whenever you dare suggest a strategy to the team

AntiSquid: they loved the word

reCurse: How fast I quit that game

MSmits: ahh I dont remember, maybe i didnt play during the toxic era

struct: tbf I dont know any moba where there arent toxic ppl

reCurse: Sure, it's just the complete opposite in HOTS

AntiSquid: what league were you in MSmits ? @_@

MSmits: dont remember honestly, i just did daily quest stuff for a few weeks

King_Coda: That scroll bug is annoying

Murat_Eroglu: hey reCurse, do you have a github?

reCurse: In usual moba you get toxic people on you when you don't do things right

reCurse: In hots you get toxic people on you when you want to do things right

reCurse: And get called toxic for it

struct: ah lol

MSmits: I see

AntiSquid: "omg that noob picked x skill" "gg, let's abandon"

reCurse: Murat_Eroglu: Yes but not using it for anything

agysejt: Hi recurse! what was your method?

reCurse: ?

MSmits: pretty sure he refers to contest

MSmits: there's a post mortem agysejt

AntiSquid: blizz games have a weird community in general, i lost count of the times people added me in hearthstone just because they lost a game and felt angry

agysejt: BSearch or any method?

MSmits: he used a NN with duct i believe, but read PM

Murat_Eroglu: reCurse, where can I find your post mortems?

MSmits: many interesting PM's

jacek: https://www.codingame.com/forum/t/spring-challenge-2021-feedbacks-strategies/190849/67

agysejt: is any PM anywhere?

MSmits: Murat_Eroglu they are organised in threads per contest

jacek: (not rick roll)

agysejt: ohh thx

Murat_Eroglu: thanks

eulerscheZahl: https://www.codingame.com/forum/u/recurse/summary check the top replies as you said "post mortems" in prural

agysejt: anyway grat reCurse !

MSmits: oh nice one eulerscheZahl

Murat_Eroglu: thank you very mucj

Murat_Eroglu: much*

reCurse: Yeah check jacek's link that's where I wrote my postmortem

MSmits: eulers link is better

agysejt: thx , i see already

kovi: 129 hearths...

Default avatar.png UUolfo: is there a way to see live code variables during operation instead of displaying it as a print?

MSmits: pure love kovi

eulerscheZahl: that's probably the most liked post on the entire website

eulerscheZahl: the petition to bring back code4life had 115 last time I checked

reCurse: :blush:

MSmits: lol

agysejt: what is the best c++ framework for AlphaZero (github example) ?

reCurse: I don't know of any

reCurse: It's usually all in python

MSmits: wait, now i am confused. Code 4 life is not on here anymore, but someone asked a code 4 life question during contest

MSmits: was this person trolling?

jacek: /me

MSmits: was it you again jacek?

kovi: yeah, shame there is no c++

kovi: but it probably wont be cg compatbile anyway

Dartisan: No Code4Lie is on, I am currently on it :-)

1415495: well 90% of the fun is to do it onself (IMHO)

kovi: ^

eulerscheZahl: code4life is here. but there was a delay of more than 1 year between contest and multiplayer

MSmits: ohh ok

jacek: during coitus also?

agysejt: yes i see many python examples

jacek: checking out leela zero code would be the closest

eulerscheZahl: jacek asking for moderation?

jacek: :no_mouth:

Marchete: alphazero.jl could be a good starting point too

Marchete: in julia

Marchete: https://jonathan-laurent.github.io/AlphaZero.jl/stable/

MSmits: thats the only azero i got to work locally actually

MSmits: the rest required versions of stuff i could not get working or a linux system

agysejt: ohh Julia another language?

eulerscheZahl: yes

MSmits: then i started training and it said wait 20 hours

MSmits: so...

reCurse: The alphazero implementations on github are very unsatisfying

reCurse: Those I found anyway

AntiSquid: you need to specify exact versions for each python library MSmits

MSmits: I know AntiSquid

MSmits: I dont have patience for that sort of stuff :(

MSmits: I used anaconda too, supposed to make it easier

eulerscheZahl: isn't that why we have virtualenv?

MSmits: still stuff goes wrong

MSmits: yeah i did that

MSmits: only got the julia one to work

Marchete: python code is usually hard to run

Marchete: incompatible versions

Marchete: esp. old tensorflow examples

reCurse: Especially if it depends on tensorflow, good luck

reCurse: lol

Marchete: :D

MSmits: i guess when you're a pro coder you're used to dealing with all this compatibility crap, but I dont really have the patience :)

reCurse: Tensorflow versioning is a clusterfuck

jacek: why do they deprecate stuff

Marchete: I totally agree

eulerscheZahl: i hated that tensorflow task on CG

AntiSquid: well if you run on windows 10 you sometimes need to figure out how to manually install specific libs yourself and in which folder to add ... lots of time spent on config, reason to use linux instead

eulerscheZahl: solved the puzzle by digging through older versions of the docs in git history and just copy-pasting that

agysejt: super :-D

MSmits: well you used what you're good at

MSmits: finding stuff that wasnt intended to be found :P

jacek: huh

kovi: i was lazy and used workspaces on udacity or on colab and keras wherever possible

agysejt: is something caffe c++ CNN library

agysejt: udacity or on colab?

AntiSquid: still have aws credits i need to use up @_@

kovi: udacity trainings...colleges who did local spent 30%+ time on environment/setup/compatibility issues

agysejt: i see, thx, something school

kovi: but no c++ nn

reCurse: Oh man, reminds me

reCurse: First day with my brand new rtx 3080

jacek: :unamused:

reCurse: Pytorch dies

reCurse: No support whatsoever for it

AntiSquid: where do you live?

Wontonimo: nice machine

reCurse: Had to hack around in source and building it from scratch to get it to work with latest cuda

reCurse: Fun day...

agysejt: when will decrease rtx price? :-D

AntiSquid: when the assembly line runs at full capacity again

reCurse: We can start by coming up with a plan to kill all cryptos

Wontonimo: and demand dries up

reCurse: I'm willing to dedicate time for it

jacek: all hope in musk

agysejt: Musk :-D

kovi: and altcoins drop a bit more

AntiSquid: crypto's here to stay

AntiSquid: very long term

jacek: i heard eth's mining will be over soon?

Wontonimo: we just need one quantum computing breakthrough and then mine all remaining coin in 0.012 sec

Wontonimo: then it's over

jacek: breakthrough :thinking:

MSmits: heh, by definition, will that not just cause more mining?

MSmits: it will just devaluate the coin

MSmits: oh you mean literally mine everything?

MSmits: not sure what the algo's are, but isn't it like prime numbers where you can go on forever?

jacek: http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html

jacek: btc supply is limited

agysejt: it is green method :-D

reCurse: I'm hoping regulation is how it's gonna get killed

reCurse: China had the right idea :P

MSmits: probably is less green than using a computer agysejt :P

kovi: gree: are you sure? considering the power input of people?

MSmits: ^

AntiSquid: CCP isn't the ideal gov

reCurse: That's not what I said

agysejt: too many paper and pencil? :-D

MSmits: they can still have good ideas

MSmits: even if they're genocidal

AntiSquid: and you'll probably get state run crypto at some point

MSmits: on the side

jacek: like china's chia

reCurse: Chia is a joke I think

jacek: which uses storage as PoW :thinking:

reCurse: Wouldn't be surprised if it's hard drive suppliers trying to create a demand

agysejt: anyway bitcoin or similar things totally are negative products

MSmits: agreed

MSmits: unless there is some entertainment purpose to them

jacek: at least it should be based on folding@home PoW or similar

jacek: some useful PoW

MSmits: pow?

jacek: proof of work

eulerscheZahl: potw

MSmits: ah ok, i only knew prisoner of war

reCurse: It's just an unregulated instrument of speculation

reCurse: The moment governments start responding to it I assume is when it starts dying

MSmits: people just don't understand you can't create value out of nothing. Every piece of profit created with bitcoin is someone else's loss

taha-lyousfi: wassup guys ! I am recording a video do you wanna say something to viewers ? ?


actualCoderTrevor: Hello World!

LeviathanProgramming: Interesting. I did not know about the bitcoin thing, MSmits

Marchete: from the sun

Marchete: you can create from the sun

LeviathanProgramming: light is created from the sun

LeviathanProgramming: as well as heat and radiation

taha-lyousfi: wassup guys ! I am recording a video do you wanna say something to viewers ? ?


MSmits: you mean you can mine coins on solar power Marchete?

jacek: MSmits tell that to feds printing moneyz

taha-lyousfi: hey

taha-lyousfi: wassup guys ! I am recording a video do you wanna say something to viewers ? ?


MSmits: heh yeah jacek

jacek: meow!

MSmits: woof

1415495: money creation is necessary, it's only when in excess that is dangerous

MSmits: thats the unregulated part

MSmits: (with bitcoin)

1415495: bitcoin doesn't create money in itself

MSmits: how do you mean

MSmits: it's used as money

1415495: only states (directly or delegated) can

1415495: that's not the same thing

MSmits: it's not the same no

1415495: the US/EU does create money from thin air (directly or by allowing banks)

1415495: bitcoin creation create no extra money in itself

MSmits: when it's mined, more of it is in circulation no?

1415495: people gives a value to bitcoin but that's all

MSmits: ahh of course but in a sense thats true for "real" money as well

1415495: they are no 'new' euro/dollar in existance whena bitcoin is created

MSmits: it's just backed up better

MSmits: but countries have suffered hyperinflation

1415495: not exactly when, a new dollar is created, it exists (you had N dollars, now N+1) but when a bitcoin is created N dollar dosn't changes

MSmits: like in world wars

BlackDereker: clash of code should have a mode for the most optimal code

BlackDereker: that would be neat

Bashar: i got a question

Bashar: is it possible to find the original string from list of subsequences made from that original string?

MSmits: eh, thats a weird question

MSmits: are the sub(strings?) ordered in some way

MSmits: i mean does every character exist no more than 1 time in this list?

MSmits: in the string i mean

MSmits: that way youcan start with a character and append or prepend characters, by going through the list

Bashar: all original string's characters are distinct. each string in the list is a Subsequence of length 3 of the original string

MSmits: ahh ok

struct: this sounds like a clash

MSmits: take the first item in the list as a base

MSmits: go to the next item, see if any character is the same, add stuff to the end of this character if it isnt already there

MSmits: keep going through the list, adding stuff and prepending stuff, till your string doesnt change anymore

MSmits: that should give you an idea on how to solve it I guess

MSmits: it's not an easy clash tbh.

MSmits: if it is one

Bashar: its not a clash

Bashar: its a question made by someone ik locally

struct: tesla roadster 0-100km/h in 1.1 sec o.o

Bashar: i will try thanks man

MSmits: np

struct: Seems like a bit too fast imo

LeviathanProgramming: wow, that's crazy speed

Default avatar.png sixengamsz: yeah is clash

MSmits: crazy acceleration

jacek: 3*vel?

MSmits: speed is meh

struct: max speed is over 400kmh MSmits

MSmits: oh ok thats better

MSmits: but can it fly?

MSmits: other things that go that speed can fly

struct: with spaceX package

MSmits: so...

AAlbertini: Hi everyone, I just joined Codeingame & I'm trying the Temperatures exercise in Kotlin but it doesn't matter whatever I try my submit doesn't pass any test even for the empty temperatures array just return 0 nothing works but when I manually try the input from the validators it works. Is there an issue with kotlin ? Thanks for your help !

Default avatar.png sixengamsz: xd

jacek: hmm

jacek: have you tried other language?

MSmits: doubt there is an issue with kotlin, but i cant help you with that language

jacek: someone complained about kotlin today

MSmits: oh

AAlbertini: I passed it in C# & C++

MSmits: hmm

MSmits: weird

MSmits: dont know any kotlin masters here

jacek: hmm compiling takes unsually long in kotlin

jacek: AAlbertini what do you mean by return 0?

LeviathanProgramming: javascript and python are really fast

LeviathanProgramming: typescript is super slow

AAlbertini: @jacek Well I created a computeClosestToZero returning an int and did a println in the main to display the output and even if I let it empty and just print 0 the "Displays 0 if no temperature" validator doesn't work either

reCurse: There's issues with Kotlin CG is working to fix it, last I heard

jacek: when i hardcode print it works for me anyway

jacek: there is only println, no return

reCurse: Something with compilation speed so I assume the more code the worst

AAlbertini: Oh ok thanks because it's for a test interview with Codingame (android dev) and I tried from the tutorial window with this exercise and retried on the original codeingame to see if there is a difference but failing in any case

reCurse: I have no idea about how things are on the "for work" side

jacek: they recently switched compiler for kotlin (in other words - kompiler) which is slower, but i dont know any more details

AAlbertini: Well it's just a simplified IDE with questions and exercises

AAlbertini: Yeah noticed kotlin is really slow. Thanks for the help anyway !

Bashar: @MSmits based on what should i prepend stuff?

MSmits: ok say you're looking at one of the substrings

MSmits: the third character

Bashar: can i dm you the code?

Bashar: my code

MSmits: and its the same as the first character of your string

MSmits: that means you can prepend the 1st and 2nd character of your substring to the string you're building

MSmits: i suck at reading other people's code, especially if it is a different language

MSmits: you're basically just matching substrings to the string you're building. the part you already have, you ignore. The stuff you dont have, you prepend and/or append

MSmits: and you keep doing that until you did a full loop through your list of substrings without prepending or appending

MSmits: then everything in there is in the full string

MSmits: i would just loop over a substring like this:

Bashar: http://chat.codingame.com/pastebin/1ed5ddf9-11a1-4fdb-80d5-3b12e5e5bb93

Bashar: this is what i wrote

MSmits: yeah thats not much yet, but hear me out, maybe this helps

MSmits: maybe we should go to pm

Bashar: okay

Default avatar.png echo-sound: hi

jacek: hello

Smelty: meow

Wontonimo: hey Bashar, just joining the conversation. Are you trying to add all unique numbers in a list?

Smelty: o.o

Wontonimo: O.O

jacek: ._.

Wontonimo: ô.o

Smelty: O.o

Wontonimo: taco

jacek: tacocat is a palindrome

Wontonimo: palindrome isn't unfortunately

Default avatar.png ThiernoBarry1: 0.0

Smelty: Aibohphobia is the fear of palindromes

Smelty: coincidentally, Aibohphobia is also a palindrome

jacek: and Hippopotomonstrosesquippedaliophobia is fear of long words

Smelty: yes

Wontonimo: i was just going to say

Wontonimo: had to google the spelling, but u b faster

Wontonimo: "smiles" is a longer word though

Smelty: Papaphobia is fear of the pope

Wontonimo: cuz there is a mile between every s

Wontonimo: lol

Smelty: lol

Wontonimo: *pulls up dad pants*

Smelty: Arachibutyrophobia – Fear of Peanut Butter Sticking to the Roof of One’s Mouth

Smelty: ....interesting...

Wontonimo: you know, cuz dads have their pants pull up half way to their armpits

Smelty: yes

Wontonimo: whatever

Smelty: *gives wonton a box full of tacos*

**Smelty says it bought it at the local store

Wontonimo: :thumbsup:

Smelty: ccllash

Wontonimo: wait! these tase suspiciously like the same ones from the cooler

**Smelty quakes in fear

**Smelty says it bought it from the tacoshack across the road

Wontonimo: what are you up to jacek ?

Riku5720: hello

jacek: ?

Wontonimo: hello

Smelty: h

Smelty: e l l o

Wontonimo: w

Smelty: ;(

Smelty: just lost a clash

Darkboy: H

Darkboy: e

Darkboy: l

Darkboy: l

Darkboy: o

Smelty:

Smelty: http://chat.codingame.com/pastebin/9f5ca3b1-5325-4ba8-9fa2-e7aa8bb74abd

Smelty:

Wontonimo: so long Smelty, that's for all the tacos

Astrobytes: I take a day or 2 away and this is what happens to the chat?

Smelty: :0]

Smelty: h-hi a-astro

Astrobytes: Fix your crap messages Smelty

Wontonimo: help us please

Smelty: s-sorry

Wontonimo: we are in a loop.

Wontonimo: what's a good topic Astrobyte

Astrobytes: Chat's on acid?

Smelty: meow

jacek: happy Caturday's eve

Smelty: oop meant yes

Astrobytes: likewise jacek

Astrobytes: Good topic - don't ask me, I'm leaving again in a minute

Wontonimo: i've started calling Thursday "Pre-Friday" so I don't feel bad about Pre-Friday drinking

Astrobytes: Perhaps something about bitboards, NNs or psychedelic drugs

Wontonimo: so, i'm not a fan of bitboards

Astrobytes: That's how it is in Scotland Wontonimo

Smelty: s

Astrobytes: It's the night you ramp up your intake in prep for Friday

Wontonimo: now, before you go and jump on that comment and praise bitboards let me be clear: They are super useful and to their thing

Wontonimo: I just don't look forward to coding it.

Astrobytes: They can be annoying though

struct: if it wasnt for bitboards I wouldnt have coded on last contest

struct: I cant stand hex grids

Astrobytes: Wontonimo: https://gekomad.github.io/Cinnamon/BitboardCalculator/

Wontonimo: oh, nice

Astrobytes: I always recommend your own printing method though, with tests for everything. Write once, reuse. Or modify.

jacek: you dont have bitboard in uttt, Wontonimo?

Wontonimo: if it got to 40k sims on move 2 without bitboard I'd be some kind of god. No, had to do bitboard. Absolutely

Wontonimo: it's super useful and a must for optimization. Just feels like work

Astrobytes: It's good to put in work sometimes. Reward yourself with extra tacos.

jacek: after a while writing board in classical way will feel more effort than bitboard

Wontonimo: hopefully. Than soon someone from work will come to my desk and ask me what the heck I just submitted to the main code base

Wontonimo: *then

Astrobytes: Anyway, I'm out. See ya tomorrow or Monday-Tuesday

struct: cya

Astrobytes: take care all

Wontonimo: take care

jacek: mods are gone, lets spam :imp:

Wontonimo: bwah hahaha!!

Wontonimo: the chat is ours

Default avatar.png Voudrais: Siema Jacek

jacek: ohai

Smelty: oooh my

Smelty: hipopotamus'es

Default avatar.png Voudrais: Też jestem z Gdańska

jacek: :+1:

Smelty: *e*

Riku5720: first W

Riku5720: wait nvm 2nd

Smelty: lol gj

PatrickMcGinnisII: Dice Duel runs slow as hell on my pc

PatrickMcGinnisII: sd or hs doesn't matter

PatrickMcGinnisII: or hd

Smelty: F

Smelty: it does for me too

PatrickMcGinnisII: I'm runnign 3 monitors, i duuno if the web 'helper' engine isn't set right or just the browser sux

PatrickMcGinnisII: seems to be running better today than yesterday

PatrickMcGinnisII: hmm, still slow tho

PatrickMcGinnisII: gave browser higher priority, still not great

PatrickMcGinnisII: any1 have any other suggestions, let me know

therealbeef: is that a CG game?

Smelty: yep

Smelty: https://www.codingame.com/multiplayer/bot-programming/dice-duel

Smelty: tbh babylon tower is the easiest legend achievement

therealbeef: wow, just the front page of that game, with the example game is making my cpu go to 30% cpu utilisation, and staying there even though the animation stopped

therealbeef: i'll play that game in winter ;-)

AntiSquid: 3D replay ! you can rotate it

AntiSquid: the table is basically a UFO

AntiSquid: https://imgur.com/a/B0dV3Ve

Smelty: yes

PatrickMcGinnisII: ends on no valid moves? should say boss won https://www.codingame.com/replay/559100585

Smelty: hmm

PatrickMcGinnisII: oh well, off for dinner

PatrickMcGinnisII: glhf

Smelty: yes

jacek: dinner?

AntiSquid: jacek how did you came to 30 features to use and how did you select those 30 is far more important than the number itself, you can have more than 30, not meaning to be abrupt, but the number itself says nothing .

jacek: trial and error and experimentation. the number could be higher if there was much more benefit to have more meaningful features. but i needed to keep it low due to CG size limit

jacek: 81 * 30 thats already 2430 inputs. if i have 32 hidden units, that gives 77.7k weights and each weight is 1 character, so that gives me around 22k for the rest of code

jacek: which of those features are important comes from experiments. unfortunately at this points new experiment would take hours to conduct to see if it yields better results than my best net

AntiSquid: cool, but there's a whole "area of research" on feature selection and analysis of their usefulness

jacek: it was more handcrafted than automated :c

AntiSquid: ah just wanted to say it's weird those guys are looking for 30, but they don't know which 30 they are looking for

AntiSquid: whichever works best for you is good, but there are methods to go about it, you might not even need 30, i don't know

jacek: let them roam :imp:

jacek: for all we know i could be trolling

Smelty: ah mind gams

Smelty: *games

Lexer31: meow how are you

Smelty: meow meow (good)

Smelty: also....31 followers wow

jacek: huh

Riku5720: heya

ZarthaxX: gz Smelty :)

asrinivasan007: :nerd:

Default avatar.png origami091: /me

Default avatar.png **origami091 like

Default avatar.png **origami091 like potatos

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

Smelty: lol

Default avatar.png MrFruit: flippp

Default avatar.png zonbita: meo` moe' meoemeoeoemeeo

Smelty: yes finally broke the 2000 coc barrier

Default avatar.png nishuz: pog

Default avatar.png victorlsilva694: Hello guys

Smelty: hello

JohnCM: haha feels good using python again for shortest mode

JohnCM: i've been using C++ past few days just to challenge myself, and it's been rough

JohnCM: C++ still ok for fastest and reverse, just not shortest

Default avatar.png Mailaanhem: hell

Default avatar.png Mailaanhem: i from VietNam

Default avatar.png Mailaanhem: I want to code better anh learn English

Default avatar.png Mailaanhem: Can you help me

Guilherme300: I didn't know how to solve ANEO Sponsored Puzzle


Guilherme300: I don't*

KelvinAndHubbles: since therers a 36% success rate on that puzzle, I'd bet a ton of others don't know how to aswell

Default avatar.png NotSureWhyThisWorks: also a heads up with that puzzle even though my solution passed all test cases it got 80% on submission. I found out that it was a rounding error and now it gets 100%