1
00:00:00,080 --> 00:00:02,430
The following content is
provided under a Creative

2
00:00:02,430 --> 00:00:03,820
Commons license.

3
00:00:03,820 --> 00:00:06,060
Your support will help
MIT OpenCourseWare

4
00:00:06,060 --> 00:00:10,150
continue to offer high quality
educational resources for free.

5
00:00:10,150 --> 00:00:12,690
To make a donation or to
view additional materials

6
00:00:12,690 --> 00:00:16,600
from hundreds of MIT courses,
visit MIT OpenCourseWare

7
00:00:16,600 --> 00:00:17,255
at ocw.mit.edu.

8
00:00:26,570 --> 00:00:28,070
PROFESSOR: So welcome
back to 6.890.

9
00:00:28,070 --> 00:00:30,240
Today we have the
first of two guest

10
00:00:30,240 --> 00:00:34,855
lectures by Costis Daskalakis
about PPAD completeness.

11
00:00:34,855 --> 00:00:35,730
Take it away, Costis.

12
00:00:35,730 --> 00:00:36,896
CONSTANTINOS DASKALAKIS: OK.

13
00:00:36,896 --> 00:00:40,300
Thanks for the invitation
to talk about PPAD.

14
00:00:40,300 --> 00:00:44,410
This is sort of an unusual class
if you haven't seen it before.

15
00:00:44,410 --> 00:00:46,610
So part of the
lecture is to describe

16
00:00:46,610 --> 00:00:49,840
the class and the motivation
behind this definition.

17
00:00:49,840 --> 00:00:54,830
If I start with the definition
itself, it may seem weird.

18
00:00:54,830 --> 00:00:57,860
So instead, I want to
provide some motivation

19
00:00:57,860 --> 00:00:58,790
about the definition.

20
00:00:58,790 --> 00:01:00,790
And then sort of towards
the end of the lecture,

21
00:01:00,790 --> 00:01:02,670
we're going to see
the definition.

22
00:01:02,670 --> 00:01:06,380
We're also going to see our
first PPAD complete problem

23
00:01:06,380 --> 00:01:07,910
in the end of this lecture.

24
00:01:07,910 --> 00:01:13,300
And the next lecture, I'm
going to describe more natural,

25
00:01:13,300 --> 00:01:16,221
if you want, problems
about PPAD complete.

26
00:01:16,221 --> 00:01:16,720
OK.

27
00:01:16,720 --> 00:01:21,670
So the motivation for
me looking at this class

28
00:01:21,670 --> 00:01:28,560
is some beautiful theorems
in game theory, economics,

29
00:01:28,560 --> 00:01:33,720
and topology, namely Nash's
theorem, Brouwer's theorem,

30
00:01:33,720 --> 00:01:36,200
and Sperner's theorem.

31
00:01:36,200 --> 00:01:38,670
And I want to describe
those theorems

32
00:01:38,670 --> 00:01:40,880
before I get into the
computational complexity

33
00:01:40,880 --> 00:01:43,370
of the resulting problems.

34
00:01:43,370 --> 00:01:45,630
So let me start
with Nash's theorem.

35
00:01:45,630 --> 00:01:49,960
So this table represents a
game between two players.

36
00:01:49,960 --> 00:01:51,670
The rows correspond
to the strategies

37
00:01:51,670 --> 00:01:53,580
available to the blue player.

38
00:01:53,580 --> 00:01:55,860
And the columns correspond
to the strategies

39
00:01:55,860 --> 00:01:57,750
available to the column player.

40
00:01:57,750 --> 00:02:02,270
And then every box in this
table writes down the playoffs

41
00:02:02,270 --> 00:02:05,180
that the two players
get if they chose

42
00:02:05,180 --> 00:02:06,390
the corresponding strategies.

43
00:02:06,390 --> 00:02:09,220
In particular-- so this
is a penalty shot game.

44
00:02:09,220 --> 00:02:14,590
If the goalie dives left,
and the kicker shoots right,

45
00:02:14,590 --> 00:02:17,206
then the goalie loses a point.

46
00:02:17,206 --> 00:02:20,860
The kicker gets a point.

47
00:02:20,860 --> 00:02:25,150
More generally, in
a game, you have

48
00:02:25,150 --> 00:02:29,050
to specify the players n,
the number of players n,

49
00:02:29,050 --> 00:02:31,360
the set of players n.

50
00:02:31,360 --> 00:02:34,910
Then for every
player p, you have

51
00:02:34,910 --> 00:02:39,700
to specify the set of strategies
available to this player.

52
00:02:39,700 --> 00:02:41,730
And also for every
player p, you have

53
00:02:41,730 --> 00:02:47,780
to describe a payoff function
Up that maps the strategies

54
00:02:47,780 --> 00:02:52,020
of everybody to the reals.

55
00:02:54,680 --> 00:03:04,370
So in particular, so Up of
a collection of strategies

56
00:03:04,370 --> 00:03:07,710
for all the players
corresponds to the payoff

57
00:03:07,710 --> 00:03:10,140
that player p gets if
the players chooses

58
00:03:10,140 --> 00:03:13,640
these strategies from
the corresponding sets.

59
00:03:13,640 --> 00:03:15,510
That's a general
definition of a game.

60
00:03:15,510 --> 00:03:18,020
But in that picture, I
have a two player game

61
00:03:18,020 --> 00:03:21,470
with two strategies per
player for simplicity.

62
00:03:21,470 --> 00:03:28,680
Now what game theory
studies and tries to predict

63
00:03:28,680 --> 00:03:35,160
is what happens when two
players interact in the way

64
00:03:35,160 --> 00:03:38,180
described by a payoff
table and have developed

65
00:03:38,180 --> 00:03:40,320
various notions of
equilibrium that

66
00:03:40,320 --> 00:03:43,410
may arise as a result
of this interaction.

67
00:03:43,410 --> 00:03:47,120
The one that is of particular
interest to us in this lecture

68
00:03:47,120 --> 00:03:50,050
is what is called the
Nash equilibrium, which

69
00:03:50,050 --> 00:03:52,630
is a pair of randomized
strategies for the two

70
00:03:52,630 --> 00:03:55,780
players of the game
such that none of them

71
00:03:55,780 --> 00:03:59,090
has incentive to change
their strategy given

72
00:03:59,090 --> 00:04:01,930
the strategy of
the other player.

73
00:04:01,930 --> 00:04:06,450
In this particular example,
the Nash equilibrium,

74
00:04:06,450 --> 00:04:08,000
which is actually
the unique one--

75
00:04:08,000 --> 00:04:10,360
a Nash equilibrium which is
the unique one of this game

76
00:04:10,360 --> 00:04:14,400
is for both players to
uniformly randomly play each

77
00:04:14,400 --> 00:04:16,680
of their available strategies.

78
00:04:16,680 --> 00:04:21,610
And it's quite easy to check
that this is a Nash equilibrium

79
00:04:21,610 --> 00:04:28,140
because given-- so for from
the kicker's perspective, given

80
00:04:28,140 --> 00:04:33,200
that the goalie uniformly
randomly dives left or right,

81
00:04:33,200 --> 00:04:36,370
the expected payoff from
shooting left or right

82
00:04:36,370 --> 00:04:38,230
is exactly 0.

83
00:04:38,230 --> 00:04:40,050
So in particular, any
complex combination

84
00:04:40,050 --> 00:04:43,320
of these two strategies
has an expected pay of 0.

85
00:04:43,320 --> 00:04:46,210
And he cannot improve it by
changing the mixing weights

86
00:04:46,210 --> 00:04:47,380
in any way.

87
00:04:47,380 --> 00:04:50,040
So given what the
goalie is doing,

88
00:04:50,040 --> 00:04:54,860
it's in the best interest of
the kicker to play half, half.

89
00:04:54,860 --> 00:04:56,670
And vice versa.

90
00:04:56,670 --> 00:04:59,900
You can do the same calculation
from the goalie's perspective.

91
00:04:59,900 --> 00:05:02,790
And given what the
kicker is doing,

92
00:05:02,790 --> 00:05:06,510
the goalie cannot improve
his expected payoff.

93
00:05:06,510 --> 00:05:11,650
So more generally,
in the general case,

94
00:05:11,650 --> 00:05:20,500
every player chooses
a randomized strategy.

95
00:05:20,500 --> 00:05:24,540
A randomized strategy is a
distribution over the strategy

96
00:05:24,540 --> 00:05:25,540
set of the players.

97
00:05:25,540 --> 00:05:29,320
So it's going to be--
with this symbol,

98
00:05:29,320 --> 00:05:32,790
I represent the collection of
distributions over the set.

99
00:05:36,030 --> 00:05:41,870
And I can extend this
function to distributions.

100
00:05:41,870 --> 00:05:45,405
So let's call this the
extension of that function

101
00:05:45,405 --> 00:05:46,900
to distributions.

102
00:05:46,900 --> 00:05:51,360
When I get as input a collection
of mixed strategies, what

103
00:05:51,360 --> 00:05:53,950
I'm going to do is I'm going
to look at the expectation

104
00:05:53,950 --> 00:05:59,570
where every-- according to
these strategies, this s1

105
00:05:59,570 --> 00:06:04,870
drawn from x1, s2 drawn from
x2 and so on and so forth,

106
00:06:04,870 --> 00:06:06,890
sn drawn from xn.

107
00:06:06,890 --> 00:06:10,160
I'm going to look at
the expected utility

108
00:06:10,160 --> 00:06:13,030
under strategies, actions
that are chosen according

109
00:06:13,030 --> 00:06:14,580
to this randomization.

110
00:06:14,580 --> 00:06:18,600
So that's the expected
utility of player p

111
00:06:18,600 --> 00:06:22,020
if players choose
these mixed strategies.

112
00:06:22,020 --> 00:06:33,540
And Nash equilibrium in general
has a definition, a collection,

113
00:06:33,540 --> 00:06:39,110
x1, x2, et cetera,
of mixed strategies

114
00:06:39,110 --> 00:06:45,400
is a Nash equilibrium
if and only

115
00:06:45,400 --> 00:06:55,430
if for every player p, the
expected utility that p gets

116
00:06:55,430 --> 00:07:02,200
by playing this strategy is at
least as good as the expected

117
00:07:02,200 --> 00:07:10,600
utility he would get if he
switched to something else

118
00:07:10,600 --> 00:07:13,530
for any other mixed strategy
he could possibly play.

119
00:07:17,780 --> 00:07:18,410
OK?

120
00:07:18,410 --> 00:07:23,070
So if none of the other players
change their strategies,

121
00:07:23,070 --> 00:07:26,380
there's no alternative
mixed strategy

122
00:07:26,380 --> 00:07:31,040
for this player that
may improve his payoff.

123
00:07:31,040 --> 00:07:34,450
So if that's simultaneously
true for all players,

124
00:07:34,450 --> 00:07:38,210
then that collection is
called the Nash equilibrium.

125
00:07:38,210 --> 00:07:40,420
And that example is
just a special case

126
00:07:40,420 --> 00:07:42,480
of this definition.

127
00:07:42,480 --> 00:07:46,322
Any questions about what
a Nash equilibrium is?

128
00:07:46,322 --> 00:07:48,100
OK.

129
00:07:48,100 --> 00:07:51,540
Now there are games
and games, right?

130
00:07:51,540 --> 00:07:53,710
And this game is a
particularly simple one.

131
00:07:53,710 --> 00:07:56,440
First of all, it has two
players and two strategies.

132
00:07:56,440 --> 00:07:58,430
But also it's very
symmetric in some sense.

133
00:08:02,210 --> 00:08:04,270
If I look at every
square of this table,

134
00:08:04,270 --> 00:08:08,360
the sum of payoffs
in each square is 0.

135
00:08:08,360 --> 00:08:11,420
These types of games are called
two player zero-sum games.

136
00:08:11,420 --> 00:08:16,380
And the existence of
equilibrium in these games

137
00:08:16,380 --> 00:08:17,700
was shown by von Neumann.

138
00:08:17,700 --> 00:08:21,060
So von Neumann showed that
any two players zero-sum game

139
00:08:21,060 --> 00:08:24,610
has such an equilibrium.

140
00:08:24,610 --> 00:08:29,462
I mean, a priori, it's not
clear if in a given game

141
00:08:29,462 --> 00:08:30,920
there is a collection
of strategies

142
00:08:30,920 --> 00:08:33,330
that are a Nash equilibrium.

143
00:08:33,330 --> 00:08:35,740
The first one to
establish such a result

144
00:08:35,740 --> 00:08:39,669
was von Neumann in the '20s, who
showed that if a game has two

145
00:08:39,669 --> 00:08:41,230
players, and it's
a zero-sum game,

146
00:08:41,230 --> 00:08:45,090
then there is always an
equilibrium in that game.

147
00:08:45,090 --> 00:08:48,280
By the way, the equilibrium
wasn't called Nash equilibrium

148
00:08:48,280 --> 00:08:50,160
at the time, because
Nash wasn't around.

149
00:08:50,160 --> 00:08:56,000
It is known as the
minmax equilibrium.

150
00:08:56,000 --> 00:08:59,650
And in fact, later on when
Dantzig was developing

151
00:08:59,650 --> 00:09:03,620
linear programming duality
together with von Neumann,

152
00:09:03,620 --> 00:09:07,970
they realized that this
theorem is actually implied

153
00:09:07,970 --> 00:09:11,030
by the strong LP duality.

154
00:09:11,030 --> 00:09:13,320
They also noticed that
using linear programming,

155
00:09:13,320 --> 00:09:17,650
you can compute equilibria
in these types of games.

156
00:09:17,650 --> 00:09:21,710
In fact now-- but that
took many years more.

157
00:09:21,710 --> 00:09:24,230
We know that this statement
and strong LP duality

158
00:09:24,230 --> 00:09:27,220
are actually equivalent
mathematical statements.

159
00:09:27,220 --> 00:09:27,720
OK.

160
00:09:27,720 --> 00:09:30,520
So the existence of equilibrium
in two player zero-sum games

161
00:09:30,520 --> 00:09:34,030
is equivalent to linear
programming duality.

162
00:09:34,030 --> 00:09:35,250
All right?

163
00:09:35,250 --> 00:09:36,580
But how about general games?

164
00:09:36,580 --> 00:09:39,560
What happens if I go to
this table, and I change it?

165
00:09:39,560 --> 00:09:42,580
Or I consider a game with
more than two players?

166
00:09:42,580 --> 00:09:46,120
So what happens, for example, if
I change this game in this way?

167
00:09:46,120 --> 00:09:50,140
Now I gave a big
advantage to the goalie

168
00:09:50,140 --> 00:09:57,090
in the left, left
choice of strategies.

169
00:09:57,090 --> 00:10:02,450
Now before Nash was
around, it was unclear

170
00:10:02,450 --> 00:10:07,340
if a general game has
a Nash equilibrium.

171
00:10:07,340 --> 00:10:11,460
This is what Nash established
in his celebrated paper.

172
00:10:11,460 --> 00:10:14,410
Nash showed that any
game, any finite game

173
00:10:14,410 --> 00:10:16,690
has a mixed Nash equilibrium.

174
00:10:16,690 --> 00:10:18,790
So a Nash equilibrium
and equilibrium

175
00:10:18,790 --> 00:10:21,160
in randomized strategies.

176
00:10:21,160 --> 00:10:23,630
Unfortunately,
what is not known--

177
00:10:23,630 --> 00:10:27,800
in this particular example,
this is the Nash equilibrium.

178
00:10:27,800 --> 00:10:30,310
You can verify that this is
actually a Nash equilibrium,

179
00:10:30,310 --> 00:10:31,710
what I'm showing there.

180
00:10:31,710 --> 00:10:35,555
But the point of the
slide is that there

181
00:10:35,555 --> 00:10:38,060
is a qualitative difference
when you go from two players

182
00:10:38,060 --> 00:10:40,840
zero-sum games to general games.

183
00:10:40,840 --> 00:10:44,430
In 60 or so years of work
after Nash's theorem,

184
00:10:44,430 --> 00:10:47,710
we have no proof
using LP duality.

185
00:10:47,710 --> 00:10:50,110
And we have no polynomial
time algorithms

186
00:10:50,110 --> 00:10:53,870
for finding equilibria
in general games.

187
00:10:53,870 --> 00:10:56,220
So part of this
lecture is to try

188
00:10:56,220 --> 00:11:00,990
to understand the computational
complexity of this problem.

189
00:11:00,990 --> 00:11:05,730
Given a game, how hard is it
to find a Nash equilibrium?

190
00:11:05,730 --> 00:11:06,250
OK.

191
00:11:06,250 --> 00:11:10,250
So that's problem number
one that I want to consider.

192
00:11:10,250 --> 00:11:10,770
Question?

193
00:11:10,770 --> 00:11:15,046
AUDIENCE: So the thing that
Nash proved, every game

194
00:11:15,046 --> 00:11:18,379
refers to any number
of players and--

195
00:11:18,379 --> 00:11:19,670
CONSTANTINOS DASKALAKIS: Right.

196
00:11:19,670 --> 00:11:26,490
Any finite number of
players, any strategy set,

197
00:11:26,490 --> 00:11:28,470
any utility functions.

198
00:11:28,470 --> 00:11:29,970
No matter how it
looks like, there's

199
00:11:29,970 --> 00:11:31,332
always a Nash equilibrium.

200
00:11:33,930 --> 00:11:35,850
OK?

201
00:11:35,850 --> 00:11:36,920
Other questions?

202
00:11:36,920 --> 00:11:40,810
This is, let's say, the actor
number one in this lecture.

203
00:11:43,770 --> 00:11:46,880
So the second actor
is Brouwer's theorem,

204
00:11:46,880 --> 00:11:50,090
which I want to illustrate
in the next few slides.

205
00:11:50,090 --> 00:11:52,280
The statement of the
theorem is very simple.

206
00:11:52,280 --> 00:11:55,190
It says that given
a function that

207
00:11:55,190 --> 00:12:00,025
maps a convex and compact
subset of the Euclidean space

208
00:12:00,025 --> 00:12:04,890
to itself-- so I don't know.

209
00:12:04,890 --> 00:12:07,650
In this setting, compact means
basically closed and bounded.

210
00:12:07,650 --> 00:12:10,190
So if you have a function
that maps a convex,

211
00:12:10,190 --> 00:12:13,675
closed, and bounded subset
of Euclidean space to itself,

212
00:12:13,675 --> 00:12:16,810
it must have a
point that doesn't

213
00:12:16,810 --> 00:12:18,440
move under the function.

214
00:12:21,516 --> 00:12:25,260
And I want to illustrate this
with a couple of examples.

215
00:12:25,260 --> 00:12:27,150
And for my examples,
I'm going to choose

216
00:12:27,150 --> 00:12:32,525
for D the disk, the unit disk.

217
00:12:36,790 --> 00:12:40,656
I'm going to note that all
conditions are needed actually

218
00:12:40,656 --> 00:12:41,780
for the theorem to be true.

219
00:12:41,780 --> 00:12:49,350
If you remove any of these
things, closeness, convexity,

220
00:12:49,350 --> 00:12:52,775
or bondedness,
the theorem fails.

221
00:12:52,775 --> 00:12:54,400
So I'm going to do
a bunch of examples,

222
00:12:54,400 --> 00:12:56,580
and you can think about
what may happen if you

223
00:12:56,580 --> 00:12:59,180
remove one of these conditions.

224
00:12:59,180 --> 00:13:01,970
So my first example is
to map the disk to itself

225
00:13:01,970 --> 00:13:05,240
by just rotating the disk.

226
00:13:05,240 --> 00:13:07,660
Now there is an
obvious fixed point

227
00:13:07,660 --> 00:13:14,380
in this map, which is the
center, as you may imagine.

228
00:13:14,380 --> 00:13:16,960
There's actually no
other fixed point.

229
00:13:16,960 --> 00:13:19,480
What if I take this
disk, and I shrink it,

230
00:13:19,480 --> 00:13:23,019
and then I shift it
somewhere inside it?

231
00:13:23,019 --> 00:13:23,560
I don't know.

232
00:13:23,560 --> 00:13:25,720
Maybe it takes a
little thinking,

233
00:13:25,720 --> 00:13:28,615
but you should believe
me that there must be

234
00:13:28,615 --> 00:13:30,110
a fixed point somewhere there.

235
00:13:32,970 --> 00:13:42,060
Or a fixed point still exists
if I kind of crumble the disk

236
00:13:42,060 --> 00:13:44,050
and move it.

237
00:13:44,050 --> 00:13:47,390
As long as I don't tear it
apart, that's a continuous map.

238
00:13:47,390 --> 00:13:49,534
And there's still a fixed point.

239
00:13:49,534 --> 00:13:50,950
And you probably
colloquially have

240
00:13:50,950 --> 00:13:54,350
heard that if I take
a map of Cambridge,

241
00:13:54,350 --> 00:13:56,760
and I throw it on
the ground, then

242
00:13:56,760 --> 00:13:58,740
there is a point on
the map that sits

243
00:13:58,740 --> 00:14:02,340
on top of the corresponding
point that it represents.

244
00:14:02,340 --> 00:14:04,790
This is a special
version of this theorem

245
00:14:04,790 --> 00:14:08,070
because effectively when
I'm throwing a Cambridge

246
00:14:08,070 --> 00:14:12,550
map to the ground, I define
a mapping from real points

247
00:14:12,550 --> 00:14:14,170
to points in the map.

248
00:14:14,170 --> 00:14:17,850
And by this theorem, there
is a point that doesn't move.

249
00:14:17,850 --> 00:14:19,100
OK?

250
00:14:19,100 --> 00:14:22,860
So that's what Brouwer's
theorem is saying.

251
00:14:22,860 --> 00:14:27,910
And the proof of Nash
actually uses this theorem.

252
00:14:27,910 --> 00:14:30,350
To show that the Nash
equilibrium exists,

253
00:14:30,350 --> 00:14:33,230
what Nash did is he
used Brouwer's theorem.

254
00:14:33,230 --> 00:14:35,920
And the next slide, I
want to illustrate the way

255
00:14:35,920 --> 00:14:42,260
Nash gets to prove the Nash
equilibrium's existence

256
00:14:42,260 --> 00:14:44,020
by using Brouwer's theorem.

257
00:14:44,020 --> 00:14:46,450
And I'm going to restrict
myself to the simple game we

258
00:14:46,450 --> 00:14:49,177
saw in the beginning,
the penalty shot game.

259
00:14:49,177 --> 00:14:50,760
And as I said, for
this specific game,

260
00:14:50,760 --> 00:14:52,468
you don't need Brouwer's
theorem to prove

261
00:14:52,468 --> 00:14:54,900
the existence of equilibrium,
because this is a two player

262
00:14:54,900 --> 00:14:57,470
zero-sum game, and you can even
do it with linear programming

263
00:14:57,470 --> 00:14:58,640
duality.

264
00:14:58,640 --> 00:15:02,070
But it's a simple
enough example that

265
00:15:02,070 --> 00:15:05,130
will help illustrate the
proof of Nash's theorem.

266
00:15:05,130 --> 00:15:06,750
So here's what Nash does.

267
00:15:06,750 --> 00:15:08,370
He starts with a game.

268
00:15:08,370 --> 00:15:13,240
And then he defines a continuous
function, in this case,

269
00:15:13,240 --> 00:15:19,600
from the square to itself,
from the unit square to itself

270
00:15:19,600 --> 00:15:21,900
in a way that the fixed
points of that function

271
00:15:21,900 --> 00:15:26,220
are actually exactly
Nash equilibria.

272
00:15:26,220 --> 00:15:28,720
The way the function
looks, where basically,

273
00:15:28,720 --> 00:15:29,610
what is the square?

274
00:15:29,610 --> 00:15:33,550
The square represents
the probability--

275
00:15:33,550 --> 00:15:35,920
the horizontal line is
the probability by which

276
00:15:35,920 --> 00:15:39,350
the kicker shoots right.

277
00:15:39,350 --> 00:15:41,650
The vertical axis is
the probability by which

278
00:15:41,650 --> 00:15:44,870
the goalie dives right.

279
00:15:44,870 --> 00:15:48,040
And then the
function is basically

280
00:15:48,040 --> 00:15:51,430
tracking which of
the two players

281
00:15:51,430 --> 00:15:55,610
has incentive to
change his strategy

282
00:15:55,610 --> 00:15:57,870
at every point in this quarter.

283
00:15:57,870 --> 00:16:00,460
So in particular, let's
consider this square over here.

284
00:16:00,460 --> 00:16:03,860
In this square, both
players play left.

285
00:16:03,860 --> 00:16:06,770
And the kicker is
actually unhappy.

286
00:16:06,770 --> 00:16:09,550
If both players play
left, the kicker

287
00:16:09,550 --> 00:16:10,930
wants to increase
the probability

288
00:16:10,930 --> 00:16:13,260
by which he is shooting right.

289
00:16:13,260 --> 00:16:15,990
So this is what this
arrow represents.

290
00:16:15,990 --> 00:16:18,960
So you want to increase
the probability over here.

291
00:16:18,960 --> 00:16:23,470
Similarly, if you're here,
they play opposite actions.

292
00:16:23,470 --> 00:16:27,660
Hence, the goalie wants to
change and so on and so forth.

293
00:16:27,660 --> 00:16:30,680
What Nash is-- I'm not going
to write down Nash's function,

294
00:16:30,680 --> 00:16:33,080
but intuitively, this
is what it tracks.

295
00:16:33,080 --> 00:16:37,220
It tracks at every combination
of mixed strategies,

296
00:16:37,220 --> 00:16:40,000
which players have
incentive to change

297
00:16:40,000 --> 00:16:43,360
their actions,
their randomizations

298
00:16:43,360 --> 00:16:44,530
and in which direction?

299
00:16:44,530 --> 00:16:48,315
This is what Nash's
function does.

300
00:16:48,315 --> 00:16:51,040
And in fact, to help
you a little bit,

301
00:16:51,040 --> 00:16:56,250
I'm going to even
color the unit square,

302
00:16:56,250 --> 00:17:00,630
depending on the direction
of the deviation.

303
00:17:00,630 --> 00:17:03,800
So this is the
picture that I get.

304
00:17:03,800 --> 00:17:07,260
It's very easy to locate
the fixed point as the point

305
00:17:07,260 --> 00:17:08,390
where all colors meet.

306
00:17:08,390 --> 00:17:12,550
And this is exactly half,
half, which is exactly

307
00:17:12,550 --> 00:17:14,790
the Nash equilibrium over here.

308
00:17:14,790 --> 00:17:19,440
This is a schematic
proof by picture.

309
00:17:19,440 --> 00:17:24,089
So this is an illustration
of Nash's proof.

310
00:17:27,119 --> 00:17:31,502
Any questions about Brouwer's
theorem or the proof?

311
00:17:31,502 --> 00:17:33,970
OK.

312
00:17:33,970 --> 00:17:37,345
The last actor-- so the last
actor is Sperner's lemma.

313
00:17:40,290 --> 00:17:42,830
It's a lemma in combinatorics,
but it's very related

314
00:17:42,830 --> 00:17:45,330
to topological statements.

315
00:17:50,660 --> 00:17:56,480
So the lemma
considers-- there are

316
00:17:56,480 --> 00:17:58,180
multiple versions of the lemma.

317
00:17:58,180 --> 00:18:02,960
And I'm going to show it in
two dimensions on the square.

318
00:18:02,960 --> 00:18:06,200
There are multi-dimensional
versions of the lemma.

319
00:18:06,200 --> 00:18:08,440
But I'm going to restrict
myself to the plane.

320
00:18:08,440 --> 00:18:11,390
And the lemma is going to
start with a triangulation

321
00:18:11,390 --> 00:18:13,660
of the grid.

322
00:18:13,660 --> 00:18:15,900
And I'm going to color
this triangulation

323
00:18:15,900 --> 00:18:18,296
with three colors.

324
00:18:18,296 --> 00:18:19,920
More generally, if
I'm in n dimensions,

325
00:18:19,920 --> 00:18:22,260
I'm going to be coloring
things with n plus 1 colors.

326
00:18:22,260 --> 00:18:23,440
Here I'm in two dimensions.

327
00:18:23,440 --> 00:18:26,220
I'm coloring with three colors.

328
00:18:26,220 --> 00:18:29,890
So the way I'm going to color
this square is the following.

329
00:18:29,890 --> 00:18:34,120
First, I'm obliged to use
this coloring on the boundary.

330
00:18:34,120 --> 00:18:37,000
Notice that this boundary
has the property that there

331
00:18:37,000 --> 00:18:38,400
is no red color here.

332
00:18:38,400 --> 00:18:39,890
There is no blue color here.

333
00:18:39,890 --> 00:18:46,670
There is no yellow color here
on that edge of the grid.

334
00:18:46,670 --> 00:18:49,860
But otherwise, I'm allowing you
to color the internal vertices

335
00:18:49,860 --> 00:18:52,700
in whatever fashion you want.

336
00:18:52,700 --> 00:18:56,900
All I want is to respect
the boundary coloring.

337
00:18:56,900 --> 00:18:59,700
So Sperner's lemma
says that no matter how

338
00:18:59,700 --> 00:19:02,830
you color the inside
of the square,

339
00:19:02,830 --> 00:19:07,550
there is always a
tri-chromatic triangle.

340
00:19:07,550 --> 00:19:08,970
In fact, it says something more.

341
00:19:08,970 --> 00:19:11,980
It says that there is
always an odd number

342
00:19:11,980 --> 00:19:15,310
of tri-chromatic triangles.

343
00:19:15,310 --> 00:19:19,164
Can you see one in this picture?

344
00:19:19,164 --> 00:19:20,680
AUDIENCE: I hope so.

345
00:19:20,680 --> 00:19:22,763
CONSTANTINOS DASKALAKIS:
You would hope so, right?

346
00:19:22,763 --> 00:19:24,760
So there are five in this case.

347
00:19:24,760 --> 00:19:25,478
Here they are.

348
00:19:27,985 --> 00:19:29,610
And later in the--
I mean, I'm actually

349
00:19:29,610 --> 00:19:31,640
going to show the proof
of Sperner's lemma

350
00:19:31,640 --> 00:19:35,830
because it's instructive for my
purposes later in this lecture.

351
00:19:35,830 --> 00:19:36,990
It's really remarkable.

352
00:19:36,990 --> 00:19:40,060
I mean, a priori, I
mean maybe you believe

353
00:19:40,060 --> 00:19:42,490
there's a tri-chromatic one.

354
00:19:42,490 --> 00:19:43,750
But it's not at all.

355
00:19:43,750 --> 00:19:47,350
Obviously, there should
be an odd number.

356
00:19:47,350 --> 00:19:49,630
And the proof is actually
going to easily give also

357
00:19:49,630 --> 00:19:53,570
the odd number as well.

358
00:19:53,570 --> 00:19:55,122
So that's the lemma.

359
00:19:55,122 --> 00:19:56,080
That's Sperner's lemma.

360
00:19:56,080 --> 00:19:57,000
Any questions?

361
00:19:57,000 --> 00:19:59,240
AUDIENCE: Can you repeat
where the legal coloring is?

362
00:19:59,240 --> 00:20:00,490
CONSTANTINOS DASKALAKIS: Yeah.

363
00:20:00,490 --> 00:20:04,210
So the legal coloring
says that either

364
00:20:04,210 --> 00:20:06,510
fix the color to be like this.

365
00:20:06,510 --> 00:20:12,380
Or more generally, as long
as you don't use red here,

366
00:20:12,380 --> 00:20:16,695
don't use yellow here, and not
use blue here, you're good.

367
00:20:16,695 --> 00:20:19,022
AUDIENCE: I don't understand
the general statement.

368
00:20:19,022 --> 00:20:20,980
CONSTANTINOS DASKALAKIS:
The general definition

369
00:20:20,980 --> 00:20:23,980
is that-- OK.

370
00:20:23,980 --> 00:20:27,520
So we have this square.

371
00:20:27,520 --> 00:20:31,170
There must be-- OK.

372
00:20:31,170 --> 00:20:33,470
So more general, no
yellow in these vertices.

373
00:20:36,700 --> 00:20:42,330
There should be no
blue on these vertices.

374
00:20:42,330 --> 00:20:51,230
And there should be no red here.

375
00:20:51,230 --> 00:20:53,380
That's the general statement.

376
00:20:53,380 --> 00:20:54,940
As long as you
respect that, then

377
00:20:54,940 --> 00:20:57,385
no matter what you
do inside, there

378
00:20:57,385 --> 00:20:59,744
is a tri-chromatic triangle.

379
00:20:59,744 --> 00:21:01,660
Or you could just fix
the coloring to be that.

380
00:21:01,660 --> 00:21:03,350
It doesn't really matter.

381
00:21:03,350 --> 00:21:06,930
In fact, if you have
such a coloring,

382
00:21:06,930 --> 00:21:09,560
respecting these
three properties,

383
00:21:09,560 --> 00:21:12,160
you can enlarge the
square by adding

384
00:21:12,160 --> 00:21:16,690
an extra layer that has exactly
the coloring I'm showing here.

385
00:21:16,690 --> 00:21:20,690
And you can notice that if
your original coloring respects

386
00:21:20,690 --> 00:21:23,885
these properties, if I
add this specific coloring

387
00:21:23,885 --> 00:21:26,620
in this extra layer, I'm
not going to be creating

388
00:21:26,620 --> 00:21:28,590
any triangles in this layer.

389
00:21:28,590 --> 00:21:31,300
So in fact, I can reduce
one instance to the other.

390
00:21:34,171 --> 00:21:34,670
All right.

391
00:21:34,670 --> 00:21:37,870
So this is the statement
of Sperner's lemma.

392
00:21:37,870 --> 00:21:40,900
There is a multi-dimensional
version in n dimensions.

393
00:21:40,900 --> 00:21:42,300
I'm using n plus 1 colors.

394
00:21:42,300 --> 00:21:43,758
But I'm not going
to state it here.

395
00:21:46,920 --> 00:21:49,560
Now again, I'm
going to hand wave

396
00:21:49,560 --> 00:21:53,550
to actually show you how
Brouwer's theorem is actually

397
00:21:53,550 --> 00:21:55,270
implied by Sperner's lemma.

398
00:21:58,150 --> 00:22:00,610
So in fact, one proof
of Brouwer is actually

399
00:22:00,610 --> 00:22:02,760
going through Sperner.

400
00:22:02,760 --> 00:22:04,670
Here's the high level
proof of the argument.

401
00:22:07,660 --> 00:22:10,580
Given a function-- I'm going
to do it on the square,

402
00:22:10,580 --> 00:22:14,310
on the unit square
in two dimensions.

403
00:22:14,310 --> 00:22:16,140
So suppose I'm given
a continuous function

404
00:22:16,140 --> 00:22:21,220
from the square to itself,
what I'm going to do

405
00:22:21,220 --> 00:22:25,980
is I'm going to prove for all
epsilons-- for all epsilons,

406
00:22:25,980 --> 00:22:29,340
I'm going to show that there
exists an approximate fixed

407
00:22:29,340 --> 00:22:32,730
point with
approximation epsilon.

408
00:22:32,730 --> 00:22:33,990
using Sperner's lemma.

409
00:22:33,990 --> 00:22:36,510
That's what I'm going to
do with Sperner's lemma.

410
00:22:36,510 --> 00:22:39,520
And then I'm going to use
a compactness argument

411
00:22:39,520 --> 00:22:41,220
to get this down to 0.

412
00:22:41,220 --> 00:22:45,275
So I'm going to create in fact
a sequence of approximate fixed

413
00:22:45,275 --> 00:22:48,050
points with smaller
and smaller epsilons.

414
00:22:48,050 --> 00:22:50,700
And I'm going to use
compactness-- remember,

415
00:22:50,700 --> 00:22:53,710
this is a compact set--
to argue that there

416
00:22:53,710 --> 00:22:55,750
is an exact fixed point.

417
00:22:55,750 --> 00:22:58,870
So Sperner's lemma can be
used for this first part

418
00:22:58,870 --> 00:23:00,000
of the proof.

419
00:23:00,000 --> 00:23:03,550
And roughly speaking, the way
it's used is the following.

420
00:23:03,550 --> 00:23:07,590
What you do is you first
triangulate the square.

421
00:23:07,590 --> 00:23:12,030
And the diameter
of your triangles,

422
00:23:12,030 --> 00:23:15,940
which is very rough in this
picture-- the diameter of this

423
00:23:15,940 --> 00:23:20,910
will depend on the constant
of absolute continuity

424
00:23:20,910 --> 00:23:21,920
of your function.

425
00:23:21,920 --> 00:23:25,400
So if the function is
ellipsis, it's just

426
00:23:25,400 --> 00:23:29,120
going to depend on epsilon
and the ellipsis constant.

427
00:23:29,120 --> 00:23:32,820
So depending on the
ellipsisness of the function,

428
00:23:32,820 --> 00:23:36,410
there's going to be a
finer triangulation.

429
00:23:36,410 --> 00:23:40,810
Now having
triangulated the square

430
00:23:40,810 --> 00:23:43,760
and adding this
extra layer outside,

431
00:23:43,760 --> 00:23:46,630
you're going to color the
vertices that are inside

432
00:23:46,630 --> 00:23:49,730
depending on the direction
of the displacements

433
00:23:49,730 --> 00:23:52,670
f of x minus x, using
exactly the same coloring

434
00:23:52,670 --> 00:23:56,570
schema I showed you earlier
for the illustration of how

435
00:23:56,570 --> 00:24:02,510
Nash showed the existence
of equilibria using Brouwer.

436
00:24:02,510 --> 00:24:06,670
So I'm going to color
those internal vertices

437
00:24:06,670 --> 00:24:12,400
using this coloring scheme,
depending on the directions.

438
00:24:12,400 --> 00:24:15,880
And then for the extra layer
that I added on the outside,

439
00:24:15,880 --> 00:24:18,245
I will just use my
standard coloring.

440
00:24:20,780 --> 00:24:23,919
Now what's cool with the
way I chose my colors here--

441
00:24:23,919 --> 00:24:25,460
I mean, this is my
standard coloring,

442
00:24:25,460 --> 00:24:27,610
except I have permuted
the names of colors.

443
00:24:27,610 --> 00:24:29,400
Sorry about that.

444
00:24:29,400 --> 00:24:35,540
I think, you know, red took
the role of blue and stuff

445
00:24:35,540 --> 00:24:36,040
like that.

446
00:24:36,040 --> 00:24:39,160
But it doesn't really matter.

447
00:24:39,160 --> 00:24:40,670
What is cool about
the way I chose

448
00:24:40,670 --> 00:24:44,010
my colors is that
if a point is here,

449
00:24:44,010 --> 00:24:54,645
I know that is not going
to be using-- essentially,

450
00:24:54,645 --> 00:24:56,940
it can only be in the boundary
between red and yellow.

451
00:24:56,940 --> 00:25:02,290
But if you're here, and
the displacement is yellow,

452
00:25:02,290 --> 00:25:04,200
you're going to
be going outside.

453
00:25:04,200 --> 00:25:06,770
That's a bad thing.

454
00:25:06,770 --> 00:25:08,780
So the way I chose
my colors, I know

455
00:25:08,780 --> 00:25:14,320
that some property like
this is going to happen.

456
00:25:14,320 --> 00:25:15,865
Some of the edges
of this cube are

457
00:25:15,865 --> 00:25:17,490
going to be missing
some of the colors.

458
00:25:17,490 --> 00:25:20,410
For example, here, there is no
red, because if there were red,

459
00:25:20,410 --> 00:25:24,300
then I would have to be
going down outside my square.

460
00:25:24,300 --> 00:25:26,300
And my function is mapping
the square to itself.

461
00:25:26,300 --> 00:25:27,760
So that can't happen.

462
00:25:27,760 --> 00:25:34,750
Similarly, over here
I cannot have a yellow

463
00:25:34,750 --> 00:25:36,210
and so on and so forth.

464
00:25:36,210 --> 00:25:41,590
So that's going to be a valid
instance of Sperner's lemma.

465
00:25:41,590 --> 00:25:44,210
And by Sperner, there is
a tri-chromatic triangle

466
00:25:44,210 --> 00:25:44,945
in this scenario.

467
00:25:44,945 --> 00:25:47,080
Here it is.

468
00:25:47,080 --> 00:25:51,290
You could see the fixed
point at the back.

469
00:25:51,290 --> 00:25:53,290
That's a coincidence
actually because I'm going

470
00:25:53,290 --> 00:25:54,540
to do the compactness after.

471
00:25:54,540 --> 00:25:58,930
But I'm going to
do Sperner's lemma.

472
00:25:58,930 --> 00:26:00,610
Now a tri-chromatic
triangle is actually

473
00:26:00,610 --> 00:26:04,290
going to-- one of the corners of
the tri-chromatic triangle will

474
00:26:04,290 --> 00:26:07,710
have this property if you choose
the diameter of your triangles

475
00:26:07,710 --> 00:26:11,730
to be-- it's correctly chosen.

476
00:26:11,730 --> 00:26:15,590
So that's, roughly speaking,
how the proof works.

477
00:26:15,590 --> 00:26:16,390
Yeah?

478
00:26:16,390 --> 00:26:18,450
AUDIENCE: The fact that
Sperner's lemma shows

479
00:26:18,450 --> 00:26:21,110
that there's an odd
number of such triangles

480
00:26:21,110 --> 00:26:25,309
means there's an odd number
of [INAUDIBLE] not carry over?

481
00:26:25,309 --> 00:26:27,100
CONSTANTINOS DASKALAKIS:
This carries over,

482
00:26:27,100 --> 00:26:31,430
except in degenerate games
where it doesn't hold.

483
00:26:31,430 --> 00:26:36,950
But in a non-degenerate
case, it will hold,

484
00:26:36,950 --> 00:26:40,685
not by direct use of Sperner's.

485
00:26:40,685 --> 00:26:44,180
Because Sperner is always going
to go through approximations.

486
00:26:44,180 --> 00:26:46,430
So there is another way to
prove the existence of Nash

487
00:26:46,430 --> 00:26:49,410
equilibria in two player
games using what is called

488
00:26:49,410 --> 00:26:51,380
the Lemke-Howson algorithm.

489
00:26:51,380 --> 00:26:54,070
and this Lemke-Howson
algorithm has a similar flavor

490
00:26:54,070 --> 00:26:54,829
as Sperner.

491
00:26:54,829 --> 00:26:56,620
And it also has an odd
number of solutions.

492
00:26:56,620 --> 00:26:59,310
And this is still true.

493
00:26:59,310 --> 00:27:01,144
So for two player
games, it is still true

494
00:27:01,144 --> 00:27:02,810
that there is an odd
number of solutions

495
00:27:02,810 --> 00:27:04,710
if the game is non-degenerate.

496
00:27:04,710 --> 00:27:08,670
I'm not sure what's the
status of multiplayer games,

497
00:27:08,670 --> 00:27:12,330
because then there are
irrational solutions.

498
00:27:12,330 --> 00:27:17,570
So combinatorics give you
approximations but not

499
00:27:17,570 --> 00:27:20,260
exact fixed points.

500
00:27:20,260 --> 00:27:21,990
Yeah?

501
00:27:21,990 --> 00:27:22,490
So yeah.

502
00:27:22,490 --> 00:27:24,860
So the fact that there is
an odd number of solutions

503
00:27:24,860 --> 00:27:27,980
calls for this combinatorial
problem, Sperner.

504
00:27:27,980 --> 00:27:31,590
But after you do compactness,
then I don't know what happens.

505
00:27:31,590 --> 00:27:33,480
So all bets are off.

506
00:27:33,480 --> 00:27:36,440
But for the specific
case of two player games,

507
00:27:36,440 --> 00:27:40,880
there is an alternative
proof that carries over.

508
00:27:40,880 --> 00:27:41,520
OK?

509
00:27:41,520 --> 00:27:42,200
Cool.

510
00:27:42,200 --> 00:27:42,700
OK.

511
00:27:42,700 --> 00:27:46,320
So these are the three problems
that I'm interested in.

512
00:27:46,320 --> 00:27:48,420
And now it's the
time where I'm going

513
00:27:48,420 --> 00:27:53,120
to get into a bit of
complex theory discussion.

514
00:27:53,120 --> 00:27:55,070
And in fact, this
complex theory discussion

515
00:27:55,070 --> 00:27:59,720
will lead to the fact that NP,
the standard concept that we

516
00:27:59,720 --> 00:28:02,610
use for understanding
complexity,

517
00:28:02,610 --> 00:28:05,334
is not sufficient to
address these problems.

518
00:28:05,334 --> 00:28:06,500
And that will motivate PPAD.

519
00:28:11,810 --> 00:28:15,410
But first of all, let me give
intuition about why Sperner

520
00:28:15,410 --> 00:28:17,450
hard.

521
00:28:17,450 --> 00:28:21,790
And here's the situation
I want to be looking at.

522
00:28:21,790 --> 00:28:26,695
So I want to be looking at
the grid of size 2 to the n.

523
00:28:26,695 --> 00:28:28,570
So in particular, I'm
not going to be drawing

524
00:28:28,570 --> 00:28:30,540
the grid explicitly for you.

525
00:28:30,540 --> 00:28:32,560
And I'm not going to
be listing the colors

526
00:28:32,560 --> 00:28:37,310
of the internal
vertices as a list.

527
00:28:37,310 --> 00:28:40,270
So what I want to do
is I want to create

528
00:28:40,270 --> 00:28:46,000
a succinct description of a
coloring of an exponentially

529
00:28:46,000 --> 00:28:48,240
large instance in
the following way.

530
00:28:48,240 --> 00:28:51,490
So I'm going to be imagining
the existence of this grid

531
00:28:51,490 --> 00:28:54,699
with its boundary colored
in this specific way.

532
00:28:54,699 --> 00:28:56,240
And what I'm going
to give you is I'm

533
00:28:56,240 --> 00:28:59,760
going to give you a
circuit that takes

534
00:28:59,760 --> 00:29:06,520
as input the coordinates of
points inside this square

535
00:29:06,520 --> 00:29:07,450
and outputs a color.

536
00:29:11,620 --> 00:29:16,030
Now so this circuit
only decides the colors

537
00:29:16,030 --> 00:29:18,820
of the vertices inside.

538
00:29:18,820 --> 00:29:23,600
And I fix the colors
of those vertices

539
00:29:23,600 --> 00:29:27,590
to be what is shown
in the picture.

540
00:29:27,590 --> 00:29:32,090
Thus, that's a succinct
description of a coloring of 2

541
00:29:32,090 --> 00:29:33,085
to the 2n vertices.

542
00:29:35,650 --> 00:29:38,810
And this coloring satisfies the
conditions of Sperner's lemma.

543
00:29:41,660 --> 00:29:45,564
In particular, there is
a tri-chromatic triangle.

544
00:29:45,564 --> 00:29:47,230
And what the problem
is asking you to do

545
00:29:47,230 --> 00:29:48,790
is to find such a triangle.

546
00:29:52,570 --> 00:29:55,500
Describing this
triangle can be done

547
00:29:55,500 --> 00:29:58,640
with polynomials complexity
because all you need to do

548
00:29:58,640 --> 00:30:02,280
is to output the coordinates
of the three points

549
00:30:02,280 --> 00:30:03,550
participating in the triangle.

550
00:30:03,550 --> 00:30:05,634
So the output
description-- I'm not

551
00:30:05,634 --> 00:30:07,300
asking you to do
something crazy, right?

552
00:30:07,300 --> 00:30:14,430
So the output can be
described in polynomial size.

553
00:30:14,430 --> 00:30:19,460
The input-- and
what's problematic

554
00:30:19,460 --> 00:30:21,970
with this problem
is that the size

555
00:30:21,970 --> 00:30:23,970
of the graph we're
working with is

556
00:30:23,970 --> 00:30:27,090
exponential in the input size.

557
00:30:27,090 --> 00:30:30,810
So this circuit
has n input bits.

558
00:30:30,810 --> 00:30:34,380
So this graph is in
principle exponentially

559
00:30:34,380 --> 00:30:37,210
large in the description
of the problem.

560
00:30:37,210 --> 00:30:41,290
So in particular, I cannot just
go and check every triangle

561
00:30:41,290 --> 00:30:43,710
about whether it is
tri-chromatic or not.

562
00:30:43,710 --> 00:30:47,710
I have to do something
smarter to solve this problem.

563
00:30:47,710 --> 00:30:52,250
And in fact, we have no other--
essentially, no smart solutions

564
00:30:52,250 --> 00:30:54,821
to this problem.

565
00:30:54,821 --> 00:30:55,320
OK.

566
00:30:55,320 --> 00:30:56,980
So that Sperner's lemma.

567
00:30:56,980 --> 00:30:59,790
That's a way to define
the computational version

568
00:30:59,790 --> 00:31:01,920
of Sperner's lemma.

569
00:31:01,920 --> 00:31:04,380
Similarly, you can
define Nash and Brouwer.

570
00:31:04,380 --> 00:31:05,760
I'm only going to define Nash.

571
00:31:05,760 --> 00:31:07,990
Brouwer is a bit
more complicated.

572
00:31:07,990 --> 00:31:09,930
So in the Nash
problem, I'm giving

573
00:31:09,930 --> 00:31:12,590
a game which is described
by the number of players,

574
00:31:12,590 --> 00:31:16,530
the strategy sets,
which I enumerate,

575
00:31:16,530 --> 00:31:18,850
and the utility
functions of all players.

576
00:31:18,850 --> 00:31:20,560
This is the product
of all the sets.

577
00:31:23,264 --> 00:31:25,430
And I'm also giving you an
approximation requirement

