This sounds like something from the same family as hyperloglog
Wikipedia traces that back to the Flajolet–Martin algorithm in 1984. When would typo have been written?
This sounds like something from the same family as hyperloglog
Wikipedia traces that back to the Flajolet–Martin algorithm in 1984. When would typo have been written?
Sounds like it's just doing something like replacing `counter++` with `if(rand() % counter == 0) counter++`, so that the counter will increase slower and slower the larger it gets.
Unix V5 was released mid '70s, but as others have pointed out, counting is different from count distinct.
If you count 5 "abc" and 5 "xyz" in a counting bloom filter, it will always say you had 10 events, but might say they were 10 of the same event.
If you count the same in Morris's structure, it will never confuse the two different sets, but might say one occurred 4 times and the other 8.
Of course, that means you can combine the two, for the benefits and downsides of both - storing very high (and inaccurate) counts of very sparse (and maybe misattributed) event sets.