Diese Seite mit anderen teilen ...

Informationen zum Thema:
Forum:
ChessBits-Computerschachforum
Beiträge im Thema:
15
Erster Beitrag:
vor 16 Jahren
Letzter Beitrag:
vor 16 Jahren
Beteiligte Autoren:
Martin Schubert, Steffen Jakob, Eduard Nemeth, Ingo Bauer

Anzahl Zugfolgen?

Startbeitrag von Martin Schubert am 29.05.2001 11:21

Für den ersten Zug gibt es im Schach 20 Möglichkeiten.
Für die ersten zwei (Halb)Züge im Schach also 20*20=400 Möglichkeiten.
Danach wird es kompliziert, ich habe die Zahlen mal irgendwo gesehen, kann mir die jemand geben oder sagen, wo ich die finde? Bräuchte das dringend! (Um herauszufinden, ob mein "Schachprogramm" funktioniert.)
Wieviele Zugfolgen es bis zum 3.,4.,5. Halbzug gibt?

Vielen Dank, Martin

Antworten:

Martin Schubert schrieb:
>
> Für den ersten Zug gibt es im Schach 20 Möglichkeiten.
> Für die ersten zwei (Halb)Züge im Schach also 20*20=400
> Möglichkeiten.
> Danach wird es kompliziert, ich habe die Zahlen mal irgendwo
> gesehen, kann mir die jemand geben oder sagen, wo ich die
> finde? Bräuchte das dringend! (Um herauszufinden, ob mein
> "Schachprogramm" funktioniert.)
> Wieviele Zugfolgen es bis zum 3.,4.,5. Halbzug gibt?
>
> Vielen Dank, Martin

Hi Martin!

Kannst Du plastisch erklären was man unter dem Begriff " Zugfolgen" versteht?

Hier die Anzahl der mögliche "Stellungen" nach dem...

1. Halbzug = 40

2.Halbzug = 1.600

3. Halbzug = 64.000

4. Halbzug = 2.600.000

5. Halbzug = 102.000.000

Du meinst mit " Zugfolgen" aber etwas völlig anderes, nehme ich an.

Gruß,
Eduard

von Eduard Nemeth - am 29.05.2001 12:31
Eduard Nemeth schrieb:
>
> Martin Schubert schrieb:
> >
> > Für den ersten Zug gibt es im Schach 20 Möglichkeiten.
> > Für die ersten zwei (Halb)Züge im Schach also 20*20=400
> > Möglichkeiten.
> > Danach wird es kompliziert, ich habe die Zahlen mal irgendwo
> > gesehen, kann mir die jemand geben oder sagen, wo ich die
> > finde? Bräuchte das dringend! (Um herauszufinden, ob mein
> > "Schachprogramm" funktioniert.)
> > Wieviele Zugfolgen es bis zum 3.,4.,5. Halbzug gibt?
> >
> > Vielen Dank, Martin
>
> Hi Martin!
>
> Kannst Du plastisch erklären was man unter dem Begriff "
> Zugfolgen" versteht?
>
> Hier die Anzahl der mögliche "Stellungen" nach dem...
>
> 1. Halbzug = 40
>
> 2.Halbzug = 1.600
>
> 3. Halbzug = 64.000
>
> 4. Halbzug = 2.600.000
>
> 5. Halbzug = 102.000.000
>
> Du meinst mit " Zugfolgen" aber etwas völlig anderes, nehme ich
> an.
>
> Gruß,
> Eduard

Nach dem ersten Halbzug sollte es 20 Stellungen geben (da Weiß 20 Züge hat), da Schwarz auch 20 züge hat, nach 2 Halbzügen 20*20=400 Stellungen. Und ab dem 3. Halbzug kann man halt nicht mehr multiplizieren, sondern muss das zählen.
Ich meine keine Stellungen, sondern Zugfolgen, also 1. e4 e5 2. Sf3 ist etwas anderes als 1. Sf3 e5 2. e4.

Danke für die Antwort, Gruß, Martin

