wer ist, was ist, wo ist, wann war, was war - Lexikon / Chronik / Biografie / Wissen - Minimax-Algorithmus


Werbung

Produkte / Services :|: Chronik CD :|: als Startseite | zu den | empfehlen :|: Impressum
Lexika @ InfoBitte.de :|: Universal-Lexikon | WeltKunst | Geteiltes Deutschland | Zweiter Weltkrieg
WeltChronik.de :|: Welt | Deutschland | Kultur/Kunst/Technik :|: BildDatenBank :|: Biografien

Navigation

WeltChronik
Deutsche Chronik
KulturChronik
Biografien
Bilddatenbank
Kalenderblatt
Epochen
Lexika @ InfoBitte.de
Produkte

Suchfunktionen
Chronik-Jahr direkt

Nur Zahl eingeben
Bereich: '0'-'2001'
PARTNER
Ahnenforschung

Quellen für die Schule

FREE 4 WebMasters

Wir haben eine ganze Palette kostenloser Angebote von uns
für WebMaster und HomePage Besitzer aufbereitet

Holen Sie sich hier ab

was Sie gerne einsetzen würden
Suchfunktionen, Kalenderblatt, uam
für Ihre WebSite



Minimax-Algorithmus

ein InfoBitte / WeltChronik
Sach-Artikel (Enzyklopädie / Lexikon)

Entwickelt von ICA-D aus der XML-Version der deutschen WikiPedia
© 2004/2005 ff by de.wikipedia.org, teilw. by ICA-D
blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Der Minimax-Algorithmus ist ein Algorithmus zur Ermittlung der optimalen Spielstrategie für Spiele bei denen zwei gegnerische Spieler abwechselnd Züge ausführen (z.B. Schach, Go, Reversi, Dame, Mühle oder Vier Gewinnt).


Im Gegensatz zu Würfelspielen sind die genannten Spiele nicht vom Zufall abhängig,im Gegensatz zu Karten- und Ratespielen sind sie offen, d.h. in jeder Spielsituation sind jedem der beiden Spieler alle Zugmöglichkeiten des jeweiligen Gegenspielers bekannt.


Aus diesem Grund läßt sich die optimale Strategie für das jeweilige Spiel mit dem Minimax-Verfahren ermitteln.


Die optimale Strategie ist dann gefunden, wenn sie zum (bestmöglichen) Ergebnis eines Spielers führt, wenn man von optimaler Spielweise des Gegner ausgeht.


Für einige Spiele, wie das so genannte Nimm-Spiel, lässt sich eine optimale Strategie auch direkt ohne Minimax berechnen.


Inhaltsverzeichnis


1 Algorithmus

2 Bewertungsfunktion

3 Suchbaum-Beispiel

4 Anmerkungen

5 Iterative deepening

6 Pseudocode

7 Variante: Der NegaMax Algorithmus


Algorithmus

Der Algorithmus funktioniert folgendermaßen:


  • Jeder Spielposition (Brettstellung) ist ein Zahlwert (Bewertung) zugeordnet:
  • Positionen, die günstig für Spieler A sind, seien große Zahlen zugeordnet,
  • Positionen, die günstig für Spieler B sind kleine Zahlen.
  • Spieler A maximiert also den Zahlwert im Laufe des Spiels, Spieler B minimiert ihn.
  • Der Algorithmus baut einen Suchbaum (s.u.) auf, der alle Folgepositionen der aktuellen Position enthält und alle Folgepositionen der Folgepositionen, usw. Bis zu einer bestimmten Tiefe.
  • Für die Blätter des Suchbaums wird nun eine Bewertung bestimmt.
  • Die Bewertung wird nun von den Blättern zur Wurzel übertragen:
  • Ist Spieler A am Zug, so wird einer Position der Maximalwert der Bewertungen aller Folgepositionen zugeordnet.
  • Ist Spieler B am Zug, so wird einer Position der Minimalwert der Folgepositionsbewertungen zugeordnet.
  • Das ganze geschieht rekursiv, bis die Wurzel des Spielbaums erreicht ist.
  • Je nachdem, welcher Spieler am Zug ist, entscheidet sich der Algorithmus für den Zug zur Folgeposition mit minimaler oder maximaler Bewertung.


Bewertungsfunktion

Eine ideale Bewertungsfunktion ordnet einer Stellung den Wert +1 zu, wenn Spieler A gewinnt und den Wert -1, wenn Spieler B gewinnt und 0 bei Unentschieden. Kann man von sämtlichen Spielpositionen den Suchbaum bis zur maximalen Tiefe aufbauen (bis zur Endstellung, wo man sieht, wer gewinnt), so spielt der Algorithmus ein perfektes Spiel. Allerdings ist in der Praxis der vollständige Aufbau eines Suchbaums nur bei sehr einfachen Spielen wie Tic-Tac-Toe möglich.


Bei fast allen anderen Spielen ist dies zu rechenaufwendig.


Deshalb begnügt man sich damit, den Suchbaum nur bis zu einer vorgegebenen Suchtiefe aufzubauen.


Die Bewertungsfunktion wird modifiziert, sehr gute Spielpositionen für A erhalten sehr hohe Werte,sehr gute Spielpositionen für B erhalten sehr niedrige Werte.


Zur Ermittlung der Werte bedient man sich Heuristiken zur Schätzung.


Die steigende Rechenleistung von Computern und bessere Programme haben mittlerweile dazu geführt, dass selbst bei so komplexen Spielen wie Schach heutzutage die meisten Menschen ohne Mühe vom Computer geschlagen werden können. Die dabei verwendete Strategie beruht im Wesentlichen auf dem Minmax-Algorithmus.


Suchbaum-Beispiel

[Bild extern:] Bild:040125_minmax.png


Das Bild oben zeigt einen einfachen Baum mit Suchtiefe 3.


Die Knoten der Ebenen 1 und 3 entsprechen Spielsituationen, in denen Spieler A am Zug ist,d.h. hier wird jeweils der Max-Wert der untergeordneten Knoten ermittelt.


Die Knoten der Ebene2 entsprechen Spielsituationen, in denen Spieler B am Zug ist,d.h. hier wird jeweils der Min-Wert der untergeordneten Knoten ermittelt.


Auf der Blätterebene werden die Knotenwerte jeweils über die Bewertungsfunktion ermittelt.


Im Bild sind Kanten ( = Spielzüge ), die zum Max-Wert führen, rot gekennzeichnet.


Kanten, die zum Min-Wert führen, sind blau gekennzeichnet.


Anmerkungen

  • Das Minimax-Verfahren ist im Kern vom speziellen Spiel unabhängig, d.h. z.B. Schach und Reversi benutzen den selben Algorithmus.
  • Schnittstellen zum speziellen Spiel sind lediglich die beiden folgenden Programmteile:
  • Welche Züge sind in einer konkreten Spielsituation möglich?
  • Wie wird eine Spielsituation numerisch bewertet?
  • Neben dem Minimax-Verfahren kann ein Spiel weitere spielspezifische Verfahren anwenden, z.B. vorberechnete Bibliotheken für Eröffnungszüge.


Der Minimax-Algorithmus benötigt einerseits abhängig von der Suchtiefe extrem viel Zeit,andererseits steigt in der Regel bei höherer Suchtiefe auch die Qualität des Suchergebnisses.


Es existieren daher verschiedenen optimierte Varianten, z.B.


  • variable Suchtiefe: wenn nur noch wenige Zugmöglichkeiten pro Spielsituation existieren, z.B. weil sich nur noch wenige Spielsteine auf dem Spielfeld befinden, kann die Suchtiefe erhöht werden (und umgekehrt).
  • dynamische Suchtiefe: wenn sich die Zahlenwerte an einer Stelle des Suchbaums von Ebene zu Ebene stark ändern, kann die Suchtiefe lokal erhöht werden (und umgekehrt).
  • die Alpha-Beta-Suche kann verwendet werden.


Eine wesentliche Zeitersparnis ergibt sich durch Speicherung der bisher untersuchten Stellungen und deren Bewertung. Wird eine Stellung durch verschiedene Zugfolgen von der Ausgangsstellung erreicht, braucht nicht jedes Mal wieder der gesamte darunter liegende Suchbaum durchsucht werden.


Iterative deepening

Speziell bei eingeschränkter Zeit für die Suche (z.B. im Turnierschach) wird "iterative deepening" verwendet. Dabei wird die Suche, ausgehend von der zu untersuchenden Stellung, wiederholt gestartet und dabei die gewünschte Suchtiefe schrittweise erhöht. Werden die bereits untersuchten Stellungen, wie oben beschrieben, gespeichert, müssen nur die gegenüber der vorhergehenden Suche neu erreichten Stellungen mit der Bewertungsfunktion bewertet werden. Dieses Verfahren wird so lange fortgesetzt, bis die verfügbare Suchzeit überschritten oder ein "hinreichend gutes" Ergebnis erzielt wurde.