578
00:31:25,430 --> 00:31:26,330
epsilon.

579
00:31:26,330 --> 00:31:29,060
And I'm going to comment
on that in a second.

580
00:31:29,060 --> 00:31:31,340
What I want you to do is
to find an epsilon Nash

581
00:31:31,340 --> 00:31:34,470
equilibrium of this game.

582
00:31:34,470 --> 00:31:37,490
Now what's an epsilon Nash
equilibrium of the game?

583
00:31:37,490 --> 00:31:40,810
An epsilon Nash equilibrium is
a collection of mixed strategies

584
00:31:40,810 --> 00:31:43,820
such that no player has more
than an epsilon incentive

585
00:31:43,820 --> 00:31:46,870
to change his strategy.

586
00:31:46,870 --> 00:31:57,336
So in this definition here, I
would add a minus epsilon here

587
00:31:57,336 --> 00:31:59,324
to make it an epsilon
Nash equilibrium.

588
00:32:03,310 --> 00:32:05,970
So I have not more than
an epsilon incentive

589
00:32:05,970 --> 00:32:07,420
to change my mixed strategy.

590
00:32:07,420 --> 00:32:09,630
That's what an epsilon
Nash equilibrium is.

591
00:32:09,630 --> 00:32:12,700
Now why did I have to define
the problem in this way?

592
00:32:12,700 --> 00:32:14,840
There's a specific
complex theoretic reason

593
00:32:14,840 --> 00:32:18,480
why I'm defining my problem
as an epsilon Nash instead

594
00:32:18,480 --> 00:32:21,967
of an exact Nash equilibrium.

595
00:32:21,967 --> 00:32:22,800
What is that reason?

596
00:32:26,700 --> 00:32:27,387
Yeah

597
00:32:27,387 --> 00:32:30,069
AUDIENCE: Maybe the exact Nash
equilibrium makes [INAUDIBLE].

598
00:32:32,619 --> 00:32:33,910
CONSTANTINOS DASKALAKIS: Right.

599
00:32:33,910 --> 00:32:36,590
So Nash's proof is via
Brouwer's theorem, which

600
00:32:36,590 --> 00:32:39,260
is a topological statement.

601
00:32:39,260 --> 00:32:43,220
And there's no guarantee
that the output-- if I

602
00:32:43,220 --> 00:32:45,930
were to omit this epsilon
from this definition,

603
00:32:45,930 --> 00:32:48,910
there's no guarantee that the
output has polynomial size

604
00:32:48,910 --> 00:32:50,050
complexity.

605
00:32:50,050 --> 00:32:52,930
Maybe a Nash equilibrium
is comprised of irrational

606
00:32:52,930 --> 00:32:57,810
numbers, which I cannot specify.

607
00:32:57,810 --> 00:32:59,060
Maybe it's not even algebraic.

608
00:32:59,060 --> 00:32:59,977
Who knows?

609
00:32:59,977 --> 00:33:00,810
But it is algebraic.

610
00:33:03,360 --> 00:33:05,350
So approximations
are in fact-- Nash,

611
00:33:05,350 --> 00:33:09,450
his paper in '51, not the
original one but the one that

612
00:33:09,450 --> 00:33:11,250
appeared a year later.

613
00:33:11,250 --> 00:33:14,660
He actually provides an
example of a three player game

614
00:33:14,660 --> 00:33:18,600
that only has
irrational equilibria.

615
00:33:18,600 --> 00:33:23,490
So I'm working with epsilons
to avoid this issue.

616
00:33:26,370 --> 00:33:31,010
Coming back to two
player games, you

617
00:33:31,010 --> 00:33:32,730
can actually show
that any two player

618
00:33:32,730 --> 00:33:38,350
game has a rational equilibrium
whose probabilities are

619
00:33:38,350 --> 00:33:42,010
of polynomial complexity in
the description of the game.

620
00:33:42,010 --> 00:33:44,270
So in this specific case
of two player games,

621
00:33:44,270 --> 00:33:45,970
you can actually
omit the epsilon

622
00:33:45,970 --> 00:33:48,790
if you want from the
description of this problem.

623
00:33:48,790 --> 00:33:50,500
But for general
games, you add a third

624
00:33:50,500 --> 00:33:54,000
to make this question
computationally meaningful.

625
00:33:54,000 --> 00:33:54,610
Yeah?

626
00:33:54,610 --> 00:33:56,443
AUDIENCE: Is it always
the case that there's

627
00:33:56,443 --> 00:34:00,720
an equilibrium that's a root
of the polynomial bounded

628
00:34:00,720 --> 00:34:02,750
complexity in the
description of the problem?

629
00:34:02,750 --> 00:34:05,000
CONSTANTINOS DASKALAKIS: I
believe this is true, yeah.

630
00:34:07,310 --> 00:34:08,810
AUDIENCE: Can you
do the same thing?

631
00:34:08,810 --> 00:34:10,518
CONSTANTINOS DASKALAKIS:
You could, yeah.

632
00:34:10,518 --> 00:34:12,527
You could in principle do that.

633
00:34:12,527 --> 00:34:13,860
I'm not going to define Brouwer.

634
00:34:13,860 --> 00:34:16,824
But you can imagine in
Brouwer similar things.

635
00:34:16,824 --> 00:34:18,449
You have to take care
of similar things

636
00:34:18,449 --> 00:34:23,159
and define epsilon approximate
fixed points, et cetera.

637
00:34:23,159 --> 00:34:25,429
Now let's look at NP.

638
00:34:25,429 --> 00:34:27,920
The variant of NP
that I'm interested in

639
00:34:27,920 --> 00:34:33,130
is that of search problems
in NP, so function NP.

640
00:34:33,130 --> 00:34:34,510
I don't want to
bore you, but I'm

641
00:34:34,510 --> 00:34:36,489
going to go through
the definitions.

642
00:34:36,489 --> 00:34:39,780
So a search problem is
defined by a relation

643
00:34:39,780 --> 00:34:43,810
of inputs and solutions
such that a pair x and y

644
00:34:43,810 --> 00:34:47,190
is in this language
defined by this problem

645
00:34:47,190 --> 00:34:49,949
if y is a solution to x.

646
00:34:49,949 --> 00:34:52,420
So I expect you
to know all this.

647
00:34:52,420 --> 00:34:55,600
And I'm going to go fast
through these definitions.

648
00:34:55,600 --> 00:34:59,090
But what's important
here is this definition.

649
00:34:59,090 --> 00:35:01,660
When do we say that
the problem is total?

650
00:35:01,660 --> 00:35:04,080
We say the problem is
total if for every input

651
00:35:04,080 --> 00:35:06,650
there is a y that is a
solution to the problem.

652
00:35:09,210 --> 00:35:12,200
For example, Sperner's
problem is total

653
00:35:12,200 --> 00:35:18,290
because for any instance
of Sperner's problem,

654
00:35:18,290 --> 00:35:19,590
there is actually a solution.

655
00:35:24,720 --> 00:35:30,250
For any input of this form,
you know by Sperner's lemma

656
00:35:30,250 --> 00:35:32,790
that there is a solution.

657
00:35:32,790 --> 00:35:35,690
So that problem is
a total problem.

658
00:35:35,690 --> 00:35:41,520
Similarly, for every input
to Nash, there is a solution.

659
00:35:41,520 --> 00:35:43,140
So these problems
are total problems.

660
00:35:46,665 --> 00:35:49,395
Let's see.

661
00:35:49,395 --> 00:35:50,760
OK.

662
00:35:50,760 --> 00:35:59,480
Now a search problem is
an FNP, function of NP,

663
00:35:59,480 --> 00:36:03,030
if there is a polynomial
time algorithm

664
00:36:03,030 --> 00:36:09,130
and a polynomial function
so that two conditions are

665
00:36:09,130 --> 00:36:11,640
satisfied.

666
00:36:11,640 --> 00:36:18,860
First, if the algorithm
on input x and y is 1,

667
00:36:18,860 --> 00:36:24,580
then and only then y
is a solution to x.

668
00:36:24,580 --> 00:36:28,430
And also for every
input to the problem,

669
00:36:28,430 --> 00:36:32,720
if there is a solution
to that instance,

670
00:36:32,720 --> 00:36:37,490
then there is one whose size
is polynomial in the input

671
00:36:37,490 --> 00:36:38,730
of the problem.

672
00:36:38,730 --> 00:36:42,950
So you have solutions that
are polynomially large.

673
00:36:46,550 --> 00:36:48,470
And so this is FNP.

674
00:36:48,470 --> 00:36:50,895
And TFNP is the
class of problems

675
00:36:50,895 --> 00:36:54,160
that contains all problems
in NP that are total.

676
00:36:54,160 --> 00:36:56,840
And based on the previous
discussion, all the problems

677
00:36:56,840 --> 00:37:02,310
we're interested in, Sperner,
Nash, and Brouwer, are TFNP.

678
00:37:02,310 --> 00:37:02,810
Sorry.

679
00:37:02,810 --> 00:37:03,309
TFNP.

680
00:37:03,309 --> 00:37:08,765
Both in FNP but also in TFNP.

681
00:37:08,765 --> 00:37:10,630
OK.

682
00:37:10,630 --> 00:37:15,010
And I guess let me remind
you about FNP completeness.

683
00:37:15,010 --> 00:37:18,780
A problem in FNP associated
with an algorithm

684
00:37:18,780 --> 00:37:22,396
and a polynomial function
is poly-time reducible

685
00:37:22,396 --> 00:37:25,650
to another one associated
with an algorithm

686
00:37:25,650 --> 00:37:27,130
and a different bound.

687
00:37:27,130 --> 00:37:30,980
If there exist two functions,
f and g, one of them

688
00:37:30,980 --> 00:37:36,760
is mapping inputs to l
to inputs to l prime.

689
00:37:36,760 --> 00:37:38,410
And also, you have
two properties.

690
00:37:38,410 --> 00:37:40,490
And it's important to
look at these properties

691
00:37:40,490 --> 00:37:44,720
carefully because they're
related to a point

692
00:37:44,720 --> 00:37:47,770
that I want to make.

693
00:37:47,770 --> 00:37:50,620
So for the reduction
to be valid,

694
00:37:50,620 --> 00:37:55,340
you also need this property,
that for every x and y,

695
00:37:55,340 --> 00:37:59,900
if the algorithm of problem l
prime on the transformed input

696
00:37:59,900 --> 00:38:04,390
and y says 1, then you
can take that solution

697
00:38:04,390 --> 00:38:08,140
and transform it into a
solution to the instance to l.

698
00:38:08,140 --> 00:38:11,270
This is what it says.

699
00:38:11,270 --> 00:38:15,500
Well, this one says that if
the transform instance has

700
00:38:15,500 --> 00:38:19,380
no solution, then the
original instance also

701
00:38:19,380 --> 00:38:22,940
shouldn't have any solution.

702
00:38:22,940 --> 00:38:26,190
And a search problem is FNP
complete if it's both in FNP,

703
00:38:26,190 --> 00:38:32,510
and every problem in FNP is
polynomial time reducible

704
00:38:32,510 --> 00:38:33,470
to it.

705
00:38:33,470 --> 00:38:36,250
And of course, finding
a satisfying assignment

706
00:38:36,250 --> 00:38:38,230
is FNP complete.

707
00:38:38,230 --> 00:38:41,300
But now we reached the
point that I want to make.

708
00:38:41,300 --> 00:38:46,530
What I want to claim is that
I cannot possibly reduce SAT

709
00:38:46,530 --> 00:38:49,480
to any of the problems
that I'm interested in.

710
00:38:49,480 --> 00:38:54,940
In particular, I cannot show
that there's no Karp reduction

711
00:38:54,940 --> 00:38:58,490
from SAT to any
of these problems.

712
00:38:58,490 --> 00:39:01,370
And the reason is this property.

713
00:39:01,370 --> 00:39:05,920
Recall, this property was saying
that for every input to problem

714
00:39:05,920 --> 00:39:16,000
l, if the y' is a solution
to the transformed instance,

715
00:39:16,000 --> 00:39:19,120
then I can convert that
solution to a solution

716
00:39:19,120 --> 00:39:21,900
to the original instance.

717
00:39:21,900 --> 00:39:27,090
But now if l is SAT, and
this is Sperner, then

718
00:39:27,090 --> 00:39:31,660
no matter how you transform
the SAT instance to a Sperner

719
00:39:31,660 --> 00:39:36,680
instance, there is going to be a
triangle that is tri-chromatic,

720
00:39:36,680 --> 00:39:39,110
setting this to 1.

721
00:39:39,110 --> 00:39:43,360
So I should be able to
then convert this triangle

722
00:39:43,360 --> 00:39:44,840
to a satisfying assignment.

723
00:39:44,840 --> 00:39:48,210
But what if those instances
are unsatisfiable?

724
00:39:48,210 --> 00:39:53,750
That possibly cannot hold
if your two problems are SAT

725
00:39:53,750 --> 00:39:54,770
and Sperner.

726
00:39:54,770 --> 00:39:56,470
So there's no reduction.

727
00:39:56,470 --> 00:40:00,190
There's no Karp reduction
from SAT to Sperner.

728
00:40:00,190 --> 00:40:04,280
So you can't show any of these
problems for that matter.

729
00:40:04,280 --> 00:40:07,050
So you cannot possibly argue
that these problems are FNP

730
00:40:07,050 --> 00:40:09,860
complete.

731
00:40:09,860 --> 00:40:14,670
Another thing you may try is to
get Turing reductions from SAT

732
00:40:14,670 --> 00:40:16,570
to these problems.

733
00:40:16,570 --> 00:40:18,130
But that has other issues.

734
00:40:18,130 --> 00:40:23,690
It basically would imply
that NP equals co-NP.

735
00:40:23,690 --> 00:40:28,330
So there's no way basically.

736
00:40:28,330 --> 00:40:31,440
These types of problems
don't-- if you want type check,

737
00:40:31,440 --> 00:40:32,380
they don't type check.

738
00:40:32,380 --> 00:40:34,300
These are problems
that are total,

739
00:40:34,300 --> 00:40:39,830
and these are problems who's
complexity really resides

740
00:40:39,830 --> 00:40:41,830
with the fact that it's
hard to distinguish

741
00:40:41,830 --> 00:40:47,390
satisfiable and
non-satisfiable instances.

742
00:40:47,390 --> 00:40:50,850
So LP completeness is not the
right language, if you want.

743
00:40:50,850 --> 00:40:54,240
It's not the right framework
to understand the complexity

744
00:40:54,240 --> 00:40:55,447
of these problems.

745
00:40:55,447 --> 00:40:57,530
And the exercise through
which we're going today--

746
00:40:57,530 --> 00:40:59,960
and I think it's
instructive-- is

747
00:40:59,960 --> 00:41:02,900
how to go about
characterizing problems

748
00:41:02,900 --> 00:41:07,990
that don't fit into traditional
complexity theoretic

749
00:41:07,990 --> 00:41:09,769
frameworks.

750
00:41:09,769 --> 00:41:11,560
So in particular, what
I want to understand

751
00:41:11,560 --> 00:41:14,810
is how to go about
defining a complexity

752
00:41:14,810 --> 00:41:20,060
theory of total search
problems inside FNP.

753
00:41:20,060 --> 00:41:22,250
Clearly, these problems
actually are inside FNP.

754
00:41:22,250 --> 00:41:24,070
These are FNP problems.

755
00:41:24,070 --> 00:41:25,670
They're TFNP problems.

756
00:41:25,670 --> 00:41:33,030
So how do you go about coming
up with a complexity theory

757
00:41:33,030 --> 00:41:36,430
of total search problems?

758
00:41:36,430 --> 00:41:41,040
And the way you go
about it is to look

759
00:41:41,040 --> 00:41:47,980
at the proof of existence of
solutions in these problems

760
00:41:47,980 --> 00:41:55,510
and understand the combinatorial
underpinnings of the existence

761
00:41:55,510 --> 00:41:57,240
argument.

762
00:41:57,240 --> 00:42:01,860
So if you want the 100 feet
overview of the methodology

763
00:42:01,860 --> 00:42:04,290
that I'm going to
follow, it's this.

764
00:42:04,290 --> 00:42:08,350
First, I want to identify
the combinatorial argument

765
00:42:08,350 --> 00:42:11,970
of existence responsible for
making all these problems

766
00:42:11,970 --> 00:42:14,880
total problems.

767
00:42:14,880 --> 00:42:18,270
And then I want to define
a complexity class inspired

768
00:42:18,270 --> 00:42:21,470
by this argument of existence.

769
00:42:21,470 --> 00:42:25,320
And the litmus
test of my approach

770
00:42:25,320 --> 00:42:30,390
is if the resulting
complexity class actually

771
00:42:30,390 --> 00:42:33,771
tidily characterizes the
complexity of these problems.

772
00:42:33,771 --> 00:42:35,270
So what I'm going
to do is I'm going

773
00:42:35,270 --> 00:42:37,840
to show you the proof
for Sperner's lemma,

774
00:42:37,840 --> 00:42:42,020
and that's going to inspire
the definition of PPAD.

775
00:42:42,020 --> 00:42:45,570
So this is what I'm going to
do in the next few slides.

776
00:42:45,570 --> 00:42:47,280
So here's the
statement of the lemma.

777
00:42:47,280 --> 00:42:49,390
If your boundary
is legally colored,

778
00:42:49,390 --> 00:42:51,150
then there is
always an odd number

779
00:42:51,150 --> 00:42:56,300
of tri-chromatic triangles,
in particular at least one.

780
00:42:56,300 --> 00:42:57,600
Let me try to prove it for you.

781
00:43:00,610 --> 00:43:02,850
The first thing I'm
going to do says

782
00:43:02,850 --> 00:43:05,940
I'm going to introduce
an artificial vertex

783
00:43:05,940 --> 00:43:10,200
at the bottom left
of the square.

784
00:43:10,200 --> 00:43:11,020
Here it is.

785
00:43:11,020 --> 00:43:14,400
And I'm going to color it blue.

786
00:43:14,400 --> 00:43:18,030
Now no matter how you
color the internal vertices

787
00:43:18,030 --> 00:43:21,740
of this square,
because I have fixed

788
00:43:21,740 --> 00:43:24,460
by coloring on the boundary
to be the one you see here

789
00:43:24,460 --> 00:43:30,020
in this picture, I know that by
adding a blue vertex over here,

790
00:43:30,020 --> 00:43:34,640
I'm creating an artificial
tri-chromatic triangle.

791
00:43:34,640 --> 00:43:39,170
I'm going to call the triangle
the beginning of my walk.

792
00:43:39,170 --> 00:43:45,490
And now I'm going to basically
define a walk in this grid.

793
00:43:45,490 --> 00:43:47,570
Consider this is a big factory.

794
00:43:47,570 --> 00:43:52,470
The factory is partitioned
into triangular rooms.

795
00:43:52,470 --> 00:43:55,760
And I'm starting my walk in
this factory from this vertex

796
00:43:55,760 --> 00:43:59,660
here, from this triangle here.

797
00:43:59,660 --> 00:44:02,500
Now my walk is going to be
doing the following thing.

798
00:44:02,500 --> 00:44:04,970
It's going to be going from
triangle to neighbouring .

799
00:44:04,970 --> 00:44:09,500
Triangle and the transition
rule is the following.

800
00:44:09,500 --> 00:44:12,545
I'm going to look
in the room I'm in,

801
00:44:12,545 --> 00:44:17,720
and I'm going to try to
find a red-yellow door.

802
00:44:17,720 --> 00:44:22,710
If I find such a door, I want
to try to cross it having red

803
00:44:22,710 --> 00:44:24,260
on my left hand.

804
00:44:24,260 --> 00:44:27,290
That's the rule of my walk.

805
00:44:27,290 --> 00:44:29,120
Red-yellow doors.

806
00:44:29,120 --> 00:44:32,230
I want to cross them
with red on my left.

807
00:44:32,230 --> 00:44:34,140
That's important.

808
00:44:34,140 --> 00:44:35,830
I meant to say
yellow on your left.

809
00:44:35,830 --> 00:44:37,120
Sorry about that.

810
00:44:37,120 --> 00:44:38,870
So let's go back
to this picture.

811
00:44:38,870 --> 00:44:42,030
I created these artificial
triangle over here.

812
00:44:42,030 --> 00:44:43,660
I knew it's going
to be tri-chromatic

813
00:44:43,660 --> 00:44:47,030
because it only considers
vertices on the boundary.

814
00:44:47,030 --> 00:44:48,920
And I have fixed the
coloring of the boundary

815
00:44:48,920 --> 00:44:50,899
to be this specific one.

816
00:44:50,899 --> 00:44:53,190
I know it's going to have a
red-yellow door which I can

817
00:44:53,190 --> 00:44:56,470
cross having yellow on my left.

818
00:44:56,470 --> 00:44:59,720
So let me cross that door.

819
00:44:59,720 --> 00:45:03,340
Now I'm entering
into a new room.

820
00:45:03,340 --> 00:45:05,060
In this particular
case, there's nothing

821
00:45:05,060 --> 00:45:07,920
interesting about this
room because this still

822
00:45:07,920 --> 00:45:09,450
touches the boundary.

823
00:45:09,450 --> 00:45:11,840
So no matter how you color
the internal vertices,

824
00:45:11,840 --> 00:45:14,300
you couldn't affect the
coloring of this boundary.

825
00:45:14,300 --> 00:45:17,530
So it's also going to have a
red-yellow door, which I can

826
00:45:17,530 --> 00:45:18,920
cross having yellow on my left.

827
00:45:18,920 --> 00:45:21,820
And the interesting
business starts now.

828
00:45:21,820 --> 00:45:25,520
I entered into a new room, and
depending on your coloring,

829
00:45:25,520 --> 00:45:27,710
maybe it's already
tri-chromatic.

830
00:45:27,710 --> 00:45:30,530
So how do you color
this into blue?

831
00:45:30,530 --> 00:45:32,530
This would already be a
tri-chromatic triangle.

832
00:45:32,530 --> 00:45:33,030
why?

833
00:45:33,030 --> 00:45:35,830
Because you entered that room
through a red-yellow door,

834
00:45:35,830 --> 00:45:40,390
and you encountered
a blue color.

835
00:45:40,390 --> 00:45:43,800
What is cool about it though
is that if it's not blue,

836
00:45:43,800 --> 00:45:46,020
then there's going
to be for sure

837
00:45:46,020 --> 00:45:49,900
another door which you can cross
having yellow on your left.

838
00:45:49,900 --> 00:45:52,120
In this particular
scenario, this was a yellow.

839
00:45:52,120 --> 00:45:52,900
It wasn't a blue.

840
00:45:52,900 --> 00:45:55,530
So this was not a
tri-chromatic triangle.

841
00:45:55,530 --> 00:45:58,872
But because this was a
yellow, I enter a room

842
00:45:58,872 --> 00:46:00,830
through a red-yellow
door, and I find a yellow.

843
00:46:00,830 --> 00:46:02,840
There is for sure
another red-yellow

844
00:46:02,840 --> 00:46:06,780
door I can cross having
yellow on my left.

845
00:46:06,780 --> 00:46:08,410
So this is what I'm going to do.

846
00:46:08,410 --> 00:46:13,765
And I'm going to keep
doing this until-- what

847
00:46:13,765 --> 00:46:15,010
can go wrong, right?

848
00:46:15,010 --> 00:46:18,930
So the claim that I want to make
is that if I keep doing this

849
00:46:18,930 --> 00:46:23,860
procedure, I cannot
exit the factory.

850
00:46:23,860 --> 00:46:25,626
For me to exit
the factory, there

851
00:46:25,626 --> 00:46:29,550
has to be a door on the
boundary which I can

852
00:46:29,550 --> 00:46:32,580
cross having yellow on my left.

853
00:46:32,580 --> 00:46:35,720
Now because-- and that's where
the coloring of the boundary

854
00:46:35,720 --> 00:46:37,150
becomes important.

855
00:46:37,150 --> 00:46:39,200
Because I have fixed the
color of the boundary

856
00:46:39,200 --> 00:46:41,280
to be the one you
see in this picture,

857
00:46:41,280 --> 00:46:43,610
you can verify that there
is no red-yellow door

858
00:46:43,610 --> 00:46:45,100
you can cross to go outside.

859
00:46:47,610 --> 00:46:50,700
The only red-yellow door
that exists is this one.

860
00:46:50,700 --> 00:46:53,370
But if you're inside, you cannot
cross it going to the outside

861
00:46:53,370 --> 00:46:54,790
having yellow on your left.

862
00:46:54,790 --> 00:46:57,020
And that's where having
left on your left hand side

863
00:46:57,020 --> 00:46:59,020
is important.

864
00:46:59,020 --> 00:47:00,860
This is the only
red-yellow door.

865
00:47:00,860 --> 00:47:02,950
But you cannot cross
it going outside.

866
00:47:02,950 --> 00:47:05,100
You can only cross
it going inside.

867
00:47:05,100 --> 00:47:08,410
So you cannot exit the factory.

868
00:47:08,410 --> 00:47:10,510
So your walk is
going to keep going.

869
00:47:13,440 --> 00:47:15,760
And there are two
possibilities now.

870
00:47:15,760 --> 00:47:18,680
So one is that it's
going to keep going.

871
00:47:18,680 --> 00:47:21,275
And then it's going to
enter into a new room

872
00:47:21,275 --> 00:47:23,650
through a red-yellow door,
and it's going to find a blue.

873
00:47:23,650 --> 00:47:26,090
In that case, my
lemma is proven,

874
00:47:26,090 --> 00:47:28,959
not the odd number, but at
least I've proven to you

875
00:47:28,959 --> 00:47:31,500
there is at least one triangle
because I entered into a room.

876
00:47:31,500 --> 00:47:33,030
I found a blue.

877
00:47:33,030 --> 00:47:34,790
I entered through
a red-yellow door.

878
00:47:34,790 --> 00:47:36,740
That's a proof of existence.

879
00:47:36,740 --> 00:47:38,990
But there is one thing
that can go wrong, though.

880
00:47:38,990 --> 00:47:40,130
What is that?

881
00:47:40,130 --> 00:47:41,490
I can loop around.

882
00:47:41,490 --> 00:47:45,900
So what I can do is I can--
so this is my factory.

883
00:47:45,900 --> 00:47:47,130
I started over here.

884
00:47:47,130 --> 00:47:51,450
I start wandering
around this factory.

885
00:47:51,450 --> 00:47:53,935
And then I sort
of got into a room

886
00:47:53,935 --> 00:47:55,460
that I had already
visited before.

887
00:47:55,460 --> 00:47:59,880
And then I get into a
loop, and I go forever.

888
00:47:59,880 --> 00:48:03,550
That's the problem
that may happen.

889
00:48:03,550 --> 00:48:05,720
I claimed over there
that this cannot happen.

890
00:48:05,720 --> 00:48:07,862
Why can it not happen?

891
00:48:07,862 --> 00:48:09,155
AUDIENCE: Coloring.

892
00:48:09,155 --> 00:48:11,363
CONSTANTINOS DASKALAKIS:
Yeah, let's try to color it.

893
00:48:11,363 --> 00:48:13,140
Let's zoom into here.

894
00:48:13,140 --> 00:48:17,980
So this is a room that I
got into at the beginning

895
00:48:17,980 --> 00:48:20,430
through a red-yellow door
having yellow on my left.

896
00:48:20,430 --> 00:48:22,850
So originally, I
got into this room

897
00:48:22,850 --> 00:48:26,540
like this having
yellow on my left.

898
00:48:26,540 --> 00:48:31,440
Then I exited this room
through a red-yellow door

899
00:48:31,440 --> 00:48:32,530
having yellow my left.

900
00:48:32,530 --> 00:48:39,540
So this door, potentially
it was a red here.

901
00:48:39,540 --> 00:48:40,850
So I exited this way.

902
00:48:40,850 --> 00:48:43,850
But then I cannot possibly
enter through this door,

903
00:48:43,850 --> 00:48:45,700
because that's a red-red door.

904
00:48:45,700 --> 00:48:49,610
Or this could be a yellow, in
which case, I exited from here.

905
00:48:49,610 --> 00:48:51,720
But still now I cannot
get back from that door,

906
00:48:51,720 --> 00:48:53,560
because that's a
yellow-yellow door.

907
00:48:53,560 --> 00:48:56,060
So this cannot happen.

908
00:48:56,060 --> 00:49:03,410
So my walk cannot get back
into an already visited room,

909
00:49:03,410 --> 00:49:05,570
and it cannot exit the factory.

910
00:49:05,570 --> 00:49:07,930
So the only thing it
can do is just stop

911
00:49:07,930 --> 00:49:11,140
because there's a finite number
of rooms in this factory.

912
00:49:11,140 --> 00:49:15,530
But the only way it can stop
is if it finds a blue when

913
00:49:15,530 --> 00:49:17,180
it enters a new room.

914
00:49:17,180 --> 00:49:19,349
So that's the
proof of existence.

915
00:49:19,349 --> 00:49:20,890
If you follow my
walk, indeed, you're

916
00:49:20,890 --> 00:49:24,890
going to get into a
tri-chromatic triangle.

917
00:49:24,890 --> 00:49:28,890
And this way, I finished
the first part of the claim.

918
00:49:28,890 --> 00:49:32,370
Any questions about that?

919
00:49:32,370 --> 00:49:33,340
Yeah.

920
00:49:33,340 --> 00:49:35,300
AUDIENCE: The same argument
give you the odd number though?

921
00:49:35,300 --> 00:49:36,924
CONSTANTINOS DASKALAKIS:
It does, yeah.

922
00:49:36,924 --> 00:49:37,524
What is it?

923
00:49:37,524 --> 00:49:38,940
AUDIENCE: If you
find another one,

924
00:49:38,940 --> 00:49:40,709
then it has to [INAUDIBLE].

925
00:49:40,709 --> 00:49:42,000
CONSTANTINOS DASKALAKIS: Right.

926
00:49:42,000 --> 00:49:43,030
Let's try to do that.

927
00:49:43,030 --> 00:49:45,310
So let's start from
a different triangle.

928
00:49:45,310 --> 00:49:46,795
Let's start from here.

929
00:49:46,795 --> 00:49:48,170
But if I start
from here, there's

930
00:49:48,170 --> 00:49:50,280
no red-yellow door I can follow.

931
00:49:50,280 --> 00:49:51,791
So that doesn't
give me anything.

932
00:49:51,791 --> 00:49:53,290
But let's start
with somewhere where

933
00:49:53,290 --> 00:49:54,415
there are red-yellow doors.

934
00:49:54,415 --> 00:49:57,270
So let's start with here.

935
00:49:57,270 --> 00:49:59,630
Now I can follow the
same kind of business.

936
00:49:59,630 --> 00:50:04,310
I can get into doors.

937
00:50:04,310 --> 00:50:06,560
I can cross red-yellow doors
having yellow on my left.

938
00:50:06,560 --> 00:50:10,500
In this case, that got me
into a tri-chromatic triangle.

939
00:50:10,500 --> 00:50:14,150
Now let me go back here and
actually do the word backwards,

940
00:50:14,150 --> 00:50:17,390
so have it going backwards,
having yellow on my left.

941
00:50:17,390 --> 00:50:18,620
So this is what happens.

942
00:50:18,620 --> 00:50:21,520
So I found a
tri-chromatic triangle.

943
00:50:21,520 --> 00:50:23,230
And these actually
came in pairs.

944
00:50:23,230 --> 00:50:26,880
The fact that this gave me a
tri-chromatic triangle must

945
00:50:26,880 --> 00:50:30,860
mean that this has to give you
another one because by the same

946
00:50:30,860 --> 00:50:35,880
token, I cannot sort of get
into a loop while going back.

947
00:50:35,880 --> 00:50:37,740
On the other hand,
there are some triangles

948
00:50:37,740 --> 00:50:41,756
where that would give you-- so
you get another pair over here.

949
00:50:41,756 --> 00:50:44,130
These don't give you anything,
because if you start here,

950
00:50:44,130 --> 00:50:46,510
you don't move.

951
00:50:46,510 --> 00:50:50,170
But here you can get loops.

952
00:50:50,170 --> 00:50:52,740
If you start from the inside,
you can get into a loop.

953
00:50:52,740 --> 00:50:59,310
The point is that all
triangles come in pairs,

954
00:50:59,310 --> 00:51:02,480
except for this walk, which
started with an artificial one.

955
00:51:05,200 --> 00:51:09,190
So all tri-chromatic
triangles come in pairs,

956
00:51:09,190 --> 00:51:12,520
except for the tri-chromatic
triangle that I

957
00:51:12,520 --> 00:51:16,107
found in my original walk.

958
00:51:16,107 --> 00:51:17,815
Thereby, there is an
odd number of those.

959
00:51:21,700 --> 00:51:25,770
So it's kind of-- its
pretty cool, right?

960
00:51:25,770 --> 00:51:29,750
Let me actually try to abstract
this proof a little bit

961
00:51:29,750 --> 00:51:35,640
and sort of focus more onto the
core argument why this happens.

962
00:51:35,640 --> 00:51:36,870
So here's what I did, really.

963
00:51:36,870 --> 00:51:40,230
So this is my
space of triangles.

964
00:51:40,230 --> 00:51:43,050
This is my set of triangles.

965
00:51:43,050 --> 00:51:48,440
I want to define a graph where
the vertices are the triangles.

966
00:51:48,440 --> 00:51:54,950
And the adjacency of
triangles-- so two triangles

967
00:51:54,950 --> 00:51:58,320
are connected if
they share a door,

968
00:51:58,320 --> 00:52:03,490
and you can go from one
triangle into the other one

969
00:52:03,490 --> 00:52:07,170
through this door having
yellow on your left.

970
00:52:07,170 --> 00:52:12,895
So for this reason, all vertices
have out degree and in degree

971
00:52:12,895 --> 00:52:17,850
at most 1 because every
triangle-- no matter how it's

972
00:52:17,850 --> 00:52:20,080
colored-- has at most
one red-yellow door

973
00:52:20,080 --> 00:52:23,950
which you can cross having
yellow on your left to go out.

974
00:52:23,950 --> 00:52:25,630
And it has at most
one door which

975
00:52:25,630 --> 00:52:31,340
you can cross having yellow
on your left going in.

976
00:52:31,340 --> 00:52:35,470
So just the minute definition
of my transition rule,

977
00:52:35,470 --> 00:52:38,250
which was cross a red-yellow
door having yellow

978
00:52:38,250 --> 00:52:41,440
on your left, defined
a graph on the set

979
00:52:41,440 --> 00:52:48,200
of triangles that has in degree
and out degree at most 1.

980
00:52:48,200 --> 00:52:51,920
Now a graph with in degree
and out degree at most 1

981
00:52:51,920 --> 00:52:53,840
is a very simple type of graph.

982
00:52:53,840 --> 00:52:55,750
It looks like this.

983
00:52:55,750 --> 00:52:57,710
It's a bunch of
isolated vertices,

984
00:52:57,710 --> 00:53:00,930
a bunch of directed cycles,
and a bunch of directed paths.

985
00:53:03,690 --> 00:53:10,340
And in fact, the way I
define my position rule,

986
00:53:10,340 --> 00:53:16,070
you could check that all degree
1 nodes must be tri-chromatic.

987
00:53:16,070 --> 00:53:19,260
If you're tri-chromatic,
there is either

988
00:53:19,260 --> 00:53:22,340
one door you can exit,
one red-yellow door

989
00:53:22,340 --> 00:53:24,500
you can exit having
yellow on your left.

990
00:53:24,500 --> 00:53:27,170
Or depending on how the
coloring is, one door

991
00:53:27,170 --> 00:53:30,360
you can use to enter
the triangle having

992
00:53:30,360 --> 00:53:31,920
yellow on your left.

993
00:53:31,920 --> 00:53:38,890
So only tri-chromatic triangles
can have total degree 1.

994
00:53:43,360 --> 00:53:47,420
Isolated vertices are those who
don't have red-yellow doors.

995
00:53:47,420 --> 00:53:53,890
And degree 2 are those who
have two doors, one with which

996
00:53:53,890 --> 00:53:56,374
you can exit having yellow
on your left and one

997
00:53:56,374 --> 00:53:58,540
with which you can enter
having yellow on your left.

998
00:53:58,540 --> 00:54:03,050
So what I want to summarize
is that the mere definition

999
00:54:03,050 --> 00:54:06,980
of my transition rule
defines this graph in a way

1000
00:54:06,980 --> 00:54:12,360
that all these unbalanced
vertices are solutions

1001
00:54:12,360 --> 00:54:14,280
to the Sperner problem.

1002
00:54:14,280 --> 00:54:18,670
All the vertices were solutions
to the Sperner problem.

1003
00:54:18,670 --> 00:54:20,800
And in fact, one
solution was artificial

1004
00:54:20,800 --> 00:54:23,580
because it was that triangle
that I created by adding

1005
00:54:23,580 --> 00:54:25,790
the extra node outside.

1006
00:54:25,790 --> 00:54:29,600
So all degree 1 vertices
are real solutions,

1007
00:54:29,600 --> 00:54:32,278
except one of them.

1008
00:54:32,278 --> 00:54:33,652
And by the structure
of the graph

1009
00:54:33,652 --> 00:54:38,050
then, there has to be an
odd number of solutions.

1010
00:54:38,050 --> 00:54:39,660
This is implied.

1011
00:54:39,660 --> 00:54:42,130
So to summarize,
the mere description

1012
00:54:42,130 --> 00:54:44,760
of my transition rule
defines this graph in a way

1013
00:54:44,760 --> 00:54:48,840
that all unbalanced
vertices are solutions.

1014
00:54:48,840 --> 00:54:53,070
And because these have to
come in pairs by parity,

1015
00:54:53,070 --> 00:54:55,210
there is an even
number of solutions.

1016
00:54:55,210 --> 00:54:56,419
Except one was artificial.

1017
00:54:56,419 --> 00:54:58,335
So hence, there is an
odd number of solutions.

1018
00:55:01,130 --> 00:55:03,840
So in particular,
what I want to argue

1019
00:55:03,840 --> 00:55:06,500
is that all these very
beautiful, very interesting

1020
00:55:06,500 --> 00:55:08,920
theorems that I showed
in the beginning,

1021
00:55:08,920 --> 00:55:14,760
Nash, Brouwer, and Sperner--
the real argument of existence,

1022
00:55:14,760 --> 00:55:18,280
besides sort of
mathematical work,

1023
00:55:18,280 --> 00:55:21,450
mathematical
obfuscation, if you want,

1024
00:55:21,450 --> 00:55:25,480
is this trivial statement
in combinatorics.

1025
00:55:25,480 --> 00:55:30,470
If you have a directed graph
with some unbalanced vertex,

1026
00:55:30,470 --> 00:55:33,090
then there must be
another unbalanced vertex.

1027
00:55:36,750 --> 00:55:38,690
You obviously know this theorem.

1028
00:55:38,690 --> 00:55:40,810
The proof of this
theorem is pretty clear.

1029
00:55:40,810 --> 00:55:43,270
If you have a directed
graph where some node has

1030
00:55:43,270 --> 00:55:48,040
a different number of
outgoing and ingoing edges,

1031
00:55:48,040 --> 00:55:50,780
then there has to be
another such node.

1032
00:55:50,780 --> 00:55:53,400
And effectively,
what I did over here

1033
00:55:53,400 --> 00:55:56,880
is I described a
directed graph, and I

1034
00:55:56,880 --> 00:56:01,180
identified this artificial
vertex, which was unbalanced.

1035
00:56:01,180 --> 00:56:04,860
It only had an ongoing
edge but no incoming edge.

1036
00:56:04,860 --> 00:56:08,990
And by parity, I knew there
must exist another one.

1037
00:56:08,990 --> 00:56:13,040
So in fact, I didn't even
have to use my walk argument

1038
00:56:13,040 --> 00:56:13,680
and stuff.

1039
00:56:13,680 --> 00:56:16,950
All I had to claim is
that the mere definition

1040
00:56:16,950 --> 00:56:19,860
of my transition rule
defined this directed graph.

1041
00:56:19,860 --> 00:56:22,984
And this directed graph
had some unbalanced vertex.

1042
00:56:22,984 --> 00:56:24,650
And I know that
somewhere in this graph,

1043
00:56:24,650 --> 00:56:27,430
there has to be another
unbalanced vertex.

1044
00:56:27,430 --> 00:56:29,284
But all I'm saying is
that the core of it

1045
00:56:29,284 --> 00:56:30,200
is this trivial lemma.

1046
00:56:35,460 --> 00:56:38,180
And now your question will
be, well, what the heck?

1047
00:56:38,180 --> 00:56:39,560
This lemma is trivial.

1048
00:56:39,560 --> 00:56:43,050
So we took so many
algorithms, Karger's class

1049
00:56:43,050 --> 00:56:44,260
and so on and so forth.

1050
00:56:44,260 --> 00:56:45,460
We've worked with graphs.

1051
00:56:45,460 --> 00:56:48,700
We know how to identify
these things, right?

1052
00:56:48,700 --> 00:56:50,780
Given a directed graph,
it's trivial to find

1053
00:56:50,780 --> 00:56:51,800
an unbalanced vertex.

1054
00:56:54,890 --> 00:56:58,000
But the point is that
you can sometimes

1055
00:56:58,000 --> 00:57:03,010
define exponentially
large graphs succinctly.

1056
00:57:03,010 --> 00:57:06,650
And you can ask people to
find your unbalanced vertices

1057
00:57:06,650 --> 00:57:11,200
in exponentially large graphs.

1058
00:57:11,200 --> 00:57:14,890
So that's what PPAD is about.

1059
00:57:14,890 --> 00:57:18,590
In fact, if I give
you a Sperner instance

1060
00:57:18,590 --> 00:57:21,720
by providing you a
circuit, we'd only

1061
00:57:21,720 --> 00:57:25,270
be working with
exponentially many triangles

1062
00:57:25,270 --> 00:57:27,770
in the description
of the circuit.

1063
00:57:27,770 --> 00:57:30,520
So that's why the
problem is difficult.

1064
00:57:30,520 --> 00:57:33,980
The problem is difficult because
the guy we're working with

1065
00:57:33,980 --> 00:57:36,890
is exponentially large in the
description of the problem,

1066
00:57:36,890 --> 00:57:39,180
of the instance.

1067
00:57:39,180 --> 00:57:44,570
So the PPAD class is trying
to capture this structure.

1068
00:57:44,570 --> 00:57:48,130
And we're right about
the point where I'm going

1069
00:57:48,130 --> 00:57:51,860
to define the class formally.

1070
00:57:51,860 --> 00:57:54,800
So you ready for this?

1071
00:57:54,800 --> 00:57:56,280
Oops.

1072
00:57:56,280 --> 00:57:56,780
OK.

1073
00:57:56,780 --> 00:57:59,420
The PPAD class, defined
by Papadimitriou

1074
00:57:59,420 --> 00:58:02,990
in the '90s-- actually,
this is the general version

1075
00:58:02,990 --> 00:58:03,550
of the paper.

1076
00:58:07,430 --> 00:58:12,910
The PPAD class is giving you
an exponentially large graph.

1077
00:58:12,910 --> 00:58:17,830
The vertex set of the
graph is 0, 1 to the n.

1078
00:58:17,830 --> 00:58:20,790
The graph is specified
in a weird way.

1079
00:58:20,790 --> 00:58:26,240
I'm going to give
you two circuits that

1080
00:58:26,240 --> 00:58:31,950
get an n input bit, and n bit
input and have an n bit output.

1081
00:58:34,790 --> 00:58:38,070
And using these two
circuits, I define

1082
00:58:38,070 --> 00:58:41,730
an edge between a string
and another string

1083
00:58:41,730 --> 00:58:45,630
if a weird condition
is satisfied.

1084
00:58:45,630 --> 00:58:48,220
So now we directed
that from v1 to v2

1085
00:58:48,220 --> 00:58:51,160
if this condition is satisfied.

1086
00:58:51,160 --> 00:58:56,290
Let me try to parse
these symbols there.

1087
00:58:56,290 --> 00:58:58,190
But before that, let
me call this circuit

1088
00:58:58,190 --> 00:59:00,700
the possible previous circuit.

1089
00:59:00,700 --> 00:59:05,030
And let me call this circuit
the possible next circuit.

1090
00:59:05,030 --> 00:59:08,910
Now this circuit
takes as input string,

1091
00:59:08,910 --> 00:59:16,430
and it outputs a candidate
neighbor of that string.

1092
00:59:16,430 --> 00:59:22,520
And similarly, this-- sorry, a
candidate father of the string.

1093
00:59:22,520 --> 00:59:24,470
And takes as input
a string and outputs

1094
00:59:24,470 --> 00:59:26,560
a possible child of the string.

1095
00:59:26,560 --> 00:59:30,510
And I only established an edge,
a directed edge from string v1

1096
00:59:30,510 --> 00:59:36,620
to string v2 if string v2
believes that its father is v1,

1097
00:59:36,620 --> 00:59:42,140
and v1 believes that
its child is v2.

1098
00:59:42,140 --> 00:59:46,260
If they agree on their sort
of parenthood relationship,

1099
00:59:46,260 --> 00:59:49,220
I add this edge.

1100
00:59:49,220 --> 00:59:51,210
OK?

1101
00:59:51,210 --> 00:59:55,060
Now you may ask
me, what the heck?

1102
00:59:55,060 --> 00:59:57,970
Why didn't you just define
this graph in a different way?

1103
00:59:57,970 --> 00:59:59,950
Why did you have to
have this possible child

1104
00:59:59,950 --> 01:00:03,200
and possible father
relationship and describe

1105
01:00:03,200 --> 01:00:04,900
the graph in this way?

1106
01:00:04,900 --> 01:00:06,390
And the answer to
this question is

1107
01:00:06,390 --> 01:00:11,840
that no matter-- so the
answer to this question

1108
01:00:11,840 --> 01:00:14,910
is, no matter what
circuit you give me,

1109
01:00:14,910 --> 01:00:18,490
that always defines your graph
with a very specific property

1110
01:00:18,490 --> 01:00:20,320
that we're going to
see in the next slide.

1111
01:00:25,530 --> 01:00:26,770
Back to the definition.

1112
01:00:26,770 --> 01:00:28,853
So I'm going to explain
the intuition behind this.

1113
01:00:28,853 --> 01:00:30,980
But back to the
definition, describe

1114
01:00:30,980 --> 01:00:35,170
an exponentially large graph
by giving these two circuits.

1115
01:00:35,170 --> 01:00:37,090
And I establish the
edges between nodes

1116
01:00:37,090 --> 01:00:39,840
only if this condition is true.

1117
01:00:39,840 --> 01:00:42,220
And what I'll ask you
to do is the following.

1118
01:00:42,220 --> 01:00:48,170
Given these two circuits, if
the all 0 string is unbalanced

1119
01:00:48,170 --> 01:00:52,116
and gives an exponentially
large graph that I defined,

1120
01:00:52,116 --> 01:00:55,430
then I'll ask you to find
another unbalanced node, which

1121
01:00:55,430 --> 01:00:59,900
by parity exists.

1122
01:00:59,900 --> 01:01:05,470
If the 0 string is unbalanced in
this exponentially large graph,

1123
01:01:05,470 --> 01:01:07,180
then by parity
argument, there must

1124
01:01:07,180 --> 01:01:08,897
be another unbalanced node.

1125
01:01:08,897 --> 01:01:09,980
I'm asking you to find it.

1126
01:01:09,980 --> 01:01:13,690
That's the definition of
this end of the line problem.

1127
01:01:13,690 --> 01:01:15,990
And PPAD is the
class of all problems

1128
01:01:15,990 --> 01:01:19,270
that are in FNP
that are poly-time

1129
01:01:19,270 --> 01:01:23,090
reducible to this problem.

1130
01:01:23,090 --> 01:01:24,370
Now this sounds weird.

1131
01:01:24,370 --> 01:01:28,820
So let me show you how the graph
defined by these two circuits

1132
01:01:28,820 --> 01:01:29,464
looks like.

1133
01:01:33,010 --> 01:01:34,510
And this will be
hopefully familiar.

1134
01:01:37,360 --> 01:01:40,320
So I'm copying here the
condition for putting

1135
01:01:40,320 --> 01:01:43,500
an edge between two strings.

1136
01:01:43,500 --> 01:01:47,030
The set of things I'm
looking at is 0, 1 to the n.

1137
01:01:47,030 --> 01:01:50,120
This is the condition for when
I put an edge from string v1

1138
01:01:50,120 --> 01:01:53,090
to string v2.

1139
01:01:53,090 --> 01:01:56,800
Now notice that by
definition, every string

1140
01:01:56,800 --> 01:01:59,790
has at most one possible child.

1141
01:01:59,790 --> 01:02:03,820
And every string has at
most one possible father.

1142
01:02:03,820 --> 01:02:07,850
So the in degrees and
out degrees of this graph

1143
01:02:07,850 --> 01:02:09,010
are at most 1.

1144
01:02:12,680 --> 01:02:16,660
So I'm implicitly describing
a graph that looks like this.

1145
01:02:16,660 --> 01:02:19,010
And what I ask you to do
is to check the following.

1146
01:02:19,010 --> 01:02:22,380
I ask you to check
if 0, the 0 string,

1147
01:02:22,380 --> 01:02:27,000
is unbalanced, meaning it either
has a father but not a child.

1148
01:02:27,000 --> 01:02:30,580
Or it has a child
but not a father.

1149
01:02:30,580 --> 01:02:34,290
If it's balanced, you
don't need to do any work.

1150
01:02:34,290 --> 01:02:37,130
But if it's unbalanced, which
is easy to check locally--

1151
01:02:37,130 --> 01:02:40,770
you just query the candidate
next child and check

1152
01:02:40,770 --> 01:02:46,690
if that child believes that 0
is its father or vice versa.

1153
01:02:46,690 --> 01:02:50,450
If 0 to the n is
unbalanced, then by parity,

1154
01:02:50,450 --> 01:02:51,900
because the graph
looks like this,

1155
01:02:51,900 --> 01:02:54,930
there must be some other
unbalanced vertex, at least

1156
01:02:54,930 --> 01:02:55,820
one.

1157
01:02:55,820 --> 01:02:57,195
And I'm asking
you to find me any

1158
01:02:57,195 --> 01:02:59,070
of these unbalanced vertices.

1159
01:02:59,070 --> 01:03:02,390
So in particular, you don't need
to find the unbalanced vertex

1160
01:03:02,390 --> 01:03:05,975
that's in the other end of the
path that starts at 0 to the n

1161
01:03:05,975 --> 01:03:08,714
or finishes at 0 to the n.

1162
01:03:08,714 --> 01:03:10,880
You can give me any of the
other unbalanced vertices

1163
01:03:10,880 --> 01:03:12,230
if there are any.

1164
01:03:12,230 --> 01:03:13,760
But by parity, I
know that there is

1165
01:03:13,760 --> 01:03:17,500
at least one unbalanced vertex.

1166
01:03:17,500 --> 01:03:19,650
So PPAD is this problem.

1167
01:03:19,650 --> 01:03:22,730
I describe an
exponentially large graph

1168
01:03:22,730 --> 01:03:25,830
by giving you two circuits.

1169
01:03:25,830 --> 01:03:28,870
Now no matter what
circuits I gave you,

1170
01:03:28,870 --> 01:03:30,302
I know the graph
looks like this.

1171
01:03:33,010 --> 01:03:36,430
Now in this graph, if 0
to the n is unbalanced--

1172
01:03:36,430 --> 01:03:38,220
if a 0 string is
unbalanced, you know

1173
01:03:38,220 --> 01:03:40,740
that there must be
another unbalanced vertex.

1174
01:03:40,740 --> 01:03:43,830
Any of them is good as a
solution to the problem.

1175
01:03:43,830 --> 01:03:44,990
Yeah?

1176
01:03:44,990 --> 01:03:47,220
AUDIENCE: So how then do
we know that 0 to the n

1177
01:03:47,220 --> 01:03:49,860
doesn't point to a
previous other string that

1178
01:03:49,860 --> 01:03:52,160
points to 0 to the n?

1179
01:03:52,160 --> 01:03:53,860
How do we know that 0 to the n--

1180
01:03:53,860 --> 01:03:56,290
CONSTANTINOS DASKALAKIS: So
in that-- no, it can happen.

1181
01:03:56,290 --> 01:04:00,060
It could be that
this is 0 to the n.

1182
01:04:00,060 --> 01:04:07,730
It has a child that believes
that this is its father.

1183
01:04:07,730 --> 01:04:12,110
And also, v believes that
0 to the n is its child.

1184
01:04:12,110 --> 01:04:15,220
And 0 to the n believes
that this is the father.

1185
01:04:15,220 --> 01:04:18,280
This creates a 0 to the
n which is balanced.

1186
01:04:18,280 --> 01:04:21,604
In that case, you don't
need to do any work.

1187
01:04:21,604 --> 01:04:23,020
So the statement
of the problem is

1188
01:04:23,020 --> 01:04:28,070
asking you to do work only
if 0 to the n is unbalanced.

1189
01:04:28,070 --> 01:04:31,450
So end of the line
tells you if 0 to the n

1190
01:04:31,450 --> 01:04:34,340
is unbalanced, which you can
trivially check locally-- you

1191
01:04:34,340 --> 01:04:36,520
don't need to look
at the whole graph

1192
01:04:36,520 --> 01:04:40,980
to decide whether 0 to
the n is balanced or not.

1193
01:04:40,980 --> 01:04:43,950
So to decide whether 0
to the n is balanced,

1194
01:04:43,950 --> 01:04:45,170
you need four queries.

1195
01:04:45,170 --> 01:04:48,307
AUDIENCE: Couldn't you have
an exponentially long segment?

1196
01:04:48,307 --> 01:04:50,140
CONSTANTINOS DASKALAKIS:
Yeah, but the point

1197
01:04:50,140 --> 01:04:51,590
is-- that's the whole point.

1198
01:04:51,590 --> 01:04:56,836
So if I query-- if v--

1199
01:04:56,836 --> 01:04:57,830
AUDIENCE: I see.

1200
01:04:57,830 --> 01:05:00,880
CONSTANTINOS DASKALAKIS: is the
possible parent of 0 to the n,

1201
01:05:00,880 --> 01:05:10,250
and u is the possible
child of 0 to the n,

1202
01:05:10,250 --> 01:05:12,830
then the state of the
world could be this.

1203
01:05:18,000 --> 01:05:19,080
It could be this.

1204
01:05:19,080 --> 01:05:23,790
Now if also this guy believes
that 0 to the n is his father,

1205
01:05:23,790 --> 01:05:26,570
I'm going to make
this edge solid.

1206
01:05:26,570 --> 01:05:29,440
That's the fourth query I'm
going to make to my circuits.

1207
01:05:29,440 --> 01:05:33,220
If this guy believes that
0 to the n is his father,

1208
01:05:33,220 --> 01:05:35,680
I'm going to also
make this edge solid.

1209
01:05:35,680 --> 01:05:38,710
If both are solid, then
0 to the n is balanced.

1210
01:05:38,710 --> 01:05:40,680
I don't need to do any work.

1211
01:05:40,680 --> 01:05:43,150
If this is missing, then
0 to the n unbalanced.

1212
01:05:43,150 --> 01:05:45,390
I need to do work and
so on and so forth.

1213
01:05:45,390 --> 01:05:46,210
OK?

1214
01:05:46,210 --> 01:05:48,335
But with four queries
to my circuits--

1215
01:05:48,335 --> 01:05:50,230
so in polynomial
time in particular

1216
01:05:50,230 --> 01:05:52,930
in the description of my input--
I can decide whether 0 to the n

1217
01:05:52,930 --> 01:05:55,277
is balanced or not.

1218
01:05:55,277 --> 01:05:57,610
And if it's unbalanced, then
I need to do a lot of work.

1219
01:05:57,610 --> 01:06:01,320
And in fact, we have no
better than exponential

1220
01:06:01,320 --> 01:06:03,930
bound for how long it
will take me to find

1221
01:06:03,930 --> 01:06:07,132
the other unbalanced node.

1222
01:06:07,132 --> 01:06:09,257
AUDIENCE: Can you make all
such graphs of this type

1223
01:06:09,257 --> 01:06:12,610
with small circuits?

1224
01:06:12,610 --> 01:06:14,050
CONSTANTINOS DASKALAKIS: Mm-mm.

1225
01:06:14,050 --> 01:06:15,770
I mean, no.

1226
01:06:15,770 --> 01:06:19,890
I mean, you're asking, if I pick
an arbitrary exponential graph,

1227
01:06:19,890 --> 01:06:25,200
if it's always compressible
into polynomial size?

1228
01:06:25,200 --> 01:06:27,670
I mean, it depends on
how phrase the question.

1229
01:06:27,670 --> 01:06:33,760
So if you allow me to get a
huge p-- p is part of the input.

1230
01:06:33,760 --> 01:06:35,130
p is a part of the input.

1231
01:06:35,130 --> 01:06:38,390
So now if p is a
lookup table, that's

1232
01:06:38,390 --> 01:06:41,010
a trivial instance, actually.

1233
01:06:41,010 --> 01:06:44,270
So the instances that
are hard are those

1234
01:06:44,270 --> 01:06:46,140
where p is a succinct thing.

1235
01:06:46,140 --> 01:06:49,112
It's polynomially in n
size but still defines

1236
01:06:49,112 --> 01:06:50,320
an exponentially large graph.

1237
01:06:50,320 --> 01:06:52,810
If p is a huge thing,
a lookup table that

1238
01:06:52,810 --> 01:06:55,640
keeps track of all
connectivities of all vertices

1239
01:06:55,640 --> 01:06:58,810
with each other, we're getting
into algorithms territory,

1240
01:06:58,810 --> 01:07:02,430
where I give you an adjacency
list for every node.

1241
01:07:02,430 --> 01:07:05,970
So this is a purely
algorithmic problem

1242
01:07:05,970 --> 01:07:08,050
that we can trivially solve.

1243
01:07:08,050 --> 01:07:11,270
So if I get into the regime
where my p, my circuit

1244
01:07:11,270 --> 01:07:15,820
description, is polynomial
in the size of the graph,

1245
01:07:15,820 --> 01:07:18,970
that's an easy instance.

1246
01:07:18,970 --> 01:07:21,067
But if you're
asking the question,

1247
01:07:21,067 --> 01:07:23,150
can I always compress an
exponentially large graph

1248
01:07:23,150 --> 01:07:27,680
into two circuits, p and n,
that are polynomial in size,

1249
01:07:27,680 --> 01:07:29,950
then that's not the case.

1250
01:07:29,950 --> 01:07:30,660
OK.

1251
01:07:30,660 --> 01:07:34,630
So PPAD-- notice that this
end of the line problem

1252
01:07:34,630 --> 01:07:38,930
is in FNP because I can just
guess the unbalanced vertex,

1253
01:07:38,930 --> 01:07:40,700
different than the 0 string.

1254
01:07:40,700 --> 01:07:43,430
And I can check
easily if it's also

1255
01:07:43,430 --> 01:07:45,780
unbalanced with four queries.

1256
01:07:45,780 --> 01:07:47,730
So it is in FNP.

1257
01:07:47,730 --> 01:07:52,690
And I hope you believe me
that Sperner isn't PPAD,

1258
01:07:52,690 --> 01:07:55,090
because just the
proof of Sperner

1259
01:07:55,090 --> 01:07:57,190
was exactly the
same kind of thing.

1260
01:07:57,190 --> 01:07:59,760
So I succinctly
described this graph that

1261
01:07:59,760 --> 01:08:01,640
had exactly the same structure.

1262
01:08:01,640 --> 01:08:04,320
So really, what inspired
the definition of this class

1263
01:08:04,320 --> 01:08:07,980
is the proof of Sperner's lemma.

1264
01:08:07,980 --> 01:08:13,320
Now I sort of argued that you
can prove Brouwer via Sperner.

1265
01:08:13,320 --> 01:08:17,899
I gave this hand wave-y, high
level picture showing that.

1266
01:08:17,899 --> 01:08:20,189
And also Nash through Brouwer.

1267
01:08:20,189 --> 01:08:23,390
So in fact, PPAD definitely
contains the problems

1268
01:08:23,390 --> 01:08:25,510
that I'm interested in.

1269
01:08:25,510 --> 01:08:26,602
That was the litmus test.

1270
01:08:26,602 --> 01:08:28,560
The litmus test is I went
through this exercise

1271
01:08:28,560 --> 01:08:31,899
to define this class PPAD
based on the existence

1272
01:08:31,899 --> 01:08:35,240
proof of Sperner's lemma.

1273
01:08:35,240 --> 01:08:38,130
And I successful got all
these interesting problems

1274
01:08:38,130 --> 01:08:39,899
inside PPAD.

1275
01:08:39,899 --> 01:08:46,750
But the litmus test is--
the success of my exercise

1276
01:08:46,750 --> 01:08:51,810
is whether I get also
tight reductions.

1277
01:08:51,810 --> 01:08:54,770
So if I also get that
these problems are

1278
01:08:54,770 --> 01:08:56,510
as hard as any other
problem in PPAD,

1279
01:08:56,510 --> 01:08:59,510
now I can call my
thing successful.

1280
01:08:59,510 --> 01:09:04,410
So in particular, as an
example, the definition of NP

1281
01:09:04,410 --> 01:09:08,229
is that SAT is NP complete.

1282
01:09:08,229 --> 01:09:11,850
So NP was defined
with SAT in mind.

1283
01:09:14,640 --> 01:09:17,430
But it also captured exactly
the complexity of SAT.

1284
01:09:17,430 --> 01:09:19,020
So that was a
successful definition

1285
01:09:19,020 --> 01:09:20,620
of a complexity class.

1286
01:09:20,620 --> 01:09:23,990
So the litmus test for this
exercise that I went through

1287
01:09:23,990 --> 01:09:26,945
with you is whether
actually those problems

1288
01:09:26,945 --> 01:09:30,660
that I'm interested in
are also PPAD complete.

1289
01:09:30,660 --> 01:09:35,279
So what we showed with
Goldberg and Papadimitriou

1290
01:09:35,279 --> 01:09:37,840
a bunch of-- I guess
10 years ago almost--

1291
01:09:37,840 --> 01:09:41,520
is that actually the opposite
reductions are also true,

1292
01:09:41,520 --> 01:09:46,540
that all these problems are
computationally equivalent.

1293
01:09:46,540 --> 01:09:50,830
In fact, I didn't show that
these are equivalent to PPAD.

1294
01:09:50,830 --> 01:09:52,200
These were already known.

1295
01:09:52,200 --> 01:09:54,700
These results were already
known since Papadimitriou's

1296
01:09:54,700 --> 01:09:57,780
original paper,
that PPAD exactly

1297
01:09:57,780 --> 01:10:01,110
is equivalent to
Sperner and Brouwer.

1298
01:10:01,110 --> 01:10:02,860
What we show together
is that Nash also

1299
01:10:02,860 --> 01:10:05,399
is equivalent, is in the
same league of problems,

1300
01:10:05,399 --> 01:10:07,440
basically establishing
that all of these problems

1301
01:10:07,440 --> 01:10:08,787
are computationally equivalent.

1302
01:10:08,787 --> 01:10:11,120
Finding a Nash equilibrium
is a computational equivalent

1303
01:10:11,120 --> 01:10:13,730
to Sperner's lemma,
computationally equivalent

1304
01:10:13,730 --> 01:10:17,350
to any problem in PPAD
and so on and so forth.

1305
01:10:17,350 --> 01:10:20,790
And the high level
of the reduction--

1306
01:10:20,790 --> 01:10:22,800
I'm going to hand
wave about it--

1307
01:10:22,800 --> 01:10:26,750
is that we started this
generic PPAD instance.

1308
01:10:26,750 --> 01:10:30,930
And what we do is we envision
embedding this instance

1309
01:10:30,930 --> 01:10:32,550
into some geometry.

1310
01:10:36,100 --> 01:10:38,070
Because this a
combinatorial problem,

1311
01:10:38,070 --> 01:10:39,910
our goal eventually
is to reduce it

1312
01:10:39,910 --> 01:10:45,950
to Brouwer and to Nash, which
are continuous problems.

1313
01:10:45,950 --> 01:10:49,530
So the first thing we did is
we embed this graph into a cube

1314
01:10:49,530 --> 01:10:53,070
in a way that's sort of like
every path or cycle corresponds

1315
01:10:53,070 --> 01:10:59,950
to a path that moves
around this cube

1316
01:10:59,950 --> 01:11:01,760
without intersecting itself.

1317
01:11:01,760 --> 01:11:03,490
So this is the
first thing we do.

1318
01:11:03,490 --> 01:11:10,160
Then we find a way to solve
the resulting embedded PPAD

1319
01:11:10,160 --> 01:11:15,850
instance, reduce it to
a Sperner's instance.

1320
01:11:15,850 --> 01:11:18,670
And then in fact, the
core of the proof--

1321
01:11:18,670 --> 01:11:22,320
and I'm going to actually
talk about this more--

1322
01:11:22,320 --> 01:11:28,370
is to reduce this problem
into a problem that

1323
01:11:28,370 --> 01:11:33,080
asks you to evaluate
an arithmetic circuit.

1324
01:11:33,080 --> 01:11:37,240
Now after you get that PPAD
reduces to this evaluation

1325
01:11:37,240 --> 01:11:42,120
problem, it's really-- I call it
approximate arithmetic circuit

1326
01:11:42,120 --> 01:11:43,130
SAT.

1327
01:11:43,130 --> 01:11:45,260
So I'm going to get
into what this means.

1328
01:11:45,260 --> 01:11:47,990
But it's really a
satisfiability problem

1329
01:11:47,990 --> 01:11:49,470
for arithmetic circuits.

1330
01:11:49,470 --> 01:11:53,130
But after you get PPAD to
reduce to this problem,

1331
01:11:53,130 --> 01:11:57,880
it's easy to get to Nash and
all the other implications,

