Frage:
Was sind die häufigsten Fehler, die Schachmotoren im ELO-Bereich von 1500 bis 1800 machen?
ManirajSS
2014-08-26 00:37:39 UTC
view on stackexchange narkive permalink

Ich bin ein Softwareentwickler und gelegentlicher Schachspieler mit einer Elo-Bewertung von 1500.

Schach-Engines unterschiedlichen Levels spielen verschiedene Arten von Spielen mit einigen Fehlern entsprechend dem jeweiligen Level.

  1. Ich bin sehr gespannt darauf, dass die gemeinsamen Faktoren die Spielfähigkeit von Schach-Engines von einem Level zum anderen unterscheiden.
  2. Kann jemand erklären, was die häufigsten Fehler sind machen von chessengines bei ELO Bereich 1500 - 1800?
  3. ol>

    Vielen Dank im Voraus für Ihre Hilfe.

Ich mag diese Frage, bin mir aber nicht sicher, ob sie derzeit beantwortet werden kann. Vielleicht möchten Sie klären, ob Sie über absichtliche Fehler sprechen, die einige Programme einfügen, oder nur schlechte Bewegungen auswählen. Sie sollten diese Frage auch in zwei Teile teilen, da Sie zwei Fragen haben!
@HenryKeiter, Ich denke, die Frage ist ziemlich beantwortbar. Man braucht einfach viel Zeit dafür! :) :)
Es ist nicht so sehr ein Fehler, sondern eher ein minderwertiger Algorithmus und eine schlechte Suchtiefe. Ich bin immer noch auf der Suche nach einem intelligenten Programm, das "interessante" oder menschlich aussehende Fehler macht.
Zwei antworten:
SmallChess
2014-08-26 09:48:04 UTC
view on stackexchange narkive permalink

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.

  1. Fähigkeit, einen Cutoff schneller durchzuführen
  2. Fähigkeit zu bewerten eine Position besser
  3. 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.

Wie bewerten Sie das "Elo einer Bewertungsfunktion"? Woher kommt die 1800-Nummer? Hat jemand "alle anderen Funktionen außer der Alpha-Beta-Suche + Bewertungsfunktion deaktiviert"?
@rodrigob Die Zahl ist eine grobe Annäherung durch Lesen des Quellcodes. Das im Quellcode demonstrierte Schachverständnis besteht im Wesentlichen aus Materialzählung, entgegengesetztem Farbbischof, Abstand, besseren Türmen in der offenen Datei, Bauernstruktur usw. All dies kann von einem Spieler mit einer Bewertung von 1800 verstanden werden.
tbischel
2014-08-27 02:24:02 UTC
view on stackexchange narkive permalink

Eine Suche braucht nicht viel Tiefe, um ein Niveau von 1800 zu überschreiten. Selbst wirklich dumme Bewerter neigen dazu, dieses Niveau schnell zu überschreiten. Motoren mit diesen Problemen scheinen in ruhigen Positionen (oder geschlossenen Positionen) stecken zu bleiben, für die ein Plan erforderlich ist, der über den Suchhorizont hinaus endet, und keine kurze taktische Verbesserung. Oft kann ein Programm zufällige Bewegungen ausführen, die zu einer Verschlechterung seiner Position führen, sodass ein geduldiger Mensch darauf warten kann, dass sich Schwächen selbst zufügen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...