scieee Open visual document viewer

Jugadores automáticos basados en árboles de búsqueda de Monte Carlo

Modia Pozuelo, Gabriel David

Abstract

Dada la enorme cantidad de juegos existentes, una pregunta recurrente ha sido ¿Cuál es la mejor estrategia a seguir para maximizar mi beneficio? en otras palabras, ¿Qué acciones debo elegir entre las posibilidades que tengo para obtener la mayor recompensa posible? Esta cuestión, al darle una perspectiva formal resulta no ser trivial, cada configuración del tablero tiene una probabilidad asociada de ganar, definida por todos los posibles desenlaces que tiene el juego desde esa posición. Sin embargo, obtener este valor es imposible computacionalmente ya que esto implicaría revisar todas las posibles partidas dado que el número de estas es descomunal. Para dar solución a esto, existen diversos algoritmos que intentan aproximar este valor, normalmente mezclando el conocimiento previo del dominio con la búsqueda exhaustiva en el conjunto de todas las partidas, para comprobar si una acción mejora nuestra situación actual. En este trabajo se presenta Monte Carlo Tree Search, un algoritmo que introduce una forma completamente distinta de estimar la probabilidad de ganar de cada estado de la partida. El método será generar simulaciones de partidas en las que las decisiones se toman de forma aleatoria. De esta forma, podremos calcular el porcentaje de veces que una simulación resulta victoriosa en comparación con las veces que se ha simulado, dándonos así una aproximación del valor buscado. Veremos que cuantas más simulaciones lancemos, el resultado será más ajustado a la realidad. Conoceremos 2 versiones, la versión dinámica o MCTS, y la versión plana o PMCTS. Introduciremos métodos de optimización y una perspectiva teórica del funcionamiento. Probaremos este algoritmo en juegos, y para ello obtendremos diversas implementaciones de las 2 versiones y las adaptaremos para jugar al Reversi y al Ajedrez. Los adversarios a batir serán algoritmos varios que irán aumentando gradualmente su dificultad y nos obligarán a ir adaptando los algoritmos y mejorándolos para que sean capaces de dominar. Por último introduciremos algunos algoritmos utilizados en el campo de la Inteligencia Artificial conocido como aprendizaje automático o Machine Learning, para que el lector posea las herramientas necesarias para entender el funcionamiento del jugador automático más potente que existe en la actualidad: AlphaGo. Este programa ha sido capaz de vencer a los mejores jugadores del mundo en el Go, considerado hasta ahora como imposible de abarcar para la inteligencia artificial. Monte Carlo Tree Search es uno de los elementos clave en este código y veremos cuál es su papel.

Full text

Jugado es au omá icos basados en á boles de búsqueda de Mon e Ca lo T abajo de Fin de G ado Cu so 2017–2018 Au o Gab iel Da id Modia Pozuelo Di ec o es Gonzalo Méndez Pozo An onio Sánchez Ruiz-G anados Doble g ado en Ingenie ía In o má ica y Ma emá icas Facul ad de In o má ica y Facul ad de Ma emá icas Uni e sidad Complu ense de Mad id Jugado es au omá icos basados en á boles de búsqueda de Mon e Ca lo T abajo de Fin de Doble G ado Ingenie ía In o má ica y Ma emá icas Depa amen o de In eligencia A i icial Au o Gab iel Da id Modia Pozuelo Di ec o es Gonzalo Méndez Pozo An onio Sánchez Ruiz-G anados Con oca o ia: Sep iemb e 2018 Doble g ado en Ingenie ía In o má ica y Ma emá icas Facul ad de In o má ica y Facul ad de Ma emá icas Uni e sidad Complu ense de Mad id 14 de sep iemb e de 2018 Dedica o ia A Mima y Manolo. Ag adecimien os Es e abajo no hab ía sido posible sin: Mis u o es An onio y Gonzalo que me han guiado y di igido, g acias po su disposición y a ención. Mi mad e, mi he mano y mi pad e que, cada uno a su mane a, han hecho un camino más ácil pa a mi. Alba, que incluso en la más ad e sa de las si uaciones ha es ado a mi lado. Alicia, que an o en clase como en casa siemp e nos hemos apoyado. Jose An onio, Miguel, Ma a y odos mis compañe os con los que he compa ido innume ables ho as de es udio, abajo y dedicación. A odos ellos, g acias. ii Resumen Dada la eno me can idad de juegos exis en es, una p egun a ecu en e ha sido ¿Cuál es la mejo es a egia a segui pa a maximiza mi bene icio? en o as palab as, ¿Qué acciones debo elegi en e las posibilidades que engo pa a ob ene la mayo ecompensa posible? Es a cues ión, al da le una pe s- pec i a o mal esul a no se i ial, cada con igu ación del able o iene una p obabilidad asociada de gana , de inida po odos los posibles desenlaces que iene el juego desde esa posición. Sin emba go, ob ene es e alo es im- posible compu acionalmen e ya que es o implica ía e isa odas las posibles pa idas dado que el núme o de es as es descomunal. Pa a da solución a es o, exis en di e sos algo i mos que in en an ap oxima es e alo , no malmen e mezclando el conocimien o p e io del dominio con la búsqueda exhaus i a en el conjun o de odas las pa idas, pa a comp oba si una acción mejo a nues a si uación ac ual. En es e abajo se p esen a Mon e Ca lo T ee Sea ch, un algo i mo que in oduce una o ma comple amen e dis in a de es ima la p obabilidad de gana de cada es ado de la pa ida. El mé odo se á gene a simulaciones de pa idas en las que las decisiones se oman de o ma alea o ia. De es a o ma, pod emos calcula el po cen aje de eces que una simulación esul a ic o- iosa en compa ación con las eces que se ha simulado, dándonos así una ap oximación del alo buscado. Ve emos que cuan as más simulaciones lan- cemos, el esul ado se á más ajus ado a la ealidad. Conoce emos 2 e siones, la e sión dinámica o MCTS, y la e sión plana o PMCTS. In oduci emos mé odos de op imización y una pe spec i a eó ica del uncionamien o. P oba emos es e algo i mo en juegos, y pa a ello ob end emos di e sas implemen aciones de las 2 e siones y las adap a emos pa a juga al Re- e si y al Ajed ez. Los ad e sa ios a ba i se án algo i mos a ios que i án aumen ando g adualmen e su di icul ad y nos obliga án a i adap ando los algo i mos y mejo ándolos pa a que sean capaces de domina . Po úl imo in oduci emos algunos algo i mos u ilizados en el campo de la In eligencia A i icial conocido como ap endizaje au omá ico o Machine Lea ning, pa a que el lec o posea las he amien as necesa ias pa a en en- de el uncionamien o del jugado au omá ico más po en e que exis e en la ix Índice de igu as 2.1. Ejemplo de á bol de decisión pa a un es ado dado en el juego del esen aya.......................... 14 2.2. Simpli icación de la búsqueda de caminos en GPS . . . . . . . 17 2.3. Ob ención inicial de un á bol de juego . . . . . . . . . . . . . 18 2.4. Ejecución de la inducción hacia a ás en Minimax . . . . . . . 19 2.5. Comienzo del juego en el Re e si . . . . . . . . . . . . . . . . 21 2.6. Visualización de las casillas más y menos p o echosas . . . . . 23 2.7. Piezas del ajed ez y colocación inicial . . . . . . . . . . . . . . 24 3.1. Ejemplo de selección u ilizando UCB . . . . . . . . . . . . . . 28 3.2. Ejemplo de selección u ilizando UCT . . . . . . . . . . . . . . 30 3.3. Resul ado de una i e ación de MCTS . . . . . . . . . . . . . . 32 4.1. Resul ados de usa o no conocimien o del dominio con 750 simulaciones............................ 52 4.2. Compa ación de pa idas ganadas y pe didas en los di e en es en en amien os.......................... 53 4.3. Visualización de los esul ados de los expe imen os . . . . . . 54 5.1. Reg esión (Izquie da) y clasi icación (de echa) . . . . . . . . . 62 5.2. Di ección del g adien e y p oblemas de elegi e óneamen e el pa áme o α............................ 64 x ii Índice de ablas 2.1. Modelo de disposición de la o ma no mal pa a dos jugado es 12 2.2. Dilema del p isione o plasmado en o ma no mal . . . . . . . 13 4.1. PMCTS y MCTS (70 simulaciones) s Random . . . . . . . . 41 4.2. PMCTS y MCTS (140 simulaciones) s Random . . . . . . . 42 4.3. PMCTS y MCTS (70 simulaciones) s búsqueda en p o undidad 44 4.4. PMCTS y MCTS (700 simulaciones) s búsqueda en p o un- didad................................ 45 4.5. PMCTS y MCTS(140 simulaciones) s Alpha-be a (débil) . . 46 4.6. PMCTS y MCTS(140 simulaciones) s Alpha-be a ( ue e) . . 48 4.7. PMCTS (mejo ado y con 140 simulaciones) s Alpha-be a ( ue e) .............................. 49 4.8. PMCTS (750 simulaciones) s Alpha-be a ( ue e) . . . . . . 50 4.9. MCTS (70 simulaciones) s PMCTS (70 simulaciones) . . . . 51 4.10. Random (Blancas) s MCTS (Neg as) . . . . . . . . . . . . . 56 4.11. Random (Blancas) s PMCTS (Neg as) . . . . . . . . . . . . 57 4.12. MCTS(Blancas) s PMCTS (Neg as) . . . . . . . . . . . . . . 58 xix Chap e 1 In oduc ion Mo i a ion One o he cu en challenges in A i icial In elligence is he de elopmen o algo i hms o implemen e icien au oma ic playe s. These mus gi e a answe , no only co ec bu also as wise as possible wi h he inali y o winning he game hey we e designed o . This de elopmen is no i ial a all. The c ea ion o hese playe s, as he op imiza ion o hem o be be e e e y ime, epo s bene i s u he han he wo ld o ideo games o able games. A e all, he idea is o op imize he decision making p ocesses. Gi en his, he e a e applica ions o hese algo i hms in economics, poli ics, e c. The main p oblem is o decide which o he a ailable mo es mus be chosen nex . Fo ha he mos di ec app oach is o explo e he game ee and y o ind he bes op ion. This poin o iew is o e ed by some algo i hms whose mos ema kable ep esen a i e is Minimax. Howe e , al hough his is an op imal algo i hm, i p esen s a p oblem: he gigan ic combina o ial explosion ha i gene a es. E en hough i o e s good esul s o simple challenges, as soon as we y i in mo e complex sys ems, i is impossible o ea . The e a e se e al al e na i es o sol e his issue. Th oughou his wo k, we will explo e one o hem: Mon e Ca lo T ee Sea ch, commonly sho ened as MCTS. This algo i hm’s idea is, ins ead o gene a ing each and e e y possible b anch in he game ee, o use s ochas ic p ocesses o choose which node o expand, mo eo e , he way hey a e expanded will also ha e a e y s ong p esence o andom elemen s. This way we ge o spend much less memo y han wi h he adi ional app oaches. Fu he mo e, he de elop- men o he ee will use simula ions o gene a e a heu is ic alue o each 1 2Chap e 1. In oduc ion node, cha ac e izing hem acco ding o i hey a e mo e o less p omising, op imizing he mo e elec ion p ocess. Objec i es We a e going o de ine some objec i es in o de o explo e he MCTS algo i hm: 1. Ob aining a global ision o he p edecesso s o MCTS, as well as he ools we will use. 2. Gi e a o mal explana ion o he unc ioning o MCTS as well as o i ’s plain e sion known as PMCTS. 3. Ob ain an implemen a ion o MCTS o he game known as O hello, compa e i wi h o he algo i hms and check how i ’s beha io imp o es depending on he pa ame e chosen. 4. Implemen ing an MCTS based playe which is capable o playing chess and check he di e ences wi h i ’s o hello e sion. 5. Re iewing he mos mode n app oaches using MCTS and he necessa y ools o i . In he conclusions sec ion, we will e iew how a we accomplished hem. Memo y s uc u e We will encompass he ma ked objec i es h oughou he memo y. The i s chap e will gi e a heo e ical e iew o he algo i hms ha p eceded MCTS as Minimax o Alpha-be a. In addi ion, i will p o ide a clea expla- na ion o all he ools and si ua ions ha we will use in o he chap e s as game heo y, game ee de elopmen , Chess, O hello, e c. The second chap e will show he Mo e Ca lo T ee Sea ch algo i hm, he way i wo ks and i ’s implemen a ion. On he o he hand, we will also see a de ailed explana ion o PMCTS, he MCTS’ e sion wi hou g ow h. Finally, we will analyze he possibili y o eusing memo y and how we can app oxima e he heo e ical heu is ic o each node h ough simula ions. In he hi d chap e we will ob ain an implemen a ion o MCTS and PM- CTS. We will i ’s pe o mance wi h he some o he s algo i hms as Random, Alpha-be a and Back acking in O hello and la e in Chess. We will show and analyze he esul s ob ained. Nex we will modi y he pa ame e s so i ge s be e esul s agains hei ad e sa ies. 1.3. Memo y s uc u e 3 Finally he ou h chap e will explain us how we can use machine lea n- ing o imp o e he esul s ha MCTS o e s, o ha we will i s e iew some o he cu ing edge machine lea ning algo i hms. Addi ionally we will see how his has been applied o one o he mos popula a i icial in elligence e en s o he las yea s: AlphaGo. Capí ulo 1 In oducción Mo i ación Uno de los desa íos ac uales de la In eligencia A i icial es el desa ollo de algo i mos pa a implemen a jugado es au omá icos e icien es. Es os deben da una espues a no solo co ec a sino lo más ace ada posible con el in de gana en el juego pa a el que se haya desa ollado. Es e desa ollo no es en absolu o i ial. La c eación de es os jugado es así como la op imización pa a que sean cada ez mejo es, epo a bene icios más allá del mundo de los ideojuegos o los juegos de able o. Al in y al cabo, se a a de op imiza la oma de decisiones, dado es o, exis en aplicaciones de es os algo i mos pa a emas como economía, polí ica, e c (B ams, 2001). El p oblema p incipal es decidi cuál de las jugadas disponibles se debe elegi a con inuación. Pa a ello, lo más di ec o es in en a p e e las jugadas a las que podemos llega desde la posición en la que nos encon amos. La es uc u a donde se almacenan las jugadas p edichas es conocida como el á bol de juego. Es a es la ap oximación que o ecen algunos algo i mos de los cuales el mayo exponen e es conocido como Minimax, el cual explo a emos en más de alle en el siguien e capí ulo. El p oblema de es a ap oximación es que es imposible e isa odo el á bol pa a sabe con ce eza lo bueno que es un nodo. Po an o, pa a juegos complicados, se ha in en ado palia es a si uación p e iendo únicamen e un núme o de e minado de jugadas, pe o es o implica que debemos se capaces de alo a si son buenos o malos es ados in e medios, de los que a p io i no enemos in o mación. Una o ma de e alua lo es ob ene conocimien o ex- pe o del dominio, es deci , ideas o es a egias que se hayan p obado y que sepamos con ce eza que uncionan. Aunque puede sona como una buena idea, el conocimien o expe o es muy di ícil de consegui , además, p ác ica- 5 12 Capí ulo 2. T abajo elacionado 1/2 a21 a22 . . . a11 u1((a11, a21)), u2((a11, a21)) u1((a11, a22)), u2((a11, a22)) . . . a12 u1((a12, a21)), u2((a12, a21)) u1((a12, a22)), u2((a12, a22)) . . . a13 u1((a13, a21)), u2((a13, a21)) u1((a13, a22)), u2((a13, a22)) . . . . . .. . .. . .... Tabla 2.1: Modelo de disposición de la o ma no mal pa a dos jugado es conocemos como unciones de u ilidad que nos de uel en los pagos a cie o jugado ipo el ec o de acciones elegido po odos los jugado es. (Jackson, 2011). Con es os ing edien es, la o ma no mal nos ep esen a una ma iz donde los elemen os de la misma son los pagos que eciben los jugado es en dependencia de la combinación de es a egias elegidas po cada uno. Es a ep esen ación unciona especialmen e bien cuando se a a de dos jugado es, ya que se puede dispone en una ma iz bidimensional. La abla 2.1 nos da un ejemplo de cómo se disponen los da os en o ma no mal. Ejemplo: El dilema del p isione o P obablemen e el ejemplo más conocido de juego simul áneo es el dilema del p isione o. La si uación es la siguien e: "La policía sabe que dos indi i- duos han come ido un c imen aunque no puede p oba lo, pe o sí que iene p uebas pa a inc imina los po un deli o meno . An e la ala ma social le an- ada, se en obligados a ene un culpable ápido, po lo que ponen a ambos sospechosos en celdas sepa adas y les hacen la siguien e p opues a: Si dela- as al o o como au o del c imen e pe donamos u deli o meno "(Aguado, 2015). En es e supues o nos encon amos an e dos acciones posibles, a las que llama emos “Calla ” y “Dela a ”. Suponiendo una condena de 1 año po el deli o meno , 3 en caso de cumpli la sen encia po el mayo indi idualmen e y 2 po hace lo de o ma conjun a nues o juego queda de la siguien e o ma: (N, a, u)=({1,2},{Calla , Dela a }, u) u1((Calla , Dela a )) = u2((Dela a , Calla )) = 3 u1((Dela a , Calla )) = u2((Calla , Dela a )) = 0 u1((Calla , Calla )) = u2((Calla , Calla )) = 1 u1((Dela a , Dela a )) = u2((Dela a , Dela a )) = 2 Podemos ep esen a el p oblema de o ma ex ensi a como se mues a en la abla 2.2. 2.2. Teo ía de juegos 13 P isione o 1 P isione o 2 Calla Dela a Calla 1,1 3,0 Dela a 0,3 2,2 Tabla 2.2: Dilema del p isione o plasmado en o ma no mal Juegos secuenciales A di e encia de los juegos simul áneos, en los secuenciales, los di e sos agen es se al e nan a la ho a de oma decisiones, se conoce cada una de es as al e nancias como u no. Después del u no de cada jugado encon amos el juego en una nue a con igu ación, debido a las decisiones omadas. A es as las llama emos es ados. Po an o, podemos de ini los juegos secuenciales como una 4- upla: (N, S, a, u) Donde una ez más N={1, ..., n}es el conjun o de jugado es. Po su pa e Ses el espacio de es ado. En lo que concie en a las acciones, a:N×S→A es una unción que nos de uel e las acciones disponibles pa a un jugado en cie o es ado, po an o A={{ai}i=1...k1,{ai}i=1...k2...}, es impo an e des aca que una acción en es e caso es una unción ai∈acc ∈A ai:S→S. Po úl imo, u:N×S→Res una unción que nos de uel e los pagos pa a un jugado en cie o es ado. Pa a expone la e olución empo al inhe en e a la secuencialidad de los juegos no podemos ale nos de la o ma no mal, po eso amos a u iliza la es uc u a de á bol pa a c ea lo que llama emos o ma ex ensi a. U iliza e- mos los nodos pa a gua da los es ados del juego y los hijos de cada nodo se án el esul ado de la aplicación de cie a acción a dicho es ado. A es e ipo de á bol lo llama emos á bol de juego. Á boles de juego y ejemplos El caso más sencillo de á bol de juego apa ece cuando aba camos juegos con N={1}. En es e caso odas las decisiones ecaen sob e el mismo agen e. Es o acili a la explo ación del á bol, pues nos bas a con indaga lo su icien e has a llega a un nodo e minal ganado . Después bas a con ejecu a las acciones de inidas po el camino que lle a al nodo en cues ión. Ejemplos de es os juegos pueden se el soli a io o el blackjack. La explo ación de los á boles de juego se complica al ag ega más juga- do es, pues los demás agen es end án, en p incipio, an o pode de decisión como el p ime o. Los nodos en el mismo ni el en es os á boles compa en el jugado al que le oca ealiza una acción y la elección del jugado asig- nado a cada ni el depende á de cómo es é de inida la a iación de u nos. 14 Capí ulo 2. T abajo elacionado Figu a 2.1: Ejemplo de á bol de decisión pa a un es ado dado en el juego del es en aya La igu a 2.1 mues a un ejemplo isual del á bol de juego pa a el es en aya pa iendo de un es ado dado. La ep esen ación comple a del á bol es excesi amen e g ande pa a apa ece en un olio. En es e ipo de á boles no nos bas a con una explo ación básica del á bol pa a consegui una buena es a egia a segui , pues aunque encon emos un camino que nos lle e a una si uación de ic o ia, no nos co esponde decidi la o alidad del camino po lo que se ía inse ible. Pa a ob ene soluciones en es a pa e se han desa ollado o os algo i mos, de los cuales el más conocido es Minimax, que e emos en la siguien e sección. Búsqueda en á boles e inducción hacia a ás Explo a á boles pa a ob ene cómo llega a cie os nodos, es un p oblema clásico en el campo de la in eligencia a i icial, al que hay que da solución en muchos sis emas in eligen es ac uales. En es a sección explo amos soluciones clásicas y su aplicación en la eo ía de juegos. De ahí, pasamos al algo i mo Minimax que nos mos a á cómo explo a un á bol de juego con múl iples agen es y e emos algunas op imizaciones. Algo i mos adicionales Explo a un á bol desde la aíz has a algún nodo que nos in e ese, es un p oblema que se p esen a ecuen emen e, y que podemos encon a en in inidad de si uaciones dis in as. En el caso que nos a añe son la he amien a 2.3. Búsqueda en á boles e inducción hacia a ás 15 pe ec a pa a da una solución a los juegos indi iduales. A pesa de habe nume osas o mas de ealiza la explo ación, amos a habla de los mé odos más conocidos: la búsqueda p ime o en p o undidad, la búsqueda p ime o en anchu a y la búsqueda A*. Es a úl ima nos se i á ambién pa a in oduci el concep o de heu ís ica que nos se á muy ú il más adelan e. P ime o en p o undidad El algo i mo de búsqueda p ime o en p o undidad (conocido como DFS po Dep h Fi s Sea ch en inglés), explo a á de o ma ecu si a el á bol, des- cendiendo po el p ime nodo que encuen e has a llega a un nodo hoja. Una ez llegados a es e pun o, en caso de no se el nodo que buscamos, ol emos al nodo p edeceso y elegimos la siguien e opción disponible. Podemos e el algo i mo en pseudocódigo a con inuación: DFS(nodo n) SI n = obje i o DEVOLVER n SINO PARA CADA hijo EN n.hijos DFS(hijo) Del mismo modo, exis e una e sión pa a la explo ación de o as es- uc u as de da os di e en es a los á boles, que implemen a un con ol de epe iciones, pe o no indaga emos en ella (Rusell y No ig, 2003). P ime o en Anchu a El algo i mo de búsqueda p ime o en anchu a (o BFS po B ead h Fi s Sea ch en inglés), p opone explo a p ime o odas los nodos que es án al mismo ni el y después pasa al siguien e. Pa a la implemen ación de es e algo i mo amos a u iliza una cola. Vemos el pseudocódigo: BFS(nodo aiz) Q = Cola Q.in oduci ( aiz) MIENTRAS NO Q. acia n = Q.ex ae () SI n = obje i o DEVOLVER n SINO PARA CADA hijo EN n.hijos Q.in oduci (hijo) 16 Capí ulo 2. T abajo elacionado Igualmen e igno amos la e sión con con ol de epe iciones (Rusell y No ig, 2003). Búsqueda A* El algo i mo A* apa ece como un ejemplo de búsqueda in o mada. Al con a io que en las an e io es, en es a amos a con a con in o mación ex a que nos in o ma de si nos es amos ace cando o alejando de la si uación con o me explo amos el á bol. Es a in o mación se a a á de una heu ís ica como se ha de inido an e io men e. El ejemplo más isual de u ilización de A* es en los sis emas de guía po GPS, en los que debemos esol e el p oblema de i desde un pun o A a o o B en un mapa de la o ma más e icien e. La heu ís ica que se suele elegi en es os casos es la dis ancia en línea ec a en e una posición in e media y el des ino. U iliza emos una cola de p io idad pa a que el siguien e nodo a e alua sea aquel que sea más p ome edo . Es deci , aquel que minimice la unción: (n) = g(n) + h(n) Dónde h(n)es la heu ís ica del nodo ac ual al obje i o y g(n)el cos e eal del camino desde la aíz al nodo ac ual (ZENG y CHURCH, 2007). En la igu a 2.2, emos un ejemplo de los elemen os de A*. Se mues a una simpli icación del uncionamien o de un so wa e de GPS pa a ob ene un camino. En es e caso podemos e sob e los é ices la dis ancia eal po ca e e a en e las ciudades que con o ma ían nues a g(n)mien as que sob e los nodos (con núme os e des), se e la dis ancia en línea ec a a nues o nodo obje i o, es os alo es con o man h(n). En el ejemplo el nodo o igen es Mad id, ma cado en ama illo y el obje i o Cas ellón de la Plana, en e de. Minimax Tenemos ya unas cuan as he amien as pa a explo a á boles. Aho a, es os algo i mos no pueden se aplicados a los á boles de juego, ya que como se ha mencionado an e io men e no co esponde a un mismo agen e elegi odos los caminos. Dada es a di icul ad su ge Minimax. En cada juego, debemos de ini una a iable de con ol a la que llama e- mos alo de u ilidad, que se á di e en e pa a cada juego y nos indica á si el nodo en cues ión p opo ciona un buen esul ado. Es e alo , end á de inido 2.3. Búsqueda en á boles e inducción hacia a ás 17 Figu a 2.2: Simpli icación de la búsqueda de caminos en GPS po los nodos e minales. Debemos ene en cuen a que nues o ad e sa io a a á de maximiza su alo de u ilidad, po lo que en e sus posibles accio- nes, elegi á siemp e aquella que minimice nues o alo de u ilidad ( an den He ik, 1999). Siendo así, el algo i mo unciona de es a mane a: 1. Gene a el á bol de juego comple o. 2. Ob ene el alo de u ilidad de los nodos e minales. 3. T aspasa el alo de u ilidad a los nodos supe io es, eligiendo el máxi- mo en caso de que el u no co esponda al jugado , y el mínimo en caso de que sea del oponen e. Es a pa e se llama inducción hacia a ás. 4. Elegi la acción co espondien e al nodo con el mayo alo de u ilidad. El p oblema es p ecisamen e el p ime pun o, ya que en juegos complejos es imp ac icable gene a el á bol de juego en e o. En el ejemplo que mos- ábamos an e io men e del es en aya enemos un ac o de ami icación inicial de 9 (en la p ime a jugada podemos coloca nues a icha en nue e posiciones) que disminuye en uno en cada jugada. Sabe el núme o exac o de pa idas posibles es complicado debido a que no odas las pa idas equie en los 9 mo imien os, a pa i de 5 puede habe un ganado y e mina la pa - ida. A pesa de es o, podemos e que el núme o de pa idas dis in as es á aco ado supe io men e po 9·8·7·6..,1 = 9! = 362880 pa idas. El p oblema es igualmen e complicado si que emos sabe el núme o o al de nodos que iene el á bol, pe o podemos hace la misma aco ación. De es a o ma, en cada ni el end emos 9! (9−n)! nodos, po lo que gene a emos 18 Capí ulo 2. T abajo elacionado Figu a 2.3: Ob ención inicial de un á bol de juego un á bol de juego de amaño ce cano a: 9 X n=1 9! (9 −n)! = 986409 Si un juego an sencillo gene a p ác icamen e un millón de nodos, es e iden- e que no esul a ac ible aplica lo a juegos más complejos. El ajed ez po ejemplo iene un ac o de ami icación inicial de 20 (16 mo imien os de los peones y 4 de los caballos) que puede aumen a , y du an e las e apas in e - medias un alo ípico (La amée, 2000) po lo que simplemen e al p edeci 10 jugadas ob end íamos un á bol de ce ca de 2,75 ×1015 nodos. Una solución común a es e p oblema es u iliza un Minimax limi ado po p o undidad. Con es e algo i mo explo a emos has a p edeci odas las jugadas posibles en los nsiguien es u nos y ob end emos igualmen e el alo de u ilidad de los nodos hoja. La igu a 2.3 mues a cómo se gene a un á bol de p o undidad 4, po su pa e, la 2.4 mues a cómo unciona la inducción hacia a ás de Minimax. El p oblema de limi a po p o undidad a Minimax es que es a emos llegando a un nodo in e medio, no iene po qué se un nodo ganado o pe - dedo . Po an o ¿Qué alo de u ilidad asignamos a es os nodos? La solución suele se u iliza conocimien o expe o del dominio, es deci , azonamien os basados en la expe iencia de juegos an e io es, es a egias que se conoce que han dado un buen esul ado, e c. La g an des en aja de es a idea es que el conocimien o expe o no solo es complicado de consegui , sino que además no suele se ácil de codi ica en o ma de eglas pa a que el algo i mo pueda abaja . O o p oblema es que es e conocimien o no iene po qué se óp imo, puede habe es a- egias mejo es que simplemen e no se hayan desa ollado. Ejemplos de es e conocimien o se e án más adelan e cuando se expliquen los juegos que se explo a án. 2.3. Búsqueda en á boles e inducción hacia a ás 19 Figu a 2.4: Ejecución de la inducción hacia a ás en Minimax Poda Alpha-Be a Vamos a p esen a aho a la op imización de Minimax conocida como poda al a-be a (más conocido po el nomb e en inglés: Alpha-Be a p uning). Dado el ele ado cos e de Minimax, debemos in en a aho a an os cálculos como sea posible. En es e sen ido, nos damos cuen a de que podemos e i a la explo ación de cie as amas si sabemos de an emano que no amos a ob ene un alo mejo que el ya ob enido. Veamos el siguien e ejemplo de una ope ación de maximización - minimización como las que encon amos en Minimax: m´ax{m´ın{3,12,8},m´ın{2, x, y},m´ın{14,5,2}} = m´ax{3, z, 2}= 3 Dado que z≤2, sabemos que nunca a a se elegido po lo que una ez ob enido el alo 2, no hace al a explo a los alo es xeyya que no an a in lui (Rusell y No ig, 2003). Pa a o maliza es o amos a de ini dos a iables que llama emos αyβ que de inimos de la siguien e o ma: αEl alo de la mejo (es deci mayo ) elección que hemos encon ado has a aho a en cualquie pun o de elección pa a el camino de MAX. βEl alo de la mejo (es deci meno ) elección que hemos encon ado has a aho a en cualquie pun o de elección pa a el camino de MIN. Si en la explo ación de un nodo de maximización encon amos un alo que supe e a β, no se á necesa io segui explo ando las demás amas de ese nodo. Simé icamen e, si en un nodo de minimización encon amos una ama con un alo de u ilidad meno que α, poda emos1igualmen e. Podemos e el algo i mo en pseudocódigo a con inuación: 1E i a emos la explo ación de dicha ama 20 Capí ulo 2. T abajo elacionado AlphaBe a(nodo) = Maximiza (nodo, -in ini o, +in ini o) DEVOLVER Maximiza (nodo, alpha, be a) SI esEs adoTe minal(nodo) ENTONCES DEVOLVER u ilidad(nodo) = -in ini o PARA CADA a EN Acciones(nodo) = max( , Minimiza (Aplica Accion(a, nodo), alpha, be a)) SI >= be a DEVOLVER alpha = max(alpha, ) DEVOLVER Minimiza (nodo, alpha, be a) SI esEs adoTe minal(nodo) ENTONCES DEVOLVER u ilidad(nodo) = -in ini o PARA CADA a EN Acciones(nodo) = min( , Maximiza (Aplica Accion(a, nodo), alpha, be a)) SI alpha >= DEVOLVER be a = min(be a, ) DEVOLVER Juegos pa a expe imen a P esen amos a con inuación algunos juegos que amos a u iliza pa a nues a in es igación. Además de es o, p o undiza emos en es a egias y co- nocimien os del dominio ú iles pa a implemen a jugado es e icien es. Re e si El Re e si, ambién conocido como O hello, es un juego de mesa cuyo o igen p o iene de Ingla e a, donde ue come cializado po p ime a ez en 1880 po Lewis Wa e man y John W. Molle . A día de hoy, el juego es conocido en odo el mundo, eniendo una ue e p esencia en Japón ( ançaise dÓ hello, 1998). Pa a juga necesi a emos un able o de 8x8 casillas y 64 discos de amaño in e io a una casilla. Los discos debe án se de colo es dis in os en cada ca- a, es os colo es adicionalmen e son neg o y blanco, aunque es muy ípico ambién encon a los en ojo y azul. Las casillas del able o se suelen e e- encia u ilizando una le a de la aa la hde izquie da a de echa pa a indica la columna, y un núme o del 1 al 8 comenzando de a iba hacia abajo pa a 2.4. Juegos pa a expe imen a 21 Figu a 2.5: Comienzo del juego en el Re e si señala la ila. Al implemen a el able o la elección de ep esen ación más simple es u iliza un a ay bidimiensional de 8×8posiciones, de es a o ma, las casillas quedan ep esen adas con un ec o [i, j]con 0≤i, j ≤7, es a se á la ep esen ación que apa ece á en la mayo ía de las imágenes. Juga án dos jugado es y cada uno end á asignado un colo . Reglas Según Rose (2005) las eglas del juego se de inen como sigue: 1. El juego comienza con discos neg os en d5 y e4, y discos blancos en d4 y e5 como se puede e en la Figu a 2.5. 2. Los jugado es al e nan u nos, comenzando el jugado de ichas de colo neg o (o azul). 3. Un mo imien o legal consis e en coloca un nue o disco en una casilla acía y da la uel a a uno o más de los discos del oponen e. 4. Se da á la uel a a cualquie disco del colo del oponen e, comp endido en e el disco que se acaba de juga y cualquie o o del colo del juga- do p eexis en e en el able o.Llama emos a es o hace un "Sándwich". Se pueden c ea sándwiches en o ma e ical, ho izon al y diagonal. Pa a c ea un sándwich, odas las casillas en e el disco nue o y el p e- exis en e del mismo colo deben es a ocupadas po discos del oponen e sin casillas acías. 28 Capí ulo 3. Funcionamien o de MCTS Figu a 3.1: Ejemplo de selección u ilizando UCB Dónde ¯ Xjes la ecompensa media ob enida en el nodo j,nel núme o o al de ejecuciones y njel núme o de ejecuciones en el nodo j. El p ime sumando a o ece la explo ación de nodos pues si un nodo es bueno end á una ecompensa media al a que aumen a á el alo UCB, mien as que el segundo la explo ación ya que es un alo al o en aquellos que han sido poco explo ados en compa ación con el núme o o al de explo aciones. La igu a 3.1 nos mues a un ejemplo de aplicación de UCB, después de 13 i adas nos encon amos con los siguien e alo es pa a los b azos donde se ma can las eces que se ha i ado de cada b azo de ás de la ba a y las eces que se ha ob enido ecompensa an es. Se mues a en azul el b azo que debe ía se es i ado a con inuación. Mon e Ca lo T ee Sea ch El algo i mo del á bol de búsqueda de Mon eca lo o Mon e Ca lo T ee Sea ch (MCTS) busca desa olla un á bol que explo e pa cialmen e el espa- cio de es ados de un p oblema, in en ando que los nodos en los que se dedica más es ue zo sean los que an a da un mejo esul ado. La idea del algo i mo es p ecisamen e e i a la explo ación has a los nodos e minales pues como se ha comen ado es o esul a imposible. Po con a, amos a es ima la p obabilidad de gana desde el es ado in e medio en el que nos encon emos, es deci , calcula un alo heu ís ico. El medio pa a es ima es e alo se á ealiza simulaciones de pa idas en el que las decisiones se oman de o ma alea o ia, po es o di emos que se llama de un mé odo es ocás ico. La es imación del alo de cada nodo se hace únicamen e median e la simulación de pa idas po lo que podemos cons ui jugado es que omen buenas decisiones sin ninguna necesidad de conocimien o expe o del dominio en el que se abaja. Exis e una g an di e sidad de implemen aciones de MCTS, sin emba go, en es a sección amos a explo a el uncionamien o más adicional y en las subsiguien es e emos las a iaciones que han sido necesa ias pa a nues os casos conc e os. El algo i mo p e ende explo a un á bol y calcula un alo heu ís ico a cada nodo pa a pode elegi el que sea posiblemen e el mejo . Pa i emos de 3.2. Mon e Ca lo T ee Sea ch 29 un único nodo aíz y en cada i e ación i emos ampliando el conocimien o que enemos del espacio de es ados. Cada una de las men adas i e aciones del código se di ide en 4 pa es cla amen e di e enciadas: selección, expansión, simulación y e op opagación (B owne e al., 2012). Es a pa es con es an espec i amen e a las p egun as ¿Qué nodo expandimos?¿Cómo lo expandi- mos?¿Cuán bueno es el nodo esul an e?¿Qué e ec o iene es o sob e el es o del á bol? Vamos a necesi a gua da cie a in o mación en los nodos del á bol. Cada uno almacena á: El es ado del juego. Un con ado de eces que ha sido expandido dicho nodo. Un con ado de eces que la expansión ha esul ado en una ic o ia. La acción po la que se ha llegado a ese nodo. Pun e os al pad e y los hijos. El obje i o es ob ene una es imación de cuán buenas son las dis in as ac- ciones que enemos a nues a disposición. Pa a es o simplemen e al expandi los nodos juga emos pa idas alea o ias desde cie o nodo y comp oba emos si hemos ganado o pe dido, es e alo se manda hacia a iba en la je a quía de nodos, de es a o ma, odos los nodos ienen la in o mación de sus hijos. Selección El p oceso de selección se ocupa de elegi qué nodo es el mejo exponen e pa a se expandido. Es aquí dónde cob a sen ido el desa ollo p e io sob e las máquinas agape as, pues u iliza emos el algo i mo UCB pa a selecciona cuál es el siguien e nodo a expandi . Sin emba go, apa ece un p oblema y es que como acabamos de comen a (y como se explica en p o undidad en la sección sob e e op opagación) la in o mación que encon amos en los pad es es la suma de la de los hijos. Po es o no podemos u iliza UCB simple, nos emos obligados a in oduci UCT (Uppe Con idence bound o T ees). Simplemen e sus i ui emos el alo de npo el núme o de eces que se ha seleccionado el nodo pad e en luga del o al, de es a o ma, se u iliza UCB de o ma local pe mi iendo un uncionamien o co ec o del algo i mo. La igu a 3.2 mues a un ejemplo de selección u ilizando UCT. 30 Capí ulo 3. Funcionamien o de MCTS Figu a 3.2: Ejemplo de selección u ilizando UCT Expansión Una ez elegido el nodo a expandi , debemos dilucida cómo lo hacemos, aquí empieza a apa ece la alea o iedad. Hay di e sas o mas, eamos algunas de ellas: Expansión simple Es la opción más sencilla y con meno cos e compu acional. Consis e en que, dada la lis a de acciones que enemos disponibles pa a el nodo seleccio- nado, elegimos una de ellas, la ejecu amos y ob end emos un nue o es ado, que con o ma á el nue o nodo hijo. Después con inuamos hacia la siguien e ase (Chaslo e al., 2008). Expansión múl iple Se a a de una ampliación de la an e io , pa a ello, en luga de elegi una única acción pa a expandi , escogemos ny pasamos a la siguien e ase. En es e caso debe íamos in es iga cuál es el alo óp imo pa a npues un alo muy ele ado signi ica ía un gas o excesi o en es a ase que mul iplica ía el gas o en la siguien e. Simulación Una ez elegidos los nodos a expandi , debemos comp oba cuán buenos son es os. Esa es la unción de la ase de simulación. Pa a conoce es e alo , pa i emos del es ado que nos mues a el nodo a simula y comenzamos a oma decisiones alea o ias, den o de la lis a de acciones disponibles, pa a de ini un camino has a llega a un nodo e minal. El es ado e minal end á 3.3. Simulación 31 un alo dependiendo del p oblema que es emos aba cando (gana o pe de , el ni el de bene icio ob enido, e c). Toma emos en onces es e como nues o alo heu ís ico pa a el nodo. El ejemplo más sencillo es un juego en que los posibles esul ados sean gana o pe de . En es e caso, desde el es ado que nos p oponga el nodo a simula , gene amos elecciones alea o ias de las jugadas disponibles has a llega a un es ado en el que bien hab emos ganado o pe dido. En caso de gana asigna emos 1/1al alo heu ís ico del nodo expandido, mien as que en caso de pe de lo ma ca íamos a 0/1donde el núme o de ás de la ba a indica el núme o de eces que se ha simulado. La ase de simulación puede se len a si el p oblema que se es á a ando iene muchos posibles mo imien os, si exis en ciclos o si el espec o es in ini o. Po eso en muchas ocasiones es más e icien e, en luga de obliga al código a llega a un es ado e minal, elegi algún o o ipo de alo que nos indique cuán bueno es el nodo y hace una explo ación de p o undidad limi ada o con un iempo limi ado. Es a opción, po con a, nos hace pe de uno de los pun os más impo an es del algo i mo, la independencia del dominio, pues no necesi a nunca conocimien o p e io del juego, solamen e sabe si ha ganado o pe dido, la capacidad de alo a un es ado no e minal implica que sabemos de an emano lo bueno que es un es ado. Realiza emos simulaciones sob e los candida os a expandi se, aho a, de- bemos elegi cuán as simulaciones lle a a cabo, ya que ealiza una sola sob e cada candida o puede in oluc a un e o muy g ande a la ho a de alo a lo, mien as que un núme o de simulaciones excesi amen e g ande alen iza de- masiado el algo i mo. En gene al la oma de decisiones en las simulaciones consumen muy poco iempo compu acional ya que no es necesa io de ene se p ác icamen e a medi a las opciones. El mayo cos e de es as iene p ecisa- men e de calcula las opciones posibles en cada es ado po lo que en juegos complicados se alen iza de o ma signi ica i a. Re op opagación En es e momen o, enemos un alo de cuán bueno es el nodo (o los nodos) nue o(s). Nues a a ea se á aslada es a misma in o mación a odos los nodos y en pa icula a los hijos de la aíz que son, al in y al cabo, en e los que enemos que elegi . Es e p oceso se llama e op opagación y es an simple como eco e el á bol desde el nodo hoja que acabamos de c ea has a la aíz sumando los alo es de esul ados e in en os a los con ado es de cada nodo que encon emos po medio. Una ez llegados a es e pun o, hemos comple ado una i e ación del MCTS, y con ello, ob enido un á bol con más nodos y mejo in o mado sob e lo bue- nas que son las dis in as decisiones. A con inuación se lle a a é mino la 32 Capí ulo 3. Funcionamien o de MCTS Figu a 3.3: Resul ado de una i e ación de MCTS siguien e i e ación, y es en onces cuando apa ece la p egun a: ¿Cuándo pa- amos? En un p oblema con un espacio de búsqueda i ualmen e in ini o, como puede se , po ejemplo, el ajed ez (del que se habla á más adelan e), pod íamos explo a el á bol an o como quisié amos y siemp e mejo a ía- mos la solución. Po ello, no malmen e la es a egia es de ene se dada una condición que puede se un lími e de iempo, un núme o máximo de nodos expandidos, una p o undidad máxima, e c. Al cumplimien o de es a condi- ción es a emos obligados a elegi el nodo que enga mejo esul ado has a el momen o. Re omando el ejemplo expues o en la igu a 3.2, podemos e el esul ado de ealiza una expansión múl iple con n= 2, 5 simulaciones po nodo y la e op opagación del esul ado. Se mues a en la Figu a 3.3 Mos amos a con inuación la es uc u a gene al de MCTS en pseudocó- 3.3. Simulación 33 digo: MCTS( aiz) MIENTRAS hayTiempo() HACER seleccionado = seleccion( aiz) expandido = expansion(seleccionado) esul ado = simulacion(expandido) e op opagacion(expandido, esul ado) DEVOLVER maxheu is ica( aiz.hijos) seleccion(a bol) PARA CADA nodo EN a bol calcula UCT() DEVOLVER a gmaxuc (a bol) expansion(nodo) PARA i=0 HASTA nume oExpansiones accion = andomchoice(accionesDisponibles(nodo)) nue oNodo = ejecu a (accion, nodo) nodo.ag ega Hijo(nue oNodo) simulacion(nodo) acie os = 0 PARA i=0 HASTA nume oSimulaciones cnodo = copia (nodo) MIENTRAS noTe minado(cnodo) HACER accion = andomchoice(accionesDisponibles(cnodo)) cnodo = ejecu a (accion, cnodo) SI gana (cnodo) acie os = acie os +1 DEVOLVER acie os e op opagacion(nodo, acie os) nodo.acie os = nodo.acie os+acie os nodo.in en os = nodo.in en os+nume oSimulaciones MIENTRAS nodo.pad e != NULL HACER nodo <= nodo.pad e nodo.acie os = nodo.acie os+acie os nodo.in en os = nodo.in en os+nume oSimulaciones 34 Capí ulo 3. Funcionamien o de MCTS PMCTS Vamos a implemen a ambién la e sión de MCTS conocida como Plain Mon eca lo T ee Sea ch. Es a e sión di ie e de la o iginal en la ase de ex- pansión que es igno ada. De es a o ma el á bol de juego se á es á ico sin ningún ipo de c ecimien o. Recae sob e noso os decidi la o ma del á bol que se á gene ado an es de comenza las i e aciones. La gene ación de es- e á bol inicial es algo a iesgada, pues, según es é de inido pod ía ob ia opciones bene iciosas que ya no se án omadas en conside ación en ningún momen o. En la e sión que hemos implemen ado, pa a da solución a es o, ge- ne amos 2 ni eles del á bol comple os, odas las posibles acciones a oma po noso os y po nues o con incan e. Una ez ealizado es e paso inicial desa ollamos las o as es ases an as eces como i e aciones sean posi- bles. Eligiendo el á bol de es a mane a podemos aho a el cálculo de UCT como en el apa ado an e io y calcula di ec amen e UCB sob e los nodos hoja, pues la selección del nodo aíz o de algún nodo no hoja implica ía una simulación que o zosamen e pasa ía po alguna de las hojas, lo que es ine icien e. Podemos ap ecia en onces el pseudocódigo del cue po p incipal de es e algo i mo: PMCTS( aiz) gene a A bolInicial( aiz) MIENTRAS hayTiempo() HACER seleccionado = SeleccionPo UCB() Simulacion(seleccionado) Re op opagacion(seleccionado) DEVOLVER maxheu is ica( aiz.hijos) Reap o echamien o de memo ia Cada ez que nos encon emos en un es ado nue o, debe emos gene a un á bol de juego que pa a únicamen e de la aíz, pa a es ima una ez más la heu ís ica de cada nodo. Una idea in e esan e es eap o echa un á bol que u ié amos c eado ya de la úl ima ez que lo gene amos, pa a ob ene mejo es esul ados. El p oblema con es o es que no podemos p edeci qué mo imien o a a elegi el ad e sa io o los ad e sa ios, con lo que es posible que es e no es é en e los que noso os hemos conside ado. Pa a ello lo más sencillo es gua da la es uc u a del á bol de la ejecución an e io y an es de comenza las nue as i e aciones, descendemos dos eces po la aíz del á bol imi ando las acciones omadas en el juego eal. En caso de 3.6. Ap oximación p obabilís ica 35 no ene un é ice a ese nodo empeza íamos de ce o, pe o si enemos sue e podemos pa i de un á bol con unas cuan as heu ís icas ya calculadas, lo que nos pe mi i ía en el mismo iempo compu acional ob ene los esul ados equi alen es a más simulaciones. Ap oximación p obabilís ica En es a sección se u ilizan concep os de p obabilidad que no han sido in oducidos en apa ados an e io es po lo que se ecomienda que el lec o enga conocimien os de p obabilidad y es adís ica. En odo caso, si el lec o desea epasa las de iniciones de es os concep os, puede hace lo en el apéndice A. U ilizando el mé odo de Mon eca lo es amos in en ando ap oxima la dis ibución de p obabilidad de una a iable alea o ia disc e a que nos ma - ca á las expec a i as de gana que podemos ene dada la elección de cie a acción en un es ado dado. Si llamamos Xa es a VA. Tenemos dos esul ados posibles: X=gana X =no gana Según es á de inido el algo i mo nues o obje i o es ap oxima p(X=gana |e) median e simulaciones siendo euna con igu ación dada den o del espacio de es ados. Vamos a comp oba que e ec i amen e la p obabilidad de que ob- ene una ic o ia desde cie o es ado es igual a la de que una simulación esul e ganado a. De es a o ma nos e emos en las condiciones de aplica el eo ema de Gli enko-Can elli (que se enuncia y explica en la sección si- guien e) y demos a que e ec i amen e median e es e p ocedimien o es amos ap oximando la p obabilidad eal de gana desde ese es ado. Es a úl ima p obabilidad la ob enemos de o ma ecu si a: comenzando con el caso base, si el nodo ees un es ado e minal hab emos ganado o pe dido po lo que: p(X=gana |e) = 1si e es un es ado ganado 0ecc Llama emos aj ia ejecu a la acción aien el pun o de oma de decisión núme o jy deno a emos po ai(e)al es ado esul an e de aplica la acción aiae. En 36 Capí ulo 3. Funcionamien o de MCTS caso de no a a se de un es ado e minal end emos que: p(X=gana |e) = X i p(X=gana |e, a1 i)p(a1 i) =X i,j p(X=gana |e, a1 i, a2 j)p(a1 i, a2 j) =... =X i,...,j p(X=gana |e, a1 i, ..., ak j)p(a1 i, ..., ak j) Siendo kel núme o necesa io pa a que a1 i(...(ak j(e))) sea un es ado e minal. La dis ibución de p obabilidad conjun a, iene dada po : p(A, B) = P(A∩B) = p(A|B)p(B) aplicando a nues o caso: p(a1 i, a2 l..., ak j) = p(a2 l..., ak j|a1 i)p(a1 i) =... =Y m p(a m|a −1 j, ..., a1 i) Es os da os son conocidos pa a noso os, suponiendo que odas las acciones ienen la misma impo ancia, podemos supone que p(a1 i) = 1 N(1) siendo N(1) el núme o de acciones en e las que elegi . Así sucesi amen e p(a2 j|a1 i) = 1 N(2) i ... Es e es exac amen e el compo amien o que iene nues a simulación, pues al elegi alea o iamen e la acción a oma la p obabilidad en nues a si- mulación p(a)coincide con la ap oximada an e io men e. A su ez los es ados e minales epo an 1 o 0 dependiendo de su alía po lo que la p obabilidad de una simulación de ob ene una ic o ia es exac amen e la p obabilidad de gana que hemos ob enido eó icamen e. Las simulaciones ap oximan la dis ibución Ya hemos comp obado que las simulaciones ienen la misma unción de dis ibución Fque la a iable alea o ia de inida en el apa ado an e io . Vamos aho a a e que e ec i amen e al aumen a el núme o de simulaciones ealizadas nues o esul ado heu ís ico se ace ca a la dis ibución F. Es e esul ado es á ecogido en el eo ema de Gli enko-Can elli que se enuncia a con inuación (Ángel Villegas, 2005). 3.6. Ap oximación p obabilís ica 37 Teo ema 1 (Gli enko-Can elli) Si se iene una mues a alea o ia simple de amaño n de una población X, con unción de dis ibución F(x), pa a cualquie núme o eal posi i o a bi a io ε, se iene que l´ım n→∞ Psup x∈R|F∗n(x)−F(x)| ≥ ε= 0 La demos ación de es e eo ema se puede consul a en Fisz (1963). Es e eo ema nos indica que la p obabilidad de que el alo sup emo de la di e encia en e la unción de dis ibución es imada con la mues a alea o ia simple (en nues o caso los esul ados de las simulaciones) y la unción de dis ibución eó ica, sea mayo que cie o alo εes 0 cuan o el amaño de la mues a iende a in ini o. Con es a sección hemos demos ado que a a és de las simulaciones ob end emos un alo heu ís ico que e ec i amen e ap oxima el alo eó ico co espondien e a cada nodo. 44 Capí ulo 4. Aplicación de MCTS a juegos Expe imen o P o undidad PMCTS P o undidad MCTS 1 23 41 23 41 2 17 47 16 48 3 26 38 26 38 4 34 30 11 53 5 10 54 33 31 6 50 14 15 49 7 21 43 27 37 8 23 41 26 38 9 23 41 32 32 10 14 50 30 34 11 27 37 54 10 12 25 39 26 38 13 16 48 13 21 14 13 51 9 55 15 14 50 1 62 16 22 42 8 56 17 29 35 20 44 18 17 46 0 42 19 29 35 44 20 20 26 38 25 39 21 35 29 26 38 22 23 41 16 48 23 55 9 33 31 24 25 39 28 36 25 24 40 39 25 26 47 15 10 54 27 24 40 12 52 28 17 46 21 43 29 20 44 35 29 30 23 41 19 45 Media 25,066 38,8 22,6 39,633 Vic o ias 5 25 6 23 Tabla 4.3: PMCTS y MCTS (70 simulaciones) s búsqueda en p o undidad 4.1. Aplicación al Re e si 45 Expe imen o Bac acking PMCTS Back acking MCTS 1 18 46 11 53 2 19 45 12 52 3 24 40 52 12 4 22 42 20 44 5 23 41 42 22 6 21 43 21 43 7 24 40 30 34 8 21 43 26 38 9 16 48 23 41 10 26 38 21 43 11 29 35 22 42 12 20 44 28 36 13 13 51 31 33 14 37 27 26 38 15 16 48 40 24 16 20 44 19 45 17 18 46 17 47 18 17 47 29 35 19 14 50 18 46 20 24 40 28 36 21 15 49 31 33 22 25 39 36 28 23 19 45 21 43 24 23 41 21 43 25 18 46 20 44 26 14 50 24 40 27 21 43 25 39 28 17 47 30 34 29 20 44 22 42 30 25 39 42 22 Media 20,633 43,366 26,266 37,733 Vic o ias 1 29 5 25 Tabla 4.4: PMCTS y MCTS (700 simulaciones) s búsqueda en p o undidad 46 Capí ulo 4. Aplicación de MCTS a juegos Expe imen o Alpha-Be a débil PMCTS Alpha-Be a débil MCTS 1 22 42 33 0 2 26 38 48 16 3 25 39 26 38 4 38 26 56 1 5 24 40 27 37 6 19 45 25 0 7 27 37 46 18 8 16 48 32 32 9 28 36 42 22 10 25 39 31 33 11 18 46 47 17 12 19 0 21 0 13 19 45 50 14 14 19 45 31 33 15 41 23 41 23 16 39 25 31 33 17 35 29 55 9 18 22 42 54 10 19 21 43 32 32 20 30 34 29 0 21 29 35 41 23 22 23 41 38 26 23 30 34 31 33 24 26 1 23 0 25 23 0 33 31 26 19 45 36 28 27 32 32 23 41 28 30 34 28 36 29 54 10 21 43 30 30 34 34 30 Media 26,966 32,933 35,5 21,966 Vic o ias 8 21 18 10 Tabla 4.5: PMCTS y MCTS(140 simulaciones) s Alpha-be a (débil) 4.1. Aplicación al Re e si 47 men a sus ancialmen e la capacidad de Alpha-be a, pues educe las ic o ias de PMCTS al 36% y las de MCTS al 26,6 %. Po úl imo, con el in de consegui ence con mayo ecuencia a Alpha- be a, amos a in oduci con enido especí ico del dominio en nues o jugado con mejo esul ado, que ha demos ado se PMCTS. U iliza emos la misma heu ís ica que hemos p opo cionado a Alpha-be a, pa a ello, una ez ealiza- do odo el algo i mo, an es de elegi el mo imien o a ealiza , aumen a emos o disminui emos el alo de bondad del nodo sumando 20 acie os si la juga- da nos ha ía domina una esquina, 2 en caso de una casilla ’X’y es a emos 5 pa a las casillas ’C’. A la is a de es o ob enemos los esul ados que se dispo- nen en la abla 4.7. Podemos e una le e mejo ía espec o al caso an e io , subiendo el po cen aje de ic o ias al 43,3%. Vamos aho a a comp oba el compo amien o al aumen a el núme o de simulaciones signi ica i amen e pa a e si con es o podemos de ini i amen e sob epasa a Alpha-be a ue e. MCTS s PMCTS Po úl imo, en en amos ambas e siones de Mon eca lo T ee Sea ch en e si y mos amos los esul ados en la abla 4.9. Ya habíamos is o en los expe imen os an e io es que en gene al enemos un endimien o mejo en la e sión plana que en la dinámica, aquí lo emos cla amen e plasmado cuando PMCTS se alza con un 76 % de ic o ias. Análisis de esul ados Podemos e que ambas e siones del algo i mo dan muy buenos esul a- dos con a el alea o io, ob eniendo un a io de no de o as siemp e en e el 90% y el 97 %. Es o nos indica que ealmen e el algo i mo oma buenas de- cisiones. Podemos e aquí, una le e di e encia en e las dos e siones dando pis as de que PTCMS iene un compo amien o li ianamen e mejo que su e sión o iginal. Vemos que al aumen a las epe iciones disminuye en una las ic o ias de MCTS. Podemos achaca es o a la simple p obabilidad o, que el sal o de simulaciones no ha sido su icien e pa a asegu a un aumen o sus ancial del endimien o. Una si uación simila encon amos con a el algo i mo de búsqueda en p o undidad, en es e caso, eniendo un ma gen mayo de mejo a, especial- men e en MCTS, damos un sal o ca egó ico en la can idad de simulaciones en e el p ime expe imen o y el segundo. Ap eciamos cla amen e cómo am- bas e siones mejo an minimizando las opciones del ad e sa io. Po o a pa e, el algo i mo Alpha-Be a ob iene un mayo po cen aje de ic o ias con a ambos. Es o e a de espe a , pues como ya se ha explicado an es, se a a de un algo i mo muy so is icado. Cabe des aca la impo an- 48 Capí ulo 4. Aplicación de MCTS a juegos Expe imen o Alpha-Be a PMCTS Alpha-be a MCTS 1 44 20 21 43 2 31 33 31 33 3 41 23 43 21 4 25 0 47 17 5 44 20 34 30 6 37 27 38 26 7 42 22 46 18 8 21 43 38 26 9 55 9 27 37 10 28 36 30 34 11 37 27 52 12 12 43 21 46 18 13 20 44 58 5 14 26 38 61 1 15 46 16 56 8 16 20 44 25 0 17 51 13 51 13 18 42 22 30 34 19 59 5 32 32 20 59 5 32 33 21 48 16 35 29 22 31 33 29 35 23 55 9 22 42 24 29 35 52 12 25 31 33 38 26 26 31 33 29 0 27 41 23 49 15 28 53 11 42 22 29 49 15 33 31 30 27 37 36 28 Media 38,86 23,76 38,76 22,7 Vic o ias 19 11 21 8 Tabla 4.6: PMCTS y MCTS(140 simulaciones) s Alpha-be a ( ue e) 4.1. Aplicación al Re e si 49 Expe imen o Alpha - Be a PMCTS 1 25 39 2 27 37 3 41 23 4 25 39 5 39 25 6 24 40 7 31 33 8 43 21 9 46 18 10 21 43 11 61 3 12 43 21 13 44 20 14 55 9 15 39 25 16 26 38 17 60 4 18 26 38 19 44 20 20 10 54 21 49 15 22 31 33 23 44 20 24 54 10 25 51 13 26 56 5 27 29 35 28 40 24 29 28 36 30 20 44 Media 37,733 26,166 Vic o ias 17 13 Tabla 4.7: PMCTS (mejo ado y con 140 simulaciones) s Alpha-be a ( ue e) 50 Capí ulo 4. Aplicación de MCTS a juegos Expe imen o Alpha - Be a PMCTS (in o mado) Alpha - Be a PMCTS 1 38 26 38 26 2 51 13 51 13 3 17 47 17 47 4 30 34 30 34 5 30 34 30 34 6 48 16 48 16 7 45 19 45 19 8 28 36 28 36 9 29 35 29 35 10 30 34 30 34 11 39 0 39 0 12 27 37 27 37 13 38 26 38 26 14 14 50 14 50 15 41 23 41 23 16 31 33 31 33 17 24 40 24 40 18 31 33 31 33 19 52 12 52 12 20 17 47 17 47 21 44 20 44 20 22 31 33 31 33 23 19 45 19 45 24 46 18 46 18 25 32 32 32 32 26 31 33 31 33 27 24 40 24 40 28 30 34 30 34 29 41 23 41 23 30 43 21 43 21 Media 33,36 29,8 36,46 26,06 Vic o ias 12 17 14 15 Tabla 4.8: PMCTS (750 simulaciones) s Alpha-be a ( ue e) 4.1. Aplicación al Re e si 51 Expe imen o MCTS PMCTS 1 24 40 2 28 36 3 38 26 4 17 47 5 16 48 6 23 41 7 28 36 8 19 45 9 17 47 10 19 45 11 27 37 12 3 61 13 19 45 14 37 27 15 23 41 16 34 30 17 12 52 18 40 24 19 29 35 20 16 48 21 17 47 22 49 15 23 22 42 24 30 34 25 35 29 26 24 40 27 3 51 28 28 36 29 44 20 30 22 42 Media 24,76 38,9 Vic o ias 7 23 Tabla 4.9: MCTS (70 simulaciones) s PMCTS (70 simulaciones) 52 Capí ulo 4. Aplicación de MCTS a juegos Figu a 4.1: Resul ados de usa o no conocimien o del dominio con 750 simu- laciones cia de la op imización heu ís ica, pues emos que el α−βsaca más en aja a los algo i mos de Mon eca lo cuando es á a mada con es a. A pesa de odo, conseguimos un esul ado bas an e bueno con a ambas e siones, es- pecialmen e de PMCTS que gana en la mayo ía de los casos con a la e sión débil y es capaz de ob ene más de un e cio de las ic o ias con a la e - sión ue e. Ap eciamos ambién en es e apa ado cómo el inyec a cie o conocimien o del dominio hace mejo a a PMCTS has a es a casi igualado con el algo i mo más ue e que hemos p esen ado en el caso de ealiza 140 simulaciones. Una ez damos el sal o a 750 emos que PMCTS es capaz de domina en ic o ias, además, al esul ado es incluso mejo al inyec a cono- cimien o del dominio. Es no able des aca que en es os úl imos expe imen os se p oducen más ic o ias de PMCTS aunque es e consigue una pun uación media peo . Un pun o impo an e a des aca es la di e encia de endimien o en e la e sión plana y la dinámica, ya que en gene al ob iene un esul ado mucho más al o la p ime a. Una posible azón que explique es a di e encia es la expansión inicial del á bol que ealiza PMCTS ya que gene amos dos ni eles comple os con los que no cuen a MCTS que comienza desde la aíz, po lo que con las mismas i e aciones, ealmen e ha p e is o más. Pa a acaba es a sección, se mues an di e en es g á icas con la exposi- ción de los esul ados. En la g á ica p esen ada en la igu a 4.2 podemos e el esul ado medio ob enido en las dis in as ejecuciones, en la pa e supe io se mues a MCTS y en la in e io PMCTS. En es a úl ima se señala como Alpha-be a(mejo ado) el en en amien o en e Alpha-be a ue e y PMCTS con conocimien o del dominio. Del mismo modo , la igu a 4.1 mues a los esul ados del úl imo expe imen o que compa a el uso de conocimien o del dominio con 750 simulaciones. Po o a pa e, emos que la igu a 4.3 nos mues a dos g á icas de dispe sión con las dis in as pa idas en las que po- demos e di e enciados los dis in os expe imen os y ob ene una idea global del uncionamien o. Se mues a la ba a di iso ia en 32 pues es la pun uación mínima que hay que ob ene pa a no pe de . 4.2. Aplicación al Ajed ez 53 Figu a 4.2: Compa ación de pa idas ganadas y pe didas en los di e en es en en amien os Aplicación al Ajed ez El Ajed ez de po sí es un juego bas an e complicado, como ya hemos comen ado an e io men e, iene un ac o de ami icación medio de 35, po ello nos es imposible aba ca lo con algo i mos más clásicos como Minimax pu o. Además, a di e encia del Re e si, en el Ajed ez se pueden p oduci ciclos ya que odas las piezas, a excepción de los peones, pueden ol e a la posición de inicio de su an e io mo imien o, po lo que in en a in es iga el espacio de es ados comple o no esul a ac ible. Dadas es as bases, amos a elegi el ipo de expansión y de simulación que nos in e esan. Expansión En es e caso amos a p oba con la misma e sión que u ilizamos pa a el Re e si. Pa a la e sión plana debemos decidi sob e qué á bol amos a u iliza . Comenzamos gene ando un á bol de 3 ni eles comple os (la aíz y dos ni eles más), al igual que hacíamos an es. Capí ulo 5 Mejo ando MCTS con edes neu onales En es e capí ulo amos a hace un eco ido sob e los mé odos más mo- de nos implemen ados con el in de pe ecciona el endimien o de Mon eca lo T ee Sea ch. Lo di idi emos en dos secciones, en la p ime a expond emos los emas y concep os pe inen es pa a comp ende qué es el ap endizaje au o- má ico o Machine Lea ning, y en el segundo cómo lo mezclamos con MCTS pa a mejo a los esul ados. En es e ema se u iliza án di e sos concep os sob e p obabilidad y álgeb a que no han sido in oducidos an e io men e en el documen o, es os se pueden consul a ín eg amen e en los apéndices A y B espec i amen e. Ap endizaje au omá ico El campo del ap endizaje au omá ico su ge de cuando in en amos que un compu ado sea capaz de econoce pa ones y ob ene p edicciones a pa i de un conjun o de da os. Des acamos dos casos p incipales a es udia : eg esión y clasi icación. El p oblema de eg esión in en a a on a el dilema de ene dos a iables alea o ias co elacionadas XeYy necesi amos de e mina una ap oximación a la elación exis en e en e ellas. Los da os nos gene a án una nube de pun os y buscamos encon a una unción y(x)que sea la que mejo se ajus e a las obse aciones (Rouaud, 2013). La ap oximación más ípica es conocida como eg esión lineal, que ue za a ya de ini un hipe plano del espacio, po lo que es a iene con o mada de la o ma: y(x) = W x+b con la ma iz W∈RD×Ky los ec o es x∈RDyb∈RKsiendo Dla 61 62 Capí ulo 5. Mejo ando MCTS con edes neu onales Figu a 5.1: Reg esión (Izquie da) y clasi icación (de echa) dimensión del espacio de los da os y Kla dimensión del esul ado a ob ene . En la igu a 5.1 se mues a un ejemplo de eg esión lineal con D=K= 1. Po su pa e, el p oblema de clasi icación pa e de un conjun o de da os dis ibuidos en Kclases. Nos gus a ía, dado un da o de en ada, asigna lo a una clase Ckcon 1≤k≤K. El p oblema que p obablemen e más se es udia es el conocido como clasi icación bina ia, que se a a del caso en el que k= 2 (Smola y Vishwana han, 2008). Un ejemplo clásico son los il os de spam, que, dado el con enido de cie o e-mail, son capaces de di e encia si es os se a an de co eo basu a o no. En caso de que K > 2conoce emos la si uación como clasi icación mul i- clase. Encon amos igualmen e in inidad de ejemplos como de ec a de o ma au omá ica el idioma en el que se encuen a un ex o o, dadas las mediciones de los sín omas, diagnos ica la e apa del cánce en la que se encuen a una pe sona, dando he amien as pode osas a los p o esionales sani a ios. Resul- ados e óneos pueden aca ea se e as consecuencias, como en el caso de diagnos ica e óneamen e una en e medad, po ello deben ene unas bases ma emá icas bien undadas pa a asegu a la exac i ud de los esul ados. Vamos a p esen a 3 algo i mos que dan solución a es os p oblemas, de meno a mayo complejidad: mínimos cuad ados, el pe cep ón y las edes neu onales. Aunque la can idad de algo i mos desa ollada es ex ensa, es os son una buena ap oximación al campo de es udio, y cada uno ep esen a una e olución del an e io . Nos apo a án he amien as pode osas pa a mejo a MCTS. Mínimos cuad ados Pa imos de un conjun o de en enamien o, compues o po N ec o es1 de en ada y la co espondien e e ique a que nos indica á a qué clase pe e- necen, es deci {(xj, j)}N j=1. U iliza emos una clasi icación pa a las e ique as 1en desa ollo odos los ec o es son columnas, pa a indica un ec o ila se indica á como aspues a 5.1. Ap endizaje au omá ico 63 conocida como one ho , en ella pa a odo j, jse á un ec o ekde la base canónica2de RK. Deseamos encon a una unción a ín y:RD→RK, con lo que ob en- d emos un ec o de dimensión K. Al se a ín sabemos que nues a unción end á la o ma: y(x) = W x+ben las mismas condiciones que se de ine en la sección an e io . Asigna emos a la clase de la coo denada que haya ob enido un alo mayo , es deci : y∈ Ck|k= a g m´ax 1≤α≤Kyα(x) Pa a simpli ica la no ación en el desa ollo llama emos ˜x=1 xy˜ W= b W. Ag upando aho a e ique as y ejemplos de en enamien o, llama emos T= ( 1, ..., N)y˜ X= (˜x1, ..., ˜xn). En un caso ideal, que íamos consegui que: ∀j y(xj) = W x+b=˜ W ˜x= j o equi alen emen e debemos esol e el sis ema lineal de ecuaciones: ˜ W ˜ X=T Sin emba go en la mayo ía de si uaciones es e sis ema no end á solución po lo que debe emos con o ma nos con el esul ado que se ace que más, pa a ello esol e emos el p oblema de op imización: m´ın ˜ W|| ˜ W ˜ X−T|| Llama emos J(˜ W) = || ˜ W ˜ X−T||, unción de cos e. Dado que la no ma es no nega i a, minimiza Jes equi alen e a minimiza E(˜ W) = 1 2|| ˜ W ˜ X−T||2, es o nos acili a á los cálculos más adelan e. P esen amos a con inuación 2 o mas de soluciona lo, una de ellas es un mé odo de ap oximación y la o a una solución eó ica. Descenso de g adien e El descenso de g adien e es un mé odo i e a i o que da solución a mini- miza la unción E(˜ W). Pa a ello, calcula emos el g adien e de la unción, 2En el espacio ec o ial Knel conjun o o mado po los n ec o es (1,0,0..., 0),(0,1,0, ..., 0), ..., (0,0,0, ..., 1) es una base que ecibe el nomb e de base canónica de Kn. Es os ec o es habi ualmen e se denominan eidonde (ei)j= 1 si j=iy (ei)j= 0 en cualquie o o caso (Me ino y San os, 2006). 64 Capí ulo 5. Mejo ando MCTS con edes neu onales Figu a 5.2: Di ección del g adien e y p oblemas de elegi e óneamen e el pa áme o α es e nos indica la di ección de ascenso de máxima pendien e, po ello, si es- amos es a can idad, es a emos dec eciendo el alo de la unción de cos e. Tenemos: ∇E(˜ W) = ˜ X(˜ W ˜ X−T) Es e esul ado se jus i ica en la sección siguien e. Teniendo es o, de inimos la egla de ac ualización como: ˜ W( +1) =˜ W( )−α˜ X(˜ W ˜ X−T) Donde αes un pa áme o conocido como asa de ap endizaje. La unción de es e es de e mina el amaño del sal o exis en e en e una ac ualización y la siguien e. Un alo muy g ande puede lle a a que el mé odo ob enga incluso un esul ado opues o al buscado. Po o a pa e, un alo muy pequeño puede lle a a que el algo i mo no con e ja en un iempo azonable. Se mues a una isualización de es os esul ados en la igu a 5.2 en la que se puede e a la izquie da los g adien es en los dis in os pun os y a la de echa el esul ado de usa un αmuy g ande (en na anja) y el de u iliza uno muy pequeño (en azul). 5.1. Ap endizaje au omá ico 65 Cálculo di ec o Vamos a calcula el mínimo de la unción E(˜ W)de mane a explíci a. Comenzamos obse ando que: E(˜ W) = 1 2|| ˜ W ˜ X−T||2=1 2 (( ˜ W ˜ X−T) (˜ W ˜ X−T))?? (5.1) =1 2 (˜ X ˜ W˜ W ˜ X−˜ X ˜ WT −T ˜ W ˜ X+T T) (5.2) Nos encon amos an e una unción di e enciable, podemos en onces encon a los ex emos en los pun os que anulen a ∇E(˜ W). Po an o, dada una ma iz cualquie a A∈RK×(D+1): ∇E(˜ W) = l´ım ε→0 E(˜ W+εA)−E(˜ W) ε subs i uyendo en 5.2: E(˜ W+εA) = 1 2 (ε2˜ X AA ˜ X−ε˜ X AT −εT AT˜ X +ε˜ X ˜ WA ˜ X+ε˜ X A˜ W ˜ X+˜ X ˜ W˜ W ˜ X −˜ X ˜ WT −T ˜ W ˜ X+T T) si es amos E(˜ W)ob enemos que: E(˜ W+εA)−E(˜ W) = 1 2 (ε2˜ X AA ˜ X−ε˜ X AT −εT AT˜ X +ε˜ X ˜ WA ˜ X+ε˜ X A˜ W ˜ X) di idiendo po εy eniendo en cuen a la p opiedad de la aza 1: E(˜ W+εA)−E(˜ W) ε=1 2 (ε˜ X AA ˜ X−˜ X AT −T AT˜ X +˜ X ˜ WA ˜ X+˜ X A˜ W ˜ X) 66 Capí ulo 5. Mejo ando MCTS con edes neu onales añadiendo el lími e y conside ando las p opiedades de la aza 3 y 4: l´ım ε→0 E(˜ W+εA)−E(˜ W) ε=1 2 (˜ X AT −T AT˜ X +˜ X ˜ WA ˜ X+˜ X A˜ W ˜ X) =1 2[ (( ˜ X A)( ˜ W ˜ X−T)) + ((( ˜ X A)( ˜ W ˜ X−T)) )] = (( ˜ X A)( ˜ W ˜ X−T)) = (( ˜ W ˜ X−T)˜ X A) = (( ˜ X(˜ W ˜ X−T) ) A) =D˜ X(˜ W ˜ X−T) , AE Dado que es o debe anula se ∀Aen onces debe se que: ˜ X(˜ W ˜ X−T) = 0 ˜ X(˜ X ˜ W−T )=0 ˜ X˜ X ˜ W−˜ XT = 0 ˜ X˜ X ˜ W=˜ XT ˜ W= ( ˜ X˜ X )− ˜ XT Es e mé odo da una solución ins an ánea y po an o es p e e ible su uso al del descenso de g adien e explicado en la sección an e io , sin emba go, no en odos los algo i mos nos a a se posible calcula explíci amen e el mínimo. Pe cep ón simple El siguien e algo i mo a es udia es conocido como pe cep ón, el pun o más impo an e de es e es que de ine el elemen o básico con el que cons ui- emos nues a ed neu onal: la neu ona. Vamos a ob ene un algo i mo que sea capaz de ealiza una clasi icación bina ia. Además, amos a u iliza una codi icación dis in a a la de la sección an e io pa a las e ique as, en es e caso n∈ {1,−1}. De inido de es a o ma, nos gus a ía que nues a unción y(x)de ol ie a 1 en caso de que el da o x pe enezca a la clase C1y−1en caso de que co esponda a C2de es a o ma de inimos (Bishop, 2006): y(x) = (w x+b) = ( ˜w ˜x) = 1si w x+b≥0 −1si w x+b < 0 5.1. Ap endizaje au omá ico 67 eniendo w∈RD,b∈Ry, con la misma ab e ia u a que hemos in oducido an es ˜x, ˜w∈RD+1, siendo Dla dimensión de los da os de en ada. A la llama emos unción de ac i ación, su unción es lle a los alo es al dominio que nos in e esa, en es e caso ±1. Pa a es e algo i mo la hemos de inido como una unción de sal o, cuando eamos edes neu onales, nece- si a emos alguna unción más po en e que es a pa a ob ene un esul ado ace ado. Nos in e esa ob ene un ˜wque consiga ˜w ˜xn>0si el da o xnpe enece a la p ime a clase y ˜w ˜xn<0en caso de que lo haga a la segunda. Podemos esumi es o en ˜w ˜xn n>0. Tenemos ya una o ma de de ini nues a unción de cos e pa a cie o da o: E( ˜w) = 0Si el da o es á bien clasi icado −˜w ˜xn nEn caso con a io la unción de cos e o al se á la suma de la unción de cos e asociada a cada da o de en enamien o: E( ˜w) = N X i=1 Ei( ˜w) Pa a en ena lo u iliza emos una e sión modi icada del en enamien o ex- pues o pa a mínimos cuad ados: el descenso de g adien e es ocás ico. Es e di ie e de la e sión o iginal en que en luga de u iliza la unción de cos e o- al ac ualiza emos median e la unción pa icula de cada da o. Es conocido como es ocás ico ya que en su implemen ación an es de comenza a epasa los da os uno a uno y ealiza el descenso, se suelen eo dena los da os de en- ada de o ma alea o ia. Dicho es o, bas a aho a con encon a el g adien e de la unción de cos e que iene de inido i ialmen e po ∇En( ˜w) = −xn n la egla de ac ualización queda en onces: ˜w( +1) =˜w( )Si el da o es á bien clasi icado ˜w( )+xn nEn caso con a io Aunque es e algo i mo es á pensado pa a clasi icación bina ia, es ácil- men e gene alizable al caso mul iclase, bas a con u iliza an os pe cep ones como clases exis an y en ena cada uno pa a di e encia cie a clase Ckde el es o. En el caso ideal se ob end ía en odos -1 excep o en 1, aunque suele ocu i que más de uno de esul ado posi i o, en es e caso ha ía al a compa a pa a cuál de ellos el esul ado de ˜w ˜xnes mayo . Redes neu onales Una ed neu onal, ambién conocida como pe cep ón mul icapa, gene- aliza el concep o p esen ado po el pe cep ón. La idea es u iliza muchas 68 Capí ulo 5. Mejo ando MCTS con edes neu onales neu onas que compa an la in o mación en e ellas y sean capaz de ealiza las a eas de clasi icación y eg esión con mayo e icacia. Dicho es o, de inimos una ed neu onal como una e na (N, V, w)siendo Nun conjun o de neu onas y Vun conjun o {(i, j)|i, j ∈N}cuyos elemen os son llamados conexiones en e la neu ona iy la neu ona j. La unción w: V→Rde ine los pesos, donde w((i, j)), ep esen a el peso de la conexión en e la neu ona iy la jque ab e ia emos como wi,j (K iesel, 2005). Aho a, que emos da un poco más de es uc u a a es a de inición, po ello amos a inclui el concep o de capa. Rede inimos en onces la de inición como una e na (N, V, w)solo que aho a N={C1, C2...Cn}es un conjun o de capas, cada uno de es os es en onces un conjun o de neu onas. Vamos a modi ica ambién la de inición de Vpa a que únicamen e se pe mi an conexiones en e una capa y la siguien e, de es a o ma V={(i, j, k)|i, j, k ∈ N} ep esen a la conexión en e las neu onas ide la capa Ck−1yjde Ck. Po ende, el peso de es a conexión end á dado po w(i, j, k)que ab e ia emos como wk i,j, ambién u iliza emos la no ación Wkpa a e e encia la ma iz cuyos elemen os son Wk i,j =wk i,j. Ob enemos así el concep o de ed neu onal mul icapa. Nues a ed de ine una composición de aplicaciones pues el esul ado ob enido po la unción yse á la consecuencia de a a esa odas las capas de la ed. Llama emos zk:RKk−1→RKka la unción cuyos da os de en ada son los esul ados ob enidos en la capa an e io y gene a los nue os da os. La dimensión del espacio de en ada es RKk−1se á igual al núme o de neu onas de la capa Ck−1, lo mismo ocu e con la capa siguien e. A su ez, las unciones zkson una composición de dos unciones: zk=hk◦ak aquí, akes una unción a ín simila a las que hemos is o en los algo i mos an e io es: ak(x) = Wkx+bk Po su pa e, la unción hkha á el papel de la unción en el algo i mo del pe cep ón, pe o amos a busca que es a sea una unción con inua. Una elección común suele se la unción sigmoide σ: σ(a) = 1 1 + e−a que iene alo 0,5si a= 0, iende ápidamen e a 1cuando a→ ∞, y a 0 cuando a→ −∞. Aunque o as opciones pueden se la angen e hipe bólica o la unción so max: so max(a) =      exp(a1) K P k=1 exp(ai) , ..., exp(aK) K P k=1 exp(ai)      5.1. Ap endizaje au omá ico 69 Resumiendo: y(x) = zk◦... ◦z1(x)(5.3) =hk◦ak◦... ◦h1◦a1(x)(5.4) Ya enemos pe ec amen e delimi ada nues a he amien a, aho a queda en nues as manos de ini el núme o de capas, las neu onas que hab á en cada capa, y la unción de cos e pa a asegu a nos de que e ec i amen e nos ace camos a nues o obje i o. Po con enio se llama capa de en ada a C1 yCKse denomina capa de salida, las in e medias se conocen como ocul as. Ve emos en un momen o que las edes con una capa ocul a nos se i án pa a ap oxima cualquie unción, aunque dependiendo del dominio el aumen o del núme o de capas puede lle a a un mejo compo amien o de la ed. El núme o de neu onas en las capas de en ada y salida se á igual a la dimensión de los espacios en los que se encuen an los da os de en ada y de salida, aunque es e úl imo depende á del ipo de p oblema que aba quemos. El núme o de neu onas en las capas ocul as se á decisión nues a, pueden da esul ados dis in os dependiendo de es e núme o po lo que en la mayo ía de las eces la de e minación iene dada po la ía expe imen al. El único elemen o que nos al a aho a es la unción de cos e. P esen a- mos es posibilidades, en caso de que u ilicemos la ed neu onal pa a da espues a a un p oblema de eg esión busca emos minimiza la dispa idad con los da os de en enamien o po lo que usa emos (Bishop, 2006): E(w) = 1 2X n||y(xn)− n||2 Pa a la clasi icación bina ia se suele u iliza : E(w) = −X n nln yn+ (1 − n) ln(1 −yn) po úl imo, pa a la clasi icación mul iclase se u iliza: E(w) = −X nX k nk log ynk En enando las edes neu onales En ena emos la edes neu onales median e un descenso de g adien e, dada la g an can idad de da os que es as suelen maneja , es e suele se es- ocás ico. Nos encon amos aho a en el p oblema de encon a el g adien e en una unción de inida como en 5.4 lo que esul a no solo complicado eó i- camen e sino que ambién muy cos oso a ni el compu acional, sin emba go, Chap e 6 Conclusions and Fu u e Wo k Gene al conclusions Gi en he impossibili y o pe o ming a ull explo a ion o he game ee, we ha e p esen ed 2 p ac ical me hods o sol e his issue: he one encom- passed by Minimax using domain knowledge, and he one p oposed by MCTS h ough simula ions. In bo h cases we a e ying o calcula e a heu is ic o each node which e eals how good he node is. We ha e seen ha a mixed app oach ha adds up expe knowledge o he one ob ained by simula ions also b ings good esul s e en su passing algo i hms as Alpha-be a imp o ed wi h a heu is ic. I has been shown in his wo k ha he Mon e Ca lo T ee Sea ch al- go i hm wo ks in a e y sol en way, in en i onmen s whe e i has been p o en. I laun ed good esul s agains simple algo i hm as well as wi h ex- pe au oma ic playe s wi h a wide knowledge o he domain in which hey a e wo king. The aheu is ici y o MCTS allows us o adap i easily o e e y game, ge ing a highly esolu i e playe in a sho ime and wi hou he need o inqui e in he game. The issues ha appea when applying i ha e also been shown. In pa ic- ula , we app ecia e an impo an complexi y when using i o games which con ain cycles, o ha do no ha e a de ined leng h. We also exposed a p ac ical solu ion o his con lic by sac i icing he aheu is ici y. In addi ion, we ha e seen ha he majo was e o compu a ional esou ces is p oduced in he simula ion phase, and ha is in i in whe e we mus make a s onge e o in op imiza ion. We ha e seen ha he mo e simula ions we pe o m, he highe he eliabili y o he heu is ic calcula ed o each node. 77 78 Chap e 6. Conclusions and Fu u e Wo k Objec i es e iew Now we will e iew, one a he ime, each objec i e in he same o de ha hey we e de ined in he in oduc ion: 1. Once ead his documen , he eade , wi hou p e ious knowledge o he ma e , now unde s ands concep s o game heo y, da a s uc u es, and se e al solu ions gi en by di e se esea che s o he p oblem o explo ing a game ee. Besides, he games ha ha e been used in his esea ch ha e also been p esen ed. I he eade ook he ime o e iew he appendixes, hey will ha e ga he ed by now concep s o algeb a and p obabili y. 2. The eade cu en ly knows he di e en pa s o he Mon e Ca lo T ee Sea ch algo i hm, he way i wo ks, a ia ions and op imiza ions. This way hey unde s and hese same concep s o PMCTS, and also hei di e ences. Mo eo e , he eade has ecei ed he o mal p oo o why he heu is ic alue es ima ion wo ks. 3. We ha e de eloped an MCTS based O hello playe as well as one PM- CTS e sion. We aced i wi h Random,Dep h Fi s Sea ch and some Alpha-be a e sions. Du ing he p ocess we ha e adap ed o each si - ua ion o be able o ge a good esul . 4. Following he same pa h, we ha e implemen ed an au oma ic playe base in each Mon e Ca lo e sion o play chess. These ha e shown no o be as e icien as he ones exposed in he O hello sec ion. Ne - e heless, gi en he low esou ces hey we e coun ing wi h, hey go o o e some good esul s agains Random no mally domina ing he game al hough hey almos ne e a i ed o a check ma e si ua ion. 5. Th ee powe ul ools ha e been in oduce o s udy he machine lea n- ing ield: leas squa es, he pe cep on and neu al ne wo ks. Need ul elemen s in he de elopmen o he cu en mos powe ul playe : Al- phaGo. We also explained AlphaGo’s unc ioning and he oll ha MCTS plays. Fu u e wo k In u u e lines o wo k, he simula ion’s execu ion ime should be im- p o ed. Nowadays, he mos common idea o gene alize ela i ely easy cal- cula ions is o make hem wo k in pa allel in sys ems wi h his capaci y. The use o g aphic accele a o s could b ing MCTS o a new le el, ob aining mo e 6.3. Fu u e wo k 79 p ecise eedback in a lowe ime. The implemen a ion in sys ems like CUDA could be a solu ion o his issue. On he o he hand, we hink ha in chess game, he s a e space is so big ha only wi h inc easing he simula ions p obably would no be enough. I would be necessa y o enhance he powe o he sys em so he simula ions a e un un il he end o he game and also i would be in e es ing o implemen a machine lea ning sys em ha helps making i mo e accu a e as he ime passes. Apéndice A Concep os de p obabilidad Se mues an aquí la de inición de di e sos concep os que han sido u ili- zados a lo la go del documen o. Espacio medible. Un espacio medible o p obabilizable es el pa (Ω,A) dónde Ωes un espacio mues al y Aes un σ-algeb a de conjun os de Ω. (Gonzalez, 2016) σ-álgeb a. Dado un espacio mues al Ω, se dice que una amilia de subconjun os A⊂P(Ω) iene es uc u a de σ-álgeb a si y solo si se e i ican: 1. Ω∈ A 2. ∀A∈ A, Ac∈ A 3. ∀{An:n≥1}⊂A, ∞ S n=1 An∈ A Medida de p obabilidad. Una unción de conjun o P:A → [0,1] es llamada medida de p obabilidad si y solo si sa is ace: 1. P(A)≥0,∀A∈ A 2. P(Ω) = 1 3. ∀{An:n≥1}⊂A al que Ai∩Aj=∅,∀i6=j P ∞ [ n=1 An!= ∞ X n=1 P(An) (Kolmogo o , 1956) Aplicación medible. Sean (Ω1,A1)y(Ω2,A2)espacios medibles. Se dice que : Ω1→Ω2es una aplicación medible si y solo si −1(B)∈ A1∀B∈ A2. (Co al, 2012) 81 82 Apéndice A. Concep os de p obabilidad Función medible. Se llama unción medible a oda aplicación medible donde el espacio de des ino es (Rn, βn)pa a algún n. (Co al, 2012) Va iable alea o ia. Una a iable alea o ia es una unción medible : (Ω,A, P)→(R, β); es deci , donde el espacio inicial es un espacio de p obabilidad. (Co al, 2012) Función de dis ibución. La unción F(x)(a) = P(x)(−∞, a) = Px < a donde −∞ y+∞son alo es pe mi idos de a, se llama unción de dis ibución de la a iable alea o ia x.(Kolmogo o , 1956) Mues a alea o ia simple. Dada una población Xse llama mues a alea o ia simple de amaño na la epe ición de X1, ..., Xn a iables alea o ias independien es con dis ibución igual a la de X. Es deci , la unción de dis ibución de la mues a (x1, ..., xn)es F(x1, ..., xn) = n Y i=1 F(xi) donde F(x)es la unción de dis ibución de la población X(Ángel Vi- llegas, 2005) Función de dis ibución empí ica. Dada una ealización pa icula de una mues a (x1, ..., xn), llamamos unción de dis ibución empí ica a F∗ n(x) = 0si x < x(1) k nsi x(k)≤x<x(k+1)1si x ≥x(n) donde (x(1), ..., x(n))es la mues a o denada de meno a mayo .(Ángel Villegas, 2005) Co elación Magni ud que mide el g ado de elación exis en e en e dos a iables alea o ias. Es medido po el coe icien e de co elación. Coe icien e de co elación El coe icien e de co elación de dos a iables alea o ias XeYes la media a i mé ica de los p oduc os de las des iaciones de los alo es co espondien es de sus espec i as medias. (Kenney, 1939) = 1 NP(x−¯x)(y−¯y) σxσy Apéndice B Concep os de álgeb a y análisis P esen amos a con inuación de iniciones y p oposiciones que se han u i- lizado en el ex o. Espacio ec o ial. Sea Kun cue po y Vun conjun o no acío; di e- mos que Ves un espacio ec o ial sob e Ksi: 1. En Vhay de inida una ope ación in e na, que deno a emos po +, de o ma que (V, +) es un g upo abeliano, es deci , e i ica es as p opiedades: a)(u+ ) + w=u+ ( +w); ∀u, , w ∈V b)u+ = +u;∀u, ∈V c)∃0∈V al que 0 + = + 0 = ;∀ ∈V d)∀ ∈V∃− al que + (− )=(− ) + = 0 2. En Vhay de inida una ope ación ex e na de K, que deno a emos po yux aposición, e i icando: a)a(u+ ) = au +a ;∀a∈K,∀u, ∈V b)(a+b)u=au +bu;∀a, b ∈K∀u∈V c)a(bu)=(ab)u;∀a, b ∈K∀u∈V d)1u=u;∀u∈Udonde 1es la unidad pa a el p oduc o en K los elemen os del espacio ec o ial suelen llama se ec o es, mien as que a los del cue po Klos llama emos escala es. (Me ino y San os, 2006) Independencia lineal. Di emos que un conjun o de ec o es { 1, 2, ..., n} son linealmen e independien es si de cada combinación lineal a1 1+ ...+an n= 0 de deduce que a1=... =an= 0.(Me ino y San os, 2006) Sis ema de gene ado es. Un conjun o de ec o es Sse dice que es un sis ema de gene ado es del espacio ec o ial Vsi odo ec o de V es combinación lineal de los ec o es de S.(Me ino y San os, 2006) 83 84 Apéndice B. Concep os de álgeb a y análisis Base de un espacio. Dado un espacio ec o ial V, un subconjun o B⊆Ves una base de Vsi 1. B es linealmen e independien e. 2. B es sis ema de gene ado es de V Dimensión de un espacio ec o ial. Llamamos así al núme o de ec o es en cualquie a de las bases.(Me ino y San os, 2006) Subespacio ec o ial. Sea Vun espacio ec o ial sob e Ky sea Uun subconjun o no acío de V. Decimos que Ues un subespacio ec o ial de Vsi se e i ican las siguien es condiciones: 1. ∀u, ∈Uu + ∈U 2. ∀u∈U∀a∈K, au ∈U Espacio a ín. Dado un conjun o no acío Ay un espacio ec o ial Vdi emos que Aes un espacio a ín sob e Vsi se iene de inida la aplicación A×A → V que a cada pa de elemen os de A,(A, B), le hace co esponde un único ec o es ~ AB, y que e i ica las dos siguien es p opiedades: 1. Pa a cada A∈ A y cada ∈Vexis e un único elemen o B∈ A al que ~ AB = . 2. Pa a cada e na A, B, C ∈ A ocu e ~ AB +~ BC =~ AC di emos que Ves el espacio ec o ial asociado y de inimos la dimen- sión del espacio a ín como la dimensión del espacio ec o ial asociado. (Me ino y San os, 2006) Hipe plano. Llama emos a iedad a ín a la gene alización de espacio ec o ial a espacio a ín, y llama emos hipe plano a una a iedad a ín de dimensión n−1en un espacio de dimensión n.(Me ino y San os, 2006) T aza de una ma iz. Suma de los elemen os de la diagonal de una ma iz. Dada una ma iz Adeno a emos su aza como (A)la aza cumple las siguien es p opiedades: 1. (A) + (B) = (A+B) 2. a (A) = (aA)pa a odo aescala 3. (A) = (A ) 4. (AB) = (BA) 85 No ma de un ec o . Dado un ec o ude inimos su no ma como: ||u|| =√< u, u > (Me ino y San os, 2006) De i ada. Sea I⊆Run in e alo, :I→Runa unción y c∈I. Decimos que un núme o eal Les la de i ada de Fen csi dado cualquie ε > 0exis e δ(ε)>0 al que si c∈Isa is ace 0<|x−c|< δ(ε) en onces  (x)− (c) x−c−L < ε En es e caso di emos que es di e enciable en c y esc ibimos 0(c). Podemos calcula es o en onces como: 0(c) = l´ım h→0 (c+h)− (c) h . (Ba le y Shebe , 1927) De i ada di eccional. En Rngene alizamos el concep o de de i ada y lo llamamos de i ada di eccional: D = l´ım h→0 (x+h )− (x) h (Bombal e al., 1988) G adien e. Llama emos g adien e de y lo deno a emos po ∇ al ec o : (De1 , ..., Den ) Siendo e1, ..., enlos ec o es de la base canónica.(Bombal e al., 1988)