WEBVTT

NOTE Central Planning's Computation Problem

1
00:00:00.000 --> 00:00:04.800
In the paper that I'd like to present, I call Central Planning's computation problem, or perhaps more whimsically,

2
00:00:04.800 --> 00:00:07.800
Sorry Jacques, computers can't run an economy.

3
00:00:07.800 --> 00:00:10.800
My inspiration really comes from four sources.

4
00:00:10.800 --> 00:00:13.400
Two of those would be the great Mises and Hayek.

5
00:00:13.400 --> 00:00:17.000
The other two would be the much less great Venus project.

6
00:00:17.000 --> 00:00:21.000
It's a vision by Jacques Fresco of how we can run an economy without money.

7
00:00:21.000 --> 00:00:22.600
I'll give more detail later on.

8
00:00:22.600 --> 00:00:26.000
And the fourth being my experiences with MATLAB.

9
00:00:26.000 --> 00:00:35.500
It's something of a love-but-mostly-hate relationship that I have with Matlab, which is more or less a glorified calculator that you can use to solve computational problems.

10
00:00:35.500 --> 00:00:43.000
The Venus Project's vision for how we should run society, they imagine we have a computer-run, resource-based economy.

11
00:00:43.000 --> 00:00:49.000
This is what we should shoot for, they claim, where consumers just enter what they want into terminals they have there in their homes.

12
00:00:49.000 --> 00:00:53.760
systems. Computers then arrange delivery to some local pickup location. If production

13
00:00:53.760 --> 00:00:58.440
is necessary, computers arrange that as well. There's no money in the system, there are

14
00:00:58.440 --> 00:01:04.920
no profits, and therefore there is no corruption. It's their claim, not mine. Now essentially

15
00:01:04.920 --> 00:01:09.320
we'll notice this is really a form of central planning just run by computers. After all,

16
00:01:09.320 --> 00:01:13.720
it's perfectly possible that people are going to enter things that they want and will have

17
00:01:13.720 --> 00:01:19.080
have conflicting desires, so the computers will have to figure out who gets what.

18
00:01:19.080 --> 00:01:23.720
That means we're going to run into the standard problems that central planning runs into.

19
00:01:23.720 --> 00:01:28.640
Information problems that Hayek points out, calculation problems that Mises points out.

20
00:01:28.640 --> 00:01:32.920
Unfortunately, when you try to tell the Venus Project people that they run into these problems,

21
00:01:32.920 --> 00:01:35.000
they have dodges already prepared.

22
00:01:35.000 --> 00:01:39.160
First, against the information problem, they say, well, computers are just so good, they're

23
00:01:39.160 --> 00:01:43.080
They're going to track all the information, transfer it instantaneously, no problem at

24
00:01:43.080 --> 00:01:44.080
all.

25
00:01:44.080 --> 00:01:48.560
For the calculation problem, they say, well, it's easy, we just have experts, our experts

26
00:01:48.560 --> 00:01:53.000
decide the best way to produce everything, no problem whatsoever.

27
00:01:53.000 --> 00:01:57.400
And naturally we recognize these are dodges, not answers, but it suggested to me that maybe

28
00:01:57.400 --> 00:02:00.880
there are other problems that also might show up that might be more convincing that they

29
00:02:00.880 --> 00:02:03.940
don't have prepared answers for.

30
00:02:03.940 --> 00:02:05.520
So I thought of the computational problem.

31
00:02:05.520 --> 00:02:12.520
Some of my background, when I was working on my dissertation, I was using computational models to solve an inventory problem.

32
00:02:12.520 --> 00:02:14.520
This involved lots of time with MATLAB.

33
00:02:14.520 --> 00:02:17.520
This is a very simplified model.

34
00:02:17.520 --> 00:02:23.520
Homogeneous households, homogeneous labor, just labor in the abstract to use a Marxist term,

35
00:02:23.520 --> 00:02:28.520
two stages of production, just two types of capital, it's very, very simple compared to a real economy.

36
00:02:28.520 --> 00:02:33.520
The only complications are that when we invest in capital, we're forward-looking,

37
00:02:33.520 --> 00:02:39.240
looking, we have different firms hold different levels of inventories, and we have delivery

38
00:02:39.240 --> 00:02:44.120
costs for these goods we hold in inventory. Those are the only complications in this model.

39
00:02:44.120 --> 00:02:48.800
Yet, despite those being the only complications, it took two weeks for MATLAB to converge on

