Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
ChessBits-Computerschachforum
Beiträge im Thema:
29
Erster Beitrag:
vor 15 Jahren, 11 Monaten
Letzter Beitrag:
vor 15 Jahren, 11 Monaten
Beteiligte Autoren:
Ulrich Türke, Martin Schubert, Thomas Mayer, Harald Faber, Dieter Bürßner, ELVIS, marcus kästner

Einer gegen alle: Tiger 14 - ChessAcademy 6

Startbeitrag von Harald Faber am 17.06.2001 14:44

Ich war ja ziemlich neugierig auf die engine der ChessAcademy, denn davon hat man bislang absolut nichts gehört, niemand hatte zuvor Testpartien damit absolviert. Das mag an der mangelnden Verbreitung des Programms liegen, möglicherweise aber auch an der etwas umständlichen Bedienung. Beim Test des Autoplayers mit ein paar Blitzpartien schwante mir schon nichts gutes für die Academy, aus 6 Partien noch nicht einmal ein remis. Ich habe gerade noch mal nachgeschaut, am 13.6. habe ich einem Computerfreak eine mail mit folgendem Inhalt geschickt:

"Also bei 5 Blitzpartien noch nicht einnmal ein Remis und die erste Turnierpartie ging auch gut an den Tiger. Wenn das so weitergeht, sehe ich ein Debakel kommen, ich erwarte ein Ergebnis in der Größenordnung 9-1."

Nun dürft Ihr mich auch Prophet nennen. ;-)
Denn das ist exakt das Ergebnis, das nun eingetreten ist. Die Academy absolut chancenlos. Der Tiger ist zwar nicht irgendwer, aber die Höhe des Sieges ist absolut in Ordnung, wenn man sich die Partien anschaut. Die Bewertungen der Academy sind m.E. noch schwer überarbeitungswürdig. Die Partie, die ich noch manuell zu Ende gespielt habe, zeigte allerdings beide Programme auf dem falschen Dampfer, denn der falsche Läufer kann nicht gewinnen. Academy zeigte -8 und Tiger +4.70.
Auch sonst brauchte die Academy immer etwas länger, um zu erkennen, dass die eigene positive Bewertung nicht angemessen war.
Ob und wo das Mittelspielbuch gegriffen hat, blieb mir leider verborgen, im Modus "ernsthaft" gibt es noch nicht einmal eine Anzeige der Buchzüge.

Stehe wie immer für weitere Auskünfte zur Verfügung, Partien gezippt als PGN unter [www.geocities.com]

Momentan spielt der Tiger gegen Junior 6a, 2.5-1.5 bislang.
Haralds Homepage

Antworten:

ja, der tiger ist das ABSOLUTE maß aller dinge. anfangs dachte ich noch, daß er auf der turnierstufe im verhältnis etwas von seiner dominanz verliert, aber pustekuchen. nimzo8 schaffte nicht einen sieg aus 20 turnierpartien und auch für deep fritz sieht es nicht toll aus. immerhin schaffte fritz nach 8 partien seinen ersten punkt, die neunte wird aber wohl auch wieder an den tiger gehn. nicht, daß sich hier das nächste debakel anbahnt ;-)

also da können irgendwelche leute reden was sie wollen, der neue junior wird kaum am tiger vorbeikommen und bei fritz habe ich auch meine zweifel, shredder sowieso nicht, zumal christophe auch nicht auf der faulen haut liegt.

nach dem derzeitigen stand kommt für mich nur ein einziges programm für den wm-titel in frage. alle anderen sind mehr oder weniger statisten.

nun, das kann sich in den letzten 8 wochen natürlich noch ändern, aber ehrlich gesagt so richtig glaube ich momentan nicht daran.

marcus

von marcus kästner - am 17.06.2001 14:59
Harald Faber schrieb:
>
> Ich war ja ziemlich neugierig auf die engine der
> ChessAcademy, denn davon hat man bislang absolut nichts gehört,
> niemand hatte zuvor Testpartien damit absolviert. Das mag an
> der mangelnden Verbreitung des Programms liegen, möglicherweise
> aber auch an der etwas umständlichen Bedienung. Beim Test des
> Autoplayers mit ein paar Blitzpartien schwante mir schon nichts
> gutes für die Academy, aus 6 Partien noch nicht einmal ein
> remis. Ich habe gerade noch mal nachgeschaut, am 13.6. habe ich
> einem Computerfreak eine mail mit folgendem Inhalt geschickt:
>
> "Also bei 5 Blitzpartien noch nicht einnmal ein Remis und die
> erste Turnierpartie ging auch gut an den Tiger. Wenn das so
> weitergeht, sehe ich ein Debakel kommen, ich erwarte ein
> Ergebnis in der Größenordnung 9-1."
>
> Nun dürft Ihr mich auch Prophet nennen. ;-)
> Denn das ist exakt das Ergebnis, das nun eingetreten ist. Die
> Academy absolut chancenlos. Der Tiger ist zwar nicht irgendwer,
> aber die Höhe des Sieges ist absolut in Ordnung, wenn man sich
> die Partien anschaut. Die Bewertungen der Academy sind m.E.
> noch schwer überarbeitungswürdig. Die Partie, die ich noch
> manuell zu Ende gespielt habe, zeigte allerdings beide
> Programme auf dem falschen Dampfer, denn der falsche Läufer
> kann nicht gewinnen. Academy zeigte -8 und Tiger +4.70.
> Auch sonst brauchte die Academy immer etwas länger, um zu
> erkennen, dass die eigene positive Bewertung nicht angemessen
> war.
> Ob und wo das Mittelspielbuch gegriffen hat, blieb mir leider
> verborgen, im Modus "ernsthaft" gibt es noch nicht einmal eine
> Anzeige der Buchzüge.
>
> Stehe wie immer für weitere Auskünfte zur Verfügung, Partien
> gezippt als PGN unter
> [www.geocities.com]
>
> Momentan spielt der Tiger gegen Junior 6a, 2.5-1.5

