Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Wie denkt ein Schachprogramm?
- - By Lothar Jung Date 2022-11-05 08:49 Edited 2022-11-05 09:09 Upvotes 1
Hier eine anschauliche Eiführung von chess24.com:

https://chess24.com/de/lesen/news/wie-denkt-ein-schachprogramm

Zu dieser Thematik empfehle ich auch meinen Thread „Einführung in die Schachprogrammierung“ im entsprechenden Unterforum.

Auch das Papier „Die Entwicklung und Implementierung einer Schach-Software“ ist sehr lesenswert.
Parent - By Thorsten Czub Date 2022-11-06 22:05
Kann man hier sehen :

https://youtu.be/lbm0oFWSh7w
- - By Lothar Jung Date 2022-11-05 15:07 Edited 2022-11-05 15:32 Upvotes 1
Für den Fall, dass jemand gute oder vielleicht bessere Quellen der „Einführung in die Schachprogrammierung“ kennt, bitte ich freundlichst um eine entsprechende Reaktion.

Vielleicht das hier:

https://de.wikipedia.org/wiki/Schachprogramm?wprov=sfti1
Parent - - By Wolfram Bernhardt Date 2022-11-05 17:21 Upvotes 1
Hi!

Auch empfehlenswert ist dieses sehr alte Buch, dass es unter anderem hier....

https://www.schachversand.de/schach-am-pc.html

...ähm... nicht mehr gibt.

Zu einen hat es einen historischen Wert, zum anderen besteht die zweite Hälfte des Buchs aus einer Schritt-für-Schritt-Anleitung zum Schreiben eines Schachprogramms - inklusive Quellcode.

Ja, es ist alt. Ja, der Code ist in altem Basic geschrieben. Und dennoch ist es didaktisch sehr gut und der Quellcode hervorragend. Ich nehme dieses Buch immer noch hin und wieder zur Hand, um Implementierungsdetails nachzuschlagen.

Also wer die Chance hat, das Buch noch in die Hände zu bekommen - zuschlagen!

Viele Grüße
     Wolfram
Parent - - By Lothar Jung Date 2022-11-05 19:38 Upvotes 2
Hallo Wolfram,

das Buch habe auch ich.
Das Programm hatte ich vor Urzeiten auf einen schnellen Basiccompiler umgeschrieben und optimiert.

Hier der Link:

https://archive.org/details/bartel-kraas-schruefer-das-grosse-computerschachbuch
Parent - By Wolfram Bernhardt Date 2022-11-05 19:56 Upvotes 1
Das sind aber schon zwei unterschiedliche Bücher
Parent - - By Rainer Neuhäusler Date 2022-11-05 23:27 Upvotes 1
Lothar Jung schrieb:

Hallo Wolfram,
das Buch habe auch ich.
Das Programm hatte ich vor Urzeiten auf einen schnellen Basiccompiler umgeschrieben und optimiert.

Musste man da viel umschreiben, und weißt du noch den Compiler ?

Lothar Jung schrieb:

Hier der Link:
<a class='ura' href='https://archive.org/details/bartel-kraas-schruefer-das-grosse-computerschachbuch'>https://archive.org/details/bartel-kraas-schruefer-das-grosse-computerschachbuch</a>

Der Kollege meint natürlich das andere Buch, das von Friedel/Steinwender, is eh klar. Beide Bücher natürlich (noch) in meinem Besitz.

Dem Deinerseits avisierten Data-Becker Buch von Bartel-Kraas, Schrüfer lag ja eine Diskette mit dem "Demo-Schachprogramm" bei. Auf der Papierhülle finde ich ein paar Testdaten, die ich mit damaliger Hardware und diesem Schachprogramm durchführte.

Startstellung, 1539 Positionen, Level 8, Original-Compiler (scheinbar nicht viel schneller als der Interpreter)

AT 286, 10 Mhz= 1' 43"= 15    N/sec
AT 486, 66 Mhz=      8"= 192  N/sec

Ob jetzt da der Co-Processor oder die Speed-Deklaration "defint (definiere als integer) zum Einsatz kam, weiß ich allerdings nicht mehr. So oder so, in den 80ern war halt noch etliches gemütlicher 
Parent - - By Lothar Jung Date 2022-11-06 08:26
Der Compiler war MBasic.

Ich habe alle Goto xxx aufgelöst.
Die Schleifen optimiert.
If then in If then Else umgeschrieben.
Den erweitern Befehlssatz von MBasic eingesetzt.
Das Programm strukturiert.

Den Versuch die Rechentiefe zu erhöhen, habe ich nicht fortgesetzt (Entsprechende Schleifenwerte von 8 auf 16 erhöht, Feldgröße verdoppelt). Debugging des Compilers war schlecht.
Parent - - By Rainer Neuhäusler Date 2022-11-06 18:52
Lothar Jung schrieb:

Der Compiler war MBasic.
Ich habe alle Goto xxx aufgelöst.
Die Schleifen optimiert.
If then in If then Else umgeschrieben.
Den erweitern Befehlssatz von MBasic eingesetzt.
Das Programm strukturiert.
Den Versuch die Rechentiefe zu erhöhen, habe ich nicht fortgesetzt (Entsprechende Schleifenwerte von 8 auf 16 erhöht, Feldgröße verdoppelt). Debugging des Compilers war schlecht.

Ganz schöne Fleißarbeit! Der Quellcode des Programms war wohl in "GW-Basic" geschrieben, wobei der Interpreter natürlich in den RAM und der integrierte Compiler "Basica" in den ROM geladen wurde. Der machte den Interpreter ca. 4x schneller.

MBasic war für welche Computer gedacht ?

Zum dem diskutierten Thema "Zuggenerator":  bei dem Demo-Programm von Bartel-Kraas/Schrüfer stellt sich die Anzahl der Programmzeilen als Indikator für den Programmieraufwand folgendermaßen dar:

Springer-Zgg                  = 14 Programmzeilen

Dame-Turm-Läufer-Zgg  = 25      

Bauern-Zgg                    =  47
   - Haupt-Zgg                =  33
   - En-Passant               =  14

Königs-Zgg                     =  31
    - Haupt-Zgg                =  14
    - Rochade-Zgg           =   17
Parent - - By Lothar Jung Date 2022-11-06 20:10
https://en.wikipedia.org/wiki/MBASIC?wprov=sfti1

War ein Compiler für GW-Basic.
Parent - - By Rainer Neuhäusler Date 2022-11-06 21:01
Lothar Jung schrieb:

<a class='ura' href='https://en.wikipedia.org/wiki/MBASIC?wprov=sfti1'>https://en.wikipedia.org/wiki/MBASIC?wprov=sfti1</a>
War ein Compiler für GW-Basic.

Deshalb meine Frage nach dem Computer. MBasic war ein Compiler für CPM und deshalb für 8080/85 und Z80 Computer und GW-Basic Für DOS und die 8086er !? Kram doch noch mal in Deinem Gedächtnis nach!
.
Parent - - By Lothar Jung Date 2022-11-07 09:02
Es war ein DOS 486 PC.
Parent - - By Rainer Neuhäusler Date 2022-11-07 18:59
Lothar Jung schrieb:

Es war ein DOS 486 PC.

Ja, mit diesem Teil wird die Sache stimmiger. Die eigenen Links zu lesen, erweist sich manchmal durchaus von Vorteil

CPM, DOS, 2-3-486, dann der Pentium, dBase, WordStar, da werden Erinnerungen wach. In der Schillerstraße, Nähe Münchner Hauptbahnof, ab Mitter der 80er, da waren sie, die Import/Export Kleinläden mit nur einem Schaufenster, einer nach dem anderen, mit zunehmendem Anteil taiwanesischer Händler. Mindestens einmal pro Woche war ich dort, holte mir die druckfrischen Preislisten und kaufte mir meine Gehäuse, Motherboards, Prozessoren, Karten  und LWs zusammen, um mit etwas Glück und Umtauschrecht einen eigenen PC zu erschaffen. Heute hole ich mir die PCs bequem händlerfertig konfiguriert auf dem Versandwege und sie laufen sogar um ein vielvielvielfaches schneller und das sehr laufruhig im schallgedämmten Gehäuse. Mit dBase und Spathetti-Code machte mir das Programmieren allerdings wesentlich mehr Spaß als mit Access und objektorientierter Programmierung. Wie lange hat auch Ed Schröder gebraucht, um von DOS endlich auf Windows umzusteigen. Bald werden sich die Programme ja sowieso fast ganz von selbst schreiben. Die Matrix ruft..
Parent - - By Lothar Jung Date 2022-11-07 20:13 Edited 2022-11-07 20:15
Danke Rainer für Deinen Beitrag!

Ich bin nach Commodore 64 auf den Z80 Schneider 464 und C/PM umgestiegen, aber einen Umweg über Atari 68000 gemacht. Pascal und C gelernt.
Danach DOS 486 usw.. Zwischendurch MAC und ARM. Ich habe sie alle noch.
Einige PCs selbst gebastelt.
Aber auch sehr viele Schachcomputer gesammelt.
Eine schöne und lehrreiche Zeit.
Schach im Verein war immer mein primäres Hobby und meine Leidenschaft.
Deshalb Computerschach.de.
Mein Fokus liegt auf Lc0 und an dessen KI-Ansatz, den man mir Schachspieler und Computer- und Sciencefiction-Fan verzeihen möge.
Parent - By Rainer Neuhäusler Date 2022-11-08 10:50 Edited 2022-11-08 11:05
Lothar Jung schrieb:

Danke Rainer für Deinen Beitrag!
Ich bin nach Commodore 64 auf den Z80 Schneider 464 und C/PM umgestiegen, aber einen Umweg über Atari 68000 gemacht. Pascal und C gelernt.
Danach DOS 486 usw.. Zwischendurch MAC und ARM. Ich habe sie alle noch.
Einige PCs selbst gebastelt.
Aber auch sehr viele Schachcomputer gesammelt.
Eine schöne und lehrreiche Zeit.
Schach im Verein war immer mein primäres Hobby und meine Leidenschaft.
Deshalb Computerschach.de.
Mein Fokus liegt auf Lc0 und an dessen KI-Ansatz, den man mir Schachspieler und Computer- und Sciencefiction-Fan verzeihen möge.

Vielen Dank für das Outing Deiner Leidenschaften. Verlinken könnte man vielleicht noch angeben Imposant diese Sammlung, da hast Du ja praktisch nichts ausgelassen, da muss ja ein kleines Museum die Jahre über entstanden sein. Mach doch mal Fotos von den Gerätschaften und stell sie hier rein, das muss ich sehen.

Wieso was mit Lc0 verzeihen? Meinst Du damit diese billigen Wattfresser-Godzillas, RTX oder wie die heißen? Gerüchten zufolge hat doch seine Genialität unser erfindungsreicher Wirtschaftsminister sowieso ein Pilotprojekt mit denen vor. Jeder Besitzer einer solchen darf sie nur mit hauseigener und ausreichend dimensionierter Solaranlage betreiben und das natürlich auch nur am Tag. Ab 750 LUX abwärts ist Feierabend. Für NN-Schachengine-Nutzer gilt u. a. ein Gambitverbot.  Ja Leute, sparen, sparen allerorten!
Parent - By Olaf Jenkner Date 2022-11-06 20:48
Parent - By Rainer Neuhäusler Date 2022-11-05 21:21 Upvotes 3
Wolfram Bernhardt schrieb:

Auch empfehlenswert ist dieses sehr alte Buch, dass es unter anderem hier....
<a class='ura' href='https://www.schachversand.de/schach-am-pc.html'>https://www.schachversand.de/schach-am-pc.html</a>
...ähm... nicht mehr gibt.
Zum einen hat es einen historischen Wert, zum anderen besteht die zweite Hälfte des Buchs aus einer Schritt-für-Schritt-Anleitung zum Schreiben eines Schachprogramms - inklusive Quellcode.
Ja, es ist alt. Ja, der Code ist in altem Basic geschrieben. Und dennoch ist es didaktisch sehr gut und der Quellcode hervorragend. Ich nehme dieses Buch immer noch hin und wieder zur Hand, um Implementierungsdetails nachzuschlagen.
Also wer die Chance hat, das Buch noch in die Hände zu bekommen - zuschlagen!


Sehr einsteigerfreundliche und ausführliche Einführung (1995) in die Schachprogrammierung bis hin zum kompletten und ausbaufähigem Visual Basic-Programm MiniMax von Dieter Steinwender und Chrilly Donninger. Bereits ca. 10 Jahre früher veröffentliche Steinwender in seiner Zeitschrift CSS die 1.Fassung ("CSS-Schachprogramm"), natürlich um etliche Programmiertechniken ärmer.
Antiquarisch gibt es das Opus praktisch an jeder Straßenecke

https://www.booklooker.de/B%C3%BCcher/Dieter-und-Frederic-A-Friedel-Steinwender+Schach-am-PC-Bits-und-Bytes-im-k%C3%B6niglichen-Spiel-Mit-einem/id/A02A84qG01ZZ7

https://www.abebooks.de/9783877915226/Schach-Bits-Bytes-k%C3%B6niglichen-Spiel-3877915221/plp

https://www.ebay.de/itm/314110365710?chn=ps&norover=1&mkevt=1&mkrid=707-134425-41852-0&mkcid=2&mkscid=101&itemid=314110365710&targetid=1405282543919&device=c&mktype=pla&

hR-6yirD3QVxFlkIJOz_AaAra1EALw_wcB'>https://www.buchfreund.de/de/d/e/9783877915226/schach-am-pc-bits-und-bytes-im-koeniglichen-spiel?bookId=109357256&gclid=Cj0KCQjwk5ibBhDqARIsACzmgLSF2riaQaG_fDEVL7RFPFy7LUW2bZK-hR-6yirD3QVxFlkIJOz_AaAra1EALw_wcB

https://www.google.com/search?q=schach+am+pc+friedel+markt++und+technik&client=firefox-b-d&sxsrf=ALiCzsYXQ5SfLUEs3BjaKSxVa-AmWrp7Mg:1667668741460&source=lnms&tbm=shop&sa=X&ved=2ahUKEwiH6r-Xxpf7AhUEQPEDHW6JCIEQ_AUoAnoECAEQBA&biw=1638&bih=899&dpr=1
Up Topic Hauptforen / CSS-Forum / Wie denkt ein Schachprogramm?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill