230 likes | 313 Views
Proof-Planning. Übersicht. Einleitung Proof-Planning Bridge-Taktiken Repräsentation des Gegenspiels Planungsalgorithmus Suchen mit Histories. Einleitung. Aspekte des FINESSE-Systems bezüglich Proof-Planning Verwenden von Taktiken Weitere Features : vereinfachte Repräsentation
E N D
Übersicht • Einleitung • Proof-Planning • Bridge-Taktiken • Repräsentation des Gegenspiels • Planungsalgorithmus • Suchen mit Histories
Einleitung • Aspekte des FINESSE-Systems bezüglich Proof-Planning • Verwenden von Taktiken • Weitere Features : • vereinfachte Repräsentation • History-Mechanismus • => Effizienzsteigerung
Proof-Planning • entwickelt von der Mathematical Reasoning Group in Edinburgh • versuchten Theoreme via Regeln in Teilprobleme zu zerlegen und so auf Axiome zurückzuführen • für jedes Bridge-Spiel erhält man analogen Baum • Regeln entsprechen Bridge-Taktiken • Erreichen der Axiome analog zu ‚alle Karten gespielt‘ bzw. ‚keine Taktik anwendbar‘
Axiom Axiom Axiom Axiom Axiom Axiom and and and and Theorem Regeln/Formeln Teilprobleme
Blatt Blatt Blatt Blatt Blatt Blatt Spielzustand Gespielte Karten des Alleinspielers Gegenspiel
Bridge-Taktiken • Grundoperation ist das Spielen einer einzelnen Karte • Sehr viele Kartenkombinationen in einem Stich möglich • Ziel: Reduzierung des Spielbaums durch Beschränkung auf eine Menge von allgemeinen Bridge-Taktiken • Betrachte Einfarb-Probleme ohne Trumpf aus Sicht des Alleinspielers (Süd)
x D B K D N N N W W W O O O S S S A K A A x x Kassieren • Klein zu einer hohen Karte oder diese selbst ausspielen
Schneiden • Literatur: viele verschiedene Arten des Schneidens • aber: 4 Typen des Schneidens genügen für alle Beispiele • Schnittkarte: eine Karte, mit der man einen Stich machen möchte, obwohl der Gegner noch eine höhere hat • Deckkarte: eine hohe Karte
A D N W O S x Schneiden (1) • Schnittkarte und mind. eine Deckkarte in einer Hand • es wird klein von der anderen Hand ausgespielt
K 4 2 A K 4 2 A K 9 4 N N N W W W O O O S S S B 6 3 A B 10 B 10 2 Schneiden (2) • Schnittkarte wird ausgespielt • Deckkarte in der Hand gegenüber • Schnittkarte kommt mind. aus 2er-Sequenz
K D 2 N W O S 8 5 3 Schneiden (3) • keine Deckkarte erforderlich • es wird klein zur Schnittkarte gespielt
K 5 4 K 9 8 N N W W O O S S A B 9 A B 3 Schneiden (4) • einzelne Schnittkarte wird ausgespielt, um anschließend eine Situation vom Typ 1 oder 2 zu schaffen • wichtig: nicht äquivalent zu zwei Schnitten der Typen 1-3
A D x N W O S x x A D 7 5 4 2 N W O S 6 3 Ducken • beide Hände spielen in einem Stich eine kleine Karte • im ersten Beispiel : Hoffnung auf single König bei Ost (eine von 28 Möglichkeiten)
K D B B 10 7 3 D 8 3 N N N W W W O O O S S S D 9 4 2 9 5 2 K B 5 Top-Sequenzen • es wird in jedem Stich eine Karte der Sequenz gelegt • Sequenz in einer Hand oder auf beide Hände verteilt
D 10 9 N W O S 5 4 2 Repräsentation des Gegenspiels • Beispiel: • n = Anzahl der Karten in Gegnerhand • fehlende Karten (n = 7): A K B 8 7 6 3 • mögliche Spielkombinationen s : n(n-1) + 2n = n(n+1) • hier : s = 56
Sequenzen • Karten einer Sequenz werden als äquivalent angesehen • n1 = Anzahl Sequenzen der Länge 1 • n2 = Anzahl Sequenzen mit größerer Länge • mögliche Spielkombinationen s : • n2(n1+n2) + n1(n1+n2-1) + 2(n1+n2) = (n1+n2+2)(n1+n2) - n1 • hier : s = 22
Kritische Karten • höhere, entscheidende Karten der Gegner, die eventuell einen Stich machen • restliche Karten werden als klein betrachtet • Im vorigen Beispiel • Sequenz der Länge 2 : A K • Sequenz der Länge 1 : B • Sequenz der Länge 4 : 8 7 6 3 • damit : s = 14
Planungsalgorithmus • sucht in jedem Spielzustand nach passenden Taktiken • konstruiert einen Baum von Taktiken • mehrere Taktiken zur Auswahl => Ordnen nach Heuristiken • Im FINESSE-System sind Taktiken repräsentiert durch • finesse (Type, Player, Card, Suit) • cash (Card, Suit) • duck (Suit) • sequence (Card, Suit)
A B 7 N W O S 4 2 • Taktiken anwendbar, wenn Vorbedingungen erfüllt sind • Beispiel : Typ-1-Schneiden • mind. ein Verlierer • A und B in gleicher Hand • kleine Karte gegenüber von A B • nicht bekannt, dass West chicane
Suchen mit Histories • Zustände im Spielbaum, die mehrfach auftreten, brauchen nicht mehrfach untersucht werden • gleiche Zustände befinden sich immer auf derselben Ebene • Einführung einer History-Liste auf jeder Ebene : • Suchergebnis bzw. Plan eines Zustands wird in entsprechender Liste abgelegt • Implementation mittels Hash-Tabellen
Bis zu welcher Ebene sind Histories sinnvoll ? • Branching-Faktor b, Ebene i • kein doppelter Zustand bis zur Ebene i führt zu 1+2+...+(bi-1) = ½(bi-1)bi ~ b2i/2 Vergleichen • Tiefe des Baums d • durchschnittliche Kosten für einem Zustand m (bei FINESSE 15 mal so groß wie ein Vergleich) • Anteil der doppelt vorkommenden Zustände auf i-ten Ebene αi (bei FINESSE ungefähr 1/30)
Einsparung für einen in History-Liste gefundenen Zustand ist m bd-i • Einsparung bis zur i-ten Ebene : αi bi m bd-i = αi m bd • αi m bd > b2i/2 • 2 αi m bd > b2i • ln(2 αi m) + d ln(b) > 2i ln(b) • d ln(b) > 2i ln(b) • d/2 > i • Also : Histories lohnen in der oberen Hälfte des Spielbaums