bin Programmiereinsteiger: Schach-Logik

6 Antworten

Mal eine kleine mathematische Überlegung: für den ersten Halbzug beim Schach gibt es 20 Möglichkeiten (8 Bauern, die jeweils ein oder zwei Felder vorrücken können + 4 Positionen der Springer), beim ersten ganzen Zug sinds 40. Nach zwei Zügen hast du schon insgesamt (laut Wikipedia) 72084 Möglichkeiten, nach noch mehr Zügen explodiert dir diese Anzahl förmlich. Du siehst also, dass eine richtige Schachtaktik gar nicht mal so leicht zu implementieren ist.

Eine ganz simple KI könntest du so bauen, dass du eine zufällige Schachfigur auswählst, ein zufälliges Feld nimmst, auf das diese Figur ziehen darf (wenn es kein Feld gibt, dann muss eine andere Figur gewählt werden) und dann den Zug vornimmst. Erweitern könnte man das noch, dass alle Figuren und ihre Positionen durchgegangen werden und wenn eine Figur schlagen kann, dann wird geschlagen. Insgesamt halte ich die Aufgabe aber trotzdem für sehr anspruchsvoll, ich würde lieber erstmal Dame, Mensch ärgere dich nicht oder ein einfaches Kartenspiel (etwa Black Jack) nachbauen. Eine schöne Anfängeraufgabe ist es auch, programmiertechnisch zu ermitteln, auf welchem Feld man bei Monopoly mit der höchsten Wahrscheinlichkeit landet.

HTML und CSS sind keine Programmiersprachen und JavaScript ist für die Aufgabe auch nicht ganz so gut geeignet, da doch recht inperformant im Umgang mit großen Datenmengen ist.

Wäre es nicht besser, wenn er einfachere Dinge programmieren würde. Er ist Programmieranfänger!!

0
@wolfgang1956

Den qualitativen Unterschied zwischen meinem Schachalgorithmus und Houdini, Fritz 10 … 13, Stockfish, Shredder … erkennst du aber auch, oder? Und mMn. ist die Aufgabe durchaus begleitend zu seinem Lehrbuch machbar und wenn er eine Aufgabe vor Augen hat, dann ist seine Motivation auch höher. Es ist doch langweilig, wenn beim Programmieren immer alles gleich klappt, weil die Aufgabe zu einfach ist.

1
@ceevee

Mehr wie Hello World oder ein Kaufhausprogramm hast du ja noch nicht zusammengestoppelt, sonst würdest du nicht so einen totalen Unsinn daherschreiben.

0
@wolfgang1956

Geht der Kommentar noch arroganter? Komm, da kannst du dich sicher noch steigern. Ich bin schon seit ein paar Jahren Softwareentwickler, ich denk mir auch was bei meinen Kommentaren. ;)

0
@ceevee

Doch!! Ich spiele seit über 50!! Jahren Schach und kenne die Schachengines von Fritz 10 … 13, Shredder und einige andere. Daher weiß ich zum einen, was diese Programme leisten und zum anderen wie sie funktionieren. Dieses Wissen sollte man eben haben, bevor man in Programmiereinsteigern völlig falsche Hoffnungen weckt …

Battlechess u.ä. sind diese Programme schon längst entwachsen …

0

Er will nicht die Anzahl der Halbzüge wissen, sondern ein „KI-Schachprogramm“ programmieren.

KI war in den von Mitte der 70er bis Mitte der 90er Jahre ein Thema, zu dem jedes Quartal ein anderer Forscher was veröffentlicht hat, bis die KI-Forscher auf den realen Boden der Tatsachen zurückkamen und seither sehr sehr sehr leise wurden; d.h. sie haben andere Forschungsgebiete entdeckt, auf denen man wirklich vorwärtskommen kann.

Ebenso wie die Neurochirurgen im Hirn keinen Geist finden, vermochten die KI-Forscher in den KI-Routinen keine „Intelligenz“ in den Algorithmen zu finden. Obwohl man die Algorithmen heute deutlich intelligenter gestaltet als vor 30 Jahren. Es ist ja immerhin ein Fortschritt, wenn man objekt-orientiert programmiert, statt in Assembler oder imperativ-deklarativ!

0

Ehrlich gesagt, bewundere ich die Geduld der Leute, die deine Frage ernst nehmen. Die Frage ist eigentlich der Brüller des Tages!

Der erste Schachcomputer wurde ganz sicher nicht in einer Hochsprache programmiert und schon gar nicht in einer Browsersprache geschrieben.

Selbst ein Sudokulöser ist eine Herausforderung! Bei Schach sind dermaßen viele strategische Variablen zu berücksichtigen ... Es ist Zeitverschwendung, das hier ernsthaft zu erörtern. Wie soll der Computer entscheiden, welcher von 50 möglichen Zügen der sinnvollste ist?

Vorschlag: Versuche es mit einem Damespiel. Das kannst du dann noch immer zum Schach erweitern, wenn du bis dahin nicht verzweifelt bist.

Ein anderer Vorschlag für textbasierte KI: Schreib ein Psychiater-Programm, mit dem man sich unterhalten kann und nicht merkt, dass der Gegenüber kein Mensch ist!

Du hast nicht einmal sooo Unrecht. Wir hiesigen Laien können ihm ja wohl kaum die Algorithmen für ein Schachprogramm oder eines deiner Programme liefern … :-)

0

Einen Schach-Ki zu Programmieren ist keine Aufgabe für einen Anfänger lol. Welche Sprache denn? Grafisch oder per Console? Versuch nen Taschenrechner mit Auswahl der Rechenarten. Oder versuch die Schachfeld und Reis Aufgabe..

Wie kann ich mich im Schach verbessern?

Ich habe das Grfühl, dass ich im Schach eine Niete bin und möchte mich verbessern, wie kann ich dafür trainieren?

...zur Frage

Sozialversicherungsnummer wo bekomme ich sie her?

Hallo, ich fange in kürze meine Ausbildung an, daher benötige ich meine Sozialversicherungsnummer woher bekomme ich die?

...zur Frage

Wie kann ich einem Anfänger das Schach am besten beibringen?

Hallo alle zusammen,

ich möchte jemanden, den ich gut kenne, das Schach beibringen, die Regeln kennt er ja schon. Aber wie soll ich mit dem Beibringen weitermachen? Wie bringe ich ihm bei, wie man taktische Motive erkennt? Geht das auch, ohne Bücher zu kaufen? Zum Einen habe ich nicht das Geld, um mir Bücher zu kaufen, zum Anderen fürchte ich, dass das Material in den Büchern zu komplex und somit zu schwierig wäre.

Am besten auch kein Online-Schach.

Ich freue mich schon auf eure gewohnt hilfreichen Antworten
Gruß rofl07

...zur Frage

Master-Studium nach Fachinformatiker-Ausbildung?

Hallo. Ich bin mit meiner Fachinformatiker-Ausbildung fertig. Natürlich weiß ich genau so viel und vor allem viel praktischer und angewandter wie der Hase läuft als meine akademischen Kollegen. Dennoch möchte ich nun auch noch ein Studium drauf setzen. Muss ich mit einem Bachelor wieder bei 0 anfangen oder kann ich direkt mit dem Master anfangen?

...zur Frage

Prüfung Fachinformatiker Anwendungsentwicklung ohne Ausbildung?

Hallo, kann man die Prüfung zum Fachinformatiker schreiben ohne eine Ausbildung gemacht oder gehabt zu haben? Wenn ja, wird das auch von allen/den meisten Betrieben akzeptiert? Und wo kann ich mich diesbezüglich informieren?

...zur Frage

Welche Mathe-Themen sollte man drauf haben, wenn man die Ausbildung "Fachinformatiker für Anwendungsentwicklung" einschlagen möchte?

...zur Frage

Was möchtest Du wissen?