Schachcomputer.info Community

Schachcomputer.info Community (https://www.schachcomputer.info/forum/index.php)
-   Die ganze Welt der Schachcomputer / World of chess computers (https://www.schachcomputer.info/forum/forumdisplay.php?f=2)
-   -   UCI vs WinBoard Engines (https://www.schachcomputer.info/forum/showthread.php?t=6674)

LocutusOfPenguin 25.08.2022 22:04

UCI vs WinBoard Engines
 
Zitieren:

Zitat von Mythbuster (Beitrag 108841)
Hi,
nope! Es wird, Stand heute, bei UCI bleiben ... Winboard unter Linux / Raspberry wäre vermutlich nicht weniger Aufwand für JdK als direkt daraus eine UCI Geschichte zu machen ... ;)

Wenn neuer King, dann nur, wenn Johan tätig wird.

Gruß,
Sascha

Einer meiner Vorredner hat schon sein Senf dazu gegeben, also spendiere ich eben noch meine Würstchen :-)

UCI ist einfach, Winboard nicht. WB ist ein K(r)ampf. UCI in ein nicht UCI Programm einzubauen, halte ich für recht einfach, insbesondere wenn man nun auch noch (im Vergleich) die Algo's des eigentlichen Schachprogramms berücksichtigt.

Zusammenfassung:
Es gibt eigentlich keinen (sinnvollen) Grund in einem Retro nicht auch noch UCI einzubauen, damit man in der Neuzeit ankommt und alle sind glücklich.

Soweit die 1cent Meinung eines Entwicklers,
Jürgen

AlexS 26.08.2022 09:28

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Zitieren:

Zitat von LocutusOfPenguin (Beitrag 108853)
Es gibt eigentlich keinen (sinnvollen) Grund in einem Retro nicht auch noch UCI einzubauen, damit man in der Neuzeit ankommt und alle sind glücklich.

Da muss ich etwas widersprechen. Für eine Engine, die als Winboard-Engine konzipiert ist, ist der Schritt zu UCI je nach Programmaufbau manchmal ein großer.

WInboard lässt die Engine eine Partie spielen, es gibt jederzeit einen Spielstand. UCI setzt der Engine jedes mal eine Zugfolge vor und lässt sie rechnen. Es gibt keinen definierten Spielstand. Selbst das Pondern wird als einzelne Stellung an die Engine übergeben. Erstes Problem: Was passiert mit den Hash-Tabellen. Zweites Problem: Pondern muss komplett anders gehandelt werden. Manche WB-Programme haben mehrere Ponderzüge, bzw. wechseln den Ponderzug, was mit UCI gar nicht umsetzbar ist. Man muss also evtl. den gesamten Programmablauf anpassen.

Alternativ könnte man einen internen Adapter programmieren was aber immer eine Fehlerquelle darstellt. Genausogut kann der User einen externen Adapter verwenden.

LocutusOfPenguin 26.08.2022 11:52

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
AlexS:

Ich sprach davon das man eine RETRO Engine hat, die hat weder UCI noch WB.

Diese Engine schickt ihren Kram an ein Display Modul also eine BlackBox mit einer Schnittstelle zu "wenig Text ausgeben" (ihren State).

So, und jetzt steht dieser Entwickler vor der Aufgabe, entweder WB oder UCI zu implementieren. Und da tut er sich viel leichter mit UCI (ok, pers. Meinung).

Wenn ich aus WB UCI mache, oder umgekehrt, ist das ein Aufwand. Aber das liegt meiner Meinung nach auch daran das da immer "WB" dabei steht, haha. Das habe ich aber/also nicht gemeint, sondern - wie gesagt - nix ist da.

Wenn nun ein begnadeter Engine Entwickler sagt das "UCI nachträglich einzubauen ein Riesen Aufwand sei", dann verstehe ich das nicht.
Anstatt das an das Display zu schicken, kann man einfach eine UCI Textausgabe machen. Den SourceCode gibt es zu Hauf im iNet -> aber er ist ja sowieso ein SW-Gott, also sollte das auch so kein Problem darstellen ;-)
Also mein Vergleich "Schachprogramm schreiben <=> UCI Schnittstelle)

Mythbuster 26.08.2022 12:36

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
@Pinguin: Wenn Du der Meinung bist, dass der Aufwand, den King aus dem King Modul inkl. aller Einstellmöglichkeiten und Anzeigen zu UCI zu portieren, nicht soooo groß sei, melde Dich bitte bei Thomas oder Johan ... ganz ernst gemeint! :top:

LocutusOfPenguin 26.08.2022 13:45

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Ja, mit Thomas rede ich oft genug. Mit dem Gott hatte ich noch nicht das Vergnügen. Ich bin ja auch pEnguin, nicht Bruce (kennst du den Film?).

Wie kommst du denn auf die Idee, das ich zufälligerweise Johan meinten könnte?!? Jetzt spricht er vielleicht nicht mehr mit mir, haha.

Das tolle an UCI ist ja, das man nicht alles auf einmal machen muss. Ich spreche aus Erfahrung mit dem picochess Projekt. Da habe ich X-mal irgendwelche uci.c files gelesen, die versteht man auch viel besser, als sowas wie "engine.c", daher darf ich mir das gefällte Urteil über den Aufwand erlauben :-)

Jürgen formally know as Locutus

Mythbuster 26.08.2022 14:03

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Zitieren:

Zitat von LocutusOfPenguin (Beitrag 108865)
Das tolle an UCI ist ja, das man nicht alles auf einmal machen muss.

Hi Jürgen!

Nur dass wir hier nicht von einem Hobbyprojekt sprechen, sondern von einem kommerziellen Premiumprodukt. Wenn man da etwas ankündigt, dann erwarten die Käufer, dass alles, was sie von den bisherigen Versionen kennen, auch hier machbar ist.

Und wenn ich sehe, was bei der Pico / Webpico Geschichte aus den alten Engines geworden ist ... rein in Bezug auf Einstell- und Anzeigemöglichkeiten, ist das kaum etwas, was man heute in einem Schachcomputer wie dem Phoenix anbieten könnte ...

Nur um es klar zu schreiben: Ich hätte gerne eine Nativeversion vom King ... sei es 2.61 oder auch eine 3.xx Version, die es als Winboard Versionen für Windows gibt ... und ja, dafür würde ich auch gerne extra zahlen, kein Problem ...

Aber: Dann erwarte ich alle Anzeigemöglichkeiten wie ich sie aus dem King Element oder dem Chessmaster kenne und auch alle individuellen Einstellmöglichkeiten ... denn genau die machen ihn letztendlich aus.

Gruß,
Sascha

AlexS 26.08.2022 18:08

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Zitieren:

Zitat von LocutusOfPenguin (Beitrag 108862)
Ich sprach davon das man eine RETRO Engine hat, die hat weder UCI noch WB.

Ich dachte wir sprechen von TheKing. TheKing ist eine Winboard-Engine. Unabhängig davon, wo das Programm sonst noch eingebaut wurde.

Zitieren:

Zitat von LocutusOfPenguin (Beitrag 108862)
AlexS:
Wenn ich aus WB UCI mache, oder umgekehrt, ist das ein Aufwand.

Und warum soll das für ein nicht WB Konsolenprogramm weniger Aufwand sein? Jedes Konsolen-Schachprogramm funktioniert im Programmablauf wie eine WB-Engine. Die Probleme mit Pondern und fehlendem Spielstand ist ein reines UCI Problem das je nach Programm bei der Implementierung von UCI mehr oder weniger Aufwand bedeutet.

Rasmus 29.08.2022 10:47

AW: UCI vs WinBoard Engines
 
Ich denke, man sollte hier zwischen Schwierigkeit und Aufwand unterscheiden. Natürlich ist es keine Raketenwissenschaft, eine WB-Engine auf UCI umzuschreiben. Habe ich schon gemacht.

Auch den Spielstand kann man bei UCI beibehalten, weil zwar das Protokoll zustandslos ist, aber die Engine muß es nicht sein. Man kann sich den Hash der aktuellen Position merken, falls sie nochmal übertragen wird, sowie die Hashes aller legalen Folgezüge. Damit kann man z.B. erkennen, wenn der Gegner mit der erwarteten Hauptvariante fortsetzt, so daß man den eigenen Zug in der HV bevorzugt untersucht. Funktioniert auch, wenn statt startpos plus moves das Idiom mit der FEN-Position genutzt wird.

Es wären aber aus dem Bauch geschätzt drei Wochen Aufwand in Vollzeit plus nochmal eine Woche für Tests und Debugging. Wenn Johan auch noch einen regulären Vollzeitjob hat sowie andere Prioritäten im Leben, ist das schon verständlich, wieso er da nicht so motiviert sein mag. Zumal Protokoll-Implementierung für die meisten Schachprogrammierer der eher lästige Teil ist, was die Motivation nochmal senkt.

LocutusOfPenguin 29.08.2022 13:57

AW: UCI vs WinBoard Engines
 
Zitieren:

