AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ideen zur Schach KI

Ein Thema von Cicaro · begonnen am 12. Apr 2005 · letzter Beitrag vom 25. Mai 2005
Antwort Antwort
Seite 1 von 10  1 23     Letzte »    
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#1

Ideen zur Schach KI

  Alt 12. Apr 2005, 11:11
Hallo !

Ich möchte zur Zeit 'ne Schach-KI programmieren. Meine Komponenten sind fast fertig. Ich fang also damit an meinem Gegner beizubringen schach zu denken.

Nach welchen Kriterien sollte denn die KI ihre Entscheidungen treffen ?

meine ersten Ideen:
- Figurenvorteil
- möglichst große Anzahl an gedeckten Feldern
...

Teilt mir bitte eure Ideen mit !
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 11:16
Tja, sowas hab ich auch mal vor längerer Zeit probiert, bin aber an der KI gescheitert.

Also ich bin damals davon ausgegangen, dass man neben dem rein materiellen Vorteil auch die jeweilige Stellung auf dem Schachbrett bewertet. Je nachdem, welcher Zug zu einer besseren Stelung führte (d.h. einen positionellen Vorteil brachte), wurde dieser ausgeführt.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#3

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 11:18
also, da ich auch mal dieses projekt hatte, habe ich mir genau die selben fragen gestellt.

- Material
- Angriffsmöglichkeiten
- Königsstellung/sicherheit
- Bauernstellung
- Zentrum
- Entwicklung
- Felder unter Kontrolle
- Taktische Gesichtspunkte (Löcher, Springer/Läufer, ...)

hilft dir vielleicht weiter...
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#4

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 11:52
Zitat von Binärbaum:
Je nachdem, welcher Zug zu einer besseren Stelung führte (d.h. einen positionellen Vorteil brachte), wurde dieser ausgeführt.
Ich hab' Probleme diese Strategie auf die Mathematik zu übertragen. Ich dachte nämlich das man bei einem bestimmten Zug aufgrund von gewissen Kriterien Punkte sammelt, die durch ihre Höhe helfen zu entscheiden.
Welche Stellungen sind denn gut ?
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 12:03
Zitat von Cicaro:
Welche Stellungen sind denn gut ?
Das ist unterschiedlich und kommt auch auf die jemweilige Figur an.
Also ein Bauer ist zum Beispiel am wertvollsten, wenn er in der 7. (weiß) bzw. 2. Reihe (schwarz) steht, da man diesen beim nächsten Zug verwandeln kann.
Für König ist es hingegen sinnvoll, wenn man die Rochade ausführt, da er so besser geschützt ist.
Für Springer ist es gut, wenn aich sich im (erweiterten) Zentrum befinden,...
...
Die Liste lässt sich jetzt noch ein ganzes Stück fortsetzen.
Das eigentliche problem ist, erstmal die Kriterien zu finden, nach denen man entscheidet, ob eine Figur mindestens genau so gut oder besser steht als vorher. Die Umsetzung sollte dann das kleinere Problem sein (zumindest war es bei mir so).

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Cicaro

Registriert seit: 9. Feb 2005
285 Beiträge
 
Delphi 7 Personal
 
#6

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 12:08
Zitat von glkgereon:
- Material
- Angriffsmöglichkeiten
- Königsstellung/sicherheit
- Bauernstellung
- Zentrum
- Entwicklung
- Felder unter Kontrolle
- Taktische Gesichtspunkte (Löcher, Springer/Läufer, ...)

hilft dir vielleicht weiter...
Ja, wenn du mir auch erklärst, wie diese Kriterien mathematisch zur Entscheidung führen können.

Zum Beispiel:
Taktische Gesichtspunkte:
Löcher. Wie findet mein Programm löcher ? Durch neuronale Netze ?

Schach kann ich ja mehr oder weniger spielen. Für mein' Prohjekt interessiert mich aber mehr die mathematische Logik dahinter.

Und was verstehst du unter Entwicklung ? Möglichst viele Figuren an der Front ?

Trotzdem danke.
  Mit Zitat antworten Zitat
Slartibartfass

Registriert seit: 12. Apr 2005
2 Beiträge
 
#7

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 12:09
Zitat von Cicaro:
Nach welchen Kriterien sollte denn die KI ihre Entscheidungen treffen ?

meine ersten Ideen:
- Figurenvorteil
- möglichst große Anzahl an gedeckten Feldern
...
Hi, Leute
Bin zwar, was programmieren angeht ein totaler n00b, aber egal..

Vergessen sollte man nicht, dass ein Schachprogramm besonders am Spielbeginn dem menschl. Spieler unterlegen ist, da dieser oft bestimmte Varianten (Sizilianisch, Französisch, etc. etc.) einstudiert hat, die, langfristig gesehen, den Spielaufbau zu seinen Gunsten entscheiden können, während die nur auf die nächsten Züge bedachte KI erst im Mittel- bzw. Endspiel den Vorteil "mathematischer Logik" einsetzen kann.

Ich würde daher empfehlen, dass du deinem Programm eine Reihe von Eröffnungen einprogrammierst, die dem Programm beim Spielbeginn "auf die Sprünge helfen".

  Mit Zitat antworten Zitat
