Thread View: de.rec.denksport
17 messages
17 total messages
Started by ram@zedat.fu-ber
Thu, 26 Jan 2023 20:04
Optimierung
Author: ram@zedat.fu-ber
Date: Thu, 26 Jan 2023 20:04
Date: Thu, 26 Jan 2023 20:04
21 lines
1092 bytes
1092 bytes
In einem Buch las ich neulich folgende Geschichte. Es gab eine Lösung, aber ich kann mich nicht an die Details der Lösung erinnern: In einem Restaurant werden hintereinander fünf Gerichte gezeigt. Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, welche Gerichte danach gezeigt werden werden. Man kann es sagen, wenn man das gezeigte Gericht essen will, aber kann eine Entscheidung später nicht mehr ändern. Man darf genau eines von den fünf Gerichen essen. Würde man die ersten vier Gerichte ablehnen, müßte man dann unweigerlich das fünfte essen. Wie kann man vorgehen, um die Wahrscheinlichkeit zu maximieren, ein Gericht zu erhalten, das einem möglichst gut gefällt? Die Lösung in dem Buch beginnt damit, daß erklärt wird, daß man jedem Gericht, das man sieht, eine Qualität zwischen 0 und 1 zuordnet. Damit kann die Frage dann also so formuliert werden: Wie maximiert man den Erwartungswert der Qualität? Also, wie macht man es möglichst wahrscheinlich, ein Gericht mit einem möglichst hohen Qualitätswert zu erhalten?
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Thu, 26 Jan 2023 20:13
Date: Thu, 26 Jan 2023 20:13
16 lines
910 bytes
910 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: >In einem Restaurant werden hintereinander fünf Gerichte gezeigt. >Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, >welche Gerichte danach gezeigt werden werden. Man kann es sagen, >wenn man das gezeigte Gericht essen will, aber kann eine >Entscheidung später nicht mehr ändern. Man darf genau eines >von den fünf Gerichen essen. Würde man die ersten vier Gerichte >ablehnen, müßte man dann unweigerlich das fünfte essen. Nach dem ersten Vorzeigen eines Gerichts muß man also sagen, ob man es essen will oder nicht. Wenn man es essen will, darf man es essen, und es werden danach keine weiteren Gerichte mehr gezeigt. Wenn man es nicht essen will, dann wird dieses Gericht weggebracht und dann wird das nächste Gericht gezeigt - nur falls das /letzte/ (fünfte) Gericht gezeigt wird, hat man nicht die Möglichkeit, es abzulehnen.
Re: Optimierung
Author: "neu...@tuhh.de"
Date: Fri, 27 Jan 2023 05:51
Date: Fri, 27 Jan 2023 05:51
97 lines
4042 bytes
4042 bytes
Diedrich Ehlerding schrieb am Freitag, 27. Januar 2023 um 12:30:34 UTC+1: > Stefan Ram meinte: > > > In einem Restaurant werden hintereinander fünf Gerichte gezeigt. > > Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, > > welche Gerichte danach gezeigt werden werden. Man kann es sagen, > > wenn man das gezeigte Gericht essen will, aber kann eine > > Entscheidung später nicht mehr ändern. Man darf genau eines > > von den fünf Gerichen essen. Würde man die ersten vier Gerichte > > ablehnen, müßte man dann unweigerlich das fünfte essen. > > > > Wie kann man vorgehen, um die Wahrscheinlichkeit zu maximieren, > > ein Gericht zu erhalten, das einem möglichst gut gefällt? > > Ich schlage folgende Strategie vor: > > Man schaut sich zwei Gerichte an und wählt dann das erste, das besser > aussieht als die beiden zuerst gesehenen - oder aber eben das letzte. > Ich gehe davon aus, dass es eine eindeutige Rangfolge gibt, also keine > zwei Gerichte gleich gut sind. Und ich gehe davon aus, dass die > Reihenfolge, in der die Gerichte gezeigt werden, zufällig ist. > > Ich schreibe im folgenden die "Güte" der Gerichte mit Ziffern 1,2,3,4,5 > (größer ist besser) und bezeichne mit x eine der Ziffern 1,2,3, mit y > eine der Ziffern 1 und 2 und mit z eine der Zahlen 1,2,3,4. Es gibt > 5!=120 Permutationen von 1,2,3,4,5. Die Strategie erwischt das optimale > Gericht in folgenden Fällen (Reihenfolge, in denen die Gerichte gezeigt > werden): > > x45xx, x4x5x, x4xx5, 4xxx5, 4xx5x, 4x5xx (also immer dann wenn das > zweitbeste Gericht unter den ersten beiden auftaucht und das beste unter > den letzten). Ferner gewinnt man auch in den Fällen xx54x und xx5x4, > sowie in den Fällen 3yy54 und y3y54. Von xxx gibt es jeweils 6 > Permutationen, von yy jeweils 2, also sind das insgesamt 6*8+2*2=52 > Fälle, in denen man das beste Gericht erwischt. Demgegenüber verliert > man in folgenden Fällen: 5zzzz, z5zzz, xxx45, xx45x, xx4x5 und yy354. Es > gibt 24 Permutationen von zzzz, insgesamt sind das also 2*24+3*6+2=68 - > wir haben also alle 120 Fälle betrachtet. > > Die "Erfolgsquote", in der man das beste Gericht erwischt ist dabei also > 52/120 oder ca. 43,3% > > Betrachten wir noch alternative Straegien: Wenn wir die ersten drei > Gerichte vorbeiziehen lassen, dann ist die Wahrscheinlichkeit, dass das > beste schon unter den ersten drei ist, bereits 60%, damit können wir > also keinesfalls ein besseres Ergebnis als 40% erzielen, und das ist > bereits schlechter als die obige 43%-Strategie. > > Lassen wir nur ein Gericht vorbeiziehen und wählen dann das nächste, das > besser ist, gewinnen wir nur in den Fällen 15xxx, 25xxx, 35xxx 45xxx, > 4x5xx, 4xx5x, 4xxx5 (insgesamt 42 Fälle), ferner 21534, 21543, 31524, > 31542, 32514, 32541, 32154, 31254; insgesamt also 50 Gewinne von 120, > also nur ca 41,7 % - etwas schlechter als die obige strategie. > > Bleibt noch die Zufallsauswahl - die erwischt nur in 20% der Fälle das > Optimum > > > > > -- > gpg-Key (DSA 1024) D36AD663E6DB91A4 > fingerprint = 2983 4D54 E00B 8483 B5B8 C7D1 D36A D663 E6DB 91A4 > HTML-Mail wird ungeleſen entſorgt. Stichwort: Sekretärinenproblem, https://www.spektrum.de/kolumne/das-sekretaerinnenproblem-wie-findet-man-die-passendste-bewerberin/2036923 Die Lösung ist 1/e-tel., also hier Ganzzahl(5/e)= 2. Ich kannte das Problem als Rhein-Burgen-tour: Man macht eine Rheinfahrt entlang N Burgen und möchte "die Schönste" fotografieren, hat aber nur noch ein Bild. Die Lösung ist, man läßt N/e Burgen an sich vorbei ziehen und Fotografiert die nächst Schönste (oder die Letzte)! Die dahmalige Herleitung
Re: Optimierung
Author: Rainer ausdemSpr
Date: Fri, 27 Jan 2023 06:36
Date: Fri, 27 Jan 2023 06:36
26 lines
1122 bytes
1122 bytes
Diedrich Ehlerding schrieb am Freitag, 27. Januar 2023 um 12:30:34 UTC+1: > Stefan Ram meinte: > > > In einem Restaurant werden hintereinander fünf Gerichte gezeigt. > > Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, > > welche Gerichte danach gezeigt werden werden. Man kann es sagen, > > wenn man das gezeigte Gericht essen will, aber kann eine > > Entscheidung später nicht mehr ändern. Man darf genau eines > > von den fünf Gerichen essen. Würde man die ersten vier Gerichte > > ablehnen, müßte man dann unweigerlich das fünfte essen. > > > > Wie kann man vorgehen, um die Wahrscheinlichkeit zu maximieren, > > ein Gericht zu erhalten, das einem möglichst gut gefällt? Das ist sehr bekannt. Wenn ich mich recht erinnere wird das als Übungsaufgabe in Wahrscheinlichkeits-/Maßtheorie I als Übungsaufgabe gestellt. n Angebote für ein gebrauchtes Auto oder ähnlich. Was ist die beste Strategie? Außerdem soll das Verhalten bei n gegen unendlich betrachtet werden. Rainer
Re: Optimierung
Author: "neu...@tuhh.de"
Date: Fri, 27 Jan 2023 07:06
Date: Fri, 27 Jan 2023 07:06
100 lines
4128 bytes
4128 bytes
Diedrich Ehlerding schrieb am Freitag, 27. Januar 2023 um 12:30:34 UTC+1: > Stefan Ram meinte: > > > In einem Restaurant werden hintereinander fünf Gerichte gezeigt. > > Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, > > welche Gerichte danach gezeigt werden werden. Man kann es sagen, > > wenn man das gezeigte Gericht essen will, aber kann eine > > Entscheidung später nicht mehr ändern. Man darf genau eines > > von den fünf Gerichen essen. Würde man die ersten vier Gerichte > > ablehnen, müßte man dann unweigerlich das fünfte essen. > > > > Wie kann man vorgehen, um die Wahrscheinlichkeit zu maximieren, > > ein Gericht zu erhalten, das einem möglichst gut gefällt? > > Ich schlage folgende Strategie vor: > > Man schaut sich zwei Gerichte an und wählt dann das erste, das besser > aussieht als die beiden zuerst gesehenen - oder aber eben das letzte. > Ich gehe davon aus, dass es eine eindeutige Rangfolge gibt, also keine > zwei Gerichte gleich gut sind. Und ich gehe davon aus, dass die > Reihenfolge, in der die Gerichte gezeigt werden, zufällig ist. > > Ich schreibe im folgenden die "Güte" der Gerichte mit Ziffern 1,2,3,4,5 > (größer ist besser) und bezeichne mit x eine der Ziffern 1,2,3, mit y > eine der Ziffern 1 und 2 und mit z eine der Zahlen 1,2,3,4. Es gibt > 5!=120 Permutationen von 1,2,3,4,5. Die Strategie erwischt das optimale > Gericht in folgenden Fällen (Reihenfolge, in denen die Gerichte gezeigt > werden): > > x45xx, x4x5x, x4xx5, 4xxx5, 4xx5x, 4x5xx (also immer dann wenn das > zweitbeste Gericht unter den ersten beiden auftaucht und das beste unter > den letzten). Ferner gewinnt man auch in den Fällen xx54x und xx5x4, > sowie in den Fällen 3yy54 und y3y54. Von xxx gibt es jeweils 6 > Permutationen, von yy jeweils 2, also sind das insgesamt 6*8+2*2=52 > Fälle, in denen man das beste Gericht erwischt. Demgegenüber verliert > man in folgenden Fällen: 5zzzz, z5zzz, xxx45, xx45x, xx4x5 und yy354. Es > gibt 24 Permutationen von zzzz, insgesamt sind das also 2*24+3*6+2=68 - > wir haben also alle 120 Fälle betrachtet. > > Die "Erfolgsquote", in der man das beste Gericht erwischt ist dabei also > 52/120 oder ca. 43,3% > > Betrachten wir noch alternative Straegien: Wenn wir die ersten drei > Gerichte vorbeiziehen lassen, dann ist die Wahrscheinlichkeit, dass das > beste schon unter den ersten drei ist, bereits 60%, damit können wir > also keinesfalls ein besseres Ergebnis als 40% erzielen, und das ist > bereits schlechter als die obige 43%-Strategie. > > Lassen wir nur ein Gericht vorbeiziehen und wählen dann das nächste, das > besser ist, gewinnen wir nur in den Fällen 15xxx, 25xxx, 35xxx 45xxx, > 4x5xx, 4xx5x, 4xxx5 (insgesamt 42 Fälle), ferner 21534, 21543, 31524, > 31542, 32514, 32541, 32154, 31254; insgesamt also 50 Gewinne von 120, > also nur ca 41,7 % - etwas schlechter als die obige strategie. > > Bleibt noch die Zufallsauswahl - die erwischt nur in 20% der Fälle das > Optimum > > > > > -- > gpg-Key (DSA 1024) D36AD663E6DB91A4 > fingerprint = 2983 4D54 E00B 8483 B5B8 C7D1 D36A D663 E6DB 91A4 > HTML-Mail wird ungeleſen entſorgt. Stichwort: Sekretärinenproblem, https://www.spektrum.de/kolumne/das-sekretaerinnenproblem-wie-findet-man-die-passendste-bewerberin/2036923 Die Lösung ist 1/e-tel., also hier Ganzzahl(5/e)= 2. Ich kannte das Problem als Rhein-Burgen-tour: Man macht eine Rheinfahrt entlang N Burgen und möchte "die Schönste" fotografieren, hat aber nur noch ein Bild. Die Lösung ist, man läßt N/e Burgen an sich vorbei ziehen und Fotografiert die nächst Schönste (oder die Letzte)! Die damalige Herleitung erinnere ich nicht mehr, sie ähnelte aber der aus dem Spektrum Artikel VG SiggiN.
Re: Optimierung
Author: Diedrich Ehlerdi
Date: Fri, 27 Jan 2023 11:46
Date: Fri, 27 Jan 2023 11:46
63 lines
2985 bytes
2985 bytes
Stefan Ram meinte: > In einem Restaurant werden hintereinander fünf Gerichte gezeigt. > Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, > welche Gerichte danach gezeigt werden werden. Man kann es sagen, > wenn man das gezeigte Gericht essen will, aber kann eine > Entscheidung später nicht mehr ändern. Man darf genau eines > von den fünf Gerichen essen. Würde man die ersten vier Gerichte > ablehnen, müßte man dann unweigerlich das fünfte essen. > > Wie kann man vorgehen, um die Wahrscheinlichkeit zu maximieren, > ein Gericht zu erhalten, das einem möglichst gut gefällt? Ich schlage folgende Strategie vor: Man schaut sich zwei Gerichte an und wählt dann das erste, das besser aussieht als die beiden zuerst gesehenen - oder aber eben das letzte. Ich gehe davon aus, dass es eine eindeutige Rangfolge gibt, also keine zwei Gerichte gleich gut sind. Und ich gehe davon aus, dass die Reihenfolge, in der die Gerichte gezeigt werden, zufällig ist. Ich schreibe im folgenden die "Güte" der Gerichte mit Ziffern 1,2,3,4,5 (größer ist besser) und bezeichne mit x eine der Ziffern 1,2,3, mit y eine der Ziffern 1 und 2 und mit z eine der Zahlen 1,2,3,4. Es gibt 5!0 Permutationen von 1,2,3,4,5. Die Strategie erwischt das optimale Gericht in folgenden Fällen (Reihenfolge, in denen die Gerichte gezeigt werden): x45xx, x4x5x, x4xx5, 4xxx5, 4xx5x, 4x5xx (also immer dann wenn das zweitbeste Gericht unter den ersten beiden auftaucht und das beste unter den letzten). Ferner gewinnt man auch in den Fällen xx54x und xx5x4, sowie in den Fällen 3yy54 und y3y54. Von xxx gibt es jeweils 6 Permutationen, von yy jeweils 2, also sind das insgesamt 6*8+2*2R Fälle, in denen man das beste Gericht erwischt. Demgegenüber verliert man in folgenden Fällen: 5zzzz, z5zzz, xxx45, xx45x, xx4x5 und yy354. Es gibt 24 Permutationen von zzzz, insgesamt sind das also 2*24+3*6+2h - wir haben also alle 120 Fälle betrachtet. Die "Erfolgsquote", in der man das beste Gericht erwischt ist dabei also 52/120 oder ca. 43,3% Betrachten wir noch alternative Straegien: Wenn wir die ersten drei Gerichte vorbeiziehen lassen, dann ist die Wahrscheinlichkeit, dass das beste schon unter den ersten drei ist, bereits 60%, damit können wir also keinesfalls ein besseres Ergebnis als 40% erzielen, und das ist bereits schlechter als die obige 43%-Strategie. Lassen wir nur ein Gericht vorbeiziehen und wählen dann das nächste, das besser ist, gewinnen wir nur in den Fällen 15xxx, 25xxx, 35xxx 45xxx, 4x5xx, 4xx5x, 4xxx5 (insgesamt 42 Fälle), ferner 21534, 21543, 31524, 31542, 32514, 32541, 32154, 31254; insgesamt also 50 Gewinne von 120, also nur ca 41,7 % - etwas schlechter als die obige strategie. Bleibt noch die Zufallsauswahl - die erwischt nur in 20% der Fälle das Optimum -- gpg-Key (DSA 1024) D36AD663E6DB91A4 fingerprint = 2983 4D54 E00B 8483 B5B8 C7D1 D36A D663 E6DB 91A4 HTML-Mail wird ungeleſen entſorgt.
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Mon, 30 Jan 2023 12:15
Date: Mon, 30 Jan 2023 12:15
53 lines
2617 bytes
2617 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: >In einem Restaurant werden hintereinander fünf Gerichte gezeigt. >Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, >welche Gerichte danach gezeigt werden werden. Man kann es sagen, >wenn man das gezeigte Gericht essen will, aber kann eine >Entscheidung später nicht mehr ändern. Man darf genau eines >von den fünf Gerichen essen. Würde man die ersten vier Gerichte >ablehnen, müßte man dann unweigerlich das fünfte essen. Mir kam die Aufgabe auch dunkel bekannt vor. Ich habe sie trotzdem hier gepostet, weil ich in einem Buch einen für mich neuartigen Lösungsweg sah, über den ich hier noch etwas schreiben wollte. Und zwar wurde in einem Buch die "dynamische Programmierung" erläutert. Was das genau ist, ist mir nicht klar, aber grob gesagt, werden alle Zustände eines System bewertet und dann mit dem Wert des Endzustands begonnen, wobei man sich dann weiter zu früheren Zeitpunkten bewegt. Damit kann man dann zum Beispiel die Zeit zum Finden eines optimales Absatzumbruchs von exponentiell (systematisches Durchprobieren aller möglichen Umbrucharten) in der Länge des Absatzes auf quadratisch reduzieren. Ich habe den vorigen Absatz, wie alle Absätze in diesem Posting, mit einem Programm umbrochen, das ich danach schrieb, aber die Lücke am Ende der zweiten Zeile ist noch ein Fehler, der vermutlich mit meiner Bewertungsfunktion zusammenhängt. Ich bin gerade dabei, dies zu debuggen. Es könnte sein, daß die Belohnung für das Trennen nach einem Komma zu hoch ist. Die dynamische Programmierung wird in jenem Buch an verschiedenen Beispielen erklärt, darunter diese Gerichtsaufgabe. Hier die Lösung mit dynamischer Programmierung in meinen Worten: Das letzte Gericht könnte alles Mögliche sein, so daß der Erwartungswert der Bewertungsfunktion auf der Skala von 0 bis 1 gleich 0,5 ist. Daher würde man das vorletzte Gericht wählen, wenn seine Bewertung besser als 0,5 ist, denn dann wäre es besser als die Alternative. Nimmt man an, daß das vorletzte Gericht alles Mögliche sein kann, so ist es in der Hälfte der Fälle besser als 0,5. Dann wählt man es, und da es dann irgendwo zwischen 0,5 und 1 liegt, ist der Erwartungswert dann 0,75. Sonst nimmt man das letzte Gericht mit einem Erwartungswert von 0,5. Insgesamt ist der Erwartungswert bei dieser Strategie und zwei Gerichten dann also der Mittelwert von 0,75 und 0,5, also 0,625. Das vorvorletzte Gericht müßte also nun besser also 0,625 sein, damit man es wählt. Und so weiter ...
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Mon, 30 Jan 2023 13:01
Date: Mon, 30 Jan 2023 13:01
110 lines
3053 bytes
3053 bytes
Diedrich Ehlerding <diedrich.ehlerding@t-online.de> writes: >Man schaut sich zwei Gerichte an und wählt dann das erste, das besser >aussieht als die beiden zuerst gesehenen - oder aber eben das letzte. (Dieses Posting enthält Zeilen mit mehr als 72 Zeichen. Ich bin mir der Usenet-Konvention, derzufolge solche Zeilen zu vermeiden sind, bewußt und habe mich erst nach schmerzvollen Abwägungen entschlossen, hier ausnahmsweise gegen sie zu verstoßen.) (Als Programmiersprache wird in diesem Posting Python 3.8 verwendet.) Das könnte man ja einmal simulieren und die beiden Strategien vergleichen! Zunächst muß ich die Koeffizienten nach der Dynamische- Programmierung-Strategie noch vollständig berechnen. for Position in range( 4, -1, -1 ): if Position == 4: # letztes Gericht Erwartungswert = 0.5 else: Erwartungswert_bei_Wahl =( 1 + Erwartungswert )/ 2 Wahrscheinlichkeit_der_Wahl =( 1 - Erwartungswert ) Erwartungswert = Erwartungswert_bei_Wahl * Wahrscheinlichkeit_der_Wahl + Erwartungswert *( 1 - Wahrscheinlichkeit_der_Wahl ) print( Position, Erwartungswert ) Ausgabe 4 0.5 3 0.625 2 0.6953125 1 0.741729736328125 0 0.7750815008766949 Man würde das Gericht 0 demzufolge wählen, wenn es besser als 0,775... ist, falls ich richtig programmiert habe. In Deiner Strategie würde man es nie wählen. Das folgende Programm scheint bessere Ergebnisse bei der Vorgehensweise nach dynamischer Programmierung zu zeigen (Faktor 1,21), jedoch habe ich dieses Programm gerade eben geschrieben, und neue Programme enthalten normalerweise immer noch irgendwelche Fehler, so daß dieses Ergebnis nur als vorläufig zu betrachten ist. import itertools import random def Erzeugung_von_fuenf_Zufallszahlen(): global Zahlen Zahlen = [] for _ in range( 5 ): Zahlen.append( random.random() ) def klassische_Strategie(): first_two = [] for i in range( 5 ): Zahl = Zahlen[ i ] if i in[ 0, 1 ]: first_two.append( Zahl ) elif i in[ 2, 3 ]: if Zahl > max( first_two ): return i else: return i def dynamische_Strategie(): threshold =[ None ]* 5 threshold[ 0 ]= 0.7750815008766949 threshold[ 1 ]= 0.741729736328125 threshold[ 2 ]= 0.6953125 threshold[ 3 ]= 0.625 threshold[ 4 ]= 0.5 for i in range( 5 ): Zahl = Zahlen[ i ] if Zahl > threshold[ i ]: return i if i == 4: return i def Vergleiche_beide_Strategien(): K = 0 D = 0 for i in itertools.count(): Erzeugung_von_fuenf_Zufallszahlen() k = Zahlen[ klassische_Strategie() ] d = Zahlen[ dynamische_Strategie() ] K += k D += d if not( i % 100000 ): print( f'{D/K=:.5}' ) Vergleiche_beide_Strategien() Ausgabe: D/K=1.6953 D/K=1.2145 D/K=1.2131 D/K=1.2146 D/K=1.2149 D/K=1.2148 D/K=1.2145 D/K=1.2147 D/K=1.2144 D/K=1.2144 D/K=1.2145 D/K=1.2144 D/K=1.2145 D/K=1.2147 D/K=1.2146 ...
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Mon, 30 Jan 2023 16:09
Date: Mon, 30 Jan 2023 16:09
26 lines
1316 bytes
1316 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: >Und zwar wurde in einem Buch die "dynamische Programmierung" >erläutert. Was das genau ist, ist mir nicht klar, >aber grob gesagt, werden alle Zustände eines System bewertet >und dann mit dem Wert des Endzustands begonnen, wobei man sich >dann weiter zu früheren Zeitpunkten bewegt. Damit kann man dann >zum Beispiel die Zeit zum Finden eines optimales Absatzumbruchs >von exponentiell (systematisches Durchprobieren aller möglichen >Umbrucharten) in der Länge des Absatzes auf quadratisch reduzieren. Inzwischen sieht dieser Absatzt nun etwas besser aus, aber ich muß noch mehr Umbrüche sehen, um erkennen zu können, ob der Algorithmus jetzt insgesamt besser ist (oder nur im speziellen Fall jenes Absatzes). Das neue Ergebnis ist jetzt: |Und zwar wurde in einem Buch die "dynamische Programmierung" |erläutert. Was das genau ist, ist mir nicht klar, aber grob |gesagt, werden alle Zustände eines System bewertet und dann mit |dem Wert des Endzustands begonnen, wobei man sich dann weiter zu |früheren Zeitpunkten bewegt. Damit kann man dann zum Beispiel die |Zeit zum Finden eines optimales Absatzumbruchs von exponentiell |(systematisches Durchprobieren aller möglichen Umbrucharten) |in der Länge des Absatzes auf quadratisch reduzieren. .
Re: Optimierung
Author: Thomas Dorner
Date: Mon, 30 Jan 2023 18:04
Date: Mon, 30 Jan 2023 18:04
30 lines
1125 bytes
1125 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: > ram@zedat.fu-berlin.de (Stefan Ram) writes: >>In einem Restaurant werden hintereinander fünf Gerichte gezeigt. >>Wenn einem ein Gericht gezeigt wird, weiß man noch nicht, >>welche Gerichte danach gezeigt werden werden. Man kann es sagen, >>wenn man das gezeigte Gericht essen will, aber kann eine >>Entscheidung später nicht mehr ändern. Man darf genau eines >>von den fünf Gerichen essen. Würde man die ersten vier Gerichte >>ablehnen, müßte man dann unweigerlich das fünfte essen. > > Das letzte Gericht könnte alles Mögliche sein, > so daß der Erwartungswert der Bewertungsfunktion > auf der Skala von 0 bis 1 gleich 0,5 ist. Hmm, ich lese in der Aufgabenstellung nicht, daß die Qualitäten normalverteilt sind (oder zumindest das gesamte Spektrum abbilden). Wenn die 5 Gerichte aber alle eher mau sind (Mensa? ;-), nehme ich immer das letzte, z.B.: 0.2 0.4 0.5 0.3 0.1 Dietrichs Ansatz ist davon unabhängig (und hätte im speziellen Beispiel das beste Gericht erwischt :-). Nur so als Gedanke. Viele Grüße, Thomas -- Adresse gilt nur kurzzeitig!
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Mon, 30 Jan 2023 18:23
Date: Mon, 30 Jan 2023 18:23
21 lines
938 bytes
938 bytes
Thomas Dorner <drd230130.dorner@spamgourmet.com> writes: >>Das letzte Gericht könnte alles Mögliche sein, >>so daß der Erwartungswert der Bewertungsfunktion >>auf der Skala von 0 bis 1 gleich 0,5 ist. >Hmm, ich lese in der Aufgabenstellung nicht, daß die Qualitäten >normalverteilt sind (oder zumindest das gesamte Spektrum abbilden). Es wurde keine Normalverteilung, sondern /Gleichverteilung/ angenommen. Diese folgt aus dem Prinzip der maximalen Entropie: |Entropy maximization with no testable information respects the |universal "constraint" that the sum of the probabilities is one. |Under this constraint, the maximum-entropy discrete probability |distribution is the uniform distribution[.] Wikipedia. Das heißt: Gerade, wenn man die Verteilung /nicht/ kennt, was einschließt, daß man nicht weiß, ob das gesamte Spektrum abgebildet wird, ist die Gleichverteilung die Annahme mit dem geringsten Vorurteil.
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Mon, 30 Jan 2023 19:10
Date: Mon, 30 Jan 2023 19:10
18 lines
806 bytes
806 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: >Das heißt: Gerade, wenn man die Verteilung /nicht/ kennt, >was einschließt, daß man nicht weiß, ob das gesamte Spektrum >abgebildet wird, ist die Gleichverteilung die Annahme mit dem >geringsten Vorurteil. Meine Simulation ergibt aber einen Vorteil für die klassische Strategie, wenn die Gerichte den gesamten Bereich von 0 bis 1 /nicht/ ausnutzen. Der Quotient liegt dann zugunsten der klassischen Strategie zwischen zirka 0,80 und 0,99. Wenn man vorher keine weiteren Informationen über die Verteilung hat, dann ist die Frage, welche Annahme man zugrundelegen soll. Ein Koch könnte ja nicht einmal, wenn er es wollte, seine Gerichte auf einen bestimmten Bereich einschränken, da er die Bewertungsfunktion des Kunden nicht kennt.
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Mon, 30 Jan 2023 20:18
Date: Mon, 30 Jan 2023 20:18
31 lines
1489 bytes
1489 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: >Meine Simulation ergibt aber einen Vorteil für die klassische >Strategie, wenn die Gerichte den gesamten Bereich von 0 bis >1 /nicht/ ausnutzen. Der Quotient liegt dann zugunsten der >klassischen Strategie zwischen zirka 0,80 und 0,99. Wenn ich die Verfahren mit der Hilfes eines Zufallszahlengenerators ZA vergleiche, der den ganzen Wertebereich von 0 bis 1 ausnutzt, so erhalte ich das Ergebnis EA. Wenn ich das Verfahren mit der Hilfe eines Zufallszahlengenerators ZB vergleiche, der nur Werte aus dem Bereich von 0 bis 0,5 liefert so erhalte ich das andere Ergebnis EB. Jetzt ist natürlich die Frage: Welcher Zufallszahlengenerator ist denn nun "der richtige" für den Vergleich? Und mit welcher Begründung? Das Prinzip der maximalen Entropie sagt, daß bei vollkommener Unkenntnis, Gleichverteilung die Annahme mit dem kleinsten Vorurteil ist. Das wäre ZA. Hierzu ein Beispiel: Es trifft eine Nachricht von Außerirdischen ein, die per Funk schon Deutsch gelernt haben. Sie sagen, daß sie eine Zahl aus der Menge {0, 1} bestimmt haben, und wir raten sollen welche. Da wir mit diesen Außerirdischen noch keine Erfahrungen haben, haben wir noch keine Statistik der Zahlenwerte, die sie in der Vergangenheit schon bestimmt haben. Ein Anbieter von Wetten bittet nun seinen Hausmathematiker die Wahrscheinlichkeit für "0" zu bestimmen. Nach dem Prinzip der maximalen Entropie wäre sie 0,5.
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Tue, 31 Jan 2023 13:53
Date: Tue, 31 Jan 2023 13:53
31 lines
1433 bytes
1433 bytes
Thomas Dorner <drd230131.dorner@spamgourmet.com> writes: >Es gibt mehrere richtige Lösungen, und ohne weitere Einschränkungen ist >keine "richtiger" als die andere. ... >Hier ist alles eindeutig vorgegeben, also ist auch das Ergebnis eindeutig. Wenn wir nicht wissen, welche Zahl die Außerirdischen gewählt haben, kann man wohl kaum von einer eindeutigen Vorgabe oder einem eindeutigen Ergebnis sprechen. Bei Wahrscheinlichkeit geht es ja gerade darum, Aussagen zu machen, wenn /nicht/ alles eindeutig vorgegeben ist, also wenn Informationen fehlen. Wenn nicht bekannt ist, wie der Koch arbeitet, möchte man eine möglichst neutrale Annahme über den Koch machen. Dies ist für mich leider schwieriger als es bei einer unbekannten Münzen mit zwei Seiten wäre, wo die neutrale Annahme offensichtlich die Gleichwahrscheinlichkeit beider Seiten ist. Aber das ist es, was man prinzipiell versucht. Ein Koch ist komplizierter als eine Münze. Aber nach der Aufgabenstellung ist der Koch ein System, das Gerichte liefert, und wir wissen aus der Aufgabenstellung nur, daß die Qualität der Gerichte zwischen 0 und 1 liegt. Was ist dann die neutrale Annahme über die Verteilung der Gerichte? Wenn ich das Prinzip der maximalen Entropie richtig verstehe, sollte dies die Gleichverteilung sein; bei einem Kontinuum wäre dies wohl eine konstante Dichte über den gesamten Wertebereich.
Re: Optimierung
Author: Thomas Dorner
Date: Tue, 31 Jan 2023 14:07
Date: Tue, 31 Jan 2023 14:07
34 lines
1527 bytes
1527 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: > Jetzt ist natürlich die Frage: Welcher Zufallszahlengenerator > ist denn nun "der richtige" für den Vergleich? Und mit welcher > Begründung? > > Das Prinzip der maximalen Entropie sagt, daß bei vollkommener > Unkenntnis, Gleichverteilung die Annahme mit dem kleinsten > Vorurteil ist. Das wäre ZA. Gleichverteilung sagt aber noch nichts darüber aus, wie der zugrundeliegende Bereich zustande kommt, hier also, wie wurde der Koch ausgewählt. Das erinnert mich ein bischen an eine schöne Aufgabe in einem Buch von Martin Gardner, die ein Problem von Joseph Bertrand beschrieb: https://de.wikipedia.org/wiki/Bertrand-Paradoxon_(Wahrscheinlichkeitstheorie) Es gibt mehrere richtige Lösungen, und ohne weitere Einschränkungen ist keine "richtiger" als die andere. > Hierzu ein Beispiel: Es trifft eine Nachricht von Außerirdischen > ein, die per Funk schon Deutsch gelernt haben. Sie sagen, daß sie > eine Zahl aus der Menge {0, 1} bestimmt haben, und wir raten sollen > welche. Da wir mit diesen Außerirdischen noch keine Erfahrungen > haben, haben wir noch keine Statistik der Zahlenwerte, die sie in > der Vergangenheit schon bestimmt haben. Ein Anbieter von Wetten > bittet nun seinen Hausmathematiker die Wahrscheinlichkeit für "0" > zu bestimmen. Nach dem Prinzip der maximalen Entropie wäre sie 0,5. Hier ist alles eindeutig vorgegeben, also ist auch das Ergebnis eindeutig. Viele Grüße, Thomas -- Adresse gilt nur kurzzeitig!
Re: Optimierung
Author: ram@zedat.fu-ber
Date: Tue, 31 Jan 2023 16:15
Date: Tue, 31 Jan 2023 16:15
39 lines
1477 bytes
1477 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: >Aber nach der Aufgabenstellung ist der Koch ein System, das >Gerichte liefert, und wir wissen aus der Aufgabenstellung >nur, daß die Qualität der Gerichte zwischen 0 und 1 liegt. In der Wikipedia wird noch darauf hingewiesen, daß es einen Unterschied zwischen dem Ziel gibt, das beste Gericht zu finden, und dem Ziel, den Erwartungswert der Qualität der Güte des Gerichts zu maximieren. Meine Simulation findet, wenn es daraum geht, das beste Gericht zu finden, jedoch wieder ähnliche Ergebnisse. Die genaue Formulierung der Aufgabenstellung ist wichtig. Ich würde beispielsweise unterscheiden zwischen: Ein Koch liefert Gerichte mit einer Qualität zwischen 0 und 1. und Ein Koch liefert Gerichte mit einer Qualität zwischen A und B, wobei 0 <= A < 1, 0 <= B < 1 und A < B, aber die genauen Werte von A und B nicht bekannt sind. . Aber es ist nicht klar, wie der Koch es erreichen will, daß die Bewertung eines Gerichts durch seinen Kunden nie kleiner als A oder größer als B wird. Da es aber auf die genaue Formulierung ankommt, hier das wörtliche Zitat aus dem Buch: |The surprise menu in a new restaurant works as follows. You will |be shown 5 dishes in sequence, and you can pick one that you like, |but if you turn one down, you can not reconsider. Let us say that |each dish scores between 0 and 1 on your attractiveness scale. |How do you maximize your choice of dish? .
Re: Optimierung
Author: Thomas Dorner
Date: Tue, 31 Jan 2023 18:06
Date: Tue, 31 Jan 2023 18:06
14 lines
389 bytes
389 bytes
ram@zedat.fu-berlin.de (Stefan Ram) writes: > Aber nach der Aufgabenstellung ist der Koch ein System, das > Gerichte liefert, und wir wissen aus der Aufgabenstellung > nur, daß die Qualität der Gerichte zwischen 0 und 1 liegt. [Korinthen] Das steht nicht in der Aufgabenstellung, sondern in dem vorgestellten Lösungsansatz. [/Korinthen] ;-) vgt -- Adresse gilt nur kurzzeitig!
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads