[PYTHON] Ich habe versucht, Othello AI mit Tensorflow zu erstellen, ohne die Theorie des maschinellen Lernens zu verstehen ~ Battle Edition ~

Serieninhaltsverzeichnis

Fortsetzung von vorherige ... In diesem Bereich habe ich als Außenseiter "die Theorie des maschinellen Lernens" überhaupt nicht studiert. Ich werde Othellos KI machen.

Vorbereitung

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). 対戦1.png

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.

Schlacht

Erster Zug (Gegner) Nr. 19

j1.png

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

j1.png

Hinten (AI) Nr. 34

j2.png

Erster Zug (Gegner) Nr. 42

j1.png

Hinten (AI) Nr. 44

j2.png

Erster Zug (Gegner) Nr. 43

j1.png

Zurück (AI) Nr. 12

j2.png

Erster Zug (Gegner) Nr. 29

j1.png

Hinten (AI) Nr. 37

j2.png

Erster Zug (Gegner) Nr. 21

j1.png

Hinten (AI) Nr. 22

j2.png

Erster Zug (Gegner) Nr. 23

j1.png

Zurück (AI) Nr. 15

j2.png

Erster Zug (Gegner) Nr. 7

j1.png

Hinten (AI) Nr. 41

j2.png

Erster Zug (Gegner) Nr. 3

j1.png

Zurück (AI) Nr. 14

j2.png

Erster Zug (Gegner) Nr. 5

j1.png

Zurück (AI) Nr. 6

j2.png

Erster Zug (Gegner) Nr. 20

j1.png

Zurück (AI) Nr. 4

j2.png

Erster Zug (Gegner) Nr. 45

j1.png

Zurück (AI) Nr. 46

j2.png

Erster Zug (Gegner) Nr. 11

j1.png

Zweite (AI) Nr. 2

j2.png

Erster Zug (Gegner) Nr. 1

j1.png

Zurück (AI) Nr. 13

j2.png

Erster Zug (Gegner) Nr. 17

j1.png

Zurück (AI) Nr. 31

j2.png

Erster Zug (Gegner) Nr. 39

j1.png

Hinten (AI) Nr. 16

j2.png

Erster Zug (Gegner) Nr. 25

j1.png

Zurück (AI) Nr. 24

j2.png

Erster Zug (Gegner) Nr. 32

j1.png

Hinten (AI) Nr. 33

j2.png

Erster Zug (Gegner) Nr. 8

j1.png

Zurück (AI) Nr. 9

j2.png

Erster Zug (Gegner) Nr. 0

j1.png

Zurück (AI) Nr. 10

j2.png

Erster Zug (Gegner) Nr. 40

j1.png

Zurück (AI) Pass

j2.png

Erster Zug (Gegner) Nr. 47

j1.png

Zurück (AI) Nr. 49

j2.png

Erster Zug (Gegner) Nr. 56

j1.png

Zurück (AI) Nr. 53

j2.png

Erster Zug (Gegner) Nr. 48

j1.png

Zurück (AI) Nr. 57

j2.png

Erster Zug (Gegner) Nr. 58

j1.png

Hinten (AI) Nr. 55

j2.png

Erster Zug (Gegner) Nr. 63

j1.png

Hinten (AI) Nr. 52

j2.png

Erster Zug (Gegner) Nr. 62

j1.png

Zurück (AI) Nr. 61

j2.png

Erster Zug (Gegner) Nr. 54

j1.png

Zurück (AI) Nr. 38

j2.png

Erster Zug (Gegner) 59 ..

j1.png

Zurück (AI) Nr. 30

j2.png

Erster Zug (Gegner) Nr. 60

j1.png

Zurück (AI) Nr. 51

j2.png

Erster Zug (Gegner) Nr. 50

j1.png

Ergebnis

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.

f6a691dd-7b92-826a-36ea-fddc08fa9fc4.png

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

Rache

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

Ich habe versucht, Othello AI mit Tensorflow zu erstellen, ohne die Theorie des maschinellen Lernens zu verstehen ~ Battle Edition ~
Ich habe versucht, Othello AI mit Tensorflow zu machen, ohne die Theorie des maschinellen Lernens zu verstehen ~ Einführung ~
Ich habe versucht, Othello AI mit Tensorflow zu erstellen, ohne die Theorie des maschinellen Lernens zu verstehen ~ Implementierung ~
[Maschinelles Lernen] Ich habe versucht, die Theorie von Adaboost zusammenzufassen
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Ich habe versucht, Othello AI zu machen, dass ich 7,2 Millionen Hände durch tiefes Lernen mit Chainer gelernt habe
Ich habe versucht, das Vorhandensein oder Nichtvorhandensein von Schnee durch maschinelles Lernen vorherzusagen.
Ich habe versucht, maschinelles Lernen (Objekterkennung) mit TouchDesigner zu verschieben
Ich habe versucht, das Bild mithilfe von maschinellem Lernen zu komprimieren
Ich habe versucht, die Lernfunktion im neuronalen Netzwerk sorgfältig zu verstehen, ohne die Bibliothek für maschinelles Lernen zu verwenden (erste Hälfte).
Ich habe versucht, mit Python Machine Learning ein Echtzeit-Modell zur Trennung von Tonquellen zu erstellen
Ich habe versucht, mit Open AI Gym eine verbesserte Lernumgebung für Othello zu schaffen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, ListNet of Rank Learning mit Chainer zu implementieren
Ich habe versucht, den WEB-Server der normalen Linux-Programmierung 1st Edition mit C ++ 14 neu zu schreiben
Ich habe versucht, die Genauigkeit von Modellen für maschinelles Lernen mit Kaggle als Thema zu vergleichen.
Ich habe versucht, die Yin- und Yang-Klassifikation hololiver Mitglieder durch maschinelles Lernen zu überprüfen
Ich habe maschinelles Lernen mit liblinear versucht
Ich habe versucht, es sorgfältig zu verstehen, während ich den Algorithmus Adaboost beim maschinellen Lernen implementiert habe (+ ich habe mein Verständnis der Array-Berechnung vertieft)
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe versucht, Deep Learning mit Spark × Keras × Docker skalierbar zu machen
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich habe versucht, mit Go einen exklusiven Kontrollmechanismus zu erstellen
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe versucht, das Gesichtsbild mit sparse_image_warp von TensorFlow Addons zu transformieren
Ich habe versucht, die Vorhersage-API des maschinellen Lernmodells von WordPress aus aufzurufen
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
(Maschinelles Lernen) Ich habe versucht, die Bayes'sche lineare Regression bei der Implementierung sorgfältig zu verstehen
Ich habe versucht, die Negativität von Nono Morikubo zu analysieren. [Vergleiche mit Posipa]
Ich habe versucht, die Standardrolle neuer Mitarbeiter mit Python zu optimieren
Bedeutet Memo, wenn versucht wird, maschinelles Lernen mit 50 Bildern durchzuführen
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ich habe die übliche Geschichte ausprobiert, Deep Learning zu verwenden, um den Nikkei-Durchschnitt vorherzusagen
Ich habe versucht, das Verhalten des neuen Koronavirus mit dem SEIR-Modell vorherzusagen.
Ich überarbeitete "Ich habe versucht, Othello AI zu machen, als Programmieranfänger Python studierten"
Ich habe versucht, die Lernfunktion im neuronalen Netzwerk sorgfältig zu verstehen, ohne die Bibliothek für maschinelles Lernen zu verwenden (zweite Hälfte).
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
Ich habe versucht, die beim maschinellen Lernen verwendeten Bewertungsindizes zu organisieren (Regressionsmodell).
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich habe versucht, die Trapezform des Bildes zu korrigieren
Ein Anfänger des maschinellen Lernens versuchte, mit Python ein Vorhersagemodell für Pferderennen zu erstellen
Ich habe versucht, die Tweets von JAWS DAYS 2017 mit Python + ELK einfach zu visualisieren
Ich habe versucht, Objekte mit YOLO v3 (TensorFlow 2.1) auf der GPU von Windows zu erkennen!
Ich habe versucht, die Veränderung der Schneemenge für 2 Jahre durch maschinelles Lernen vorherzusagen
Ich habe versucht, das Bild zu verarbeiten und zu transformieren und die Daten für maschinelles Lernen zu erweitern
Ich möchte maschinelles Lernen auch ohne Server durchführen - Time Series Edition -
Ich habe die Größenänderung von TensorFlow nicht verstanden und sie daher visuell zusammengefasst.
Ich bin ein Amateur am 14. Tag von Python, aber ich möchte maschinelles Lernen mit Scicit-Learn ausprobieren
Die Geschichte von soracom_exporter (Ich habe versucht, SORACOM Air mit Prometheus zu überwachen)
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, die Texte von Hinatazaka 46 zu vektorisieren!
Ich habe versucht, das Problem der Optimierung der Platzierung virtueller Maschinen (einfache Version) mit blueqat zu lösen