von Martin Schubert - am 29.05.2001 13:13
Martin Schubert schrieb:
>
> Eduard Nemeth schrieb:
> >
> > Martin Schubert schrieb:
> > >
> > > Für den ersten Zug gibt es im Schach 20 Möglichkeiten.
> > > Für die ersten zwei (Halb)Züge im Schach also 20*20=400
> > > Möglichkeiten.
> > > Danach wird es kompliziert, ich habe die Zahlen mal irgendwo
> > > gesehen, kann mir die jemand geben oder sagen, wo ich die
> > > finde? Bräuchte das dringend! (Um herauszufinden, ob mein
> > > "Schachprogramm" funktioniert.)
> > > Wieviele Zugfolgen es bis zum 3.,4.,5. Halbzug gibt?
> > >
> > > Vielen Dank, Martin
> >
> > Hi Martin!
> >
> > Kannst Du plastisch erklären was man unter dem Begriff "
> > Zugfolgen" versteht?
> >
> > Hier die Anzahl der mögliche "Stellungen" nach dem...
> >
> > 1. Halbzug = 40
> >
> > 2.Halbzug = 1.600
> >
> > 3. Halbzug = 64.000
> >
> > 4. Halbzug = 2.600.000
> >
> > 5. Halbzug = 102.000.000
> >
> > Du meinst mit " Zugfolgen" aber etwas völlig anderes, nehme ich
> > an.
> >
> > Gruß,
> > Eduard
>
> Nach dem ersten Halbzug sollte es 20 Stellungen geben (da Weiß
> 20 Züge hat), da Schwarz auch 20 züge hat, nach 2 Halbzügen
> 20*20=400 Stellungen. Und ab dem 3. Halbzug kann man halt nicht
> mehr multiplizieren, sondern muss das zählen.
> Ich meine keine Stellungen, sondern Zugfolgen, also 1. e4 e5 2.
> Sf3 ist etwas anderes als 1. Sf3 e5 2. e4.
>
> Danke für die Antwort, Gruß, Martin

Habe verstanden Martin, danke!

Also mir ist das auch zu kompliziert, zumal ich "nur" die übliche Mathematik
gelernt habe, aber ich dachte bisher dass es für "fast" alles eine FORMEL gibt,
wie zB. in der Elektronik ! :-)

Hier wohl nicht? :-( :-(

Gruß,
Eduard

von Eduard Nemeth - am 29.05.2001 13:57
Martin Schubert schrieb:
>
> Für den ersten Zug gibt es im Schach 20 Möglichkeiten.
> Für die ersten zwei (Halb)Züge im Schach also 20*20=400
> Möglichkeiten.
> Danach wird es kompliziert, ich habe die Zahlen mal irgendwo
> gesehen, kann mir die jemand geben oder sagen, wo ich die
> finde? Bräuchte das dringend! (Um herauszufinden, ob mein
> "Schachprogramm" funktioniert.)
> Wieviele Zugfolgen es bis zum 3.,4.,5. Halbzug gibt?

Hi Martin!

Wenn, Du Deinen Zuggenerator testen moechtest, ist die Ausgangsstellung ziemlich ungeeignet, da es zu lange dauert bis boese Sonderfaelle wie Rochade, en passant, Matt, Umwandlungen, etc. auftreten. Eine gute Teststellung (von Peter McKenzie) ist folgende:

r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -

depth=1, nodes=48
depth=2, nodes=2039
depth=3, nodes=97862
depth=4, nodes=4085603
depth=5, nodes=193690690

Hier sind der Vollstaendigkeit halber noch die Werte fuer die Initialstellung:

depth=1, nodes=20
depth=2, nodes=400
depth=3, nodes=8902
depth=4, nodes=197281
depth=5, nodes=4865609

Gruesse,
Steffen.
Hossa


von Steffen Jakob - am 29.05.2001 14:31

Vielen Dank!

Klasse!

Das ist genau das, was ich gesucht habe! Selbst bei der Ausgangsstellung stimmt es bei mir schon bei Tiefe 4 nicht:-(

Gruß, Martin

von Martin Schubert - am 29.05.2001 14:44

Re: Vielen Dank!

Martin Schubert schrieb:
>
> Klasse!
>
> Das ist genau das, was ich gesucht habe! Selbst bei der
> Ausgangsstellung stimmt es bei mir schon bei Tiefe 4 nicht:-(

Dann viel Spass beim debuggen.

Ein zuverlaessiges und freies Tool zum Ermitteln der korrekten Zahlen ist uebrigens Crafty! Das Kommando hierfuer lautet "perft".

Beste Gruesse,
Steffen.
Crafty


von Steffen Jakob - am 29.05.2001 14:55

Re: Vielen Dank!

Gibt es auch einen Trick, wie man die Fehler findet, wenn man nur weiß, das die Zahl falsch ist. Ich habe es noch nicht geschafft, eine Stellung einzugeben, bei der die Anzahl der Züge falsch angegeben wird. Aber bei Deiner Stellung haut es schon ab ply 2 nicht mehr hin. Gibt es ein Tool, mit dem ich für eine Stellung alle Zugfolgen bis ply 2 in eine Datei ausgeben kann? Dann könnte man nämlich vergleichen.
Wenn ich nur weiß, dass ich statt 2039 2121 Zugfolten habe! Ächz! Wo ist der Fehler?
Gott sei Dank kann mein Programm zwar noch kein Schach spielen, aber schon EPD lesen...

Gruß, Martin

von Martin Schubert - am 29.05.2001 15:37

PREISAUSSCHREIBEN!

Tja, Ihr werdet wohl nie erraten, welche Züge meinem tollen Programm eingefallen sind! Die Probleme mit der Zuggenerierung hatten natürlich nichts mit Rochade, en passant oder Umwandlung zu tun.

In folgender Stellung
rnbqkbnr/ppp1pppp/8/1B1p4/4P3/8/PPPP1PPP/RNBQK1NR b KQkq -

muss Schwarz sich etwas einfallen lassen, wie er das gefährliche Schach bekämpft. Meinem genialen Programm sind doch tatsächlich 7 Züge in dieser Stellung eingefallen. Die 5, die gehen, und noch 2...

Unter allen Lesern, die richtig erraten, welche 2 Züge mein Programm außer den legalen noch gefunden hat, verlose ich eine ChessBase-Trainings-CD nach Wahl! (Wie man sich denken kann, sind sie nicht ganz regelkonform.)

Kreative Lösungen bitte an meine E-Mail.

Viel Spaß!

(Der Rechtsweg ist natürlich ausgeschlossen, Einsendeschluss Pfingstmontag)

von Martin Schubert - am 29.05.2001 16:34

Re: Vielen Dank!

Hallo Martin!

Martin Schubert schrieb:
>
> Gibt es auch einen Trick, wie man die Fehler findet, wenn
> man nur weiß, das die Zahl falsch ist. Ich habe es noch nicht
> geschafft, eine Stellung einzugeben, bei der die Anzahl der
> Züge falsch angegeben wird. Aber bei Deiner Stellung haut es
> schon ab ply 2 nicht mehr hin. Gibt es ein Tool, mit dem ich
> für eine Stellung alle Zugfolgen bis ply 2 in eine Datei
> ausgeben kann? Dann könnte man nämlich vergleichen.
> Wenn ich nur weiß, dass ich statt 2039 2121 Zugfolten habe!

Bob hatte mir mal den Crafty so modifiziert, dass er genau diesen Output geliefert hat. Ich glaube, dass das jetzt standardmaessig in Crafty eingebaut ist. Ich habe dann bei mir Output mit dem selben Format erzeugt. Danach muss man nur noch beide Ausgaben sortieren und diffen.

Das ganze hat einen Haken. Wenn Du z.B. ein Problem in depth 5 in der Stellung von McKenzie hast (war bei mir der Fall), wird der Output derart gross, dass er nicht mehr leicht zu handhaben ist. Man muss dann ziemlich tricksen, um sich an den Fehler heranzutasten.

So, ich schau mal, wie das mit Crafty ging...

Aha, Du musst folgendes tun:


Crafty mit -DTRACE uebersetzen
Stellung eingeben (setboard fen)
trace n eingeben
perft n eingeben


Daraufhin spuckt Dir crafty alle legalen Varianten aus. Die musst Du in eine Datei umlenken und dann in Deinem Programm einen vergleichbaren Output erzeugen.

Frohes Debuggen,
Steffen.
Hossa


von Steffen Jakob - am 30.05.2001 07:43

Re: Vielen Dank - hallo Steffen!

Hallo Steffen!

Ich finde es super dass Du hier antwortest. Ich habe übrigens dir viel zu verdanken - nicht wahr!? Über weitere fachfundierte Beiträge von dir an dieser Stelle hier werde ich mich natürlich IMMER freuen!

Eine Sehnsucht habe ich ( und ich mag nicht schon wieder nachfragen, aber die Sehnsucht ist stärker :): Wann können wir mit der Veröffentlichung deines Programms HOSSA rechnen?

Ich würde mich jedenfalls sehr freuen!

:xcool:

Liebe Grüße,
Eduard

von Eduard Nemeth - am 30.05.2001 15:07

Testmethoden

Lieber Eduard!

Eduard Nemeth schrieb:
>
> Hallo Steffen!
>
> Ich finde es super dass Du hier antwortest. Ich habe übrigens
> dir viel zu verdanken - nicht wahr!? Über weitere
> fachfundierte Beiträge von dir an dieser Stelle hier werde ich
> mich natürlich IMMER freuen!
>
> Eine Sehnsucht habe ich ( und ich mag nicht schon wieder
> nachfragen, aber die Sehnsucht ist stärker :): Wann können wir
> mit der Veröffentlichung deines Programms HOSSA rechnen?
>
> Ich würde mich jedenfalls sehr freuen!

In letzter Zeit bin habe ich nicht viel an der Engine gebastelt. Jedoch: das was ich gemacht habe, waren Verschlimmbesserungen. Das frustriert mich auf der einen Seite ziemlich, auf der anderen motiviert es mich, nach wegen zu Suchen, um dies zu verhindern. Ich habe gerade heute einen Artikel im CCC gepostet, der sich mit Testmethoden beschaeftigt. Ich kopier ihn mal hierher, vielleicht hat hier jemand gute Ideen.

Tja, das wird noch dauern, bis ich Hossa freigebe. Immerhin habe ich fast den ganzen Juni Urlaub, den ich wieder in Mondsee (s.u.) verbringe, wo auch Werner Inmann (Inmichess) wohnt. Ich hoffe zum einen, dass ich dort bzgl. Hossa weiterkomme, "befuerchte" aber auch, dass die Diskussionen mit Werner zu Ideen fuehren, die deren Realisierung wieder hinauszoegert. Naja, wie man im CCT3 gesehen hat (3/8), ist es kein allzugrosser Verlust, dass Hossa noch nicht frei verfuegbar ist :)

Hier mein posting aus dem CCC (in english):

Posted by Steffen Jakob (Profile) on May 30, 2001 at 05:57:54:

Hi all,

it seems as if the last modifitication I made made Hossa play
worse. What I need are some good methods for testing. At the moment my
testing is rather chaotic. I observe games at ICC and if I see
something strange I try to fix it. Then I let Hossa play again at ICC
and look how it works. "to see how it works" is surely not a good way
for testing and the ICC rating isnt also reliable.

I know from others that they do basically the same. I am not happy
with this at all. I rather would like to see a well defined strategy
how to test changes automatically. Here is some short brain storming
and I would like to get some feedback.

- test suites (I dont like test suites very much for testing, because
those positions are mostly very tactically and rather
exceptional). There should be used different test suites which
emphasize different themes (tactics, endgames, pawn endgames,
exchange sacs, ...)
data to compare: #solutions, #nodes, time

- static eval tests: I think of a set of positions where I dont look
for a best move but for a static eval value. An eval range would be
assigned to each position and if the engine´s static eval is within
this range, then it matches.
data to compare: #solutions

- static eval order: this is similar to the point above. Here I want
to specify a set of ordered positions. The "best" position is
ordered first etc.. This point is interesting. Here you can test
if the engine prefers certain patterns to other patterns.
data to compare: #solutions

- effective branching factor test: given is a set of "typical"
positions for opening, middlegame, endgame. The engine computes each
position a certain time and writes down the effective branching
factor.
data to compare: effective branching factors

- % fail highs in first move: similar as above. For the same set of
"typical" positions the percentage of 1st move fail highs is measured.
data to compare: %

- self games: a reasonable number of games is played vs older versions
of the same program. Which openings? learning? Maybe the openings
should be given so that the results are better comparable.
data to compare: score for different time controls

- matches vs other programs: similar as above. a reasonable number of
games is played vs other programs.
data to compare: score for different time controls


All tests can be done automatically and produce good results which can
be compared directly.

Greetings,
Steffen.


von Steffen Jakob - am 30.05.2001 15:22

Re: PREISAUSSCHREIBEN!

Meinem genialen Programm sind doch
> tatsächlich 7 Züge in dieser Stellung eingefallen. Die 5, die
> gehen, und noch 2...

Hallo Martin

Ich will ja nicht unbedingt gewinnen aber mich würde interessieren ob ich richtig geraten habe!

Ingo

von Ingo Bauer - am 30.05.2001 17:13

Re: PREISAUSSCHREIBEN!

Hi!

Nein, hast Du nicht! Es sind 2 (un)mögliche Züge, die schon etwas miteinander zu tun haben. Allerdings haben sie nicht viel mit den Schachregeln zu tun.

Gruß, Martin

von Martin Schubert - am 31.05.2001 12:59

Re: Vielen Dank!

Danke!

Das muss ich mir merken. Allerdings scheint mein Zuggenerator jetzt zu funktionieren.

Gruß, Martin

von Martin Schubert - am 31.05.2001 13:02
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.