PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Alpha Zero schlägt Stockfish


Timm
09.12.17, 18:33
Google KI bildet sich selbst in vier Stunden zum Schach-Großmeister aus.
Und - kaum zu fasen - schlägt eines der bisher besten Schachprogramme, die bereits weit über Großmeister Niveau liegen.

https://www.futurezone.de/science/article212769459/Google-KI-bildet-sich-selbst-in-vier-Stunden-zum-Schach-Grossmeister-aus.html

Hier einige kommentierte Partien

https://www.youtube.com/watch?v=3taHp9EC5Kw

Statt bis zu 70 Millionen Stellungen/s untersucht Alpha Zero "nur" 80 Tausend und scheint damit wesentlich selektiver zu "rechnen".

Wohin geht diese Reise mit sich selbst optimierenden Algorithmen?

Hawkwind
10.12.17, 23:46
Eine faszinierende Entwicklung! Ich hätte nie erwartet, dass Programme, die nicht auf der konventionellen Minmax-Alpha-Beta -Suche basieren, derart erfolgreich Schach spielen können. Und nicht nur Schach spielen!

BTW, es gibt allerdings Zweifel, ob das Match gegen Stockfish ganz "fair" war, denn - wie man liest - spielte Stockfish ohne Eröffnungsbuch. Da konventionelle Schachprogramme im Grunde total deterministsich sind, kann ein lernendes Programm den Gegner immer wieder in ungünstige Varianten locken. Ein gutes und variantenreiches Eröffnungsbuch würde die Züge von Stockfish weniger "ausrechenbar" zu machen.

Schach-Großmeister und Computerschach-"Veteran" Larry Kaufman hatte das kritisiert

"It is of course rather incredible, he said. "Although after I heard about the achievements of AlphaGo Zero in Go I was rather expecting something like this, especially since the team has a chess master, Demis Hassabis. What isn't yet clear is whether AlphaZero could play chess on normal PCs and if so how strong it would be. It may well be that the current dominance of minimax chess engines may be at an end, but it's too soon to say so. It should be pointed out that AlphaZero had effectively built its own opening book, so a fairer run would be against a top engine using a good opening book."

BTW, das Schachprogramm M-Chess von Marty Hirsch nutzte in den 90ern diesen "Trick" über ein recht simples Book-Learning, um sich im Spiel gegen andere Prgramme an die Spitze der Ratingliste zu setzen. Aus der Beschreibung von M-Chess


Some sets of heuristics are employed to decide which moves to add to the opening book, and which to delete from it. Moves are deleted when the score just out of book is not too high, and the score later in the game is worse. Moves are added when the score just out of book is not too low, and the score later in the game is satisfactory. A further pre-condition for moves that may be added to the opening book is that the increase in score has been mainly monotonic. If this condition is not met, a future game may enable better moves to be found due to the general learning. In other words, only the best moves the program is able to discover (at a given level) are added to the opening book. Different thresholds are applied for the storage and deletion of moves for White and Black.


Aber es ist eigentlich auch wurscht, ob AlphaZero Stockfish nun total dominiert oder nicht.

Timm
11.12.17, 11:13
BTW, es gibt allerdings Zweifel, ob das Match gegen Stockfish ganz "fair" war, denn - wie man liest - spielte Stockfish ohne Eröffnungsbuch. Da konventionelle Schachprogramme im Grunde total deterministsich sind, kann ein lernendes Programm den Gegner immer wieder in ungünstige Varianten locken. Ein gutes und variantenreiches Eröffnungsbuch würde die Züge von Stockfish weniger "ausrechenbar" zu machen.


Da könnte ich mir vorstellen, daß Wettkämpfe folgen werden, bei denen Spitzenprogramme ihr Eröffnungsbuch und auch hashtables benutzen dürfen, damit sie maximal wehrhaft sind.
Du erinnerst Dich sicher, daß früher Programme, damals noch schwächer, von Menschen in Stellungen "gelockt" wurden, die sie weniger gut beherrschten. Das ist finde ich ein Ausdruck von Überlegenheit, der sich nun offenbar auch bei Alpha Zero zeigt.

Hier (https://www.technologyreview.com/s/609736/alpha-zeros-alien-chess-shows-the-power-and-the-peculiarity-of-ai/) einige Kommentare von Demis Hassabis, dem Gründer von DeepMind.

What’s also remarkable, though, Hassabis explained, is that it sometimes makes seemingly crazy sacrifices, like offering up a bishop and queen to exploit a positional advantage that led to victory. Such sacrifices of high-value pieces are normally rare. In another case the program moved its queen to the corner of the board, a very bizarre trick with a surprising positional value. “It’s like chess from another dimension,” Hassabis said.
Solche Opfer sind natürlich spektakulär. Bei einem Menschen würde man von einem phantastischen positionellen Verständnis sprechen, denn weit genug in die Tiefe rechnen kann er nicht. Man kann sich fragen, ist das bei Alpha Zero einfach größere Tiefe oder fällt es bei Stockfish beim alpha beta pruning durchs Raster. Das an konkreten Beispielen herauszufinden sollte für die Entwickler von SF nicht allzu schwierig sein.

Hassabis speculates that because Alpha Zero teaches itself, it benefits from not following the usual approach of assigning value to pieces and trying to minimize losses. “Maybe our conception of chess has been too limited,” he said. “It could be an important moment for chess. We can graft it into our own play.”
Das Wissen eines neuronalen Netzes ist in Gewichten gespeichert. Aber ich habe keine Vorstellung wie es rechnet. Ob es überhaupt mit priorisierten Zuglisten arbeitet, ob es eine Ruhesuche macht, ob es Varianten mit Bewertung preisgibt usw.

Bernhard
11.12.17, 12:13
Das Wissen eines neuronalen Netzes ist in Gewichten gespeichert. Aber ich habe keine Vorstellung wie es rechnet.
Bei der Mustererkennung gibt es Algorithmen, die mit großen Matrizen und der Matrixmultiplikation arbeiten.

Hawkwind
11.12.17, 15:22
Das Wissen eines neuronalen Netzes ist in Gewichten gespeichert. Aber ich habe keine Vorstellung wie es rechnet. Ob es überhaupt mit priorisierten Zuglisten arbeitet, ob es eine Ruhesuche macht, ob es Varianten mit Bewertung preisgibt usw.

Die Bewertungen dürften ziemlich "unkonventionell" sein; angeblich verfügt das Programm nicht über die üblichen Heuristiken (Malus für Doppelbauer, Bonus für Turm auf offener Linie etc.), die ja auf Erfahrungen menschlicher Spieler basieren. Ist mir völlig rätselhaft, was die da bewerten: auch die Materialbewertung ist ja im Grunde stellungsabhängig: z.B. in offenen Stellungen ist der Läufer höher einzuschätzen als der Springer. Aber irgendeine materielle Bewertung wird es wohl geben; was will man sonst machen? :)

---

hier gibt es übrigens die Publikation der Gruppe:
Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm (https://arxiv.org/abs/1712.01815)

Timm
11.12.17, 18:03
hier gibt es übrigens die Publikation der Gruppe:
Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm (https://arxiv.org/abs/1712.01815)
Also Montecarlo Suche statt alpha beta. Aber für mich ansonsten ziemlich kryptisch. Interessant ist auch die Häufigkeitsverteilung bei den selbstgelernten Eröffnungen, das dürfte Gesprächsstoff geben.

Übrigens hat wie hier (http://www.chessdom.com/london-chess-classic-2017-live) zu sehen, Carlsen gegen Aronian gerade das Blatt in einer Serie von mit den Vorschlägen von Stockfish übereinstimmenden Zügen zu seinen Gunsten gewendet und gewonnen.

Hawkwind
11.12.17, 18:38
Also Montecarlo Suche statt alpha beta. Aber für mich ansonsten ziemlich kryptisch.

Für mich leider auch ... anscheinend wird jedem Zug in einer Position durch die Bewertung eine Gewinnwahrscheinlichkeit zugeordnet. Anscheinend wird nicht einmal das Material auf dem Brett bewertet!?


Interessant ist auch die Häufigkeitsverteilung bei den selbstgelernten Eröffnungen, das dürfte Gesprächsstoff geben.


Ich habe den Verdacht, dass AlphaZero die Eröffnungstheorie revolutionieren könnte. Das ist ein bisschen wie "Schach vom anderen Stern" oder HAL-9000 spielt Schach (aus "2001 – Odysee im Weltraum").

Timm
11.12.17, 21:02
Für mich leider auch ... anscheinend wird jedem Zug in einer Position durch die Bewertung eine Gewinnwahrscheinlichkeit zugeordnet. Anscheinend wird nicht einmal das Material auf dem Brett bewertet!?

Ja, nach dem Zitat oben nicht. Bei einem matt ist ist Material Unterlegenheit egal, im Mittelspiel aber nicht. Wenn aber alle Selbstspiele bis zur Entscheidung remis, Gewinn, Verlust gespielt werden, dann sollte das Material keine Rolle spielen!? Na ja, ich weiß nicht, es sind eigentlich müßige Spekulationen.


Ich habe den Verdacht, dass AlphaZero die Eröffnungstheorie revolutionieren könnte. Das ist ein bisschen wie "Schach vom anderen Stern" oder HAL-9000 spielt Schach (aus "2001 – Odysee im Weltraum").
Ein klasse Film.:)

Und ja, die Sekundanten werden gut ausgelastet sein.

Hawkwind
15.12.17, 13:54
https://www.msn.com/de-at/nachrichten/wissenundtechnik/doch-keine-aliens-–-nasa-findet-speziellen-planeten/ar-BBGKmfZ?li=AAaVEHq&ocid=spartanntp


...
Wissenschaftler haben neben unserem Sonnensystem erstmals ein weiteres gefunden, in dem acht Planeten um eine Sonne kreisen. Die US-Raumfahrtbehörde Nasa und der Internetgigant Google kündigten am Donnerstag den Fund eines achten Planeten an, der sich um den Stern Kepler-90 dreht. Die neuste Entdeckung dieses sogenannten Exoplaneten wurde mithilfe von Googles künstlicher Intelligenz gemacht.
...

Hervorhebung von mir.

Ist das auch "AlphaZero und Konsorten"?
Da kommen so langsam Erinnerungen an "Skynet" aus den Terminator-Filmen hoch. Vielleicht erklärt uns AlphaZero irgendwann für unmündig (was ja angesichts Klimakatastrophe etc sogar nachvollziehbar wäre) und übernimmt die Kontrolle?

Bernhard
15.12.17, 14:55
und übernimmt die Kontrolle?
"Das wäre doch mal was! Die Computer können denken, und die Menschen hören ganz damit auf."

Zitat aus Tron 1. Wer hat's gesagt?

Hawkwind
15.12.17, 16:44
BTW, this is the opinion of the computer chess pioneer Ed Schröder (author of "Rebel") about the Deep Zero - Stockfish match:


I am not a conspiracy theorist at all but this Alpha Zero thing needs to be questioned for various reasons and I will serve for some limited time as devil's advocate to warm up the discussion.

#1. We are offered games without depths and scores.
#2. I don't believe it's possible 4 hours of self play can do that, not even 4000 hours, it's insane.
#3. I haven't seen an official statement from Google.
#4. Games can be played by a correspondence player with the help of Houdini tactical (or so) and cherry-picked the best ones, ignoring all the lost games also making use of massive take-backs.

CONSEQUENCES
If this type of learning is possible then (IMO) mankind is in deep trouble, imagine what in theory would be possible. Examples.

#1. Predict the stock market and get rich.

#2. Suppose politicians ask the question:

Dear comp, how do we solve global warming?

Alpha 666

Reduce the population from 7 billion to 500 million and the Earth will restore itself.

------

Shoot !
:)


quoted from the American computer chess forum

http://www.talkchess.com/forum/viewtopic.php?p=743214#743214
---

hmm, warum schreib ich eigentlich auf Englisch? :)

Timm
15.12.17, 23:05
hmm, warum schreib ich eigentlich auf Englisch? :)
Perhaps because the english processing part of your neural net couldn't but proceed in english after having read Ed Schröder.

Er ist ja ziemlich bissig. Die Unterstellung #4 scheint selbst unter "devil's advocate" ziemlich abwegig.

Hier noch Infos zu AlphaZero von Jemand, der ziemlich Ahnung zu haben scheint.

https://chess.stackexchange.com/questions/19353/understanding-alphazero
Stockfish uses alpha-beta, while AlphaZero uses Monte-Carlo. They are two very different algorithms. The alpha-beta algorithm assumes a lower/upper bound, while Monte-Carlo creates simulations from the root to leaf.

https://chess.stackexchange.com/questions/19401/how-does-alphazero-learn-to-evaluate-a-position-it-has-never-seen
The evaluation function of a chess engine, whether instantiated as a neural net or explicit code, is always able to assign a value to any board position. If you give it a board position, even absurd ones that would never occur in a game, it will be able to spit out a number representing how favorable it is to one player or another. Since the number of board positions in chess is unmanageably gigantic, the training can only occur on an infinitesimal sample of the game tree. The engine is not simply recalling previously calculated values of board positions, but is performing calculations based on the arrangement of the pieces. For a non-neural-net example, part of a chess engine's evaluation might be to add up the value of each piece on its side and subtract the total value of the opponent's pieces. Then, one set of parameter that would be adjusted while training would be the value of each piece.

Timm
16.12.17, 11:33
https://chess.stackexchange.com/questions/19366/hardware-used-in-alphazero-vs-stockfish-match

AlphaZero and the previous AlphaGo Zero used a single machine with 4 TPUs Stockfish and Elmo played at their strongest skill level using 64 threads and a hash size of 1GB.

So, AlphaZero used special hardware developed by Google. It used specialized Tensor Processor Units (TPUs) rather than general Central Processing Units (CPUs) as are available commercially.

This is how Wikipedia describes the second generation TPUs they used -

The second generation TPU was announced in May 2017. Google stated the first generation TPU design was memory bandwidth limited, and using 16 GB of High Bandwidth Memory in the second generation design increased bandwidth to 600 GB/s and performance to 45 TFLOPS. The TPUs are then arranged into 4-chip 180 TFLOPS modules

They used 4 TPUs for the games, so a processing power of 180 TFLOPS. Note TFLOPS = 1000 billion floating point operations per second.

Welch eine gewaltige Rechenleistung von AlphaZero.

Die Analyse einiger Partien weiter unten zeigt, daß SF mit mehr Zeit bessere Züge gefunden hätte, was ja nicht verwunderlich ist. Aber es wirft die Frage auf, welche Zeit/Zug man SF geben müßte, damit der Vergleich der engines angesichts der gigantischen hardware von AZF fair ist. Ich kenne mich da überhaupt nicht aus, aber ein Anhaltspunkt könnten die 180 TFLOPS von AZ's hardware sein.

Hawkwind
16.12.17, 14:22
They used 4 TPUs for the games, so a processing power of 180 TFLOPS. Note TFLOPS = 1000 billion floating point operations per second.

Ein Quad-Core-PC mit 3,0 GHz dagegen hat etwa 48 GFLOPS.

Lief Stockfish auf einer derartigen HW, dann kann man davon ausgehen, dass die HW von AlphaZero um einen Faktor von einigen tausend performanter war (4000 ?).
HW und SW sind so unterschiedlich, wie will man da "Fairness" definieren?
Man könnte versuchen, das auszugleichen, indem man AlphaZero 5 Sek / Zug gibt und Stockfish 5 h / Zug.

Timm
16.12.17, 17:45
Ein Quad-Core-PC mit 3,0 GHz dagegen hat etwa 48 GFLOPS.

Lief Stockfish auf einer derartigen HW, dann kann man davon ausgehen, dass die HW von AlphaZero um einen Faktor von einigen tausend performanter war (4000 ?).

Es liegt schon lange zurück, ich habe dunkel in Erinnerung, daß mit alpha-beta Suche die erreichbare Tiefe mit 4-facher Rechenzeit grob um einen HZ wächst. Falls das so ist, könnte dieser Faktor ca. 10 HZ bringen, wenn ich das richtig überschlagen habe. Wie auch immer, SF würde erheblich stärker spielen.

Aber auch wenn SF unter solchen Voraussetzungen überlegen wäre, diese Selbstlernfähigkeit von AZ ist etwas fundamental Neues und vermutlich noch keineswegs ausgereizt.

Die Diskussion ist in vollem Gange und vielleicht äußert sich Hassabis von Deep Mind nochmal. Zur erreichten Tiefe scheint bisher nichts bekannt zu sein. Hast Du bzgl. Monte Carlo 'von der Wurzel bis zum Blatt' auch so verstanden, daß die Spiele gegen sich selbst bis zu einem eindeutigen Ergebnis ausgeführt werden?

Hawkwind
16.12.17, 18:19
Es liegt schon lange zurück, ich habe dunkel in Erinnerung, daß mit alpha-beta Suche die erreichbare Tiefe mit 4-facher Rechenzeit grob um einen HZ wächst. Falls das so ist, könnte dieser Faktor ca. 10 HZ bringen, wenn ich das richtig überschlagen habe. Wie auch immer, SF würde erheblich stärker spielen.


Allerdings sind die FLOPS wohl generell ein wenig aussagekräftiger Benchmark, da Schachprogramme i.d.R. keine Floating-Point-Operationen ausführen, Stockfish sicher auch nicht.


Aber auch wenn SF unter solchen Voraussetzungen überlegen wäre, diese Selbstlernfähigkeit von AZ ist etwas fundamental Neues und vermutlich noch keineswegs ausgereizt.


Sehe ich auch so: die konventionellen Schachprogramme sind ja darauf angewiesen, dass die Erfahrungen starker menschlicher Schachspieler im Code implementiert werden (Doppelbauern möglichst vermeiden, Eröffnungsbuch etc), wogegen AlphaZero wirklich allein von den Regeln ausgeht. Das ist aus meiner Sicht viel beeindruckender - schaut wirklich nach Intelligenz aus.


Die Diskussion ist in vollem Gange und vielleicht äußert sich Hassabis von Deep Mind nochmal. Zur erreichten Tiefe scheint bisher nichts bekannt zu sein. Hast Du bzgl. Monte Carlo 'von der Wurzel bis zum Blatt' auch so verstanden, daß die Spiele gegen sich selbst bis zu einem eindeutigen Ergebnis ausgeführt werden?

Habe da leider noch nicht raus, was das wirklich bedeutet.

future06
18.12.17, 13:39
Alpha-Zero verwendet sog. Deep Learning mit künstlichen Neuronalen Netzen, die Fließkommaoperationen benötigen. Konventionelle Schachprogramme verwenden ausschließlich Ganzzahl-Operationen.

Monte-Carlo bedeutet in der Informatik allgemein, dass Zufallszahlen verwendet werden. Die Alpha-Beta-Suche ist hingegen eine deterministische Suche, die jeweils den kompletten Suchraum abdeckt, jedoch Suchzweige abschneidet, die prinzipiell kein besseres Ergebnis erzielen können als bereits gefunden Züge.

Die Technologie die Alpha-Zero verwendet, wird momentan auch zb. für das autonome Fahren verwendet. Allein aus diesem Grund wird hier viel Geld in die Entwicklung gesteckt, Nvidia (eigentlich ein Grafikchip-Hersteller) hat zb. marktreife Chips entwickelt, die vergleichbar mit der Alpha-Zero Hardware sind.

Meiner Einschätzung nach (bin Informatiker und verfolge diese Technologie seit vielen Jahren) kommt da in den nächsten 10-20 Jahren etwas auf uns zu, was durchaus das Potential von Skynet hat :)

Timm
02.01.18, 18:49
https://de.chessbase.com/post/alpha-beta-monte-carlo-abwatschpraemie-inzucht-chrilly-donningers-kommentar-zu-alphazero


Habe da leider noch nicht raus, was das wirklich bedeutet.
Chrilly ist Dir sicherlich ein Begriff. Demnach wird tatsächlich Monte Carlo aus jeder Position bis zum Ende gespielt. Was also zählt ist das Ergebnis, nicht das Material. Und wenn ich es richtig verstehe, orientiert sich die Wahl des Zuges an der Zahl der Varianten, die zu dem relativ besten Ergebnis führen.

TomS
03.01.18, 11:16
Hier eine recht gute Zusammenfassung:

https://de.chessbase.com/post/alpha-zero-vergleich-von-orang-utans-mit-aepfeln

Hawkwind
03.01.18, 13:37
https://de.chessbase.com/post/alpha-beta-monte-carlo-abwatschpraemie-inzucht-chrilly-donningers-kommentar-zu-alphazero

Chrilly ist Dir sicherlich ein Begriff.

Den gibt's auch noch; unsere Progs haben manchmal "die Klingen gekreuzt". BTW, wir sind ja jetzt fast Nachbarn.

Danke für den Link; Chrilly schreibt ja immer recht interessant und kurzweilig. :)

Timm
03.01.18, 18:03
Hier eine recht gute Zusammenfassung:

https://de.chessbase.com/post/alpha-zero-vergleich-von-orang-utans-mit-aepfeln
Ja und auch durchaus kritisch, danke.

TomS
04.01.18, 08:08
Man sollte das Duell evtl. mal aus der Google- statt aus der Stockfish-Perspektive analysieren: Google konnte zeigen, dass eine (ansatzweise) general-purpose KI gegen eine Nischenintelligenz gewinnen kann. Google ist investiert in die TPU, Rechenpower usw., Stockfish in spezialisierte Eröffnungsbibliotheken und Zeitmanagement.

Es werden also immer Äpfel mit Birnen (oder eher Tankstellen) verglichen, egal welche Bedingungen man schafft.

Ich halte die Geschwindigkeit des Trainings für den entscheidenden Faktor. Man könnte nun diese AlphaZero-Instanz zusätzlich in Richtung Eröffnungen trainieren. Stockfish greift dabei jedoch wiederum auf jahrzehntelang gesammeltes menschliches Wissen zurück, während AlphaZero dies selbst erlernen muss. Gleiches gilt für einige Endspielvarianten.

Wäre spannend zu wissen, ob Google überhaupt noch Interesse an diesen Gegnern hat; diese werden rar.

TomS
04.01.18, 08:11
Auch interessant:

Comparing Monte Carlo tree search searches, AlphaZero searches just 80,000 positions per second in chess and 40,000 in shogi, compared to 70 million for Stockfish and 35 million for elmo. AlphaZero compensates for the lower number of evaluations by using its deep neural network to focus much more selectively on the most promising variation.


Monte-Carlo-Programme benutzen statistische Methoden, um Zugkandidaten zu finden. Der Zug wird bewertet, indem von der Spielbrettposition ausgehend mit Zufallszügen bis zum Ende gespielt wird.


AlphaGo verwendet zusätzlich zu Monte-Carlo-Methoden Lernmethoden für tiefe neuronale Netzwerke. Dabei werden zwei Kategorien von neuronalen Netzen und eine Baumsuche eingesetzt:

Das policy network („Regelnetzwerk“) wird zur Bestimmung von Zugkandidaten mit großen Mengen von Partien sowohl durch überwachtes Lernen (engl. supervised learning) konditioniert als auch durch bestärkendes Lernen (engl. reinforcement learning) trainiert
Das value network („Bewertungsnetzwerk“) dient der Bewertung von Positionen und wird durch bestärkendes Lernen eingestellt.
Die Monte-Carlo-Baumsuche rechnet die Varianten durch. Alle drei Komponenten werden in dieser Baumsuche kombiniert.


Zunächst lernt das Programm durch Analyse einer Datenbank von 30 Millionen Zügen, den Zug eines Menschen „vorherzusagen“. Das gelingt zu 56 %. Bei der Bewertung des Zuges ist es im Gegensatz zu Monte-Carlo-Programmen nicht notwendig, die Partie bis zum Ende durchzuspielen. Mit diesem Ansatz allein gelingt es AlphaGo schon, traditionelle Programme zu besiegen. In der Praxis werden allerdings für die stärkste Version von AlphaGo zusätzlich auch noch Bewertungen nach dem Monte-Carlo-Verfahren vorgenommen.

TomS
04.01.18, 09:59
Außerdem ist wichtig, dass gerade die auswendig gelernten Eröffnungen ja nichts über die eigtl. „Intelligenz“ aussagen. Man könnte die Partie zweier Großmeister nicht von der Partie zweier „dressierter Affen“ unterscheiden, solange sie nicht von den Standarderöffnungen abweichen; sobald sie jedoch abweichen, wird der Unterschied nach wenigen Halbzügen sichtbar.

Hawkwind
04.01.18, 17:21
Stockfish greift dabei jedoch wiederum auf jahrzehntelang gesammeltes menschliches Wissen zurück, ... .

Was aber durchaus nicht ohne Risiko ist und auch von Nachteil sein kann. Die Eröffnungstheorie im Schach ist ja alles andere als sicher; jemand findet eine Neuerung in einer Variante und die Bewertung ganzer Variantenkomplexe ändert sich schlagartig.

Timm
04.01.18, 19:09
Außerdem ist wichtig, dass gerade die auswendig gelernten Eröffnungen ja nichts über die eigtl. „Intelligenz“ aussagen.
Vielleicht könnte man das Spiel von Stockfish ab Beendigung der Eröffnungsbibliothek als "scheinbar intelligent" bezeichnen. Aber nicht wirklich, das Programm rechnet, so komplex es auch sein mag, im Prinzip wie ein Taschenrechner. Die implementierte "Intelligenz" ist die des Programmierers, der im Prinzip nachvollziehen kann, was sein Programm macht.

Interessant ist dieser mit dem "selbst lernen" verbundene Paradigmenwechsel. Da lernt AlphaZero 4 Stunden und findet Schwachstellen bei einigen seit vielen Jahrzehnten gespielten Eröffnungen! Da würde ich schon eher von einer gewissen Intelligenz sprechen und es ist wohl kaum mehr nachvollziebar, was hier im Detail geschieht.

TomS
05.01.18, 00:40
.Interessant ist dieser mit dem "selbst lernen" verbundene Paradigmenwechsel. Da lernt AlphaZero 4 Stunden und findet Schwachstellen bei einigen seit vielen Jahrzehnten gespielten Eröffnungen! Da würde ich schon eher von einer gewissen Intelligenz sprechen und es ist wohl kaum mehr nachvollziebar, was hier im Detail geschieht.
Genau!