Benutzerbild von mika
mika

Registriert seit: 25. Okt 2002
176 Beiträge
 
Delphi 6 Professional
 
#8

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 12:18
OT:

Danke für die Fjorde Slartibart

(hoffe das ich den Namen jetzt noch richtig im Kopf habe, 42



Zurück zum Thema:

Ich weiss zwar nicht wie man ne Schach KI programmiert aber diesen Thread behalt ich mal weiter im Auge, ist ne seeehr interessante Problemstellung! Vielleicht mal n OSS Schachprogramm nach Denkansätzen durchforsten?


mfg
:: don't Panic ::
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 12:22
Zitat von Cicaro:
Zitat von glkgereon:
- Material
- Angriffsmöglichkeiten
- Königsstellung/sicherheit
- Bauernstellung
- Zentrum
- Entwicklung
- Felder unter Kontrolle
- Taktische Gesichtspunkte (Löcher, Springer/Läufer, ...)

hilft dir vielleicht weiter...
Ja, wenn du mir auch erklärst, wie diese Kriterien mathematisch zur Entscheidung führen können.

Zum Beispiel:
Taktische Gesichtspunkte:
Löcher. Wie findet mein Programm löcher ? Durch neuronale Netze ?

Schach kann ich ja mehr oder weniger spielen. Für mein' Prohjekt interessiert mich aber mehr die mathematische Logik dahinter.

Und was verstehst du unter Entwicklung ? Möglichst viele Figuren an der Front ?

Trotzdem danke.
Zu den Löchern:
Da musst du einfach abfragen, ob z.B. auf den betreffenden Feldern noch eigene Figuren stehen, die die dahinterliegenden schützen (beim König wichtig), oder ob sie evtl. auch nur einen Läufer blockieren.

Mit Entwicklung meint er sicher, dass man mehrere Züge hintereinander auf ein bestimmtes Ziel (z.B. Angriff auf dem Königsflügel) hinarbeitet. Das wird aber schon schwieriger (für die KI).

Und zur "mathematischen Logik":
Ein ehemaliger Schach-Weltmeister hat mal gesagt (nicht wörtlich, aber vom Inhalt her):
"Ein Spiel, indem alles so klar wäre wie 2 mal 2 gleich 4, würde schnell an Reiz verlieren."
Soll heißen, dass es nicht so einfach ist, eine gewisse Logik herauszuarbeiten, um das Schachspiel zu beschreiben.
Und wie man diese "Logik" dann in dein Programm implementiert, hängt stark davon ab, wie du die gegenwärtige Stellung auf dem Brett darstellst (d.h. Datentypen, ...).

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#10

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 12:34
Zitat von Binärbaum:
Das ist unterschiedlich und kommt auch auf die jemweilige Figur an.
Also ein Bauer ist zum Beispiel am wertvollsten, wenn er in der 7. (weiß) bzw. 2. Reihe (schwarz) steht, da man diesen beim nächsten Zug verwandeln kann.
Für König ist es hingegen sinnvoll, wenn man die Rochade ausführt, da er so besser geschützt ist.
Für Springer ist es gut, wenn aich sich im (erweiterten) Zentrum befinden,...
...
Wenn dein Programm nach diesen Gesichtspunkten entscheidet schickt es alle Bauern auf die Reise zum Gegner führt ne Rochade aus und lässt den König in der Ecke stehen!
Das interessante an Schach ist ja gerade, das jeder mögliche Zug der beste sein kann.
Es gibt genug Partien die gewonnen wurden, weil der spätere Gewinner 4 Züge vorher seine Dame geopfert hat!
Deshalb ist der Ansatz nach generell-günstigen Positionen zu spielen IMHO falsch.

Ich bin mit so einer KI zwar auch gescheitert aber mein Ansatz war die Position bewerten zu lassen nach
Anzahl der ungedeckten Figuren/Anzahl der gedeckten (Im Optimum 1) sowie
Anzahl der ungedeckten Felder/Anzahl der gedeckten (Im Optimum 1)

Damit hat man
1) ne Aussage über die eigene Position (Wenn alles gedeckt ist steht man gut )
2) ne Aussage über die Möglichkeiten des Gegners (Wenn alle Felder gedeckt sind... Wo soll er noch hin)

Dieser Ansatz ist schon nicht so schlecht, aber er führt zu 2 Problemen:
1) Wenn ein Bauer durch ne Dame gedeckt ist, so ist er eigentlich nicht gedeckt da niemand die Dame opfert...
2) Im Endspiel läuft man so komplett gegen den Baum!

Soweit ich weiß benutzen heutige KI's 3 Engines:
die Erste für die Eröffnung (wird in Datenbanken gespeichert)
die Zweite für das Spiel (das ist die Richtige KI)
die Dritte für das Endspiel (Ab 5 Steinen pro Spieler steht bei Fehlerfreiem Spiel fest wer gewinnt, glaube ich)

Falls das Opensource-entwickelt werden soll würde ich mich da übrigens gerne dran beteiligen!
nen neuer Versuch kann nicht schaden
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 10  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz