Thema: Partie: Chafitz Boris
Einzelnen Beitrag anzeigen
  #12  
Alt 28.08.2015, 10:56
Benutzerbild von Solwac
Solwac Solwac ist offline
Revelation
 
Registriert seit: 18.07.2010
Land:
Beiträge: 782
Abgegebene Danke: 189
Erhielt 338 Danke für 216 Beiträge
Aktivitäten Langlebigkeit
0/20 14/20
Heute Beiträge
0/3 ssssss782
AW: Chafitz Boris

 Zitat von SkobyMobil Beitrag anzeigen
Hallo,
das ist ja nicht zu fassen. Diese "Stellungswiederholung" bei SchachComputern
fasziniert mich ja langsam…
Auch hier halte ich es für einen Fehler im Programm. Die Stellung ist weder
Remis noch sonst was.
Das haben die Programierer wohl nicht auf dem Schirm gehabt. Und es ist hier
ja völlig bescheuert:
Die Dame schlägt, den Läufer- Schach! Und dann machen die beiden wie die
kleinen Kinder weiter…
Gruß und Spaß
Andreas
Du scheinst (noch) nicht zu verstehen wie Schachcomputer arbeiten.

Frühere Programme (und Boris gehört definitiv dazu) haben mehrere Nachteile gegenüber Programmen z.B. 5 oder 10 Jahre später:

Zum einen waren diese Programme Pioniere. In den 70ern hatten nur sehr wenige Zugang zu Schachprogrammen im Quellcode oder den Programmieren um von anderen Erfahrungen zu programmieren. Die wissenschaftlichen Programme haben selbst erst in den 70ern die Schritte von "spielt legal und kann sogar gegen Neulinge bestehen" zu "spielt leidlich vernünftig und wir haben die grundlegende Informatik entwickelt" geschafft. Die meisten der ersten Programmierer von kommerziellen Schachcomputern haben sich selbst das Programmieren auf den ersten Mikrocomputern beigebracht und mit eigenen Ideen Schachprogramme realisiert. Sehr schön dokumentiert ist das bei den Spracklens.

Die erstem Mikros waren langsam, hatten kaum Speicher und es gab praktisch keine Entwicklungswerkzeuge. Programmierer kämpften also mehr mit dem Rechner als mit dem Programm, mussten oftmals Minuten aufs Laden und Speichern warten und konnten manche Programmfehler nicht von technischen Problemen unterscheiden.

Geringer Speicher bedeutet, dass die Programme nicht sehr umfangreich sein konnten. Unterprogramme wie z.B. die Erkennung von Stellungswiederholungen hatten da keinen Platz bzw. der Platz wurde für andere, wichtigere Dinge verwendet. Der Boris hat nur 2,5 KByte Rom, dies enthält neben der eigentlichen Logik des Schachprogramms noch alles was für die Ansteuerung des Displays und der Tastatur nötig ist. Dies ist auch der Grund für die fehlende Bibliothek. Laut Wiki kennt der Boris noch einige launige Bemerkungen, die brauchen auch kostbaren Speicherplatz.
Beim Arbeitsspeicher sind 256 Bytes auch nicht viel. Internes Brett (welche Figur steht auf welchem Feld), eine Liste der aktuell möglichen Züge, ein paar Variablen für die Bewertung und die Suchlogik und das war es. Um Stellungswiederholungen zu erkennen muss aber die Historie bekannt sein, d.h. die Liste der bereits gespielten Züge. Die braucht normalerweise alleine 1-2 Bytes pro Halbzug, d.h. eine Partie bis Zug 64 könnte schon den kompletten Arbeitsspeicher belegen und das ohne die zur Verwaltung nötigen Variablen.

Erst spätere Programme hatten ausreichend Speicher um Stellungswiederholungen zu erkennen. Dass dies dann auch prompt programmiert wurde zeigt, wie wichtig dies ist. Es ist unbefriedigend, wenn ein Programm einen Vorteil erreicht und dann das remis nicht erkennt.
Mit Zitat antworten