Was nützen die Mindestwerte für Minimax-Bäume?


8

Betrachten Sie einen Minimax- Baum für ein kontroverses Suchproblem. Zum Beispiel in diesem Bild (Alpha-Beta-Schnitt):

Geben Sie hier die Bildbeschreibung ein

3 B . max = 3 12 8 B . m a x = 3[min,max]3B.max=3128B.max=3

Aber warum ist ? Was nützt dieser Wert?B.min=3


Woher kommt das Bild? Ist es ein künstliches Beispiel?
uli

Ja, es ist nur ein Beispiel für einen Sonderfall. Ich bearbeite das Bild auch, um den Text von min und max hinzuzufügen. Wenn es irgendwelche Fehler gibt, zögern Sie nicht zu sagen. Vielen Dank ~
Sam

1
Aus dem (schrecklichen) Wikipedia-Artikel geht hervor, dass der von Ihnen angegebene Baum kein Min-Max-Baum zu sein scheint. Insbesondere sollte ; sieht dagegen völlig richtig aus. Also, was ist die Frage hier wirklich? Sind Sie durch das Beispiel verwirrt oder möchten Sie Anwendungen von Min-Max-Bäumen? Geben Sie in jedem Fall eine genaue (!) Definition der Min-Max-Bäume und / oder einen Verweis auf einen an. 12 B . MindestB.max12B.min
Raphael

1
Bitte geben Sie eine Referenz für das Bild an; Ich habe Grund zu der Annahme, dass Sie es nicht geschaffen haben. Die verknüpften Folien können auch einige Ihrer Fragen beantworten. Sie scheinen andere Bäume zu verwenden als Sie.
Raphael

1
Das Bild scheint zu täuschen ..
Strin

Antworten:


7

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 α β α βB312B38Bα) 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.C2CBD

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.


Ja, wie Sie sagten, ich denke, Sie stimmen der Richtigkeit des Bildes vollkommen zu, oder? Vielen Dank, dass Sie einen so detaillierten Prozess des AlphaBeta-Beschneidens geteilt haben, und meine Frage ist, wozu der Mindestwert verwendet wird. Sind Minimalwerte bei Maximalwerten immer gleich? In diesem Fall ist zuerst 3 von [3,3].
Sam

@sam, ja, das Bild ist definitiv korrekt. Ich habe meine Antwort bearbeitet, um Ihre spezifische Frage (teilweise) zu beantworten. Hoffe das hilft.
Nick

"Wenn B alle seine Kinder durchsucht hat, kennt es die Minimal- und Maximalwerte seines Teilbaums und behält diese Werte in MIN und MAX (als [3, 3]) bei" - aber das ist offensichtlich nicht der Fall (sollte es sein) ). Ihre Erklärung macht später mehr Sinn. [3,12]
Raphael

@ Raphael, ich hätte klarer sein sollen. Dies sind nicht die Min- und Max-Werte des Teilbaums, sondern die maximale Untergrenze und die minimale Obergrenze, die der Knoten an seinen übergeordneten Knoten weitergeben kann.
Nick

@ Nick: So habe ich auch Minimax verstanden. Da das OP anfangs Minimax und Min-Max verwechselt hat, sollten Sie dies in Ihrer Antwort möglicherweise sehr deutlich machen und ein nicht triviales Beispiel (außer verknüpft) einfügen.
Raphael
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.