Wie lernt FUSC# mit TD( )? Marco Block... X1X1 X2X2 XNXN x1x1 x2x2 pd[i] =w1f1(x) + w2f2(x) + w3f3(x) +... + wnfn(x)... w1f1(x) + w2f2(x) + w3f3(x) +...

Slides:



Advertisements
Ähnliche Präsentationen
Internet und Computer Based Training –
Advertisements

Agent Based Supply Chain Management1 ABSCM-Vorlesung im WS 2001/2002.
Perceptrons and the perceptron learning rule
Anwendungsbeispiele Vertrieb durch:
<<Presentation Title>>
Strukturlösung mit Hilfe der Patterson-Funktion
Kapitel 6: Klassifizierung von Sortiertechniken
Übung 6.6Schranken 1.Angenommen, Ihr Algorithmus habe einen Aufwand von g(n) = 5n 3 + n für alle n a)Geben sie eine obere Schranke O(g(n)) an. b)Beweisen.
Reinforcement Learning in der Schachprogrammierung
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Klicke Dich mit der linken Maustaste durch das Übungsprogramm! Ein Übungsprogramm der IGS - Hamm/Sieg © IGS-Hamm/Sieg 2007 Dietmar Schumacher Die Wertetabelle.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm! Ein Übungsprogramm der IGS - Hamm/Sieg © IGS-Hamm/Sieg 2007 Dietmar Schumacher Zeichnerische.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm! Ein Übungsprogramm der IGS - Hamm/Sieg © IGS-Hamm/Sieg 2007 Dietmar Schumacher Zeichnerische.
Klicke Dich mit der linken Maustaste durch das Übungsprogramm!
Lernende Agenten Seminar Softwareagenten Wintersemester 2001/2002 Norman Neuhaus.
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
Dynamische Programmierung (2) Matrixkettenprodukt
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
Entscheidungsunterstützungssysteme IWI Frankfurt 2003
Ergänzung zur Bedeutung von SW-Engineering
Globaler Ansatz Hough-Transformation
Externe Datenstruktur lineare Liste
SIMULATION PROJECT 2004 ROUNDABOUT – MILESTONE 3 1 von 13 Milestone #3 Conceptual Model Team C
Vom Amateur zum Grossmeister
Uebung 01 ANN mit MATLAB.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Quadratische Gleichung
Hauptseminar Automaten und Formale Sprachen
Weitere Beispiele für Verzweigung mit und ohne Turtle
Neuronale Netzwerke am Beispiel eines MLP
Conversational German
Machine Learning KNN und andere (Kap. 8).
Neuronale Netze 2 (Mitchell Kap. 4)
Machine Learning Was wir alles nicht behandelt haben.
Maschinelles Lernen und automatische Textklassifikation
Machine Learning & Spiele: Probleme und Ideen von Samuel bis heute Giuliana Sabbatini
Optimales Güterbündel
Kapitel 25 Monopolverhalten
Zeichnen linearer Funktionen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Mehrkriterielle Optimierung mit Metaheuristiken
Mehrkriterielle Optimierung mit Metaheuristiken
Parallel Matrix Multiplication
Praktikum PLL 2. Ordnung.
Jan Hinzmann – – GIS Praxis II – Slide 1/10 Der Algorithmus von Dijkstra (Berechnung kürzester Wege in bewerteten Graphen) GIS Praxis II, Jan Hinzmann,
1. Grundkörper: Verschmelzung Zylinder mit Pyramide
1.Grundkörper: Verschmelzung Zylinder mit Quader
1.Grundkörper: Steckung Zylinder mit Pyramidenstumpf
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Seite 1 Computeria Wallisellen Peter Furger PC Akademie Steinacherstr. 44 Excel (Auszug) Seite 1.
Ich bau nicht mit Ihr.. Ich bau mit Ihr. Ich bau nicht mit Ihr.
Seite 1 IDA, Technische Universität BraunschweigTechnische Informatik II (INF 1211) Quellen: Zum Teil aus den Unterlagen Digitale Systeme, Prof. Schimmler,
Wilhelm-Busch-Gymnasium Stadthagen
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2012.
Anwendungsbeispiele Vertrieb durch:
Diskrete Mathematik II
1 Computergestützte Verifikation Binary Decision Diagrams (BDD) Inhalt: Die Datenstruktur BDD Operationen auf BDD CTL Model.
Mikrocomputertechnik Port-Quickie Prof. J. Walter Stand Januar Mikrocomputertechnik Jürgen Walter „Port-Quickie“ 8051-Port Eingabe - Ausgabe.
Computeria Wallisellen
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
Focusing Search in Multiobjective Evolutionary Optimization through Preference Learning from User Feedback Thomas FoberWeiwei ChengEyke Hüllermeier AG.
Wenn es dir manchmal. geht und das Leben für Dich eine.
Ihr Name.  Übersicht  Ziele des Brainstormings  Regeln  Durchführung des Brainstormings  Zusammenfassung  Nächste Schritte.
Emanuel Mistretta Lukas Schönbächler
Der Dijkstra-Algorithmus
Schach – ein Kinderspiel für die ganze Familie
 Präsentation transkript:

Wie lernt FUSC# mit TD( )? Marco Block... X1X1 X2X2 XNXN x1x1 x2x2 pd[i] =w1f1(x) + w2f2(x) + w3f3(x) wnfn(x)... w1f1(x) + w2f2(x) + w3f3(x) wnfn(x)

Marco Block Wiederholung 0.Fazit vom Vortrag August Problematik: Evaluierung einer Stellung - Reinforcement Learning +... durch Ausprobieren und Rückmeldung der Umwelt - Backgammon sehr gut für TD() geeignet + kleine Stellungsänderung kleine Bewertungsveränderung + komplexe Evaluationsfunktion möglich - Schach eigentlich nicht für TD() geeignet + kleine Stellungsänderung grosse Bewertungsveränderung + schnelle, lineare Bewertungsfunktion nötig (MinMax) + TD-Leaf() scheint eine Lösung zu sein (Baxter, Tridgell, Weaver -> KnightCap) - Ziel: Evaluationsvektor w lernen November 2003

Marco Block November 2003 Reinforcement Learning goes FUSC# Daten vorbereiten Stellungsfolge+HauptVarianten :... X1X1 X2X2 XNXN für Evaluation nur eigene Stellungen MinMax als Zugwahlalgorithmus, Hauptvariante wird gespeichert Partie: Fusch–Internetgegner P1P1 P2P2 P3P3 P4P4 P 2N (Evaluationsvektor w wird benutzt) beste, forcierte Stellung

E[x] = Stellungsbewertung der Stellung x mit Evaluationsvektor w bestehend aus n Stellungsfaktoren lineare Funktion: w1f1(x) + w2f2(x) + w3f3(x) wnfn(x) Marco Block November 2003 Reinforcement Learning goes FUSC# Arbeitsweise von TD-Leaf() Reward {-400, 0, 400} 4 Bauern im Vorteil als Sieg KnightCap {-1,0,1} Stellungsfolge+HauptVarianten(HV) :... X1X1 X2X2 XNXN E1E1 E2E2 ENEN Evaluationswerte auch gespeichert E[N] := -400 for i:=1 to N-1 do td[i] := E[i+1] - E[i] go in HV[i] compute pd[i] go out HV[i] end i vectorUpdate Lernalgorithmus: w1f1(xi) + w2f2(xi) + w3f3(xi) wnfn(xi)... w1f1(xi) + w2f2(xi) + w3f3(xi) wnfn(xi) pd[i] = Evaluationsvektor w auf diesen Berechnungen basierend erneuern und anschliessend normalisieren (auf Bauernwert 100)

Marco Block Temporale Differenz x 1,..., x N-1, x N eigene Stellungen unserer Partie. x1x1 x2x2 x N-1 xNxN J ~ (x 1, w) J ~ (x 2, w) J ~ (x N-1, w) J ~ (x N, w) := r(x N ) td[1] td[N-1] Reinforcement Learning goes FUSC# ich stehe besser, ergo erwarte ich einen Sieg... November 2003 Modifizierung : positive td[i] - auf 0 setzen, es sei denn KnightCap sagt den richtigen Zug des Gegners voraus negative td[i] - bleiben unverändert (eigene Fehler)

Marco Block VectorUpdate bei TD() Aktualisierung des Evaluationsvectors w : Lernrate Gradientgewichtete Summe der Differenzen im Rest der Partie Reinforcement Learning goes FUSC# November 2003

Marco Block LeafNodes A 4 C 4 F 4 L 4 Tiefe d xtlxtl xtxt MinMax + TD() = TD-Leaf() Reinforcement Learning goes FUSC# November 2003

Marco Block VectorUpdate bei TD-Leaf() Aktualisierung des Evaluationsvectors w : Reinforcement Learning goes FUSC# November 2003

Marco Block Welches wählen? x1x1 xNxN =1: xtxt x1x1 xNxN 0<<1: xtxt Gewichtung der Differenzen im Rest der Partie x1x1 xNxN =0: xtxt heuristisch: =0.7 bis Fehler einen Effekt hervorruft Reinforcement Learning goes FUSC# November 2003 td[t]

Marco Block VectorUpdate t > 0: Stellung x t wurde vermutlich unterbewertet w = w + pos. Vielfaches des Gradienten J ~ (x t, w) > J ~ (x t, w) t < 0: Stellung x t wurde vermutlich überbewertet w = w + neg. Vielfaches des Gradienten J ~ (x t, w) < J ~ (x t, w) kurz: t Reinforcement Learning goes FUSC# Aktualisierung des Evaluationsvectors w : November 2003 was muss ich ändern um wieviel

Marco Block Fazit: TD() -> TD-Leaf() TDLeaf(): TD(): Reinforcement Learning goes FUSC# November 2003

Marco Block vielen Dank fürs zuhören... das wars November 2003

Marco Block Algorithmus Reinforcement Learning goes to FUSC# November 2003 Data: E[1..N], HV[1..N],, E[N] := -400 for i:=1 to N-1 do td[i] := E[i+1] - E[i] modifizierungTD go in HV[i] compute_pd[i] go out HV[i] end i vectorUpdate(w) normalisiere(w) Lernalgorithmus: