Fortsetzung von vorherige ... In diesem Bereich habe ich als Außenseiter "die Theorie des maschinellen Lernens" überhaupt nicht studiert. Ich werde Othellos KI machen.
Der Gegner wird hier von einem Freund gemacht ・ PHP Reversi
Öffne zuerst die Seite des Gegners und den Spieler weiß (wähle den zweiten Zug).
Starten Sie die vorbereitete KI
python
$ python FightWithAI.py
------------- GAME START ---------------
***Benutzer drehen ○***
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 ○ ● 29 30 31
32 33 34 ● ○ 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
Bitte geben Sie die Nummer ein
[44, 37, 26, 19]
>>>
Ich werde die KI-Anweisungen eingeben.
Erster Zug (Gegner) Nr. 19
Zurück (AI) Nr. 18
python
***KI drehen ●***
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 ● 20 21 22 23
24 25 26 ● ● 29 30 31
32 33 34 ● ○ 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
Bitte geben Sie die Nummer ein
[44, 37, 26, 19]
>>> 18
Erster Zug (Gegner) Nr. 26
Hinten (AI) Nr. 34
Erster Zug (Gegner) Nr. 42
Hinten (AI) Nr. 44
Erster Zug (Gegner) Nr. 43
Zurück (AI) Nr. 12
Erster Zug (Gegner) Nr. 29
Hinten (AI) Nr. 37
Erster Zug (Gegner) Nr. 21
Hinten (AI) Nr. 22
Erster Zug (Gegner) Nr. 23
Zurück (AI) Nr. 15
Erster Zug (Gegner) Nr. 7
Hinten (AI) Nr. 41
Erster Zug (Gegner) Nr. 3
Zurück (AI) Nr. 14
Erster Zug (Gegner) Nr. 5
Zurück (AI) Nr. 6
Erster Zug (Gegner) Nr. 20
Zurück (AI) Nr. 4
Erster Zug (Gegner) Nr. 45
Zurück (AI) Nr. 46
Erster Zug (Gegner) Nr. 11
Zweite (AI) Nr. 2
Erster Zug (Gegner) Nr. 1
Zurück (AI) Nr. 13
Erster Zug (Gegner) Nr. 17
Zurück (AI) Nr. 31
Erster Zug (Gegner) Nr. 39
Hinten (AI) Nr. 16
Erster Zug (Gegner) Nr. 25
Zurück (AI) Nr. 24
Erster Zug (Gegner) Nr. 32
Hinten (AI) Nr. 33
Erster Zug (Gegner) Nr. 8
Zurück (AI) Nr. 9
Erster Zug (Gegner) Nr. 0
Zurück (AI) Nr. 10
Erster Zug (Gegner) Nr. 40
Zurück (AI) Pass
Erster Zug (Gegner) Nr. 47
Zurück (AI) Nr. 49
Erster Zug (Gegner) Nr. 56
Zurück (AI) Nr. 53
Erster Zug (Gegner) Nr. 48
Zurück (AI) Nr. 57
Erster Zug (Gegner) Nr. 58
Hinten (AI) Nr. 55
Erster Zug (Gegner) Nr. 63
Hinten (AI) Nr. 52
Erster Zug (Gegner) Nr. 62
Zurück (AI) Nr. 61
Erster Zug (Gegner) Nr. 54
Zurück (AI) Nr. 38
Erster Zug (Gegner) 59 ..
Zurück (AI) Nr. 30
Erster Zug (Gegner) Nr. 60
Zurück (AI) Nr. 51
Erster Zug (Gegner) Nr. 50
Eh, es ist eine völlige Niederlage Oder besser gesagt, ich habe einen Monat damit verbracht, die schwächste KI zu entwickeln, mit der ich alle vier Ecken nehmen kann.
Sogar am Ende des Trainings war Q_MAX 0,023, was zu klein war, also fand ich es seltsam. Normalerweise sollte das Protokoll am Ende des Trainings so aussehen und Q_MAX sollte nahe bei 1 liegen.
python
player:1 | pos:32 | LOSS: 0.0014 | Q_MAX: 0.9423
player:2 | pos:15 | LOSS: 0.0020 | Q_MAX: 0.9335
…
Entertainment AI ist fertig
Nächstes Mal Rache durch Wechsel vom Tensorflow zum Chainer.
Anscheinend Optimierer. RMSpropGraves, die nicht mit Tensorflow verwendet werden können, funktionieren Ich habe bisher gut gelernt. (Zum Zeitpunkt des Schreibens ist es noch nicht stark)
Wenn Sie damit vertraut sind, lassen Sie es uns bitte wissen. m(_ _)m
Recommended Posts