Schach-AI

BuddaKaeks

Bekanntes Mitglied
Hallöchen,

ich hatte mir in letzter Zeit mal vorgenommen, eine Schach AI zu schreiben, und zwar eine halbwegs gute, und ich könnte mir vorstellen, dass sich das ganze gut mittels eines DeepNeuralNetworks realisieren lassen täte.
Da gibts ja in letzter Zeit recht viel Neues (z.B. Google hat da ein OpenSource Projekt namens TensorFlow rausgebracht, solls angeblich auch bald ne Java-Portierung von geben ;D ).

Nunja meine Frage wäre, falls sich da jemand auskennt, wie trainiert man die AI am besten?
Also meine Überlegung war, ich verwende einfach irgend eine riesige Datenbank von Profispielen,
und füttere das Netz nacheinander mit einzelnen Stellungen.
Der Computer spuckt mir dann einen Zug aus, und ich vergleiche ob das der selbe Zug ist, den auch der Profispieler gemacht hat...
Klingt das sinnvoll, oder gibt es da sinnvollere Möglichkeite, das Netz zu trainieren?

Liebe Grüße, und gleich mal Danke im Vorraus ;)
 

daybyter

Aktives Mitglied
Du brauchst erstmal einen Zuggenerator. Dann eine Stellungsbewertung. Diese kannst Du als Neuronet realisieren. Der ausgegebene Wert sollte mit den Siegchancen korrelieren.

Hast Du Ahnung von neuronalen Netzen? Ich interessiere mich dafür im Zusammenhang von Aktienhandel u.ä.
 

BuddaKaeks

Bekanntes Mitglied
Ich frag mich halt, obs nicht einfacher ist, das NeuroNetz zu nutzen um einen Zug zu bewerten, und nicht eine Aktuelle Stellung....

Ja ein wenig Ahnung hab ich inzwischen, auch wenn immernoch niemand so genau weiß, warum die Dinger eigentlich tatsächlich funktionieren :D
 

Joose

Top Contributor
Naja der Zug besteht nur daraus das irgendeine Figur von Feld A nach Feld B verschoben wird.
Ob der Zug gut/schlecht war ergibts sich ja dann aus der nächsten/neuen Stellung ;)
 

Elu

Mitglied
hab das geschrieben ... berechnet beim Doppelklick auf eine Figur alle möglichen Felder und führt ihn durch, wenn man auf ein Ziel Feld klickt ...
Man kann einen Server und einen Client starten und die Züge
werden synchronisiert.
Aber leider ohne AI
Wenn du es dir ansehen möchtest ... PM an mich.

schach2.png


schach.png
 

Viktim

Bekanntes Mitglied
Was du auch machen kannst, ist deine Spielfiguren zu Bewerten und dann die KI einfach dafür sorgen lassen, das der Gegner keine von den Figuren der KI schmeißen kann, ohne eine Wertvollere zu verlieren ;)
 

Ähnliche Java Themen


Oben