40
00:02:48.800 --> 00:02:55.620
a solution. Maybe there's a time problem here with trying to use computers to solve a problem.

41
00:02:55.620 --> 00:03:00.220
And that's after I corrected a small programming error. Actually, I hear the story is circulating

42
00:03:00.220 --> 00:03:02.620
about this thing running for months, that's true.

43
00:03:02.620 --> 00:03:05.300
That's because I'm not the best programmer in the world.

44
00:03:05.300 --> 00:03:08.900
Once I fixed that problem, it still took two weeks.

45
00:03:08.900 --> 00:03:10.680
So the lesson being that computers

46
00:03:10.680 --> 00:03:13.180
are bad at solving certain types of problems.

47
00:03:13.180 --> 00:03:14.820
And it so happens those problems are

48
00:03:14.820 --> 00:03:17.820
the kind that show up in the economy all the time.

49
00:03:17.820 --> 00:03:19.260
In this case, it was delivery costs

50
00:03:19.260 --> 00:03:22.020
that really made this process extremely slow

51
00:03:22.020 --> 00:03:24.540
from the computational standpoint.

52
00:03:24.540 --> 00:03:27.380
So the computation problem, just to present it,

53
00:03:27.380 --> 00:03:30.020
I'm going to make a number of unreasonable assumptions.

54
00:03:30.020 --> 00:03:31.700
I recognize these are unreasonable,

55
00:03:31.700 --> 00:03:35.280
so don't rake me over the coals for those.

56
00:03:35.280 --> 00:03:37.260
I just want to make computation possible

57
00:03:37.260 --> 00:03:39.420
and as easy as possible for the computer.

58
00:03:39.420 --> 00:03:41.960
We don't wanna make it too hard, too fast.

59
00:03:41.960 --> 00:03:43.240
Let's make it as easy as possible

60
00:03:43.240 --> 00:03:44.500
and see what it's gonna take

61
00:03:44.500 --> 00:03:46.580
for the computer to solve the problem.

62
00:03:46.580 --> 00:03:48.860
At the same time, I want to hold to a small number

63
00:03:48.860 --> 00:03:51.580
of touchstones with reality.

64
00:03:51.580 --> 00:03:52.780
The end result, though, is going to be

65
00:03:52.780 --> 00:03:54.780
the computers are just too slow

66
00:03:54.780 --> 00:03:56.720
to run a consumer-oriented economy.

67
00:03:56.720 --> 00:04:02.720
My unreasonable assumptions. First, we have a benevolent omniscient computer.

68
00:04:02.720 --> 00:04:05.720
Any fan of science fiction knows that this is obviously false.

69
00:04:05.720 --> 00:04:08.720
Any computer that comes close to omniscient is never benevolent.

70
00:04:08.720 --> 00:04:12.720
It always turns against humanity.

71
00:04:12.720 --> 00:04:17.720
Setting that aside, let's assume the computer is in fact interested in satisfying our preferences

72
00:04:17.720 --> 00:04:20.720
and that it does actually know all the available resources.

73
00:04:20.720 --> 00:04:25.720
Computers have solved the information problem and want to actually satisfy our preferences.

74
00:04:25.720 --> 00:04:31.240
Preferences. I'm going to assume, moving away from science, back toward fiction, that

75
00:04:31.240 --> 00:04:35.840
preferences have a cardinal utility function representation. All that really means is I

76
00:04:35.840 --> 00:04:40.720
want the computer to actually solve a mathematical equation, so I have to give it an equation

77
00:04:40.720 --> 00:04:47.000
to solve. So I'm assuming a cardinal utility functions, specifically a quadratic form just

78
00:04:47.000 --> 00:04:50.800
because that makes it as easy as possible for the computer to solve the problem. If

79
00:04:50.800 --> 00:04:54.360
we go to anything more complicated, it's going to be slower. So let's make it as easy

80
00:04:54.360 --> 00:05:09.360
I also have to assume that interpersonal comparisons of utility are okay. If I have to figure out whether Bob or Jerry is going to get this root beer, I have to be able to know what's the effect on utility for each of these, and be able to compare across them.

81
00:05:09.360 --> 00:05:22.360
I'm also going to assume away from all production. Production is really, really ugly computationally, so we're just going to assume it away. Say we just have the set of goods, the number of different goods, we're just figuring out who gets what and how much.

82
00:05:22.360 --> 00:05:30.360
Production also is inherently dynamic. That makes it even worse. We need certain inputs at certain times. That makes it very, very difficult to solve.

83
00:05:30.360 --> 00:05:38.360
Just three touchstones with reality. First, heterogeneous preferences. Different people actually want different things.

84
00:05:38.360 --> 00:05:46.360
For example, some people have gluten allergies, some people love bread. We want to make sure we get bread to the right people.

85
00:05:46.360 --> 00:05:56.360
We also have heterogeneous consumer goods. I care very much whether you have just given me a pair of shoes or a belt. These serve different purposes, so I'll keep those heterogeneous as well.

86
00:05:56.360 --> 00:06:04.360
Finally, I'm going to assume that we're limited to the current supercomputer processing power of the top 500 supercomputers in the world.

87
00:06:04.360 --> 00:06:13.360
Now, this may not really be reality. Would they let me use all of the top 500 supercomputers to solve the problem? Probably not, but this is a limitation.

88
00:06:13.360 --> 00:06:17.360
We're not going to get any more than that, certainly.

89
00:06:17.360 --> 00:06:21.360
My method, I'm not going to go into too much detail, it's not particularly interesting,

90
00:06:21.360 --> 00:06:25.360
but basically the computer runs a maximization routine

91
00:06:25.360 --> 00:06:29.360
to figure out how to distribute this set of goods. This really boils down to

92
00:06:29.360 --> 00:06:33.360
solving a system of linear equations. Now, just as a note,

93
00:06:33.360 --> 00:06:37.360
solving systems of linear equations are what computers are good at. Give them anything

94
00:06:37.360 --> 00:06:41.360
non-linear, they hate it, they slow down, give it to them in a linear form,

95
00:06:41.360 --> 00:06:45.240
and they can actually solve it and do so relatively efficiently.

96
00:06:45.240 --> 00:06:48.640
Relatively efficiently compared to other methods.

97
00:06:48.640 --> 00:06:53.480
Now, the number of equations is going to depend on the number of people and the number of goods.

98
00:06:53.480 --> 00:06:57.640
Now, how we can interpret these processing times I'm going to talk about here in a couple slides,

99
00:06:57.640 --> 00:07:03.040
we can really think of this as when we need to start the computation

100
00:07:03.040 --> 00:07:05.880
if we want to solve the problem at a particular point in time.

101
00:07:05.880 --> 00:07:08.880
So, I know it's going to take 10 minutes to solve the problem.

102
00:07:08.880 --> 00:07:12.400
I want to make sure that I start solving the problem 10 minutes before the problem actually

103
00:07:12.400 --> 00:07:17.020
arises so I get the solution at the right point in time.

104
00:07:17.020 --> 00:07:19.360
So here we can actually see a parallel.

105
00:07:19.360 --> 00:07:23.520
Entrepreneurs have to foresee needs before they arise because you have to have time to

106
00:07:23.520 --> 00:07:24.820
produce.

107
00:07:24.820 --> 00:07:27.520
So we need to foresee the need before it arises.

108
00:07:27.520 --> 00:07:31.260
We also need, apparently here, an entrepreneurial computer that can foresee the need before

109
00:07:31.260 --> 00:07:37.440
it arises just so it has time to compute what the solution to the problem is.

110
00:07:37.440 --> 00:07:41.580
Just as an example, a very small problem. Suppose we have a hundred people and a thousand

111
00:07:41.580 --> 00:07:46.920
different goods, trying to figure out who gets what. By the top 500 supercomputers,

112
00:07:46.920 --> 00:07:51.760
that takes about 11 seconds to solve. That's not too bad, right? We could even wait until

113
00:07:51.760 --> 00:07:54.800
we find out what these needs are and what goods are available and people will walk away

114
00:07:54.800 --> 00:08:00.480
not too dissatisfied. If I wait 11 seconds in a line at a store, that's pretty good,

115
00:08:00.480 --> 00:08:05.680
right? But then when we scale the problem up, the problem is that computation time increases

116
00:08:05.680 --> 00:08:08.680
This is very, very quickly as the problem grows in size.

117
00:08:08.680 --> 00:08:12.680
So, suppose we have 300 million people, a little bit less than is in the US.

118
00:08:12.680 --> 00:08:15.680
Suppose we just have 100 different goods.

119
00:08:15.680 --> 00:08:19.680
Now, if you go to the bookstore downstairs, you'll see more than 100 different goods for sale here,

120
00:08:19.680 --> 00:08:23.680
so that's assuming way, way less than is actually true.

121
00:08:23.680 --> 00:08:26.680
But keep it simple. Let the computer solve the problem.