Zitat von Rasmus (Beitrag 108984)
Ich denke, man sollte hier zwischen Schwierigkeit und Aufwand unterscheiden. Natürlich ist es keine Raketenwissenschaft, eine WB-Engine auf UCI umzuschreiben. Habe ich schon gemacht.

Auch den Spielstand kann man bei UCI beibehalten, weil zwar das Protokoll zustandslos ist, aber die Engine muß es nicht sein. Man kann sich den Hash der aktuellen Position merken, falls sie nochmal übertragen wird, sowie die Hashes aller legalen Folgezüge. Damit kann man z.B. erkennen, wenn der Gegner mit der erwarteten Hauptvariante fortsetzt, so daß man den eigenen Zug in der HV bevorzugt untersucht. Funktioniert auch, wenn statt startpos plus moves das Idiom mit der FEN-Position genutzt wird.

Es wären aber aus dem Bauch geschätzt drei Wochen Aufwand in Vollzeit plus nochmal eine Woche für Tests und Debugging. Wenn Johan auch noch einen regulären Vollzeitjob hat sowie andere Prioritäten im Leben, ist das schon verständlich, wieso er da nicht so motiviert sein mag. Zumal Protokoll-Implementierung für die meisten Schachprogrammierer der eher lästige Teil ist, was die Motivation nochmal senkt.


Also ich wollte KEIN Krieg zw. WB und UCI anfangen. Was ich mag, ist wohl deutlich geworden - das spielt aber keine Rolle! Ich habe das geschrieben, weil eben Johan sagte, das es ein Riesenaufwand sei.
Ich finde das gehörte in den Phoenix Thread (es ging um Johan, WB, UCI und eben die Integration von TheKing in PHOENIX - nix allgemeines, aber OK...nur bin ich jetzt nicht mehr so motiviert zu schreiben ;-)

Und JA, ich glaube der wirkliche Grund liegt daran, das das eben super langweilig ist...ich wollte das auch nicht unbedingt machen, sondern lieber ein tolles Schachprogramm schreiben...das ist irgendwie erbaulicher.

Und JA, ich habe ewig mit den (div) Entwicklern herum gekämpft, damit sie mal das UCI Protokoll richtig (bzw vollständig - bei picochess war daher nur zum Teil "Alternativer Zug" möglich) einbauen...deswegen habe ich geschrieben "Man kann auch erstmal klein anfangen" was aber nicht heißen sollte, das jetzt irgendwelche Features erstmal weg geworfen werden, aehmm.
Denn:
Der Aufwand bei Phoenix ist wohl eher in der GUI zu sehen, jedenfalls meiner Meinung nach - obwohl 3W Entwicklungszeit das halte ich für zu viel, aber ich habe auch WB immer ignoriert ha.

So long, Jürgen

Chessguru 29.08.2022 15:58

AW: UCI vs WinBoard Engines
 
Hallo Jürgen,

Zitieren:

Zitat von LocutusOfPenguin (Beitrag 108989)
Also ich wollte KEIN Krieg zw. WB und UCI anfangen. Was ich mag, ist wohl deutlich geworden - das spielt aber keine Rolle! Ich habe das geschrieben, weil eben Johan sagte, das es ein Riesenaufwand sei.
Ich finde das gehörte in den Phoenix Thread (es ging um Johan, WB, UCI und eben die Integration von TheKing in PHOENIX - nix allgemeines, aber OK...nur bin ich jetzt nicht mehr so motiviert zu schreiben ;-)

nein, denke ich nicht.

Für den Normalsterblichen User ist aus meiner Sicht nur die Info interessant, welche Programme im Gerät momentan vorhanden sind.

Fakt ist, das Programm „The King“ ist nicht mit dabei. Die Hintergründe, warum das Programm nicht dabei ist, hatte Sascha sogar kurz angesprochen. Sehr schade, wie ich finde, aber so ist es nun mal und Ende der Info.

Das Aufdröseln der möglichen technischen Hintergründe bzw. die Sichtweise verschiedener Programmierer führt einfach viel zu weit in dem Thread, weil etliche User wohl nicht einmal wissen, was sich hinter UCI oder WinBoard verbirgt.

Somit habe ich die Aussagen nicht gelöscht, sondern in einen eigenen Thread ausgelagert. Hier kann man trefflich darüber diskutieren, streiten... wie auch immer.

Gruß
Micha

AlexS 30.08.2022 07:47

AW: UCI vs WinBoard Engines
 
Zitieren:

Zitat von LocutusOfPenguin (Beitrag 108989)
Also ich wollte KEIN Krieg zw. WB und UCI anfangen. Was ich mag, ist wohl deutlich geworden

Ich denke man kann es einfach zusammenfassen:

UCI ist das Protokoll, das die GUI-Entwickler bevorzugen, da es die Kontrolle der GUI gibt. WB ist das Protokoll, das die Engine-Entwickler bevorzugen, da die Engine für das Spielen von Schachpartien programmiert ist, und nicht für das berechnen von einzelnen Stellungen.

Genausowenig wie der Engineprogrammierer vom GUI Entwickler verlangen kann, dass die GUI WB unterstützt kann der GUI Entwickler verlangen, dass eine Engine UCI unterstützt. Klar kann man fragen, aber wenn jemand sich für nur eine Variante entscheidet sollte das respektiert werden.

Rasmus 30.08.2022 09:11

AW: UCI vs WinBoard Engines
 
Zitieren:

Zitat von AlexS (Beitrag 109001)
UCI ist das Protokoll, das die GUI-Entwickler bevorzugen, da es die Kontrolle der GUI gibt.

Die Anwender bevorzugen auch UCI, was natürlich nicht direkt am Protokoll liegt, sondern daran, wie die jeweiligen Ökosysteme sich entwickelt haben. WB-Engines haben immer irgendwelche Probleme (alleine schon, eine Analyse zu unterbrechen), und der ganze Zirkus mit den Commandline-Optionen war auch mies, zumal die für jede Engine wieder anders waren. Das UCI-Ökosystem bot Engines, die einfach funktionierten.

Zudem kann die GUI natürlich auch WB-Engines so ansprechen, wie sie das bei UCI tut: mit Übertragung einer Startposition nebst Zugliste. Dadurch liegt z.B. das Eröffnungsbuch bei der GUI, auch mit WB.

Zitieren:

WB ist das Protokoll, das die Engine-Entwickler bevorzugen
Nein. WB ist heute kaum noch von Bedeutung und eigentlich Legacy. Aus Entwicklersicht hat WB nur einen "Vorteil": man muß während der Berechnung keinerlei Eingaben verarbeiten. Gut, man kann dadurch auch keine Analyse bis Nutzerabbruch machen, wenn man das nicht einbaut.

Zitieren:

da die Engine für das Spielen von Schachpartien programmiert ist, und nicht für das berechnen von einzelnen Stellungen.
Die Rangfolge der Engines legt nicht nahe, daß UCI-Engines da einen Nachteil hätten. Bei den Top-Engines ist keine einzige mit WB. Zudem, wie ich schon schrieb, kann man auch UCI so implementieren, daß man nicht nur einzelne Stellungen abarbeitet, sondern eine Spielfortsetzung erkennt, etwa um HV-Treffer auszuwerten.

AlexS 01.09.2022 21:22

AW: UCI vs WinBoard Engines
 
Zitieren:

Zitat von Rasmus (Beitrag 109005)
Die Anwender bevorzugen auch UCI,

Für den Anwender macht WInboard 2 oder UCI keinen Unterschied.

Zitieren:

Zitat von Rasmus (Beitrag 109005)
Zudem kann die GUI natürlich auch WB-Engines so ansprechen, wie sie das bei UCI tut: mit Übertragung einer Startposition nebst Zugliste. Dadurch liegt z.B. das Eröffnungsbuch bei der GUI, auch mit WB.

Führt aber zu noch größeren Problemen. Ich erinnere an die Zeit wo Chessbase genau das mit dem WB-Adapter gemacht hat. DIe Engines hatten Probleme durch die iniziierung der Hashtabellen nach jedem Zug, und durch nicht definierte Zeitkontrollen mit aufgezwungenem externen Buch.


Zitieren:

Zitat von Rasmus (Beitrag 109005)
Nein. WB ist heute kaum noch von Bedeutung und eigentlich Legacy. Aus Entwicklersicht hat WB nur einen "Vorteil": man muß während der Berechnung keinerlei Eingaben verarbeiten.

Die Diskussion drehte sich ja um die alten Programme und um die Probleme beim nachträglichen implementieren von UCI. Wer eine neue UCI-Engine schreibt hat diese Probleme logischerweise nicht.

Rasmus 01.09.2022 22:03

AW: UCI vs WinBoard Engines
 
Zitieren:

Zitat von AlexS (Beitrag 109109)
Für den Anwender macht WInboard 2 oder UCI keinen Unterschied.

WB2 kam als Reaktion auf UCI, und viele WB-Engines haben auch heute noch irgendwelche CLI-Optionen beim Aufruf der Exe. Plus daß es für den Anwender sehr wohl einen Unterschied macht, ob z.B. Analyse geht oder nicht, abhängig davon, ob der Programmierer die Eingabe während der Suche abfragt oder nicht - ist ja optional im Protokoll. Was wieder bei jeder WB-Engine individuell ist.

Zitieren:

Führt aber zu noch größeren Problemen.
Mit WB-Engines hat man praktisch immer Probleme, weil das Protokoll zu komplex ist und jeder was anderes implementiert. Das ist auch ein Grund, wieso ich WB-Engines gar nicht mehr in meinem Testparcours habe.

Zitieren:

Die Diskussion drehte sich ja um die alten Programme und um die Probleme beim nachträglichen implementieren von UCI.
NG-Play, von dem ich die CT800-Engine geforkt habe, ist ja WB - und ich habe das auf UCI umgeschrieben, weil ich dann den Aufwand nur einmal hatte und nicht als Dauerbaustelle. D.h. ich habe genau sowas schon gemacht.

BHGP 10.09.2022 16:06

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Ich hätte auch mal 2,3 Fragen:

Sind Updates per WLAN schon "scharfgeschaltet" oder ist das noch Zukunftsmusik?

UCI: Die Chessmaster-Engine ist doch von Johann de Koning, oder?! Und die ist doch meines Wissens in der letzten Version durchaus UCI? Ok, sicherlich bleibt das Lizenzproblem bestehen, aber eine UCI-Umsetzung gibt es doch dann, oder?

Interessant würde ich auch die Engine von Chris Wittington finden: Chess System Tal II. Gibt es da eine UCI-Variante?

Viele Grüße
Bernd

Mythbuster 10.09.2022 16:13

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Hallo Bernd,

ja, Updates kommen bereits jetzt per WLAN.

Die Diskussion zur ChessMaster Engine hatten wir schon: Es gibt keine UCI Version, die ist Winboard. Und derzeit hat JdK keine Zeit dazu, die Engine mit all den Möglichkeiten zu portieren … vielleicht später … who knows.

Gruß,
Sascha

BHGP 10.09.2022 16:31

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Zitieren:

Zitat von Mythbuster (Beitrag 109451)
Hallo Bernd,

ja, Updates kommen bereits jetzt per WLAN.

Die Diskussion zur ChessMaster Engine hatten wir schon: Es gibt keine UCI Version, die ist Winboard. Und derzeit hat JdK keine Zeit dazu, die Engine mit all den Möglichkeiten zu portieren … vielleicht später … who knows.

Gruß,
Sascha

Stimmt, ich erinnere mich. Ich erinnere mich aber auch an einen wb2uci-Adapter;)

Mythbuster 10.09.2022 16:45

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Zitieren:

Zitat von BHGP (Beitrag 109452)
Stimmt, ich erinnere mich. Ich erinnere mich aber auch an einen wb2uci-Adapter;)

Und was soll der hier bringen? Funktioniert der in jedem OS?

Und der Punkt: Was nutzt ein "King", wenn nicht all die Features, Einstellmöglichkeiten, Persönlichkeiten vorhanden sind?

Die Grunddiskussion kann man hier führen: https://www.schachcomputer.info/foru...ead.php?t=6674

Wenn irgendwann ein King als zusätzliche Engine von Millennium kommt, dann gewiss nur in einer angemessenen Form ...

Gruß,
Sascha

BHGP 10.09.2022 17:14

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Hi Sascha,

Verschiebe bitte gleich meine Frage samt Antworten in den anderen Thread.

Danke und Gruß
Bernd

AlexS 12.09.2022 18:15

AW: Der Mephisto Phoenix - mehr als "nur" ein Schachcomputer
 
Zitieren:

Zitat von BHGP (Beitrag 109450)
Ich hätte auch mal 2,3 Fragen:
Interessant würde ich auch die Engine von Chris Wittington finden: Chess System Tal II. Gibt es da eine UCI-Variante?

Es gibt für Rebel ein Netzwerk, trainiert mit CSTal: http://rebel13.nl/windows/chess-system-tal.html

Selbst probiert hab ich das noch nicht...

mclane 12.09.2022 18:49

AW: UCI vs WinBoard Engines
 
Das ist quasi ein fruit dessen netzwerk gegen Tal trainiert wurde. (Ed hat es ja nicht anders gemacht. Fruit der gegen Prodeo trainiert wurde).

Spielt dann manchmal talisch.


Der dos cstal spielt natürlich noch mal ne spur krasser, ist aber suchtechnisch auch „überholt“.

Chris W. hat neu aufgesetzt mit Corona Virus Chess.
Das hat dann auch MP.
Ist aber eine private engine.


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:43 Uhr.

Powered by vBulletin (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
©Schachcomputer.info