Wie lerne ich Schachprogrammierung?

13

Grundsätzlich habe ich gesehen, dass die Leute in diesem Forum eine Menge Schachalgorithmen schreiben und Fragen stellen, die ich gerne richtig beantworte. Ich sehe den Code, kann aber nicht erkennen, ob er korrekt ist oder nicht.

Ich bin selbst ein Softwareprofi, aber nicht vertraut mit Schachalgorithmen oder dem Codieren von verwandten Sachen. Könnten Sie mir bitte helfen, vorzuschlagen, wo ich diese Dinge lernen kann, oder ich werde die Erklärungen bekommen?

Seth Projnabrata
quelle
3
chessprogramming.wikispaces.com ist ein guter Ausgangspunkt. Oder wenn Sie lieber den Quellcode lesen, ist Stockfish Open Source.
user1583209
1
Stockfisch Quelle: github.com/official-stockfish/Stockfish
user1583209

Antworten:

9

Wie würden Sie das Problem angehen:

  • Schauen Sie sich chessprogramming.wikispaces.com an . Dies wird Ihre Referenzseite sein.
  • Erstellen Sie ein Konto bei talkchess.com . Alle besten Motorenentwickler sind da. Wenn es eine Motorfrage gibt, auf die Sie dort keine Antwort finden, werden Sie sie nirgendwo anders finden.
  • Überprüfen Sie den Quellcode der TSCP-Engine. TSCP ist eine einfachere, aber funktionierende Implementierungs-Schachengine. Leichter zu lesen als Stockfisch.
  • Etwas tun. Versuchen Sie, einen Schachbrettgenerator zu schreiben. Überprüfen Sie die Referenzseiten oben. Studieren Sie, wie TSCP es macht.
  • Vergleichen Sie Ihre PERF-Ergebnisse mit https://chessprogramming.wikispaces.com/Perft
  • Schreiben Sie eine einfache Positionsbewertung nur mit Materialien. Kopieren Sie die PST-Tabelle von TSCP oder der Schachprogrammierungssite.
  • Schreiben Sie eine einfache Nega-Max- und Alpha-Beta-Suche.
  • Lesen Sie mehr über das UCI-Protokoll
  • Transpositionstabelle hinzufügen
  • Fügen Sie einen einfachen Null-Move-Schnitt hinzu
Hallo Welt
quelle
TSCP ist der Ort, an dem ich angefangen habe. Außerdem möchte ich hinzufügen, dass es hier eine nette Seite gibt, auf der Sie in 99 Schritten ein Programm
schreiben können
0

Wenn Sie eine sehr einfache Schachengine in C (noch einfacher als TCSP) und für Anfänger gedacht haben, schauen Sie sich Secondchess an:

https://github.com/emdio/secondchess

emdio
quelle