at the beginning of last lecture we
talked about how board games of this
nice contained environment for
performing machine learning and studies
and artificial intelligence and today
we're gonna talk about go as a
supervised learning problem so in
particular notice that that's what it is
a supervised learning problem so we have
a board state which contains a bunch of
points that are open some have white
stones on them and some stones Bach have
black stones on them and the goal of an
of any put go player is to find what the
next move is so if you're a top
professional hoeing boshu Saku you'll
have found that this is the correct
answer in this board position I'm
guessing many of you did not actually
find that move but we can think of it
this way right so we can take each board
position and represent it as a vector so
the point 1 1 contains 0 because it
doesn't have any stones on it and maybe
the next position has a white stone on
it and then a black stone so we can take
that and we can say white stones are a 1
and black stones are a negative 1 and
then list all 361 points as this long
vector of zeros ones and negative ones
and now given that list we want a
program that takes that as input and
outputs the next move to make so we can
see this input-output relationship that
already me mentioned in the beginning
now the go has been difficult for a
while because humans tend to think about
go in this methane's called shapes and
proverbs so we see the shape up here
called the bamboo joint and that's and
the proverb goes that the bamboo joint
is a strong shape similarly this Panucci
shape that's listed below it that's
known as this very strong shape that's
good if you can make it or we can have
Proverbs that relate to how you should
move like honey at the head of two
stones but then we also have more of
these meta proverbs like the enemy's
point is yours
meaning if your opponent wants to go
somewhere it's probably a good idea for
you to think that about that point
yourself or then these meta proverbs
like don't trust proverbs blindly and so
what we might want to take these kinds
of ideas and code them into a computer
program you can imagine that it's very
difficult to write a line of code that
says don't follow pry verbs blindly
similarly go players think about this
concept of OG a lot which loosely
translates to risk
so a board position might be good in the
short term but it leaves a lot of OG so
it leaves a lot of yourself open to a
lot of risk and so go is about balancing
gaining points now versus making sure
your position isn't too weak and this is
these kinds of thoughts are what we need
a computer to do if it needs to play go
effectively so we need some kind of
supervised learning algorithm that can
kind of take these principles and
translate them into effective play but
then coding these directly can be very
difficult and is very difficult and so
kind of the ultimate go question for a
machine playing go program it's like
well we have this blank board how do i
play and win or in contrast if you're
white how do I defend against that black
winning and so that's kind of the
high-level idea is every move we want to
take this vector that encodes the
position of the board and output the
next the next move to make