WEBVTT

00:00:00.000 --> 00:00:03.060
Welcome to the deep dive. Today, we are looking

00:00:03.060 --> 00:00:06.379
at this stack of research that basically proves

00:00:06.379 --> 00:00:09.480
your computer's most powerful tool isn't its

00:00:09.480 --> 00:00:12.980
flawless logic. It's actually, well, its ability

00:00:12.980 --> 00:00:15.919
to make random terrible mistakes. Right, which

00:00:15.919 --> 00:00:18.079
completely flips the script on how we usually

00:00:18.079 --> 00:00:20.760
think about technology. I mean, we expect computers

00:00:20.760 --> 00:00:23.219
to be these rigid, you know, highly engineered

00:00:23.219 --> 00:00:25.980
machines that just follow explicit instructions

00:00:25.980 --> 00:00:28.339
to spit out one perfect answer. Yeah, exactly.

00:00:29.039 --> 00:00:31.500
But the incredibly detailed Wikipedia deep dive

00:00:31.500 --> 00:00:33.780
we were exploring today shows us a totally different

00:00:33.780 --> 00:00:36.420
paradigm. We are diving into evolutionary computation.

00:00:37.060 --> 00:00:39.539
This is a field where computer scientists literally

00:00:39.539 --> 00:00:42.159
stole Mother Nature's playbook. They really did.

00:00:42.579 --> 00:00:45.789
They're using Darwinian evolution. you know,

00:00:46.049 --> 00:00:47.909
survival of the fittest to solve the world's

00:00:47.909 --> 00:00:50.990
most complex computational problems. So our mission

00:00:50.990 --> 00:00:52.770
today is to figure out how they're actually doing

00:00:52.770 --> 00:00:55.289
this, why making random mistakes is somehow the

00:00:55.289 --> 00:00:57.609
secret to hyperintelligence, and ultimately what

00:00:57.609 --> 00:00:59.969
this means for you and the technology you use

00:00:59.969 --> 00:01:02.479
every single day. Because the underlying philosophy

00:01:02.479 --> 00:01:05.980
here, it turns a rigid calculator into a trial

00:01:05.980 --> 00:01:08.260
and error problem solver. It's literally the

00:01:08.260 --> 00:01:11.159
process of artificial natural selection. The

00:01:11.159 --> 00:01:14.379
machine isn't calculating a single answer through

00:01:14.379 --> 00:01:18.640
a fixed formula. It's growing an answer organically

00:01:18.640 --> 00:01:21.319
over time. OK, let's unpack this. Because the

00:01:21.319 --> 00:01:23.379
mechanics of how this actually works in silicon

00:01:23.379 --> 00:01:25.959
are just wild to me. If you look at how this

00:01:25.959 --> 00:01:29.180
is modeled, there are three foundational forces

00:01:29.180 --> 00:01:31.859
at play. You've got recombination, mutation,

00:01:32.060 --> 00:01:34.340
and selection. Yeah, think of those three forces

00:01:34.340 --> 00:01:37.719
as the engine of evolution. So recombination

00:01:37.719 --> 00:01:39.680
is taking traits from two successful parents

00:01:39.680 --> 00:01:42.640
and just mixing them together. Then mutation

00:01:42.640 --> 00:01:45.480
introduces a totally random, unpredictable change

00:01:45.480 --> 00:01:48.700
to the data. Just a mistake, basically. And selection

00:01:48.700 --> 00:01:50.920
is the environment ruthlessly killing off the

00:01:50.920 --> 00:01:53.260
weak cord, allowing only the highest quality

00:01:53.260 --> 00:01:55.989
solutions to survive to the next round. To visualize

00:01:55.989 --> 00:01:59.129
this, there is this classic animation used to

00:01:59.129 --> 00:02:01.810
demonstrate the concept. The computer is asked

00:02:01.810 --> 00:02:04.549
to evolve an image of Charles Darwin's face.

00:02:05.129 --> 00:02:07.010
And the fascinating part is that it doesn't start

00:02:07.010 --> 00:02:09.449
with a sketch. No, not at all. It starts with

00:02:09.449 --> 00:02:12.530
a massive population of completely random grayscale

00:02:12.530 --> 00:02:15.900
patches. Like just pure visual static. Great,

00:02:15.900 --> 00:02:18.120
because the programmer never tells the machine

00:02:18.120 --> 00:02:20.740
how to draw a face. They only define a goal,

00:02:20.900 --> 00:02:24.479
which is resembling Darwin, and a mechanism for

00:02:24.479 --> 00:02:27.620
survival. So the computer ranks that static based

00:02:27.620 --> 00:02:30.039
on how closely it accidentally resembles the

00:02:30.039 --> 00:02:33.180
target. It trashes the worst static, takes the

00:02:33.180 --> 00:02:35.819
best performing patches, and breeds them together.

00:02:35.879 --> 00:02:38.479
It mixes their visual data, so that's the recombination.

