Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / Schachprogrammierung / Projekt 1
- By Lothar Jung Date 2021-07-12 12:21 Edited 2021-07-12 12:52
Erweiterung der Bewertungsfunktion in einem einfachen C-Programm

Name der Engine: TSCP

Tom Kerrigan’s Simple Chess Program (TSCP) is a small, open-source chess engine that I made in 1997. It’s a tutorial engine, i.e., it’s designed to teach people how chess engines work.

TSCP has the following features:
Only 2,258 lines of C code
Lots of comments!
Written for clarity (not speed or strength)
Observes all rules of chess
Opening book
xboard compatible
Requires less than 64KB of RAM

Community

Please visit the Community page to see some of the interesting things people have done with TSCP!

License

TSCP is copyrighted. If you want to copy it (all or part of it) or create a derivative work, you need my permission.

To request permission, please e-mail me at tom.kerrigan@gmail.com.

http://www.tckerrigan.com/Chess/TSCP/

Files:

tscp181c.zip  TSCP version 1.81c source code
tscp181.exe.zip  TSCP version 1.81 executable for Windows

C-Quellcode der Bewertungsfunktion « eval »:

3. Posting im Thread „Stellungswerung“

Vorschläge:

Die Evolutionsstrategie soll Werte für die folgenden Merkmale der Stellungsbewertung optimieren:
1. die Werte für die einzelnen Figurtypen [0-1000]
2. einen Bestrafungswert für einen Läufer in der Anfangsposition [0-30]
3. ein Bonus für einen Bauern, der das Zentrum des Schachbrettes erreicht hat [0-30]
4. eine Bestrafung, wenn zwei Bauern auf der gleichen Linie stehen [0-30]
5. ein Bonus für einen Bauern, der auf beiden Nachbarlinien keinen gegnerischen Bau- ern hat [0-40]
6. eine Bestrafung für einen Bauern, der keinen Bauern auf den Nachbarlinien hat, der näher an der ersten Reihe des Gegners ist [0-30]
7. ein Bonus für einen Freibauern, der durch einen Turm beschützt wird [0-30]
8. ein Bonus für einen Bauern, wenn er in der Nähe der ersten Reihe des Gegners ist (Promotionsmöglichkeit) [100-500]
9. ein Bonus, wenn beide Läufer vorhanden sind [0-40]
10. eine Bestrafung für einen Läufer, der sich in der Startposition aufhält [0-30]
11. eine Bestrafung für Läufer in einer blockierten Stellung. Eine blockierte Stellung ist in diesem Zusammenhang eine Stellung, in der drei eigene Bauern sich im Bereich des erweiterten Zentrums befinden und Felder besetzen, die die gleiche Farbe haben wie die Felder auf denen sich der Läufer bewegt [0-40]
12. ein Bonus für den Springer, wenn es sich um eine blockierte Stellung handelt. Für einen Springer handelt es sich um eine blockierte Stellung, wenn sich mehr als sechs Bauern im erweiterten Zentrum aufhalten. Durch die Fortbewegungsweise des Springers wird er aufgewertet [0-50]
13. ein Bonus für den Springer, wenn er mehr als sechs Felder erreichen kann [0-30]
14. ein Bonus für den Springer in einer geschlossenen Position [0-40]
15. eine Bestrafung, wenn auf jeder Seite des Springers ein generischer Bauer steht [0-50]
2Shannon hat schon 1950 einen Artikel über den Aufbau von Schachprogrammen geschrieben, seine Vorstellungen sind bis heute in fast allen Programmen wiederzufinden.
16. ein Bonus für den Turm, falls er von dem anderen Turm gedeckt wird [0-20]
17. ein Bonus für den Turm, wenn er auf einer halboffenen Linie steht [0-30]
18. ein Bonus für den Turm, wenn er auf einer offenen Linie steht [0-30]
19. ein Bonus für den Turm für andere Vorteile [0-20]
20. eine Bestrafung für den König, wenn er die erste Reihe während des Eröffnungs- oder Mittelspiels verlässt [0-20]
21. ein Bonus, nachdem eine Rochade ausgeführt wurde [0-40]
22. eine Bestrafung für die Rochade, wenn es eine Schwäche in der Bauernstruktur vor dem König gibt [0-30]
23. eine Bestrafung, wenn die Möglichkeit einer Rochade vergeben wurde [0-50]
24. ein Zufallswert, der zum Wert der Stellung addiert oder subtrahiert wird [0-30]

Software Anforderungen: C-Compiler und IDE: https://visualstudio.microsoft.com/de/

Hilfsmittel: Thread: Stellungsbewertung
Up Topic Hauptforen / Schachprogrammierung / Projekt 1

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill