In his most recent appearance on the 80,000 Hours podcast, Bryan Caplan gave the following argument in favor of libertarian free will:
One that I’m very tempted to — I know there’s a stock answer to this, although still I think that it’s a pretty good thought experiment — is, if the physics textbook is right, then you should be able to give me an exact prediction of exactly what I will do, unconditional. So you shouldn’t have to say, “I can only give you a conditional prediction” — you should be able to give me an unconditional prediction about whether I’m going to raise my arm in five seconds...
Now the thought experiment is to tell me that unconditional prediction — and you should be able to go and tell me the prediction in such a way that it incorporates all my reactions and secondary reactions and so on, all the way to infinity. And now guess what I’m going to do? I’m going to do the opposite of what you said I’m going to do. All right? Again, it’s not ironclad, and I know there’s a lot of people who say, no, no, no, feedback loops, and it doesn’t count. But it sure seems like if determinism was true, you should be able to give me unconditional predictions about what I’m going to do. And then intuitively, it seems like I could totally not do them.
At first I thought this argument was obviously misguided, because we can never do this for a simple program which takes in one bit as input and then prints its complement. There's no reason that in general a computable function must have a fixed point[1], so even if we know the source code of a program perfectly we may not be able to come up with a way in which to tell the program what to do in a way that results in the program following the behavior we said it would follow. However, the issue actually turns out to be more subtle than this.
Let's make this more formal. If we have a deterministic agent such that we tell the agent what we think it will do and then the agent takes an action conditional on that information, for the purposes of our little experiment we can abstract away from all other details and just represent the agent by a function from a space of actions to itself. If is just some discrete space then could just be an arbitrary fixed point-free permutation of , and there will be at least one such permutation so long as . Therefore it seems like the argument doesn't work: here we have a completely deterministic agent, and yet it's impossible for us to tell it what it will do in such a way that it does what we predicted in advance.
This is actually a standard problem in fixed point theory. Maps from discrete spaces to themselves can easily fail to have fixed points, much like how there's no deterministic or pure strategy Nash equilibrium of a rock-paper-scissors game. To find the equilibrium, we need to expand the class of actions we permit the agent to take.
Suppose that instead of working with a deterministic agent, we're working with a stochastic agent. The action space of the agent is now the space of probability distributions on , say . This is isomorphic to a simplex with vertices, so we can realize it as a convex subset of .
If we now imagine we give the agent a probability distribution over the actions it could take, we're in a situation where instead of a function we have a function . The agent reads the vector of probabilities we give it, and then decides on some probability distribution to sample its next action from.
Now the key observation: if is continuous, then Brouwer's fixed point theorem guarantees the existence of a fixed point! In other words, for stochastic agents who follow probability distributions that are continuous in the inputs they are given, we can always find a way to tell them what they will do in such a way that they will have to do what we said they would do. Of course, all of the work here is being done by the assumption that is continuous. Without this assumption the topological structure of the set becomes irrelevant so there's no way to do better than what we could already do for the deterministic case.
Fortunately for the argument, the assumption of continuity for is plausible in some real-world settings. For instance, if the agent were a quantum Turing machine that could take a wave-function as an input[2], we could communicate action probabilities to the agent by tuning the norms of the coefficients of the input wave-function in a canonical basis. In this case it's easy to see from the properties of quantum mechanics that the agent would necessarily represent a continuous function and the invocation of Brouwer's fixed point theorem would therefore be valid.
If we take Caplan's argument seriously, there might be a real "test" of libertarian free will here. More precisely, it's a test that the input-output relation represented by the agent should be continuous as I've formalized it here. I think this is interesting because our understanding of physics seems to exclude effects that are truly discontinuous. For example, real-world transistors have resistance that depends continuously on the gate voltage, contrary to idealized models of transistors that people sometimes work with in textbooks.
In contrast, I think almost all proponents of libertarian free will would agree that their position predicts that an agent with such free will, such as a human, could always just choose to not do as they are told. If the distribution they are given looks like it's roughly uniform they can deterministically pick one action, and if it looks like it's very far from uniform they can just make a choice uniformly at random. The crux is that the function this defines can't be continuous, so I believe this forces advocates of libertarian free will to the position that agents with free will must represent discontinuous input-output relations.
This seems like it should be testable in theory, though in practice we may be blocked from testing it right now by our lack of understanding of how humans actually work. If libertarian free will advocates accept this framing of the problem, this hypothetical experiment might actually be a way to convince them to change their minds.
Sometimes people define a "fixed point" of a total computable function by saying that it's some such that and represent the same partial recursive function in some admissible numbering. Here I actually want , which is a stronger condition and obviously there are computable functions which admit no such . ↩︎
Some sources define quantum Turing machines to have discrete inputs and outputs, but allow arbitrary vectors in a Hilbert space on the tape and the states of the Turing machine, i.e. during the "internal computation". This makes it infeasible to give continuously varying inputs to the QTM and is also physically unrealistic, so I don't follow that approach here. ↩︎
I see a gap in the argument at the point where you "give" the agent a probability distribution, and it "gets" from that a probability distribution to use to make its choice. A probability distribution is an infinite object, in this case an assignment of a real number to each element of A. You can only give such a thing to a finite automaton by streaming it as a string of bits that progressively give more and more information about the distribution, approaching it in the limit. The automation must calculate from this a stream of bits that similarly represent its probability distribution, each bit of output depending on only a finite part of the input. However, it cannot use the distribution to calculate its action until it has the exact values, which it never will. (That is generally true even if the automaton is not calculating based on an input distribution. In practice, of course, one just uses the computer's IEEE 754 "reals" and hopes the result will be close enough. But that will not do for Mathematics.)
If it is going to repeatedly choose actions from the same distribution, then I imagine there may be ways for it to sample from increasingly good finite approximations to the distribution in such a way that as it approximates it more and more precisely, it can correct earlier errors by e.g. sampling an action with a little higher probability than the distribution specifies, to correct for too low an approximation used earlier. But for a single choice, a finite automaton cannot sample from a probability distribution specified as a set of real numbers, unless you allow it a tolerance of some sort.
Furthermore, to do these calculations, some representation of the real numbers must be used that makes the operations computable. The operations must be continuous functions, because all computable functions on real numbers are continuous. This generally means using an ambiguous representation of the reals, that gives more than one representation to most real numbers. Each real is represented by an infinite string drawn from some finite alphabet of "digits". However, the topology on the space of digit-strings in this context has to be the one whose open sets are all the strings sharing any given finite prefix. These are also the closed sets, making the space totally disconnected. Brouwer's fixed point theorem therefore does not apply. There are trivial examples of continuous functions without fixed points, e.g. permute the set of digits. Such a function may not correspond to any function on the reals, because multiple representations of the same real number might be mapped to representations of different real numbers.
I think this is actually not as serious of a problem as you make it out to be, for various reasons.
Finite automatons don't actually exist in the real world. This was my whole point about (for example) transistors not actually working as binary on/off switches. In the real world there are ways to give agents access to real numbers, just with some measurement error both on the part of the forecaster and on the part of the agent reading the input. The setup of giving a wave-function input to a QTM is where this works best: you can't get the squared norms of t... (read more)