Ich bin auch ein Entwickler von Schach-Engines. Lassen Sie mich Ihnen aus eigener Erfahrung antworten:
Es gibt viele Gründe, die die Spielfähigkeit unterscheiden. Eigentlich viel. Dies ist ein Bereich, in dem man eine Doktorarbeit schreiben könnte, aber lassen Sie uns einen kurzen Blick auf die beiden Hauptfaktoren werfen.
- Fähigkeit, einen Cutoff schneller durchzuführen
- Fähigkeit zu bewerten eine Position besser
ol> Im Gegensatz zu einem menschlichen Spieler benötigt ein Computerschachalgorithmus keine ausgefeilte Positionsbewertung. Viele schwache Motoren neigen dazu, einige sehr komplizierte Auswertungen zu verwenden, wie z. B. die kubische Interpolation von Materialwerten, aber es hat sich gezeigt, dass keine funktioniert. Einfach ist der Schlüssel. Stockfish, der stärkste Motor der Welt, hat eine Bewertung für Elo 1800. Es mag erstaunlich klingen, dass ein Elo 3000+ Motor eine einfache Bewertung hat, die nur für Elo 1800 gilt. Denken Sie jedoch daran, dass ein Computer diese Auswertungsfunktion für Hunderttausende von Positionen verwenden muss. Je einfacher, je schneller die Engine suchen kann, desto höher kann die Tiefe sein und desto mehr Taktik kann sie sehen.
Schwache Engines verwenden in der Regel nur Alpha-Beta. Es ist nicht ausreichend, weil der Suchraum zu groß ist. Man müsste Null-Move-, Late-Move-Reduktionen und andere erweiterte Algorithmen in Betracht ziehen.
Nun zu Ihrem zweiten Punkt. Der häufigste Fehler, den Schach-Engines im ELO-Bereich von 1500 bis 1800 machen, ist, dass ihr Programmierer die Schachprogrammierung nicht versteht. MicroMax, eine superleichte Schach-Engine (Google, wenn Sie nicht glauben), kann Elo 2000 spielen. Alles, was schwächer ist als dies, ist ein Hinweis darauf, dass die Engine Fehler aufweist und nicht wie erwartet funktioniert.
Im Allgemeinen kann ein Motor mit einer korrekten Materialbewertungsfunktion Elo 2000 ausführen.