0 Daumen
39 Aufrufe

Frage:

Programmierung Schachprogramm


Code:

Es ist doch sicherlich einfach, ich bin kein Programmierer, ein Schachprogramm ohne Springerfunktion zu programmieren, oder? Alle Züge laufen wie bei Dame zb. "proportional" ab......!

Der Springer stellt eine Ausnahme dar, in seinem Zugverhalten....!

Dessen Zugverhalten wird also zum proportionalen Zugverhalten der anderen Figuren, Bauer, Läufer, Dame, König, Turm,

multipliziert!!!! Damit ergeben sich alle Zugmöglichkeiten....!

Ist dies korrekt, dann müsste man doch ein ziemlich perfektes Schachprogramm konstruiert bekommen.

Ist dies so möglich?

von

1 Antwort

0 Daumen

Für einen Programmierer ist es einfach, ein Programm zu schreiben, dass zu einer gegebenen Schachstellung alle legalen Schachzüge ausgibt.

Es ist auch einfach, ein Programm zu schreiben, dass alle möglichen Stellungen ausgibt, die aus einer gegebenen Schachstellung in \(n\) Zügen entstehen können und zu entscheiden ob eine der beiden Seiten schachmatt ist.

Auch die Programmierung von Springerzügen, Bauernumwandlung, Rochade und en-passant bereitet keine besonderen Schwierigkeiten.

Schwierig macht die Programmierung eines Schachprogramms die Tatsache, dass \(n\) nicht so groß gewählt werden kann, dass alle Schachpartien schon entschieden sind. Das hat nämlich zur Folge, dass das Schachprogramm zwar alle möglichen Schachstellung nach \(n\) Zügen sieht, aber nicht weiß, welche davon vorteilhaft sind. Dem Schachprogramm beizuringen, wie eine Schachstellung bewertet wird, erfordert schachliches Wissen auf Seiten des Programmierers, das über die bloße Kenntniss der Schachregeln hinausgeht.

Das Materialverhältnis zu bestimmen ist ja noch einfach. Aber wie sollen Elemente der Stellungsbewertung wie Aktivität, Intiative oder Koordination in Code umgesetzt werden?

Zumindest war das bis vor Kurzem noch so. Mittlerweile wurden auch Schachprogramme auf Basis von künstlichen neuronalen Netzen entworfen. Aber auch bei diesem Ansatz ist vom Programmierer Spezialwissen gefragt, das über das eines Wald- und Wieseninformatikers hinausgeht.

von 3,6 k

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

+1 Daumen
1 Antwort
0 Daumen
1 Antwort
Gefragt 31 Jan 2019 von Gast
0 Daumen
0 Antworten

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community