00:02:38.719 --> 00:02:40.780
Exactly. And then it throws in a few random pixel

00:02:40.780 --> 00:02:43.620
changes, the mutation. Generation by generation,

00:02:43.939 --> 00:02:47.360
the noise evolves. Eyes emerge. A beard forms.

00:02:47.939 --> 00:02:49.860
And eventually, you are staring at a perfect

00:02:49.860 --> 00:02:52.180
portrait of Charles Darwin. Honestly, it reminds

00:02:52.180 --> 00:02:54.159
me of breeding racehorses. That is actually a

00:02:54.159 --> 00:02:55.919
very accurate way to frame it. Right, because

00:02:55.919 --> 00:02:57.879
if you want a fast horse with incredible stamina,

00:02:58.439 --> 00:03:00.800
you don't build one from scratch in a lab. You

00:03:00.800 --> 00:03:03.139
take a ridiculously fast horse and breed it with

00:03:03.139 --> 00:03:04.979
a horse that can run all day. And you just hope

00:03:04.979 --> 00:03:07.620
the offspring inherits both traits through that

00:03:07.620 --> 00:03:10.300
recombination. Yeah, and maybe a random genetic

00:03:10.300 --> 00:03:13.439
mutation gives the new full slightly larger lungs

00:03:13.439 --> 00:03:15.979
or something. You waste them, you keep the winners,

00:03:16.379 --> 00:03:18.580
and you put the losers out to pasture. You are

00:03:18.580 --> 00:03:21.000
mathematically speaking isolating the winning

00:03:21.000 --> 00:03:23.460
traits and combining them. Wait, I have to ask

00:03:23.460 --> 00:03:26.000
about the efficiency here. Yeah. I mean, calculating

00:03:26.000 --> 00:03:28.360
millions of artificial horse races in a computer

00:03:28.360 --> 00:03:32.300
seems incredibly slow and honestly chaotic. It

00:03:32.300 --> 00:03:34.360
can seem that way, yeah. Why go through all this

00:03:34.360 --> 00:03:37.319
trial and error? Why not just write an algebraic

00:03:37.319 --> 00:03:39.960
formula to find the mathematically perfect horse

00:03:39.960 --> 00:03:42.879
or that perfect visual pixel arrangement directly?

00:03:43.039 --> 00:03:45.199
Well, what's fascinating here is that traditional

00:03:45.199 --> 00:03:48.360
math completely breaks down when problems become

00:03:48.360 --> 00:03:51.439
multi -dimensional. Think about standard optimization

00:03:51.439 --> 00:03:54.080
algorithms like gradient descent, for example.

00:03:54.219 --> 00:03:57.360
OK. They are fantastic at finding an answer,

00:03:57.659 --> 00:03:59.840
but they frequently get trapped in what computer

00:03:59.840 --> 00:04:02.560
scientists call local minima. Local minima. Give

00:04:02.560 --> 00:04:04.759
me a visual for that. How does a computer get

00:04:04.759 --> 00:04:07.280
trapped? Okay, imagine you are blindfolded, and

00:04:07.280 --> 00:04:09.800
your only goal is to find the absolute lowest

00:04:09.800 --> 00:04:12.319
point in this massive, rugged mountain range.

00:04:12.960 --> 00:04:15.599
The traditional computer logic is simple. You

00:04:15.599 --> 00:04:17.439
feel the ground with your foot, and you always

00:04:17.439 --> 00:04:20.019
take a step downhill. I mean, that makes intuitive

00:04:20.019 --> 00:04:22.540
sense. If you always go down, you— eventually

00:04:22.540 --> 00:04:25.360
hit the bottom of the valley. Usually, yes. But

00:04:25.360 --> 00:04:27.220
what if you walk downhill and hit the bottom

00:04:27.220 --> 00:04:29.939
of a small crater halfway up the mountain? Ooh!

00:04:30.079 --> 00:04:32.120
Right. Every direction you step from the bottom

00:04:32.120 --> 00:04:34.339
of that crater is uphill. So the traditional

00:04:34.339 --> 00:04:36.980
algorithm feels the ground, realizes it can't

00:04:36.980 --> 00:04:39.220
go downhill anymore, and declares, I must be

00:04:39.220 --> 00:04:41.399
at the absolute lowest point on earth, problem

00:04:41.399 --> 00:04:44.550
solved. So it settles for a good but not best

00:04:44.550 --> 00:04:47.149
solution. It's physically trapped by its own

00:04:47.149 --> 00:04:49.829
rigid logic. Precisely. It stops searching entirely

00:04:49.829 --> 00:04:51.949
because the formula tells it the job is done.

00:04:52.069 --> 00:04:54.250
Wow. And this is where evolutionary computation

00:04:54.250 --> 00:04:57.310
comes in. It avoids this trap by using mutation.

00:04:57.859 --> 00:05:00.980
Mutation is a random, unpredictable jolt. Like

00:05:00.980 --> 00:05:03.360
an earthquake. Exactly. It's a sudden earthquake

00:05:03.360 --> 00:05:05.439
that bounces you entirely out of that crater,

00:05:05.879 --> 00:05:07.759
throwing you to a completely different part of

00:05:07.759 --> 00:05:09.480
the mountain range so you can keep exploring

00:05:09.480 --> 00:05:13.079
and find the true global valley floor. Without

00:05:13.079 --> 00:05:16.519
that random mistake, the system literally cannot

00:05:16.519 --> 00:05:19.459
find the best answer. To realize that a computer

00:05:19.459 --> 00:05:21.759
needed to make random mistakes to avoid those

00:05:21.759 --> 00:05:24.839
craters, that is a massive leap in logic. Especially

00:05:24.839 --> 00:05:26.980
when you consider the history. I mean, the computers

00:05:26.980 --> 00:05:30.399
of the 1950s and 60s were these massive, room

00:05:30.399 --> 00:05:33.060
-sized, incredibly expensive calculators. Yeah,

00:05:33.199 --> 00:05:35.160
they were precious resources. You did not just

00:05:35.160 --> 00:05:37.800
tell a mainframe to act randomly. So who had

00:05:37.800 --> 00:05:40.180
the guts to actually try this? Well, the concept

00:05:40.180 --> 00:05:42.579
of mimicking evolution in a machine goes all

00:05:42.579 --> 00:05:45.459
the way back to Alan Turing in 1948. Turing.

00:05:45.709 --> 00:05:48.509
Like the code breaker, the father of modern computing.

00:05:48.610 --> 00:05:51.050
The very same. He was decades ahead of his time.

00:05:51.470 --> 00:05:53.949
Turing proposed what he called B -type and P

00:05:53.949 --> 00:05:56.829
-type unorganized machines. Unorganized machines?

00:05:56.910 --> 00:05:58.850
Yeah, he was essentially mapping out primitive

00:05:58.850 --> 00:06:01.170
neural networks where the connections between

00:06:01.170 --> 00:06:04.110
nodes were learned via a genetic search. He designed

00:06:04.110 --> 00:06:06.329
them to use pleasure and pain signals to learn

00:06:06.329 --> 00:06:09.089
behaviors. Wait, pleasure and pain signals in

00:06:09.089 --> 00:06:12.899
1948? Why isn't Turing universally recognized

00:06:12.899 --> 00:06:15.319
as the founder of evolutionary computation? Oh,

00:06:15.459 --> 00:06:17.639
it is a matter of tragic timing. Turing passed

00:06:17.639 --> 00:06:21.620
away in 1954, and the brilliant 1948 paper of

00:06:21.620 --> 00:06:24.879
his went entirely unpublished until 1968. Oh,

00:06:24.980 --> 00:06:27.199
wow. It just sat in a drawer while the rest of

00:06:27.199 --> 00:06:29.079
the world caught it. Exactly. It had essentially

00:06:29.079 --> 00:06:31.420
zero impact on the early development of the field.

00:06:32.040 --> 00:06:34.000
Evolutionary computation had to be completely

00:06:34.000 --> 00:06:36.120
reinvented by independent researchers who had

00:06:36.120 --> 00:06:38.220
absolutely no idea Turing had already mapped

00:06:38.220 --> 00:06:41.240
the Turin. Which brings us to 1964, Germany.

00:06:41.470 --> 00:06:44.550
Two researchers, named Ingo Reckenberg and Hans

00:06:44.550 --> 00:06:47.209
-Paul Schweiffel, are trying to solve incredibly

00:06:47.209 --> 00:06:50.209
complex optimization problems in fluid dynamics.

00:06:50.670 --> 00:06:52.209
And they are the ones who really kick off a branch

00:06:52.209 --> 00:06:54.750
called evolution strategies. Right, because fluid

00:06:54.750 --> 00:06:57.129
dynamics is notoriously difficult to calculate.

00:06:57.449 --> 00:07:00.410
The math is highly non -linear. If you are trying

00:07:00.410 --> 00:07:02.850
to design the perfect shape for a pipe or, say,

00:07:02.910 --> 00:07:05.290
an airplane wing, a tiny change in the curve

00:07:05.290 --> 00:07:07.810
creates massive unpredictable changes in how

00:07:07.810 --> 00:07:10.709
the air or water flows. You cannot easily use

00:07:10.709 --> 00:07:13.319
a rigid formula to find the perfect shape. So

00:07:13.319 --> 00:07:15.560
they decided to use evolution. But the craziest

00:07:15.560 --> 00:07:17.660
part is, they didn't even have a computer to

00:07:17.660 --> 00:07:19.779
run the simulations at first. Oh, they didn't.

00:07:19.879 --> 00:07:22.939
They were sitting in a lab, literally rolling

00:07:22.939 --> 00:07:25.800
physical dice to determine the random mutations

00:07:25.800 --> 00:07:28.740
for their pipe shapes. Rolling dice to introduce

00:07:28.740 --> 00:07:31.000
that earthquake, that random jolt out of the

00:07:31.000 --> 00:07:33.660
crater, they would change a parameter based on

00:07:33.660 --> 00:07:36.420
the dice roll, manually test the physical result,

00:07:36.439 --> 00:07:38.379
and then just keep the shape that performed best.

00:07:38.480 --> 00:07:41.740
It sounds incredibly tedious. It does. But it

00:07:41.740 --> 00:07:43.980
proved that the fundamental math of evolution

00:07:43.980 --> 00:07:46.959
works regardless of the medium. You do not need

00:07:46.959 --> 00:07:49.800
silicon to run an evolutionary algorithm. Wow.

00:07:50.819 --> 00:07:52.939
And as computers did become more powerful through

00:07:52.939 --> 00:07:56.560
the 1960s and 70s, it seems like different scientists

00:07:56.560 --> 00:07:59.360
across the globe started building their own distinct

00:07:59.360 --> 00:08:02.220
evolutionary religions, so to speak. They all

00:08:02.220 --> 00:08:04.519
realized Darwinian math worked, but they had

00:08:04.519 --> 00:08:06.920
wildly different grades of coding it. Yeah, the

00:08:06.920 --> 00:08:09.480
global isolation during that era led to three

00:08:09.480 --> 00:08:12.279
distinct historic branches developing simultaneously.

00:08:13.040 --> 00:08:15.199
We have Reckenberg and Schreiffel in Germany,

00:08:15.680 --> 00:08:18.160
rolling dice for engineering parameters. But

00:08:18.160 --> 00:08:21.480
over in the United States around 1962, you have

00:08:21.480 --> 00:08:24.259
Lawrence J. Fogel. Developing evolutionary programming.

00:08:24.899 --> 00:08:27.259
Yes. Fogel was focused on prediction problems.

00:08:27.319 --> 00:08:30.420
Yeah. And the documentation notes he wasn't mutating

00:08:30.420 --> 00:08:33.529
physical parameters. He was mutating finite state

00:08:33.529 --> 00:08:35.429
machines. Can you break that down for us? Sure.

00:08:35.750 --> 00:08:38.029
A finite state machine is a mathematical model

00:08:38.029 --> 00:08:41.129
of computation. Think of it like a subway turnstile.

00:08:41.169 --> 00:08:44.009
Okay. It has a finite number of states. It is

00:08:44.009 --> 00:08:46.440
either locked or unlocked. If you insert a coin,

00:08:46.720 --> 00:08:48.720
the state transitions from locked to unlocked.

00:08:49.120 --> 00:08:51.259
If you push the arm, it transitions back to locked.

00:08:51.480 --> 00:08:54.399
It is a system of rigid rules and triggers. So

00:08:54.399 --> 00:08:56.100
Fogle would take an artificial intelligence running

00:08:56.100 --> 00:08:58.500
on a complex version of those rules. Instead

00:08:58.500 --> 00:09:00.799
of changing the data, he would randomly mutate

00:09:00.799 --> 00:09:03.399
the rules themselves. Exactly. Like spontaneously

00:09:03.399 --> 00:09:05.960
adding a new state. or deleting the rule that

00:09:05.960 --> 00:09:08.179
says inserting a coin unlocks the gate. That

00:09:08.179 --> 00:09:11.379
is the exact mechanism. He was mutating the logical

00:09:11.379 --> 00:09:13.879
flowchart of the machine itself to see if a slightly

00:09:13.879 --> 00:09:16.620
corrupted set of rules could predict a sequence

00:09:16.620 --> 00:09:19.139
of numbers better than the original rules. That

00:09:19.139 --> 00:09:21.679
is wild. But then you have John Henry Holland

00:09:21.679 --> 00:09:23.440
at the University of Michigan around the same

00:09:23.440 --> 00:09:26.879
time and his approach. genetic algorithms that

00:09:26.879 --> 00:09:30.120
feels much closer to literal biology. Yeah, Holland

00:09:30.120 --> 00:09:32.179
wanted to understand the actual mechanics of

00:09:32.179 --> 00:09:35.139
adaptation. He was asking, how does a biological

00:09:35.139 --> 00:09:37.700
organism physically pass down winning traits?

00:09:38.100 --> 00:09:41.080
To simulate this, he represented data as chromosomes

00:09:41.080 --> 00:09:44.539
using strings of binary bits, zeros and ones.

00:09:44.860 --> 00:09:47.720
So if we visualize that, a single solution in

00:09:47.720 --> 00:09:49.879
the computer's memory might look like the sequence

00:09:49.879 --> 00:09:54.169
0, 1, 1, 0. And another solution might be 1001.

00:09:54.409 --> 00:09:56.909
Exactly. And each position in that string represents