122
00:08:26.680 --> 00:08:28.680
And how long does it take?

123
00:08:28.680 --> 00:08:32.680
Just 9.7 million years.

124
00:08:32.680 --> 00:08:35.680
Okay, so let's build a timeline. What does this look like?

125
00:08:35.680 --> 00:08:38.680
Well, here we are, 9.7 million years ago, all the way on the left.

126
00:08:38.680 --> 00:08:42.680
We start computation. Here in the present, we complete it.

127
00:08:42.680 --> 00:08:46.680
In the meantime, about six million years ago, the Himalayas begin to rise.

128
00:08:46.680 --> 00:08:50.680
They're no longer the plains of Nepal. They're now the foothills.

129
00:08:50.680 --> 00:08:53.680
About two and a half million years ago, the homogenous appears.

130
00:08:53.680 --> 00:08:57.680
It takes longer for Homo sapiens to appear. I think that's roughly 50,000 years ago, right?

131
00:08:57.680 --> 00:09:00.680
I think we see the problem, right?

132
00:09:00.680 --> 00:09:12.680
We need a computer that pre-exists humanity by 20, 200 times, roughly, in order to solve the problem for the U.S. today with far, far fewer goods than actually exist.

133
00:09:12.680 --> 00:09:15.680
That's even ignoring production, once again.

134
00:09:15.680 --> 00:09:19.680
Now let's scale it up some more, to a more realistic global problem.

135
00:09:19.680 --> 00:09:25.680
After all, the Venus Project, what they really want to do, they want all the globe's resources to be available for what they're doing.

136
00:09:25.680 --> 00:09:27.680
They want to serve all of the world's people.

137
00:09:27.680 --> 00:09:32.680
So, it's only fair to scale this up to the problem they want to solve.

138
00:09:32.680 --> 00:09:37.680
So, suppose 6 billion people, and I know I'm ignoring a billion, but oh well.

139
00:09:37.680 --> 00:09:42.680
So, just 6 billion people, 80,000 goods. 80,000 was not arbitrary.

140
00:09:42.680 --> 00:09:45.680
That's the number that we track for the consumer price index.

141
00:09:45.680 --> 00:09:48.680
So, naturally it's also underestimating.

142
00:09:48.680 --> 00:09:52.680
The average grocery store actually has about 40,000 goods in it.

143
00:09:52.680 --> 00:09:54.680
So, 80,000 is not too, too bad.

144
00:09:54.680 --> 00:09:57.980
6 billion people, 80,000 goods. How long does it take to solve?

145
00:09:57.980 --> 00:10:01.220
It takes 39.7 quintillion years.

146
00:10:01.220 --> 00:10:06.120
If you're like me, you're not clear what a quintillion is.

147
00:10:06.120 --> 00:10:10.880
Macroeconomists, we deal with trillions on a regular basis. That's natural.

148
00:10:10.880 --> 00:10:15.360
Quintillions are not. It's 39.7 billion billion years.

149
00:10:15.360 --> 00:10:18.760
I'm using the top 500 again.

150
00:10:18.760 --> 00:10:22.320
So here's our timeline.

151
00:10:22.320 --> 00:10:25.660
39.7 quintillion years ago, we start computation.

152
00:10:26.800 --> 00:10:28.120
We finish now.

153
00:10:28.120 --> 00:10:30.280
In the meantime, the Big Bang happens.

154
00:10:30.280 --> 00:10:34.520
You'll notice it happens on roughly the same pixel

155
00:10:34.520 --> 00:10:36.400
as we finish computation.

156
00:10:37.600 --> 00:10:39.840
We don't divide pixels enough to actually make

157
00:10:39.840 --> 00:10:42.000
those two different pixels in my timeline.

158
00:10:43.160 --> 00:10:44.200
We notice a problem.

159
00:10:44.200 --> 00:10:47.400
We need a computer that can pre-exist the Big Bang

160
00:10:47.400 --> 00:10:51.000
and survive the Big Bang to give us the result.

161
00:10:51.000 --> 00:10:52.460
This is going to be difficult.

162
00:10:53.720 --> 00:10:54.960
Now naturally, then we can start throwing

163
00:10:54.960 --> 00:10:56.660
in real world complications.

164
00:10:56.660 --> 00:10:57.800
I didn't bother doing the math.

165
00:10:57.800 --> 00:11:01.040
I was convinced by the 40 quintillion years.

166
00:11:01.040 --> 00:11:02.280
But we can think about production.

167
00:11:02.280 --> 00:11:03.500
What does this do?

