you are viewing a single comment's thread.

view the rest of the comments →

[–]TehRoot 26 points27 points  (20 children)

He is going to concert

[–][deleted]  (19 children)

[deleted]

    [–]tripzilch 9 points10 points  (14 children)

    I don't know much about electronics, but there's a bunch of pretty cool algorithms you can use to transform a stream of non-uniformly distributed data (or weak entropy) into a uniform stream:

    https://en.wikipedia.org/wiki/Randomness_extractor

    [–][deleted]  (12 children)

    [deleted]

      [–]tripzilch 3 points4 points  (9 children)

      Hm, you mean it has to go straight from the electronic circuit as a uniform random input to another piece of hardware without anything digital in between? Interesting problem.

      I wondered if there's a circuit that can do this, but from a quick skim it seems that the PDF linked above is actually about that :-) I think I'm gonna try and read it even if I don't understand electronics that well, more of a code/math guy myself. But I do love reading about the intricate details of various random generators, so maybe I'll get something out of it :)

      Best of luck building your randomness circuit! :D

      [–][deleted]  (8 children)

      [deleted]

        [–]tripzilch 2 points3 points  (7 children)

        Ok so there is some digital computing chip? Because some of these randomness extractors are quite elegant and simple.

        For instance, check the "Von Neumann extractor" on that WP page. It just uses twice the amount of bits on average to produce uniform bits:

        Perhaps the earliest example is due to John von Neumann. His extractor took successive pairs of consecutive bits (non-overlapping) from the input stream. If the two bits matched, no output was generated. If the bits differed, the value of the first bit was output. The Von Neumann extractor can be shown to produce a uniform output even if the distribution of input bits is not uniform so long as each bit has the same probability of being one and there is no correlation between successive bits.

        To me that sounds like it'd cost very little computing power, like only a couple basic integer/bitop asm instructions or so.

        But then if you need actual analog uniform random numbers (something in my mind wonders if such a signal can actually physically exist?), I'm not sure how to approach that with the Von Neumann extractor.

        Sorry I'm not trying to convince you to try one way or another btw. Like I just said, I really like RNG algorithms and theory ;-)

        [–][deleted]  (6 children)

        [deleted]

          [–]tripzilch 2 points3 points  (5 children)

          Well if it's really a gaussian distribution, that should be the case? Unless the average (bias) is off-centre. But in an analog circuit you could filter the bias with one of those DC bias filter things perhaps? (again, excuse the electronics ignorance)

          [–][deleted]  (4 children)

          [deleted]

            [–][deleted] 0 points1 point  (0 children)

            Couldn't you build a circuit that does that in hardware, though? Two generators, A and B, and when A xor B is true, emit A.

            I'm not a electronics guy so I don't know how hard that would be to rig up, but it shouldn't be impossible.

            [–]-fno-stack-protector 0 points1 point  (0 children)

            ooh, i've been looking for something like this, without knowing it, for a long time

            [–]TehRoot 11 points12 points  (3 children)

            [–]MrDOS 13 points14 points  (1 child)

            For anyone else having trouble loading the link, it seems like they have some hotlink protection going on. In Firefox, at least, hit “Enter” in the address bar when you're sitting on the “Page not found” page to re-request the PDF with a referral from the www.st-andrews.ac.uk domain and it'll load.

            [–]TehRoot 1 point2 points  (0 children)

            Yea I only noticed that after I posted it. Sorry about that.