AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Schach

Ein Thema von Mathematiker · begonnen am 21. Mär 2013 · letzter Beitrag vom 28. Mär 2013
Antwort Antwort
Seite 2 von 4     12 34   
Mathematiker
Hallo,
als 3.Programm möchte ich mein Schachprogramm vorstellen. An diesem arbeite ich schon seit mehreren Jahren.

Gezogen werden die Figuren mit der Maus, wie sonst.
Man kann gegen den Computer spielen, was ganz gut geht. Die Wahl der Spielstufe gibt an, wie viele Halbzüge der Computer voraus denkt. Da mit jeder höheren Spielstufe der Berechnungsaufwand für den Computer exponentiell steigt, wird die "Denkzeit" des PCs auch schnell größer.
Auf einem hinreichend schnellen Computer dürfte Stufe = schwer noch machbar sein. Darüber hinaus braucht man etwas Geduld, bis das Programm den nächsten Zug macht.
Um ein Spiel nachzuverfolgen, kann man in der Zugliste einen Halbzug auswählen, so dass die Figuren auf diese Spielsituation positioniert werden. Durch Auswahl des nächsten Listeneintrags oder über die Schalter kann dann die Partie weiter verfolgt werden.

Wichtig ist noch, dass in meinem Schachprogramm keine Eröffnungsbibliothek enthalten ist. Alle Züge werden je nach Situation vom Computer berechnet. Dennoch gewinnt mein Programm gegen andere Schachprogramme, die mit einer Elo-Zahl von 1800 werben, in der Stufe "anspruchsvoll" fast immer.

Weitere Eigenschaften:
Der Spielstand einer Partie kann gespeichert und später wieder geladen werden.
Es kann ein Zugvorschlag abgerufen werden. Über das Menü können 26 verschiedene Standarderöffnungen geladen werden. Die Grundeinstellungen werden gespeichert.
Die Berechnung läuft über 2 Prozessorkerne.

Verrückt ist, dass ich gegen mein eigenes Programm (Stufe: anspruchsvoll) nur noch verliere. Aber unter Euch wird es ja bessere Schachspieler als mich geben.

Beste Grüße
Mathematiker

Rev 1: einige kleinere Änderungen, u.a. Korrektur der Zeitangabe.
Miniaturansicht angehängter Grafiken
schach.png  
Angehängte Dateien
Dateityp: zip schach2.zip (291,0 KB, 156x aufgerufen)

Geändert von Mathematiker (22. Mär 2013 um 21:21 Uhr)
 
Mathematiker
 
#11
  Alt 21. Mär 2013, 21:53
Hallo,
Kompliment dafür! Bekommt von mir 3 Daumen.
Danke für das Lob.
Kuhle Sache ^^ Und das ist erst dein 3. Programm?
Das 3.Programm, das ich hier(!) vorstelle. In der EE habe ich schon "gewütet" und einige atmen dort vielleicht auch auf, dass ich sie erst einmal in Ruhe lasse.
Einige fertige Programme, die aber nicht so schön sind, habe ich sicher noch. Zuerst wollte ich die "besonders schönen" zeigen.
Code:
* Mensch / Weiß
* Computer / Schwarz
* Stufe 15
"Zugliste"
1. e2-e4
        e7-e5
2. Dd1-h5
Edit: Gut ich dachte mir es hängt, aber ne.. Es hat nur seine Zeit gebraucht ^^ Nvm
Ja, am Anfang einer Partie braucht das Programm etwas länger. Viele Figuren bedeuten auch viele Zugmöglichkeiten. Evtl. senkst Du die Spielstärke, dann geht's schneller.
Und nimm mir bitte nicht übel: Die Dame im 2.Zug nach h5 ist sehr verwegen. Da dürfte die Niederlage vorprogrammiert sein.
Also als erstes mal einen Daumen hoch.
Vielen Dank.
Eine kleine Sache (Verbesserung bzw. Bug) hätte ich allerdings. Wenn ein Spiel fertig gespielt wurde (vom Computer vs Computer) dann kommt die Meldung, wer gewonnen hat bzw. ob es ein Remis war. ...
Alles klar. Das sehe ich mir noch einmal an.
Ebenso werde ich während der Computerzugberechnung die Auswahl eines Zuges in der Liste wohl unterbinden müssen. Sonst kommt das Programm durcheinander.
allerdings behauptet er mit 3 maliger Zugwiederholung ein Remis erreicht zu haben. Soweit ich weiß muß es 3 mal die gleiche Stellung sein.
3 Mal "Zugwiederholung" ist nicht korrekt. Du hast recht. Ich werde den Text der Meldung ändern.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Aviator

 
Delphi 10.3 Rio
 
#12
  Alt 21. Mär 2013, 22:02
Zu der Frage von Aphton:

Beim ersten Zug: E7 - E5 braucht er bei mir 38 Sekunden
Nachdem ich meinen zweiten Zug getätigt habe rechnet er bei mir sage und schreibe 3 Minuten und 37 Sekunden bis er den nächsten Zug tätigt.

@Mathematiker: Rechnest du immer alle Züge bis zum Ende durch? Dann braucht man ja 2 Jahre für eine Partie


Zu der Hardware: Intel i7 Prozessor und 12 GB RAM

Während er rechnet ist die CPU Auslastung dauerhaft auf 13%. Dazu noch eine Anmerkung. Wenn er fertig gerechnet hat bleibt er auf diesen 13% hängen und geht nicht mehr auf 0% runter wie es normalerweise der Fall ist. Bleibt da bei dir noch was hängen Mathematiker?
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

 
Turbo Delphi für Win32
 
#13
  Alt 21. Mär 2013, 22:05
Schon klar, ich hab nicht gespielt um zu gewinnen, wollte sondern nur bestimmte Fälle testen!
  Mit Zitat antworten Zitat
Aviator

 
Delphi 10.3 Rio
 
#14
  Alt 21. Mär 2013, 22:08
Schon klar, ich hab nicht gespielt um zu gewinnen, wollte sondern nur bestimmte Fälle testen!
Das ist mir bewusst. Aber mit der Dauer warst auch nicht du gemeint, dass du es fertig spielen wolltest. Es war mehr ein Hinweis.


PS.: Wie lange rechnet er denn bei dir?
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

 
Turbo Delphi für Win32
 
#15
  Alt 21. Mär 2013, 22:11
Ich hab auf die Antwort auf meine Antwort geantwortet - Antwortception!
  Mit Zitat antworten Zitat
Mathematiker
 
#16
  Alt 21. Mär 2013, 22:13
Hallo,
@Mathematiker: Rechnest du immer alle Züge bis zum Ende durch? Dann braucht man ja 2 Jahre für eine Partie
Braucht er nicht wirklich.
Es werden die eingestellten Halbzüge vollständig durchgerechnet. Da am Anfang sehr viele Figuren auf dem Feld sind, dauert es auch länger. Im Laufe des Spiels wird es i.A. schneller.
Etwas verwirrt bin ich aber. Auf meinem 5 Jahre alten Laptop erhalte ich auf e2-e4 bei Spielstufe "anspruchsvoll" den Antwortzug d7-d5 nach 5 Sekunden.
Welche Spielstufe hast Du denn gewählt?
Wenn er fertig gerechnet hat bleibt er auf diesen 13% hängen und geht nicht mehr auf 0% runter wie es normalerweise der Fall ist. Bleibt da bei dir noch was hängen Mathematiker?
Nein. So wie jeder Schachspieler arbeitet das Programm schon vor. Für die wahrscheinlichsten Antwortzüge werden schon erste Berechnungen gemacht.
Außerdem rechnet er parallel immer einen Zugvorschlag aus.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Mathematiker
 
#17
  Alt 21. Mär 2013, 22:16
Hallo Aphton,
Schon klar, ich hab nicht gespielt um zu gewinnen, wollte sondern nur bestimmte Fälle testen!
Entschuldige. Habe ich falsch verstanden und wollte Dich auch nicht belehren.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

 
Turbo Delphi für Win32
 
#18
  Alt 21. Mär 2013, 22:16
@Mathematiker - es geht um den zweiten Zug! Beim Ersten braucht es bei mir auch nicht lange!
  Mit Zitat antworten Zitat
Aviator

 
Delphi 10.3 Rio
 
#19
  Alt 21. Mär 2013, 22:18
Zitat:
Etwas verwirrt bin ich aber. Auf meinem 5 Jahre alten Laptop erhalte ich auf e2-e4 bei Spielstufe "anspruchsvoll" den Antwortzug d7-d5 nach 5 Sekunden.
Welche Spielstufe hast Du denn gewählt?
Ich habe wie bei Aphton im Post auf die Stufe 15 gestellt.

Zitat:
Nein. So wie jeder Schachspieler arbeitet das Programm schon vor. Für die wahrscheinlichsten Antwortzüge werden schon erste Berechnungen gemacht.
Außerdem rechnet er parallel immer einen Zugvorschlag aus.
Ok dann ist alles klar.

Zitat:
es geht um den zweiten Zug! Beim Ersten braucht es bei mir auch nicht lange!
Wie lange dauert es denn bei dir?
  Mit Zitat antworten Zitat
Mathematiker
 
#20
  Alt 21. Mär 2013, 22:29
Ich habe wie bei Aphton im Post auf die Stufe 15 gestellt.
Wow, Stufe 15, das sind 15 Halbzüge! Dein armer Computer!
Nach http://oeis.org/A019319 gibt es schon für 10 Halbzüge am Spielanfang 81 Milliarden Möglichkeiten und mit jedem weiteren Halbzug mit einem Faktor steigend!
Bei Spielstufe 15 dauert es wirklich ewig und wenn Du nicht mindestens Großmeister bist, kannst Du so eine Partie nicht gewinnen.

Stufe 10 ist meiner Meinung nach das vertretbare Maximum. Die höheren Spielstufen sind einstellbar, da ich sie zur vollständigen Analyse einer Spielstellung nutze.
Wahrscheinlich sollte ich bei Stufe 10 stoppen, um die Nutzer nicht zu verwirren.

Beste Grüße
Mathematiker

Geändert von Mathematiker (21. Mär 2013 um 22:44 Uhr)
  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 09:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf