maddin Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 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. Zitieren
gajUli Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 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 Zitieren
maddin Geschrieben 8. Oktober 2001 Autor Geschrieben 8. Oktober 2001 wäre vielleicht noch ganz interessant wo ich die jungs finden kann. Zitieren
Crush Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 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> Zitieren
maddin Geschrieben 8. Oktober 2001 Autor Geschrieben 8. Oktober 2001 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. Zitieren
gajUli Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 <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> Zitieren
maddin Geschrieben 8. Oktober 2001 Autor Geschrieben 8. Oktober 2001 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. Zitieren
gajUli Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 <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> Zitieren
hoagi Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 Hi schau mal hier http://www.tim-mann.org/gnuchess.html Hoagi Zitieren
Crush Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 Also ist auch noch ein Chess-Source: http://www.programmersheaven.com/zone8/cat121/ <FONT COLOR="#a62a2a" SIZE="1">[ 08. Oktober 2001 23:39: Beitrag 2 mal editiert, zuletzt von Crush ]</font> Zitieren
JoelH Geschrieben 8. Oktober 2001 Geschrieben 8. Oktober 2001 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 Zitieren
Empfohlene Beiträge
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.