Und daher laufen viele Argumente der Kritiker ins Leere. Google hatte nicht die Absicht, ein Schachprogramm bei einem Turnier an den Start zu bringen, sondern zu zeigen, wozu selbstlernende KIs fähig sind.

Ein guter Auszubildender wird in der Prüfung ohne Zuhilfenahme von Fachbüchern eine gute Note erhalten. Im späteren Beruf wird er dann natürlich auch auf Bücher zurückgreifen. Google hat zwei Auszubildende ohne Berufspraxis verglichen ...

Den Einwand bzgl. des ungeeignet gewählten Zeitmanagementsystems halte ich für schwieriger.

Hawkwind
05.01.18, 19:26
Den Einwand bzgl. des ungeeignet gewählten Zeitmanagementsystems halte ich für schwieriger.

Ach ja. Wenn man interessiert ist, den genauen Spielstärkeunterschied der beiden Gegner mittels ELO-Bewertungsskala zu quantifizieren (jetzt hätte ich fast "quantisieren" geschrieben :) ), dann mag das ein Einwand sein.
Ein angepasstes Zeitmanagement wird die Spielstärke von Stockfish aber eher um einige wenige ELO-Punkte als um eine Größenordnung beeinflussen.

Dann müsste man aber eh eine Menge Partien mehr spielen lassen, damit die Statistik überhaupt aussagekräftig wird.

TomS
06.01.18, 00:11
Ein angepasstes Zeitmanagement wird die Spielstärke von Stockfish aber eher um einige wenige ELO-Punkte als um eine Größenordnung beeinflussen.
Einen der o.g. Artikel habe ich da anders verstanden, dass dies nämlich einen maßgeblichen Einfluss hat.

Egal, es ging Google nie um eine exakte ELO-Bewertung oder um ein Turnier unter fairen Bedingungen (was im Computerschach sowieso nur möglich war, weil sich da eine Art Monokultur entwickelt hat). Es ging darum, dass eine ziemlich generische KI Schach "from scratch" lernen kann. Stockfisch u.a. Programme haben nie irgendetwas etwas gelernt; es gab lediglich unglaublich viele fleißige Programmierer und Datentypisten, die seit Jahrzehnten Programme optimiert und Eröffnungsdatenbanken eingetippt haben.

Jetzt an diesen Kleinigkeiten rumzumäkeln ist ungefähr so blöd wie Goethe für Rechtschreibfehler im Manuskript von Faust zu kritisieren.

Hawkwind
06.01.18, 16:28
Einen der o.g. Artikel habe ich da anders verstanden, dass dies nämlich einen maßgeblichen Einfluss hat.

Egal, es ging Google nie um eine exakte ELO-Bewertung oder um ein Turnier unter fairen Bedingungen (was im Computerschach sowieso nur möglich war, weil sich da eine Art Monokultur entwickelt hat). Es ging darum, dass eine ziemlich generische KI Schach "from scratch" lernen kann. Stockfisch u.a. Programme haben nie irgendetwas etwas gelernt; es gab lediglich unglaublich viele fleißige Programmierer und Datentypisten, die seit Jahrzehnten Programme optimiert und Eröffnungsdatenbanken eingetippt haben.

Jetzt an diesen Kleinigkeiten rumzumäkeln ist ungefähr so blöd wie Goethe für Rechtschreibfehler im Manuskript von Faust zu kritisieren.

100% d'accor, aber eine kleine Reandbemerkung zu

Stockfisch u.a. Programme haben nie irgendetwas etwas gelernt; es gab lediglich ...

Die meisten neueren Programme - ich schätze Stockfish sicher eingeschlossen - haben ein recht simples Book-Learning implementiert: Varianten, die sich nicht bewähren, werden im Eröffnungsbuch weniger stark gewichtet bzw komplett gestrichen, und umgekehrt.
Zudem legen manche Programme die Suchergebnisse der Wurzelknoten (erreichte Suchtiefe, zugehörige Bewertung) in einer persistenten Hash-Tabelle auf der Festplatte ab (eventuell nur dann, wenn sich die Bewertung von einer Iteration zur nächsten drastisch verändert hatte (z.B. Falle festgestellt, "vergifteter Bauer" ...). Diese Ergebnisse können in nachfolgenden Spielen die Suche etwas beschleunigen, wenn denn genau diese Positionen im Suchbaum auftreten bzw es wird sogar gelernt, einmal gemachte Fehler zu vermeiden. Diese 2 Features sind nicht ganz unnütz und machen die Programme auch etwas unberechenbarer; so hat mein Programm in ein-und derselben Stellung bei derselben Suchtiefe nicht immer zwangsläufig denselben Zug gewählt.
Aber das sind sehr simple Implementation einer Lernfunktion im Vergleich zu AlphaZero.

TomS
06.01.18, 17:17
Danke für die Info.

Darf ich fragen, wie du deine eigene Spielstärke einschätzt?

Hawkwind
06.01.18, 18:47
Danke für die Info.

Darf ich fragen, wie du deine eigene Spielstärke einschätzt?

Sehr schwach. Ich war nie wirklich gut und bin nun völlig außer Übung; dazu kommt der ganz normale "Altersschwachsinn". :)
Wenn ich denn mal spiele, versuche ich in 1.Linie nur grobe Patzer zu vermeiden, was für meine heutigen Gegner meist auch schon ausreicht.
Spielst du?

TomS
06.01.18, 22:49
Ich habe früher häufig gespielt und auch versucht, ein paar Themen zu vertiefen (Eröffnungen, Mittelspiel). In den letzten Jahren sehr selten, da mir die menschlichen Gegner fehlten und ich ungern gegen den Computer spiele (weil's auch kommunikativ sein soll). Inzwischen spiele ich wieder häufiger gegen die Patentochter meiner Frau; sie ist in der Schulmannschaft, hat aber ohne Vorgabe noch keine Chance; evtl. ergibt sich da was.

Ich hatte mal das "Glück", gegen den Sohn von Lothar Schmid (https://de.m.wikipedia.org/wiki/Lothar_Schmid) spielen zu dürfen. Ich habe das erst hinterher erfahren. Die Spiele waren interessant: erst einige Züge normale Entwicklung, dann ein paar für mich unerklärliche Züge, dann auf einmal gefühlt 17 Drohungen gleichzeitig :-)

Marco Polo
07.01.18, 09:03
Hier und da spiele ich schon mal ganz gerne eine Partie Schach und das seit knapp 35-40 Jahren.

Gegen die normalen Schachprogramme gewinne ich dann auch eigentlich recht häufig. Zumindest dann, wenn ich 1-2 Züge pro Partie zurücknehmen darf.

Keine Ahnung, welcher Spielstärke das entspricht. Mein Neffe spielt seit ca. 10 Jahren im örtlichen Schachverein auf recht hohem Niveau.

Gegen den verliere ich dann leider fast immer. :o

TomS
07.01.18, 10:27
Gegen die normalen Schachprogramme gewinne ich dann auch eigentlich recht häufig. Zumindest dann, wenn ich 1-2 Züge pro Partie zurücknehmen darf. Keine Ahnung, welcher Spielstärke das entspricht.
Ich denke nicht, dass die Bewertung der Spielstärke das Zurücknehmen von Zügen berücksichtigt; das ist eine Regelverletzung. Schachspieler mit deutlich unterschiedlicher Spielstärke nutzen manchmal Figurenvorgaben, d.h. der stärkere Spieler hat z.B. einen Springer weniger.

Mein Neffe spielt seit ca. 10 Jahren im örtlichen Schachverein auf recht hohem Niveau.
Frag' ihn doch mal nach seiner Elo-Zahl (https://de.m.wikipedia.org/wiki/Elo-Zahl). Die wird auch für Schachprogramme bestimmt, jedoch unter präzise definierten Turnierbedingungen, also insbs. ohne das Zurücknehmen von Zügen.

Hawkwind
07.01.18, 10:28
Gegen die normalen Schachprogramme gewinne ich dann auch eigentlich recht häufig.

Nicht schlecht ... vielleicht sollten es die Blauen lieber mit Schach statt mit Fussball probieren. :)

sirius
07.01.18, 12:49
Ich habe noch nie gegen einen Schachcomputer gespielt. :eek:
Meine letzte Schachpartie liegt viele Jahre zurueck.
Ich habe frueher oft mit meinem verstorbenen Bruder gespielt.
Wir waren etwas gleich stark. Man wusste nie, wer gewinnen wuerde.

Marco Polo
07.01.18, 14:05
I
Frag' ihn doch mal nach seiner Elo-Zahl (https://de.m.wikipedia.org/wiki/Elo-Zahl). Die wird auch für Schachprogramme bestimmt, jedoch unter präzise definierten Turnierbedingungen, also insbs. ohne das Zurücknehmen von Zügen.

Angeblich liegt er so bei ca. 1550

p.s. sorry Tippfehler, sollte heissen 1750

Marco Polo
07.01.18, 14:14
Nicht schlecht ... vielleicht sollten es die Blauen lieber mit Schach statt mit Fussball probieren. :)

...so die Schwatzgelben...;)

Aber im Ernst: Schach hin oder her: Ihr werdet noch 2. (auch wenns weh tut) :)

Hawkwind
07.01.18, 16:51
...so die Schwatzgelben...;)

Aber im Ernst: Schach hin oder her: Ihr werdet noch 2. (auch wenns weh tut) :)

Ja, eines von beiden: 2. Platz oder 2. Liga :).

BTW, in der Gegend deines Neffen habe ich früher auch gespielt. "Hohes Niveau" würde ich aber erst ab ELO=2000 ansiedeln.

Marco Polo
07.01.18, 17:06
"Hohes Niveau" würde ich aber erst ab ELO=2000 ansiedeln.

Im Grunde schon. War auch eher meine subjektive Einschätzung.

Allerdings kenne ich keinen Vereinsspieler, der auf ELO 2000 kommt.

Das müssste dann aber ein verdammt guter Vereinsspieler sein.

Hawkwind
07.01.18, 17:14
Im Grunde schon. War auch eher meine subjektive Einschätzung.

Allerdings kenne ich keinen Vereinsspieler, der auf ELO 2000 kommt.

Das müssste dann aber ein verdammt guter Vereinsspieler sein.

In dem Club in Dortmund, wo ich damals gespielt hatte, gab es doch einige Spieler mit ELO 2200 oder auch mehr. Einer der Jungs (Romuald Mainka (https://de.wikipedia.org/wiki/Romuald_Mainka)) wurde später dann auch Großmeister.
Heute spiele ich ab und an gegen einen Bekannten, der zu seinen besten Zeiten bei knapp 2000 war. Erstaunlicherweise gewinne ich meist; der patzt halt altersbedingt noch öfter als ich (obwohl er etwas jünger ist) und ärgert sich dann immer schrecklich. :)

---
Edit:
So ist die Wertung der aktuellen Mitglieder (95% davon kenne ich aber nicht ... zu lang her)
https://sc-hansa.de/dwz-liste-der-mitglieder/

Marco Polo
07.01.18, 17:23
In dem Club in Dortmund, wo ich damals gespielt hatte, gab es doch einige Speler mit ELO 2200 oder auch mehr. Einer der Jungs (Romuald Mainka (https://de.wikipedia.org/wiki/Romuald_Mainka)) wurde später dann auch Großmeister.

ELO 2200 geht aber schon in die Richtung Profi.

Heute spiele ich ab und an gegen einen Bekannten, der zu seinen besten Zeiten bei knapp 2000 war. Erstaunlicherweise gewinne ich meist; der patzt halt altersbedingt noch öfter als ich (obwohl er etwas jünger ist) und ärgert sich dann immer schrecklich. :)

Dann würde ich gegen dich aber lieber nicht spielen wollen. Die Quote wäre vermutlich verheerend. :o

Hawkwind
07.01.18, 17:29
Dann würde ich gegen dich aber lieber nicht spielen wollen. Die Quote wäre vermutlich verheerend. :o

Fragt sich nur für wen. :)

Marco Polo
07.01.18, 17:52
Fragt sich nur für wen. :)

Mal im Ernst: ich spiele gemittelt vielleicht 10-20 Partien pro Jahr. Es gab mal so eine Phase, da habe ich mich etwas intensiver mit Schach beschäftigt. Ist aber lange her.

Und mein Neffe, von dem ich schrieb, er hätte "hohes Niveau", was ich aufgrund deiner Zahlen dann lieber auf durchschnittliches bis unteres Vereinsspielerniveau herabstufen möchte, der spielt vielleicht 200 Partien/Jahr.

Mit diesem Aufwand wird man natürlich kein Großmeister.

Hawkwind
07.01.18, 18:53
Mal im Ernst: ich spiele gemittelt vielleicht 10-20 Partien pro Jahr. Es gab mal so eine Phase, da habe ich mich etwas intensiver mit Schach beschäftigt. Ist aber lange her.

Ich spiele aber heutzutage auch nicht mehr als du ... eher noch etwas weniger.


Und mein Neffe, von dem ich schrieb, er hätte "hohes Niveau", was ich aufgrund deiner Zahlen dann lieber auf durchschnittliches bis unteres Vereinsspielerniveau herabstufen möchte, der spielt vielleicht 200 Partien/Jahr.

Mit diesem Aufwand wird man natürlich kein Großmeister.

Ich schätze, um Großmeister zu werden, reichen auch Aufwand und intensives Training alleine nicht aus; man muss schon eine gewisse Begabung mitbringen. FIDE-Meister oder Internationaler Meister dagegen kann ein ausreichend intelligenter Mensch mittels intensivem Training wohl schon eher "erzwingen".

Marco Polo
07.01.18, 19:09
Ich schätze, um Großmeister zu werden, reichen auch Aufwand und intensives Training alleine nicht aus; man muss schon eine gewisse Begabung mitbringen.

Klar. Mit durschnittlichem IQ wird man kein Großmeister. Egal, wie fleissig man ist.

p.s. interessant finde ich die Unterscheidung zwischen Mann und Frau in Hinblick auf die unterschiedliche Gewichtung.

So läuft "Candidate Master" bei den Herren im Bereich 2200-2299, während die gleiche Kategorie bei den Frauen zwischen 2000-2099 liegt.

Das ist die Steilvorlage für gewisse Personenkreise (ist Weibsvolk anwesend?). :cool::)

Hawkwind
07.01.18, 19:56
Klar. Mit durschnittlichem IQ wird man kein Großmeister. Egal, wie fleissig man ist.

p.s. interessant finde ich die Unterscheidung zwischen Mann und Frau in Hinblick auf die unterschiedliche Gewichtung.

So läuft "Candidate Master" bei den Herren im Bereich 2200-2299, während die gleiche Kategorie bei den Frauen zwischen 2000-2099 liegt.

Das ist die Steilvorlage für gewisse Personenkreise (ist Weibsvolk anwesend?). :cool::)

Ja, das Wort "Damenschach" hat schon einen etwas verächtlichen Beiklang wie "die versuchen's halt auch".
Es spielen aber auch viel, viel weniger Frauen Schach als Männer, was schon einiges erklären könnte.
Bei meinen beiden Töchtern hatte ich vergeblich versucht, Interesse für Schach zu wecken ... nein: Puppen über alles.

Marco Polo
07.01.18, 20:22
Bei meinen beiden Töchtern hatte ich vergeblich versucht, Interesse für Schach zu wecken ... nein: Puppen über alles.

Ist aber nicht ungewöhnlich. Als ich im Alter war, mit Puppen oder eher mit Lego zu spielen, hab ich mich auch nicht für Schach interessiert. :)

Timm
07.01.18, 22:43
In dem Club in Dortmund, wo ich damals gespielt hatte, gab es doch einige Spieler mit ELO 2200 oder auch mehr.

So ist die Wertung der aktuellen Mitglieder (95% davon kenne ich aber nicht ... zu lang her)
https://sc-hansa.de/dwz-liste-der-mitglieder/
So viele Gms heute! Meinen Verein scheint es nicht mehr zu geben, ich habe mal - lang ist's her - in Darmstadt an einem der hinteren Bretter in der Landesklasse gespielt. Heute verfolge ich gelegentlich Spitzenturniere online und finde es immer wieder faszinierend, wenn sich fast unmerklich positionelle Vorteile von Zug zu Zug akkumulieren und es dann zum "Einschlag" kommt. Solche Momente zeigen, wie wenig das Potential einer Stellung vom aktuellen Material abhängt.

Hawkwind
08.01.18, 10:48
So viele Gms heute! Meinen Verein scheint es nicht mehr zu geben, ich habe mal - lang ist's her - in Darmstadt an einem der hinteren Bretter in der Landesklasse gespielt.


Dann dürftest du so im Bereich
1700 < DWZ < 1900
gelegen haben?


Heute verfolge ich gelegentlich Spitzenturniere online und finde es immer wieder faszinierend, wenn sich fast unmerklich positionelle Vorteile von Zug zu Zug akkumulieren und es dann zum "Einschlag" kommt. Solche Momente zeigen, wie wenig das Potential einer Stellung vom aktuellen Material abhängt.

Ich war früher manchmal als Kibitz bei Turnieren; ich fand es nicht immer spannend. Ich erinnere mich, mal bei einer Partie von Spasski gegen einen nominell schwächeren Gegner ge-kibitzt zu haben. Spasski hatte eine starke Angriffsstellung, schien es und es schien ein Opfer in der Luft zu liegen. Er verbrauchte auch immens Bedenkzeit für den Zug, machte dann aber nur einen Allerweltszug und bot Remis an.
Keine Ahnung, ob er das alles durchgrechnet hatte und es ging nichts oder war es schlicht ein Nickerchen? :)

Timm
08.01.18, 16:34
Dann dürftest du so im Bereich
1700 < DWZ < 1900
gelegen haben?

Spasski hatte eine starke Angriffsstellung, schien es und es schien ein Opfer in der Luft zu liegen. Er verbrauchte auch immens Bedenkzeit für den Zug, machte dann aber nur einen Allerweltszug und bot Remis an.
Keine Ahnung, ob er das alles durchgrechnet hatte und es ging nichts oder war es schlicht ein Nickerchen? :)
Ja. könnte hinkommen.

Wenn Spasski simultan gegen viele Gegner gespielt hätte, könnte man's verstehen. Vielleicht hat sich das Opfer ja nach langer Bedenkzeit als zu riskant erwiesen. Aber remis mit Stellungsvorteil ist trotzdem seltsam.

Wir hatten uns vor Jahren schon mal über unsere Programme ausgetauscht. Mich würde noch interessieren, wieviel Schachwissen Du zur Erstellung der Zugliste implementiert hast. Soweit ich mich erinnere, wurden meist nur die Schlagzüge an den Beginn gesetzt um das Programm schnell zu halten.

TomS
08.01.18, 21:03
Aber remis mit Stellungsvorteil ist trotzdem seltsam.
Insbs. gegen einen nominell schwächeren Gegner. Evtl. war da noch eine versteckte Schwäche, die zu finden er diesem dennoch zugetraut hast; oder es war einfach Taktik, weil der sichere halbe Punkt gereicht hat.

Hawkwind
08.01.18, 22:13
Ja. könnte hinkommen.

Wenn Spasski simultan gegen viele Gegner gespielt hätte, könnte man's verstehen. Vielleicht hat sich das Opfer ja nach langer Bedenkzeit als zu riskant erwiesen. Aber remis mit Stellungsvorteil ist trotzdem seltsam.


Es war ein Bundesliga-Wettkampf; evtl. hat Tom recht und das Remis reichte zum Team-Sieg. Weiss ich leider nicht mehr.


Wir hatten uns vor Jahren schon mal über unsere Programme ausgetauscht. Mich würde noch interessieren, wieviel Schachwissen Du zur Erstellung der Zugliste implementiert hast. Soweit ich mich erinnere, wurden meist nur die Schlagzüge an den Beginn gesetzt um das Programm schnell zu halten.

Alles schon so lang her. Es lohnt, in die Reihenfolge der Züge einigen Aufwand zu stecken; es ist ja ein ganz wesentlicher Punkt der Alpha-Beta-Baumsuche, gute Züge (v.a. solche die den vorangegangenen Halbzug widerlegen) möglichst früh zu probieren, da so ganze Unterbäume weggeschnitten werden können ("backward pruning").

Schlagzüge kamen i.d.R. zuerst, aber ich denke, ich habe auch Vorstöße von Freibauern nach vorne geschoben in den Zuglisten, oder wenn in der Hashtabelle die Position gefunden wurde, dann wurde natürlich der dort abgelegte beste Zug gleich probiert.
Zudem hatte ich noch diverse Klassen sog. Killer-Züge implementiert: solche Züge die schon einmal den vorangegegangenen Halbzug widerlegt hatten ... wenn auch in einer anderen Position: Butterfly-, Counter-Move und History-Heuristiken.
Die Killer-Heuristiken sind hier erklärt, falls es interessiert:
https://chessprogramming.wikispaces.com/Killer+Heuristic

Diese Killer-Heuristiken haben aber nichts mit Schachwissen zu tun, sondern liegen aufgrund der Alpha-Beta-Suche relativ nahe. :)

Timm
09.01.18, 17:17
Es lohnt, in die Reihenfolge der Züge einigen Aufwand zu stecken; es ist ja ein ganz wesentlicher Punkt der Alpha-Beta-Baumsuche, gute Züge (v.a. solche die den vorangegangenen Halbzug widerlegen) möglichst früh zu probieren, da so ganze Unterbäume weggeschnitten werden können ("backward pruning").


Genau dieses Thema hatte mich sehr interessiert. Wie erfasse ich neben den Schlagzügen die taktischen Möglichkeiten einer Stellung, die ein Amateur auf Anhieb sieht, wie Doppelangriff, Schlagdrohung (einer nicht gedeckten gegenerischen Figur), Doppelangriff, Fesselung etc.? Das war ziemlich mühsam und die Geschwindigkeit von anfänglich (ohne Schachwissen) 60.000 Kn/s auf 2.000 Kn/s gefallen. Immerhin konnte ich dann das Programm kaum noch schlagen. :)

Hawkwind
09.01.18, 19:09
Genau dieses Thema hatte mich sehr interessiert. Wie erfasse ich neben den Schlagzügen die taktischen Möglichkeiten einer Stellung, die ein Amateur auf Anhieb sieht, wie Doppelangriff, Schlagdrohung (einer nicht gedeckten gegenerischen Figur), Doppelangriff, Fesselung etc.? Das war ziemlich mühsam und die Geschwindigkeit von anfänglich (ohne Schachwissen) 60.000 Kn/s auf 2.000 Kn/s gefallen. Immerhin konnte ich dann das Programm kaum noch schlagen. :)

Die Erfahrungen der meisten Programmierer sprechen dafür, diese taktischen Themen (Doppelangriff, Fesselung, ...) doch besser der Suche zu überlassen. Wie du schon sagst, sind sie aufwändig und verlangsamen die Suche sehr. Wenn das Programm ohne Berücksichtung dieser Motive in derselben Zeit eine Iteration weiter kommt, dann ist das auf jeden Fall vorzuziehen, denn dann werden diese taktischen Abwicklungen eh erkannt, und zwar besser. Ggf. wäre es anzuraten, wenn so etwas in den Blättern der Suche erkannt wird, diese Varianten selektiv um einen Halbzug erweitert zu durchsuchen. Die Stellung ist evtl. nicht ruhig genug, um sie abschließend zu bewerten. Wenn der König im Schach steht, bewerten die meisten Programme diese Position ja auch nicht, sondern erweitern lieber um einen Halbzug. Schließlich könnte es ja ein Matt sein, was die aufwändige Bewertung von Material und positionellen Elementen sowieso auf den Kopf stellt. :)

Wenn das bei dir die Suche um einen Faktor 30 verlangsamt hatte, dann war das sicher schlecht, denn ohne diese Erweiterungen müsste deine Suche sogar um ca 2 Iterationen (Halbzüge) tiefer kommen in derselben Zeit.

Timm
09.01.18, 19:57
Wenn das bei dir die Suche um einen Faktor 30 verlangsamt hatte, dann war das sicher schlecht, denn ohne diese Erweiterungen müsste deine Suche sogar um ca 2 Iterationen (Halbzüge) tiefer kommen in derselben Zeit.
Ja, das denke ich auch, aber es hat einfach Spaß gemacht. Ursprünglich hatte ich geplant, am Ende die Versionen mit und ohne Schachwissen gegeneinander spielen lassen, aber irgendwie habe ich das dann nicht mehr geschafft.

Hier noch http://web.stanford.edu/~surag/posts/alphazero.html . Korreliert Wissen/Verständnis mit dem Abstraktionsgrad? Unnötig zu sagen, daß ich diesen Ausführungen in keiner Weise folgen kann.

TomS
09.01.18, 21:47
Die Erfahrungen der meisten Programmierer sprechen dafür, diese taktischen Themen (Doppelangriff, Fesselung, ...) doch besser der Suche zu überlassen. Wie du schon sagst, sind sie aufwändig und verlangsamen die Suche sehr.
Das war wohl über lange Zeit der Trend: Abkehr von komplexen Bewertungen der Position hin zu einfachen Bewertungen des Materials und Optimierungen bzw. Vergrößerung der Suchtiefe. Insofern haben die modernen Programme ein "geringeres Schachverständnis" als früher, gleichen dies jedoch durch die Rechenleistung mehr als aus.

Hawkwind
10.01.18, 14:21
Das war wohl über lange Zeit der Trend: Abkehr von komplexen Bewertungen der Position hin zu einfachen Bewertungen des Materials und Optimierungen bzw. Vergrößerung der Suchtiefe. Insofern haben die modernen Programme ein "geringeres Schachverständnis" als früher, gleichen dies jedoch durch die Rechenleistung mehr als aus.

So ist es.
Große Fortschritte gibt es allerdings auch in der Selektivität ("forward pruning" http://chessprogramming.wikispaces.com/Pruning) : Chrilly Donnninger ("Nimzo") hat das Null-Move -Forward-Pruning publiziert und Fabien Letouzey ("Fruit") eine andere vielversprechende Technik ("futility pruning").

BTW, erstaunlich, wie viel da mittlerweile publiziert wird. Kein Wunder, dass es mittlerweile so viele sehr starke Amateurprogramme gibt. Früher war die Geheimniskrämerei größer gewesen.