
English: 
PATRICK WINSTON: I have
extremely bad news.
Halloween falls this
year on a Sunday.
But we in 6.034 refuse to
suffer the slings and arrows
of outrageous fortune.
So we've decided that
Halloween is today,
as far 6.034 is concerned.
Kenny, could you give
me a hand, please?
If you could take that
and put it over there.
STUDENT: [INAUDIBLE]?
PATRICK WINSTON: Mm hm.
Just give it to them.
You can take as much
of this as you like.
The rest will be given to that
herd of stampeding freshman

Korean: 
정말 안 좋은 소식이 있습니다
올해 할로윈이 일요일에 있다는 거에요
하지만 우리 6.034 수업은 
이 불운의 화살을 피하려고 합니다
하지만 우리 6.034 수업은 
이 불운의 화살을 피하려고 합니다
그래서 6.034 수업에서만큼은
오늘을 할로윈으로 정했습니다
그래서 6.034 수업에서만큼은
오늘을 할로윈으로 정했습니다
케니, 절 좀 도와줄 수 있나요?
이 바구니를 저 쪽에 놔주세요
저기요?
네
그냥 저들에게 주세요
여러분이 원하는 만큼 가져가세요
나머지는 나중에 몰려 들어오는

English: 
that comes in after.
It's a cornucopia
of legal drugs.
Chocolate does produce
a kind of mild high,
and I recommend it before
quizzes and giving lectures.
I have a friend of mine, one of
the Nobel laureates in biology,
always eats chocolate
before he lectures.
Gives him a little edge.
Otherwise, he'll be flat.
So I recommend it.
It will take, I
suppose, a little while
to digest that neural net stuff.

Korean: 
신입생들에게 줄 거에요
이건 합법적인 마약으로 가득 찬 보물입니다
초콜렛은 실제로 마약과 비슷한 
효과를 약간 주기 때문에
퀴즈 전이나 강의 전에 
먹는 것을 추천합니다
노벨 생리 의학상을 수상한 제 친구는
강의를 하기 전에 항상 초콜렛을 먹습니다
초콜렛은 그에게 약간의 자신감을 불어 넣어주죠
초콜렛이 없다면, 그는 강의 때 
딱딱하게 굳어 버리고 말 것입니다
그래서 저는 초콜렛을 추천합니다
오늘 수업 내용인 신경망을 이해하는데
초콜렛이 꽤나 도움이 될 것입니다

English: 
A little richer than
usual in mathematics.
So today, we're going to
talk about another effort
at mimicking biology.
This is easy stuff.
It's just conceptual.
And you won't see
this on the next quiz.
But you will see
it on the final.
It's one of those quiz
five type problems,
where I ask you questions to
see if you were here and awake.
So a typical question
might be, Professor Winston
is a creationist, or
something like that.
Not too hard to answer.
In any event, if it's been hard
to develop a real understanding
of intelligence,
occasionally the hope
is that by mimicking biology
or mimicking evolution,
you can circumnavigate
all the problems.
And one of those
kinds of efforts
is ever to imitate evolution.

Korean: 
신경망은 수학보다 약간 더 어렵죠
오늘은 생물학을 모방하는 또다른
노력에 대해 이야기할 것입니다
오늘은 생물학을 모방하는 또다른
노력에 대해 이야기할 것입니다
이건 쉽습니다
그저 개념일 뿐이지요
여러분은 다음 퀴즈 때 이런 것을 보지는 않을 것입니다
다만 기말 고사 때 볼 것입니다
여러분이 신경망 수업 때 강의실에 있었고
깨어 있었는지를 확인하는 질문이 나올 것입니다
그래서 전형적인 질문은
윙스턴 교수가 창조론자이냐와 같은 것입니다
대답하기 어려운 문제는 아니죠
지능에 대한 심도 있는 이해가 어려울 때
생물학이나 진화를 모방하는 것은 종종 도움이 됩니다
생물학이나 진화를 모방함으로써
모든 문제를 살펴볼 수 있기 때문이죠
그러한 노력 중에 하나가 바로
진화를 모방하는 것입니다

Korean: 
그래서 오늘 우리가 이야기 할 주제는
유전 알고리즘이라는 것인데
이는 순수 진화를 모방하려는 시도입니다
저는 대부분의 MIT 학생들이
유성 생식의 기본을 안다는 것을 압니다
저는 대부분의 MIT 학생들이
유성 생식의 기본을 안다는 것을 압니다
하지만 많은 학생들과 대화하면서
그들이 유성 생식의 세부 내용에 대해서는
잘 모른다는 것을 알게 되었습니다
그래서 유성 생식이 어떻게 일어나는지에
대한 설명으로 오늘 강의를 시작해보겠습니다
그래서 유성 생식이 어떻게 일어나는지에
대한 설명으로 오늘 강의를 시작해보겠습니다
일단 분홍색과 파란색이 필요합니다
여기 세포가 있습니다
세포 내에는 핵이 있고
여기에 아빠와 엄마의 염색체가 있습니다
한 쌍의 염색체만 존재한다고 합시다
일반적인 세포 분열이 일어나면
두 개의 딸세포가 생깁니다
두 개의 딸세포 모두 핵이 있고

English: 
So we're going to talk
today about so called
genetic algorithms,
which are naive attempts
to mimic naive evolution.
Now, I realize that most MIT
students have a basic grasp
of sexual reproduction.
But I've found in
talking with students
that many times, they're
a little fuzzy on some
of the details.
So let's start off by reflecting
a little bit about how
that works.
So let's see, we
need pink and blue.
And here's our cell,
and here is its nucleus,
and here are mommy and
daddy's chromosomes.
We'll just pretend
there's one pair.
Now ordinarily, in ordinary cell
division, you get two cells.
Both have a nucleus, and the
process of producing them

Korean: 
핵을 만드는 과정 중에 염색체 복제가 일어납니다
그리고 한 쌍의 염색체가 각각의 딸세포에 들어가죠
이게 세포 분열의 과정입니다
저건 체세포 분열입니다
하지만 생식은 좀 더 복잡한데요
염색체들이 꼬이고 나뉘고 다시 합쳐지기 때문입니다
염색체들이 꼬이고 나뉘고 다시 합쳐지기 때문입니다
그래서 세포가 한 개의 생식 세포로부터 
분열되는 것을 표현하려면
분홍색과 파란색 한 개만으로는 부족합니다
왜냐하면 생식 세포 분열 과정에서
분홍색과 파란색이 다 섞이기 때문입니다
두 개의 염색체가 여기와 여기에 있습니다
하지만 저를 항상 깜짝 놀라게 하는 자연의 기적을 통해서
이 두 개의 세포는 분열되어 네 개의 세포로 나뉩니다

English: 
involves the duplication
of those chromosomes.
And then one pair ends up
in each of the child cells,
and that's all there is to that.
That's mitosis.
But then, when we talk
about reproduction,
it's more complicated
because those chromosomes
get all twisted up, and they
break, and they recombine.
So when we talk about
the cells that split off
from one of these
germ cells, it's
no longer appropriate to
talk about the pink one
and the blue one, because
the pink one and the blue one
are all mixed up.
So you get two chromosomes
here and two here.
But through some miracle
of nature, which has always
amazed me, these two
cells split, in turn,

Korean: 
이 두 개의 세포는 분열되어 네 개의 세포로 나뉩니다
그리고 이 각각의 세포는 꼬이고 합쳐지는 
과정을 통해 만들어진 염색체를
그리고 이 각각의 세포는 꼬이고 합쳐지는 
과정을 통해 만들어진 염색체를
한 개씩 갖게 됩니다
이 후 특별한 일이 일어납니다
이제 우리는 이것을 파란색으로
이것을 분홍색으로 볼 수 있습니다
이것들은 합쳐져서 새로운 사람을 만듭니다
여러분의 부모님의 염색체는
절대로 합쳐지지 않는다는 것을 알아두세요
여러분의 조부모님의 염색체가 합쳐지는 것입니다
생식 세포 분열은 이렇게 일어납니다
여기서 알아야 할 주요 사항들이 몇 가지 있습니다
여기서 알아야 할 주요 사항들이 몇 가지 있습니다
이 과정을 통해 여성이 태어났다면
이 과정을 통해 여성이 태어났다면

English: 
into four cells altogether.
And each of those four
cells at the bottom
gets one of the
chromosomes that was
produced by the twisting up
of the rope and recombination.
Then, along comes
a special occasion.
And now we can think of this
as being a blue one and this
as being a pink one.
And they come together, and
you get a new person, like so.
Note that your mother
and father's chromosomes
are never, never recombined.
It's your grandparents
chromosomes that recombine.
So that's what it's like.
And the main thing
to note about this
is-- well, a couple things.
If you happen to be female,
this part of the process--

Korean: 
성별 결정은 태어나기 전 여기서 일어납니다
남성이 태어났다면 지금 진행되는 과정인데요
이는 아마 무언가를 설명할 겁니다
하지만 어떤 일이라도 지금 일어나고 있습니다
그러나 그 일이 일어날 때 항상
주사위를 던질 기회들이 존재합니다
그러나 그 일이 일어날 때 항상
주사위를 던질 기회들이 존재합니다
여러분이 여성이라면
하나님이 여기 이 과정에서 주사위를 던진 것이죠
물론 더 많은 주사위들이
새로운 개체가 만들어지기 위해 
어떤 특정 세포가 융합해야 하는지를
결정할 때 던져집니다
저는 이 수많은 선택지라는 아이디어를 가져오고자 합니다
유전 알고리즘과 자연에는 수많은 선택지들이 존재합니다
유전 알고리즘과 자연에는 수많은 선택지들이 존재합니다
이는 끼어들고 꼬이게 하고 여러분이 원하는 대로 할 수 있는
선택지가 많이 존재한다는 것을 의미합니다
하지만 어떤 선택지를 택하더라도 궁극적인 결과는 같습니다
이게 기본 아이디어이고 이 모든 것은 
염색체로부터 시작됩니다

English: 
this part over here-- took
place before you were born.
If you happen to be male, it's
going on right now as we speak,
which probably
explains something.
But in any event, it's
going on right now.
But whenever it
goes on, there are
lots of opportunities
for throwing dice.
So God threw all
the dice before you
were born, if you
happen to be a female,
in this part of the
process over here.
Then, of course, more
dice got thrown here
when the decision
was made about which
particular cells got to fuse
to form a new individual.
So I want to beat on this
idea of lots of choice.
When we talk about
genetic algorithms,
and we talk about nature, there
are lots of choices in there.
And that means there
are lots of choices
to intervene, to screw around,
to make things work out
the way you want.
But in any event, there we are.
That's the basic idea, and it
all starts with chromosomes.

English: 
So we could think of
implementing something
that imitates that
with the ACTG stuff
that you learned all
about in Seminar 1.
But we're computer scientists.
We don't like Base 4.
We like Base 2.
So I'm going to just suggest
that our chromosomes are binary
in this system that
we're going to build.
So that might be a chromosome.
And it doesn't
have to be binary.
It can be symbolic
for fall I care.
But it's just some
string of things
that determine how the
ultimate system behaves.
So it all starts out, then,
with some of these chromosomes,
some of these
simulated chromosomes,
simulated,
simplified, and naive.
And there's a population
of chromosomes.
The population of
chromosomes-- it

Korean: 
그래서 첫 번째 학기에 여러분이 배우셨던
ACTG 를 모방하는 것이 유전 알고리즘에 사용됩니다
ACTG 를 모방하는 것이 유전 알고리즘에 사용됩니다
하지만 우리는 컴퓨터 과학자들이기에
ACTG에서 간단한 수준의 내용만 사용할 것입니다
ACTG에서 간단한 수준의 내용만 사용할 것입니다
때문에 앞으로 구축할 시스템에서
염색체가 이진수로 존재한다고 가정할 것입니다
그렇다면 저게 염색체가 되겠죠
염색체가 꼭 이진수일 필요는 없습니다
기호로 존재할 수도 있죠
하지만 염색체는 단지 최종적인 시스템이 
어떻게 일어날지를 결정하는 문자일 뿐입니다
하지만 염색체는 단지 최종적인 시스템이 
어떻게 일어날지를 결정하는 문자일 뿐입니다
자, 이제 여기 가상으로 만들어진 염색체들로 시작해봅시다
자, 이제 여기 가상으로 만들어진 염색체들로 시작해봅시다
가상으로 단순화시킨 염색체들로 말이죠
염색체 집단이 있는데요
이 집단에는 돌연변이가 생길 수 있습니다

Korean: 
이 집단에는 돌연변이가 생길 수 있습니다
이게 무슨 말이냐면 0 이 1 이 되거나
1 이 0 이 될 수 있다는 뜻입니다
이런 일은 많이 일어납니다
이런 돌연변이는 염색체가 꼬이고 합쳐질 때 일어납니다
이런 돌연변이는 염색체가 꼬이고 합쳐질 때 일어납니다
복제할 때 오류가 생기기도 하죠
우주 방사선에 의해 돌연변이가 생길 수도 있습니다
변화가 일어나는 데에는 다양한 원인이 존재합니다
변화가 일어나는 데에는 다양한 원인이 존재합니다
그 결과 돌연변이가 만들어 집니다
여기에서 시작하는 염색제 집단이 있습니다
이 중 일부는 돌연변이를 겪죠
여기 이미 수많은 선택지가 
있는 것을 기억하시기 바랍니다
예를 들어, 염색체 당 돌연변이 수를 몇 개 허용할 것인지
예를 들어, 염색체 당 돌연변이 수를 몇 개 허용할 것인지
돌연변이가 생기지 않는 염색체가 
몇 개인지와 같은 것들 말이죠
돌연변이가 생기지 않는 염색체가 
몇 개인지와 같은 것들 말이죠
돌연변이가 생기지 않는 염색체가 
몇 개인지와 같은 것들 말이죠
이런 결정들을 내리고 나면
이제 교차 현상이 있습니다

English: 
might be subject to a
little bit of mutation.
That is to say, a zero becomes
a one, or a one becomes a zero.
That happens a lot.
That mutation stuff
happens over here
when things get twisted
up and recombined.
There are copying
errors and stuff.
Cosmic rays hit it all the time.
All sorts of reasons
why there might
be a single point of change.
That produces the
mutation effect.
So here, we have a population
that starts off over here.
And some of those things
are subject to mutation.
And you'll note, here's a
whole bunch of choice already.
How many of these mutations
do you allow per chromosome,
for example?
How many of the chromosomes
just slip through
without any mutation?
Those are choices you can make.
Once you've made
those choices, then we
have the crossover phenomenon.

Korean: 
이 중 하나가 분홍색이라고 하고
하나가 파란색이라고 합시다
분홍색과 파란색은 여기 저기 돌아다니다가
분홍색과 파란색은 여기 저기 돌아다니다가
서로 교차하여 새로운 염색체를 만듭니다
자연 현상과 같이 말이죠
자, 이제 앞 쪽의 하나와 뒷 쪽의 하나를 융합해봅시다
자, 이제 앞 쪽의 하나와 뒷 쪽의 하나를 융합해봅시다
어떤 것은 융합이 되지 않을 수도 있습니다
염색체는 쌍으로 결합하는데
이 과정에서 교차가 아예 일어나지 않을 수도 있습니다
이렇게 또다른 선택지가 생깁니다
염색체가 결합할 때 몇 개의 교차를 허용할 것인지와 같은
선택지가 존재하는 것이죠
자, 이제 우리는 돌연변이와 교차로 
인해 변형된 염색체를 갖고 있고
자, 이제 우리는 돌연변이와 교차로 
인해 변형된 염색체를 갖고 있고
이제 유전형이 표현형으로 바뀌는 과정이 있습니다

English: 
Let's identify one of these
guys as the pink one and one
of these guys as the blue one.
And so now we have the
pink one cruised along
as well as the blue one.
The pink one and the blue
one cross and produce
a new chromosome,
just like in nature.
So we take the front part of
one, back part of the other,
and we fuse them together.
And some may slip by without
any of that, like so.
Well, these things are meant to
be combined in pairs, like so,
but they may not have
any crossover in them.
So you have another
set of choices.
How many crossovers do you
allow per recombination?
You get another set of choices.
So now we've got a population
of modified chromosomes
through mutation and crossover.
So the next thing to do
is we have the genotype

English: 
to phenotype transition.
That is to say the chromosome
determines the individual.
It may be a person.
It may be a cow.
It may be a computer program.
I don't care what.
But that code down
there has to be
interpreted to be a something.
So it is the
genotype, and it has
to be interpreted to
be something which
is the phenotype, the thing
that the stuff down there is
encoding for.
So here, we have a
bunch of individuals.
Now, each of those
individuals, because they
have varying
chromosomal composition,
will have a different fitness.
So these fitnesses
might be-- well,
who knows how they
might be scored.
But we're computer scientists.
We might as well use numbers.
So maybe this guy's
fitness is 88,
and this guy's fitness
is 77, and so on.
So now that we've got fitness--

Korean: 
이제 유전형이 표현형으로 바뀌는 과정이 있습니다
염색체가 개체를 결정하는 과정이죠
사람이 될 수도 있고
소가 될 수도 있고
컴퓨터 프로그램이 될 수도 있습니다
뭐가 되는지 상관 없지만
저 코드들이 어떤 무언가로 해석된다는 것입니다
저 코드들이 어떤 무언가로 해석된다는 것입니다
즉 저 코드가 유전형이고
무엇인가로 해석되는 것
즉 인코딩 된 결과가 표현형입니다
무엇인가로 해석되는 것
즉 인코딩 된 결과가 표현형입니다
여기에 수많은 개체가 존재합니다
각 개체는 서로 다른 염색체 구성을 갖기에
각 개체는 서로 다른 염색체 구성을 갖기에
서로 다른 외형을 보입니다
이런 외형들에 어떻게 점수를 매기는지는 모르겠습니다
이런 외형들에 어떻게 점수를 매기는지는 모르겠습니다
하지만 우리 컴퓨터 과학자들은
숫자를 사용하기에
이 친구의 외형은 88, 이 친구의 외형은 77
이런 식으로 점수를 매길 수 있습니다
이 친구의 외형은 88, 이 친구의 외형은 77
이런 식으로 점수를 매길 수 있습니다
자, 외형이 존재하는데

English: 
by the way, notice
all the choices
involved there-- choice
of how you interpret
the genotype, choice about
how the phenotype produces
the fitness.
And now we have a choice
about how the fitness produces
a probability, like 0.8
and 0.1, or something
like that--
probability of survival
into the next generation.
So now, once we've got
those probabilities,
we actually have selection.
And those phenotypes out
there produce genotypes,
a new set of
chromosomes, and that
completes our loop that
goes back in there.
And so that's the
new generation.
Sounds simple.
So if you're going to
make this work, of course,
you have a million
choices, as I'm
going to emphasize
over and over again.

Korean: 
여기에서의 선택지는
유전형을 어떻게 해석할지에 대한 것과
표현형이 어떻게 외형을 만들 것인지에 대한 것이겠죠
외형이 0.8이나 1과 같은 확률을 어떻게 
만들지에 대한 선택지도 존재합니다
외형이 0.8이나 0.1과 같은 확률을 어떻게 
만들지에 대한 선택지도 존재합니다
이 확률은 해당 개체가 다음 세대까지 생존할 확률입니다
이런 확률들을 구하면 실제로 자연 선택이 일어나는 것이죠
이런 확률들을 구하면 실제로 자연 선택이 일어나는 것이죠
이 표현형들은 새로운 염색체로 구성된 유전형을 만들고
이것은 다시 여기로부터 시작하게 되어 
하나의 순환고리를 완성시킵니다
이것은 다시 여기로부터 시작하게 되어 
하나의 순환고리를 완성시킵니다
저게 바로 새로운 세대가 되는 것이죠
간단하죠
여러분이 이 작업을 수행하려고 한다면
제가 계속해서 반복했듯이 수많은 선택지를 갖게됩니다
제가 계속해서 반복했듯이 수많은 선택지를 갖게됩니다

Korean: 
여기서 선택지는
외형이 주어졌을 때 다음 세대로의 생존 확률을 
어떻게 구할 것인지와 같은 것들 입니다
외형이 주어졌을 때 다음 세대로의 생존 확률을 
어떻게 구할 것인지와 같은 것들 입니다
우리는 이 숫자들로부터 저 확률을 
어떻게든 도출해 내야 합니다
우리는 이 숫자들로부터 저 확률을 
어떻게든 도출해 내야 합니다
이제 확률을 도출하는 방법에 대해 말하겠습니다
마술과 같은 일은 없습니다
하나님께서 올바른 방법이라고 명시하신 것도 없습니다
하나님께서 올바른 방법이라고 명시하신 것도 없습니다
하지만 확률을 구하는 데 있어 
염색체는 매우 좋은 성질을 갖고 있습니다
하지만 확률을 구하는 데 있어 
염색체는 매우 좋은 성질을 갖고 있습니다
그러므로 확률을 구하는 가장 간단한 방법은
확률을 계산하는 아이디어 첫 번째는
개체로 가득한 이 주머니에서
어느 개체가 다음 세대에 생존할 것인지를 결정하는 일입니다
어느 개체가 다음 세대에 생존할 것인지를 결정하는 일입니다
때문에 각 단계에서 주머니에서 개체를 꺼내서
다음 세대 주머니에 넣는 확률이 존재합니다
모든 단계에서 이 확률의 합은 1입니다
왜냐하면 이게 높은 확률이 일어나는 방식이기 때문입니다
왜냐하면 이게 높은 확률이 일어나는 방식이기 때문입니다

English: 
And one of your choices
is, for example, how
do you compute the
probability of survival
to the next generation
given the fitness?
So we have to go, somehow,
from numbers like these
to probabilities like those.
So I'm going to talk about
several ways of doing it.
None of them are magic.
None of them was specified
and stipulated by God
as the right way.
But they have increasingly
good properties with respect
to this kind of processing.
So the simplest thing
you can do-- idea number
one for computing
the-- see, what you do
is you get this whole
bag of individuals,
and you have to decide
who's going to survive
to the next generation.
So at each step,
everything in the bank
has a probability of being
the one you pick out and put
in the next generation.
So at any step, the sum
of the probabilities
for each of those guys
is 1, because that's
how high probability works.

English: 
The probability of a
complete set, added all up,
is probability of 1.
So one thing you
can do is you can
say that the
probability that you're
going to draw individual
i is equal to,
or maybe is proportional to,
the fitness of that individual.
I haven't completed
the expression,
so it's not a probability
yet, because some piece of it
won't add up to 1.
How can I ensure that
it will add up to 1?
That's easy.
Right.
All I have to do is
divide by the sum
of the fitnesses over i.
So there's a probability
measure that's
produced from the fitnesses.
Yeah.
STUDENT: You need to make
sure that the fitnesses aren't
negative.
PATRICK WINSTON: Have to make
sure the fitnesses are what?
STUDENT: Aren't negative.
PATRICK WINSTON: He
says I have to make
sure the fitnesses
aren't negative.
Yeah, it would be
embarrassing if they were.

Korean: 
이 과정에서 모든 확률의 합은 1입니다
이 과정에서 모든 확률의 합은 1입니다
개체 i 를 뽑는 확률은
그 개체의 외형과 같거나 비례한다고 말할 수 있습니다
그 개체의 외형과 같거나 비례한다고 말할 수 있습니다
수식이 완성되지 않았고 합이 1이 아니므로
아직 확률이라고 말할 수 없습니다
수식이 완성되지 않았고 합이 1이 아니므로
아직 확률이라고 말할 수 없습니다
이 합이 1 이라는 걸 어떻게 확신할 수 있나요?
답은 쉽습니다
맞습니다
개체의 합으로 나누기만 하면 됩니다
개체의 합으로 나누기만 하면 됩니다
이렇게 외형을 사용해 만든 확률식이 생겼습니다
이렇게 외형을 사용해 만든 확률식이 생겼습니다
네
외형이 음수가 아니라는 것을 짚고 넘어가야 하지 않나요?
외형이 음수가 아니라는 것을 짚고 넘어가야 하지 않나요?
외형이 무엇이라는 것을 짚고 넘어가야 한다고요?
음수가 아니라는 것이요
이 학생이 방금 외형이 음수가 아니라는 것을
짚고 넘어가야 한다고 말했습니다
이 학생이 방금 외형이 음수가 아니라는 것을
짚고 넘어가야 한다고 말했습니다
맞습니다, 외형이 음수라면 굉장히 당혹스러울 것입니다

Korean: 
그래서 그러한 것들을 다 0 으로 처리할 것입니다
외형을 계산하는 방식에 따라 선택지가 다양하게 존재합니다
이 방식의 차이에 따라 음수가 생길 수도 있습니다
이 경우에는 좀 더 생각을 해야겠죠
음수가 생기는 예시로 무엇이 있을까요?
제가 예시를 하나 들어보죠
왜 제가 이 예시를 안들었는지 알게 될 것입니다
우리가 할 일은 주어진 공간에서
최적값을 찾는 유전 알고리즘을 구하는 것입니다
저기 공간이 있습니다
수많은 등고선이 보이시죠
저 공간에 수많은 언덕이 있다는 뜻이죠
저 공간이 어떻게 생성되었는지 보여드리겠습니다
외형은 x 와 y 의 함수인데
이 함수식은, 상수 곱하기 x 의 사인값을 제곱한 것과
상수 곱하기 y 의 사인값을 제곱한 것을 곱해서

English: 
So we'll just truncate
anything like that as 0.
You've got a lot of choice how
you can calculate the fitness.
And maybe you will produce
negative numbers, in which case
you have to think a
little bit more about it.
So now, what about an example?
Well, I'm going to
show you an example.
Why don't I show
you the example.
What we're going to
do is we're going
to have a genetic
algorithm that looks
for an optimal value in a space.
And there's the space.
Now, you'll notice it's
a bunch of contour lines,
a bunch of hills in that space.
Let me show you how
that space was produced.
The fitness is a
function of x and y,
and it's equal to the sine of
some constant times x, quantity
squared, times the sine of some
constant y, quantity squared,

English: 
e to the plus x plus y
divided by some constant.
So sigma and omega
there are just in there
so that it kind of makes a
nice picture for demonstration.
So there's a space.
And clearly, where you
want to be in this space
is in the upper
right-hand corner.
That's the optimal value.
But we have a genetic algorithm
that doesn't know anything.
All it knows how to do
is mutate and cross over.
So it's going to start off
with a population of 1.
It's a little red dot
down in the lower left.
So here's how it's
going to evolve.
There's going to be s
chromosome consisting
of two numbers, an x
number and a y number,
like, say, 0.3 and 0.7.
Here's another one, which
might be 0.6 and 0.2.
So the mutation
operator is going
to take one of those values
and change it a little bit.

Korean: 
e 의 x 더하기 y 를 어떤 상수로 나눈 지수승과 같습니다
그리고 시그마와 오메가와 같은 결과로
보기 좋은 그림이 만들어지는 것이죠
자, 공간이 있습니다
이 공간에서 여러분이 원하는 것은
명백하게 오른쪽 위 구석에 존재합니다
저것이 최적값입니다
하지만 우리에게는 아무것도 
모르는 유전 알고리즘이 있습니다
하지만 우리에게는 아무것도 
모르는 유전 알고리즘이 있습니다
이 알고리즘은 돌연변이와 교차를 
어떻게 하는지만 알고 있습니다
이 알고리즘은 1의 집단으로부터 시작합니다
왼쪽 아래의 작은 붉은 점이 그 집단입니다
이게 어떻게 진화하는지 한 번 보겠습니다
x 와 y , 두 개의 숫자로 이루어진 s 염색체가 있다고 합시다
x 와 y , 두 개의 숫자로 이루어진 s 염색체가 있다고 합시다
두 숫자를 0.3, 0.7 이라고 해보죠
또다른 염색체는 0.6 와 0.2 의 숫자로 이루어져 있습니다
돌연변이는 이 중 하나의 수치를 조금 바꿉니다
돌연변이는 이 중 하나의 수치를 조금 바꿉니다

English: 
So it might say, well, we'll
take 3, and we'll make it 0.2.
And the crossover
operation is going
to exchange the x and
y values of pairs.
So if we have a
crossover here, then what
we're going to get out
from this one-- well,
we're going to get out a
combination of these two.
And it's going to
look like this.
Because what we're
going to do is we're
going to take the x value of
1 and combine it with the y
value of the other one.
So this is going to be 0.2--
my mutated value and 0.2--
and this is going
to be 0.6 and 0.7.
So that's how my little
genetic algorithm
heck is going to work.
So having coded this up, we
can now see how it flows.

Korean: 
0.3 을 0.2 로 바꾸는 것과 같이 말이죠
교차는 x와 y 쌍의 값을 서로 바꿉니다
교차는 x와 y 쌍의 값을 서로 바꿉니다
이 두 개의 조합에서 교차가 일어난다고 한다면
이 두 개의 조합에서 교차가 일어난다고 한다면
이 두 개의 조합에서 교차가 일어난다고 한다면
이런 식으로 되겠죠
왜냐하면 1 의 x 값이 다른 것의 y 값과 결합되기 때문입니다
왜냐하면 1 의 x 값이 다른 것의 y 값과 결합되기 때문입니다
그렇다면 이건 0.2가 되겠죠
돌연변이가 일어난 값이 0.2이고
이건 0.6과 0.7 이 됩니다
이게 유전 알고리즘이 일어나는 방식입니다
이게 유전 알고리즘이 일어나는 방식입니다
이걸 코드로 짜면 어떻게 작동하는지 볼 수 있습니다

English: 
Let's run it 10 generations.
So the population is rapidly
expanded to some fixed limit.
I forgot what it is--
30 or so.
And we can run that
100 generations.
And so this seems to be
getting stuck, kind of, right?
So what's the problem?
The problem is local maxima.
This is fundamentally a
hill climbing mechanism.
Note that I have not included
any crossover so far.
So if I do have
crossover, then if I've
got a good x value
and a good y value,
I can cross them
over and get them
both in the same situation.
But nevertheless,
this thing doesn't
seem to be working very well.
STUDENT: Professor,
I have a question.
PATRICK WINSTON: Yeah.
STUDENT: That picture is
just the contour lines
of that function.
PATRICK WINSTON: The contour
lines of that function.

Korean: 
10 세대 동안 코드를 돌려봅시다
이제 염색체 집단은 일정 한계까지 급격하게 증가합니다
30 정도의 숫자였던 것 같습니다
30 정도의 숫자였던 것 같습니다
100 세대에 걸쳐 코드를 돌릴 수도 있습니다
여기서 뭔가 막힌 것 같죠
무엇이 문제인가요?
극댓값이 문제입니다
이건 근본적으로 언덕 오르기 메커니즘입니다
제가 아직 교차를 포함시키지 않았다는 
사실을 기억하시기 바랍니다
교차가 일어나고 좋은 x값과 y값을 갖고 있다면
이 둘을 교차시킬 수 있고, 같은 상황에서 
이 둘을 얻을 수 있게 됩니다
이 둘을 교차시킬 수 있고, 같은 상황에서 
이 둘을 얻을 수 있게 됩니다
하지만 그럼에도 이건 잘 작동하지 않는 것 같군요
하지만 그럼에도 이건 잘 작동하지 않는 것 같군요
교수님, 질문이 있습니다
네
저 그림은 저 함수식의 등고선일 뿐인건가요?
저 그림은 저 함수식의 등고선일 뿐인건가요?
저 함수식의 등고선이라

English: 
So the reason you see
a lot of contour lines
in the upper right
is because it gets
much higher because there's that
exponential term that increases
as you go up to the right.
So I don't know, it looks--
let's put some crossover in
and repeat the experience.
We'll run 100 generations.
I don't know.
It just doesn't seem
to be going anywhere.
Sometimes, it'll go right
to the global maximum.
Sometimes it takes a long time.
It's got a random number
generator in there,
so I have no control over it.
So it's going to get there.
I couldn't tell
whether the crossover
was doing any good or not.
Oh, well, here's one.
Let's make this a little
bit more complicated.
Suppose that's the space.

Korean: 
오른쪽 위에서 수많은 등고선이 보이는 이유는
오른쪽 위에서 수많은 등고선이 보이는 이유는
오른쪽으로까지 값을 증가시키는 지수식이 있기 때문입니다
오른쪽으로까지 값을 증가시키는 지수식이 있기 때문입니다
잘 모르겠지만 이렇게 보이겠죠
교차를 추가해서 알고리즘을 다시 돌려보겠습니다
100 세대에 걸쳐 돌려보죠
저도 잘 모르겠습니다
그냥 아무 곳에도 가지 않는 것처럼 보입니다
가끔 바로 최댓값으로 가는 경우도 있습니다
오랜 시간이 걸릴 때도 있습니다
난수 생성기가 있기 때문에 제가 
제어할 수 있는 방법이 없습니다
난수 생성기가 있기 때문에 제가 
제어할 수 있는 방법이 없습니다
곧 끝날 것입니다
교차가 잘 일어났는지 아닌지는
말하기 어렵습니다
오 여기 하나가 있네요
이걸 좀 더 복잡하게 만들어 봅시다
저것이 공간이라고 가정해 봅시다

English: 
Now it's going to
be in real trouble,
because it'll never
get across that moat.
You know, you would think
that it would climb up
to the x maximum or
to the y maximum,
but it's not going
to do very well.
Even with crossover,
it's just not
going to do very
well, because it's
climbing up those local hills.
Anybody got an idea
about one simple thing
we could do to make
it work better?
Yeah, you could increase
step size, right?
Let me you see if
that will help.
You know, even that
doesn't seem to help.
So we have to conclude--
do we conclude
that this is a bad idea?
Well, we don't have to
conclude it's a bad idea yet,

Korean: 
저렇게 되면 꽤 골치가 아파집니다
왜냐하면 저 큰 경계를 절대 넘지 않기 때문이죠
x의 최댓값이나 y의 최댓값까지 
오를 수 있다고 생각하겠지만
x의 최댓값이나 y의 최댓값까지 
오를 수 있다고 생각하겠지만
알고리즘이 그렇게 잘 작동하지는 않습니다
교차가 있다 하더라도 잘 작동하지 않습니다
왜냐하면 극댓값만 오르기 때문이죠
알고리즘이 더 잘 작동하게 하는 
방법에 대한 아이디어가 있습니까?
알고리즘이 더 잘 작동하게 하는 
방법에 대한 아이디어가 있습니까?
맞습니다, 단계 크기를 늘리기만 하면 됩니다
그게 실제로 도움이 되는지 직접 보여드리겠습니다
만약 단계 크기를 늘리는 게 딱히 도움이 되지 않는 것 같군요
그렇다고 해서 이게 나쁜 아이디어라고 결론 지을 수 있나요?
그렇다고 해서 이게 나쁜 아이디어라고 결론 지을 수 있나요?
벌써부터 나쁜 아이디어라고 결론 내릴 필요는 없습니다

English: 
because we may just look at
it and ask why five times.
And we might ask,
well, maybe we can
get a better mechanism in
there to translate fitness
into probability of survival.
Using this formula is
kind of strange, anyway,
because suppose temperature
is one of your fitness
characteristics.
The hotter, the better.
Then the ratio of
the probability
that you'll survive
versus the person
next to you, that
ratio will depend on
whether you're measuring
the temperature in Celsius
or Fahrenheit, right?
Because you've
shifted the origin
that shifts the
ratio that shifts
the probability of success.
So it seems kind of strange to
just take these things right
straight into probabilities.
So a better idea--
idea number two--
is to say, well,
shoot, maybe we don't
care about what the
actual fitnesses are.
All we really care
about is the rank order

Korean: 
벌써부터 나쁜 아이디어라고 결론 내릴 필요는 없습니다
외형을 생존의 확률로 바꾸는 더 좋은 방법을 
찾을 수 있을 것이라고 생각할 수도 있겠죠
외형을 생존의 확률로 바꾸는 더 좋은 방법을 
찾을 수 있을 것이라고 생각할 수도 있겠죠
어쨌거나 이 식을 사용하는 것은 꽤나 이상합니다
왜냐하면 온도가 외형 중 하나라고 하면
높은 온도가 더 좋은 외형이 되고
여러분 옆에 앉아 있는 사람보다 여러분이 생존할 확률이
온도를 섭씨로 재는지 화씨로 
재는지에 따라 달라지기 때문입니다
온도를 섭씨로 재는지 화씨로 
재는지에 따라 달라지기 때문입니다
온도를 섭씨로 재는지 화씨로 
재는지에 따라 달라지기 때문입니다
왜냐하면 비율을 변환하는 원형을 바꾸면
생존 성공 확률 또한 바뀌기 때문입니다
때문에 이런 것들을 확률에 곧바로 넣는 것은 이상합니다
때문에 이런 것들을 확률에 곧바로 넣는 것은 이상합니다
그러므로 더 좋은 아이디어 두 번째는
그러므로 더 좋은 아이디어 두 번째는
실제 외형이 어떤지 신경 쓰지 않는 것입니다
실제 외형이 어떤지 신경 쓰지 않는 것입니다
대신에 모든 후보자들의 순위만 신경 쓰는 것이죠

English: 
of all the candidates.
So the candidate
with the most fitness
will have the most
probability of getting
into the next generation.
The candidate with the
second most fitness
will have the second highest
probability, and so on.
But we're not going to use the
actual fitnesses themselves
to make the determination.
Instead, what we're going to
do with this mechanism number
two-- this is the
rank space method--
is this.
We're going to say that the
probability of the highest
ranking individual of getting
into the next generation
is some constant P sub c, which,
of course, you can select.
You have another choice.
Then, if that guy
doesn't get selected,
the probability of the second
highest ranking individual
getting in the
next generation is
going to be the probability that
that guy didn't get in there.
That's 1 minus P sub c times
the same probability constant.

Korean: 
대신에 모든 후보자들의 순위만 신경 쓰는 것이죠
가장 좋은 외형을 가진 후보자가 
다음 세대로 들어가는 가장 높은 확률을 갖고
가장 좋은 외형을 가진 후보자가 
다음 세대로 들어가는 가장 높은 확률을 갖고
두 번째로 좋은 외형을 갖는 후보자가
다음 세대로 들어가는데 두번째로 
높은 확률을 갖게 되는 방식입니다
하지만 우리는 이런 결정을 내리기 위해 
실제 외형을 사용하지는 않을 것입니다
하지만 우리는 이런 결정을 내리기 위해 
실제 외형을 사용하지는 않을 것입니다
대신에 우리가 이것으로 할 일은
두번째 메커니즘인
순위 기반 공간 방식입니다
바로 이런 것입니다
가장 높은 순위의 개체가 다음 세대로 
들어가는 확률을 Pc 라고 합시다
가장 높은 순위의 개체가 다음 세대로 
들어가는 확률을 Pc 라고 합시다
이 역시 여러분이 결정할 수 있는 것이죠
이 역시 여러분이 결정할 수 있는 것이죠
여기 이렇게 또다른 선택지가 존재하게 됩니다
만약 가장 높은 순위의 개체가 선택되지 않는다면
두번째 순위의 개체가 다음 세대로 들어갈 확률은
1순위 개체가 못 들어간 확률이 되겠죠
1순위 개체가 못 들어간 확률이 되겠죠
1 - Pc 에 동일한 확률 상수를 곱한 값이 되겠죠

English: 
And so you can see
how this is going.
P3 will be equal to 1 minus P
sub c squared terms P sub c.
P sub n minus 1
will be equal to 1
minus that probability constant
to the n minus-- n minus 2
times P sub c.
And then there's only
one individual left.
And then if you got
through all these guys
and haven't got
anybody selected,
then you've got to
select the last guy.
And so the probability you're
going to select the last guy
is going to be 1 minus P
sub c to the n minus 1.
So it's a probability
you've missed all those guys
in the first n minus 1 choices.
Yeah, it is, honest to God.
See, this is the probability
that this last guys
is going to get selected.

Korean: 
이게 어떻게 되는지 봅시다
P3 는 1 - Pc 의 제곱에 확률 상수 Pc 를 곱한 것이고
Pn-1 은 1 - Pc 를 n-2 만큼 제곱하여
Pn-1 은 1 - Pc 를 n-2 만큼 제곱하여
확률상수 Pc 를 곱한 값이 되겠죠
이제 하나의 개체만이 남아있습니다
만약 마지막 개체가 남을 때까지 아무도 생존하지 않았다면
마지막 개체를 생존하는 걸로 선택해야 겠죠
그러므로 마지막 개체의 생존 확률은
1 - Pc 의 n-1 제곱이 됩니다
이것은 n-1 개의 개체에서 모든 개체가 
생존하지 않는 확률과 같습니다
이것은 n-1 개의 개체에서 모든 개체가 
생존하지 않는 확률과 같습니다
하나님께 맹세하건대 이렇게 됩니다
저 식이 바로 마지막 개체가 선택될 확률입니다
저 식이 바로 마지막 개체가 선택될 확률입니다

Korean: 
다른 개체가 선택되지 않았을 때
마지막 개체가 선택될 확률이 아닙니다
다른 개체가 선택되지 않았을 때
마지막 개체가 선택될 확률이 아닙니다
절 믿으세요, 실제로 그렇습니다
1 이 되어야 한다고 생각하시나요?
네?
학생은 이게 1 이 되어야 한다고 생각하시나요?
아니요, 저는 왜 교수님께서 같은 말씀을 
반복하시는지 궁금했습니다
아니요, 저는 왜 교수님께서 같은 말씀을 
반복하시는지 궁금했습니다
같은 말을 반복한다라
우리는 마지막 사건을 제외한 나머지
각 사건에 대한 확률을 갖고 있습니다
우리는 마지막 사건을 제외한 나머지
각 사건에 대한 확률을 갖고 있습니다
다른 선택지가 없습니다
다른 선택지가 없습니다
교수님, 질문 있습니다
네
식을 저렇게 도출하신 건 이해됩니다
하지만 마지막 말씀은 이해가 잘 안됩니다
이건 첫 두 선택지에 대한 확률입니다
이건 첫 두 선택지에 대한 확률입니다
네, 하지만 두번째 선택지는
1- Pc 곱하기 Pc 의 확률을 갖지 않나요?
이렇게 생각해 보세요
첫 두 가지를 선택하지 않은 확률인 것입니다
때문에 첫 번째 것을 선택하지 않은 확률은
1 - Pc 가 되고
그 다음 것을 선택하지 않은 확률도 같아집니다
왜냐하면 다음 것을 선택할 확률은
1 - Pc 의 제곱이기 때문이죠

English: 
It's not the
probability that it's
the last guy getting selected,
given that the others haven't
been select.
Trust me, it's right.
Are you thinking
it ought to be 1?
STUDENT: What?
PATRICK WINSTON: Were you
thinking it ought to be 1?
STUDENT: No, I was thinking that
I was wondering why you were re
rolling the dice, so to speak.
PATRICK WINSTON: You
are re rolling the dice.
You've got a
probability each time,
except for the last time, when,
of course, you have to take it.
There's nothing left.
There's no other choice.
STUDENT: I have a question.
PATRICK WINSTON:
Yeah, [? Lunnare ?]..
STUDENT: So when you jump
from P sub 1 to P sub 2,
that makes sense.
P sub 2 to P sub 3 you're
saying that the probability
PATRICK WINSTON:
It's the probability
depends on the
first two choices.
STUDENT: Yeah, but
the second choice
had probability one minus P
sub c times P sub c, not--
PATRICK WINSTON: Think
about it this way.
It's the probability you
didn't choose the first two.
So the probability you
didn't choose the first one
is one minus P sub c.
The probability you didn't
choose the next one, as well,
because you're choosing that
next one with probability P sub
c, it's the square of it.

English: 
So that might work better.
Let's give it a shot.
Let's go back to our
original space choice,
and we set and switch to
the rank fitness method.
And we'll run out
100 generations.
Whoa!
What happened there?
That was pretty fast.
Maybe I used a big step size.
Yeah, that's a little
bit more reasonable.
Oops-- what happened?
It's really getting
stuck on a local maximum.
So evidently, I've choosed
a constant P sub c such
that it just drove it
right up the nearest hill.
On the other hand, if I change
the step size a little bit,
maybe I can get
it to spread out.
I sure did.
And now that it's
managed to evolve over

Korean: 
순위 기반 방식이 더 잘 작동할 것입니다
한 번 해보죠
맨 처음에 공간 선택하는 것으로 돌아가서
순위 기반 방식을 사용해 봅시다
이 방식으로 100 세대를 돌려봅시다
와우
무슨 일이 일어났죠?
매우 빨랐습니다
큰 단계 크기를 사용한 것 같습니다
이게 좀 더 낫겠군요
에그머니나
무슨 일이 일어났나요?
극댓값에 계속해서 막혀있습니다
명백하게도 제가 선택한 상수 
Pc 는 극댓값으로만 향하게 합니다
명백하게도 제가 선택한 상수 
Pc 는 극댓값으로만 향하게 합니다
반면에 단계 크기를 조금 바꾸면
널리 퍼질 수 있을 것 같습니다
그렇게 되는군요
이제 저기서 진화하면서 최댓값을 찾고 있군요

English: 
there to find the
maximum value, now I
can clamp down on
the step size again.
And now it shows
no more diversity.
It's just locked on to
that global maximum.
So this is not unlike what
evolution sometimes does.
Sometimes, species
collapse into a state
where they don't change for 500
million or 600 million years,
like sharks, for example.
Sometimes, they only
survive if they've
got a lot of diversity
built into their way of life
so that they can adjust
to habitat changes.
Now, when you increase
the step size,
because you're stuck
on a local maximum,
it's like heating up a metal.
You make everything
kind of vibrate
more, make bigger steps.
So this kind of process, where
you may start with a big step
size and then gradually
reduce the step size,
is called simulated
annealing, because it's

Korean: 
이제 다시 단계 크기를 정밀하게 설정할 수 있습니다
이제 더이상 다양한 값을 보여주지 않고
오직 최댓값에만 고정되어 있습니다
이것은 실제 진화와 다를 바 없습니다
상어와 같은 종은 500만년이나 600만년 동안
동일한 외형을 유지합니다
동일한 외형을 유지합니다
종들은 외부 환경 변화에 적응할 수 있는
다양한 생활 양식이 존재할 때에만
종들은 외부 환경 변화에 적응할 수 있는
다양한 생활 양식이 존재할 때에만
생존하기도 합니다
극댓값에 막혀있을 때 단계 크기를 늘이는 것은
금속에 열을 가하는 것과 같습니다
더 많이 진동시켜 더 큰 단계를 만드는 것이죠
더 많이 진동시켜 더 큰 단계를 만드는 것이죠
이렇게 단계 크기를 크게 설정해서 점차 
줄여나가는 방식을 모의 담금질 이라고 합니다
이렇게 단계 크기를 크게 설정해서 점차 
줄여나가는 방식을 모의 담금질 이라고 합니다

Korean: 
왜냐하면 금속을 식히는 것과 비슷하기 때문입니다
왜냐하면 금속을 식히는 것과 비슷하기 때문입니다
높은 온도에서 시작하는 것은 
큰 단계 크기에서 시작하는 것과 같습니다
높은 온도에서 시작하는 것은 
큰 단계 크기에서 시작하는 것과 같습니다
그 후 단계 크기를 천천히 줄여 나갑니다
이렇게 해서 가능한 극댓값에 도달하게 하는 것이죠
이러한 방식은 잘 작동할 것 같습니다
공간 사이에 큰 공백이 있는 더 어려운 
경우에도 이 방식이 잘 작동하는지 봅시다
공간 사이에 큰 공백이 있는 더 어려운 
경우에도 이 방식이 잘 작동하는지 봅시다
잘 작동하지 않는군요
단계 크기를 늘여야겠습니다
여전히 극댓값에만 멈춰 있습니다
비록 교차의 가능성이 있지만
여전히 오른쪽 아래 구석에만 있습니다
교차가 만들어 내는 오른쪽 위 구석 
최적값까지 가지 못하고 있습니다
교차가 만들어 내는 오른쪽 위 구석 
최적값까지 가지 못하고 있습니다
교차가 만들어 내는 오른쪽 위 구석 
최적값까지 가지 못하고 있습니다
아직 문제가 해결되지 않았군요

English: 
like letting a metal cool down.
So you start off with a
big temperature-- big step
size-- that covers the space.
And then you slowly
reduce the step size,
so you actually crawl
up to the local maxima
that are available.
So that seemed to
work pretty well.
Let's see if we can get
it to work on the harder
problem of the moat.
So it's not doing very well.
Better increase the step size.
No, it's still kind of stuck.
Even though it's got the
capacity to cross over,
it's so stuck on that
lower right hand corner,
it can't get up that vertical
branch to get to a point
where a crossover will
produce a value up there
in the upper right-hand corner.
So we're still not home yet.

English: 
So what's the trouble?
The trouble is that the fitness
mechanism is just driving
things up to the local maximum.
It's just terribly unfortunate.
What to do?
Well, here's something
you could do.
You can say, well,
if the problem is
we've lost the diversity
in our population,
then we can measure
the diversity-- not
only the fitness of
the set of individuals
we're selecting from, but we
can measure how different they
are on the individuals
we've already selected
for the next population.
In other words, we can get a
diverse population as well as
a fit population if, when
we make our selection,
we consider not
only their fitness
but how different they are
from the individuals that
have already been selected.
So that's going to be
mechanism number three.

Korean: 
무엇이 문제입니까?
여기서 문제는 외형 메커니즘이 알고리즘을 
극댓값으로만 이끈다는 것입니다
여기서 문제는 외형 메커니즘이
극댓값에만 도달하게 한다는 것입니다
이러면 안됩니다
어떻게 하면 좋을까요?
이 문제를 해결하는 방법이 있습니다
집단 내 다양성을 상실하는 게 문제라면
다양성을 측정하면 되는 것이죠
집단 내 다양성을 상실하는 게 문제라면
다양성을 측정하면 되는 것이죠
집단 내 다양성을 상실하는 게 문제라면
다양성을 측정하면 되는 것이죠
여기서 다양성은 우리가 선택하는 개체의 외형뿐 아니라
여기서 다양성은 우리가 선택하는 개체의 외형뿐 아니라
다음 세대에 생존할 개체와 서로 
얼마나 다른지까지도 의미합니다
다음 세대에 생존할 개체와 서로 
얼마나 다른지까지도 의미합니다
다시 말하자면 우리는 외형 집단뿐 아니라
다양성 집단도 구할 수 있다는 것이죠
만약 우리가 다음 세대로의 생존을 결정할 때
외형 뿐 아니라 이미 선택된 개체와
만약 우리가 다음 세대로의 생존을 결정할 때
외형 뿐 아니라 이미 선택된 개체와
얼마나 다른지를 고려한다면 말입니다
이게 바로 세 번째 메커니즘입니다

Korean: 
즉 주어진 공간에서 외형을 한 축에 따라 측정할 수 있고
즉 주어진 공간에서 외형을 한 축에 따라 측정할 수 있고
일반적인 외형이죠
그리고 이건 순위 기반 공간 외형이니 Pc 가 되겠죠
그리고 이건 순위 기반 공간 외형이니 Pc 가 되겠죠
항상 최적의 외형을 갖는 개체가 존재합니다
항상 최적의 외형을 갖는 개체가 존재합니다
그리고 여기
이것은 실제로 Pc 가 아닙니다
하지만 최적의 외형을 갖는 개체가 존재하고
다음 세대로의 생존을 결정하는 모든 단계에서
다음 세대로의 생존을 결정하는 모든 단계에서
이제까지 생존했던 개체와
최대로 다른 개체가 존재할 것입니다
이제까지 생존했던 개체와
최대로 다른 개체가 존재할 것입니다
자 여러분은 다음 세대에 생존하는
개체의 특징을 무엇으로 잡고 싶습니까?

English: 
So now we have a space,
and we can measure fitness
along one axis-- ordinary
fitness-- and this is
rank space fitness, so
that's going to be P sub c.
There will always
be some individual
with the highest fitness.
And over here-- that might
not be P sub c, actually.
But there'll be some individual
with a maximal fitness,
and at any given
step in the selection
of the next population, there'll
be some individual that's
maximally diverse from all
of the individuals that
have been selected for the
next generation so far.
So what kind of
individual would you

English: 
like to pick for
the next generation?
Well, the one with
the highest fitness
rank and the one with the
highest diversity rank.
So what you'd really
like is you'd like
to have somebody right there.
And if you can't have
somebody right there,
if there's nobody right
there with a maximum fitness,
a maximum diversity
at the same time, then
maybe you can draw in
iso goodness lines,
like so, which are just how
far you are from that ideal.
So let's summarize.
You've got to pick
some individuals
for the next population.
When we pick the
first individual,
all we've got to
go on is how fit
the individual is,
because there's nobody
else in that next generation.
After the first
individual is selected,
then we can look at
our set of candidates,
and we can say which
candidate would
be more different from the
set of things we've already
selected than all the others.

Korean: 
자 여러분은 다음 세대에 생존하는
개체의 특징을 무엇으로 잡고 싶습니까?
하나는 최적의 외형을 갖는 개체이고
나머지 하나는 다양성이 최대인 개체입니다
여러분이 궁극적으로 원하는 것은 
개체가 이 지점에 존재하는 것입니다
여러분이 궁극적으로 원하는 것은 
개체가 이 지점에 존재하는 것입니다
만약 아무 개체도 저기 존재하지 않는다면
즉 아무 개체도 최적의 외형과
최대의 다양성을 동시에 갖지 않는다면
유사최적선을 그릴 수 있을 것입니다
그렇게 함으로써 이상향과 얼마나 떨어져있는지 알 수 있죠
그렇게 함으로써 이상향과 얼마나 떨어져있는지 알 수 있죠
자 정리해봅시다
다음 세대에 생존할 개체를 선택해야 합니다
다음 세대에 생존할 개체를 선택해야 합니다
첫 번째 개체를 선택할 때 우리가 해야할 일은
그 개체가 얼마나 적합한지 입니다
왜냐하면 다음 세대에 아무도 없기 때문이죠
첫 번째 개체를 선택하고 나면
후보자 집단을 살펴보고
어떤 후보자가 이미 선택한 것들보다 
얼마나 더 다른지 말할 수 있습니다
어떤 후보자가 이미 선택한 것들보다 
얼마나 더 다른지 말할 수 있습니다

Korean: 
이 방식으로 가장 다른 후보자가 
다양성 1순위가 됩니다
이 방식으로 가장 다른 후보자가 
다양성 1순위가 됩니다
이 방식이 어떻게 일어나는지 한 번 봅시다
외형 순위와 다양성 순위의 조합을 사용할 것입니다
외형 순위와 다양성 순위의 조합을 사용할 것입니다
그리고 간단한 것을 사용할 것입니다
작은 단계 크기를 사용해 
100 세대를 돌려 어떻게 되는지 봅시다
작은 단계 크기를 사용해 
100 세대를 돌려 어떻게 되는지 봅시다
잘 작동합니다
스스로를 퍼뜨리려는 성질 때문에 오른쪽 위로 갔습니다
스스로를 퍼뜨리려는 성질 때문에 오른쪽 위로 갔습니다
다양성 척도를 사용했기 때문에 이렇게 되는 것입니다
이와 동시에 최적 외형을 찾기 때문에
오른쪽 위 구석으로 가게 되는 것이죠
하지만 다양성 순위가 계속해서 알고리즘을 퍼뜨립니다
하지만 다양성 순위가 계속해서 알고리즘을 퍼뜨립니다
여러분이 상어와 같은 개체라고 해봅시다
여러분에게 다양성은 중요하지 않으므로
다양성 순위를 끄면 됩니다
여러분에게 다양성은 중요하지 않으므로
다양성 순위를 끄면 됩니다
여전히 잘 작동할까요?

English: 
That would get the highest
diversity rank and so on down
the candidate list.
So let's see how
that might work.
So we're going to use a
combination of fitness
rank and diversity rank.
And we'll just use
the simple one so far.
We'll use a small
step size, and we'll
let this run 100 generations
to see what happens.
Bingo.
It crawls right up there,
because it's trying
to keep itself spread out.
It uses that diversity
measurement to do that.
And at the same time,
it's seeking high fitness,
so that's why it's crawling up
to the upper right hand corner.
But in the end, that
diversity piece of it
is keeping the
things spread out.
So suppose you're a
shark or something.
You don't care about
diversity anymore,
And we could just turn that off.
Is that thing still running?

English: 
Go back to fitness rank-- bingo.
So there you are-- you're
stuck for 600 million years.
So let's see if this will
handle the moat problem.
See, our step size
is still small.
We'll just let this run.
So the diversity of P sub
is keeping it spread out,
pretty soon, bingo,
it's right in there.
It's across that big moat,
because it's got the crossover
mechanism that combines the
best of the x's and the best
of the y's.
So that seems to
work pretty well.
OK, so see, these are
some of the things
that you can think about
when you're thinking-- oh,
and of course,
we're a shark, we're
going to forget about diversity.
We'll change the
selection method

Korean: 
외형 순위로 돌아가서
잘 작동하는 군요
이 외형을 600만년 동안 유지할 것입니다
이게 큰 공백 공간 문제도 해결하는지 봅시다
단계 크기는 여전히 작습니다
프로그램을 돌려봅시다
다양성은 계속해서 점들을 퍼뜨려서
딱 여기 오른쪽 위 구석에 들어가게 하죠
가장 좋은 x 값과 y 값을 결합하는 
교차 메커니즘으로 큰 공백 공간을 넘어갑니다
가장 좋은 x 값과 y 값을 결합하는 
교차 메커니즘으로 큰 공백 공간을 넘어갑니다
가장 좋은 x 값과 y 값을 결합하는 
교차 메커니즘으로 큰 공백 공간을 넘어갑니다
이 방식은 잘 작동하는 것 같군요
여기까지 유전 알고리즘에 대해 
생각해 볼 만한 것들이었습니다
오 물론 우리가 상어였기 때문에 
다양성에 대해서는 무시했었습니다
오 물론 우리가 상어였기 때문에 
다양성에 대해서는 무시했었습니다
생존하는 개체를 선택하는 방식을

English: 
from fitness and diversity
rank to just diversity.
It collapses down on
to the highest hill.
Yeah, [? Feedball ?], what?
STUDENT: How does step size
translate into mutations?
PATRICK WINSTON: Oh,
just the-- question
is, how does step size
translate into mutation?
Instead of allowing myself
to take steps as big as 1/10,
I might allow myself to
take steps as big as 3/10,
according to some distribution.
So what to say about all this?
It's very seductive,
because it's nature, right?
The trouble is,
it's naive nature.
And as evolutionary theories
go, this is horrible.
This is naive.
So we'd like to use real
evolutionary theory,
except we don't have
real evolutionary theory.
Evolution is still a mystery.

Korean: 
다양성 순위만 고려하는 것으로 바꿔보더라도
가장 높은 언덕에 도달합니다
네?
단계 크기가 어떻게 돌연변이로 바뀌죠?
단계 크기가 어떻게 돌연변이로 바뀌는지 말이죠
단계 크기가 어떻게 돌연변이로 바뀌는지 말이죠
어떤 통계적 분포에 따라 단계크기를 
1/10 이 아닌 3/10 으로 정할 수도 있습니다
어떤 통계적 분포에 따라 단계크기를 
1/10 이 아닌 3/10 으로 정할 수도 있습니다
어떤 통계적 분포에 따라 단계크기를 
1/10 이 아닌 3/10 으로 정할 수도 있습니다
이런 모든 것에 대해 뭐라고 말할 수 있나요?
매우 매혹적입니다. 자연이니깐요, 그렇죠?
문제는 이게 순수한 자연이라는 것입니다
그리고 진화 이론과 마찬가지로 이것은 끔찍합니다
이건 순수합니다
실제 진화 이론이 없는 경우를 제외하고는
우리는 실제 진화 이론을 사용할 것입니다
실제 진화 이론이 없는 경우를 제외하고는
우리는 실제 진화 이론을 사용할 것입니다
진화는 여전히 베일에 싸여 있습니다

Korean: 
어떤 것은 명백하게 밝혀졌죠
여러분은 빠른 경주마를 키울 수 있습니다
저 알고리즘이 그런 식으로 작동합니다
문제는 종 분화나 수많은 진화가 어떻게 일어나는지에 대해
정말 좋은 아이디어가 없다는 것입니다
왜냐하면 염색체들이 각각의 표현형으로
연결되어 있는 방식은 매우 복잡해서
왜냐하면 염색체들이 각각의 표현형으로
연결되어 있는 방식은 매우 복잡해서
아무도 완벽하게 이해할 수 없기 때문이죠
그래서 아무도 깊게 알지 못하는
유전형에서 표현형으로 바뀌는 현상에는
그래서 아무도 깊게 알지 못하는
유전형에서 표현형으로 바뀌는 현상에는
여전히 많은 신비가 존재하는 것이죠
그래서 유전 알고리즘이라는 
이름으로 진화를 프로그래밍할 때
그래서 유전 알고리즘이라는 
이름으로 진화를 프로그래밍할 때
고등 생물 수준의 내용만 가져오고
그 내용을 바탕으로 프로그램을 
구축하는데 많은 시간을 쏟는 것이죠
고등 생물 수준의 진화 내용은 조작할 만한 곳이 참 많습니다
다음 세대로의 생존을 결정할 때 
많은 것을 조작할 수 있기 때문입니다

English: 
Some things are pretty obvious.
You can breed fast race horses.
That works just like so.
The trouble is, we don't have
any real good idea about how
speciation takes place
and how a lot of evolution
works, because all these
chromosomes are connected
to their phenotype consequences
in very complicated ways
that nobody fully understands.
So there's a great deal
of magic in that genotype
to phenotype transition
that nobody really
understands very well.
So when people write
these programs that
are in the style of so
called genetic algorithm,
they're taking a photograph
of high school biology,
and they're spending a
long time building programs
based on that naive idea.
But that naive idea has lots
of places for intervention,
because look at all the
things you can screw around

Korean: 
다음 세대로의 생존을 결정할 때
많은 것을 조작할 수 있기 때문입니다
돌연변이는 무엇을 합니까?
기본적으로 언덕을 오르는 것입니다, 그렇죠?
돌연변이는 퍼뜨리는 데 사용되고
외형은 언덕을 오르는 데 사용됩니다
이것을 어떻게 다룰지에 따라 
수많은 선택지가 존재하는 것이죠
더 많은 교차가 일어날수록 더 많은 선택지가 존재합니다
더 많은 교차가 일어날수록 더 많은 선택지가 존재합니다
교차는 무엇을 합니까?
교차는 다수의 강한 특징을 한 개체 안에 결합하는 것입니다
교차는 다수의 강한 특징을 한 개체 안에 결합하는 것입니다
이제 모든 종류의 선택지가 저기에 있습니다
그리고 유전형에서 표현형으로 바뀌는 것
즉 1과 0들을 어떻게 해석할지에 관한 것은
설계하는 사람에게 달려있습니다
설계하는 사람에게 달려있습니다
프로그램을 설계하는 사람에 의해 
결정되는 것들이 저기 있습니다
프로그램을 설계하는 사람에 의해 
결정되는 것들이 저기 있습니다
여러분이 인상적인 시연을 봤을 때 
궁극적으로 던져야 할 질문은
여러분이 인상적인 시연을 봤을 때 
궁극적으로 던져야 할 질문은
프로그램의 신뢰도가 어디에 존재하냐(lie)는 것입니다
방금 말장난은 일부러 한 것인데요

English: 
with in that process of
going from one generation
to the next.
By the way, what
does mutation do?
It's basically hill
climbing, right?
It's producing a
little spread out,
and you're using the fitness
thing to climb the hill.
So you get a lot of choices
about how you handle that.
Then you get a lot of
choices about much crossover
you're doing.
What does crossover do?
It kind of combines
strong features
of multiple individuals
into one individual, maybe.
So you've got all
kinds of choices there.
And then your genotype to
phenotype translation--
how do you interpret
something like those zeroes
and ones as an if then rule,
for example, as something that's
in the hands of the designer?
Then you've got all the rest
of those things, all which
are left up to the designer.
So in the end, you
really have to ask--
when you see an impressive
demonstration, you have to say,
where does the credit lie?
And I mean that
pun intentionally,

Korean: 
왜냐하면 신용도에 대해 불평하는 사람들은
종종 그 자신이 어디에서 왔는지 속이기(lie) 때문입니다
하지만 그럼에도 이 방식이 정말 실용적인 응용 분야에서
활용되는 예시를 보여드릴까 합니다
활용되는 예시를 보여드릴까 합니다
좋은 앞 부분과 좋은 뒷 부분이 결합하여
전체적으로 좋은 결과를 내는 것이
좋은 앞 부분과 좋은 뒷 부분이 결합하여
전체적으로 좋은 결과를 내는 것이
좋은 앞 부분과 좋은 뒷 부분이 결합하여
전체적으로 좋은 결과를 내는 것이
어떤 것이 있을까요?
바로 여러분이 계획을 짤 때 입니다
일련의 단계를 거쳐야 하는 계획을 
짤 때 문제가 생길 수 있습니다
일련의 단계를 거쳐야 하는 계획을 
짤 때 문제가 생길 수 있습니다
단계가 필요한 계획이 두 개 필요할 수도 있죠
단계가 필요한 계획이 두 개 필요할 수도 있죠
한 계획의 앞 부분과 다른 계획의 뒷 부분을
결합하여 새로운 것을 만들 수도 있습니다
결합하여 새로운 것을 만들 수도 있습니다
이것이 바로 첫 번째 실용적인 응용 분야입니다

English: 
because usually the people
who are claiming the credit
are lying about where
it's coming from.
But nevertheless,
let me give you
a couple of examples
of where this
has found actual, bona
fide practical application.
So when you look for
practical application,
you might say, well,
in what kind of problem
does a good front piece
combine with a good back piece
to produce a good thing overall?
And the answer is, when
you're making a plan.
So you might have a
problem in planning
that requires you to
take a series of steps.
And you might have two
plans, each of which
is a series of steps.
And you might combine these to
produce something new that's
the front half of one and
the back half of another.
So that's practical
application number one.

English: 
And that requires you to
interpret your chromosome
as an indicator of
the steps in the plan.
Another example is drawn
from a UROP project
a student did for
me some years ago.
He was a freshman.
He came to me and said, I
want to do a UROP project.
And I said, have
you taken 6.034?
And he said no.
And I said, go away.
And he said, I don't
want to go away.
I want to do a UROP project.
So I said, have
you read my book?
He said no.
I said, well, go away, then.
And he said, I don't
want to go away.
I want to do a UROP project.
So I said, I don't
have any UROP projects.
He said, that's OK.
I've got my own.
He's a finance
type guy, so he was
interested in whether he
could build a rule based
expert system that could predict
the winners at horse races.

Korean: 
염색체가 여기서 계획의 단계를 의미합니다
염색체가 여기서 계획의 단계를 의미합니다
또다른 예시는 몇 년 전에 한 학생이
했던 UROP 프로젝트와 관련된 것입니다
또다른 예시는 몇 년 전에 한 학생이
했던 UROP 프로젝트와 관련된 것입니다
신입생이었던 그 학생은 제게 
UROP 프로젝트를 하고 싶다고 했습니다
신입생이었던 그 학생은 제게 
UROP 프로젝트를 하고 싶다고 했습니다
저는 그 학생에게 6.034 수업을 수강했는지 물었습니다
학생은 아니라고 했죠
그래서 저는 돌아가라고 했습니다
학생은 가기 싫다고 하며
UROP 프로젝트를 하고 싶다고 했죠
학생에게 제 책을 읽었는지 물어봤습니다
학생은 아니라고 했죠
그래서 저는 돌아가라고 했습니다
학생은 가기 싫다고 하며
UROP 프로젝트를 하고 싶다고 했죠
저는 UROP 프로젝트를 하지 않는다고 했습니다
학생은 괜찮다며 자기가 생각한 게 있다고 말했습니다
학생은 괜찮다며 자기가 생각한 게 있다고 말했습니다
그 학생은 재무 분야 학생이어서
경마에서 승자를 예측하는 규칙 기반 전문가 시스템을
구축할 수 있는지에 대해 관심이 있었습니다

English: 
So his rule based expert system
consisted of rules like this.
If x and y, then
some conclusion.
If l and m, then some
kind of conclusion.
And from these, he
would produce rules
like if x prime-- that's
a slightly mutated version
of the x antecedent-- and
m, then some conclusion.
So it's mutation and crossover.
And he was able to
produce a system that
seemed to work about as
well as the handicappers
in the newspaper.
So he started losing
money at a less fast rate.
He is now doing something in
the stock market, they say.
Doesn't talk so much
about it, though.

Korean: 
그가 말한 규칙 기반 시스템의 규칙은 이렇습니다
그가 말한 규칙 기반 시스템의 규칙은 이렇습니다
X 와 Y 가 있을 때 어떤 결론이 존재한다
L 과 M 이 있을 때 어떤 결론이 존재한다
그 학생은 이 두 문장에서
X 의 변형태인 X 프라임과 M 이 있고 어떤 결론이 
존재한다는 규칙을 도출해내고 싶은 것입니다
X 의 변형태인 X 프라임과 M 이 있고 어떤 결론이 
존재한다는 규칙을 도출해내고 싶은 것입니다
X 의 변형태인 X 프라임과 M 이 있고 어떤 결론이 
존재한다는 규칙을 도출해내고 싶은 것입니다
돌연변이와 교차인 것이죠
그 학생은 신문에서 경마 승자를 예측하는 기사와 같은
프로그램을 만들어 낼 수 있었습니다
그 결과 그 학생은 경마에서 돈을 덜 잃기 시작했습니다
그 학생은 지금 주식 시장에서 일한다더군요
그와 이것에 대해 많은 대화를 나누지는 않았습니다

English: 
But an interesting application.
He came up with rules
like, if the sum
of the jockey's weight on
the post position is low,
that's good.
Well, that makes
sense in the end,
because the jockey's
weight is always
between 100 and 110 pounds,
and the post position is always
between 1 and 10 or
something, so they
were commensurate values.
And a low one is good, in fact.
Not bad.
But neither of those--
I mean, this is real stuff.
My company uses this sort of
stuff to do some planning work.
But neither of those is as
impressive as the demonstration
I'm about to show
you that involves
the evolution of creatures.
And these creatures consist of
block like objects, like so.
And they combine
like this, and so on.
And so how can
you make a feature
like that from a 0 1 chromosome?

Korean: 
꽤나 흥미로운 응용 분야입니다
그 학생이 생각해낸 규칙은
발주고착에서 기수의 무게의 합이
적으면 좋다는 것과 같은 것이었습니다
기수의 무게는 항상 100 에서 110 파운드 사이이고
발주 고착은 항상 1 에서 10 사이였기 때문에
이 두 값은 서로 상응하는 값이었습니다
때문에 그 학생의 규칙은 꽤나 의미있는 것이었습니다
그리고 실제로도 적은 게 좋은 것이었습니다
나쁘지 않아요
하지만 둘 다
그나저나 이건 실제로 사용됩니다
제 회사는 유전 알고리즘을
업무 설계에 사용합니다
하지만 저것들 중 어느 것도
제가 곧 보여드릴 생물 진화만큼
인상적이지 않습니다
생물들은 블록과 같은 것으로 구성된 것입니다
그리고 이런 식으로 결합하죠
염색체로부터 어떻게 이와 같은 생물체를 만들 수 있나요?
염색체로부터 어떻게 이와 같은 생물체를 만들 수 있나요?

English: 
Well, some of the
bits in the chromosome
are interpreted as
the number of objects.
Others are interpreted as
the sizes of the objects.
Others are interpreted
as the structure of how
the objects are articulated.
And still others are interpreted
as fixing the control algorithm
by which the creature operates.
So you see how
that roughly goes?
Would you like to see a
film of that in action?
Yes.
OK.
[? Solo ?] always
likes to see the films.
STUDENT: How would you measure
diversity in that graph?
PATRICK WINSTON:
The question is,
how do I measure the
diversity of the graph?
I did it the same way
I measured the fitness.
That is to say, I
calculated the distance--
the actual metric distance--
of all the candidates

Korean: 
염색체의 몇몇 요소들은 개체의 수로 해석됩니다
염색체의 몇몇 요소들은 개체의 수로 해석됩니다
다른 몇몇 요소들은 개체의 크기로 해석되죠
또다른 몇몇 요소들은 개체가 어떻게 
표현되는지에 대한 구조로 해석됩니다
또다른 몇몇 요소들은 개체가 어떻게 
표현되는지에 대한 구조로 해석됩니다
다른 요소들은 개체의 작동을 제어하는
알고리즘을 수정하는 것으로 해석됩니다
다른 요소들은 개체의 작동을 제어하는
알고리즘을 수정하는 것으로 해석됩니다
대략적인 게 그려지십니까?
이것을 실제 영상으로 보고 싶으신가요?
네
알겠습니다
우리 모두 항상 영상 보는 것을 좋아하죠
우리 모두 항상 영상 보는 것을 좋아하죠
교수님, 저 그래프에서 어떻게 다양성을 측정할 수 있나요?
그래프에서 다양성을 측정할 때
그래프에서 다양성을 측정할 때
외형을 측정하는 것과 같은 방식을 사용했습니다
이미 생존할 것으로 선택된 모든 후보군들과
다음 세대로 진입할 후보군들의
이미 생존할 것으로 선택된 모든 후보군들과
다음 세대로 진입할 후보군들의

Korean: 
실제 미터 거리를 측정한 것이죠
실제 미터 거리를 측정한 것이죠
그리고 그 거리를 더했습니다
그 거리의 합을 사용해 이미 다음 세대에 
있는 개체와 얼마나 다른지에 따라
그 거리의 합을 사용해 이미 다음 세대에 
있는 개체와 얼마나 다른지에 따라
순위를 매길 수 있었습니다
순위를 부여하고, 부여한 순위로부터
생존 확률과 같은 외형을 결정했습니다
그리고 이 두 종류의 확률을 합쳤습니다
그리고 이 두 종류의 확률을 합쳤습니다
그렇다면 항상 선택된 개체가 유지되나요?
그렇다면 항상 선택된 개체가 유지되나요?
그렇다면 항상 선택된 개체가 유지되나요?
저는 모든 단계에서 이미 선택된 개체를 사용합니다
각 단계에서 다음 세대에 생존할 개체가 새롭게 정의되므로
각 단계에서 다음 세대에 생존할 개체가 새롭게 정의되므로
각 단계는 조금씩 차이가 있습니다
각 단계는 조금씩 차이가 있습니다
이해가 되시나요?
이제 이게 어떻게 일어나는지 봅시다
영상은 수영 생물의 진화를 보여주고 있습니다
영상은 수영 생물의 진화를 보여주고 있습니다
수영 생물은 얼마나 수영을 잘 할 수 있는지
얼마나 빠르게 갈 수 있는지에 따라
진화되어 갑니다

English: 
for the next generation from
all of the candidates that
had already been selected.
I summed that up.
And from that sum,
I could rank them
according to how
different they were
from the individuals that were
already in the next generation.
It's like giving a rank,
and then from the rank,
I use that kind of calculation
to determine a fitness, ie,
a probability of
survival, and then
I just combine the two
kinds of probabilities.
STUDENT: So you always
kept-- every time
that you selected
something, you cached those.
And you kept everything
that you've ever
selected [INAUDIBLE].
PATRICK WINSTON: I'm always
using the individuals that
have already been
selected at every step,
so every step is
a little different
because it's working with
a new set of individuals
that have already been selected
for the next generation.
OK?
So let's see how this works.
So this is showing the evolution
of some swimming creatures.
And they're evolved according
to how well they can swim,
how fast they can go.

English: 
Some of them have quite exotic
mechanisms, and some of them
quite natural.
That looked like a sperm
cell floating away there.
Once you have these things
evolving, then of course,
you can get groups of
them to evolve together.
So you saw already some
that were evolving to swim.
These are evolving to
move around on the land.
It's interesting-- this was done
by Karl Sims, who at the time
was at a then thriving
company, Thinking Machines,
a fresh spinoff from MIT.
So he was using a vastly
parallel computer,
super powerful for its day,
thousands of processors,
to do this.
And it was a demonstration
of what you could
do with lots of computing.
In the early stages of
the experimentation,
though, its notion of physics
wasn't quite complete,
so some of the creatures evolved
to move by hitting themselves

Korean: 
이 중 일부는 독특한 메커니즘을 일부는 
자연적인 메커니즘을 사용해 진화합니다
이 중 일부는 독특한 메커니즘을 일부는 
자연적인 메커니즘을 사용해 진화합니다
저것은 정자 세포처럼 보이는 군요
이것들이 일단 진화를 시작하면
집단적으로 진화하는 것 또한 볼 수 있습니다
이미 어떤 것들은 수영할 수 있도록 진화한 것을 보셨죠
이것들은 땅 위를 이동할 수 있도록 진화했습니다
이 영상은 당시 MIT 의 신생 스핀오프이자
꽤 번창했었던 Thinking Machines 이라는 회사의
칼 심즈가 만든 것입니다
그는 이 영상을 만들기 위해
당시 엄청났던 병렬식 컴퓨터와
수 천개의 프로세서를 사용했습니다
이 영상은 엄청난 양의 컴퓨팅으로
할 수 있는 것을 보여 줍니다
이 영상은 엄청난 양의 컴퓨팅으로 
할 수 있는 것을 보여 줍니다
이 실험의 초기 단계에서는
물리학의 개념이 아직 불완전하여
몇몇 개체들은 가슴을 때리면서 움직이도록 진화했고

English: 
in the chest and not knowing
about the conservation
of momentum.
I thought that was just great.
So here they are, out
doing some further--
So you look at these,
and you say, wow,
there must be something to this.
This is interesting.
These are complicated.
I think this is one of the ones
that was trained, initially,
to swim and then to
do land locomotion.
So eventually, Karl
got around to thinking
about how to make these
things evolve so that they
would compete for food.

Korean: 
운동량 보존에 대해 잘 몰랐습니다
저는 저런 것들이 그저 대단하다고 생각합니다
가슴을 때리는 것들이 저기 있네요
여러분은 이 영상을 보면서
무언가를 할 수 있겠구나 하겠죠
여러분은 이 영상을 보면서
무언가를 할 수 있겠구나 하겠죠
이것은 신기하게 생겼네요
이것은 복잡하네요
제 생각에 이 개체는 초기에
수영과 육지 이동이 가능하도록 훈련된 것 같습니다
칼은 이 생물들이 음식을 두고 
경쟁하도록 진화를 시키는 것에 대해
계속해서 고민했습니다

English: 
That's the fastest,
I think, by the way,
of the land locomotors.
So that was training them
to-- evolving them to jump.
This is evolving them to
follow a little red dot.
Some of them have stumbled
upon quite exotic methods,
as you can see.
Seem to be flailing
around, but somehow
manage to-- sort of like
watching people take a quiz.
Making progress on it.
But now we're on to
the food competition.

Korean: 
제 생각에는 육상 이동 생물 중에서
저 생물이 가장 빠를 것 같습니다
제 생각에는 육상 이동 생물 중에서
저 생물이 가장 빠를 것 같습니다
저 생물들이 뛰도록 진화되었군요
이것은 작은 붉은 점을 따라오도록 진화시킨 것입니다
보시는 바와 같이 어떤 개체들은 독특한 형태로 진화했습니다
보시는 바와 같이 어떤 개체들은 독특한 형태로 진화했습니다
팔다리를 마구 흔드는 것 같군요
퀴즈를 보는 사람들을 보는 것 같기도 합니다
진척을 시켜보죠
음식을 두고 경쟁을 일으키고 싶습니다

Korean: 
어떤 개체는 음식을 찾으러 가고
어떤 개체는 자신이 음식을 획득하기 보다는
경쟁자로부터 음식을 보호하려고 합니다
어떤 개체는 자신이 음식을 획득하기 보다는
경쟁자로부터 음식을 보호하려고 합니다
어린 아이들이 하는 것과 비슷하죠
저건 하키 선수 같군요
이제 두 마리의 하키 선수가 생겼어요
이걸 보세요
저들은 마치
하나는 성공했고
이걸 보니 하키나 럭비와 같은 운동이 떠오릅니다
이걸 보니 하키나 럭비와 같은 운동이 떠오릅니다
때때로 저 개체들은 혼란스러워 하는 것 같군요
음식에 대해 까맣게 잊은채 경쟁자를 따라갑니다

English: 
So some of them go for
the food, and some of them
go to excluding their
opponent from the food,
not actually caring too much
about whether they get it.
That's sort of what children do.
There's a kind of
hockey player-- now,
here's two hockey players.
Watch this.
They're kind of-- one
succeeds-- it reminds me
a little bit of hockey,
rugby, something like that.
Sometimes, they just
get kind of confused,
go right after their opponent,
forgetting about the food.

English: 
Gives up.
I think these are the overall
winners in this elimination
contest.
I can't quite get there.
OK, so you look at that, and
you say, wow, that's cool.
Genetic algorithms
must be the way to go.
I remember the first
time I saw this film.
It was over in Kresge.
I was walking out of the
auditorium with Toma Poggio
And we looked at each other,
and we said the same thing
simultaneously.
We didn't say that genetic
algorithms were the way to go.
What we said was, wow, that
space is rich in solutions.
What we were amazed
by was not that simple
minded genetic algorithms
produced solutions
but that the space was
so rich with solutions

Korean: 
포기해 버리네요
제 생각에는 이 개체들이
이 대회의 전반적인 우승자 같습니다
끝까지 보지는 않겠습니다
자 이제 여러분은 저걸 보고 대단하다고 말하며
유전 알고리즘으로 진로를 정하자고 생각할 수도 있습니다
이 영상을 처음 봤던 때가 생각납니다
크리스기에서 봤었습니다
저는 토마 포지오와 강당에서 걸어 나와
서로를 보며 동시에 같은 말을 했습니다
서로를 보며 동시에 같은 말을 했습니다
저희는 유전 알고리즘으로 진로를 
정하자고 말하지 않았습니다
저 공간이 풀어나가야 할 해답으로
가득하구나 라고 말했습니다
저희를 사로잡은 것은 해결책을 만들어 내는
단순한 유전 알고리즘이 아니라
저희를 사로잡은 것은 해결책을 만들어 내는
단순한 유전 알고리즘이 아니라

English: 
that almost any mechanism
that was looking around
in that space would find them.
But there's yet another
way of thinking about it,
and that is you could say, wow,
look at how smart Karl Sims is,
because Karl Sims is the
one who had his hands on all
the levers, all those choices.
And I kept emphasizing,
all those choices
that enabled him to trick
this thing, in some sense,
into stumbling across the
solutions in a space that
was guaranteed to be
rich with solutions.
So you have to ask-- so first
of all, diversity is good.
We noticed when we put diversity
into the genetic algorithm
calculations, we were much
better at finding solutions.
But the next gold star
idea that I'd really
like to have you go
away with is the idea
that you have to ask
where the credit lies.
Does it lie with the
ingenuity of the programmer
or with the value of
the algorithm itself?
In this case,
impressive as it is,
the credit lies in the
richness of the space
and in the intelligence
of the programmer,

Korean: 
그 공간이 해결책으로 가득해서
공간에 있는 대부분의 메커니즘이
해결책을 찾으리라는 것이었습니다
또는 영상을 본 후
모든 선택지를 갖고 있는
칼 심즈는 참 똑똑하구나
모든 선택지를 갖고 있는
칼 심즈는 참 똑똑하구나
라고 말할 수도 있습니다
제가 계속해서 강조하는 것은
칼 심즈가 알고리즘을 조작할 수 있었던 것은
이 공간이 해결책으로 가득찼기 때문에 가능했다는 것입니다
이 공간이 해결책으로 가득찼기 때문에 가능했다는 것입니다
그래서 여러분이 질문해야 할 것은
일단 첫 번째 다양성은 좋다
유전 알고리즘 계산에 다양성을 넣으면
해결책을 더 잘 찾을 수 있다는 것을 보았습니다
해결책을 더 잘 찾을 수 있다는 것을 보았습니다
두 번째로 여러분이 기억했으면 하는 것은
어디에 신뢰도가 존재하는가를 질문해야 한다는 것입니다
어디에 신뢰도가 존재하는가를 질문해야 한다는 것입니다
알고리즘의 신뢰도가 프로그래머의 독창성인지
알고리즘 자체의 가치에 존재하는지 말이죠
이 경우에는 유전 알고리즘 자체에
신뢰도가 존재한다기 보다는
이 경우에는 유전 알고리즘 자체에
신뢰도가 존재한다기 보다는
공간의 풍요로움과 프로그래머의 지능에 
신뢰도가 존재한다고 말할 수 있습니다
공간의 풍요로움과 프로그래머의 지능에
신뢰도가 존재한다고 말할 수 있습니다

English: 
not necessarily in the
idea of genetic algorithms.
