Re: Ideen zur Schach KI
Habe zwar nicht alles gelesen, aber ich würde das so ansetzen:
Du setzt jedem Zugtyp eine Priorität, dannach rechnest du für jede Figur im Spiel die Priorität ihrer Züge aus. Als Beispiel: Du hast einen Bauer der wenn er Vorzieht, z.b. folgende Prioritäten erhält: - Feld Rechts wird verdeckt verhindet Angriff auf König(P25) - Feld Links ist ein gegn. Pferd (P4) - Figur kann nicht mehr geschlagen werden(P8) - Figur ist 3 fach gedeckt(3 * P2) - Figur deckt den Bauern danneben nicht mehr Schräg(- P16) Das Rechnest du jetzt für jede Figur aus, wenn man jetzt ein Bischen weiterkommt kommt man schnell auf die Idee, wie man dies für eine Vorrausdenkende KI machen kann. Die Punkteverteilung ist dabei sehr Hilfreich um die verschiedenen Schwierigkeitsgrade zu Realisieren. |
Re: Ideen zur Schach KI
@Speedmaster: So würdest du dich in Spezialfällen verlieren. Das kann so in der Form imho nichts werden, bzw. würde man ewig daran programmieren. Dazu kommt dass der Schwierigkeitsgrad fix wäre. Bei der Baumvariante kann man die KI z.B. nicht GANZ auf Min oder Max spielen lassen, sondern z.B. mit Remis als Ziel. Oder gar gegen sich selbst, so dass man fast gezwungen wird zu gewinnen :mrgreen:. Das wäre dann nur einen Wert ändern.
|
Re: Ideen zur Schach KI
Zitat:
Find ich 8). Ich verfolge diesen Thread mit erstaunen, weil ich das viel zu kompliziert finde. Aber macht mal. Vielleicht fällt mir ja auch noch was dazu ein. :cyclops: MfG freak |
Re: Ideen zur Schach KI
Zitat:
@dizzi: Wozu gibts es die Maximale Zugvorraussicht? :D |
Re: Ideen zur Schach KI
Zitat:
|
Re: Ideen zur Schach KI
Zitat:
Aber if then else kommt in meiner Idee auch fast garnicht vor! |
Re: Ideen zur Schach KI
:roll: Ich denke hier nicht an die normale Verwendung von if..then..else, sondern das war als Synonym gedacht für das gezielte Behandeln einer Großzahl von Einzelfällen der Art:
Delphi-Quellcode:
Auf soetwas in der Art würde dein Vorschlag hinauslaufen, und noch viel verschachtelter ;). (Glaub mir, ich hab schon Leute so TicTacToe programmieren sehen - es war grauenvoll! Und das dann für SCHACH!? *schüttel* :))
if KönigImSchach then
PackNeDaWech else if DameInGefahr then SiehZuDassuDiInSicherheitBekommst else if BauerKannDickenGegnerSchlagen then TuDasVerdammtNochmal else if ... ... ... |
Re: Ideen zur Schach KI
Naja, du hast nicht diesselbe denkweise wie ich, ich redete von Mathematik, und nicht von Dutzenden if..then..else Verzweigungen.
|
Re: Ideen zur Schach KI
Meine Weißheit hierzu:
die besten Schachprogramme sind von Programmieren geschrieben, die kaum oder gar kein schach spielen können. Als ich meine erste Schach KI programmiert habe hab ich auch den Fehler gemacht viel zu viele sonderbewertungen mit hineinzunehmen. Das besondere einer KI ist ja, dass sie umso besser spielt, umso besser sie stellungen berwerten kann. also schnapp man sich binäre bäume und ein relativ simples bewertungssystem: Figur mit wert x schlagen: X Punkte. Wenn man das noch schön auf geschwindigkeit optimiert hat man ein schachprogramm dass (umso besser es optimiert ist) schon recht stark spielt. Regel sollte man ihm beibringen... Wenn du soweit bist kannst du dein berwertungssystem weiter ausbauen wenn du es brauchst, aber das habe ich dann nicht mehr gemacht, da es das ganze extrem kompliziert. also schreib dir ne function der du ne stellung übergiebst un die dir dann nen wert liefert (Z.b <0 positiv für schwarz >0 positiv für weiß) machst nen shönen baum un rechnest mit den stellungen die die besten werte für die KI und die wenigsten schlechten werte für den Spieler besitzen. Fertig. Aus. Läuft. Hat mich igrnedwann mal geschlagen *hehe* jetzt nicht mehr mfg Chris |
Re: Ideen zur Schach KI
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz