
Zitat von
BHGP
Hallo,Hängt das mit den fehlenden Hashtables zusammen?
Das ist möglich, weil er nach dem Finden des Matts ja noch weitergesucht haben wird und dabei schon wieder einen Teil der Hashtabellen überschrieben hat. Damit kann er sich beim nächsten mal nicht einfach an den Hash-Einträgen entlanghangeln, weil zwischendrin welche fehlen.
Zudem wird typischerweise bei einer neuen Stellung erstmal mit einem, dann zwei, dann drei usw. Halbzügen untersucht, und hier hat man nur die Wahl zwischen zwei unschönen Effekten:
1) Man nimmt auch in der Hauptvariante direkt den Zug und die Stellungsbewertung aus der Hashtabelle, wenn die dort gespeicherte Stellung von mindestens der Tiefe "gedeckt" ist, die man gerade abklappert. Dann hat man zwischendrin aber immer mal wieder abgehackte Hauptvarianten, d.h. es wird z.B. Tiefe 10 angezeigt, die Hauptvariante hat aber komischerweise nur zwei Züge.
Zudem geht es sehr schnell bis zu dieser Tiefe vorwärts, aber dann rennt die Engine vor eine Wand, weil sie keine brauchbare Hauptvariante hat und ein Teil der Hash-Einträge schon bei der Position einen Zugwechsel vorher überschrieben wurde.
2) Oder man rechnet in der Hauptvariante auch in obigem Fall weiter, bis man genug Tiefe hat, dann rauscht man aber nicht wie am PC schlagartig zur letztlich relevanten Tiefe vor, und natürlich sieht er dann das Matt auch nicht sofort. Dafür paßt aber die Länge der momentanen Hauptvariante zur Rechentiefe. Kostet einen Tick mehr Rechenzeit, aber das relativiert sich, sobald man die Tiefe erreicht, ab der man tatsächlich weiterrechnet als beim letztenmal.
Speziell im Analysemodus wäre es aber auch möglich, daß sämtliche Stellungsspeicher vorher ohnehin gelöscht werden, um reproduzierbare Ergebnisse zu bekommen.