00:09:56.909 --> 00:10:00.210
a specific trait. Holland's true genius was simulating

00:10:00.210 --> 00:10:02.490
crossover. He wouldn't just mutate a single bit.

00:10:02.549 --> 00:10:04.669
He would take those two parent strings, cut them

00:10:04.669 --> 00:10:06.850
both in half, and swap their tails. Oh, wow.

00:10:07.029 --> 00:10:08.950
So the first half of parent A gets glued to the

00:10:08.950 --> 00:10:11.190
second half of parent B. creating a completely

00:10:11.190 --> 00:10:14.350
novel offspring that inherits complex combinations

00:10:14.350 --> 00:10:17.309
of traits from both parents. Furthermore, Holland

00:10:17.309 --> 00:10:19.289
wasn't just working with one parent and one child

00:10:19.289 --> 00:10:22.450
like Fogel. Holland created massive populations

00:10:22.450 --> 00:10:24.950
of these bit strings and had them compete in

00:10:24.950 --> 00:10:28.129
a giant ongoing tournament every single generation.

00:10:28.450 --> 00:10:31.450
An absolute battle royale for binary code. It

00:10:31.450 --> 00:10:33.710
is so fascinating that these brilliant minds

00:10:33.710 --> 00:10:36.690
were all stumbling toward the exact same biological

00:10:36.690 --> 00:10:39.950
truth from completely different angles. Fogel

00:10:39.950 --> 00:10:42.690
mutating logic gates, Holland cross -breeding

00:10:42.690 --> 00:10:45.549
data strings, Rechenberg mutating engineering

00:10:45.549 --> 00:10:47.649
shapes. And they were totally separate until

00:10:47.649 --> 00:10:50.110
the term evolutionary computing was finally coined

00:10:50.110 --> 00:10:53.730
in 1991 to unite the field. Unification is huge.

00:10:53.830 --> 00:10:56.509
It was. It allowed researchers to share concepts

00:10:56.509 --> 00:10:58.870
across disciplines, and it paved the way for

00:10:58.870 --> 00:11:01.289
the fourth major branch to emerge, which is perhaps

00:11:01.289 --> 00:11:03.090
the most radical of them all. Here's where it

00:11:03.090 --> 00:11:06.070
gets really interesting. In the 1990s, a researcher

00:11:06.070 --> 00:11:09.230
named John Koza pushes the boundary with genetic

00:11:09.230 --> 00:11:11.769
programming. Up until this point, researchers

00:11:11.769 --> 00:11:14.110
were evolving data or evolving the parameters

00:11:14.110 --> 00:11:17.269
of a solution. COSA decided to evolve the software

00:11:17.269 --> 00:11:20.590
itself. Yes. The subject of the evolution was

00:11:20.590 --> 00:11:23.750
a functional computer program written in a high

00:11:23.750 --> 00:11:26.409
-level language called Lisp. Evolving actual

00:11:26.409 --> 00:11:28.730
source code. Yeah. But wait, if you randomly

00:11:28.730 --> 00:11:31.610
slice two pieces of computer code together, wouldn't

00:11:31.610 --> 00:11:34.809
you just get a syntax error like... 99 % of the

00:11:34.809 --> 00:11:36.929
time? You would think so, yes. Because if you

00:11:36.929 --> 00:11:39.129
randomly delete a bracket or swap a variable

00:11:39.129 --> 00:11:41.830
in traditional code, the entire program just

00:11:41.830 --> 00:11:44.590
crashes and refuses to compile. Yeah. How does

00:11:44.590 --> 00:11:47.009
the software survive long enough to evolve? Well,

00:11:47.009 --> 00:11:49.929
that is the brilliant reason COSA used Lisp.

00:11:50.110 --> 00:11:52.529
Lisp utilizes something called s -expressions,

00:11:52.870 --> 00:11:55.490
which are structured as nested lists. You can

00:11:55.490 --> 00:11:57.690
visualize them as tree branches. OK, tree branches.

00:11:57.929 --> 00:12:00.190
The trunk of the tree is a mathematical operation,

00:12:00.509 --> 00:12:02.899
like addition. The branches coming off that trunk

00:12:02.899 --> 00:12:05.039
are the numbers being added. So instead of cutting

00:12:05.039 --> 00:12:08.419
text blindly, like a word processor, the algorithm

00:12:08.419 --> 00:12:11.460
is snapping off an entire functionally complete

00:12:11.460 --> 00:12:14.320
branch of logic, say, a branch that calculates

00:12:14.320 --> 00:12:17.279
a specific trajectory and plugging it into the

00:12:17.279 --> 00:12:20.549
socket of another program's tree. Exactly. Because

00:12:20.549 --> 00:12:23.370
it swaps whole functional branches, the grammar

00:12:23.370 --> 00:12:26.490
of the code remains completely intact. The new

00:12:26.490 --> 00:12:29.110
Frankenstein program might produce a terrible,

00:12:29.330 --> 00:12:32.090
completely wrong answer, but it will successfully

00:12:32.090 --> 00:12:34.649
run without a syntax error. That's incredible.

00:12:34.750 --> 00:12:36.970
It allows the computer to cross -breed its own

00:12:36.970 --> 00:12:39.429
instructions for sequence induction, pattern

00:12:39.429 --> 00:12:43.570
recognition, and complex planning. Software that

00:12:43.570 --> 00:12:45.970
writes and breeds better versions of itself.

00:12:46.240 --> 00:12:48.379
I mean, it sounds like a science fiction utopia.

00:12:48.539 --> 00:12:50.039
You just tell the computer what you want and

00:12:50.039 --> 00:12:53.299
it breeds the perfect app. The literature actually

00:12:53.299 --> 00:12:56.820
calls out a major modern problem in this field,

00:12:57.360 --> 00:12:59.799
a dark side to all this biological inspiration.

00:12:59.919 --> 00:13:01.820
Yeah, unfortunately. It's essentially academic

00:13:01.820 --> 00:13:04.419
spam. It is a significant hurdle right now. Because

00:13:04.419 --> 00:13:07.100
evolutionary computation is so deeply tied to

00:13:07.100 --> 00:13:10.120
biological metaphors, researchers in recent years

00:13:10.120 --> 00:13:12.379
have started proposing dubious novel algorithms

00:13:12.379 --> 00:13:15.159
with incredibly poor experimental validation.

00:13:15.419 --> 00:13:17.179
Yeah, there is an actual catalog keeping track

00:13:17.179 --> 00:13:19.779
of this called the Evolutionary Computation Bestiary.

00:13:20.100 --> 00:13:23.159
It sounds like a medieval book of monsters, but

00:13:23.159 --> 00:13:25.740
it's really a list of bad code. It highlights

00:13:25.740 --> 00:13:28.600
a really frustrating trend. Researchers will

00:13:28.600 --> 00:13:31.659
take a highly successful mathematically proven

00:13:31.659 --> 00:13:34.740
algorithm, frequently something called particle

00:13:34.740 --> 00:13:37.159
swarm optimization. Oh, break down how the swarm

00:13:37.159 --> 00:13:39.799
works. Particle swarm optimization mimics a flock

00:13:39.799 --> 00:13:42.539
of birds searching for food. You have a massive

00:13:42.539 --> 00:13:44.679
number of data points moving through a mathematical

00:13:44.679 --> 00:13:48.850
space. Every single point remembers its own personal

00:13:48.850 --> 00:13:52.250
best location. But it also constantly communicates

00:13:52.250 --> 00:13:54.610
with the rest of the flock to know the absolute

00:13:54.610 --> 00:13:57.049
best location found by the group so far. Right,

00:13:57.269 --> 00:14:00.250
sharing intel. Exactly. Every point adjusts its

00:14:00.250 --> 00:14:02.870
velocity and direction based on both its personal

00:14:02.870 --> 00:14:05.269
memory and the flock's collective knowledge.

00:14:05.710 --> 00:14:08.110
It's a gorgeous piece of math. The flock naturally

00:14:08.110 --> 00:14:10.590
swoops in and converges on the perfect solution.

00:14:10.809 --> 00:14:13.110
So what are these dubious researchers doing to

00:14:13.110 --> 00:14:15.610
it? They are stealing that exact mathematical

00:14:15.610 --> 00:14:18.350
engine, copying it line for line, and simply

00:14:18.350 --> 00:14:20.970
slapping a brand new biological metaphor on top

00:14:20.970 --> 00:14:23.169
of it. You're kidding. No, they swap the word

00:14:23.169 --> 00:14:26.830
bird for bat or cuckoo bird or, you know, gray

00:14:26.830 --> 00:14:30.409
wolf. They claim they have invented a revolutionary

00:14:30.409 --> 00:14:33.490
new gray wolf optimizer, published a paper, and

00:14:33.490 --> 00:14:36.070
just had their academic resumes. So they're looking

00:14:36.070 --> 00:14:39.330
at a solved problem and saying, behold. I've

00:14:39.330 --> 00:14:43.090
invented a new animal -themed algorithm. When

00:14:43.090 --> 00:14:45.090
under the hood, the engine hasn't changed at

00:14:45.090 --> 00:14:47.429
all. Does this mean the field has stalled out?

00:14:47.470 --> 00:14:50.629
Like are we just out of actual foundational ideas?

00:14:51.000 --> 00:14:53.820
Not at all. The copycats generate a lot of noise,

00:14:53.940 --> 00:14:56.659
but the true science is accelerating. Foundational

00:14:56.659 --> 00:14:58.820
evolutionary algorithms are legitimately being

00:14:58.820 --> 00:15:01.519
used right now to solve multi -dimensional logistics.

