Benford's Law
en.wikipedia.org
en.wikipedia.org
Bits are a local and transistor dominated function. Carry chains are non-local and interconnect dominated function.
As an example I can twizzle between adding 0 to 0 and 0 to 1 all day long with very little power. If however I start adding 65535 to 0 and 65535 to 1, I'm going to start activating enormous amount of power.
With carry-bypass or carry-lookahead you have a time of the square root of the width and the costs are both proportional to the width, a constant factor larger than with a ripple adder. These are the ones used in most higher performance CPUs, or were back in 2007 when I thesing. You have some long lines here but never more than square root width and a small number compared to the number of transistors.
With tree adders you can add numbers in time proportional to the log of the width, costing a number of gates that grows as the square of the width. Now, if you assume that the inputs are all equally likely to be ones or zeros with no correlations then carry chains aren't likely to propagate very far up the tree. But as you point out if you happen to have an addition that creates a long carry chain then you'll end up switching most of the gates and using a lot of power. One of the things in my thesis that was actually practically useful was showing that you do frequently get long carry chains on real data meaning that the naive approach of counting gates works better for analyzing tree adders than trying to derive activity factors from simplified models of the inputs. These ones also have particularly long lines that have to be switched for long carry chains, and lots of them.
I got my data from using this tool Intel puts out to instrument binaries like, say, 'ls' or 'mozilla' and reading out the inputs for every use of the adder. Well, random stretches of 100 uses anyways for the browser, otherwise I wouldn't have been able to store enough data.
The paper has been used extensively by critics of the election as a proof of fraud. But they haven't been able to prove fraud any other way. The paper was never meant to be used as a strong proof of anything, it was mostly exploratory.
I think so. From the wikipedia article...
> Benford's law tends to apply most accurately to data that are distributed uniformly across several orders of magnitude.
In this case they are using the second-digit Benford's law. Which just makes it more mysterious. At least to me.
Does that mean Benford doesn't work for counting things like votes or people?
This site tests Benford's Law on 30 different public datasets.
http://testingbenfordslaw.com/mexico-population-by-county
Looks to me like Benford works just fine for tally-type data like votes and populations.
Follow the links in the bit you quoted. It means numbers that are represented in a particular way, not those that represent the number of a particular thing.
Given the relative ease with which it could be calculated and analysed, it essentially became the first thing that they'd do once they'd got hold of the books. They'd do a quick analysis of the numbers, look at the distribution, and then use the outcome to give hints at where something unusual was going on. In his experience some 70-75% of the time, if Benford's law suggested something was odd, it was actually odd.
What I am trying to say is that the Benford distribution is very useful, but it is not a definite proof of anything. It can point you to where you should dig deeper.
For more info about the 2004 Venezuela fraudulent election see: http://esdata.info/pdf/medina-es.pdf (Spanish) http://esdata.info/papers
Here it is:
The only time I've heard people talking about using Benford's law to detect anomalies was in the context of election fraud. This is much more exciting and practical.
After explaining this discovery to my manager, I also explained how Benford’s law could be used to detect fraud in his corporate travel expenses. He seemed more interested in that application.....
Benford was using a book of such tables (even random numbers came in books, in those days) and noticed that some pages of the book were much more dog-eared than others. That led him to wonder why those particular pages were being used more than others. He discovered that it correlated with the first digit of the numbers. Pages starting numbers with low digits were used more often than pages starting with higher digits.
But a quick calculation makes it look like powers of two don't satisfy Benford's law, For example the first power of 2 which begins with 7 is 2^46, and the first power of 2 which begins with 9 is 2^53. This takes so long, roughly speaking, because 2^10 = 1024 is so close to a power of ten.
(frequencies
(take 100
(map #(first (str (first %)))
(iterate (fn [[x y]] [y (+' x y)]) [0 1]))))
=> {\0 1, \1 30, \2 18, \3 12, \4 9, \5 8, \6 6, \7 5, \8 7, \9 4}
i.e. Yup, Fibonacci up to 100, 30% start with 1, 18% start with 2. not the multi-million dollar fraud I was hoping to find.
Why were you hoping to find this?EDIT: Ok, ignore. Article mentioned it.
>Distributions that would not be expected to obey Benford's Law
> ...
>Where numbers are influenced by human thought: e.g. prices set by psychological thresholds ($1.99)
Fraud?