Paso 2: ¿Cómo el robot aprende si no engañar?! (Parte 1)
El robot crea una base de datos virtual (para lo frikis de la informática, utiliza una matriz de dimensión 3 para hacerlo!). Pensar en esta base de datos como un cubo de Rubik. El robot tiene que tener tres cosas: 1) la jugada el jugador entrado (piedra, papel o tijeras); 2) el movimiento del robot hecho otra vez de la roca, papel o tijeras; y 3) el resultado de esta ronda (¿el robot ganar, perder, o amarrar con el reproductor?). En esta base de datos, el robot será factor en una probabilidad de éxito de este movimiento. Este valor se almacena en el array, o (usando la analogía de cubo de Rubik) en uno de los 27 cubos.
Por ejemplo, si el jugador eligió a roca, pero el robot elegir tijeras, el robot perdido, así que entrará a una tasa de éxito de 0% para jugar tijeras cuando el jugador elige la roca en el futuro.
Para alentar el robot a aprender, premio el robot utilizando un sistema de puntos virtuales! Una analogía es la de un niño pequeño. Si se acercó al niño y dijo, "Oye, te voy a dar $20 si usted puede aprender a volar por ti mismo!", el niño va a pensar, "¡ Wow! $20! Es una buena recompensa! Déjame probar! ". El niño primero gatear, luego caminar, luego correr y luego salta en un intento de volar y obtener la recompensa de $20. Sin embargo, el niño eventualmente aprenderá que no puede volar sin avión y que no puede tener éxito. Sin embargo, en el camino, el niño había aprendido cómo gatear, caminar, correr y saltar!
Apliqué estos principios al robot! En lugar de efectivo (¿en serio pierdo mi tiempo tratando de dar mi robot $20?!), voy a dar el robot un punto virtual (+ 1) si el robot golpea el jugador. PERO se llevará 10.000 puntos virtuales de robot (sí soy medio) si el robot pierde o lazos con el jugador. Puesto que el robot desea maximizar el número de puntos gana, utilizará las probabilidades de éxito en su base de datos para lograr este objetivo.