Stap 2: Hoe de robot leren als het niet bedriegen?! (Deel 1)
De robot maakt een virtuele database (voor je computer geeks, het gebruikt een 3 dimensionale array om dit te doen!). Denk aan deze database als een rubik's kubus. De robot moet houden van drie dingen: 1) onderweg de speler ingevoerd (rots, papier of schaar); 2) onderweg de robot gemaakt (opnieuw rots, papier of schaar); en 3) het resultaat van deze ronde (deed de robot winnen, verliezen of binden met de speler?). In deze database, zal de robot factor in een kans op succes voor deze stap. Deze waarde wordt opgeslagen in de array, of (met behulp van de Rubik's kubus analogie) in een van de 27 kubussen.
Bijvoorbeeld, als de speler koos ROCK, maar de robot Kies SCHAAR, de robot verloren, zodat het een slagingspercentage van 0% voor het afspelen van schaar wanneer de speler rock in de toekomst kiest zal treden.
Ter bevordering van de robot om te leren, belonen ik de robot met een systeem van virtuele punten! Een analogie is die van een klein kind. Als ik ging naar de jongen en zei: "He, ik geef je $20 als je kunt leren om te vliegen door jezelf!", zal de jongen denken, "Wow! $20! Dat is een goede beloning! Laat me proberen! ". Het kind moet eerst kruipen, dan lopen, dan uitvoeren en dan springen in een poging om te vliegen en de beloning van $20. Echter, de kind leert uiteindelijk dat hij/zij niet kan zonder een vliegtuig vliegen, en kan niet slagen. Echter, langs de weg, de jongen had geleerd hoe de verkenning, lopen, rennen en springen!
Ik heb deze principes toegepast op de robot! In plaats van contanten zal (zou ik serieus woestenij mijn tijd probeert te geven van mijn robot $20?!), ik de robot een virtuele punt (+ 1) als de robot de speler slaat. MAAR, ik zal het wegnemen van 10.000 virtuele punten van de robot (ja ik ben betekenen) als de robot verliest of met de speler banden. Aangezien de robot wil maximaliseren van het aantal punten die het bereikt, zal de waarschijnlijkheid van succes in de database gebruiken om dit doel te bereiken.