al comienzo de la última lectura, hablamos acerca de como los juegos de tablero de
este lindo ambiente contenido son aptos para realizar estudios de aprendizaje de
máquina e inteligencia artificial. Hoy vamos a hablar del Go como un problema de
aprendizaje supervisado; en particular pueden notar que eso es lo que es, un
problema de aprendizaje supervisado, entonces tenemos un estado del tablero que
contienen un montón de puntos que están abiertos, algunas piedras blancas ahí y
algunas piedras negras sobre él; y la meta de cualquier jugador de Go es encontrar
cual puede ser la siguiente movida. Si sos un jugador profesional top Hoeing Boshu
Saku, te darás cuenta que ésta es la respuesta correcta para esta posición en
el tablero, me doy cuenta que muchos de ustedes no se podrán encontrar esta jugada
pero podemos pensarlo de este modo, así podemos tomar cada posición en el tablero
y representarla como un vector, así el punto 1 1 vale 0 debido a que no tiene
ninguna piedra allí y puede que la próxima posición tenga una piedra blanca y luego
una piedra negra, entonces podemos tomar eso y decir que las piedras blancas valen
1 y que las piedras negras valen -1 y luego listar los 361 puntos como un vector
de 0, 1 y -1; con esa lista podemos tener un programa que tome eso como una entrada
y que la salida sea la próxima movida, entonces podemos ver esta relación entre
la entrada y la salida, que ya fue mencionada al comienzo
el Go era complicado debido a que los humanos tienden a pensar acerca de él en
términos de las formas denominadas metano y proverbios; entonces vemos la forma de
acá que se denomina la unión del bambú y en el proverbio esto dice que la unión del
bambú tiene una forma fuerte similar a la forma de Panucci, que se muestra abajo,
que se sabe que es una forma fuerte y que es buena si podés hacerla o podemos tener
proverbios que se relacionan con como podemos movernos como miel encima de 2
piedras; pero además tenemos estos meta proverbios como que los puntos de tu
enemigo son tuyos, que significa que si tu oponente se quiere ir a algún lado,
entonces es probablemente una buena idea pensar acerca de que aquello te apunta a
vos o entonces estos meta proverbios como no confíes en los proverbios ciegamente y
entonces lo que queremos tomar de esta clase de ideas y codificarlas en un
programa de computadora; pueden imaginar que es muy difícil escribir una línea de
código que diga no sigas los proverbios en forma cegada
de la misma manera los jugadores de Go piensan mucho en este concepto de OG que
se puede traducir más o menos como riesgo entonces una posición en el tablero puede
ser buena en el cortoplazo pero deja mucho OG, por lo que nos deja abiertos a mucho
riesgo y entonces el Go es sobre balancear los puntos que se ganan ahora versus darse
cuenta que nuestra posición no es muy débil y esta clase de pensamientos son los
que necesitamos que la computadora tenga si es que queremos que sea una buena
jugadora de Go; entonces necesitamos una clase de algoritmo de aprendizaje
supervisado que pueda tomar estos principios y los traduzca en un juego
efectivo pero codificarlos directamente puede ser muy difícil y de hecho lo es y
entonces la pregunta fundamental del Go para que un programa de una máquina pueda
jugar al Go es: bueno tenemos este tablero en blanco, cómo puedo jugar y ganar o por
el contrario, si tenés las blancas, cómo me puedo defender de las negras y esa es
la clase de idea de alto nivel; cada movida que queremos hacer debe tomar ese
vector que codifica la positición en el tablero y mostrarnos cual es la siguiente
movida que tenemos que hacer