1332
01:11:57,880 --> 01:12:01,820
all the other known PPAD
completeness reductions

1333
01:12:01,820 --> 01:12:03,960
that people have established.

1334
01:12:03,960 --> 01:12:07,060
So what I want to describe is
what this problem is about.

1335
01:12:10,090 --> 01:12:14,960
It's the equivalent of circuit
SAT, which is NP complete.

1336
01:12:14,960 --> 01:12:17,850
This is called
arithmetic circuit SATs,

1337
01:12:17,850 --> 01:12:20,220
and I'm going to show
you what it means.

1338
01:12:20,220 --> 01:12:20,880
Question?

1339
01:12:20,880 --> 01:12:23,770
AUDIENCE: So in the
course of this reduction,

1340
01:12:23,770 --> 01:12:26,610
do we get to replay
our game for Nash,

1341
01:12:26,610 --> 01:12:28,720
like does this three
carry through to the--

1342
01:12:28,720 --> 01:12:29,180
CONSTANTINOS DASKALAKIS: Yes.

1343
01:12:29,180 --> 01:12:30,513
So you get actually two players.

1344
01:12:30,513 --> 01:12:32,284
You can get two player Nash.

1345
01:12:32,284 --> 01:12:33,220
Yeah.

1346
01:12:33,220 --> 01:12:36,310
So it establishes
that all games are--

1347
01:12:36,310 --> 01:12:38,020
if they're not two
player zero-sum,

1348
01:12:38,020 --> 01:12:40,120
they are PPAD complete.

1349
01:12:40,120 --> 01:12:44,150
So the input to the
problem is a circuit.

1350
01:12:44,150 --> 01:12:47,810
The circuit comprises two
kinds of nodes, viable nodes

1351
01:12:47,810 --> 01:12:49,560
and gates.

1352
01:12:49,560 --> 01:12:53,320
So gates are represented
with solid circles.

1353
01:12:53,320 --> 01:12:59,230
Viable nodes are with-- I
don't know-- empty circles.

1354
01:12:59,230 --> 01:13:01,290
So the viable nodes
are x1 through xn.

1355
01:13:01,290 --> 01:13:04,050
The gate's nodes
are g1 through gm.

1356
01:13:04,050 --> 01:13:08,230
Now the gates can--
I can choose gates

1357
01:13:08,230 --> 01:13:12,590
from the following
set of possible gates.

1358
01:13:12,590 --> 01:13:15,890
I'm going to explain what
these gates are meant to do.

1359
01:13:15,890 --> 01:13:17,380
But this is an assignment gate.

1360
01:13:17,380 --> 01:13:19,140
This is a plus addition gate.

1361
01:13:19,140 --> 01:13:21,100
This is a subtraction gate.

1362
01:13:21,100 --> 01:13:24,450
This is set equal
to a constant gate.

1363
01:13:24,450 --> 01:13:28,430
This is times a constant gate,
and this is a comparison gate.

1364
01:13:28,430 --> 01:13:31,110
The subtraction and
comparison gates

1365
01:13:31,110 --> 01:13:32,600
are non-symmetric
in their inputs.

1366
01:13:32,600 --> 01:13:36,160
So they have a special input
1 and a special input 2,

1367
01:13:36,160 --> 01:13:40,100
similarly for the
comparison gate.

1368
01:13:40,100 --> 01:13:43,020
And I also have directed
edges that connect variables

1369
01:13:43,020 --> 01:13:44,750
to gates and vice versa.

1370
01:13:44,750 --> 01:13:46,910
But there are no edges
between variables.

1371
01:13:46,910 --> 01:13:49,630
So there are no edges
between the gates.

1372
01:13:49,630 --> 01:13:51,490
And also, the loops are allowed.

1373
01:13:51,490 --> 01:13:52,390
That's important.

1374
01:13:52,390 --> 01:13:53,440
So you can have loops.

1375
01:13:53,440 --> 01:13:54,815
For example, in
this picture, you

1376
01:13:54,815 --> 01:13:57,020
have a loop between vertices.

1377
01:13:57,020 --> 01:14:00,270
And actually, there are
no inputs to the circuit.

1378
01:14:00,270 --> 01:14:02,910
In circuit SAT, you
want to set the input

1379
01:14:02,910 --> 01:14:04,169
so that the output is 1.

1380
01:14:04,169 --> 01:14:05,210
And you don't have loops.

1381
01:14:05,210 --> 01:14:06,280
You have a DAG.

1382
01:14:06,280 --> 01:14:08,880
And your gates are
just binary gates.

1383
01:14:08,880 --> 01:14:10,940
Here we're in a
different situation.

1384
01:14:10,940 --> 01:14:13,030
We don't have inputs.

1385
01:14:13,030 --> 01:14:15,312
Our gates can have loops.

1386
01:14:15,312 --> 01:14:16,270
And they're not binary.

1387
01:14:16,270 --> 01:14:18,820
They're arithmetic gates.

1388
01:14:18,820 --> 01:14:27,440
The goal is to assign 0,
1 values to the variables

1389
01:14:27,440 --> 01:14:30,450
so that the gate
constraints are satisfied.

1390
01:14:30,450 --> 01:14:33,010
So now what are the
gate constraints?

1391
01:14:33,010 --> 01:14:35,310
So the output of
an assignment gate

1392
01:14:35,310 --> 01:14:39,390
should equal the input
to the assignment gate.

1393
01:14:39,390 --> 01:14:43,250
If we have an addition gate,
the output of the addition gate

1394
01:14:43,250 --> 01:14:47,590
should be the sum of the
inputs, except everything

1395
01:14:47,590 --> 01:14:48,610
should line 0, 1.

1396
01:14:48,610 --> 01:14:52,640
So it's the minimum between
the sum of inputs and 1.

1397
01:14:55,520 --> 01:14:57,100
The subtraction gate is similar.

1398
01:14:57,100 --> 01:14:59,100
So the output to
the subtraction gate

1399
01:14:59,100 --> 01:15:01,640
is the difference of the inputs.

1400
01:15:01,640 --> 01:15:05,230
But you can't go below 0.

1401
01:15:05,230 --> 01:15:09,400
The set equal gate is-- set
equal to a constant gate

1402
01:15:09,400 --> 01:15:12,080
is sets y to ba.

1403
01:15:12,080 --> 01:15:17,000
But it doesn't allow
it to leave 0, 1.

1404
01:15:17,000 --> 01:15:20,150
And then multiply by
constant gate multiplies

1405
01:15:20,150 --> 01:15:22,150
the input with alpha, with a.

1406
01:15:22,150 --> 01:15:27,730
But also it doesn't allow
it to go below 0 or above 1.

1407
01:15:27,730 --> 01:15:32,280
And these are pretty
straightforward.

1408
01:15:32,280 --> 01:15:34,330
What is slightly weird
is the comparison gate,

1409
01:15:34,330 --> 01:15:36,800
which has a weird
behavior and actually must

1410
01:15:36,800 --> 01:15:39,460
have this behavior for the
problem to be PPAD complete.

1411
01:15:39,460 --> 01:15:41,210
You can show that.

1412
01:15:41,210 --> 01:15:45,440
The comparison
gate has to be a 1.

1413
01:15:45,440 --> 01:15:47,872
The output has to be a
1 if the first input is

1414
01:15:47,872 --> 01:15:49,080
bigger than the second input.

1415
01:15:49,080 --> 01:15:52,155
It has to be a 0 if this
first input is smaller.

1416
01:15:52,155 --> 01:15:54,460
But if they're equal,
it can be anything.

1417
01:15:54,460 --> 01:15:56,852
It's allowed to be anything.

1418
01:15:56,852 --> 01:15:59,060
Actually, if you think about
it as a continuous gate,

1419
01:15:59,060 --> 01:16:02,780
it cannot just jump from 0 to 1
without being able to take all

1420
01:16:02,780 --> 01:16:06,510
the intermediate values.

1421
01:16:06,510 --> 01:16:07,499
OK?

1422
01:16:07,499 --> 01:16:08,290
It can be anything.

1423
01:16:08,290 --> 01:16:10,164
Any value is allowed if
the inputs are equal.

1424
01:16:12,640 --> 01:16:18,170
So that's the
arithmetic circuit SAT

1425
01:16:18,170 --> 01:16:21,750
problem that is PPAD complete.

1426
01:16:21,750 --> 01:16:24,150
First of all, this
problem is total.

1427
01:16:24,150 --> 01:16:26,580
No matter what circuit
you write down,

1428
01:16:26,580 --> 01:16:28,350
I can prove to you
that there is always

1429
01:16:28,350 --> 01:16:31,120
an evaluation that works.

1430
01:16:31,120 --> 01:16:32,730
That's not a priori obvious.

1431
01:16:32,730 --> 01:16:35,170
It's not a priori obvious
that no matter what

1432
01:16:35,170 --> 01:16:38,270
circuit I describe
using these gates

1433
01:16:38,270 --> 01:16:41,400
has a satisfying assignment.

1434
01:16:41,400 --> 01:16:42,727
But I claim this is true.

1435
01:16:42,727 --> 01:16:44,060
I'm not going to show it to you.

1436
01:16:44,060 --> 01:16:45,600
It is true though.

1437
01:16:45,600 --> 01:16:48,950
And it must be true because this
problem belongs in this family

1438
01:16:48,950 --> 01:16:50,160
of PPAD complete problems.

1439
01:16:50,160 --> 01:16:52,910
So it has to also inherit
all the properties

1440
01:16:52,910 --> 01:16:56,000
that this class of
problems shares.

1441
01:16:56,000 --> 01:16:58,090
Now let's try to
work out the details

1442
01:16:58,090 --> 01:17:01,150
of what the computation is.

1443
01:17:01,150 --> 01:17:01,650
OK.

1444
01:17:01,650 --> 01:17:07,720
So I want to argue
that in this-- I

1445
01:17:07,720 --> 01:17:10,890
want to claim that the only
satisfying assignment is

1446
01:17:10,890 --> 01:17:15,110
that everything is
equal to 1/2 actually.

1447
01:17:15,110 --> 01:17:17,720
And let's try to verify it.

1448
01:17:17,720 --> 01:17:22,960
So suppose that a was
not-- actually, no.

1449
01:17:22,960 --> 01:17:24,960
I take that back.

1450
01:17:24,960 --> 01:17:31,130
So a must be 1/2, and b can be--
no, actually they're all 1/2.

1451
01:17:31,130 --> 01:17:32,200
Sorry, sorry.

1452
01:17:32,200 --> 01:17:33,546
They're all 1/2.

1453
01:17:33,546 --> 01:17:34,540
I don't take it back.

1454
01:17:34,540 --> 01:17:35,900
So let me try to argue that.

1455
01:17:35,900 --> 01:17:39,850
So suppose that a
was bigger than 1/2.

1456
01:17:39,850 --> 01:17:41,510
So c must be 1/2, right?

1457
01:17:41,510 --> 01:17:44,260
That's by the
condition of the gate.

1458
01:17:44,260 --> 01:17:46,050
This is set equal to 1/2.

1459
01:17:46,050 --> 01:17:47,630
So this must be 1/2.

1460
01:17:47,630 --> 01:17:49,760
That's obvious.

1461
01:17:49,760 --> 01:17:54,340
Now I claim that a cannot
be bigger than 1/2.

1462
01:17:54,340 --> 01:17:59,420
If a was bigger
than 1/2, then this

1463
01:17:59,420 --> 01:18:01,860
is bigger than this input
of the comparison gate.

1464
01:18:01,860 --> 01:18:04,890
So the comparison
gate would output a 0.

1465
01:18:04,890 --> 01:18:06,830
But this set equal
operation would

1466
01:18:06,830 --> 01:18:09,000
have to set this guy to be 0.

1467
01:18:09,000 --> 01:18:10,780
So 0 can't be bigger than 1/2.

1468
01:18:13,350 --> 01:18:15,110
Let's do the other direction.

1469
01:18:15,110 --> 01:18:17,700
Suppose a was smaller than 1/2.

1470
01:18:17,700 --> 01:18:20,920
If a was smaller than 1/2,
then the comparison gate

1471
01:18:20,920 --> 01:18:22,250
would [INAUDIBLE] 1.

1472
01:18:22,250 --> 01:18:24,020
This would set it to 1.

1473
01:18:24,020 --> 01:18:26,390
So how can 1 be
smaller than 1/2?

1474
01:18:26,390 --> 01:18:29,600
So the only possibility
is that it's actually 1/2.

1475
01:18:29,600 --> 01:18:34,774
And if it's 1/2 and 1/2,
then it's setting 1/2.

1476
01:18:34,774 --> 01:18:36,940
Because the inputs are equal
to the comparison gate,

1477
01:18:36,940 --> 01:18:38,920
you can set this to be anything.

1478
01:18:38,920 --> 01:18:41,210
So everything being 1/2
satisfies all the conditions

1479
01:18:41,210 --> 01:18:42,830
of the gates.

1480
01:18:42,830 --> 01:18:45,840
So that's the problem
we're trying to solve.

1481
01:18:45,840 --> 01:18:50,270
make The claim is that this
problem is PPAD complete.

1482
01:18:50,270 --> 01:18:53,600
And this problem is going to
be the starting point for all

1483
01:18:53,600 --> 01:18:57,550
our reduction next time, in
particular showing that Nash's

1484
01:18:57,550 --> 01:19:02,410
theorem is PPAD complete.

1485
01:19:02,410 --> 01:19:05,060
I want to add the last point.

1486
01:19:05,060 --> 01:19:08,120
After we published our
paper, Chen, Deng, and Teng

1487
01:19:08,120 --> 01:19:14,980
actually improved these
results to fuzzy gates.

1488
01:19:14,980 --> 01:19:19,220
So they-- actually, we
allowed in our original paper

1489
01:19:19,220 --> 01:19:22,280
exponential noise in
the outputs of the gate.

1490
01:19:22,280 --> 01:19:25,230
So this is an
easier problem now.

1491
01:19:25,230 --> 01:19:26,280
So I give you a circuit.

1492
01:19:26,280 --> 01:19:29,190
And I want you to find me
an assignment that satisfies

1493
01:19:29,190 --> 01:19:31,100
all gates approximately.

1494
01:19:31,100 --> 01:19:33,250
So now in the original
paper, we could accommodate

1495
01:19:33,250 --> 01:19:36,920
exponential noise in
the size of the input

1496
01:19:36,920 --> 01:19:38,410
and the fuzziness of the gates.

1497
01:19:38,410 --> 01:19:40,840
These guys showed
that you can even

1498
01:19:40,840 --> 01:19:44,670
accommodate any polynomial
noise, inverse polynomial noise

1499
01:19:44,670 --> 01:19:45,920
that you want.

1500
01:19:45,920 --> 01:19:47,720
And it's still PPAD complete.

1501
01:19:47,720 --> 01:19:51,481
That's an easier problem than
the exact problem obviously.

1502
01:19:51,481 --> 01:19:52,980
But in fact, they're
computationally

1503
01:19:52,980 --> 01:19:55,500
equivalent because they're
both PPAD complete.

1504
01:19:55,500 --> 01:19:57,409
So now next time,
what I'm going to show

1505
01:19:57,409 --> 01:19:59,950
is I'm going to use this problem
to show that Nash and market

1506
01:19:59,950 --> 01:20:02,100
equilibrium are PPAD complete.

1507
01:20:02,100 --> 01:20:05,140
I'm going to show that some
problems in combinatorics,

1508
01:20:05,140 --> 01:20:09,225
such as fractional hypergraph
matching and Scarf's lemma

1509
01:20:09,225 --> 01:20:10,670
are PPAD complete.

1510
01:20:10,670 --> 01:20:12,590
And then if we have
time, I'm going

1511
01:20:12,590 --> 01:20:15,500
to show you other
existence arguments that

1512
01:20:15,500 --> 01:20:21,380
give rise to different
interesting complexity classes.

1513
01:20:21,380 --> 01:20:23,310
AUDIENCE: Named
after Papadimitriou?

1514
01:20:23,310 --> 01:20:23,380
CONSTANTINOS DASKALAKIS: Yeah.

1515
01:20:23,380 --> 01:20:24,310
Many people ask that.

1516
01:20:24,310 --> 01:20:27,160
So it means polynomial parity
argument of directed graphs.

1517
01:20:30,622 --> 01:20:31,580
That's a good question.

1518
01:20:31,580 --> 01:20:32,080
Yeah.

1519
01:20:32,080 --> 01:20:35,120
I should have said that.

1520
01:20:35,120 --> 01:20:35,620
OK.

1521
01:20:35,620 --> 01:20:37,720
Thanks a lot.

1522
01:20:37,720 --> 01:20:40,770
[APPLAUSE]