> Penney's game, named after its inventor Walter Penney, is a binary (head/tail) sequence generating game between two players. At the start of the game, the two players agree on the length of the sequences to be generated.
> This length is usually taken to be three, but can be any larger number.
> Player A then selects a sequence of heads and tails of the required length, and shows this sequence to player B. Player B then selects another sequence of heads and tails of the same length. Subsequently, a fair coin is tossed until either player A's or player B's sequence appears as a consecutive subsequence of the coin toss outcomes. The player whose sequence appears first wins.
> Provided sequences of at least length three are used, the second player (B) has an edge over the starting player (A). This is because the game is nontransitive such that for any given sequence of length three or longer one can find another sequence that has higher probability of occurring first.
Essentially, this defines a homomorphic pairing function for the integers. A Gaussian integer can be seen as the pair (a, b) where a and b are integers. This assigns a unique natural number to each one.
One can use this to show that pairs of integers have the same cardinality as natural numbers.
Further, since one can sum the binary representations of two numbers and get the representation of the result, this is homomorphic under addition. I have never before seen a pairing function with that property (not that I have seen many).
in any case this is really clever. the norm-squared of 1+i in the Gaussian integers is (1+i)(1-i) = 1 + 1 = 2. the norm is sqrt(2).
The o's are "even" in this binary system and the x's are "odd"
I wonder then how "carries" work in this binary system?
> why was this classified??
It wasn't, it isn't clear to me what it even has to do with NSA. It was published in Journal of the ACM, Volume 12, 1965: http://dl.acm.org/citation.cfm?doid=321264.321274.
If scalar numbers could be called "1D", then could these `a + bi` numbers be called "2D"? ie, an ordered pair? ie, a vector?
IFF I'm understanding the above correctly, I have a question: does encoding scheme described in this system let you add/subtract vectors using the fast integer hardware in CPUs?
Vector operations are already possible in hardware using the fast, well, vector hardware in the cpu.
And ime the speed up from using integers is minor and often not the cost from conversion (to e.g 28.4 fixed or similar), since you often need floats in the end.
Traditionally, complex numbers are on a 2D plane, yes. However, this method uses a subset of complex numbers strung out linearly. Conceptually, the visualization of Cantor's diagonalization argument is similar.
Perhaps the theoretical idea of an `a + bi` number could be called 2D. However, this particular implementation, anyway, only represents scalar values (every number is just a binary string).
It’s too bad there’s no analysis here of the comparative cost (in terms of logic gates or whatever) between this system and a conventional pair-of-numbers representation, for various operations (e.g. addition, multiplication, negation, multiplicative inversion, trigonometric functions, ...).
My suspicion is that this kind of thing wouldn’t have enough savings to be worthwhile except for very specialized problems, but it’s hard to guess without seeing someone try. It would be a fun thing to play with for a high school student with a bit of free time.
This was published in JACM Volume 12, 1965: http://dl.acm.org/citation.cfm?doid=321264.321274. So for it to be unclassified it would have to somehow have been classified after being publicy published.
I think you are confusing 'unclassified' and 'declassified': declassified means that it was previously (but no longer) classified; unclassified means that it is not classified.
Yeah, I think I (as well as other users) got confused by it being "unclassified in 2011" as the title said previously.