Ohne iterative deepening wäre beim Überschreiten des Zeitlimits im schlimmsten Fall nur ein einziger Zug untersucht worden, dieser aber bis in sehr große Tiefe. Der nächste Zug, der vielleicht schon nach nur einem einzigen Gegenzug den Gewinn gesichert hätte, wäre gar nicht erst ausprobiert worden.


Pseudocode

Text


Variante: Der NegaMax Algorithmus

Um den Code zu vereinfachen und jeden Knoten des Suchbaumes gleich behandeln zu können, definiert man, dass jeder Spieler versucht, ein für sich selbst maximales Ergebnis, das heißt maximalen Wert der Bewertungsfunktion, zu erzielen. Dazu muss die Bewertung der Folgestellungen mit -1 multipliziert werden (Negation, daher der Name). Damit muss nicht mehr unterschieden werden, ob A oder B am Zug ist und daher das Maximum oder das Minimum berechnet werden muss, sondern es wird in jeder Stellung immer nur das Maximum der negierten Bewertungen der Folgestellungen berechnet.


blättern» voriger Artikel | Hauptseite | nächster Artikel «blättern

Dieser Beitrag ist aus der XML-Version der deutschen WikiPedia® entwickelt worden und unterliegt inhaltlich den GNU FDL-Lizenzbestimmungen. Linkziele außerhalb der wikipedia-Inhalte unterliegen den Urheberrechten der jeweiligen Anbieter




Wörterbuch


Produkte
2000 Jahre
Chronik CD-ROM


Kalenderblatt in
Schmuckblatt
Ausführung


Geburtstags-Bios

Suchen/Google-Ads
Kalenderblatt
druckfertig
( DirectDownloads )
Kalenderblätter
druckfertig aufbereitet für Schmuckblätter
zum Selbstdrucken

im Word DOC6/RTF Format, je Euro 5
über Click&Buy
JAN | FEB | MÄRZ
APRIL | MAI | JUNI
JULI | AUG | SEPT
OKT | NOV | DEZ

Das Geschenk für jeden Anlass, nicht nur bei 'runden' Jubiläen
Andere Einzeltage
oder Zahlungsarten

bitte HIER bestellen


© 2000 ff by ICA-D, D-76751 Jockgrim, Germany
Verantwortlich im Sinne des Presse- und Multimedia-Rechts: Dipl.-Ing. Rainer Detering, Waidweg 18, 76189 Karlsruhe


| Immer | Unsere | InfoBitte weiterempfehlen
KALENDERBLATT von HEUTE | SUCH-Funktionen ALLE und nach BEREICHEN | Startseite
Welt-Chronik | Kunst-, Kultur-, Technik-Geschichte | Deutsche Chronik | 2000 Biografien | Bild-Datenbank
Gesetzestexte | SkateGuide | Online Jigsaw Puzzles | GeschenkTip | Produkte, Services, Impressum



*NEU* bei InfoBitte *NEU*



die deutsche WikiPedia
bei InfoBitte.de mit
650,000 Querverweisen zu
2000 Jahre Chronik



InfoBitte
Portal zu Portalen
Hauptseite


Suchfunktionen

Wissen, Biografien, Geschichte
besser gezielt suchen mit
domain-Filterung

die Links führen im neuen Fenster
zu den jeweiligen Hauptseiten,
das Anklicken eines Buttons zur
Filterung für die Google-Suche



Google
Lexika @ InfoBitte.de

ib InfoBitte.de (alle Lexika)
ib Universal-/Hand-Lexikon
die WikiPedia @ InfoBitte
ib L. WeltKunstGeschichte
ib L. Geteiltes Deutschland
ib L. Zweiter Weltkrieg

2000 Jahre Chronik

WeltChronik.de (Texte)
  
WeltChronik auf CDROM
deutsche Geschichte
Kultur-/TechnikGeschichte
WeltChronik Bilder
Chronik Biografien

Google
2000 Jahre Chronik
offline auf CDROM

Hier Kaufen


WeltChronik Jahr...
(eigene Suchfunktion)

Nur Zahl eingeben
Bereich: '0'-'2001'





Diese Web Site verdient ihr Geld durch Produktverkäufe (CD-ROM, downloads) und in erster Linie durch Anzeigen. Wenn Sie als Webmaster zuverlässige Partner suchen für Ihr eigenes Anzeigenschäft, dürfen Sie sich gerne auf unsere Empfehlungen stützen:
z.B.: GigaCash & ProfiWin