Frage

in Spiel Suchbaum gibt es viele Algorithmen, um die optimale Lösung zu erhalten, wie Minimax-Algorithmus. Ich fange an lernen, wie man dieses Problem mit Minimax-Algorithmus zu lösen, deaktivieren Sie den Algorithmus. aber ich bin über den Baum selbst, verwirrt in Spielen wie Tic Tac Toe Anzahl der Knoten nicht sehr groß, aber auf andere wie Schach gibt es viele Knoten. Ich denke, diese Notwendigkeit, großen Platz im Speicher. So ist es Algorithmen zu bewerten und Build-Baum in der gleichen Zeit?

War es hilfreich?

Lösung

Ein Baum von Spielzuständen wird normalerweise nicht als komplette Datenstruktur aufgebaut. Stattdessen werden Staaten bewertet, wie sie erstellt werden, und die meisten sind in dem Prozess verworfen. Oft ist eine verknüpfte Liste aus dem Stand auf den aktuellen Zustand des Spiels wird ausgewertet zurück gehalten. Aber wenn man unterwegs viel besser dargestellt als ein anderer sein, dann ist die gesamte Linie für die Armen bewegen, werden verworfen, so wird es keinen Platz im Speicher belegen.

Ein einfacher Weg, um den Zustand Raum für ein Spiel wie Schach zu suchen ist die Suche rekursiv zu einer bestimmten Tiefe zu tun. In diesem Fall nur sehr wenige Spiele Staaten existieren tatsächlich zu einer Zeit, und diejenigen, die existieren werden einfach auf dem Call-Stack verwiesen. Komplexere Algorithmen einen größeren Baum erstellen, sondern (vor allem für Schach) keine einen Baum aller möglichen Zustände aufrechtzuerhalten. Für Schach kann eine Breitensuche besser sein, eine Warteschlange mit eher als ein Stapel, und dies auch nur Staaten in einer bestimmten Tiefe in dem Baum beibehalten wird. Noch besser wäre eine Prioritätswarteschlange, in der die besten Staaten zur weiteren Auswertung gespeichert sind, und die schlimmsten Zustände vollständig verworfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top