Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Schach KI

Empfohlene Antworten

Veröffentlicht

guten morgen,

ich hoffe ihr könnt mir helfen. ich bin auf der suche nach einer schach ki, der ich sagen kann auf feld a1 steht ein turm auf a2 ein springer, ... und der mir dann einen zug z.b. RxA1 ermitelt. dabei sollte die farbe egal sein.

Moin maddin,

vielleicht mal bei der ICCA (International Computer Chess Association) gucken. Ansonsten sind das ganz verflixte Probleme, ueber die schon viele wissenschaftliche Abhandlungen geschrieben wurden.

Uli

wäre vielleicht noch ganz interessant wo ich die jungs finden kann.

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>

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.

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von maddin:

<STRONG>

problem ist bloß, das ich nicht so gut schach spiele, um mir eine angemessene punktevergabe einfallen zu lassen. </STRONG>

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.

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von maddin:

<STRONG>tic tac toe hatte ich schon einmal geschafft. war unschlagbar. allerdings mit einfacher abfrage, </STRONG>

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 :(

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.