KI - Wissenrepräsentation
-
Hallo.
Ich beschäftige mich gerade mit künstlicher Intelligenz ( KI). Ich habe gerade (fast) ein TicTacTow Spiel geschreiben. Dabei benutze ich die Breitensuche um alle möglichen Zustände des Spiel zu berehnen. Der Computer zieht dann entweder auf Sieg oder verhindert einen Sieg des Gegners, ansonsten spielt er unentschieden. Ich deneke aber das ist nicht wirklich intelligent. Denn er "weiß " ja schon alles. Wie schafft man es einen "lernenden" Agenten zu programmieren. Also der Computer zieht erstmal zufällig . Er muss isch aber irgendwie seinen Züge und auch die des Gegners merken. In späteren Spielen soll er dann dieses "Wissen" nutzen um evtl. eine Niederlage oder einen Sieg zu erreichen.
Ist das dann mehr intelligent ?
-
Nicht wirklich. Die Breitensuche kann in begrenztem Umfang auch von fortgeschrittenen Spielern durchgeführt werden.
Du kannst deinen Algorithmus auch lernfähig machen. Wenn zum Beispiel ein Zug öfter zum Sieg führt als ein anderer, wird dieser in Zukunft bevorzugt gezogen. Züge, die zu einer Niederlage führten, werden gemieden (gerade beim ersten Zug gibts ja bereits Gewinnstatistiken). Je nach Schwierigkeit kannst du absichtlich auch mal einen nicht ganz so guten Zug machen lassen.Sich auf den Gegner einstimmen wird wohl schwerer. Gewinnt er bevorzugt mit einer bestimmten Stellung, kann diese vorzeitig verhindert werden. Sobald aber ein anderer spielt, kann das ziemlich ins leere laufen.
Aber bei TicTacToe sind deine Möglichkeiten begrenzt. Wenn Spieler und KI gut sind, kommts immer zu einem unentschieden. 4gewinnt ist da interessanter und die Ergebnisse wären deutlicher
-
Das erinnert mich irgendwie an http://www.c-plusplus.net/forum/viewtopic-var-t-is-265704-and-highlight-is-tic+tac+toe.html
-
Danke für deine Antwort. Ja ich wollte mit TIcTactoe beginnen, da es relativ übersichtlich ist.
ist es denn nicht so das der Computer erst am Ende des Spiels merkt ob sein erster Zug okay war. Es es nicht sinnvoll nach jedem Zug eine Berwertung zu machen. Es gibt ja auch bestimmt Muster beim TicTacToe. Ist es sinnvoll solche Muster dem Computer beiszubringen ,damit er verscuht sie zu verhindern bzw. zu erlangen.
-
wenn du menschliches denken nachbasteln willst (und das ist nicht unbedingt optimal), musst du
10 den aktuellen status bewerten 20 der bewertung nach die x entscheidenen zuege raussuchen 30 einen davon versuchen 40 falls du dir die konstelation merken kannst, goto 10 50 andernfalls vom ausgangsspiel neustarten, goto 30
wenn dir die zeit ausgeht, nimmst du
-wenn du ein sicherer spieler bist, den zug der ...
-wenn du ein unsicherer spieler bist, zufaellig einen der x zuege die...
... deiner bewertung nach das beste resultat lieferte(n)so hatte ich das mal irgendwo gelesen (ging um die art und weise wie biologische wesen denken) und die wiedergabe hier ist rein aus dem gedaechtnis.
Wie man sieht ist das verfahren ein biased path tracing und keine breitensuche.
-
Also ich nehme mal an du suchst erste Info zum Thema:
http://de.wikipedia.org/wiki/Bestärkendes_Lernen
http://scholar.google.de/scholar?q=Reinforcement+learning+amazon&hl=de&as_sdt=0&as_vis=1&oi=scholartAutomated Planning | ISBN: 1558608567 Constraint Processing | ISBN: 1558608907 Combinatorial Optimization | ISBN: 3540256849 Reinforcement Learning | ISBN: 0262193981 Knowledge Representation and Reasoning | ISBN: 1558609326
-
*g* also wenn schon ein Buch zu dem Thema, dann doch bitte den Klassiker, den's noch dazu gratis im Netz gibt: http://webdocs.cs.ualberta.ca/~sutton/book/ebook/the-book.html