Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / Schachprogrammierung / Engines
- By Frank Rahde (Mod.) Date 2021-09-04 10:49
Zusammenführung
- By Lothar Jung Date 2021-07-13 17:53 Edited 2021-07-13 17:59
Hier einige Quellen:

https://github.com/official-stockfish/Stockfish

https://www.chessprogramming.org/Stockfish#Search

https://de.wikipedia.org/wiki/Stockfish?wprov=sfti1
- - By Peter Martan Date 2021-08-19 08:40 Edited 2021-08-19 08:46
Möchte auch mal einen Thread hier eröffnen, in der Hoffnung, dass das Thema ins Subforum passt, auch wenn's nicht auf Code- Ebene für mich behandelbar ist, vielleicht ja für Andere.
Ferdinand Mosca hat ein 3Hirn- Programm geschrieben, das für mich eines der besten ist, die's gibt, eigentlich das beste, vielleicht von dem einen abgesehen, das mit Rybka 4 und mit Fritz 15 im eigenen GUI funktioniert hat, aber nur für diese eine Engine. Dieses Fritz (Rybka)- GUI- Feature war das einzige, das mit echtem shared hash zweier Engine- Partitionen funktioniert hat.

Nucleus gab's, als ich es kennenlernte, erst einer Version 0.0.1, ich hab' sie von der Rebel- Site runtergeladen, Ed Schröder hat das Programm hier damals beschrieben und im Download- Package von Rebel 2.7 gehabt.

http://talkchess.com/forum3/viewtopic.php?p=762089&sid=aa98d2dd7274fa3f6222e7a1a1985251#p762089

Hier der direkte Link zur ProDeo 2.7 Site, auf der's zum Download steht:

http://www.rebel13.nl/noomen/prodeo27.html

Kennt jemand eine Weiterentwicklung oder ist imstande, sich der Sache selbst anzunehmen? So wie ich das sehe, ist es "nur" eine Art ghostriding program, das zwei Binaries nacheinander ablaufen lässt, und es ist auch nur eine Vermutung von mir, dass der Hash einer zweiten Slave- Engine, wenn sie auch als Master fungiert, beibehalten wird nach dem "Einfüttern" eines Alternativzuges, der von einer anderen Engine stammt. Sind die beiden Zugvorschläge der beiden Slaves gleich, kommt der Master nicht mehr zum Einsatz.

Habe Nucleus jetzt erst wieder hervorgeholt, um es mit Ceres und Stockfish zu probieren, und ohne wieder sinnlose Fragen nach der "praktischen Spielstärke" solcher Programme provozieren zu wollen, ich halte es für sehr interessant in der Analyse.
Parent - - By Lothar Jung Date 2021-08-19 08:58 Edited 2021-08-19 09:10
Unter Ceres ist es möglich zwei unterschiedliche Netze mit jeweiliger Gewichtung als Command Line Befehl anzugeben:

NETWORK sets the network to be used (if omitted, network specified in the options file is used). The value consists of a network type code (currently only LC0 is supported) followed colon and then a comma-separated list of one or more network IDs (which are ensembled if multiple). For example:

network=LC0:703810
network=LC0:703810@0.25,42767@0.75
the first would resolve to the Leela weights file weights_run2_703810.pb located in the configured LC0 network directory and the second would be build a weighted ensemble of two networks.

https://github.com/dje-dev/Ceres/blob/main/Commands.md

BanksiaGUI kann mit ECA mehrere Engines in die Analyse einbinden:

https://banksiagui.com/blog/

https://banksiagui.com/extreme-chess-analysis-eca/

Lothar
Parent - - By Peter Martan Date 2021-08-19 09:17 Edited 2021-08-19 10:02
Ja, auch interessant, aber ich schätze halt an den A-B-Engines das Hashlernen als eines der wichtigsten Features schlechthin und da können die LC0- artigen in keiner Weise mithalten für mich, eh klar, der Hash ist ganz etwas anderes als bei A-B, der NN-Cache wäre vielleicht das besser Vergleichbare, aber Backward ist auch mit Ceres im Vergleich zu dem, was ich von SF gewöhnt bin, just a pain in the ass, um mal wieder unanständig zu werden.

Ich bin mir gar nicht sicher, ob's überhaupt so ist, aber ich wüsste nicht, warum es anders sein sollte, wenn du mit Nucleus SF als Master sowohl auch als Slave2 nimmst, startet die Master- Engine unmittelbar nach der Slave 2 (nur dann, wenn der Alternativzug von Ceres vom SF- Zug abweicht, sonst wird gleich der eine Zug genommen, was ja im Fall, dass es derselbe ist, enorm Zeit spart) dass die Slave 2 (=Master-) Engine dann zwischen dem Output 2 und dem vom Master so entladen wird, dass der Hash gelöscht wird, glaube ich nicht, und nun hat man auf die Art (hoffentlich) das, was für mich der tiefere Sinn einer Dreihirn- Anwendung im Computerschach wäre, Shared Hash, wieder nur innerhalb der einen Engine, die wieder auf 2 "Partitionen" geteilt wird, einer vor und einer nach der Eingabe des Alternativ- Zuge von der Slave1 -Engine.

Du verstehst, worauf ich hinaus will?
LC0- Fish und Eman- Enigma waren auch ähnliche Ansätze, Shreddder- 3Hirn schon seit sehr langer Zeit, aber dass zwischen 2 Engines (gibt's eigentlich noch gar nicht, soviel ich weiß) oder wenigstens zwischen 2 Settings einer im GUI- Verbund mit einer dritten (einem echten 3Hirn, möchte ich es nennen) in einen gemeinsamen Hash eingetragen wird, das ist es, was ich gern (wieder) hätte. Fritz- Rybka kann das auch, aber nur mit der Fritz- Rybka- (3.x- aufwärts-) Engine im eigenen GUI. Auch nur ein GUI- Feature, aber für eine einzelne Engine eigens angepasst, die dadurch 2x gestartet werden konnte und mit einem gemeinsamen Hash lief.
"Shared Analysis", womit alle möglichen GUIs (vor allem auch Aquarium) immer wieder geworben haben, ist auch etwas Anderes, manuelle kreuzweise Zug-Eingabe von 2 gleichzeitig im Analyse- Modus laufenden Engines bei unterschiedlichen best moves, funktioiniert natürlich auch im von mir gefragten Sinn, aber eben nur mit manueller Zugeinabe im Dauerrechnen.
Das kann hingegen wieder Nucleus 0.0.1 noch gar nicht, go infinite wird nicht unterstützt.
Eigentlich wäre ich vollauf zufrieden fürs Erste, wenn Ferdinand Mosca sein tolles Tool weiter entwickelte, vielleicht hat er ja auch schon, und ich weiß es nur nicht.
Frank Quisinsky hat gute Beziehungen zu "ferdy", wie er im CCC heißt, auf Franks Site habe ich aber beim kurzen Durschauen auch nichts Neues zu Nucleus gefunden, vielleicht sollte ich einfach mal auf Talkchess direkt an Ferndinand Mosca schreiben.
Edit: said and done

http://talkchess.com/forum3/viewtopic.php?f=2&t=77972&sid=3cf301b0a81d7593680c0cc44f92999c

Edit, edit: im CCC etwas zu schreiben in der letzten Zeit, passt aber auch zum Thema pain in the ass. Wenn man nicht das Häkchen bei Remember me beim Einloggen setzt, leider manchmal auch dann, kann man sicher sein, dass man beim Abschicken des Postings rausgeschmissen wird und wieder die Frage nach dem Log in kommt, natürlich ist der Text, wenn man ihn nicht vorher in die Zwischenablage kopiert hat, danach wieder weg.

Und wenn man dann das Häkchen gesetzt hat, wieder brav von vorn seinen Text aufs Neue getippt und abgeschickt (sicherheitshalber diesmal schon auch in die Zwischenablage kopiert, ist echt sehr zu empfehlen), dann ist der Server erstmal wieder unavailable, aus was für Gründen auch immer. Diesmal hatte ich aber gerade eine günstige Lücke zwischen den zwei Ärgernissen, es gibt ein Posting zum Link, ich kann's nur gerade wieder selbst nicht mehr lesen, geschweige denn nochmal editieren, für den Fall, dass ich doch noch einen Typo fände.
 
Parent - - By Jörg Oster Date 2021-08-19 10:50
Peter Martan schrieb:

Ja, auch interessant, aber ich schätze halt an den A-B-Engines das Hashlernen als eines der wichtigsten Features schlechthin und da können die LC0- artigen in keiner Weise mithalten für mich, eh klar, der Hash ist ganz etwas anderes als bei A-B, der NN-Cache wäre vielleicht das besser Vergleichbare, aber Backward ist auch mit Ceres im Vergleich zu dem, was ich von SF gewöhnt bin, just a pain in the ass, um mal wieder unanständig zu werden.

Ich bin mir gar nicht sicher, ob's überhaupt so ist, aber ich wüsste nicht, warum es anders sein sollte, wenn du mit Nucleus SF als Master sowohl auch als Slave2 nimmst, startet die Master- Engine unmittelbar nach der Slave 2 (nur dann, wenn der Alternativzug von Ceres vom SF- Zug abweicht, sonst wird gleich der eine Zug genommen, was ja im Fall, dass es derselbe ist, enorm Zeit spart) dass die Slave 2 (=Master-) Engine dann zwischen dem Output 2 und dem vom Master so entladen wird, dass der Hash gelöscht wird, glaube ich nicht, und nun hat man auf die Art (hoffentlich) das, was für mich der tiefere Sinn einer Dreihirn- Anwendung im Computerschach wäre, Shared Hash, wieder nur innerhalb der einen Engine, die wieder auf 2 "Partitionen" geteilt wird, einer vor und einer nach der Eingabe des Alternativ- Zuge von der Slave1 -Engine.

Du verstehst, worauf ich hinaus will?
LC0- Fish und Eman- Enigma waren auch ähnliche Ansätze, Shreddder- 3Hirn schon seit sehr langer Zeit, aber dass zwischen 2 Engines (gibt's eigentlich noch gar nicht, soviel ich weiß) oder wenigstens zwischen 2 Settings einer im GUI- Verbund mit einer dritten (einem echten 3Hirn, möchte ich es nennen) in einen gemeinsamen Hash eingetragen wird, das ist es, was ich gern (wieder) hätte. Fritz- Rybka kann das auch, aber nur mit der Fritz- Rybka- (3.x- aufwärts-) Engine im eigenen GUI. Auch nur ein GUI- Feature, aber für eine einzelne Engine eigens angepasst, die dadurch 2x gestartet werden konnte und mit einem gemeinsamen Hash lief.
"Shared Analysis", womit alle möglichen GUIs (vor allem auch Aquarium) immer wieder geworben haben, ist auch etwas Anderes, manuelle kreuzweise Zug-Eingabe von 2 gleichzeitig im Analyse- Modus laufenden Engines bei unterschiedlichen best moves, funktioiniert natürlich auch im von mir gefragten Sinn, aber eben nur mit manueller Zugeinabe im Dauerrechnen.
Das kann hingegen wieder Nucleus 0.0.1 noch gar nicht, go infinite wird nicht unterstützt.
Eigentlich wäre ich vollauf zufrieden fürs Erste, wenn Ferdinand Mosca sein tolles Tool weiter entwickelte, vielleicht hat er ja auch schon, und ich weiß es nur nicht.
Frank Quisinsky hat gute Beziehungen zu "ferdy", wie er im CCC heißt, auf Franks Site habe ich aber beim kurzen Durschauen auch nichts Neues zu Nucleus gefunden, vielleicht sollte ich einfach mal auf Talkchess direkt an Ferndinand Mosca schreiben.
Edit: said and done

<a class='ura' href='http://talkchess.com/forum3/viewtopic.php?f=2&t=77972&sid=3cf301b0a81d7593680c0cc44f92999c'>http://talkchess.com/forum3/viewtopic.php?f=2&t=77972&sid=3cf301b0a81d7593680c0cc44f92999c</a>

Edit, edit: im CCC etwas zu schreiben in der letzten Zeit, passt aber auch zum Thema pain in the ass. Wenn man nicht das Häkchen bei Remember me beim Einloggen setzt, leider manchmal auch dann, kann man sicher sein, dass man beim Abschicken des Postings rausgeschmissen wird und wieder die Frage nach dem Log in kommt, natürlich ist der Text, wenn man ihn nicht vorher in die Zwischenablage kopiert hat, danach wieder weg.

Und wenn man dann das Häkchen gesetzt hat, wieder brav von vorn seinen Text aufs Neue getippt und abgeschickt (sicherheitshalber diesmal schon auch in die Zwischenablage kopiert, ist echt sehr zu empfehlen), dann ist der Server erstmal wieder unavailable, aus was für Gründen auch immer. Diesmal hatte ich aber gerade eine günstige Lücke zwischen den zwei Ärgernissen, es gibt ein Posting zum Link, ich kann's nur gerade wieder selbst nicht mehr lesen, geschweige denn nochmal editieren, für den Fall, dass ich doch noch einen Typo fände.
 


Hallo Peter,

der Hash eines Programms gehört nur diesem Programm.
Kein anderes Programm darf normalerweise auf den Speicherbereich eines anderen Programmes zugreifen.
Dann erhältst du einen BSOD oder einfach einen Crash.

Du kannst natürlich einen Umweg gehen und den Hash eines Programms in eine Datei schreiben,
und mit dem anderen Programm in seinen Hash laden.
Das halte ich aber für sehr umständlich und auch fragwürdig.
Was sollte das eine Programm mit dem Hash anfangen, was das andere nicht konnte?

Gruß,
Jörg.
Parent - - By Peter Martan Date 2021-08-19 11:05 Edited 2021-08-19 11:18
Hallo Jörg, danke für dein Interesse!

Natürlich muss der Hash jeder Engine integer bleiben, drum sind die vorhandenen Ansätze ja auch alle "nur" für eine und dieselbe Engine vorhanden. Wenn du aber bei einer stinknormalen interaktiven Analyse mit zwei Engines, die abwechselnd oder gemeinsam laufen, die best moves der einen der anderen vorsetzt (so sie sich denn unterscheiden, und sei's nur in späteren Plies entlang der Output- Lines) gibst du damit "Denkanstöße", man weiß als fleißiger GUI- Benutzer, wenn man nicht nur beim Eng-Eng so wie der Waschmaschine beim Wäschewaschen zuschaut (c Chrilly Donninger), dass das mit Hash- Lernen funktioniert, beim Backward macht man ja auch nichts anderes, man "füttert den Hash an".
Das auf eine automatisierte übers GUI gesteuerte Art, das wäre der eigentliche Sinn einer "Shared Analysis", wie auch immer verschieden GUIs soetwas anbieten.
Die einzigen echten Shared Hash- Ansätze in dieser Hinsicht sind der zitierte vom Fritz- Rybka, da konnte man (kann man noch immer) die native engine in 2 Partitionen (Settings) starten und der Hash ist ein gemeinsamer, und der zweite Ansatz, den ich kenne, ist der von Nucleus.

Nucleus bietet "wenigstens" das, was die eine und die andere Slave- Engine als best move auswirft, der Master- Engine in dem Fall, dass die beiden Züge nicht gleich sind, zum ebenfalls als primary variant zu berechnenden an und es kommt dann natürlich auch immer wieder mal vor, dass sich Master- Engine, obwohl sie dieselbe ist wie z.B. Slave1, den best move überlegt und zu dem wechselt, was Slave2 oben hat.
Nichts anderes sieht man ja auch oft genug, wenn man nach einem ersten Standrechnen einen Zug ausspielt, der nicht oben war zum Schluss und abwartet. Ich bin wieder mal bei "Stellungstest"- artigen Motiven, aber dass es dabei nicht in erster Linie um irgendwelche Geschmackssachen über den Vergleich solcher Resultate mit denen anderer Tests zur "praktischen Spielstärke" geht (was auch immer das sein soll, beim Eng-Eng kommt's ja auch neben Hardware- TC und Teilnehmerfeld auf das Eröffnungstestset mehr und mehr an, nur so zum Thema Vergleichbarkeit von Spielstärketests ), sondern um die Grundlagen jeder enginegestützten interaktiven Analyse, muss ich dir nicht erklären, du weißt das, ich war nur gerade wieder mal so beim Tippen, grüßt
Parent - - By Thomas Plaschke Date 2021-08-19 12:24

>Es gibt es doch „Shared hash table“ :


Die werden aber von den Threads oder Prozessen eines Programms geteilt.

Um auf die Speicherbereiche (bspw. Hashtabellen) eines anderen Programms zugreifen zu können, müssten die beteligten Programme eine Schnittstelle dafür miteinander haben. Sinnvoll und unter Laufzeitaspekten ist das nur vertretbar, wenn beide Programme dieselben Informationen in den Tabellen ablegen und die Schlüssel in gleicher Weise aufbauen. Das sollen Rybka und Fritz gemacht haben? Trotz unterschiedlicher Bewertungsfunktionen? Hat das funktioniert - also ein gutes/besseres Ergebnis gebracht? Oder war das vielleicht nur missverstanden?

Viele Grüße
Th. Plaschke
Parent - By Peter Martan Date 2021-08-19 12:54 Edited 2021-08-19 13:39
Thomas Plaschke schrieb:

Das sollen Rybka und Fritz gemacht haben?

Du kennst es nicht nur nicht, du hast auch die viele Mühe, die ich mir gab, es zu erklären, nicht wirklich gewürdigt.

Es gab ab Rybka 3.x (wenn es nicht erst eine 4er Version war, müsste ich jetzt nachforschen, spielt aber keine Rolle), eine Rybka- Version, die über chessbase unter diesem Namen verkauft wurde, mit der begann es möglich zu werden, Rybka als EngineA und als EngineB zu laden über einen eigenen GUI- Befehl, von dem die eine Partition single thread lief und die andere SMP, die eine konnte man bei der Analyse so wie jede chessbase- Engine "sperren", sodass sie auf der Brettstellung weiterrechnete, auch bei Eingabe von Zügen übers GUI in die andere.
Beide "Engines" hatten einen gemeinsamen Hash (also echten shared hash) und man konnte beim Analysieren zuschauen, wie sich durch Eingabe von Zügen mit der einen Engine der Output der anderen änderte. Das geht immer noch mit Fritz 15, der die das ja auch eine Rybka 4.x- Engine ist, auch wenn Fritz 15 ebenso wie Rybka keine nativen chessbase- Engines sind oder waren, sie taten und tun nur so. Du kannst sie ja auch in anderen GUIs als UCI- Engines installieren, was du mit nativen nicht kannst.

Und ja, es handelt sich um shared hash nur einer einzigen Engine, die aber in 2 Settings gestartet wird und jetzt kannst du damit über das "Anfüttern von Hash" mit der einen Partition derselben Engine den gemeinsamen anders, gezielter, interaktiver füllen (lassen), als mit einer allein.

Nucleus tut etwas ähnliches, wenn du z.B. SF als Slave2 und als Master lädst, dann Slave1 (z.B Ceres) (automatisch) seinen bestimmten einstellbaren Zeitanteil lang gerechnet hat, SF in der Folge ebenso, derselbe SF als Master noch einmal dran kommt und (nur, wenn sich die beiden Zugvorschläge unterscheiden) den einen (und den anderen) zwangsweise ebenfalls als primary line, weil schon "am Brett ausgeführt" (nur in der internen Berechnung und Bewertung) neuerlich, wieder eine vordefinierte Zeit lang weiterberechnet in Hinblick auf den besten Gegenzug.
So wird von der Master- Engine der eine mit dem anderen Zug in der Bewertung "nach dem Ausführen" an der Gegenzug- Stellung neu bewertet und in der Sortierung bzw. der Reihung und der Eval dann erst entschieden.

Alles klar?
Nichts anderes hätte ich (jetzt zunächst mal) gerne weiter entwickelt. Nucleus 0.0.1 hat momentan nur folgende Schwachpunkte als Analyse- Engine für mich: go inifinite wird nicht unterstützt, und es können "nur" maximal je 2G hash für die einzelnen Engines zugeteilt werden.

Wenn's dich wirklich interessiert, worum's in diesem Thread geht oder hätte gehen sollen, lies dir die Links durch, die ich am Anfang gesetzt hatte zur Berschreibung von Nucleus.
Dann danke für dein Interesse und lass uns gerne weiter drüber reden, wenn du nur anmerken wolltest, dass es das alles nicht gibt, und es ohnehin keinen Sinn hätte, wenn's es gäbe, habe ich das jetzt auch schon verstanden und bin dir auch nicht weiter böse.
Parent - - By Jörg Oster Date 2021-08-19 15:05
Das betrifft aber die Suche, bzw. deren Parallelisierung.
Das heißt auf neudeutsch übrigens LazySMP

Peter M. geht es mehr um das Nutzen von einer Hashtabelle durch 2 Engines/Programme.
Parent - By Peter Martan Date 2021-08-19 18:02 Edited 2021-08-19 18:58 Upvotes 2
Richtig, Jörg, danke.
Aber wie gesagt, ich wäre schon mit der besseren Nutzung zweier Hashtable- Speicher (oder eines NN-Cache und eines Hash- Speichers) über eine indirekte Kommunikations- Schnittstelle einer GUI- Funktion zufrieden. Eigentlich ist das, was Nucleus macht, ja auch mehr eine GUI- Aufgabe als die einer Engine selbst.

Marco Costalba hatte mal so etwas als Batch- Datei für SF, um ihn (für SF) besonders schwierige Stellungen besser lösen zu lassen, bzw. die Teststellungen als besonders schwer (für SF) zu filtern.

Das gab einfach nach einer bestimmten Standrechenzeit den Lösungszug der Engine vor und danach wurde noch einmal eine Weile gerechnet.
Seine Testsuite hieß übrigens Poor Fish.

http://talkchess.com/forum3/viewtopic.php?f=2&t=61526&hilit=poor+fish+costalba&sid=682c3dcf9c332bd33b295c76ae78929a&start=10

Da gab's sogar eine github- site von ihm eigens dazu, ist nicht mehr aktiv:

http://talkchess.com/forum3/viewtopic.php?p=687439#p687439

Das Tool, das Marco dafür erstellte, nannte er double blind test:

http://talkchess.com/forum3/viewtopic.php?p=687518&sid=682c3dcf9c332bd33b295c76ae78929a#p687518

Die typische Erfüllung des Lehrsatzes "Der Stellungstest testet die Teststellungen". Das wurde in grauer Vorzeit von den Teststellungs- und Stellungstest- Phobikern gerne als Totschlagargument gegen die verwendet, die über Teststellungen auch nur zu schreiben wagten. Dass sie nur ihre eigens (Des)interesse damit totgeschlagen haben, ist Vielen vielleicht immer noch nicht aufgefallen. Muss ja keiner Stellungstests machen und muss sich ja keiner mit Teststellungen befassen, aber womit man sich im Schach als Mensch dann überhaupt befassen soll, wenn nicht mit Stellungen, das frag' ich mich halt auch immer wieder. Ja, mit Plänen, Partien, von mir aus Zügen. Aber ohne Stellungen, von denen man ausgeht?
Natürlich testet der Stellungstest die Teststellungen, ich fand das immer ausgesprochen gut, wenn's denn so war und sich dabei dann herausstellte, dass es gute Teststellungen für gute Stellungstests waren. Und herauszufinden, dass schlechte Teststellungen schlechte Stellungstests ergeben, wäre vielleicht auch für Leute gut, die schlechte Eröffnungsstellungen für schlechte Engine- Matches verwenden und sich wundern, anstelle sich klar zu machen, dass es auch nur ausgespielte Stellungstests waren und sind, von Eröffnungsteststellungen ausspielen zu lassen.
So what?

Immer nur von der Grundstellung aus spielen Lassen und nicht einmal mehr Zuschauen, weil man eh bei den kurzen TCs, um Partiezahlen zu bekommen, sowieso nichts mehr mitbekommt, was am Brett vorgeht, je besser die Engines werden, umso weniger. Ist es wirklich das, was das Computerschach ausmacht?
All diese Dinge bringe ich auch deshalb mal wieder in Erinnerung, um die Stellungstest- Phobiker ein bisschen mit Leuten, denen man wirklich nicht vorwerfen kann, sie kennten den Unterschied zwischen "Stellungstests", und "praktischer Spielstärke" nicht.

Marco Costalba hat das SF- Framework auf die Beine gestellt, dass sich der trotzdem nicht zu gut war, sich mit Teststellungen und Stellungstests zu befassen, sollte man sich mal auf der Zunge zergehen lassen, bevor man sich wieder einmal aus einem alten Schützengraben eines alten Lagerdenkens hervortut.
Ich kann mich noch gut an Statements von Gerhard Sonnabend und Ingo Bauer (schade, dass beide nicht mehr hier schreiben) erinnern, wenn sie einander zuprosteten hier, es würden immer wieder mal die Stellungstester aus ihren Löchern hervorkommen und sie meinten damit, sie würden in den Foren dann schon dafür sorgen, dass sich diese "Anderen" möglichst bald wieder verstecken müssten.

Inzwischen meint sogar Prof. Althöfer, beim Elobolzen im heutigen Computerschach fehlten der Messung Parameter. Beim Stellungstest hätte man gleich mal beliebig viele Vergleichsparameter, vorausgesetzt, man macht nicht denselben Fehler wie beim Eng-Eng, sich auf die ganzen und halben Punkte allein zu beschränken.
Die Teststellungen als solche geben soviel mehr her, natürlich muss man immer jede einzelne in Hinblick auf Output- Lines betrachten, und ja, das macht Arbeit am Brett, und nein, man muss es nicht so machen, wie der Nachbar oder die- oder derjenige, der's einem gerade in einem Forum vorschreibt. Dafür braucht man aber eigentlich auch wirklich nicht mehr darum zu streiten, ob's überhaupt Sinn macht, Teststellungen als solche zu betrachten.

Das ist übrigens der härteste Kampf unter den "Lagern" im Computerschach seit grauer Vorzeit, und jetzt erst recht, wo's die Elo auch nicht mehr als Argument für sich hergeben. Das "Testmonopol" möchte ich es nennen, oder die "Testhoheit". Mehr als die Programmierer untereinander waren einander von Anfang an die Tester um die Programme neidig, die sie auf ihre ureigenste und unbestreitbarste Art testen durften, heutzutage wären die Profitester froh, wenn sie mit den Versionsentwicklungen und den Netzen und der der Hardware- Entwicklung überhaupt noch halbwegs mitkämen.
Heute ist der Kampf deshalb noch eine Nummer verbissener, weil die User, an die die Tests delegiert werden, damit sie Hardware- Zeit zur Verfügung stellen, (was wäre SF und LC0 und Ceres denn heute ohne solche Bots auf Hardware von Usern?) von den Entwicklern und deren in Patch- Verantwortung stehenden Testern bei der Stange, sprich einem bestimmten Framework, gehalten werden müssen.

Ich würde ja in solchen Zusämmenhängen immer lieber nur von den einzelnen Teststellungen selbst reden, nur um solche geht's immer, egal, ob es taktische single best moves sind oder Eröffnungsstellungen.

Die Eröffnungstestsets zum Ausspielen Lassen mit weniger Remisquote sind für mich überhaupt ein Zwischending zwischen ausgespielten Stellungstests und "purem" Eng-Eng, das die "praktische Spielstärke" ja heutzutage auch schon absolut nicht mehr absolut abbildet, sondern auch nur mehr streng relativiert gesehen im Zusammenhang mit Hardware- TC, Teilnehmerfeld und eben Eröffnunsstellungen, jedes noch so breite und kurze Buch ist eine Testsuite für sich. Transitivität lässt grüßen und verabschiedet sich auch gleich wieder vollends.
Ich beginne wieder etwas in die Gebetmühle zu verfallen, sorry...
- - By Peter Martan Date 2021-08-24 13:36 Edited 2021-08-24 13:52
Modifikation Jörg Oster.
Die letzte Version, die ich kenne, ist 1.1,

https://github.com/joergoster/Stockfish/releases/tag/v1.1

Ob Jörg wohl noch daran weiter arbeitet?

Ich habe diesen Fisch sehr gern, allein das Nullmove- Pruning als UCI Option ist schon sehr nützlich.
Auch die Wählbarkeit zwischen Hybrid und NNUE (pure)- Eval wie bei Cfish find ich gut, und meiner Meinung nach ist die Engine auch ein besonders guter Mattsucher.
Hofft und harrt
Parent - - By Jörg Oster Date 2021-08-25 12:53
Peter Martan schrieb:

Modifikation Jörg Oster.
Die letzte Version, die ich kenne, ist 1.1,

<a class='ura' href='https://github.com/joergoster/Stockfish/releases/tag/v1.1'>https://github.com/joergoster/Stockfish/releases/tag/v1.1</a>

Ob Jörg wohl noch daran weiter arbeitet?

Ich habe diesen Fisch sehr gern, allein das Nullmove- Pruning als UCI Option ist schon sehr nützlich.
Auch die Wählbarkeit zwischen Hybrid und NNUE (pure)- Eval wie bei Cfish find ich gut, und meiner Meinung nach ist die Engine auch ein besonders guter Mattsucher.
Hofft und harrt


Hallo Peter,

eigentlich ist die letzte Version die 1.5. https://github.com/joergoster/Stockfish/releases/tag/v1.5

grundsätzlich würde ich SF-MOJO gerne auf den aktuellen Stand von SF bringen.
Es ist halt schon schwierig, mit der Entwicklung Schritt zu halten.
Erschwerend kommt noch hinzu, dass einige Änderungen, die ich an MOJO vorgenommen habe,
ein automatisches Updaten verhindern. Ich nuss also mehr oder weniger alles händisch machen.
Und entgegen dem, was viele vielleicht denken, es ist sehr zeitintensiv.

Außerdem arbeite ich zur Zeit an einem anderen Projekt mit.
Aber ich habe MOJO nicht vergessen.

Also, einfach bitte noch etwas Geduld haben. 

Gruß,
Jörg.
Parent - By Peter Martan Date 2021-08-25 13:14 Edited 2021-08-25 13:41
Danke für die prompte Antwort und den aktuellen Link, Jörg. Ich fürchte zwar, dass ich die Version vom Mai schon aus einem anderen Forum runtergeladen habe, aber wenn ich weiß, dass es dieselbe ist wie deine, und dass es wieder Updates geben wird, bin ich schon beruhigt.
- By Peter Martan Date 2021-08-26 10:11
http://talkchess.com/forum3/viewtopic.php?p=903242#p903242

Die Engine ist für mich der beste Mattsucher neben den Spezialprogrammen wie Chest und Gustav.
- By Lothar Jung Date 2021-08-28 20:47 Edited 2021-08-28 20:53
Hier ist der GitHub Link:

https://github.com/QueensGambit/CrazyAra

Fortgeschrittene Python KI-Engine mit umfangreicher Dokumentation und Veröffentlichungen.
Sie verwendet ein Netz, das aus menschlichen Partien generiert wurde.

Hier dazu der ausführliche Thread im Forum.

https://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?tid=12001
- - By Lothar Jung Date 2021-09-05 10:04 Edited 2021-09-05 10:08
Ein Klassiker Robert Hyatt Crafy Chess:

https://craftychess.com/hyatt/hyatt.html

https://de.wikipedia.org/wiki/Crafty?wprov=sfti1
Parent - - By Lothar Jung Date 2021-09-05 14:16
Parent - - By Thomas Plaschke Date 2021-09-05 15:33
Schön, dass Du auch an Crafty gedacht hast.

Als beste Quelle für Crafty sehe ich die Website craftychess.com an. Dort findet man den Quellcode für alle Versionen ab 8.11. Auch verlinkt man zum Crafty Chess interface auf einer Sourceforge-Seite. Eventuell gibt es dort etwas Neueres als auf Deinem Link (ich hab's nicht überprüft).

Darüber hinaus bietet Michael Byrne Crafty 25.3 auf Github an. Gegenüber 25.2 sollen Fehler im Umgang mit den Syzygy-Tabellen bereinigt worden sein.
Der Quellcode gibt sogar Version 25.6 (Versionsgeschichte in main.c und Versionsnummer in data.c ) aus. Nach meiner Erinnerung spielt diese Version allerdings "merkwürdig", so dass ich sie nicht mehr eingesetzt habe. Was genau "merkwürdig" war, habe ich mir leider nicht - gemerkt -.

Viele Grüße
Th. Plaschke
Parent - - By Peter Martan Date 2021-09-05 19:40
Einen NNUE- Klon gibt's auch schon eine Weile.

http://www.jurjevic.org.uk/chess/vafra/index.html

Hier

http://talkchess.com/forum3/viewtopic.php?t=77200

wurde er etwas diskutiert.
Parent - - By Lothar Jung Date 2021-09-18 09:51
Parent - By Peter Martan Date 2021-09-18 09:55
Der Bruder von ShashChess, der gerade als 18.2 erschienen ist.

https://github.com/amchess/ShashChess/releases

BrainLearn wurde auch aktualisiert (13.1), hab' ich aber (noch) nicht runtergeladen, ich muss mich etwas bescheiden schön langsam bei den bösen Klonkriegern, wie sie von Manchen genannt werden
- By Lothar Jung Date 2021-09-05 19:34 Edited 2021-09-05 19:38
Die Fruit Engine von Fabien Letouzey war ein Meilenstein in der Entwicklung des Computerschachs:

Hier der SourceCode und das Compile:

https://github.com/Warpten/Fruit-2.1

Hier die Hintergründe:

https://www.chessprogramming.org/Fruit
- By Lothar Jung Date 2021-09-05 21:28 Edited 2021-09-05 21:32
Rebel und ProDeo sind auch ganz wichtige Engines der Computerschachentwicklung.
Hier die aktuelle Version3.2 von ProDeo:

https://rebel13.nl/prodeo/prodeo-3.1.html

Hier die ProgrammerVersion:

https://rebel13.nl/prodeo/prodeo%202.9.html
- - By Lothar Jung Date 2021-09-06 08:08 Edited 2021-09-06 08:18
Die Wasp Engine von John Stanbeck bietet schon auf kleiner Hardware und/oder auf nur einem Kern sehr interessantes und starkes Angriffsschach. Kürzlich ist die neue Version 4.5 erschienen. Ideal für Brettcomputer.

„Wasp v4.50 can play with 1500-2632 Elo with 1.4Ghz (1 Core) on Raspberry 3b+ with it's human-like attacking style, full of aggressive moves and very strong king-safty in mid-games. A very nice chess-computer combination for solo-playing.“

https://www.amateurschach.de/
Parent - By Kurt Utzinger Date 2021-09-20 11:11
Lothar Jung schrieb:

Die Wasp Engine [...] Kürzlich ist die neue Version 4.5 erschienen. Ideal für Brettcomputer.


Hallo Lothar
Unter kürzlich verstehe ich eine deutlich jüngere Engine als eine mit Datum vom 1. Januar 2021. Bedeutung gemäss Duden = vor kurzer Zeit (Tagen oder Wochen)
Gruss
Kurt
- By Lothar Jung Date 2021-09-06 09:01
Hervorzuheben sind auch die Stockfishderivate von Jörg Oster:

https://github.com/joergoster
- - By Lothar Jung Date 2021-09-20 09:10
Hier die Webseite von GNU Chess:

https://www.gnu.org/software/chess/

Die Engine basiert auf Fruit.

Hier die Dokumentation:

https://www.gnu.org/software/chess/manual/gnuchess.pdf
Parent - - By Benno Hartwig Date 2021-09-20 21:02

> Hier die Webseite von GNU Chess:


Ein GnuChess gab es doch auch schon auf dem Atari-ST (80er-Jahre).
Das heutige GnuChess hat damit nichts zu tun, richtig?
Parent - By Lothar Jung Date 2021-09-20 21:13 Edited 2021-09-20 21:16
Genau, Grundlage ist jetzt Fruit.
GNU Chess ist ein Opensource Projekt.
Die jetzige Version ist von März 2021.
Up Topic Hauptforen / Schachprogrammierung / Engines

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill