Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Erhöhte Selektivität ist manchmal nicht optimal.
- - By Thomas Hall Date 2009-09-04 17:55
Neulich stieß ich in meiner Lokalzeitung
auf folgendes Matt in 3:


F. Healey
Illustrated London News, 1872
Weiß zieht und setzt im 3. Zuge matt.

Da der Lösungszug ein Wartezug ist,
finden ihn manche Engines mit ihren
Standardparametereinstellungen nicht!

Entfernt man aber z.B. bei Glaurung den
Haken beim Engine-Parameter "Futility-Pruning",
dann funktioniert die Suche mit dieser Engine!

Dieses Beispiel zeigt einmal mehr,
daß moderne Alpha-Beta-Verfahren
längst keine Varianten des Minimax-Verfahrens
mehr sind, also auch keine Brute-Force-Suche
mehr durchführen, sondern durchaus einmal
wichtige Züge wegselektieren können.

Dafür kommt ein solches "Alpha-Beta advanced"-
Verfahren bei der Berechnung meist in größere
Tiefen, was die allgemeine Qualität erhöht.

Grüße,
Thomas.
Parent - - By Peter Martan Date 2009-09-04 21:45
Lustig, Thomas!
Tatsächlich bleiben DF10 und 11, Hiarcs12.1 und Naum 4 beim Matt in 4 hängen. Hingegen schafft's Glaurung 2.2 bei mir schon und  die Früchtchen, wenn man Rybka neben fruit 051103 und den Togas auch dazu zählen darf, schaffen auch das Matt in 3.
Parent - By Thomas Hall Date 2009-09-05 17:16
Hallo Peter,

Danke für Deine Tests. Auf meinem alten Internetrechner (P2, 450 Mhz, 192 MB RAM)
habe ich neben anderen älteren Engines nur Glauung 2.1 und Glaurung Clone 210918 JA,
den stärkeren von beiden. Glaurung 2.2 wäre da viel zu langsam, aber der schafft dieses
Matt in 3, ich habs überprüft.

Nun ja, was den Dreizüger angeht, es ist heutzutage schon nicht so einfach,
ein Matt in 3 zu finden, das nicht von allen Engines gelöst wird, da muß man
schon Glück haben, denke ich mir.

Übrigens finden ältere Rybka-Versionen den Lösungszug auch nicht, ist Dir
das schon aufgefallen? Da habe ich auch keinen Engineparameter gesehen, mit dem
man das ändern könnte.

Wenn man als Programmierer halt vom einfachen Alpha-Beta zu komplizierteren
Versionen wechselt, muß man stark darauf achten, wie man die Suche
organisiert, was schon eine Kunst für sich ist.

Grüße,
Thomas.
Parent - - By Karl-Heinz Milaster Date 2009-09-07 17:57
[quote="Thomas Hall"]Dieses Beispiel zeigt einmal mehr, daß moderne Alpha-Beta-Verfahren längst keine Varianten des Minimax-Verfahrens mehr sind, also auch keine Brute-Force-Suche mehr durchführen, sondern durchaus einmal wichtige Züge wegselektieren können.[/quote]
Eine Brute-Force-Suche kann nur dann mit dem Alpha-Beta-Algorithmus realisiert werden, wenn die Bewertungsfunktion 0 für remis, 1 für gewonnen oder -1 für verloren liefert.
Jedwede Abstufung in der Bewertungsfunktion muss man als spekulativ betrachten und hat mit Brute-Force nichts mehr zu tun, weil ganze Äste des Suchbaums aufgrund einer Spekulation abgeschnitten werden.

Gruss,
khm
Parent - - By Benno Hartwig Date 2009-09-07 21:16
[quote="Karl-Heinz Milaster"]Eine Brute-Force-Suche kann nur dann mit dem Alpha-Beta-Algorithmus realisiert werden, wenn die Bewertungsfunktion 0 für remis, 1 für gewonnen oder -1 für verloren liefert.
Jedwede Abstufung in der Bewertungsfunktion muss man als spekulativ betrachten und hat mit Brute-Force nichts mehr zu tun, weil ganze Äste des Suchbaums aufgrund einer Spekulation abgeschnitten werden.[/quote]In de.sci.physik treten immer wieder mal Leute auf, die sich mit der These outen: "Albert Einstein hat ja total unrecht, die Relativitätstheorien stimmen ja gar nicht". Und diese Outings sind dann auch für die Beurteilung anderer Postings sehr erhellend.