168
00:11:03.500 --> 00:11:05.320
Production takes time.

169
00:11:05.320 --> 00:11:07.320
That pushes back our computation even further

170
00:11:07.320 --> 00:11:08.880
because we want to make sure we finish the problem

171
00:11:08.880 --> 00:11:11.240
in time to actually produce the stuff.

172
00:11:11.240 --> 00:11:13.280
Although, in terms of production time,

173
00:11:13.280 --> 00:11:14.240
it's going to be far less

174
00:11:14.240 --> 00:11:17.000
than some of these computation times, I hope.

175
00:11:17.000 --> 00:11:19.080
Or we also have a choice of methods.

176
00:11:19.080 --> 00:11:20.520
That makes things difficult.

177
00:11:20.520 --> 00:11:23.960
And it's largely the point of the calculation problem that Mises points out.

178
00:11:23.960 --> 00:11:25.840
We have lots of different ways to produce things.

179
00:11:25.840 --> 00:11:27.120
What is the best way?

180
00:11:27.120 --> 00:11:31.960
How do we compare it without any kind of common denominator that is provided by prices and

181
00:11:31.960 --> 00:11:33.320
money?

182
00:11:33.320 --> 00:11:38.400
We also have the fact that preferences in reality are inescapably ordinal.

183
00:11:38.400 --> 00:11:42.360
I don't have these numbers sitting around in my head of, oh, I get this many utils from

184
00:11:42.360 --> 00:11:45.120
that thing, that many from that thing.

185
00:11:45.120 --> 00:11:48.760
So the fact they're inescapably ordinal preferences, that makes this hard.

186
00:11:48.760 --> 00:11:52.760
I can't even get off the ground with the type of computation methods I've used.

187
00:11:52.760 --> 00:11:56.760
Now, there are ways around it. These ways are much, much slower though,

188
00:11:56.760 --> 00:12:00.760
making the problem even worse. Similarly, the impossibility of interpersonal

189
00:12:00.760 --> 00:12:04.760
comparisons of utility. If I can't actually compare how much

190
00:12:04.760 --> 00:12:08.760
better off I'm making one person another, that really

191
00:12:08.760 --> 00:12:12.760
puts the kibosh on the whole thing.

192
00:12:12.760 --> 00:12:16.760
I really can't do this figure out how much to give each person if we don't know how to compare across

193
00:12:16.760 --> 00:12:27.760
So again, we could think of ways around this, imagine some random distribution, see if we can improve people's outcomes, but computationally that's much, much worse than what I've done here.

194
00:12:27.760 --> 00:12:37.760
We also have the problem of dispersed information. In reality, information is not all in this omniscient, benevolent computer, it's actually spread out as Hayek pointed out.

195
00:12:37.760 --> 00:12:44.760
So just in conclusion, here we ignored the information problem. Set that aside, let all the information be central.

196
00:12:44.760 --> 00:12:49.760
Here we ignored production and therefore the calculation problem fell to the wayside.

197
00:12:49.760 --> 00:12:58.760
Yet at the same time, we found that limited processing power itself is enough to make large-scale consumer-oriented central planning absolutely impossible.

198
00:12:58.760 --> 00:13:00.760
We just cannot do it.

199
00:13:00.760 --> 00:13:06.760
Now just kind of a side note, in terms of how, do we just not have powerful enough computers yet?

200
00:13:06.760 --> 00:13:11.760
That's a natural question. Computers are much better now than they were 20, 30 years ago.

201
00:13:11.760 --> 00:13:25.760
I actually did some looking and there were a couple of physicists, I believe, at Boston University that suggested that there is actually a maximum to how fast computers can compute.

202
00:13:25.760 --> 00:13:29.760
It ends up information can only travel so fast and it has to travel within a processor.

203
00:13:29.760 --> 00:13:34.760
So that puts a maximum on it and that's about 10 billion times faster than what we do now.

204
00:13:34.760 --> 00:13:44.260
Okay, that's pretty good, but if we look back, our 39.7 billion billion years, okay, so we can divide that by 10 billion, right?

205
00:13:44.260 --> 00:13:53.260
We're still looking at 4 billion years in this process, even at the fastest possible, theoretically fastest possible computer that we could possibly have, right?

206
00:13:53.260 --> 00:14:02.260
Making it, once again, completely impossible for us to have computers run an economy that actually takes account of the fact that different people have different preferences over goods.

207
00:14:03.260 --> 00:14:05.260
Thank you very much.
