Live data from Hacker News

Test your “free will” at the Aaronson Oracle

people.ischool.berkeley.edu

161–170 of 240 posts

Re: Test your “free will” at the Aaronson Oracle

#162
post #96

Earlier quoted context omitted.

To most people, "how predictable you are" and "whether you have free will" are almost the same question.

Well, those people are wrong I'd say. Being quite unpredictable just means that you do a lot of random things -- but says nothing about how you came to will them. If someone, for example, was threatened and ordered to follow for years what a program with millions of suggestions told him to do, he would be very unpredictable, but totally without free will. And the inverse: one could choose to do the same routine all h…

Fair enough, but was only speaking to the "clickbait" charge, by arguing that it's not misleading to characterize this as test of "free will" in the typical usage of the term.

But yeah, it's not the same as being unpredictable: that would look like seizures, not "gosh which ice cream flavor will he pick?:

Re: Test your “free will” at the Aaronson Oracle

#163
post #65

When I was little (and had too much free time) I memorized many digits of some transcendental numbers. The only (semi)practical use I've found for that knowledge, is that I can use it as a reasonably good pseudorandom stream. If for some reason I have to choose things pseudorandomly. Pick an arbitrary starting point in pi, and press 'd' for even digits and 'f' for odd digits, I get around 0.49 accuracy with this orac…

You don't need a transcendental number; simple counting has perfect entropy: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000... (Granted, that is a transcendental number -- the Champernowne constant for base 2 -- but there's no real need to think of it that way.)

This sequence seems to settle right around 50%:

  var simulateKeyPress = function(character) {
    var evt = document.createEvent("KeyboardEvent");
    evt.initKeyEvent ("keypress", true, true, window,
                      0, 0, 0, 0,
                      0, character.charCodeAt(0)) 
    document.body.dispatchEvent(evt);
  };
  
  var num = 0;
  var loop = function() {
    console.log(num);
    var binary = num.toString(2);
    num++;
    for(var i = 0, len = binary.length; i 

Re: Test your “free will” at the Aaronson Oracle

#164
post #156

Earlier quoted context omitted.

You don't need a transcendental number; simple counting has perfect entropy: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000... (Granted, that is a transcendental number -- the Champernowne constant for base 2 -- but there's no real need to think of it that way.)

I wrote a program that counts but only appends the sequence if the binary sequence isn't already there.

> but only appends the sequence if the binary sequence isn't already there

Why?

Re: Test your “free will” at the Aaronson Oracle

#165

You can use its own output against it. (Which means, ironically, it does not follow "know thyself", a maxim said to be from the Oracle at Delphi.) Fixate on a number fairly late in the sequence (the millionths place seems to work well). If that number is 5-9, push 'f'. Otherwise, push 'd'. Keeps it pretty consistently around 0.5.

A less efficient method I used was; press a key until the probability jumps up, then switch keys (probability will go down, mostly) until it goes up again. Rinse/repeat.

Re: Test your “free will” at the Aaronson Oracle

#167
post #113

Earlier quoted context omitted.

Can't you invoke a simpler random generator? Let's say primes % 4 ?

Do you have any references on the statistical properties of the primes % 4 sequence? When converted to coin flips, primes % 4 fails the statistical randomness tests at http://faculty.rhodes.edu/wetzel/random/mainbody.html See results at http://imgur.com/iaHBNNr ("Your nth attempt" is primes % 4, "Coin nth attempt" is the Marsaglia PRNG). Note that primes % 4 has too many runs, its prob(H given H) is too low, and its…

It was meant to be read a question, not statement ("are you aware of a simpler PRNG I could pull from the top of my head, using basic arithmetics?").

Maybe a collatz sequence?

You're right, apparently it's called Chebyshev's bias.

Re: Test your “free will” at the Aaronson Oracle

#168
post #157

This sequence gives a score of 0: f f f f f f d f f f f f f d d f f f f d f d f f f d f f d f f f f f f d d d f f f d d f d f f d d f f d f d d f f f f d f d f d f f f d f f d f f f f f f d d d d f f d d d f d f d d d f f f d d f d d f d f f d d f f d f d d f f f f d f d f d f f f d f f d f f f f f f d d d d d f d d d d f f d d d f d f d d d f f f d d f d d f d f f d d f f d f d d f f f f d f d f d f f f d f f d f f…

Explain?

Re: Test your “free will” at the Aaronson Oracle

#169
post #43

Earlier quoted context omitted.

I'm guessing this: http://en.akinator.com/

I have been having way too much fun with this, but it really goes off the rails sometimes. I am currently in a stream where the correct answer is "Ambrose Bunside". It asked me if my character has been dead for more than 100 years, then two questions later asked me if my character uses musical.ly. :/

I feel like it sometimes just wastes questions near the end when it's already narrowed the possibilities down. Maybe that's even on purpose, for showy effect.

After all, it's pretty impressive when it appears to correctly get Frank Sinatra out of "does your character play video games for a living."

Re: Test your “free will” at the Aaronson Oracle

#170
post #163

Earlier quoted context omitted.

You don't need a transcendental number; simple counting has perfect entropy: 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000... (Granted, that is a transcendental number -- the Champernowne constant for base 2 -- but there's no real need to think of it that way.)

This sequence seems to settle right around 50%: var simulateKeyPress = function(character) { var evt = document.createEvent("KeyboardEvent"); evt.initKeyEvent ("keypress", true, true, window, 0, 0, 0, 0, 0, character.charCodeAt(0)) document.body.dispatchEvent(evt); }; var num = 0; var loop = function() { console.log(num); var binary = num.toString(2); num++; for(var i = 0, len = binary.length; i

It might sound weird, but I actually found that more readable as three lines of code. :/
Post reply on HN