Karl-Heinz, nur ein Denkanstoß:
Ein Programm hat bei einer bestimmten Analysetiefe bereits erkannt, dass ein bestimmter Zug z1 ihm Ausgleich beschert, und dann erkennt es, dass auf einen anderen Zug z2 hin der Gegner eine Antwort parat hat, die dem Programm den Verlust seines Turmes beschert. Würde es 'spekulativ' sein, den Zug z2 zu verwerfen, ohne vorher überprüft zu haben, was auf alle anderen Erwiderungen auf z2 hin passieren würde?
(Das sollte als Tip eigentlich reichen)

Benno
Parent - - By Karl-Heinz Milaster Date 2009-09-07 21:48
[quote="Benno Hartwig"]Ein Programm hat bei einer bestimmten Analysetiefe bereits erkannt, dass ein bestimmter Zug z1 ihm Ausgleich beschert, und dann erkennt es, dass auf einen anderen Zug z2 hin der Gegner eine Antwort parat hat, die dem Programm den Verlust seines Turmes beschert. Würde es 'spekulativ' sein, den Zug z2 zu verwerfen, ohne vorher überprüft zu haben, was auf alle anderen Erwiderungen auf z2 hin passieren würde?[/quote]

Ich habe den Eindruck, dass Du mein Posting wirklich nicht verstanden hast.
Parent - - By Benno Hartwig Date 2009-09-07 21:58
[quote="Karl-Heinz Milaster"]Ich habe den Eindruck, dass Du mein Posting wirklich nicht verstanden hast.[/quote]Ich hatte den Eindruck, du drücktest dich klar aus.
Ich meinte dein Posting war gar nicht misszuverstehen.
Hast du über meinen Denkanstoß nachgedacht?
Benno
Parent - - By Werner Mueller Date 2009-09-08 00:02
[quote="Benno Hartwig"]
[quote="Karl-Heinz Milaster"]Ich habe den Eindruck, dass Du mein Posting wirklich nicht verstanden hast.[/quote]Ich hatte den Eindruck, du drücktest dich klar aus.
Ich meinte dein Posting war gar nicht misszuverstehen.
Hast du über meinen Denkanstoß nachgedacht?
Benno
[/quote]

Den Eindruck hatte ich allerdings auch.
Und wenn ein Karl-Heinz Milaster sowas behauptet, dann tun sich da ja Abgründe auf.
Und Du Benno wirst auch schon ganz girre von Deinem Kampf gegen Windmühlen.
Dein 'Denkanstoß' (Würde es spekulativ sein ...?) ist ein eher verwirrendes Argument, denn jeder könnte mit Recht sagen: klar würde das spekulativ sein, vielleicht kann ich ja 3 Züge später Matt setzen.
Im Ergebnis allerdings genauso 'spekulativ' wie Brute-Force auf gleicher Tiefe (als ob Brute-Force irgendwas mit Exaktheit zu tun hätte?!?).
Das Grundproblem von allen, die die Gleichwertigkeit vom Ergebnis her von alpha-beta und Brute-Force nicht glauben wollen/können ist m.E. deren Vorstellung, dass die cuts einen Zug bzw. ganze Zugbäume ein für allemal aus der Suche werfen würden (und deswegen ist Dein 'Denkanstoß' mit dem verlorenen Turm auch verwirrend). Dem ist nicht so, bei nächsthöherer Tiefe (klingt auch lustig) sind sozusagen alle wieder dabei - jedenfalls was alpha-beta betrifft.
Parent - By Benno Hartwig Date 2009-09-08 00:36
[quote="Werner Mueller"]Dein 'Denkanstoß' (Würde es spekulativ sein ...?) ist ein eher verwirrendes Argument, denn jeder könnte mit Recht sagen: klar würde das spekulativ sein, vielleicht kann ich ja 3 Züge später Matt setzen.[/quote]
Oh, ich hatte nicht erwartet, dass ich hier verwirren würde.
Ich sagte ja ausdrücklich 'bestimmte Analysetiefe', und meinte: für minimax und alphabeta.
Aber Thanx für deinen Hinweis.

[quote="Werner Mueller"]Dem ist nicht so, bei nächsthöherer Tiefe (klingt auch lustig) sind sozusagen alle wieder dabei - jedenfalls was alpha-beta betrifft.[/quote]Klar, ich habe ja nun auch gelernt, dass hier der Algorithmus missverstanden werden kann.

Ich war nur so überrascht, dass diese alphabeta-Mechanismus, der nun seit (über?) 50 Jahren beschrieben ist und wohl in irgendeiner Form in wirklich allen Schachprogrammen verwendet wird, für den es unzählige Beschreibungen in der Literatur und auch Grundlagenartikeln im Netz gibt, selbst von Leuten nicht verstanden wurde, die sich doch eigentlich sehr erheblich für Computerschach interessieren.
Schachlich mögen die übrigens mir auch viel voraus haben, da bilde ich mir sicher nichts ein.
Wer auch nur einmal mit wenig Aufwand ein 4-gewinnt-Programm geschrieben hat, wird den Mechanismus aber locker verstanden haben.

Erklärungen im Netz und nun auch in diesem Forum gibt es ja genug.
Und wir müssen wohl akzeptieren, dass mancher das kleine Einmaleins der Schachprogrammierung doch nicht wirklich verstanden hat.
Aber vielleicht hatte Karl-Heinz ja doch was anderes gemeint.

Benno
Parent - - By Karl-Heinz Milaster Date 2009-09-08 13:34
[quote="Werner Mueller"]Und wenn ein Karl-Heinz Milaster sowas behauptet, dann tun sich da ja Abgründe auf.[/quote]
Welche?

Gruss,
KHM
Parent - By Werner Mueller Date 2009-09-08 15:54
[quote="Karl-Heinz Milaster"]
[quote="Werner Mueller"]Und wenn ein Karl-Heinz Milaster sowas behauptet, dann tun sich da ja Abgründe auf.[/quote]
Welche?

Gruss,
KHM
[/quote]

... jeder einzelne jedenfalls tief genug, als dass, sich im freien Fall befindend, die Frage nach den anderen noch Relevanz hätte (hat fast was von alpha-beta )
Parent - - By Karl-Heinz Milaster Date 2009-09-09 16:32
[quote="Werner Mueller"]Das Grundproblem von allen, die die Gleichwertigkeit vom Ergebnis her von alpha-beta und Brute-Force nicht glauben wollen/können ist m.E. deren Vorstellung, dass die cuts einen Zug bzw. ganze Zugbäume ein für allemal aus der Suche werfen würden (und deswegen ist Dein 'Denkanstoß' mit dem verlorenen Turm auch verwirrend). Dem ist nicht so, bei nächsthöherer Tiefe (klingt auch lustig) sind sozusagen alle wieder dabei - jedenfalls was alpha-beta betrifft.[/quote]
Eine Alpha-Beta-Suche mit der von mir beschriebenen Bewertungsfunktion ist de facto eine Brute-Force-Suche, weil bei einer Bewertung von 0 keine Schnitte auftreten (können).
Woraus schliesst Du, dass ich Alpha-Beta und Brute-Force nicht für gleichwertig halte?
Parent - - By Benno Hartwig Date 2009-09-09 18:18
[quote="Karl-Heinz Milaster"]Woraus schliesst Du, dass ich Alpha-Beta und Brute-Force nicht für gleichwertig halte?[/quote]Du schriebst am 7.9.09
"Eine Brute-Force-Suche kann nur dann mit dem Alpha-Beta-Algorithmus realisiert werden, wenn die Bewertungsfunktion 0 für remis, 1 für gewonnen oder -1 für verloren liefert."
Und dies ist eben nicht richtig. Es ist eben so, dass der originäre alpha-beta (also ohne Dazuerfindungen wie Nullmove etc.) immer das gleiche Ergebnis (optimaler Zug und Bewertung) liefert wie minimax (was du vermutlich mit bruteforce meinst). Ganz egal, welche Zahlenwerte die Bewertung liefert, ob sie eine Abstufung macht oder nicht.
Das betrifft positionelle Bewertungen "0,50 Bauerneinheiten im Vorteil" und auch absolute Erkenntnisse "ich erzwinge Matt in 5 und nicht etwa erst in 6"
Von diesen Zahlenwerten (von deren Richtigkeit) hängt natürlich das 'gut oder schlecht' des Ergebnisses ab. Minimax und alphabeta liefern aber auf jeden Fall dasselbe.
(Einzige Ausnahme: exakt gleichbewertete Züge)

Darum hatte ich dir auch ein Beispiel gegeben, in welchem du selbst drauf kommen wirst, dass hier für eine bestimmte Analysetiefe eine Zugliste der Antwortzüge nicht weiter analysiert zu werden braucht, dass keine wichtige Information verloren geht, kein erreichbarer Vorteil übersehen wird, keine relevante Falle übersehen wird. Und das ganz unabhängig davon, ob ein anderer Antwortzug dir ermöglicht, den Gegner in 3 mattzusetzen, oder ob der Gegner dich dann in 3 mattsetzern kann.
Und eben dies ist ein typischer Cut, wie er durch alphabeta legitimiert wird.
Durch derartige Cuts kann also nie etwas Spekulatives in das Ergebnis kommen

Oder weißt du das alles längst, und wir haben dich doch falsch verstanden?

Benno 
Parent - - By Karl-Heinz Milaster Date 2009-09-09 22:19
Zitat:
Es ist eben so, dass der originäre alpha-beta (also ohne Dazuerfindungen wie Nullmove etc.) immer das gleiche Ergebnis (optimaler Zug und Bewertung) liefert wie minimax (was du vermutlich mit bruteforce meinst).

Nein, wenn ich Brute-Force schreibe, meine ich nicht Minimax.
Brute-Force durchsucht den Variantenbaum bis zu einer gewissen Tiefe vollständig. Eine Bewertungsfunktion für jede untersuchte Stellung dient dabei zur Entscheidungsfindung für den besten Zug.
Alpha-Beta untersucht den Variantenbaum nicht vollständig, sondern schneidet - mathematisch korrekt - auf der Basis der Bewertungsfunktion Blätter oder Zweige des Suchbaums ab.
Nur: Kein modernes Schachprogramm durchsucht den Variantenbaum bis zu einer gewissen Tiefe, sondern innerhalb eines Zeitfensters.
Da bei Brute-Force keine Schnitte auftreten, ist es Alpha-Beta hoffnungslos unterlegen, weil es innerhalb einer Zeit X nicht auf die gleiche Suchtiefe kommt wie Alpha-Beta.
Alpha-Beta auf der Basis der von mir beschriebenen Bewertungsfunktion durchsucht den Variantenbaum auch vollständig, weil keine Schnitte auftreten können und ist Brute-Force in Bezug auf das Zeitverhalten wahrscheinlich sogar unterlegen, weil der Berechungsaufwand höher ist.

Gruss,
khm
Parent - - By Werner Mueller Date 2009-09-10 00:32
[quote="Karl-Heinz Milaster"]
Zitat:
Es ist eben so, dass der originäre alpha-beta (also ohne Dazuerfindungen wie Nullmove etc.) immer das gleiche Ergebnis (optimaler Zug und Bewertung) liefert wie minimax (was du vermutlich mit bruteforce meinst).

Nein, wenn ich Brute-Force schreibe, meine ich nicht Minimax.
Brute-Force durchsucht den Variantenbaum bis zu einer gewissen Tiefe vollständig. Eine Bewertungsfunktion für jede untersuchte Stellung dient dabei zur Entscheidungsfindung für den besten Zug.
Alpha-Beta untersucht den Variantenbaum nicht vollständig, sondern schneidet - mathematisch korrekt - auf der Basis der Bewertungsfunktion Blätter oder Zweige des Suchbaums ab.
Nur: Kein modernes Schachprogramm durchsucht den Variantenbaum bis zu einer gewissen Tiefe, sondern innerhalb eines Zeitfensters.
Da bei Brute-Force keine Schnitte auftreten, ist es Alpha-Beta hoffnungslos unterlegen, weil es innerhalb einer Zeit X nicht auf die gleiche Suchtiefe kommt wie Alpha-Beta.
Alpha-Beta auf der Basis der von mir beschriebenen Bewertungsfunktion durchsucht den Variantenbaum auch vollständig, weil keine Schnitte auftreten können und ist Brute-Force in Bezug auf das Zeitverhalten wahrscheinlich sogar unterlegen, weil der Berechungsaufwand höher ist.

Gruss,
khm


Ja, schön, aber da fehlt doch noch was.

Die Gewissensfrage an Dich (Du hast die entscheidenden Stellen ja bereits hervorgehoben): Ist es vom Ergebnis (Auswahl eines Zuges und auch dessen Bewertung) her eben nicht völlig egal ob

bis zu einer gewissen Tiefe vollständig
nicht vollständig
auch vollständig

untersucht wurde?

btw. mal was ganz anderes...
...wenn wir das Zeitfenster für einen kurzen Moment vernachlässigen - wie tief würde denn Dein Brute-Force so gehen sollen, damit Du Deine Wertungen -1,0,1 verteilen kannst?
Und schreib' jetzt bitte nicht, Du hättest Die ganze Zeit eigentlich Tic-Tac-Toe gemeint!!?
Parent - - By Karl-Heinz Milaster Date 2009-09-10 12:35
[quote="Werner Mueller"]btw. mal was ganz anderes...wenn wir das Zeitfenster für einen kurzen Moment vernachlässigen - wie tief würde denn Dein Brute-Force so gehen sollen, damit Du Deine Wertungen -1,0,1 verteilen kannst?[/quote]
Das ist nicht die Frage. Mir ging es nur darum, zu erklären, das Alpha-Beta mit dieser Bewertung zu einer Brute-Force-Suche degeneriert.
Wenn wir das Zeitfenster für Alpha-Beta "unendlich" und die Suchetiefe für Brute-Force auf "unendlich" stellen, kämen sie irgendwann zu dem gleichen Ergebnis.
Parent - - By Werner Mueller Date 2009-09-10 13:59
[quote="Karl-Heinz Milaster"]
[quote="Werner Mueller"]btw. mal was ganz anderes...wenn wir das Zeitfenster für einen kurzen Moment vernachlässigen - wie tief würde denn Dein Brute-Force so gehen sollen, damit Du Deine Wertungen -1,0,1 verteilen kannst?[/quote]
Das ist nicht die Frage. Mir ging es nur darum, zu erklären, das Alpha-Beta mit dieser Bewertung zu einer Brute-Force-Suche degeneriert.
Wenn wir das Zeitfenster für Alpha-Beta "unendlich" und die Suchetiefe für Brute-Force auf "unendlich" stellen, kämen sie irgendwann zu dem gleichen Ergebnis.
[/quote]

Stimmt, ich schrieb ja "mal was ganz anderes..."
Interessieren würde mich allerdings Deine Antwort auf die "Gewissensfrage"

Inzwischen dämmert mir fast, was Du unter Brute-Force verstehst: einen gesamten Variantenbaum durchrechnen und zwar nicht bis zu einer bestimmten Tiefe, sondern so lange (wenn nötig bis ans Ende aller Tage) bis eine vorgegebene Frage eindeutig gelöst ist??
Parent - - By Karl-Heinz Milaster Date 2009-09-10 18:19 Edited 2009-09-10 18:28
[quote="Werner Mueller"]
Stimmt, ich schrieb ja "mal was ganz anderes..."
Interessieren würde mich allerdings Deine Antwort auf die "Gewissensfrage"
Inzwischen dämmert mir fast, was Du unter Brute-Force verstehst: einen gesamten Variantenbaum durchrechnen und zwar nicht bis zu einer bestimmten Tiefe, sondern so lange (wenn nötig bis ans Ende aller Tage) bis eine vorgegebene Frage eindeutig gelöst ist?[/quote]
Die Frage ist schwer zu beantworten.
Zunächst müsste man den Test auf dem selben Computer durchführen, beispielsweise: 1. Alpha-Beta, 2. Brutforce.
Dann müsste man die Performance-Abweichungen durch den Alterungs-Prozess bei den Computer-Komponenten mit einrechnen.
Ich kann mich da nicht festlegen, aber es könnte bei Brute-Force bis zum nächsten oder übernächsten Urknall dauern, bei Alpha-Beta bis zum übernächsten oder überübernächsten Urknall.
Parent - - By Werner Mueller Date 2009-09-10 19:13
Ich sehe schon, Du wirfst nur noch Nebelkerzen.
Das Beste wird sein, wir hängen einfach den Mantel des Schweigens bzw. Vergessens über die ganze Geschichte.
Parent - - By Karl-Heinz Milaster Date 2009-09-12 07:25
[quote="Werner Mueller"]Ich sehe schon, Du wirfst nur noch Nebelkerzen.[/quote]

Möglicherweise kommt der Nebel ja woanders her.

[EOM]
Parent - By Peter Martan Date 2009-09-12 07:43
Parent - By Benno Hartwig Date 2009-09-10 09:00 Edited 2009-09-10 09:06
Zitat:
Nein, wenn ich Brute-Force schreibe, meine ich nicht Minimax.
OK. Minimax ist halt ein definierter Algorithmus, bruteforce ist eine Klasse von Algorithmen, zu der eben auch Minimax gehört.
Im Schach ist aber Minimax der klassische bruteforce-Algorithmus.
Wenn du dies anders siehst, zeige die Differenz doch bitte an einem ganz konkreten Beispiel, einem konkreten kleinen Suchbaum.
Ob der originäre alphabeta-Algorithmus auch ein bruteforce-Algorithmus ist, mag man diskutieren wollen, wenn man sich über die Eigenschaften dieses Algorithmus einig geworden ist.

Zitat:
Brute-Force durchsucht den Variantenbaum bis zu einer gewissen Tiefe vollständig. Eine Bewertungsfunktion für jede untersuchte Stellung dient dabei zur Entscheidungsfindung für den besten Zug.
Die Bewertungsfunktion bewertet die Blätter des Suchbaumes, die inneren Knoten werden aber durch den minimax-Mechanisus mit Werten versehen. Vermutlich meintest du das.
Minimax schlägt dir halt hat keine Schnitte vor. (nur zur Klarstellung, da sind wir uns wohl einig)

Zitat:
Alpha-Beta untersucht den Variantenbaum nicht vollständig, sondern schneidet - mathematisch korrekt - auf der Basis der Bewertungsfunktion Blätter oder Zweige des Suchbaums ab.
Auf der Basis der auf Blätter angewandten Bewertungsfunktion und der gemäß alphabeta nach innen übertragenen Knotenwerte. Ja
(was hier 'mathematisch korrekt' bedeutet, müsste aber ggf. noch genauer gesagt werden)

Aber
Zitat:
Alpha-Beta auf der Basis der von mir beschriebenen Bewertungsfunktion durchsucht den Variantenbaum auch vollständig, weil keine Schnitte auftreten können
stimmt sicher nicht.
Auch gemäß 'deiner' Bewertungsfunktion mit den Werten -1,0,+1 schneidet alphabeta ganz erheblich!

Beispiel:
Der vollständige Suchbaum sei folgender:
Code:

Zug_1        Antwort_1_1      w=0
             Antwort_1_2      w=0
             Antwort_1_3      w=0
Zug_2        Antwort_2_1      w=-1
             Antwort_2_2      w=0
             Antwort_2_3      w=1
Zug_3        Antwort_3_1      w=0
             Antwort_3_2      w=0
             Antwort_3_3      w=0
Das soll bedeuten: Der Anziehende hat 3 Züge zur Auswahl, jeder bietet dem Gegner 3 Antwortzüge mit den angegebenen Bewertungen.
Der Anziehende soll bei +1 gewinnen und -1 unbedingt zu verhindern versuchen, der Antwortende umgekehrt.
minimax ermittelt dann für die Gruppen der Antwortzüge die Minimalwerte und erkennt für
Zug_1 den Wert 0
Zug_2 den Wert -1
Zug_3 den Wert 0
und entscheidet sich für Zug_1 mit dem Wert 0 (könnte auch Zug_3 nehmen, der gleich gut ist.)

Dann wird alphabeta den Baum folgendermaßen abarbeiten:

Code:

Zug_1        Antwort_1_1      w=0
             Antwort_1_2      w=0
             Antwort_1_3      w=0    -> Zug_1 bekommt also den Wert 0
Zug_2        Antwort_2_1      w=-1   -> Cut, Zug_2 ist bereits als schlechter als Zug_1 erkannt und bekommt den Wert -1
Zug_3        Antwort_3_1      w=0    -> Cut, Zug_3 kann also nicht besser sein als Zug_1 und bekommt den Wert 0
Auch alphabeta entscheidet sich dann für Zug_1 mit dem Wert 0

Du siehst, es wurden zwei Zuglisten ohne Informationsverlust abgeschnitten, es wurden 4 Antwortzüge nicht weiterverfolgt.
Und bei Bewertungen, die diverse Zwischenwerte liefern, sieht das genauso aus, wie man sich leicht überzeugen kann.

Hast du dir inzwischen meinen Denkanstoß angesehen und erkannt, dass hier ohne Betrachtung der weiteren Antwortzüge z2 verworfen werden kann, und dass dadurch sicher nichts Spekulatives hineingekommen ist? Das ist ein alphabeta-Cut.
Und darum würde ich mir so wünschen, dass du dieses Beispiel mal durchdenkst.

Du bist ja lange im Computerschach aktiv.
Nein, ich will immer noch nicht recht glauben, dass du mir nicht zustimmen magst, sicher wie ich mich fühle.
Und ich hoffe immer noch, dass sich nur irgendwelche Missverständnisse in das Gespräch geschlichen haben.
Ich hatte mir halt nicht vorstellen können, und mag es mir auch jetzt nicht vorstellen, dass du nun so lange und sogar in der schachbezogenen Programmierung aktiv bist, ohne die Wirkung des alphabeta-Algorithmus verstanden zu haben.

Falls du tatsächlich der Meinung bist, dass bei einer anderen Bewertungsfunktion alphabeta ein anderes Ergebnis liefern kann als minimax (oder bruteforce, wie du es lieber nennst), dann gib doch bitte ein ganz konkretes Beispiel, einen Suchbaum mit Blattbewertungen, an dem man das durchspielen kann, nach minimax (bzw. bruteforce) und alphabeta.
Ich denke, anhand eines solchen Beispiels würde man den Kern der  Meinungsverscheidenheit oder das Missverständnis konkretisieren und die Lage dann auch klären können.

Benno
Parent - - By Werner Mueller Date 2009-09-09 23:39
[quote="Karl-Heinz Milaster"]
[quote="Werner Mueller"]Das Grundproblem von allen, die die Gleichwertigkeit vom Ergebnis her von alpha-beta und Brute-Force nicht glauben wollen/können ist m.E. deren Vorstellung, dass die cuts einen Zug bzw. ganze Zugbäume ein für allemal aus der Suche werfen würden (und deswegen ist Dein 'Denkanstoß' mit dem verlorenen Turm auch verwirrend). Dem ist nicht so, bei nächsthöherer Tiefe (klingt auch lustig) sind sozusagen alle wieder dabei - jedenfalls was alpha-beta betrifft.[/quote]
Eine Alpha-Beta-Suche mit der von mir beschriebenen Bewertungsfunktion ist de facto eine Brute-Force-Suche, weil bei einer Bewertung von 0 keine Schnitte auftreten (können).
Woraus schliesst Du, dass ich Alpha-Beta und Brute-Force nicht für gleichwertig halte?
[/quote]

Lieber Karl-Heinz,

ich weiß gar nicht ob ich Deine Argumentationen noch für Ernst nehmen soll.

Woraus ich das schließe? Ich habe nicht geschlossen sondern nur gelesen.

Und wenn Du in diesem Thread außer Deinem letzten Posting sonst noch nichts geschrieben hättest: Merkst Du denn nicht, dass Deine Frage und Dein Satz unmittelbar davor (obwohl der an sich natürlich noch nicht mal falsch ist) in einem dada-artigen Verhältnis (da wäre die Bezeichnung Widerspruch schon zuiel der Ehre) zueinander stehen.
Parent - By Karl-Heinz Milaster Date 2009-09-17 21:30
[quote="Werner Mueller"]ich weiß gar nicht ob ich Deine Argumentationen noch für Ernst nehmen soll.[/quote]

Das bricht mir das Herz.
Up Topic Hauptforen / CSS-Forum / Erhöhte Selektivität ist manchmal nicht optimal.

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill