Betrachten Sie einen Minimax- Baum für ein kontroverses Suchproblem. Zum Beispiel in diesem Bild (Alpha-Beta-Schnitt):
3 B . max = 3 12 8 B . m a x = 3
Aber warum ist ? Was nützt dieser Wert?
Betrachten Sie einen Minimax- Baum für ein kontroverses Suchproblem. Zum Beispiel in diesem Bild (Alpha-Beta-Schnitt):
3 B . max = 3 12 8 B . m a x = 3
Aber warum ist ? Was nützt dieser Wert?
Antworten:
Diese Zahl (die tatsächlich korrekt ist) wird zur Erklärung des Alpha-Beta-Bereinigungsalgorithmus für einen Minimax-Baum verwendet. Alpha-Beta-Bereinigung ist eine Methode, mit der Teile des Minimax-Baums in einem kontroversen Suchproblem beschnitten werden. Im Kontext eines Tic-Tac-Toe-Spiels sollen Minimax-Bäume es dem Computer ermöglichen, den Raum aller möglichen Spielbretter (Konfigurationen von x und o) zu durchsuchen, vorausgesetzt, die Bewegungen des Spielers sind optimal. Auf diese Weise kann der Computer einen Zug entwickeln, der das beste Ergebnis liefert (aus diesem Grund ist das Connect-Four-Spiel auf Ihrem Computer so unglaublich schwer zu schlagen!). Für eine vollständigere Beschreibung empfehle ich dringend "AI a Modern Approach" von Stuart und Norvig (S. 162-170 in der 2. Ausgabe).
Jetzt, da wir einige Verwirrung über den Algorithmus beseitigt haben. Beim Alpha-Beta-Bereinigen wird vermieden, dass Teilbäume basierend auf der Funktionsweise des Minimax-Algorithmus erweitert werden. Wir wissen, dass der maximale Knoten auf der obersten Ebene den größten Wert aller seiner untergeordneten Knoten annimmt. Knoten findet also den Wert , und bis jetzt ist dies der Maximalwert, den er bereit ist, an seinen übergeordneten Wert weiterzugeben, damit er diesen Wert in den MAX-Steckplatz legt. Dann findet es . Denken Sie daran, dass ein MIN-Knoten ist. Daher möchte es den Wert minimieren, den es an seinen übergeordneten Knoten weitergibt, und behält daher den Wert im MAX-Steckplatz bei. Wieder für . Wenn alle seine Kinder durchsucht hat, kennt es die maximale Untergrenze (3 12 B 3 8 B α β α βB 3 12 B 3 8 B α ) Lösung und die minimale Obergrenze ( ) Lösung ihres Teilbaums und behält diese Werte in MIN ( ) und MAX ( ) bei (als [3, 3]).β α β
Hinweis: Min und Max in der Abbildung sind NICHT die Minimal- und Maximalwerte des Teilbaums! Sie sind (ziemlich verwirrend bezeichnet) die Alpha-Beta-Grenzen der Lösungen des Teilbaums (denken Sie daran, dass dies ein kontroverses Suchproblem ist).
Als nächstes werden wir mit dem Knoten bewegen . Hier stoßen wir auf eine in der ersten Position. Knoten , der den niedrigsten Wert aus seinem Teilbaum auswählen möchte, weiß jetzt, dass sein übergeordneter Wert seinen Wert nicht auswählt, da Knoten einen größeren Wert gefunden hat. Daher können wir den Rest des Teilbaums beschneiden und mit fortfahren .2 C B D.C 2 C B D
Um schließlich die spezifische Frage zu beantworten: Warum ist .min = 3? An jedem Knoten wird ein Wert für (die maximale Untergrenze der Lösungen an diesem Knoten) und (die minimale Obergrenze der Lösungen an diesem Knoten) beibehalten, um das Bereinigen durchzuführen. Diese Werte begrenzten die möglichen Fälle, in denen der Wert eines Knotens (oder seines Teilbaums) Teil der Lösung sein kann.α βB α β
In diesem Beispiel scheint es keine Rolle zu spielen. Versuchen Sie jedoch, sich kompliziertere Beispiele (dh Bäume mit einer Höhe> 3) wie dieses anzusehen und zu prüfen, ob Sie einen Sinn daraus ziehen können.
Ich kann Minimax oder Alpha-Beta-Beschneiden hier nicht gerecht werden (hauptsächlich, weil ich sie seit Jahren nicht mehr verwendet habe). Wenn Sie dies wirklich verstehen möchten, lesen Sie bitte ein Buch über KI wie das von Stuart und Norvig (the Die Wikipedia-Seite hat überraschenderweise auch keine Visualisierung.
quelle