WEBVTT

00:00:04.830 --> 00:00:06.330
ERIK DEMAINE: I
developed this class

00:00:06.330 --> 00:00:12.310
on algorithmic lower bounds
because I felt like there

00:00:12.310 --> 00:00:13.860
was no class like it.

00:00:13.860 --> 00:00:17.300
And I really wanted to
share with the world

00:00:17.300 --> 00:00:20.620
how to show that
problems are hard.

00:00:20.620 --> 00:00:23.502
And in theoretical
computer science,

00:00:23.502 --> 00:00:25.460
usually there's two kinds
of classes out there.

00:00:25.460 --> 00:00:26.950
There's more
algorithmic classes,

00:00:26.950 --> 00:00:30.940
which are about showing how
to solve problems and give

00:00:30.940 --> 00:00:31.860
positive results.

00:00:31.860 --> 00:00:33.402
Yes, this can be solved.

00:00:33.402 --> 00:00:35.610
And there's another world
of complexity theory, which

00:00:35.610 --> 00:00:38.980
is about building up a
mathematical infrastructure

00:00:38.980 --> 00:00:41.820
to show that problems are hard.

00:00:41.820 --> 00:00:44.400
But usually, it's
much more common

00:00:44.400 --> 00:00:48.530
for the algorithms classes to
be tuned to particular problems

00:00:48.530 --> 00:00:50.160
that people might care about.

00:00:50.160 --> 00:00:53.430
And complexity theory is usually
more about theory building.

00:00:53.430 --> 00:00:57.620
But there's this other world,
the hardness proof world,

00:00:57.620 --> 00:01:00.450
which is much less common
and isn't usually represented

00:01:00.450 --> 00:01:04.695
by a class, where
it's all about showing

00:01:04.695 --> 00:01:06.320
that particular
problems you care about

00:01:06.320 --> 00:01:10.420
are hard using the complexity
theory infrastructure that's

00:01:10.420 --> 00:01:11.650
been built up.

00:01:11.650 --> 00:01:15.005
So this class is very much
not a complexity theory class.

00:01:15.005 --> 00:01:16.380
The goal is to
be-- because there

00:01:16.380 --> 00:01:18.460
are lots of classes like that.

00:01:18.460 --> 00:01:21.890
I wanted to use the complexity
theory infrastructure.

00:01:21.890 --> 00:01:24.330
Just tell people what they
needed to know, but not show

00:01:24.330 --> 00:01:27.210
how it works inside the
mathematical machinery.

00:01:27.210 --> 00:01:28.930
Because it's quite complicated.

00:01:28.930 --> 00:01:31.025
And instead, I wanted
to build on top of that

00:01:31.025 --> 00:01:33.140
and show how to
prove equivalences

00:01:33.140 --> 00:01:35.370
between different
problems and use

00:01:35.370 --> 00:01:37.180
that to show that
your problem is

00:01:37.180 --> 00:01:40.120
as hard as an other
known hard problem.

00:01:40.120 --> 00:01:42.450
And that turns out
to be a lot of fun

00:01:42.450 --> 00:01:44.030
and also very accessible.

00:01:44.030 --> 00:01:48.090
And so my goal was to-- but
unless you're familiar with it,

00:01:48.090 --> 00:01:51.570
it's quite difficult. My
goal was to make it easy.

00:01:51.570 --> 00:01:54.490
The tagline is
"hardness made easy."

00:01:54.490 --> 00:01:57.670
I wanted to bring
students to a point

00:01:57.670 --> 00:02:01.490
where they're not scared to
prove problems are impossible.

00:02:01.490 --> 00:02:05.420
It's actually not so
difficult. And it can be fun.