00:15:01.600 --> 00:15:04.440
They optimize the aerodynamics of jet engines

00:15:04.440 --> 00:15:07.220
and route global telecommunications networks.

00:15:07.639 --> 00:15:09.860
They are solving problems that are far too complex

00:15:09.860 --> 00:15:12.240
for human software designers to map out manually.

00:15:12.700 --> 00:15:14.960
The field hasn't stalled. It is simply dealing

00:15:14.960 --> 00:15:17.549
with the growing pains of its own success. That's

00:15:17.549 --> 00:15:19.450
reassuring. And while some researchers might

00:15:19.450 --> 00:15:21.830
be faking new algorithms, the original algorithm

00:15:21.830 --> 00:15:24.250
biological life itself is actually revealing

00:15:24.250 --> 00:15:26.690
secrets we never expected, all thanks to this

00:15:26.690 --> 00:15:28.909
computer science research. If we connect this

00:15:28.909 --> 00:15:31.710
to the bigger picture, genetic algorithms have

00:15:31.710 --> 00:15:35.230
completely revolutionized how we understand systems

00:15:35.230 --> 00:15:38.710
biology. This was the absolute biggest mind bender

00:15:38.710 --> 00:15:41.980
in the entire deep dive. The research suggests

00:15:41.980 --> 00:15:44.559
that biological systems aren't just like computers.

00:15:45.139 --> 00:15:47.700
It argues that biological systems are literal

00:15:47.700 --> 00:15:50.200
computational machines. Yeah, for a very long

00:15:50.200 --> 00:15:52.580
time we viewed biology through the lens of classical

00:15:52.580 --> 00:15:55.460
dynamical systems. We assumed development was

00:15:55.460 --> 00:15:58.200
orderly, well controlled, and governed by a top

00:15:58.200 --> 00:16:00.860
-down structure. Like a central brain or a master

00:16:00.860 --> 00:16:03.659
blueprint aggressively telling every single cell

00:16:03.659 --> 00:16:06.610
exactly what to do and where to go. Right. But

00:16:06.610 --> 00:16:08.970
studying evolutionary computation has proven

00:16:08.970 --> 00:16:11.330
that there is no central control in biological

00:16:11.330 --> 00:16:14.289
development. An embryo develops as a result of

00:16:14.289 --> 00:16:16.370
purely local interactions. Just cell -to -cell?

00:16:16.549 --> 00:16:18.669
Yes. A single cell doesn't know what the whole

00:16:18.669 --> 00:16:21.269
body looks like. It is essentially taking chemical

00:16:21.269 --> 00:16:23.330
inputs from its immediate neighbors, running

00:16:23.330 --> 00:16:26.409
an algorithm, and computing its next state. The

00:16:26.409 --> 00:16:29.289
cell is acting exactly like a logic gate in a

00:16:29.289 --> 00:16:32.509
silicon chip. It is a literal low -level computational

00:16:32.509 --> 00:16:35.549
operation. So what does this all mean? The documentation

00:16:35.549 --> 00:16:38.809
states that if you apply concepts from computational

00:16:38.809 --> 00:16:43.009
theory to biology, microprocesses in biological

00:16:43.009 --> 00:16:46.649
organisms are fundamentally incomplete and undecidable.

00:16:46.970 --> 00:16:49.509
Yes. Does that mean natural evolution operates

00:16:49.509 --> 00:16:52.129
mathematically like an infinite, unpredictable

00:16:52.129 --> 00:16:54.850
computer program? It does. This is proven through

00:16:54.850 --> 00:16:57.710
a theoretical framework called evolutionary automata.

00:16:57.830 --> 00:17:00.350
An automaton is essentially an abstract machine

00:17:00.350 --> 00:17:02.990
that follows a set of rules to process input,

00:17:02.990 --> 00:17:05.049
right? Like a Turing machine. A Turing machine

00:17:05.049 --> 00:17:07.930
is a highly advanced automaton that can simulate

00:17:07.930 --> 00:17:11.430
any step -by -step computer algorithm, but computer

00:17:11.430 --> 00:17:13.589
scientists have generalized this into evolutionary

00:17:13.589 --> 00:17:16.430
Turing machines. Okay. And the math proves that

00:17:16.430 --> 00:17:18.829
natural evolution and the algorithms we run on

00:17:18.829 --> 00:17:21.349
computers are mathematically undecidable. Meaning

00:17:21.349 --> 00:17:23.630
you literally cannot write a formula to predict

00:17:23.630 --> 00:17:25.990
the outcome of evolution. The only way to know

00:17:25.990 --> 00:17:28.170
what an evolutionary system will do is to press

00:17:28.170 --> 00:17:30.809
play, let it run, and watch what happens. It

00:17:30.809 --> 00:17:34.529
is deeply unpredictable. And even more profoundly,

00:17:35.009 --> 00:17:37.890
the simplest subclass of these theoretical machines,

00:17:38.470 --> 00:17:42.069
evolutionary finite automata, can process and

00:17:42.069 --> 00:17:45.289
accept incredibly complex arbitrary languages.

00:17:45.630 --> 00:17:48.150
Languages in the mathematical sense? Yes, including

00:17:48.150 --> 00:17:50.569
languages that are not recursively enumerable.

00:17:50.710 --> 00:17:53.140
Okay, we need to translate that. What does it

00:17:53.140 --> 00:17:56.220
mean for mathematical language to not be recursively

00:17:56.220 --> 00:17:58.799
enumerable? Well, a standard traditional computer

00:17:58.799 --> 00:18:01.220
can only solve problems that have a step -by

00:18:01.220 --> 00:18:03.539
-step algorithmic solution. If you can list the

00:18:03.539 --> 00:18:05.720
steps, the computer can solve it. Makes sense.

00:18:05.900 --> 00:18:08.480
A non -recursively enumerable problem is one

00:18:08.480 --> 00:18:11.759
where no step -by -step algorithm exists. A standard

00:18:11.759 --> 00:18:13.980
computer will freeze or run forever trying to

00:18:13.980 --> 00:18:16.369
solve it. but an evolutionary automaton can solve

00:18:16.369 --> 00:18:17.990
it. Because it doesn't rely on step -by -step

00:18:17.990 --> 00:18:20.869
logic. Exactly. It uses massive populations and

00:18:20.869 --> 00:18:23.329
random mutations to explore every possibility

00:18:23.329 --> 00:18:26.569
simultaneously. It confirms that nature is, mathematically

00:18:26.569 --> 00:18:29.450
speaking, the ultimate supercomputer. It can

00:18:29.450 --> 00:18:32.230
process information that our rigid, linear silicon

00:18:32.230 --> 00:18:34.849
machines cannot even comprehend. It's staggering.

00:18:35.150 --> 00:18:37.630
It really shifts how you look at the world around

00:18:37.630 --> 00:18:40.029
you. Because for you listening to this right

00:18:40.029 --> 00:18:42.990
now, whether you're trying to optimize a global

00:18:42.990 --> 00:18:45.170
supply chain, or you're a developer trying to

00:18:45.170 --> 00:18:47.849
train a massive new AI model, or honestly, if

00:18:47.849 --> 00:18:49.269
you're just looking out the window at a tree,

00:18:49.890 --> 00:18:52.230
you are witnessing the exact same fundamental

00:18:52.230 --> 00:18:56.529
math at work. Nature's slow, brutal optimization

00:18:56.529 --> 00:19:00.109
process is now the very thing designing our most

00:19:00.109 --> 00:19:02.529
advanced technologies. This raises an important

00:19:02.529 --> 00:19:05.470
question, though. A truly profound concept that

00:19:05.470 --> 00:19:07.990
the research points toward by including universal

00:19:07.990 --> 00:19:10.329
Darwinism in the broader implications of this

00:19:10.329 --> 00:19:12.950
field. Universal Darwinism. We're expanding beyond

00:19:12.950 --> 00:19:15.190
biology and computers entirely. Lay it on me.

00:19:15.349 --> 00:19:18.410
Well, if evolutionary finite automata can process

00:19:18.410 --> 00:19:21.170
these unimaginably complex, non -recursively

00:19:21.170 --> 00:19:23.829
innumerable languages, and if we've proven that

00:19:23.829 --> 00:19:26.309
both biological cells and silicon chips are really

00:19:26.309 --> 00:19:28.210
just different types of hardware running the

00:19:28.210 --> 00:19:30.589
exact same underlying evolutionary software,

00:19:30.650 --> 00:19:32.589
Oh man, where are you going with this? Is the

00:19:32.589 --> 00:19:35.789
entire universe itself just one giant ongoing

00:19:35.789 --> 00:19:39.529
evolutionary computation? Is reality fundamentally

00:19:39.529 --> 00:19:42.089
a massive algorithm trying to solve an unknown,

00:19:42.349 --> 00:19:44.670
undecidable problem? Oh wow, that is the kind

00:19:44.670 --> 00:19:46.559
of thought that fundamentally changes how you

00:19:46.559 --> 00:19:48.519
view your own existence? Are we just the random

00:19:48.519 --> 00:19:50.799
mutations trying to bounce the universe out of

00:19:50.799 --> 00:19:54.160
a local minimum? Incredible. Well, we will leave

00:19:54.160 --> 00:19:56.720
you to ponder that one on your own. Thank you

00:19:56.720 --> 00:19:58.700
so much for joining us on this deep dive. Keep

00:19:58.700 --> 00:20:00.660
questioning the world around you. And the next

00:20:00.660 --> 00:20:02.519
time you use a piece of cutting edge tech, just

00:20:02.519 --> 00:20:05.099
remember, it is probably running on Mother Nature's

00:20:05.099 --> 00:20:05.859
stolen playbook.