Ich hab' die engine noch nicht selbst bespielt -
ich habe so etwas aber intuitiv vermutet.
Wenn Wit Braslawski jetzt auch noch einen Schachmotor der upper class mit serviert hätte - also einen, den er - AUCH NOCH - selbst kreiert hätte - dann hätte man ihn eingedenk der unglaublichen Arbeit in Sachen Chess Academy mitsamt den Modulen langsam in Richtung eines "Einsteins des Schachs" schubsen können.

Gut, daß selbst solche Könner - am Ende auch nur Menschen sind ;-)

c/u

:hot:

EL

Fernschach International


von ELVIS - am 17.06.2001 15:03
Hallo harald,

alles andere wäre eine Überraschung gewesen. Die Engine hat ja - meines Wissens - an noch keinem der offiziellen Turniere teilgenommen.
Von daher denke ich, dass du mit dem Tiger zu schweres Geschütz aufgefahren hast. Schlecht ist sie nicht. Besonders das Endspiel gefällt mir; da fehlt dann aber wieder die TableBase-Unterstützung. Aber ich denke, da ist einiges Potential für Steigerungen vorhanden, wenn sich die Autoren intensiver damit beschäftigen.

Das Buch gefällt mir auch außerordentlich gut. Es ist eine echte Alternative zu den Profi-Büchern: sehr variantenreich, wenn auch meist nicht so tief.

Ich habe vor einiger Zeit mal über auto232 ein paar Partien gegen Comet spielen lassen. Leider habe ich es auf diesem Wege aber nicht geschafft, die Farben zu wechseln. ChessAcademy scheint darauf zu bestehen, immer der auto232-Master zu sein und wechselt die Farben dann nicht.

Oder weisst du, wie man's macht ?

Gruß, Uli

Harald Faber schrieb:
>
> Ich war ja ziemlich neugierig auf die engine der
> ChessAcademy, denn davon hat man bislang absolut nichts gehört,
> niemand hatte zuvor Testpartien damit absolviert. Das mag an
> der mangelnden Verbreitung des Programms liegen, möglicherweise
> aber auch an der etwas umständlichen Bedienung. Beim Test des
> Autoplayers mit ein paar Blitzpartien schwante mir schon nichts
> gutes für die Academy, aus 6 Partien noch nicht einmal ein
> remis. Ich habe gerade noch mal nachgeschaut, am 13.6. habe ich
> einem Computerfreak eine mail mit folgendem Inhalt geschickt:
>
> "Also bei 5 Blitzpartien noch nicht einnmal ein Remis und die
> erste Turnierpartie ging auch gut an den Tiger. Wenn das so
> weitergeht, sehe ich ein Debakel kommen, ich erwarte ein
> Ergebnis in der Größenordnung 9-1."
>
> Nun dürft Ihr mich auch Prophet nennen. ;-)
> Denn das ist exakt das Ergebnis, das nun eingetreten ist. Die
> Academy absolut chancenlos. Der Tiger ist zwar nicht irgendwer,
> aber die Höhe des Sieges ist absolut in Ordnung, wenn man sich
> die Partien anschaut. Die Bewertungen der Academy sind m.E.
> noch schwer überarbeitungswürdig. Die Partie, die ich noch
> manuell zu Ende gespielt habe, zeigte allerdings beide
> Programme auf dem falschen Dampfer, denn der falsche Läufer
> kann nicht gewinnen. Academy zeigte -8 und Tiger +4.70.
> Auch sonst brauchte die Academy immer etwas länger, um zu
> erkennen, dass die eigene positive Bewertung nicht angemessen
> war.
> Ob und wo das Mittelspielbuch gegriffen hat, blieb mir leider
> verborgen, im Modus "ernsthaft" gibt es noch nicht einmal eine
> Anzeige der Buchzüge.
>
> Stehe wie immer für weitere Auskünfte zur Verfügung, Partien
> gezippt als PGN unter
> [www.geocities.com]
>
> Momentan spielt der Tiger gegen Junior 6a, 2.5-1.5
> bislang.
Haralds Homepage


von Ulrich Türke - am 17.06.2001 20:35
Ulrich Türke schrieb:
>
> Hallo harald,
>
> alles andere wäre eine Überraschung gewesen. Die Engine hat ja
> - meines Wissens - an noch keinem der offiziellen Turniere
> teilgenommen.
Darum sind/waren ja wohl auch so viele Leute schwer an den Testergebnissen interessiert.
> Von daher denke ich, dass du mit dem Tiger zu schweres Geschütz
> aufgefahren hast.
Klar, aber da ich nun mal Tiger gegen alle spiele, konnte und wollt eich die Academy nicht gegen ein anderes Programm antreten lassen. Mache ich vielleicht noch mal nach dem Turnier.
>Schlecht ist sie nicht. Besonders das
> Endspiel gefällt mir; da fehlt dann aber wieder die
> TableBase-Unterstützung. Aber ich denke, da ist einiges
> Potential für Steigerungen vorhanden, wenn sich die Autoren
> intensiver damit beschäftigen.
Ich denke auch, dass eine Verbesserung der engine nicht schwer sein dürfte.
>
> Das Buch gefällt mir auch außerordentlich gut. Es ist eine
> echte Alternative zu den Profi-Büchern: sehr variantenreich,
> wenn auch meist nicht so tief.
>
> Ich habe vor einiger Zeit mal über auto232 ein paar Partien
> gegen Comet spielen lassen. Leider habe ich es auf diesem Wege
> aber nicht geschafft, die Farben zu wechseln. ChessAcademy
> scheint darauf zu bestehen, immer der auto232-Master zu sein
> und wechselt die Farben dann nicht.
>
> Oder weisst du, wie man's macht ?
Geht nicht, ist aber kein Problem gewesen, da ich so zuest 5 Schwarzpartien, also Tiger als Master ohne Farbwechsel, und dann 5 Weisspartien spielen konnte.
>
> Gruß, Uli
>
> Harald Faber schrieb:
> >
> > Ich war ja ziemlich neugierig auf die engine der
> > ChessAcademy, denn davon hat man bislang absolut nichts gehört,
> > niemand hatte zuvor Testpartien damit absolviert. Das mag an
> > der mangelnden Verbreitung des Programms liegen, möglicherweise
> > aber auch an der etwas umständlichen Bedienung. Beim Test des
> > Autoplayers mit ein paar Blitzpartien schwante mir schon nichts
> > gutes für die Academy, aus 6 Partien noch nicht einmal ein
> > remis. Ich habe gerade noch mal nachgeschaut, am 13.6. habe ich
> > einem Computerfreak eine mail mit folgendem Inhalt geschickt:
> >
> > "Also bei 5 Blitzpartien noch nicht einnmal ein Remis und die
> > erste Turnierpartie ging auch gut an den Tiger. Wenn das so
> > weitergeht, sehe ich ein Debakel kommen, ich erwarte ein
> > Ergebnis in der Größenordnung 9-1."
> >
> > Nun dürft Ihr mich auch Prophet nennen. ;-)
> > Denn das ist exakt das Ergebnis, das nun eingetreten ist. Die
> > Academy absolut chancenlos. Der Tiger ist zwar nicht irgendwer,
> > aber die Höhe des Sieges ist absolut in Ordnung, wenn man sich
> > die Partien anschaut. Die Bewertungen der Academy sind m.E.
> > noch schwer überarbeitungswürdig. Die Partie, die ich noch
> > manuell zu Ende gespielt habe, zeigte allerdings beide
> > Programme auf dem falschen Dampfer, denn der falsche Läufer
> > kann nicht gewinnen. Academy zeigte -8 und Tiger +4.70.
> > Auch sonst brauchte die Academy immer etwas länger, um zu
> > erkennen, dass die eigene positive Bewertung nicht angemessen
> > war.
> > Ob und wo das Mittelspielbuch gegriffen hat, blieb mir leider
> > verborgen, im Modus "ernsthaft" gibt es noch nicht einmal eine
> > Anzeige der Buchzüge.
> >
> > Stehe wie immer für weitere Auskünfte zur Verfügung, Partien
> > gezippt als PGN unter
> > [www.geocities.com]
> >
> > Momentan spielt der Tiger gegen Junior 6a, 2.5-1.5
> >
> bislang.
Haralds Homepage
Haralds Homepage


von Harald Faber - am 18.06.2001 05:14
> ...
> Ich denke auch, dass eine Verbesserung der engine nicht
> schwer sein dürfte.

Ist diese Ironie beabsichtigt ? -:)

Ganz so einfach sind Verbesserungen von Engines dieser Spielstaerke sicher nicht; zumindest so ein Kleingeist wie ich mueht sich damit ganz schoen (vergeblich (?) ) ab.

Gruß, Uli

von Ulrich Türke - am 18.06.2001 11:50
Ulrich Türke schrieb:
>
> > ...
> > Ich denke auch, dass eine Verbesserung der engine nicht
> > schwer sein dürfte.
>
> Ist diese Ironie beabsichtigt ? -:)
Was heisst Ironie, nein, das war durchaus ernst gemeint, weder ironisch noch böse. Ich denke nur, dass das Niveau dieser engine noch unter den Amateur-engines liegt und damit eine Steigerung der Spielstärke noch recht einfach zu bewerkstelligen sein sollte. Ich kann mich natürlich auch irren, was man bei einem Turnier gegen schwächere Programme als den Tiger herausbekäme.
>
> Ganz so einfach sind Verbesserungen von Engines dieser
> Spielstaerke sicher nicht; zumindest so ein Kleingeist wie ich
> mueht sich damit ganz schoen (vergeblich (?) ) ab.
>
> Gruß, Uli

Wie gesagt, ich denke, dass Dein Comet u.ä. engines der Academy noch einiges voraus haben. Allerdings habe ich bislang keine Ahnung, was generell in der Schachprogrammierung abgeht noch was Du da so alles implementiert hast und was Du noch machen müsstest, um zumindest Gandalf-Level zu erreichen. Aber da lassen sich die Profis auch wohl nicht sonderlich in die Karten schauen. Wie hilfreich ist denn ein Blick in Ernst A. Heinzes Buch?

Haralds Homepage


von Harald Faber - am 18.06.2001 12:21
Harald Faber schrieb:
>
> Was heisst Ironie, nein, das war durchaus ernst gemeint,
> weder ironisch noch böse. Ich denke nur, dass das Niveau dieser
> engine noch unter den Amateur-engines liegt und damit eine
> Steigerung der Spielstärke noch recht einfach zu
> bewerkstelligen sein sollte.

Diesen Eindruck hatte ich eigentlich nicht, bin aber nicht sicher, da ich zu wenig gespielt habe. Ich vermute eher, die CA-Engine spielt so im gehobenen Amateurbereich.

Vielleicht lasse ich über Nacht mal ein paar Partien laufen.

> Ich kann mich natürlich auch
> irren, was man bei einem Turnier gegen schwächere Programme als
> den Tiger herausbekäme.
> >
> > Ganz so einfach sind Verbesserungen von Engines dieser
> > Spielstaerke sicher nicht; zumindest so ein Kleingeist wie ich
> > mueht sich damit ganz schoen (vergeblich (?) ) ab.
> >
> > Gruß, Uli
>
> Wie gesagt, ich denke, dass Dein Comet u.ä. engines der Academy
> noch einiges voraus haben. Allerdings habe ich bislang keine
> Ahnung, was generell in der Schachprogrammierung abgeht noch
> was Du da so alles implementiert hast und was Du noch machen
> müsstest, um zumindest Gandalf-Level zu erreichen. Aber da
> lassen sich die Profis auch wohl nicht sonderlich in die Karten
> schauen. Wie hilfreich ist denn ein Blick in Ernst A. Heinzes
> Buch?

Keine Ahnung. Besitze ich nicht. Es ist aber sicher gut und sehr konkret. Ernst ist sehr gruendlich.

Mich reizt es mehr, selbst zu experimentieren. Kann natuerlich eine Sackgasse sein, aber ich stehe ja auch nicht unter Erfolgszwang.

Gruss, Uli
>
>
Haralds Homepage


von Ulrich Türke - am 18.06.2001 12:50
> > schauen. Wie hilfreich ist denn ein Blick in Ernst A. Heinzes
> > Buch?
>
> Keine Ahnung. Besitze ich nicht. Es ist aber sicher gut und
> sehr konkret. Ernst ist sehr gruendlich.
>

Ich tue mir mit dem Buch relativ schwer. Für jemanden, der z.B. von Nullmove noch nie etwas gehört hat, oder keine Ahnung hat, was Forward Pruning ist, ist der Einstieg nicht leicht. Solche Dinge könnten besser erklärt oder definiert sein. Das Buch geht ja wohl größtenteils aus Artikeln hervor, für die ein gewisses Vorwissen hilfreich bzw. notwendig ist.
Auch ist es sehr auf DarkThought gemünzt, seitenweise Partien aufgelistet, was in einem Buch nicht hilfreich ist. Die spielt kein Mensch nach.
Aber werde demnächst wieder versuchen mich ins Buch zu vertiefen.

Gruß, Martin

von Martin Schubert - am 18.06.2001 13:02
Martin Schubert schrieb:
>
> > > schauen. Wie hilfreich ist denn ein Blick in Ernst A.
> Heinzes
> > > Buch?
> >
> > Keine Ahnung. Besitze ich nicht. Es ist aber sicher gut und
> > sehr konkret. Ernst ist sehr gruendlich.
> >
>
> Ich tue mir mit dem Buch relativ schwer. Für jemanden, der z.B.
> von Nullmove noch nie etwas gehört hat, oder keine Ahnung hat,
> was Forward Pruning ist, ist der Einstieg nicht leicht. Solche
> Dinge könnten besser erklärt oder definiert sein. Das Buch geht
> ja wohl größtenteils aus Artikeln hervor, für die ein gewisses
> Vorwissen hilfreich bzw. notwendig ist.

Eben, ich habe die Originalartikel, die im ICCA-Journal erschienen sind, sowieso.

Wenn wirklich das ganze Buch auf dem Niveau der Artikel ist, empfiehlt sich erst einmal ein Einsteigerbuch (z.B. das von Levy, wenn Englisch kein Problem ist).

Gruß, Uli

> Auch ist es sehr auf DarkThought gemünzt, seitenweise Partien
> aufgelistet, was in einem Buch nicht hilfreich ist. Die spielt
> kein Mensch nach.
> Aber werde demnächst wieder versuchen mich ins Buch zu vertiefen.

>
> Gruß, Martin

von Ulrich Türke - am 18.06.2001 13:22
Wie heißt das Buch von Levy? Worum geht es?

Gruß, Martin

von Martin Schubert - am 18.06.2001 13:30
Martin Schubert schrieb:
>
> Wie heißt das Buch von Levy? Worum geht es?
>
> Gruß, Martin

Ich habe den genauen Titel, ISBN usw. im Moment nicht hier, aber ich kann gern heute abend mal nachschauen und ihn hier posten.

Ohne Gewaehr; ich glaube es heißt
"How Computers play Chess". Monty Newborn (ebenfalls eine Computerschach-Pionier) ist Co-Autor.

das Buch von Levy finde ich toll; es ist zugleich sehr spannend und lesenswert (mit einem Teil ueber die Geschichte des Computerschachs). Weiterhin enthaelt es eine Einfuehrung in die Entwicklung eines Computerschachprogramms; m.E. ebenfalls sehr verstaendlich geschrieben. Viele Dinge werden recht detailliert, anschaulich und gut erklärt. Wenn ich mich recht entsinne, hat er aber den Nullmove-Algorithmus noch nicht erklärt.
Dafür gibt es aber andere, gute Quellen. Selbst den Originalartikel ueber den Nullzug (auf irgendwelchen Conference-Proceedings erschienen) finde ich gut lesbar. All die Hinweise, die spaeter von Donninger u.a. ausgereizt wurden (rekursiver Nullzug, R=2) und weitere, wurden hier schon vorgeschlagen.

Uli

von Ulrich Türke - am 18.06.2001 13:42
Wenn Du mir die Infos raussuchen könntest, wäre klasse! Über jede Art von Informationen, was es sonst noch zur Thematik gibt, wäre ich sehr dankbar.
Übrigens: ich versuche gerade mich auch ein wenig in der Schachprogrammierung. Bisher habe ich nur die Zuggeneration und ein wenig Winboardanbindung. Meine Frage wäre, ob es irgendwelche Richtwerte gibt, ab wann die Zuggeneration einigermaßen brauchbar ist (von der Geschwindigkeit her). Ich liege momentan bei 50 000 Zügen pro Sekunde auf Celeron 550. Das scheint mir erbärmlich zu sein. Hast Du da eine Meinung?

Viele Grüße, Martin

von Martin Schubert - am 18.06.2001 14:48
Hallo Martin,

50.000 Züge / Sekunde... Na, da hast Du noch etwas Arbeit... Also Crafty macht 7.000.000 Züge / Sekunde auf meinem PII/400 und Quark macht 14.500.000 Züge auf meinem PII/400 - ganz klar, da Quark kein BitBoard-System ist, hat es da ein paar kleine Vorteile bei der Zuggenerierung... (Die ich aber derzeit noch an andere Stelle wieder verliere... ich arbeite dran... :)

Gruß, Thomas

von Thomas Mayer - am 18.06.2001 15:15
Martin Schubert schrieb:
>
> Wenn Du mir die Infos raussuchen könntest, wäre klasse!
> Über jede Art von Informationen, was es sonst noch zur Thematik
> gibt, wäre ich sehr dankbar.
> Übrigens: ich versuche gerade mich auch ein wenig in der
> Schachprogrammierung. Bisher habe ich nur die Zuggeneration und
> ein wenig Winboardanbindung. Meine Frage wäre, ob es
> irgendwelche Richtwerte gibt, ab wann die Zuggeneration
> einigermaßen brauchbar ist (von der Geschwindigkeit her). Ich
> liege momentan bei 50 000 Zügen pro Sekunde auf Celeron 550.
> Das scheint mir erbärmlich zu sein. Hast Du da eine Meinung?

Wenn du wirklich die pure Zuggenerierung meinst, also lediglich Zug-Datenstruktur erzeugen und im Move-Stack ablegen, dann kann ich Thomas nur zustimmen. Das ist deutlich zu langsam. 50000/Sek sind ein brauchbarer Wert für die totalen Knoten/Sek: also Zuggenerierung + Zug-Update im Baum + Evaluierung.

Aber ich wuerde empfehlen, erst einmal ein lauffaehiges Programm zu schaffen. Die zeitkritischen Teile kann man dann immer noch ueberarbeiten.

Uli
>
> Viele Grüße, Martin

von Ulrich Türke - am 18.06.2001 15:44
Thomas Mayer schrieb:
>
> Hallo Martin,
>
> 50.000 Züge / Sekunde... Na, da hast Du noch etwas Arbeit...
> Also Crafty macht 7.000.000 Züge / Sekunde auf meinem PII/400
> und Quark macht 14.500.000 Züge auf meinem PII/400 - ganz klar,
> da Quark kein BitBoard-System ist, hat es da ein paar kleine
> Vorteile bei der Zuggenerierung... (Die ich aber derzeit noch
> an andere Stelle wieder verliere... ich arbeite dran... :)
>
> Gruß, Thomas

Hast Du irgendeinen schlauen Tip, was man da machen kann. Ich meine, das muss man ja noch noch um einen Faktor was-weiß-ich verbessern. Wie kann man da so riesige Unterschiede rausholen? Das einzige, was ich weiß, dass ich wohl noch meine Legalitätsüberprüfung überarbeiten muss, die frißt ca. 1/3 der Zeit. Aber selbst dann bin ich ja noch kilometerweit weg.

Gruß, Martin

von Martin Schubert - am 18.06.2001 16:29
> Wenn du wirklich die pure Zuggenerierung meinst, also
> lediglich Zug-Datenstruktur erzeugen und im Move-Stack
> ablegen, dann kann ich Thomas nur zustimmen. Das ist deutlich
> zu langsam. 50000/Sek sind ein brauchbarer Wert für die totalen
> Knoten/Sek: also Zuggenerierung + Zug-Update im Baum +
> Evaluierung.
>
> Aber ich wuerde empfehlen, erst einmal ein lauffaehiges
> Programm zu schaffen. Die zeitkritischen Teile kann man dann
> immer noch ueberarbeiten.

Ich dachte mir halt, das ist vermutlich noch so weit weg von dem, wo es interessant wird. Da mache ich lieber erst einmal die Zuggenerierung einigermaßen brauchbar.

Gruß, Martin

von Martin Schubert - am 18.06.2001 16:31
Meine Idee war nur, dass du nicht unbedingt die hohen Raten, die Thomas angegeben hat, erreichen musst. Wenn du es schaffen solltest, einen Faktor 10 herauszuholen, da koennte man meines Erachtens schon mit leben.
Es ist relativ unerheblich, da dein Programm spaeter die allermeiste Zeit mit MakeMove (Ausfuehrung des Zuges im Suchbaum) und in der Evaluierung verbraten wird.

Es ist dann schon nicht mehr so wichtig, ob du 1 Promill oder ein Prozent in der Zuggenerierung verlierst. Mit der gegenwaertigen Rate wuerdest du allerding eher ~ 50% in der Generierung verbrauchen. Das ist zu viel.

Gruß, Uli

von Ulrich Türke - am 18.06.2001 16:42
Ulrich Türke schrieb:
>
> Meine Idee war nur, dass du nicht unbedingt die hohen
> Raten, die Thomas angegeben hat, erreichen musst. Wenn du es
> schaffen solltest, einen Faktor 10 herauszuholen, da koennte
> man meines Erachtens schon mit leben.
> Es ist relativ unerheblich, da dein Programm spaeter die
> allermeiste Zeit mit MakeMove (Ausfuehrung des Zuges im
> Suchbaum) und in der Evaluierung verbraten wird.
>
> Es ist dann schon nicht mehr so wichtig, ob du 1 Promill oder
> ein Prozent in der Zuggenerierung verlierst. Mit der
> gegenwaertigen Rate wuerdest du allerding eher ~ 50% in der
> Generierung verbrauchen. Das ist zu viel.
>
> Gruß, Uli

Hast Du einen Tip, was man verbessern kann, um einen Faktor 10 herauszuholen? Ich habe das halt mal ganz einfach programmiert, für jede Figur einzeln die Züge berechnet,...

Gruß, Martin

von Martin Schubert - am 18.06.2001 16:50
Hallo Martin,

sowas ist natürlich abhängig von Deiner Brett-Repräsentation... nimmt man 10x12 ist es am einfachsten...
Du sprichst immer von Legalitäts-Prüfung: Also ich und die meisten anderen Programme generieren nur pseudo-legale Züge - erst wenn die Zugsortierung sagt, der Zug soll probiert werden, wird geprüft, ob er auch legal ist. (Ganz simpel, ich führe den Zug aus und wenn der Gegner hernach meinen König schlagen kann, dann war der Zug weniger legal...)
Wie Uli sehe ich es auch so, daß Du einen Faktor 10 schon noch rausholen solltest, irgendwas machst Du etwas zu kompliziert...

Gruß, Thomas

P.S.: Quark hat übrigens einen der schnellsten Zuggeneratoren unter den Amateuren, grins, bin ich auch mächtig stolz drauf... :)

von Thomas Mayer - am 18.06.2001 17:41
> Das einzige, was ich weiß, dass ich wohl noch meine Legalitätsüberprüfung überarbeiten muss, die frißt ca. 1/3 der Zeit.

Ich glaube, die meisten Schachprogramme verzichten auf eine Legalitätsprüfung während der Zuggenerierung (Ausnahme vielleicht, wenn der letzte Zug mit Schach war). Ein Grund ist, dass du immer viel mehr Züge generieren wirst (auch wenn du nur legale Züge zählst), als tatsächlich für die Such benötigt werden. Die Legalitätsprüfung ist also verlorene Zeit, für Züge, die eh nicht mehr berücksichtigt werden.

Ich glaube, ohne Legalitätsprüfung solltest du selbst ohne irgendwelche "Tricks" die 50000/s leicht überschreiten können. Selbst mit sowas (vollkommen ungetestet, zudem quasi Pseudocode):

/* Einrueckung scheint im Formum nicht zu funktionieren */
int board[64], color[64]; /* 128 und 0x88 Methode waere viel schneller */

#define rank(sq) ((sq)>>3)
#define file(sq) ((sq)&7)
#define square(file, rank) (8*(rank)+(file))

struct movedirs {int fadd; int radd};

void gen_bishop_moves(int sq, int side)
{
/* Fuer Turm oder Dame analoges Feld, Springer ist sogar einfacher */
/* Bauern benoetigen jedoch Spezialbehandlung */
static struct movedirs directions[] = {{-1,-1},{-1,1},{1,-1},{1,1}};
int i, f, r, nf, nr, nextsq;

f = file(sq)
r = rank(sq);
for (i=0; i < sizeof directions/sizeof directions[0] /* hier 4 */; i++)
{
nf = f+directions.fadd;
nr = r+dircetions.radd;
/* Fuer Springer oder Koenig if statt while. "Tricks" bewusst weggelassen */
while (nf > 0 && nf < 8 && nr > 0 && nr < 8)
{
nextsq = square(nf, nr);
if (color[nextsq] != side)
LinkMove(sq, nextsq); /* Zug auf movestack ablegen */
if (color[nextsq] != empty)
break; /* Irgendwas steht dazwischen */
nf += directions.fadd;
nr += dircetions.radd;
}
}
}

Grüße,
Dieter


von Dieter Bürßner - am 18.06.2001 18:02

Literaturhinweise

Hier die 2 versprochenen Literaturhinweise. Beide Bücher sind erschwinglich,
den genauen Preis weiß ich aber nicht mehr.


David Levy & Monty Newborn "How Computers play Chess",
Computer Science Press, 1991, ISBN-0-7167-8121-2 (pbk)


Eds.: T.A.Marsland & J.Schaeffer: "Computers, Chess, and Cognition",
Springer Verlag, 1990, ISBN-0-387-97415-6

enthält einige sehr interessante Artikel, u.a.
Hyatt et al. über Bewertungsfunktion von Cray Blitz,,
Kaindl über Verbesserungen von alpha-beta (PVS Technik etc.),
das "historischen" Nullmove-Papier von Goetsch & Campbell


Gruß, Uli

zu deiner Frage: ich würde dir auch empfehlen, dir mal die Standard-Techniken für Zuggenerierung anzusehen (z.B. die "Mailbox")

von Ulrich Türke - am 18.06.2001 18:24
[Wie überprüft man die Legalität eines Zuges?]
> Ganz simpel, ich führe den Zug aus und wenn der Gegner hernach meinen König schlagen kann, dann war der Zug weniger legal...

Meiner Ansicht nach, ist es nicht ganz so trivial in einem Programm mit nullmove Technik, da ja beim rekursiven Suchaufruf nicht unbedingt ein Zug für die andere Seite ausgeführt wird (bei Yace - und vermutlich bei vielen anderen Programmen auch - werden hier überhaupt keine Züge für die andere Seite generiert, also wird auch nicht quasi nebenbei festgestellt, ob der König geschlagen werden kann).

Ich hatte die von dir beschrieben Technik versucht, aber keinen signifikanten Unterschied festgestellt - mit Ausnahme des komplizierteren Codes. Hast du hier (=nullmove Problematik) einen speziellen Trick?

Grüße,
Dieter

von Dieter Bürßner - am 18.06.2001 18:44
Thomas Mayer schrieb:
>
> Hallo Martin,
>
> sowas ist natürlich abhängig von Deiner Brett-Repräsentation...
> nimmt man 10x12 ist es am einfachsten...
> Du sprichst immer von Legalitäts-Prüfung: Also ich und die
> meisten anderen Programme generieren nur pseudo-legale Züge -
> erst wenn die Zugsortierung sagt, der Zug soll probiert werden,
> wird geprüft, ob er auch legal ist. (Ganz simpel, ich führe den
> Zug aus und wenn der Gegner hernach meinen König schlagen kann,
> dann war der Zug weniger legal...)
> Wie Uli sehe ich es auch so, daß Du einen Faktor 10 schon noch
> rausholen solltest, irgendwas machst Du etwas zu kompliziert...
>
> Gruß, Thomas
>
> P.S.: Quark hat übrigens einen der schnellsten Zuggeneratoren
> unter den Amateuren, grins, bin ich auch mächtig stolz drauf...
> :)

Danke für die Tips.
Bis jetzt habe ich einfach 8x8 (10x12 kommt mir aber aus Minimax bekannt vor). Bringt das einen Geschwindigkeitsvorteil, wenn ja einen deutlichen?
Wenn ich meine Legalitätsprüfung rausschmeiße, spare ich zwar 33%, aber zu den 90 % fehlt halt noch ein wenig.
Ich meine, gibt es da allgemeine Ratschläge, was man verbessern kann? Eine Sache war, dass ich die Board-Repräsentation ein wenig geändert habe, ein paar Divisionen durch 6 durch Divisionen durch 8 ersetzt. Schwups, 10% schneller. Aber momentan fehlt mir da die Idee. Ich muss ja für jede Figur alle Züge ansehen. Also z.B. beim Turm in alle Richtungen gucken, bis man auf eine Figur trifft. Weiß nicht, wo man da noch Faktoren von 10 (oder 100) rausholen könnte.

Gruß, Martin

von Martin Schubert - am 18.06.2001 18:55
Hallo Martin,

bei 8x8 würde ich mir mal den Gnu (4) Quellcode etwas genauer anschauen, daß ist eine recht rafinierte Methode, wie man es machen kann... Jedenfalls mußt Du Dir bei 8x8 mit vorberechneten Tabellen behelfen, ansonsten wird es zu kompliziert... Einen 10x12 Zuggenerator (richtig, z.B. MiniMax) kann man auch ohne Tabellen sehr sehr schnell machen, es ist zumindest die einfachste Brettrepräsentation... Als Einstieg würde ich an Deiner Stelle nicht mit 8x8 anfangen, schon eher was für Bitjongleure...

Gruß, Thomas

P.S.: Literatur ? Alle möglichen Sourcen, die es von diversen Schachprogrammen gibt, besonders TSCP, GnuChess 4, evtl. Gerbil... Tja, dann kommt noch "Schach am PC" in Frage und dann noch "das große Computerschachbuch" von Data Becker, letzteres finde ich eine wirklich erstklassige Einführung, wenn's wer irgendwo auftreiben kann, er wird nicht enttäuscht sein (einzig der Basic-Dialekt war FÜRCHTERLICH... Rekursion in GW-Basic... :) Das Levy-Buch kenn ich nicht und aus dem Buch von Ernst A. Heinz hab ich bisher ein paar Seiten bei Andreas Herrmann gesehen... Naja... schwere Literatur... und die fortgeschrittenen Techniken von Ernst sind zwar wohl ein Versuch Wert, allerdings auch sehr umstritten...

von Thomas Mayer - am 18.06.2001 20:03
Hallo, Thomas!

Thomas Mayer schrieb:
>
> Hallo Martin,
>
> bei 8x8 würde ich mir mal den Gnu (4) Quellcode etwas genauer
> anschauen, daß ist eine recht rafinierte Methode, wie man es
> machen kann...
Wo findet man den?
>Jedenfalls mußt Du Dir bei 8x8 mit
> vorberechneten Tabellen behelfen, ansonsten wird es zu
> kompliziert...
Wieso? Ich gucke einfach, ob ich über den Rand ziehe. Meinst Du, das macht zeitmäßig viel aus?
>Einen 10x12 Zuggenerator (richtig, z.B. MiniMax)
> kann man auch ohne Tabellen sehr sehr schnell machen, es ist
> zumindest die einfachste Brettrepräsentation... Als Einstieg
> würde ich an Deiner Stelle nicht mit 8x8 anfangen, schon eher
> was für Bitjongleure...
>
> Gruß, Thomas
>
> P.S.: Literatur ? Alle möglichen Sourcen, die es von diversen
> Schachprogrammen gibt, besonders TSCP, GnuChess 4, evtl.
> Gerbil... Tja, dann kommt noch "Schach am PC" in Frage und dann
> noch "das große Computerschachbuch" von Data Becker, letzteres
> finde ich eine wirklich erstklassige Einführung, wenn's wer
> irgendwo auftreiben kann, er wird nicht enttäuscht sein (einzig
> der Basic-Dialekt war FÜRCHTERLICH... Rekursion in GW-Basic...
> :) Das Levy-Buch kenn ich nicht und aus dem Buch von Ernst A.
> Heinz hab ich bisher ein paar Seiten bei Andreas Herrmann
> gesehen... Naja... schwere Literatur... und die
> fortgeschrittenen Techniken von Ernst sind zwar wohl ein
> Versuch Wert, allerdings auch sehr umstritten...

Worauf hast Du den aufgebaut? Du verwendest ja anscheinend "altbekannte" Algorithmen. Wo hast Du die her?

Gruß, Martin

von Martin Schubert - am 18.06.2001 20:12
Hallo Martin,

begonnen hatte ich mal vor Urzeiten mit dem Demo-Schach aus dem großen Computerschachbuch... Das war eine 12x12 Brettrepräsentation... prinzipiell ist das aber nichts anderes als 10x12... Dann habe ich ja ewig praktisch nichts gemacht und letztes Jahr ganz neu angefangen, mit einem 8x8 System. Klar, die Algorithmen sind altbekannt, Alpha-Beta eben, modifizierter Null-move, hier und da ein paar Erweiterungen usw... Andere Quellcodes schaue ich mir zwar an, per Cut & Paste habe ich nur die Nalimovs übernommen, so wie das praktisch alle machen (inklusive den Profis, ja, auch ein Fritz hat den Nalimov-Code) der Rest ist auf meinem eigenen Mist gewachsen... (und deshalb konnte ich dann in Paderborn z.B. beim Thema hashen nur staunen, was da so alles noch nicht richtig bei mir funktioniert... sehr lehrreich, so ein Turnier... :)
Beim Zuggenerator hab ich mir den von GnuChess sehr genau angeschaut und dann modifiziert, mein erster Zug-Generator machte so 3.500.000 Züge/sec auf meiner Maschine, und ich fand das toll schnell... Bis mir Vincent Diepeveen dann mal gesagt hat, das wäre schlecht - dann hab ich mir weitere Gedanken gemacht... und jetzt bin ich eigentlich ganz zufrieden mit meinem Zuggenerator - ich glaube, bei den Bauernzügen kann ich noch ein wenig was rausholen... aber egal, wenn ich mal zu viel Zeit habe, auf die paar Ticks kommts dann doch nicht mehr an, da habe ich ein paar andere Ideen, die mir hoffentlich mehr bringen sollten... ich glaube übrigens, daß bei 8x8 fast alle so was ähnliches wie der GnuChess machen...

Gruß, Thomas

von Thomas Mayer - am 18.06.2001 20:24

ChessAcademy - Comet

Vielleicht hast du doch recht, Harald.
Ich habe leider keine Zeit ein ganzes Match zu machen,
habe aber mal ein active chess Partie (25') durchlaufen
lassen. Comet lief dabei auf einer halb so schnellen
Maschine mit deutlich kleinerer Hash-Tabelle.

Nach Verlassen des Buches rechnete ich schon mit dem
schlimmsten. Aber die Academy ging ohne gegen jede
Gegenwehr ein, obwohl sie nominell deutlich tiefer
suchte und auch in nps um ein Vielfaches schneller
war. Nach Verlassen des Buches stand sie meiner
bescheidenen Meinung nach klar besser.

Ich glaube, die Königssicherheit wird zu sehr
vernachlässigt. Comet hätte den auf g2 in die
Königsstellung eingedrungenen Bauern z.B. einfach stehen
gelassen anstatt zu nehmen.

Bei Comet spielte die B.35 CB-Engine mit eigenem Buch.

Eine Partie ist natürlich zu wenig, aber die
beobachteten Schwächen lassen sich wohl nicht
verleugnen. Der Abstand der Academy zur Spitze
ist vermutlich größer als ich dachte.

Ich werde bei Gelegenheit mal fortsetzen.




[Event "Blitz:25'/Default"]
[Site "ULI"]
[Date "2001.06.18"]
[Round "1"]
[White "ChessAcademy k6/450"]
[Black "Comet B35 k6/233"]
[Result "0-1"]
[ECO "B33"]
[Annotator "-0.01"]
[PlyCount "70"]
[EventDate "2001.06.18"]

{23MB, empty.ctg. Default
} 1. e4 {last book move 0} 1... c5 {-0.01/1 0} 2.
Nf3 {1} 2... Nc6 {-0.01/1 0} 3. d4 {1} 3... cxd4 {-0.01/1 0} 4. Nxd4 {1} 4...
Nf6 {-0.01/1 0} 5. Nc3 {1} 5... e5 {-0.01/1 0} 6. Ndb5 {1} 6... d6 {-0.01/1 0}
7. Bg5 {1} 7... a6 {-0.01/1 0} 8. Na3 {1} 8... b5 {-0.01/1 0} 9. Bxf6 {1} 9...
gxf6 {-0.01/1 0} 10. Nd5 {1} 10... f5 {-0.01/1 0} 11. Bd3 {1} 11... Be6 {
-0.01/1 0} 12. Qh5 {1} 12... Bg7 {-0.01/1 0} 13. O-O {1} 13... f4 {-0.01/1 0}
14. c4 {1} 14... O-O {-0.01/1 0} 15. cxb5 {38} 15... Nd4 {-0.01/1 0} 16. bxa6 {
58} 16... f5 {1.75/7 30} 17. Nc3 {110} 17... Rf6 {1.31/7 36} 18. Qd1 {64} 18...
f3 {0.87/8 41} 19. exf5 {69} 19... fxg2 {0.72/8 45} 20. Kxg2 {30} 20... Bxf5 {
0.23/7 38} 21. Nd5 {31} 21... Bh3+ {0.13/7 47} 22. Kh1 {91} 22... Rh6 {
-0.68/8 0} 23. Bc4 {50} 23... Bxf1 {-1.10/7 24} 24. Qxf1 {30} 24... Nf3 {
-1.23/7 5} 25. h3 {24} 25... Kh8 {-1.70/7 3} 26. Ne3 {30} 26... Qd7 {-2.95/7 25
} 27. Bd3 {83} 27... Rxh3+ {-5.14/6 34} 28. Kg2 {26} 28... Rf8 {-5.69/6 7} 29.
Be4 {31} 29... Rh6 {-7.42/6 78} 30. Qh1 {20} 30... Nd2 {-8.76/7 21} 31. f3 {33}
31... Nxe4 {-11.74/7 27} 32. Ng4 {30} 32... Rxh1 {-12.52/7 20} 33. Rxh1 {27}
33... Ng5 {-13.20/7 0} 34. Rf1 {31} 34... e4 {-14.14/7 12} 35. Kg3 {32} 35...
h5 {-15.89/6 16} 0-1

von Ulrich Türke - am 18.06.2001 21:40

Re: ChessAcademy - Comet

Kannst ja mal über Tag oder über Nacht ein paar mehr Aktivschachpartien spielen, aber ich denke und erwarte nicht, dass die Ergebnisse viel besser werden.
Haralds Homepage


von Harald Faber - am 19.06.2001 04:58
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.