Als Anfänger Schachcomputer programmieren?

6 Antworten

Viele meiner Freunde lernen Sprachen mit relativ großen Online-Kursen.

Für deine Schach-Idee habe ich das hier gefunden.

Sieht nach einem guten Anfang aus.

Woher ich das weiß:Recherche

Fang einfach an, ein Schachprogramm zu schreiben, dann siehst Du, ob es Spaß macht und der Aufwand sich lohnt.

Anfangen würde ich mit Endspielen, 8 Damen (auf einem Schachbrett) -Problem, Matt setzen Turm+König gegen König, usw.

Da hast du dir für den Anfang ein relativ großes Projekt vorgenommen.

Du könntest eine halbe Nummer kleiner anfangen und dich zunächst darauf beschränken, dass der Computer dein Spielbrett ersetzt. Also in dem Sinne, dass man die Züge eingibt und der C. die Regeln überwacht.

Dann musst du die Zugmöglichkeiten programmieren, feststellen, ob Schach geboten wurde, ob man ein Schachgebot richtig pariert ("Schlagen, wegziehn, setz dazwischen, so kannst du dem Schach entwischen"), Figurenumwandlung auf der letzten Reihe, Remis durch Zugwiederholung, 50-Züge-Regel oder Patt. Das ist für den Anfang schon eine ganze Menge und grafische Ausgabe ist noch gar nicht erwähnt ...

Noch ne Nummer kleiner: TicTacToe, Mensch ärgere dich nicht, Vier gewinnt, Othello, Dame, Mühle.

Siehe auch https://de.wikipedia.org/wiki/Alpha-Beta-Suche


KarlRanseierIII  29.11.2022, 21:05

Und gleich ab dafür mit Alpha-Beta-Pruning :-). Da lacht das Herz.

Ich würde aber tatsächlich auch erstmal zu etwas kleinerem raten, um überhaupt in den Themenbereich Spielbäume reinzukommen.

0

Im Prinzip ist es nicht so schwer, solange du keine hohen Ansprüche daran hast.

Du musst implementieren, welche Züge möglich sind, was passiert, wenn ein Zug durchgeführt wurde, welche Sonderregeln es gibt, ...

Und dann lässt du den Computer einfach einen zufälligen möglichen Zug machen und schaust, was dabei herauskommt (probierst notfalls wild Züge durch, bis ein valider dabei herauskommt).

Das Programmieren selbst sollte nur die Technik sein, welche man beherrschen muss.

Wichtiger ist es das Know-how und den Plan dafür zu haben, welche Abläufe und Entscheidungen dabei im Detail programmatisch umzusetzen sind.

Man muss also wissen, wie künstliche Intelligenz im Feinsten funktioniert.

Mit besten Grüßen

gregor443

Woher ich das weiß:Studium / Ausbildung