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 7 von 10   « Erste     567 89     Letzte »    
Benutzerbild von Binärbaum
Binärbaum

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

Re: Ideen zur Schach KI

  Alt 22. Apr 2005, 14:08
Zitat von Cicaro:
Alternative zum Compiler wäre ja auch ein "Interpreter", den man entweder selber erstellt oder sich 'nen passenden irgendwo hernimmt.
Ja, allerdings sind Interpreter immer etwas langsamer als Kompilate.
Jetzt mag zwar der eine oder andere sagen, was stört mich das? Aber wenn z.B. bei der KI mehrere Zugvarianten durchgegeangen werden (und davon gehe ich mal aus), dann macht das schon eine deutlichen Unterschied.

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 himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#62

Re: Ideen zur Schach KI

  Alt 23. Apr 2005, 11:47
Das stimmt ... vor kurzem gab es da mal 'ne nette "Doku" über Schachcomputer/Programme im TV.

Da gab es einen Computer, der zwar die Züge schlechter berechnete, aber den Fritz dann doch geschlagen hatte, weil er halt schnller war und somit viel mehr Züge berechnen konnte und über die Masse dann halt dennoch bessere Wege fand.

Dieser Computer basierte auf mehreren "einzelnen" Chips, welche speziell für solche Berechnungen ausgelegt waren und durch eine Zusammenschaltung sozusagen einen rießigen Parallelrechnwer ergaben.
Na ja, nach diesem Match wurde er dann aber wieder zerlegt ... der war dn Machern dann doch zu stark, oder so
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#63

Re: Ideen zur Schach KI

  Alt 25. Apr 2005, 10:39
Also was die KI angeht, würde ich es folgendermaßen machen.
Eine Eröffnungsdatenbank, wo der Spielbaum für die ersten Züge abgelegt wird, sowie eine Endspiel-Datenbank. (z.b. der komplette Spielbaum für 3,4 oder 5 verbleibende Figuren).
Die Züge zwischendrin könne man mittel a-b-prunning berechnen.

Und zum Thema selbstlernen KI schmeiße ich jetzt einfach mal das sitchwort Neuronale-Netze in den Raum (viel Spaß damit )

Gruß
tr909
  Mit Zitat antworten Zitat
Cicaro

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

Re: Ideen zur Schach KI

  Alt 25. Apr 2005, 11:10
Zitat von tr909:
Und zum Thema selbstlernen KI schmeiße ich jetzt einfach mal das sitchwort Neuronale-Netze in den Raum (viel Spaß damit )
Das ist Wahnsinn !!!
So viel Zeit hab' ich nun wirklich nicht ! Und überhaupt, wie soll das denn bitte mit neuronalen Netzen gehen ? Wenn du dazu schon eine Idee hast, dann nur raus damit ! Ich bin schon gespannt.
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

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

Re: Ideen zur Schach KI

  Alt 25. Apr 2005, 17:20
Zitat von tr909:
Also was die KI angeht, würde ich es folgendermaßen machen.
Eine Eröffnungsdatenbank, wo der Spielbaum für die ersten Züge abgelegt wird, sowie eine Endspiel-Datenbank. (z.b. der komplette Spielbaum für 3,4 oder 5 verbleibende Figuren).
Die Züge zwischendrin könne man mittel a-b-prunning berechnen.

Und zum Thema selbstlernen KI schmeiße ich jetzt einfach mal das sitchwort Neuronale-Netze in den Raum (viel Spaß damit )

Gruß
tr909
Neuronale Netze, das wird dann doch zuviel des Guten!!
Aber was den Rest angeht, stimme ich zu, bis auf die DB für das Endspiel. Die ist IMHO nicht nötig (im Gegensatz zur Eröffnungsdatenbank).

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 Speedmaster
Speedmaster

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

Re: Ideen zur Schach KI

  Alt 25. Apr 2005, 18:07
Zitat von Cicaro:
Zitat von tr909:
Und zum Thema selbstlernen KI schmeiße ich jetzt einfach mal das sitchwort Neuronale-Netze in den Raum (viel Spaß damit )
Das ist Wahnsinn !!!
So viel Zeit hab' ich nun wirklich nicht ! Und überhaupt, wie soll das denn bitte mit neuronalen Netzen gehen ? Wenn du dazu schon eine Idee hast, dann nur raus damit ! Ich bin schon gespannt.
Ich sage nur suchen suchen suchen, es gab sogar mal einen CS-Bot der auf einfache weisse ein Neurales Netz hatte, war die Arbeit von einem Studenten, wobei ich sagen muss das die Bot's zwar lernten, aber auch nicht sonderlich gut!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

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

Re: Ideen zur Schach KI

  Alt 25. Apr 2005, 18:17
Zitat von himitsu:
Da gab es einen Computer, der zwar die Züge schlechter berechnete, aber den Fritz dann doch geschlagen hatte, weil er halt schnller war und somit viel mehr Züge berechnen konnte und über die Masse dann halt dennoch bessere Wege fand.
´

Sowas darf nich als "Gewinn" gewertet werden.
Wenn 2 Kinder gegeneinander spielen ist nach 30 Sekunden auch Schluss und es gibt (meist) nen Gewinner.
Spielen 2 Schach(groß-)meister gegeneinander, dauert ne Partie auch mal ein paar Stündchen und es gibt (meist) nen Gewinner.

Wenn bei Schach etwas Nebensache ist, dann wohl die Zeit

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Seniman
Seniman

Registriert seit: 15. Sep 2003
Ort: Münster
98 Beiträge
 
#68

Re: Ideen zur Schach KI

  Alt 25. Apr 2005, 18:19
Zitat von Binärbaum:
Zitat von tr909:
Also was die KI angeht, würde ich es folgendermaßen machen.
Eine Eröffnungsdatenbank, wo der Spielbaum für die ersten Züge abgelegt wird, sowie eine Endspiel-Datenbank.
Aber was den Rest angeht, stimme ich zu, bis auf die DB für das Endspiel. Die ist IMHO nicht nötig (im Gegensatz zur Eröffnungsdatenbank).
Dazu kommt, das eine DB für das Endspiel viel zu groß, einfach, weil die Endsituation immer anders aussieht, während die Figuren am Anfang immer gleich stehen. Außerdem gibt es am Ende immer andere Figuren die da sind. Dadurch vergrößert sich die Anzahl der theoretisch denkbaren Endspiele unglaublich schnell.
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

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

Re: Ideen zur Schach KI

  Alt 25. Apr 2005, 18:57
hi

hier ist eine vorläufige version meiner eröffnungsdb...is aber auf keinen fall eine entgültige version

in TZug sollen die züge drinstehen
zb e2e4, e7e5, c5d4 o.ä.

Delphi-Quellcode:
type
  TZug = String[4];
  TEroeffnungsDB = class (TObject)
  private
    FConn: TADOConnection;
    FQuery: TADOQuery;
    FDBName: String; //AusgangsDB
    FTable: String;
    FZugID: Integer;
    function Init(DBName, User, Passwd: String):Boolean; //DB laden
    function UnInit:Boolean; //Daten speichern
  published
    constructor Create;
    destructor Destroy;
    function SetNeuenZug(Neu: TZug):Integer;//Zug setzen und Elemente löschen
    function GetNeuenZug:TZug; //Besten Zug raussuchen
    property Tabelle: String read FTable write FTable;
  end;

const
  STD_TEMP_DB = 'Temp_DB';

implementation

constructor TEroeffnungsDB.Create;
begin
  inherited Create;
  FConn := TADOConnection.Create(FConn);
  FQuery:=TADOQuery.Create(FQuery);
  FQuery.Connection:=FConn;
end;

destructor TEroeffnungsDB.Destroy;
begin
  FConn.Free;
  FQuery.Free;
  inherited Destroy;
end;

function TEroeffnungsDB.Init(DBName, User, Passwd: String):Boolean;
begin
  try
    //in Temp-DB ablegen
    FDBName:=ExtractFileDir(DBName)+STD_TEMP_DB+ExtractFileExt(DBName);
    CopyFile(PAnsiChar(DBName),PAnsiChar(FDBName),False);
    //öffnen
    FConn.Provider:='MSDAIPP.DSO';
    FConn.DefaultDatabase:=FDBName;
    FConn.Open(User, Passwd);
    Result:=True;
  except
    Result:=False;
  end;
end;

function TEroeffnungsDB.UnInit:Boolean;
begin
  try
    //schliessen
    FConn.Close;
    //Temp-DB löschen
    DeleteFile(FDBName);
    Result:=True;
  except
    Result:=False;
  end;
end;

function TEroeffnungsDB.SetNeuenZug(Neu: TZug):Integer;
begin
  //irrelevante Züge löschen
  FQuery.SQL.Clear;
  FQuery.SQL.Add('DELETE FROM :table WHERE (Zugid=:zugid) AND (zug<>:zug)');
  FQuery.Parameters.ParamValues['table']:=FTable;
  FQuery.Parameters.ParamValues['zugid']:=FZugID;
  FQuery.Parameters.ParamValues['zug']:=Neu;
  FQuery.ExecSQL;
  repeat
    FQuery.SQL.Clear;
    FQuery.SQL.Add('DELETE FROM :table WHERE NOT parentid IN ( SELECT id FROM :table)');
    FQuery.Parameters.ParamValues['table']:=FTable;
    FQuery.ExecSQL;
  until FQuery.RowsAffected=0;
  FQuery.ClearFields;
  inc(FZugID);
end;

function TEroeffnungsDB.GetNeuenZug:TZug;
begin
  //Neuen Zug holen
  FQuery.SQL.Clear;
  FQuery.SQL.Add('SELECT Zug FROM '+FTable+' ORDER BY ZugID, Bewertung');
  FQuery.Open;
  Result:=FQuery.Fields.FieldByName('Zug').AsString;
  FQuery.ClearFields;
  SetNeuenZug(Result);
end;
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#70

Re: Ideen zur Schach KI

  Alt 26. Apr 2005, 08:50
Zitat von Binärbaum:
Aber was den Rest angeht, stimme ich zu, bis auf die DB für das Endspiel. Die ist IMHO nicht nötig (im Gegensatz zur Eröffnungsdatenbank).
Nun gut. Anstatt der Endspiel-DB kann mann natürlich auch Brute-Force bis zum Ende machen, das das Spiel ab dieser Situation in annehmbarer Zeit komplett berechnet werden kann.

Gruß
DerAnkh
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 7 von 10   « Erste     567 89     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:40 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