Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / My Engine
- - By Swen Eichmann Date 2013-09-22 09:49
Hallo,

wie einige schon mitbekommen haben, habe ich Spaß daran eine eigene Engine zu programmieren

Meine Engine, die noch keinen Namen hat, ist zwar noch ganz am Anfang, kann aber schon eine Partie ohne Abstürze spielen Das freut mich so sehr, dass ich euch einer der ersten Partien vorstellen möchte:

Event:
Ort:
Datum:

Weiss:
Schwarz:

Ergebnis
Board


Gespielt wurde mit feste Suchtiefe von 3, hat nur Minimax und ein paar Figurenwerte als Vorgabe . Diese Engine ist vermutlich die schwächste Engine der Welt Und vermutlich kann man sich so eine Partie der ersten Chess Engines vorstellen ^^ Anders als bei den Top Engines, können wir hier noch gut nachvollziehen, was wie warum geschehen ist

Man kann die klassischen Fehler dieser Engine erkennen z. B.
die fehlende Ruhesuche: im 6. Zug von Schwarz mit c4. Aber auch das "Opfer" im 23. Zug von Weiß mit Lc4. In den folgenden Zügen, zeigt sich in gewisser Art auch eine einfache Intelligenz, so finde ich.
Der 28. Zug Sb6 war mit einer Suchtiefe von 3 eher "zufälliger" Art. Nach Turm a7 kann die Engine aber dann schon die erste funktionierende Kombination erfassen (Wäre die weiße Dame aber nicht gedeckt - so würde die Engine diese Kombination mit Sxd7 trotzdem ausführen, und danach erst erkennen in welches Problem sie geraden ist!).
Das der weiße Turm um den 33. Zug auf das Feld d3 gelaufen ist, halte ich eher für zufälliger Natur - aber dort steht er ganz schön, als im Eck. Das die schwarze Dame im 33. auf c4 geht um eine Fesselung aufzubauen, hat sie mit der Suchtiefe bereits richtig erkannt (d. h. einfach taktische Motive muss man nicht unbedingt "einprogrammieren").

Manche Züge kann auch ich nicht so recht nachvollziehen...
Jedenfalls ist es lustig dabei zuzusehen - Übrigens habe ich die Partie (nach ca. 3 Std Spielzeit) dann abgebrochen.

Lg
Swen
Parent - - By Ralf Mueller Date 2013-09-22 13:49
Hallo Swen,

ich hab auch eine eigene Engine geschrieben, die ich aus Zeitgründen auf Suchtiefe 6 spielen lasse. Vielleicht können wir ja irgendwann mal ein Engine-Match austragen.
Parent - - By Thorsten Czub Date 2013-09-22 17:18
Ich auch. Lassen wir die 3 gegeneinander spielen.
Parent - - By Ralf Mueller Date 2013-09-23 22:34
Wie viele Halbzüge schafft denn deine Engine in wieviel Zeit in der Grundstellung? 
Parent - - By Dirk Triebel Date 2013-09-25 16:08
Hi,

Interessiere mich ebenfalls mal eine Engine zu programmieren.

Wie kann man denn eigentlich am besten eine Engine programmieren mit C++? Und was braucht man dazu eigentlich? Hat da jemand Erfahrungen wie es am besten geht?

Gibt es dafür eine Art Anleitung?

Vielen Dank für eure Hilfe!

Gruß,
Dirk
Parent - - By Ralf Mueller Date 2013-09-25 18:48 Edited 2013-09-25 19:40
Da braucht man im  Grunde nichts weiter als eine gute Entwicklungsumgebung, Ausdauer, Programmierkenntnisse und Ideen. 
Hier ein Link des sehr hilfreichen Computerschach-Wikis. Auf der Seite findest du auch viele andere Seiten verlinkt, die Anfänger-Guides beinhalten, um eine Engine zu schreiben.
http://chessprogramming.wikispaces.com/Recommended+Reading

Viel Erfolg!
Parent - By Dirk TRIEBEL Date 2013-09-26 13:31
Hallo Ralf,

vielen Dank für die Infos und den link. Kannst du mir noch eine gute Entwicklungsumgebung nennen?

Danke!

Gruß,
Dirk
Parent - - By Karsten Maske Date 2013-09-23 18:00
Hallo,

nachdem ich gestern über diesen Thread gestolpert bin, habe ich mich gleich mal hier angemeldet, da ich selbst auch Interesse habe, ein eigenes Schachprogramm zu schreiben. Bisher hatte ich nur einige wenige erfolglose Ansätze, die ich mangels Engagement auch früh wieder aufgegeben habe. Mit einigen Mitstreitern gibt es aber doch einen deutlich höheren Anreiz, noch einmal anzufangen.

Leider spiele ich nicht so gut wie gern Schach; mir fehlt eigentlich alles an Theorie (Schäferzug kenne ich, aber das wars auch schon).
Auch fehlen mir noch Infos zu allgemeinen Anfordernissen wie die gezeigte PGN-Datei. Das wird sich aber auch lösen lassen.

Interessant wäre noch die Frage, wie man die Engines gegen einander antreten lassen kann.

MfG
Parent - - By Michael Scheidl Date 2013-09-23 18:17
Zitat:
Interessant wäre noch die Frage, wie man die Engines gegen einander antreten lassen kann.

Hierfür bieten sich diverse Interfaces an. Es kommt darauf an welches sog. Engineprotokoll (Kommunikationsprotokoll Engine <-> GUI) unterstützt wird. Weitaus überwiegend wird UCI oder WinBoard benutzt.

Zwecks Enginepartien bzw. -Matches und -Turniere ist u.a. Arena geeignet:

http://playwitharena.com/

Ich bevorzuge nach wie vor Version 2.0.1, habe aber ehrlich gesagt vergessen warum ich noch nicht zu 3.0 gewechselt bin. Ich glaube, es gibt da einige Bugs für die es noch keinen öffentlichen Fix gibt. 2.0.1 ist jedenfalls sehr funktionsreich und 100% empfehlenswert.

Es gibt zahlreiche weitere Interfaces, aber am Anfang ist ja eine Informationsüberflutung nicht sinnvoll.
Parent - - By Karsten Maske Date 2013-09-23 18:29
Danke für die Infos. Habe auch gleich mal kurz reingesehen: Da gibt es für mich ja noch einiges aufzuholen
Mal sehen, ob und wann ich mich mit einer funktionierenden ersten Version zurückmelden kann

MfG
Parent - By Michael Scheidl Date 2013-09-23 19:24
Das wäre schön. Es kann niemals zu viele Engines geben.
Up Topic Hauptforen / CSS-Forum / My Engine

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill