i'm learning about all manner of new maths and gradually developing extremely proper style for c. i'm off for vacation in yellowstone for a bit, perhaps i'll come back armed with some revelation or other, but i wouldn't cross your fingers... maybe though, i'll write a neural net to play 3d 3 player while i'm there though... i think i would just go 2 layer, the input layer accepting 54 inputs, corresponding to a 2 bit state for each square. (player 1, player 2, player 3, nobody)... following this, because i have a whole lot of computing power at my disposal (my dad is a scientist) i will have two 500 node layers... that number may change, then, an output layer which will simply describe where it moves. now my trouble is coding in the rules of the game... lets say early in training, it makes an illegal move... how do i tell it not to do that? indeed, what exactly am i training it to do? also, symmetry... there are several equivalent representations of a game of ntic... any good strategy would obviously be invariant under shifts between representations... there is something to the symmetries, and that should allow us to very significantly reduce the training set.