Zum Inhalt springen

Schach KI


maddin

Empfohlene Beiträge

Die meisten Schachprogramme arbeiten Rekursiv. D.h. alle Möglichkeiten in den nächsten x Zügen werden durchgearbeitet und Vor- und Nachteile, bzw. Zugzwänge, Verlust von Figuren, Schach, Bedrohungen aller Art, Anzahl der Züge bis zum "Hot-Spot" etc. werden mit Punkten bewertet. Aus den Zügen mit der höchsten Bewertung wird einfach einer herausgepickt oder noch einmal mit einem genaueren Wertevergabesystem der Gewinnerzug ermittelt. Das habe ich mal in einem Schachprogrammierer-Buch gelesen (ja das gibt´s tatsächlich!).

Einen echten KI-Ansatz kann man bei Schach nur vergeblich suchen. Wenn einer wirklich so etwas gemacht hat, dann sind es wohl die Programmierer von Zillions (http://www.zillions.de/) die ihrem Programm mit sowas wie einem offenen neuronalen Regelsystem mitgegeben haben. Das ist ein Brettspiel-Simulator. Man stellt die Spielregeln mit Zugregeln auf und gibt sie dem Programm als Scriptsprache bei und das Programm "versucht" sich wie möglichst intelligenter Mensch zu verhalten. Tatsache ist: Das Programm ist verdammt gut!

Die Leute stellen sich unter KI immer sonstwas vor. Aber die meisten Systeme arbeiten nach Punktevergabe für Erfolge - und diese werden dann meist mit relativ Komplizierten (teils auch unnötig komplizierten) Formeln verfeinert (Fuzzy-Logic z.B. war mal bei Hausgeräten das Schlagwort)

Analysiere die Regeln und denke Dir ein möglichst sinnvolles Punktevergabe-System aus, welches mir für jede noch stehende Figur die nächsten Konstellationen ermittelt (Bedrohungen vom Gegner berücksichtigend). Richte Dich nach der höchstmöglichen Punktzahl - fertig!

<FONT COLOR="#a62a2a" SIZE="1">[ 08. Oktober 2001 10:39: Beitrag 1 mal editiert, zuletzt von Crush ]</font>

Link zu diesem Kommentar
Auf anderen Seiten teilen

ist schon klar das ich durch eine ki nicht einen menschen wie z.b. kasparow in mein programm mit einbacke.

problem ist bloß, das ich nicht so gut schach spiele, um mir eine angemessene punktevergabe einfallen zu lassen. zweitens würde ich sowas auch gerne mal sehen. damit ich mir ein bild davon machen kann, wie sowas zum beispiel aussehen kann.

Link zu diesem Kommentar
Auf anderen Seiten teilen

tic tac toe hatte ich schon einmal geschafft. war unschlagbar. allerdings mit einfacher abfrage, wie das feld gerade aussieht. bei 9 feldern gibt es ja noch keine so große möglichkeit.

wegen der schach ki habe ich gefragt, weil ich gerade an einem einfachen schach spiel für 2 personen sitze, die via netzwerk spielen können sollen. die ki wäre dazu gedacht, das man nicht immer einen mitspieler braucht. selber proggen kann und will ich auch nicht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hmm,

also wenn du eine Bewertung der Figuren brauchst :

Bauer = 1

Springer = 3

Läufer = 3

Turm = 4-5

Dame = 9

König = unendlich, da er ja nicht geschlagen werden darf

Dies sind die rein statischen Daten die einem Schachanfänger gegeben werden um ungefähr ab zu schätzen was wieviel Wert ist, dazu kommen dann allerdings noch Stellungsdaten die dynamisch sind und die den Reiz des Schachs ausmachen. zB. ist ein Springer einem Läufer überlegen wenn viele Bauern auf dem Feld sind die sich nur wenig bewegen können, sind wenige Bauern auf dem Feld ist der Läufer klar stärker. Drei Bauern = 1 Läufer oder Springer, also rein theoretisch , praktisch kann die Lage ganz anders sein, Königsicherheit ist momentan der Shwachpunkt der meisten Programme, aufgrund des Horizonteffekts (Das Schachprogramm ist absolut blind für dinge die hinter dem Zugsuchhorizont liegen) werden langfristige Pläne niht erkannt und es kommt zum Matt :)

Was die allgemeine Strategie angeht benutzten moderne Schachprogramme alles andere als KI, sie sind die typischsten BruteForcer die es gibt, mit ein paar selectiven technischen Tricks.

Da wären einmal der Alpha/Beta Algo, damit lassen sich bei absoluter BruteForcegenauigkeit viele Knoten einsparen.

Dann gibt es den Nullmove Trick, dieser basiert darauf dass A einen Zug macht und B dann zwei Züge, kann B seine Stellung dadurch nicht ernsthaft verbessern muss der weisse Zug sehr gut gewesen sein.....

Leider ist es so das die Schachprogrammierer die meisten Tricks hüten wie ihren Augapfel denn sie bedeuten bares.

Allerdings gibt es auch Projekte die OpenSource sind. Leider ist der Code meist schwer lesbar da die Sachen doch recht kompliziert sind :(

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...