So some kind of weighted least-squared fit? That certainly seems like the best way to go about it. I just wonder about the best way to pick the weights.hgm wrote:What I had in mind for the move matching is to make a weighted count of atoms they have in common, (where R and B would be considered atoms), with a discount for missing directions. (I imagine that the pool of pieces kept by the GUI would almost all be completely symmetrical pieces.) The rarer atoms (in the pool as a whole) would get higher weights. So when there are only few pieces in the pool that have a Camel move, it would get a high priority to match a piece that does have the Camel moves with one of the Camel-like images.
Moves occurring on one and not on the other would also cause a penalty. This also should be proportional to the weights.
My "Sjaak to Betza" translator conceptually writes out the move options in terms of base vectors by finding the "best match" that doesn't add spurious moves (the fundamental leapers themselves are of course orthogonal vectors in this sense, but once you add things like fF and sW to the list this is of course no longer true). The difference of course is that for the images, it's ok if a piece is "a bit like a Ferz, except it also has this other property". When describing the exact way it moves you can't be that lax...