AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ideen zur Schach KI

Ein Thema von Cicaro · begonnen am 12. Apr 2005 · letzter Beitrag vom 25. Mai 2005
Antwort Antwort
Seite 10 von 10   « Erste     8910   
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#91

Re: Ideen zur Schach KI

  Alt 25. Mai 2005, 10:31
@alzaimar:
Du scheinst dich ja schon viel damit beschäftigt zu haben. Dein Ansatz weicht auch von meinem etwas ab. Ich wollte ja alles selber programmieren. Geübt habe ich auch schon an einfachen Spielen (Dame, 4Gewinnt, Cube und Magnetic). Lass mich trotzdem machen. Ich werd' schon aufgeben, wenn es sein muss. Außerdem ist die Methode doch nicht falsch, hab' nämlich die KI fertiggestellt, die genau einen halben Zug vorausdenkt und nur auf Figurenvorteil spielt.

Aber zum Thema Horizonteffekt: man kann ja den Zug wählen, dessen erfolgversprächende Folgezüge zahlreicher sind als die der anderen Züge.

Außerdem ist Schach-KI-Programmierung nur deshalb so schwer, weil das Spiel so beliebt ist und weil man die Theorie des Spiels mittlerweile so gut ausgearbeitet hat.

Kennt ihr das auch: je schneller die KI spielt, desto wahrscheinlicher verliert man selber ?
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#92

Re: Ideen zur Schach KI

  Alt 25. Mai 2005, 12:44
Ich bleibe dabei, das ich nicht glaube, das dein Verfahren immer den besten Zug findet. Er sucht nur eine ganze Weile nach zufälligen Zügen... Das dabei eventuell der beste Zug dabei ist, ist logisch. Erzeuge zum Spass mal eine Liste aller möglichen Züge, führe die nacheinander aus, merke Dir die Stellungbwertung, und zeige dann den besten Zug an. Ich bezweifle, das bei Dir immer das gleiche rauskommt...

Mein Zeugs habe ich erstmal so hingeschrieben, ich weiss gar nicht, ob das funktioniert.

Ja, ich hab so ziemlich alle Spiele (Brett- und Denkspiele) programmiert (als ich noch nicht arbeiten musste) von Dame über Reversi, Backgammon, Go-Bang, 4-Gewinnt etc. Ich habe auch mal eine Arbeitsplangenerierung als Spiel programmiert (eigentlich ein Optimierungsproblem, aber das ist Schach ja auch: Finde den besten Zug)

Du solltest auf jeden Fall Alpha-Beta-Pruning implementieren, einen schnellen Zuggenerator und eine schnelle Bewertungsfunktion implementieren.

Der Horizonteffekt tritt ja dann auf, wenn der Rechner 'denkt', dieser Zug (der Letzte in der Vorschautiefe) sei jetzt der Brenner, aber in Wirklichkeit bekommt er gleich danach eine aufs Maul. Wie kann man das vermeiden? Ich glaube, das ist das grosse Problem. Aber, man kann versuchen, die wirklich dämlichen Horizonteffekte zu vermeiden. Wie? Nun, wenn wir uns im Schlagabtausch befinden und ich denke, ich hau Dir die Dame weg und gebe mir 1000 Punkte, ist das toll. Im nächsten Zug wäre ich Matt (was ich nicht sehe). Also sollten Züge, die einen grossen Vorteil erlangen (oder einen Nachteil abwenden) tiefer analysiert werden (bis sich z.B. die Lage wieder beruhigt hat). Wann hat sich 'die Lage wieder beruhigt'? Wenn z.B. das Vorzeichen der Stellungsbewertung nicht bei jedem Halbzug wechselt, oder auch einfach: Wenn [Stellung (Mein-Zug) - Stellung (Deine Antwort)] < Schwellenwert...

Du kannst dich auch mal mit neuronalen Netzen beschäftigen. Das beste Backgammonprogramm arbeitet damit und ist unbesiegbar geworden. Neuronale Netze werden gerne als Allheilmittel gepriesen. Sind sie zwar nicht, aber diffuse Muster können sie ganz gut erkennen. Bei vielen Stellungen gibt es ja solche 'Muster'...

Halte uns auf dem Laufenden, viel Spass. Fragen werden immer gerne beantwortet.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 10 von 10   « Erste     8910   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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