in reply to Re: Boolean math: Fill in the blanks.
in thread Boolean math: Fill in the blanks.

Conclusion: ... I see some inconsistent results ... 7 of ( R & R | R & R ) & R evaluates to 5 bits set on average.

If you plug ( R & R | R & R ) & R into the OP code and run it a few times, you'll see that the average does approximate 7:

C:\test>booleanBuk -N=1e2 7.02 C:\test>booleanBuk -N=1e2 6.88 C:\test>booleanBuk -N=1e2 7.06 C:\test>booleanBuk -N=1e2 7.06 C:\test>booleanBuk -N=1e2 6.92 C:\test>booleanBuk -N=1e2 7.08

And as you increase the number of iterations, the more closely the observations coincide with the theoretical value:

C:\test>booleanBuk -N=1e5 7.00138 C:\test>booleanBuk -N=1e5 6.98986 C:\test>booleanBuk -N=1e5 6.99812 C:\test>booleanBuk -N=1e5 7.00729 C:\test>booleanBuk -N=1e6 6.994402 C:\test>booleanBuk -N=1e6 7.002038

That's how I like my proofs. Tangible :)

Sorry if I have misunderstood your hypothesis.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
"Too many [] have been sedated by an oppressive environment of political correctness and risk aversion."

Replies are listed 'Best First'.
Re^3: Boolean math: Fill in the blanks.
by repellent (Priest) on Oct 12, 2008 at 16:54 UTC
    But plug in
      (( R & R ) | R ) & R & R

    into the OP code and it tends towards 5, which was how I was interpreting the expression:
      ( R & R | R & R ) & R

    My mistake. Perl evaluates ( R & R | R & R ) & R as ( (R & R) | (R & R) ) & R and that, according to my hypothesis, results in 7 bits set on average.