AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ideen zur Schach KI

Ein Thema von Cicaro · begonnen am 12. Apr 2005 · letzter Beitrag vom 25. Mai 2005
Antwort Antwort
Seite 3 von 10     123 45     Letzte » 
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#21

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 15:40
Habe zwar nicht alles gelesen, aber ich würde das so ansetzen:

Du setzt jedem Zugtyp eine Priorität, dannach rechnest du für jede Figur im Spiel die Priorität ihrer Züge aus.

Als Beispiel:
Du hast einen Bauer der wenn er Vorzieht, z.b. folgende Prioritäten erhält:
- Feld Rechts wird verdeckt verhindet Angriff auf König(P25)
- Feld Links ist ein gegn. Pferd (P4)
- Figur kann nicht mehr geschlagen werden(P8)
- Figur ist 3 fach gedeckt(3 * P2)
- Figur deckt den Bauern danneben nicht mehr Schräg(- P16)

Das Rechnest du jetzt für jede Figur aus, wenn man jetzt ein Bischen weiterkommt kommt man schnell auf die Idee, wie man dies für eine Vorrausdenkende KI machen kann.

Die Punkteverteilung ist dabei sehr Hilfreich um die verschiedenen Schwierigkeitsgrade zu Realisieren.
Felix K.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#22

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 15:50
@Speedmaster: So würdest du dich in Spezialfällen verlieren. Das kann so in der Form imho nichts werden, bzw. würde man ewig daran programmieren. Dazu kommt dass der Schwierigkeitsgrad fix wäre. Bei der Baumvariante kann man die KI z.B. nicht GANZ auf Min oder Max spielen lassen, sondern z.B. mit Remis als Ziel. Oder gar gegen sich selbst, so dass man fast gezwungen wird zu gewinnen . Das wäre dann nur einen Wert ändern.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#23

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 15:55
Zitat von Speedmaster:
- Figur kann nicht mehr geschlagen werden(P8)
Ist das die höchste Priorität?

Find ich 8).

Ich verfolge diesen Thread mit erstaunen, weil ich das viel zu kompliziert finde. Aber macht mal. Vielleicht fällt mir ja auch noch was dazu ein.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#24

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 15:57
Zitat von freak4fun:
Zitat von Speedmaster:
- Figur kann nicht mehr geschlagen werden(P8)
Ist das die höchste Priorität?

Find ich 8).

Ich verfolge diesen Thread mit erstaunen, weil ich das viel zu kompliziert finde. Aber macht mal. Vielleicht fällt mir ja auch noch was dazu ein.

MfG
freak
Kommt drauf an welche Figur das ist.

@dizzi: Wozu gibts es die Maximale Zugvorraussicht?
Felix K.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 16:02
Zitat von Speedmaster:
@dizzi: Wozu gibts es die Maximale Zugvorraussicht?
Naja, ich frage mich lediglich warum bei fast allen Brettspielimplementationen (die ich kenne) die KI mit einem Spielbaum, und nicht mit so einem unflexiblen if..then..else..if..then..else..etc. gelöst ist . Haben sich da evtl. schon Leute Gedanken drüber gemacht, die man nicht von neuem anstellen muss?
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#26

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 16:26
Zitat von dizzy:
Zitat von Speedmaster:
@dizzi: Wozu gibts es die Maximale Zugvorraussicht?
Naja, ich frage mich lediglich warum bei fast allen Brettspielimplementationen (die ich kenne) die KI mit einem Spielbaum, und nicht mit so einem unflexiblen if..then..else..if..then..else..etc. gelöst ist . Haben sich da evtl. schon Leute Gedanken drüber gemacht, die man nicht von neuem anstellen muss?
Um if..then..else kommst du eigentlich garnicht rum!
Aber if then else kommt in meiner Idee auch fast garnicht vor!
Felix K.
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#27

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 16:54
Ich denke hier nicht an die normale Verwendung von if..then..else, sondern das war als Synonym gedacht für das gezielte Behandeln einer Großzahl von Einzelfällen der Art:
Delphi-Quellcode:
if KönigImSchach then
  PackNeDaWech
else
if DameInGefahr then
  SiehZuDassuDiInSicherheitBekommst
else
if BauerKannDickenGegnerSchlagen then
  TuDasVerdammtNochmal
else
if ... ... ...
Auf soetwas in der Art würde dein Vorschlag hinauslaufen, und noch viel verschachtelter . (Glaub mir, ich hab schon Leute so TicTacToe programmieren sehen - es war grauenvoll! Und das dann für SCHACH!? *schüttel* )
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#28

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 18:04
Naja, du hast nicht diesselbe denkweise wie ich, ich redete von Mathematik, und nicht von Dutzenden if..then..else Verzweigungen.
Felix K.
  Mit Zitat antworten Zitat
Ruppi

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

Re: Ideen zur Schach KI

  Alt 12. Apr 2005, 23:08
Meine Weißheit hierzu:

die besten Schachprogramme sind von Programmieren geschrieben, die kaum oder gar kein schach spielen können. Als ich meine erste Schach KI programmiert habe hab ich auch den Fehler gemacht viel zu viele sonderbewertungen mit hineinzunehmen.

Das besondere einer KI ist ja, dass sie umso besser spielt, umso besser sie stellungen berwerten kann. also schnapp man sich binäre bäume und ein relativ simples bewertungssystem:
Figur mit wert x schlagen: X Punkte.
Wenn man das noch schön auf geschwindigkeit optimiert hat man ein schachprogramm dass (umso besser es optimiert ist) schon recht stark spielt.
Regel sollte man ihm beibringen...

Wenn du soweit bist kannst du dein berwertungssystem weiter ausbauen wenn du es brauchst, aber das habe ich dann nicht mehr gemacht, da es das ganze extrem kompliziert.

also schreib dir ne function der du ne stellung übergiebst un die dir dann nen wert liefert
(Z.b <0 positiv für schwarz >0 positiv für weiß)
machst nen shönen baum un rechnest mit den stellungen die die besten werte für die KI und die wenigsten schlechten werte für den Spieler besitzen.

Fertig. Aus. Läuft.
Hat mich igrnedwann mal geschlagen *hehe* jetzt nicht mehr

mfg Chris
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#30

Re: Ideen zur Schach KI

  Alt 13. Apr 2005, 06:14
Zitat von dizzy:
Naja, ich frage mich lediglich warum bei fast allen Brettspielimplementationen (die ich kenne) die KI mit einem Spielbaum, und nicht mit so einem unflexiblen if..then..else..if..then..else..etc. gelöst ist . Haben sich da evtl. schon Leute Gedanken drüber gemacht
Ja siehe Fritz...das spielt in 3 Spielen sogar Unentschieden gegen den Schachweltmeister (jeder gewinnt eine Partie, die letzte war Unentschieden).

Zitat von dizzy:
, die man nicht von neuem anstellen muss?
Doch, da die Leute das nicht rausrücken *gg* Aber ich kann mir vorstellen, dass die Leute sowohl Mathematiker als auch gute Schachspieler waren, tausende Szenarien nachgestellt haben und das ganze vielleicht doch nach einer Art Algorithmus machen?
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf