Schachcomputer.info Community

Zurück   Schachcomputer.info Community > Schachcomputer / Chess Computer: > Die ganze Welt der Schachcomputer / World of chess computers


 
 
Themen-Optionen Ansicht

Prev Vorheriger Beitrag   Nächster Beitrag Next
  #1  
Alt 15.08.2017, 00:01
Benutzerbild von Solwac
Solwac Solwac ist offline
Revelation
 
Registriert seit: 18.07.2010
Land:
Beiträge: 782
Abgegebene Danke: 189
Erhielt 338 Danke für 216 Beiträge
Aktivitäten Langlebigkeit
0/20 14/20
Heute Beiträge
0/3 ssssss782
UCI und XBoard/Winboard

Ich gehe mal in einen neuen Strang, weil es ja nicht auf einen Computer beschränkt ist.

 Zitat von Rasmus Beitrag anzeigen
Zudem ist Xboard ziemlich tot, und das aus gutem Grund. Glaub mir, ich hab beides in der Engine implementiert, und Xboard fraß dermaßen Aufwand weg, daß der einfachste Bugfix war, es nicht mehr zu unterstützen.
Ich kann seit HGMs Übernahme der Entwicklung nicht sehen, dass XBoard tot sei. Seit den verschiedenen Adaptern kann sich ja auch jeder Programmierer selber entscheiden - Partien gegeneinander sind ja möglich.

 Zitat von Rasmus Beitrag anzeigen
Du hast zig verschiedene Wege, dasselbe zu erreichen. Das läßt das Testing explodieren. Troubleshooting wird viel aufwendiger, weil man nicht weiß, welcher Codepfad genommen wurde, und reale Nutzer schicken keine Logfiles. Ich bin ja dankbar, daß ich überhaupt weitere Nutzer als Tester habe.

Dann muß man noch grübeln, welche der diversen Möglichkeiten die GUI genommen haben könnte, und ob das Problem dann bei der GUI oder der Engine liegt. Das ganze auch noch mit zustandsbehaftetem Verhalten, und fertig ist der Wartungs-Alptraum. Deswegen ist UCI heute der Standard.
Ich habe UCI nie selber in einer Engine unterstützt, ich mag die Philosophie dahinter nicht. XBoard ist relativ leicht zu programmieren, man muss es halt einmal machen und das war es.

Wenn Tester eine Präferenz haben, dann ist das ein Grund für Pragmatismus, aber das ist dann keine Wahl aufgrund technischer Vorzüge oder Nachteile.

 Zitat von Rasmus Beitrag anzeigen
Die propagierten Vorteile von Xboard, auf die besonders Bob Hyatt pocht, sind in der Realität so minimal, daß Crafty sich nur mit aller Mühe unter den Top 30 hält, gegen die ganzen UCI-Engines. Selbst die Erkennung, ob ein neues go-Kommando eine bestehende Partie fortsetzt oder etwas komplett anderes ist, ist auf Engine-Seite mit UCI kein nennenswertes Problem. Nützlich für die Hashtabellen und Treffer in der Hauptvariante.
Die Spielstärke von Crafty ist kein Argument. Bob Hyatts Argumente betreffen die Entität, d.h. sie sind eher philosophisch. Lernen nach der Partie ist zwar ein Grund gegen UCI, aber meine Engines haben das nie benutzt.
Die propagierte Einfachheit von UCI kann ich nachvollziehen, da Eröffnungen oder Enspiele auf die GUI zurückgreifen können. Aber weniger Arbeit bringt hier auch weniger Kontrolle.

 Zitat von Rasmus Beitrag anzeigen
Für Hobby-Engines aus dem unteren Bereich gibt es zwei Gründe, wieso Winboard noch verbreitet ist:

- man muß das "?"-Kommando in der Suche nicht erkennen, so daß man eine Engine ohne jedes Threading machen kann. Die Top-Engines haben aber alle Multithreading, so daß noch ein Thread für die Eingabe auch schon egal ist.

- die einzelnen Kommandos z.B. für die Zeiten kommen separat, so daß man die Werte trivial mit sscanf auswerten kann. Mit UCI braucht man einen Tokeniser, den zu schreiben und zu testen aber auch nur zwei Tage dauert.
Polling statt Threading ist jetzt nicht so schwer und auch nicht der große Unterschied. Das Schreiben eines Tokenizers bietet sich auch bei XBoard an, das dürfte auch kein Grund für oder gegen ein Protokoll sein. Eher schon die Historie des Programmierers und wann er mit dem Programm begonnen hat.
Leider beschäftigen sich die meisten Leute mit Schachprogrammen am PC in einer Rolle als reine Turnierdirektoren ohne Programmierkönnen oder -Wollen. Damit entscheidet die GUI massiv über die Akzeptanz, so wie Du es ja mit den Testern auch erlebst.

 Zitat von Rasmus Beitrag anzeigen
Auf GUI-Seite ist es nicht aufwendiger, weil die GUI die komplette Historie des Spiels sowieso verwalten muß, also Züge und auch Zeiten, weil sonst die Undo-Funktion nicht geht. Die Zugliste dann bei jedem Zug mit auszugeben, ist trivial. Ebenso die Remis-Erkennung.
Ich habe nie ein GUI programmiert, aber das meinte ich auch nicht. Ich meinte die Programmierung auf einem Computer mit begrenzten Ressourcen, da UCI deutlich mehr Speicher benötigt. Auf PCs spielt das keine Rolle und selbst ein Raspberry Pi sollte damit kein Problem haben, aber einige Buffer müssen halt für UCI größer sein, damit die Zugliste immer wieder übermittelt werden kann. Zumindest bei seh beschränktem Hauptspeicher sehe ich einen Unterschied (wobei auch XBoard natürlich Overhead hat).
Mit Zitat antworten
 


Forumregeln
Du bist nicht berechtigt, neue Themen zu erstellen.
Du bist nicht berechtigt, auf Beiträge zu antworten.
Du bist nicht berechtigt, Anhänge hochzuladen.
Du bist nicht berechtigt, deine Beiträge zu bearbeiten.

BB code ist An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.

Gehe zu

Ähnliche Themen
Thema Erstellt von Forum Antworten Letzter Beitrag
News: MephBoard - Winboard Engine für Mephisto PC-Modul krval Technische Fragen und Probleme / Tuning 8 11.01.2012 21:30
Tipp: Mephisto Board - Winboard Engine für Mephisto PC-Modul krval Technische Fragen und Probleme / Tuning 9 31.07.2011 15:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:49 Uhr.



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