18.34, Monday 6 Dec 2004

More finger counting [previously]: RavenBlack suggests [in email] fingercounting like this: Based on the binary method, give each finger four positions (combine on/off the table, and straight/curled), and then tap away. Ignore the little fingers, because they're hard to control, and you can get up to 65,535. Nice one, and way better than 3,124. I'm not convinced I'm dextrous enough but will have to practice. [Oop, I misunderstood RavenBlack's mail, he wouldn't require a table as it's a positional system. Better.]

Andy Losowsky points out an Ancient Chinese counting method that reaches 99,999 (you count in base 10 on 5 fingers), and some intriguing other nuggets [how Bede counted, how the methods infiltrate language]. Go read. A new word too, dactylonomy, for the art of counting on the fingers.

For me there's a sweetspot between being able to count very high and being able to keep your place when you're being distracted and knocked around, when you're on the bus or something. The Chinese method doesn't cut it, I think, you're too likely to think "hang on, did I mean to put my finger there?" and lose count. I don't mind complexity - actually, I like it - but you need to be able to look down and figure out where you are, with certainty, from the position of your hands. That's why I think a different approach is needed. This may be a overlapping cycles approach, but I don't entirely understand. I wonder whether there might be lessons in the Incan calendar and quipus. Maybe in the art of making abacusses? There's something about having two relatively simple sequences that, when coupled, make complex patterns. So long as you can count quickly, I'm happy to have the act of translating a total out of the finger pattern be a somewhat more costly exercise.

Later: If I want a number to be totally represented by the position of my fingers, then I estimate the absolute top limit on this to be 10 billion, or around that order of magnitude. That's the maximum number of states that can be represented by my fingers, assuming 10 states per dimension, and 10 dimensions (10 fingers, 10 points per finger). That's assuming no physical limits on, say, the stretchiness of my fingers, or limits on the complexity of the algorithm, or robustness to mistakes. What it comes down to is: if I need to look down at any point and read the number off, each state has to represent one number. All we're debating now is how to traverse the state space for as long as possible before one of these limits is reached, and that traversal could be bases, or cycles, or whatever.

(I was considering counting my five fingers in steps of 1, 2, 3 and so on. Then each finger has multiple values depending on (a) what the step size is; and, (b) what order it is in the sequence of steps before the sequence loops. My little finger would be "5" at a step size of 1, and "3" at a step size of 3. But then you need a way of encoding the step size into the physical arrangement of the figures, which means it's part of the state space, which means it's just another way of cutting up the state space to traverse it. So although it might get me closer that 10 billion figure, it won't break out of it.)

The question becomes (because finding out the traversal system is an implementation detail): what's the minimum change in the rules of the game to, I don't know, square the size of the state space? Do I need a counting thimble? Or should counting only exist in a dynamic way, each of the fingers having a vector? Or maybe ten dimensions of ten positions isn't the most efficient way of doing it--could the relative positions of my knuckles (left/right, up/down from one-another) be used too?

Follow-up posts: