AGB  ·  Datenschutz  ·  Impressum  







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

Schach

Ein Thema von Mathematiker · begonnen am 21. Mär 2013 · letzter Beitrag vom 28. Mär 2013
Antwort Antwort
Mathematiker
(Gast)

n/a Beiträge
 
#1

AW: Schach

  Alt 22. Mär 2013, 10:15
Hallo,
Ist das mit oder ohne Pruning?
Mit! Bei den 81 Milliarden werden nur die theoretisch möglichen Züge gezählt, wobei natürlich die mit der schlechtesten Bewertung schnell verworfen werden.
Würde mich interessieren wie du intern vorgehst? So?
Ganz so einfach ist es nicht.
Tatsächlich ermittelt das Programm zuerst alle möglichen Züge und Gegenzüge. Die Schwierigkeit ist aber, dass jede Stellung bewertet werden muss. In die Bewertung fließt die Figur, die Position auf dem Brett, ein möglicher Figurengewinnung, die Dynamik der Stellung und die Wechselwirkung mit anderen Figuren (Deckung, gemeinsamer Angriff, usw...) mit ein.
Gerade das macht die Berechnung aufwendig.
Das Programm versucht, so lange die Stellung als gut bewertet wird, zu gewinnen. Gibt es keine gute Bewertung mehr, wird ein Remis durch Figurenabtausch und Wiederholung der gleichen Stellung angestrebt.
Mein Programm arbeitet deterministisch, d.h. gleiche Stellungen liefern auch stets das gleiche Ergebnis. Das ist ein Nachteil gegenüber einem Schachspieler, der seine Züge auch psychologisch abwägt. Aus diesem Grund ist dieses Schachprogramm auch kein richtiger Gegner für gute Schachspieler.

Beste Grüße
Mathematiker

Geändert von Mathematiker (22. Mär 2013 um 10:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Schach

  Alt 22. Mär 2013, 12:00
Das Programm versucht, so lange die Stellung als gut bewertet wird, zu gewinnen. Gibt es keine gute Bewertung mehr, wird ein Remis durch Figurenabtausch und Wiederholung der gleichen Stellung angestrebt.
Ach darum. Nachdem ich die Qualität hatte, war das Program irgendwie "planlos".

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
milchbrötchen

Registriert seit: 3. Apr 2007
Ort: Konstanz
36 Beiträge
 
#3

AW: Schach

  Alt 22. Mär 2013, 12:44
sehr gelungen das Spiel

was mir aufgefallen ist: die Zeiten "Computer rechnet" oben und "Zeit für.." rechts laufen bei mir unterschiedlich schnell..
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#4

AW: Schach

  Alt 22. Mär 2013, 16:58
Hallo,
Nachdem ich die Qualität hatte, war das Program irgendwie "planlos".
Das ist kein Wunder. Ein menschlicher Schachspieler erkennt seine Niederlage und gibt sich geschlagen. Ein "sturer" Computer versucht noch das Beste, d.h. den Gegner in ein Remis zu drängen. Der Gegner könnte ja noch einen Fehler machen.
was mir aufgefallen ist: die Zeiten "Computer rechnet" oben und "Zeit für.." rechts laufen bei mir unterschiedlich schnell..
Danke für den Hinweis. Werde ich überprüfen.
was passiert wenn mehrere Züge mit gleichgrossem Score gefunden werden, wählt das Programm dann immer den 1. Zug oder wird per Zufall einer der gleichwertigen Züge ausgewählt?
Die Züge werden nach Güte sortiert. Sind zwei gleichwertig, was sehr selten vorkommt, wird ein Halbzug weiter gerechnet. Sollte dann noch Gleichheit vorliegen, wird der 1.Zug genommen.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Schach

  Alt 22. Mär 2013, 21:17
was mir aufgefallen ist: die Zeiten "Computer rechnet" oben und "Zeit für.." rechts laufen bei mir unterschiedlich schnell..

Das ist mir ebenfalls aufgefallen. Nur so als Info, dass es kein "Einzelfall" ist
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#6

AW: Schach

  Alt 22. Mär 2013, 21:24
Hallo,
Das ist mir ebenfalls aufgefallen. Nur so als Info, dass es kein "Einzelfall" ist
Danke für den Hinweis.
In der Revision 1 habe ich dies schon verändert. Darüber hinaus gibt's noch einige kleine Änderungen, die ich, dank der vielen Hinweise, durchführen konnte.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Monday

Registriert seit: 24. Aug 2012
103 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Schach

  Alt 28. Mär 2013, 09:38
Hi,

schönes Programm! Großes Lob!

Ich habe zwei Partien gespielt. Bei der ersten habe ich Stufe 6 gespielt und gewonnen. Danach Stufe 9. In dieser Stufe rechnet er schon deutlich länger. Die Partie hat ca. 40 min oder länger gedauert und ich habe verloren.

Zu der Spielweise des Programmes: Insgesamt habe ich den Eindruck, dass Programm spielt eher Defensiv und neigt zum Abtausch. Offenbar scheint das Programm auch der Überzeung zu sein, dass ein Doppelbauer grundsätzlich als schlecht zu bewerten gilt?! In Stufe 6 hat das Programm grobe Fehler gemacht. War aber sehr ausdauernt um das Matt zu verhindern.
In Stufe 9 war die Spielweiße schon etwas gezielter. Es hat sich aber abwartend und passiv Verhalten. Als ich Angriff, erkannte das Programm seine Lage und hat sich verteidigt. Leider machte ich aber dann einen schwachen Zug und das Programm kam in Vorteil. Das Programm hatte einen Freibauern, dass er auch versuchte umzuwandeln. Komischerweiße ließ sich das Programm aber dann ablenken, als der Bauer auf der vorletzten (!) Linie war, indem ich ihm einen unwichtigen Bauern anbot.
Als es soweit war, habe ich zum Spaß bei der Umwandlung "Springer" angeklickt. Und prompt hat der Computer bei der Umwandlung einen Springer statt eine Dame gewählt. Hier sollte der Computer selbstständig die Figur auswählen. Und der Spieler sollte über das Menü SEINE Umwandlungsfigur auswählen können, aber nicht für den Computer.

Stufe 9 ist durchaus zu bewältigen. Als Spieler sollte man allerdings etwas mehr nachdenken als ich es getahn habe. Dann sollte aber man damit rechnen, dass die Partie deutlich länger dauert. Vielleicht ist es Sinnvoll, an eine schnelleren Geschwindigkeit zu arbeiten?! Als der Computer mich schließlich Matt gesetzt hat, wollte ich meinen Fehler in der Partie zurück nehmen und von dort an richtig weiterspielen. Aber nachdem ich dann auf "Spieler Schwarz" - Computer geklickt habe, hat er die Grundstellung aufgebaut und die Partie weg. Schön wäre deshalb noch, dass man Züge nach dem Matt zurück nehmen kann, und dann auch weiterspielen.

Eine höhere Stufe als 9 habe ich dann nicht mehr ausprobiert, nachdem einige geschrieben haben dass die Rechenzeit sehr lange ist.

Lg,
Monday

P.S. Ich bin ein durchschnittlicher Vereinsspieler und programmiere gerade auch ein Schachprogramm
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#8

AW: Schach

  Alt 28. Mär 2013, 12:31
Hallo,
schönes Programm! Großes Lob!
Danke.
Insgesamt habe ich den Eindruck, dass Programm spielt eher Defensiv und neigt zum Abtausch. Offenbar scheint das Programm auch der Überzeung zu sein, dass ein Doppelbauer grundsätzlich als schlecht zu bewerten gilt?!
Das ergibt sich (leider) aus meinen Bewertungen. Eventuell muss ich da noch etwas ändern. Das bedeutet aber, dass ich noch einmal "tief" in die Struktur eingreifen muss.
Die Computerzugberechnung müsste effektiver und auch schneller werden. Aber ich vermute, das übersteigt meine Fähigkeiten. Leider.

Als es soweit war, habe ich zum Spaß bei der Umwandlung "Springer" angeklickt. Und prompt hat der Computer bei der Umwandlung einen Springer statt eine Dame gewählt. Hier sollte der Computer selbstständig die Figur auswählen. Und der Spieler sollte über das Menü SEINE Umwandlungsfigur auswählen können, aber nicht für den Computer.
Das ist nicht schön. Diesen Fehler habe ich noch nicht bemerkt. Danke für den Hinweis.
Ich werde sehen, wie ich das schnell ändern kann.

Beste Grüße und Frohe Ostern
Mathematiker
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Schach

  Alt 22. Mär 2013, 16:01
Mein Programm arbeitet deterministisch, d.h. gleiche Stellungen liefern auch stets das gleiche Ergebnis.
Das ist mir auch schon aufgefallen, weil Computer gegen Computer häufig zu einer Zugwiederholung führt.
Frage: was passiert wenn mehrere Züge mit gleichgrossem Score gefunden werden, wählt das Programm dann immer den 1. Zug oder wird per Zufall einer der gleichwertigen Züge ausgewählt?
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 13:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz