Projekt Idee gesucht [momentan: 3D 4-Gewinnt]
-
https://rapidshare.com/files/3669677412/3D4Wins Projektmappe.zip
Hier schon mal nur die Source(&Header).
Wer ausführen will, bitte um die PEs (Also die executable und die DLLs) bitten.
-
Sone schrieb:
µ schrieb:
Hacker schrieb:
Das witzige ist, die KI ist nicht so einfach wie gedacht - bei 4 Gewinnt kann man sehr taktisch spielen...
Welchen Ansatz hast Du gewählt?
Normales Bruteforce, fuer den Anfang - ein Minimax-Algorithmus.
Das ist kein "normales" Bruteforce sondern ein kluger Ansatz, der sich gut optimieren lässt. Weiter so
Tante Edit: Code nicht angesehen. Werde ich aber noch :p
-
Wikipedia schrieb:
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?
Erster Punkt ist verdammt einfach (bereits gelöst).
Der zweite eher anders: Ich habe mich entschieden, folgendermaßen zu bewerten:-2: Der Gegner hat 4 in einer Reihe.
-1: Der Gegner hat mehr in einer Reihe als DU
0: Beide gleichviel in einer Reihe
+1: Der Gegner hat weniger in einer Reihe als du
+2: Gewonnen!
-
> -2: Der Gegner hat 4 in einer Reihe.
Ziemlich sachliche Feststellung, dass man verloren hat. Wie wäre es mit -2000?
Der Zustand, der zur Niederlage führt, sollte in der Bewertungsfunktion des Min-Max-Algorithmus eine derart niedriege/hohe Punktzahl haben, dass der Algorithmus unter keinen Umständen diesen Pfad im Spielbaum wählt. Das heißt die maximal (minimal) mögliche Punktzahl bei gegebener Tiefe im Suchbaum, darf niemals die Bewertung einer Niederlage übertreffen.-1: Der Gegner hat mehr in einer Reihe als DU
0: Beide gleichviel in einer Reihe
+1: Der Gegner hat weniger in einer Reihe als du
+2: Gewonnen!Es ist hart, aber vielleicht kannst Du in die Bewertung mehr Information zur aktuellen Spielsituation einbringen?!
So reicht das noch nicht um einem menschlichen Gegenspieler Konkurrenz zu bieten.Zur Optimierung des Algorithmus: Wie zum Thema Schach damals, sei dir auch hier der Alpha-Beta-Algorithmus nahe gelegt. Schon versucht zu implementieren? Das ist "nur" eine Erweiterung zu Min-Max.
Tante Edit: Gibt's neue Screenshots? Ich fand das garnicht schlecht was es da zu sehen gab bisher.
-
µ schrieb:
Tante Edit: Gibt's neue Screenshots? Ich fand das garnicht schlecht was es da zu sehen gab bisher.
Die Maus ist Todeshässlich, aber ich krieg es nicht gebacken meine Version zu benutzen.
-
So, jetzt zu etwas weitaus interessanterem: Die KI. Den Alpha-Beta Algorithmus habe ich jetzt verstanden ( ). Alpha birgt den aktuellen mindest-Gewinn, der durch eine bereits bekannte Strategie der CPU erzielt werden kann. Also wird ein Wert < Alpha nichts bringen.
Beta ist der Theoretische höchste Verlust, den der Spieler momentan ertragen wird. Höher als Beta ist ein Zug also unsinnig (der Spieler wird ihn in jedem Fall verhindern).
-
-
-
-
3D4Wins geht übrigens jetzt wieder weiter
Versuche mich jetzt an der Evaluierungsfunktion der KI.
-
-
Wer sich wundert, warum so viele leere Posts hier stehen: Die waren unnötig.