Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / free Aquarium
- - By Michael Rohleder Date 2018-02-10 15:02 Upvotes 1
Ich möchte gerne die "public beta" von freeAquarium bekannt geben.

Was man damit unter anderem machen kann:

* Stellungen mit verschiedenen Engines analysieren und die Ergebnisse abspeichern. Die Engines können überall laufen, auch mehrere gleichzeitig und man könnte sie anderen usern zuweisen.
* Einen Baum (bzw Graphen) aus den Ergebnissen erzeugen und diesen "minimaxen". Diese Bäume sind für jede Engine einzeln und unabhängig voneinander.
* einfach polyglot bin Bücher erzeugen/editieren, anschauen und exportieren. Jeder User hat sein eigenes Buch und kann dieses mit dem von anderen Usern vergleichen oder mit denen von pre importierten...
* es gibt einen extra Baum für "menschliche Bewertungen", den man ebenfalls minimaxen kann. Ebenfalls für jeden User.

und vieles mehr ^^

Falls ihr die (rudimentäre) Doku nicht lesen wollt und einfach das interface sehen und herumspielen: login mit demo/demo

Über jegliches Feedback würde ich mich sehr freuen!
Accounts erstelle ich auch gerne (der demo user hat nur eingeschränkte Schreibrechte...).

Have fun!
Parent - - By Patrick Götz Date 2018-02-10 19:11 Edited 2018-02-10 19:14
Tolles Projekt!
Könntest Du nicht die Lichess Database mit 289,611,433 Partien
https://database.lichess.org/
die 15% der Partien mit Stockfishbewertungen zu jeder Position enthält zum füttern der Datenbank benutzen?
15% wären immerhin ca. 43 Millionen Partien und damit ca. 2 - 3 Milliarden Positionen mit Stockfishbewertungen.
Und jeden Tag schuften im Lichess "Fishnet" Netzwerk rund um die Uhr ca. 100 CPU Kerne und produzieren weitere bewertete Partien.
Daraus könnte sich sogar eine fantastische Zusammenarbeit entwickeln, wenn das "Fishnet" Netzwerk im Gegenzug auch auf die free Aquarium Datenbank zugreifen könnte.
Parent - - By Michael Rohleder Date 2018-02-10 19:53
Sehr, sehr coole Ideen, die Du da hast, gefällt mir super! Vielen Dank dafür!

Ich habe ja schon so einiges importiert, zb FEBOS Bewertungen von shredder und komodo...

Hab mir die lichess Daten grad nur ganz kurz angeschaut, das Problem dabei ist, dass in den PGNs keine Tiefe
der evals steht und ich habe ja extra eine mindest Tiefe für die engines definiert, da ich keine oberflächlichen/schlechten usw
Bewertungen im Baum haben möchte, die potenziell auch alles "nach oben" kaputt machen...

So, wie ich das Fishnet verstanden habe, gibt es dabei ein ähnliches Problem, weil die (afaik) nur sehr, sehr kurze Bedenkzeiten und damit Tiefen haben...

Und ja, ich kann mir auch so einige Zusammenarbeiten mit einigen Projekten vorstellen. Eine (bzw mehrere) REST Schnittstellen habe ich schon lange.
(und benutze ich auch selbst, zB für ein tool dass pgn's durchrattert und die evals in den tree pumpt usw. Für mich ganz persönlich
ist halt immer wieder wichtig, dass ich Dinge verteilt/irgendwo laufen lassen kann...)
Technisch würde dem also nichts im Wege stehen...

Schaun wir mal, wie sich das so entwickelt... ^^
Parent - - By Patrick Götz Date 2018-02-10 21:14 Edited 2018-02-10 21:21
Hallo Michael,
das freut mich, das Dir meine Idee gefällt.
Die Lichess Bewertungen sind tatsächlich nicht sehr tief, pro Stellung werden 4.000.000 Knoten berechnet, auf einen schnellen Kern sind das also ca. 3 Sekunden.
Aber das ist aufgrund der (freeAquarium-) Baumstruktur eigentlich nicht schlimm, wenn man dafür entsprechend viele Positionen zur Verfügung hat. Letztendlich zählt die Summe der Rechenzeit die reingesteckt wird.
Falls sich eine Zusammenarbeit mit Lichess ergibt könnte sich der Wissenszuwachs sogar noch beschleunigen, denn die Lichess Server müssten dann nur noch die Stellungen neu berechnen, die nicht bereits in der freeAquarium Datenbank enthalten sind. Das heißt ca. 100 Kerne erzeugen ständig neue Bewertungen zu neuen Positionen.
Lichess freut sich übrigens sehr wenn die Datenbanken für etwas genutzt werden können, deswegen steht auch ganz unten auf der Seite "Did you use this database? Please share your results! Send us a pull request on github to list your project here ".
Ich spende bereits meinen Computer für das Lichess Fishnet Netzwerk ( https://pypi.python.org/pypi/fishnet ) und würde mich wahnsinnig freuen, wenn daraus eine freeAquarium Database entstehen könnte. Das wäre traumhaft!
Beste Grüße
Patrick
Parent - - By Michael Rohleder Date 2018-02-10 21:54
Hallo Patrick,

Hmm, ich bin skeptisch mit den 3 Sekunden... ich perönlich würde weder der Bewertung noch dem Zug der dabei raus kommt "vertrauen" ...

_Aber_ ich könnte einfach einen neuen eigenen Baum ("lichess") oder so aufmachen in dem ausschliesslich die 4Mio Knoten Bewertungen drin sind. Ist aus meiner Sicht sowas wie ne neue Engine, kann ich in 10 minuten, ohne code Änderung oder redeploy, anlegen...
Das wichtige ist ja eigentlich, dass die Bewertungen miteinander vergleichbar sind, und das ist hier ganz extrem der Fall!

Hmm... wäre in der Tat sehr interessant, diese Daten in "geminimaxter" Form zu sehen, zu vergleichen usw...

Denke, ich werde die 15% Züge mal genau so importieren, die tools dafür sind da und dann schauen wir uns das mal an.

Schön wäre dann evtl. noch eine Verbindung zu dem fishnet code, der zur Laufzeit direkt das Ergebnis ins freeAquarium pumpt, die Schnittstelle ist da, evtl. müsste man noch irgendwie ne authentifizierung oder so dazu bauen...

Prima Idee, nochmals Danke dafür... ich bau mal was (mach nen pull request usw) und melde mich dann wieder...

Kann ich Dir schonmal nen Account machen? ^^
Parent - - By Frank Quisinsky Date 2018-02-11 12:34 Edited 2018-02-11 12:39
Hi Michael,

bei FEOBOS haben wir 6 Kerne und 10 Threads bei 60 Sekunden pro Analyse auf 4.3Ghz.
Wir haben fast 400 Billionen Nodes produziert in einem Jahr Analysezeit.

Experimentierte mit 30 Sekunden bei den ersten 1.000 FEOBOS Stellungen und stellte fest, dass bei der Ausgabe des besten Zuges zu viele Änderungen als Resultat herauskam. Auch die Bewertungen gingen mir zu weit auseinander. So nutzte ich die 30 Sekunden dann im Vorfeld _nur_ für die Fehleranalyse mittels Stockfish und Komodo. Stellte ferner fest, dass von 60 auf 180 Sekunden sich dann zu wenig regt (FEOBOS Projekt hätte auch 2 Jahre länger gedauert).

Wenn nur zwei Engines, dann natürlich Andscacs und Houdini weil die produzieren bessere Ergebnisse als Shredder und Stockfish (siehe KECR Ratings ... wie viele besten Züge findet welche Engine zu welchem ECO Code).

3 Sekunden ...
Weiß nicht, denke da wird eher Datenschrott produziert (hoffe mir ist keiner böse wenn ich das so schreibe) aber damit lässt sich wenig anfangen bei vielen Figuren auf dem Brett. Könnten auch die besten Züge ausgewürfelt werden. Auch leicht zu sehen bei einer Eröffnungsanalyse ... Ergebnis nach 3, 10, 30, 60 Sekunden.

Viel Erfolgt bei dem Projekt!
FEOBOS Daten sollen natürlich weiter verwendet werden, ob das Buchmaterial oder die PGN in der welcher die 41.614 nach Rating sortiert sind. Natürlich können auch die Engine Analyse weiter verwertet werden. Bin da krampflos unterwegs. Bringt FEOBOS etwas für weitere Ideen ... nur zu.

Frei für alle, egal was damit getrieben wird.
Bitte nur an die Quellenangabe denken!

Gruß
Frank
Parent - - By Michael Rohleder Date 2018-02-11 17:00
Frank Quisinsky schrieb:

Bitte nur an die Quellenangabe denken!


Ok, habe einen link in der Doku hinzugefügt. Entschuldige bitte den "missing link"!
Danke für den Hinweis und die Daten, spart CPU Zeit ^^

Zu den 3 sekunden evals:
Ich bin da auch mehr als skeptisch, nicht nur wegen der viel zu geringen
Rechenzeit, sondern vor allem auch, weil dort menschliche Blitz und Bullet Züge mit nem eval versehen werden.
Da solche Partien im Grunde aus einer aneinander Reihung von Fehlern bestehen (bei denen der vorletzte gewinnt ^^ )
import man sich genau diese Fehler in den Baum _ohne eine Alternative dazu_.
Das würde per minimax dazu führen, dass man auch sehr viel weiter "vorne" im Baum eine falsche eval stehen hat...

Das alles würde nur Sinn machen, wenn man zusätzlich zu den menschlichen Zügen, auch ne engine Alternative (+eval) importiert...
(so geht mein "pgnImporter" vor...)

Also im Prinzip mag ich solche Synergie und Austausch Ideen ja sehr (und war einer der Ideen für ein offenes System...), aber in diesem
Fall sind die Daten aus meiner derzeitigen Sicht nicht zu gebrauchen, wobei ich nicht ausschliessen möchte, dass ich noch irgendwas übersehe und/oder nicht verstanden habe (wie immer) ^^
Parent - - By Frank Quisinsky Date 2018-02-11 20:41
Hi Michael,

genau!
Aber so ist es auch mit Menschen Partien.

Ist schon schwierig genug eine Basis aus Datenbanken zu ziehen. Viele Quellen sind da unzuverlässig, es wurde nicht angegeben auf welchem Menschen Level die Partien erzeugt wurden. Schaue ich auf die 46.146 FEOBOS Stellungen und auf das Material was ich hatte um die 46.146 zu generieren, sind gut und gerne schon vor den 10 Engine Analysen ca. 40% an Stellungen durch die Filter gefallen. Basierend auf Menschen Partien und Eng-Eng Partien bei 40 Züge in 10 Minuten auf 4.3 GHz i7.

Bei 8% der ECO Codes greift unsere Vorgehensweise nicht so wirklich, weil das sind die ECO Codes die tiefere Vorgaben als 3 Züge nach ECO Code Bildung benötigen. Auch das weiß ich. Eine Herausforderung für die besten Engines die wir haben, in solch schwierigen Stellungen auf sich gestellt zu sein. Viele Engines werden die Ideen der Eröffnung gar nicht verstehen und produzieren mit unseren Daten, fast egal wie lange gerechnet wird, unbrauchbares Material.

Jedes abschneiden von Zügen aus Datenbank ist nicht gut.
Generell zu sagen ein Buch 8 oder 10 Züge tief (gehen viele ECO Codes verloren).
Bei FEOBOS gehen zwar keine ECO Codes verloren aber wie gesagt ... verschiedene Eröffnungen sind unklar nach nur 3 Züge nach Bildung. Engines verstehen die Ideen nicht. Und insofern und logischer Weise vermute ich, dass 8% auch zu Unrecht aussortiert wurde beim finalen FEOBOS Resultat.

Eine von 10 Engines geprüfte Datenbank auf einem Level an Analysezeit, welche keine Ratingliste an Bedingungen anbietet! So viel ich auch hin- und herüberlege, ich sehe keine bessere Datenbank um Eng-Eng spielen zu lassen. Die Engines haben sich das FEOBOS Ergebnis selbst errechnet und sind der Meinung ... keine Fehler in den Daten, alles brauchbar und spielbereit.

Bei den 3 Sekunden Daten ist der Anspruch alles mögliche schnell analysieren zu lassen. Würdest Du bei 3 Sekunden nur 2 Sekunden höher gehen, sind schon 300 Cores notwendig um ein gleiches Ergebnis zu produzieren. Ist wie mit Ratinglisten ... viele nutzen Ultra Blitz damit die Datenbasis groß und denken ich habe die ultimativen Ergebnisse durch eine große Datenbasis. Gegenteil ist der Fall. Ist mir auch klar, aber mit Gewalt können wir nichts brauchbares produzieren. In 5 Jahren empfinden wir die FEOBOS Bedingungen genauso als unbrauchbar.

Ist also wie gesagt wie mit Ratinglisten ... so eine Art Zeitraffer oder besser nicht mehr als eine Momentaufnahme.

Was bringen uns die 3 Sekunden Daten in 5 Jahren ...
Das wäre ein Level von vielleicht 1 Sekunde auf dann aktueller Hardware!
Genau das müssen wir uns immer vor Augen halten wenn wir solche Projekte wie Ratinglisten oder Analyseprojekte ins Leben berufen.

Wichtig bei unserem Projekt ist die Arbeit von Klaus Wlotzka. Die Methode auszuwerten steht. Wir können in 5 Jahre über die heutigen FEOBOS Analysen die Schablone erneut legen und sehen was sich im Engine Bereich bei vielen Figuren auf dem Brett getan hat. Wir haben etwas um Leistung auf höchsten Niveau zu vergleichen und zwar genau gesagt x 41.614!

Ich finde wir können bei der Eröffnungsbucherstellung mehr auf solche Daten bauen die z. B. mit einem FEOBOS vergleichbaren Werkzeug ermittelt werden.

Anders:
Ich habe sehr viele geschriebene Bücher über Schacheröffnungen in meiner Sammlung. Interessant sind die Werke vor der Computerschach Ära. Es gibt richtige Perlen bei den Analysen aber es gibt auch Analysen, die von den Engines heute zerrissen werden. Prozentual gesehen ist das was der Mensch erzeugt deutlich fehleranfälliger als das was 10 Engines in Teamwork erzeugen können. Wer einfach nur aus GM Daten Eröffnungsbücher erzeugt kann wirklich 30-40% in die Tonne drücken aus den verschiedensten Gründen. Harte Aussage aber das ist das FEOBOS Endergebnis. Wobei von den 30-40% ... dann ca. 8% zu Unrecht in die Tonne berfördert wurden (so mein derzeitiger Kenntnisstand nach den Auswertungen).

So denke ich, dass ein Mensch mit der Erstellung eines Eröffnungsbuches für Engines total überfordert ist. Selbst unsere besten Spieler kennen die komplette Theorie natürlich nicht. Konzentrieren sich auf ausgesuchtes Material.

Klaus und meine Wenigkeit haben das Ziel erreicht.
Wir haben bei Contempt 3 genau gesagt 33.009 Stellungen die nicht zum schnellen Remis neigen und ausgeglichen sind, aus genau gesagt 500 ECO Codes. Wir haben unser Wissen umgesetzt um diese Daten mit vielen neuen Ideen zu produzieren und haben letztendlich 10 Engines darauf angesetzt zu bestätigen.

Wir haben eine wahrscheinlich zu 99,9% fehlerfreie Datenbank zum Engine testen.
Ein Engine Test (vergleichbar zum Nunn Test) mit 33.009 Vorgabestellungen die nach Ranking sortiert sind.

Der Anspruch alles muss 100% und komplett sein ...
Dieser Anspruch kann nicht gebildet werden.

Aus FEOBOS lassen sich Bücher oder kleinere Test-Sets kreieren.
Engines gehen nicht mit zu großen Vorgaben ins Rennen und werden in 8% der Fälle vor Herausforderungen gestellt (siehe weiter oben).

Was bei FEOBOS fehlt ist die Rückwärtsanalyse der 41.614 Daten ... immer einen Halbzug wegnehmen und schauen ob etwas übersehen wurde ... Fehler übersehen und im nächsten Zug ausgeglichen. Das ist die einzige Fehlerquelle die in den Daten sein könnte. OK, 60% der FEOBOS Daten wurden durch die FCP Rating Liste dahingehend ja schon überprüft.

Also, Projektziel erreicht.
Viele andere Projektziele oder weitere Arbeiten sind denkbar. Nur ich bin draußen.
Weiteres herauszufinden, als das was herausgefunden wurde ... für mich erstmal nicht so interessant das ich weiter machen möchte.

Maximal interessant nun:
Wie geht es mit den FEOBOS Daten weiter (Vorbereitung zum Mittelspiel).
Da habe ich ein paar Ideen und vielleicht starten Klaus und ich ein weiteres Projekt.

Freue mich auch darauf mit der Arbeit von Klaus vielleicht in 5 Jahren FEOBOS erneut zu überprüfen und die finalen Ergebnisse dann zu vergleichen. Bin ein absoluter Fan davon etwas festzustellen und genau das ist dann für das komplexe Thema Eröffnungen so einfach wie nie zuvor.

Bedeutet:
FEOBOS Buch ist auch nur eine Momentaufnahme
Aber FEOBOS Excel ein richtig geile Arbeit für die zukünftig immer wieder eingesetzt werden kann.

Gruß
Frank
Parent - By Frank Quisinsky Date 2018-02-12 16:17
41.614, hatte mich verschrieben, sorry!
Parent - By Guenter Stertenbrink Date 2018-02-11 05:32
fast 80GB ! hat die jemand runtergeladen ?
ausgefiltert nach stockfish-kommentiert, ELO>xxxx ?

ich benutze CCRL 40/40 > 3000 Elo , 160000 Partien
oder FCP >2900 Elo , 33000 Partien
Parent - - By Heinz Hagenstein Date 2018-02-11 17:37
Login Demo geht bei mir nicht.

Gruß Heinz
Parent - By Michael Rohleder Date 2018-02-11 18:30
login demo
passwd demo

alles klein geschrieben.
Parent - - By Michael Rohleder Date 2018-02-19 19:33
Neues von meiner Seite:

* Es gibt nun die Möglichkeit, dass (registrierte) Benutzer sich ihren eigenen, privaten Baum anlegen können, dessen Daten niemand sonst sehen kann.
Ich hoffe damit Anforderung in der Art "ich möchte, dass niemand meine Analysen sehen kann" zu erschlagen...

* Für windows gibt es ausserdem ein kleines Frontend, dass die Parameter für das websocket tool (wsc) in einem Dialog abfragt, damit auch cmdline Analphabeten das tool starten können. ^^
(derzeit nur für registrierte Benutzer, wird sich aber evtl. noch ändern...)
Binaries here, source here

have fun!
mike
Parent - By Michael Rohleder Date 2018-02-20 01:44
Michael Rohleder schrieb:

(derzeit nur für registrierte Benutzer, wird sich aber evtl. noch ändern...)


stimmt (derzeit) nicht!
Man kann mit user "demo" connecten...
- - By Guenter Stertenbrink Date 2018-02-11 04:50
my summary + [questions]

all of this in the web, that means anytime from everywhere with every device.
freeAquarium is inspired from Aquarium, let's play check, cerebellum book making
[has it something to do with Aquarium ?]
and mixed in book making features
For connecting an engine to freeaquarium, you need a small tool "wsc".
This is a small go programm (source) that pipes the uci output of an engine to a websocket.
Linux,Windows,Mac versions
pretty sure that chaos will arise if several demo users will connect their engines at the same time.
The intention of this system is to have several users using their own engines to contribute data,
make a book (and compare them with other books...), not anon users.

[when I run an engine for hours,days,weeks to analyse a position,
do I have to stay connected to rohleder.de the whole time or can I upload
the (processed) log-file later ]

I only want engines that are running on linux (hence no Houdini) and support FRC (no Andsacs, etc)

[I'm running Houdini 6 under wine in Linux for analysis, it produces normal log-files
FRC= Fischer Random Chess ? ]
Komodo 11.x (Komodo11)
CFish 9 (CFish9)
Stockfish 8 (Stockfish8)
Shredder 13 (Shredder13)

[ only asmFish works well on my >30 x86-Android tablets. ]

awesome tools that impresses me every day:
vaadin 8 for all the frontend stuff.
neo4j on the backend.
kotlin and Intellij IDEA

[currently I'm working on asmFish evals of 29  2-ply-openings , multipv=1,depth=56
and multipv~8 depth 50 , 4 cores , x86 tablets ; 58 calculations and log-files,
each takes some weeks. Can I include the pvs ? ]
Parent - By Michael Rohleder Date 2018-02-11 11:19
Danke für die Fragen (die sehr schwer zu finden sind ^^ )
Denke, wir können deutsch reden, oder?

Guenter Stertenbrink schrieb:

[has it something to do with Aquarium ?]


Administrativ: nein.
Semantisch,inhaltlich: Ja, klar. Beide bewegen und bearbeiten einen Baum (Graphen s.u.), der aus engine Bewertungen besteht, minimaxen usw...
Technisch: Evtl. da Thomas mal irgendwo geschrieben hat, dass er den Baum als Graphen hält. Ansonsten schwer zu sagen... (Vermutlich aber eher nicht)

Guenter Stertenbrink schrieb:

[when I run an engine for hours,days,weeks to analyse a position,
do I have to stay connected to rohleder.de the whole time or can I upload
the (processed) log-file later ]


zZ müsstest Du die ganze Zeit verbunden sein.
Bin mir aber nicht sicher, ob das für diesen Anwendungsfall Sinn machen würde, weil freeAquarium eher
für interaktive Analyse gedacht ist (ala IDeA im orginal Aquarium).
Und selbst wenn, würde Dein Fall einen Zug und eine Bewertung generieren... ich würde dazu zZ eher die "human eval"
Spalte nutzen und einen manuellen Baum hochziehen...

Guenter Stertenbrink schrieb:

[I'm running Houdini 6 under wine in Linux for analysis, it produces normal log-files
FRC= Fischer Random Chess ? ]


yep.

Guenter Stertenbrink schrieb:

[currently I'm working on asmFish evals of 29  2-ply-openings , multipv=1,depth=56
and multipv~8 depth 50 , 4 cores , x86 tablets ; 58 calculations and log-files,
each takes some weeks. Can I include the pvs ? ]


Nein.
Die pv zu verarbeiten macht evtl. mal Sinn, wenn ich sowas wie einen Batch Mode einbaue, aber zZ gibt es dazu keine Pläne (weil ich es nicht brauche ^^ ).
Up Topic Hauptforen / CSS-Forum / free Aquarium

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill