Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Berechnung Taktik Faktor, Programmierer muss das erledigen
- - By Frank Quisinsky Date 2013-09-15 18:12 Edited 2013-09-15 18:16
Hallo zusammen,

überlege mir gerade, wie ich Anhaltspunkte für einen Taktik Faktor berechnen könnte.

Nehmen wir an, eine Engine hat in einer Ratingliste 1.000 Partien gespielt und erreicht 50%.

Wären demnach:
300x gewonnen = 300 Punkte
300x verloren
400x remis = 200 Punkte

Um mal Zahlen in die weiten Welten zu beamen.

Bei einer weiß / schwarz Verteilung der Gewinne (übliche Zahlen 35%, 25%, Rest Remis)

Sagen wir mal ...
175x mit weiß gewonnen
125x mit schwarz gewonnen
175x mit weiß verloren
125x mit schwarz verloren

Bekanntlich enden die meisten Computerschachpartien im frühen / späten Endspiel.
Wichtig diese Anhaltspunkte für eine Auswertung "Taktik" wäre Voraussetzung das ohne Aufgabefaktor gespielt wird.

Wenn wir nun den Züge Durchschnitt der schnellsten 40% Gewinnpartien mit weiß und schwarz nehmen bzw. auch den Züge Durchschnitt der schnellsten 40% Verlustpartien mit jeweils weiß und schwarz nehmen ...
Könnten folgende statische Ausgaben als Anhaltspunkt für den Taktik Faktor dienen ...

Engine X
52 Züge (Durchschnitt aus 40% der schnellsten Gewinnpartien mit weiß)
54 Züge (Durchschnitt aus 40% der schnellsten Gewinnpartien mit schwarz)
63 Züge (Durchschnitt aus 40% der schnellsten Verlustpartien mit weiß)
61 Züge (Durchschnitt aus 40% der schnellsten Verlustpartien mit schwarz)

Also:
52 / 54 / 63 / 61
Durschnitt hiervon ...
53 / 62 Züge

Diese Ausgabe würde uns folgendes verraten ...
Die Engine ist schwerer zu bezwingen, siegt schneller ...

Wenn wir nun aber gegenüberstellen:

1. Engine X   2.800 ELO ... 53/62
2. Engine Y   2.850 ELO ... 48/51

Was würde uns das sagen?
Engine Y ist taktisch bissiger aber auch taktisch anfälliger als Engine X ... bzw. wird es sehr wahrscheinlich so sein.

Gehen wir weiter ...
Nun passiert folgendes ...

Engine Z findet den Weg in den Weg in unseren Test ...
weil User A gesagt hat ... geil und User B das bestätigte.


1. Engine X   2.800 ELO ... 53/62
2. Engine Y   2.750 ELO ... 48/51
3. Engine Z   2.725 ELO ... 46/62

Engine Z spielt mit weniger ELO, gewinnt deutlich schneller die Partien als Engine X und ist auch wenig anfällig für schnelle Verlustpartien. Und dennoch nur 2.725 ELO? Anderer Spielstil? Fällt die Engine im Endspiel zusammen? Aus diesem Taktik Faktor lässt sich gar einiges vermuten und ablesen und der Forscherdrang ist geweckt.

Vielleicht findet sich ein Programmierer der hierzu ein kleines Programm programmiert, welches auch ausbaubar ist?
Das wäre für eine Ratingliste eine echte Bereicherung damit die Listen mal endlich etwas interessanter werden und die ELO nicht unbedingt immer in den "absoluten" Vordergrund rückt.

Viele Grüße
Frank
Parent - - By Frank Quisinsky Date 2013-09-15 18:24
Habe es natürlich ausprobiert ...
Geil ... na klar geil Mensch!

Muss ein wenig animieren ...

z. B. Spark !!
Spark 48/61
oder
Junior 52/54

Spark gewinnt deutlich mehr Partien schnell und scheint für schnelle Verluste nicht anfällig zu sein.
Das hatten wir alles schon und ist bekannt ... Engine bricht im Endspiel ein.

Junior gewinnt auch schon mal schneller aber verliert auch schneller.

Komodo 61/66
Schwerer schnell zu schlagen als Spark und taktisch nicht gerade die Bombe.
Aber aufgrund der hohen Spielstärke muss eine Endspielstärke vorhanden sein.

Gleiche Auswertungen zu anderen Themen sind z. B. mit Remispartien möglich.
Schafft es eine Engine noch die Partie in Remis zu retten nach Nachteil von größer als 1.5 ...
Auch das könnte in einem kommentierten PGN File ausgelesen werden.

Etc..

Wichtig wäre also ein kleine GUI die PGN Dateien auswertet und dann diese Zahlen hinter einer bayes Auswertung setzt.

Viele Grüße
Frank
Parent - - By Frank Quisinsky Date 2013-09-15 18:27
Gibt es ein Haken / Denkfehler ... nur zu.
Aber bitte nicht damit kommen, wir haben nur verfügbare Datenbanken weil der Aufgabefaktor "on" geschaltet wird.
Halte ich eh für eine Katastrophe hinsichtlich zukünftigen Auswertungen von Datenbanken.
Parent - By Frank Quisinsky Date 2013-09-15 18:34
Alles was ich brauche ist ein so begabter GUI Programmierer wie Martin Blume der ein Statistik Programm erstellt.
Mehr will ich doch gar nicht ...

Kann doch nicht so schwer sein.
Dann mit vereinter Kraft wie in Arena Zeiten und abschließend kreieren wir noch eine sinnvollere ELO-Berechnung und lassen diese einfließen.

Wir taufen das Programme dann Anera ...
Vielleicht liest auch Martin Blume mit ... der könnte das spielend wenn er Zeit dafür hätte.

Gruß
Frank
Parent - By Stefan Pohl Date 2013-09-16 10:46
Hi Frank

diese Idee von dir finde ich wirklich sehr gut! Wenn jemand so ein Programm schreibt, würde ich es gerne mal über meine Datenbanken laufenlassen. In der LS-Rangliste werden nämlich alle Partien selbsverständlich bis zum Matt oder Remis nach Schachregel ausgespielt, ohne daß die GUI abbricht.
Damit so eine Auswertung wirklich statistisch korrekt ist, müßten es natürlich die gleichen Gegner sein, prädestiniert für so eine Analyse wäre also mein LS top10 tournament, welches ja ein echtes RoundRobin-Turnier mit 11 Engines und immer 55000 Partien ist, und wo alle Partien von Engines, die rausfallen, auch wieder gelöscht werden.
Hier hätte man korrekte Voraussetzungen (nämlich jeder gegen jeden) und vor allem auch sehr viele Partien (jede Engine 10000, und zwar je 1000 gegen die 10 Gegner), und auch immer die gleichen Eröffnungsvorgabestellungen.

Wenn also jemand so was programmiert, dann her damit! Ich würde die Ergebnisse dann natürlich auf meiner Website veröffentlichen und den Programmierer des Tools auch namentlich und lobend erwähnen.

Stefan
Parent - - By Chess Player Date 2013-09-15 18:30
Eines muss ich dir ja lassen, Ideen hast du ja viele, nur durch hohe Remisquoten erricht man man in der Realität keine hohe Elowerte! Das ist eine deutliche Schwäche der engine und führt wahrscheinlich zur Inzucht in der Liste!
Parent - - By Frank Quisinsky Date 2013-09-15 19:04 Edited 2013-09-15 19:07
Hi,

ja, wobei sich gerade bei Entwicklungen herausgestellt hat, dass viele dieser Ideen im Sande verlaufen weil dann doch nicht gut (z. B. Arena).
Aber egal, ohne Idee kein Fortschritt ...

Das mit dem Remispartien ist so eine Sache.
Je höher die durchschnittliche Spielstärke in einer Liste, desto höher der Züge Durchschnitt und desto höher die Remis Quoten.

Remis Partien auswerten ist schwierig.
Im Grunde hier interessant ob aus verloren Stellungen noch ein Remis wurde z. b. weil Endspiele wie KQ - KT nicht beherrscht werden.
Da würde z. b. ein Junior oder auch ein Spark negativ zu Buche schlagen.

Auswertungen von Remis Partien müssten eigentlich erfolgen anhand der verbliebenen Figuren auf dem Brett ...
Darüber wäre eine Statistik recht interessant ... Stockfish wäre hier der Remis-Weltmeister wenn noch viele Figuren auf dem Brett sind.

Aber anhand von solchen kleinen Auswertungen lässt sich enorm viel ablesen und es bildet sich ein Gesicht der Engine.
Je mehr davon desto besser ...

10 von diesen Statistiken reichen da sicherlich völlig aus.
Und anhand dieser Statistiken wäre auch einfach zu sehen ... Engines spielen gleich oder haben besondere Stärken und Schwächen.
Das ist meines Erachtens gar wichtiger als pure ELO (wenn der Spielstärkeunterschied natürlich im Rahmen bleibt).

Inzucht in der Liste ist auch ein schwieriges Thema.
Wenn Bouquet einen völlig anderen Spielstil als die anderen Engines hätte, wäre es mir egal wenn bekannte Sourcen verwendet wurden.
Die Engine würde die Liste und mithin der ELO-Berechnung aller anderen dienlich sein.

Das geht leider immer unter bei den Clone-Diskussionen um Ratinglisten.

Viele Grüße
Frank
Parent - By Frank Quisinsky Date 2013-09-15 19:12
Und das ist der Punkt ...
Eine solches Statistik Programm wäre für alle Anwender eine Bereicherung.
Insbesondere für die Ratinglistenersteller.

Sehr schnell würde klar ob Engines gleich sind und mithin eine Liste negativ beeinflussen oder nicht.
Dieses Tool fehlt uns leider, glaube auch das wir alle sehr viel mehr Spaß beim Engine testen hätten wenn es ein gutes Tool zu statistischen Auswertungen geben würde.

Viele Grüße
Frank
Parent - - By Klaus Meier Date 2013-09-16 10:34
Die durchschnittliche Anzahl der Züge mit angeben (evtl. jeweils passend direkt unter der Angabe für  Anzahl Gewinn, Remis-,Verlustpartieen geschrieben.)
wäre sicher schon eine gute und verwertbare Zusatzinformation in den Listen.
Parent - - By Frank Quisinsky Date 2013-09-17 05:52
Hallo Klaus,

habe Norm mal in TalkChess angeschrieben.
Mal schauen ...

Er wäre der Kandidat um ein wenig mehr aus die Datenbanken die wir erstellen herauszuholen.
Reagiert er positiv gebe ich ihm noch ein paar Ideen.

Selbst wenn solche Tools ein wenig spekulativ sind wären diese eine Bereicherung.
Immer nur zu sagen ich will eine klare Aussage zu Thema A oder B wäre beim Computerschach auch viel zu einfach.

Gruß
Frank
Parent - By Klaus Meier Date 2013-09-18 05:28
Hallo Frank,

So ein simpeles Tool zur privaten Nutzung ohne viel Schnickschnack ist vermutlich leicht machbar.
Wenn du einen der Programmierer gut kennst. Dann hättest du selbst zunächst ein Werkzeug, um deine Ideen auf
Allgemeintauglichkeit/Aussagekraft/Relevanz zu untersuchen. 
Gruß
Klaus
Parent - - By Swen Eichmann Date 2013-09-16 18:25
So ganz habe ich die Berechnungen nicht verstanden.

Jedoch denke ich, dass man aufgrund von einer Zügezahl und dem Partieergebnis nicht auf Taktik schließen kann. Taktik sind für mich stellungsspezifische Elemente.
Auch das eine Partie früher oder später gewonnen wird, hat keine Aussagekraft über die Stärke einer Engine (egal welche Partei). Es gibt zu viele Faktoren einer Partie. Die Zahlen die dabei herauskommen, haben keine Aussagekraft -  bzw. mir erschließen sich keine. Es ist eher "Zufall" wann eine Partie endet und wann nicht und wer der Sieger ist.

Lg
Parent - - By Frank Quisinsky Date 2013-09-17 05:48 Edited 2013-09-17 05:50
Hi Swen,

leider muss ich Dich enttäuschen.
Bei wenigen Partien gebe ich Dir Recht aber liegt eine Datenbank mit vielen Partien vor schaut es anders aus.
Die Spielstiele decken sich meist mit diesen Beobachtungen dann wenn extremes auffällt (bei Spark ... gewinnt überproportional viele Partien schnell, Komodo hat einen hohen Zügedurchschnitt). Wir können aus solchen Ausgaben ergänzend zu den Einschätzungen der Programmen besser auf die Suche gehen was Engines besonders gut oder schlecht machen.

Fruit Privat Version von 2009 hat z. b. mit Abstand die schlechteste Statistik was schnelle Verlustpartien angeht.

Ich habe gerade in Talkchess Norm Pollack hierzu mal angeschrieben. Der ist immer dankbar für seine Tool Sammlungen Tipps für die Programmierung zu erhalten. Mal schauen was er schreibt.
Vielleicht hat er Lust ein paar Tools zu erstellen.

Und "Zufall".
Es gibt keine Zufälle, wie im privaten Leben.
Was oft passiert ist immer letztendlich der Auslöser für die eigenen Umstände der Lebenssituationen.

Beim Computerschach sind wir um aus Datenbanken herauszulesen auf Wahrscheinlichkeitsberechnungen angewiesen. Diese werten wir aus mit speziellen Programmen. Nichts anders machen unsere Schachprogramme beim Abschneiden vom Suchbaum. Warum nicht wir beim Bewerten der erspielten Partiedaten. Engines die ausgeglichen agieren sind schwieriger zu bewerten, klar ...

Viele Grüße
Frank
Parent - By Stefan Pohl Date 2013-09-17 06:21
[quote="Frank Quisinsky"]
Hi Swen,

leider muss ich Dich enttäuschen.
Bei wenigen Partien gebe ich Dir Recht aber liegt eine Datenbank mit vielen Partien vor schaut es anders aus.
Die Spielstiele decken sich meist mit diesen Beobachtungen dann wenn extremes auffällt (bei Spark ... gewinnt überproportional viele Partien schnell, Komodo hat einen hohen Zügedurchschnitt). Wir können aus solchen Ausgaben ergänzend zu den Einschätzungen der Programmen besser auf die Suche gehen was Engines besonders gut oder schlecht machen.

[/quote]

Bin schon wieder ganz deiner Meinung!
Würde zu gerne ein solches Tool mal über meine LS-top10 tournament Datenbank laufen lassen...Das wäre sicher sehr interessant, gerade wegen der Masse an Partien (55000). Insbesondere, ob die diversen Ippolit-Derivate dort unterscheidliches Verhalten zeigen, oder nicht.

Stefan
Up Topic Hauptforen / CSS-Forum / Berechnung Taktik Faktor, Programmierer muss das erledigen

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill