Kurvendiagramm 3D < Mathe-Software < Mathe < Vorhilfe
|
Wie kann man in Mathematica ein Kurvendiagramm in 3D erstellen?
|
|
|
|
> Wir werfen einen Würfel 12mal und wenn eine 6 kommt müssen
> wir sagen, ob das die letzte war oder ob noch eine kommen
> wird. Sie gewinnen, wenn Sie die letzte 6 richtig benannt
> haben. Wenn Sie die letzte 6 falsch bestimmt haben oder
> wenn gar keine 6 kommt, hat die Bank gewonnen.
> Mit Hilfe der Odds kommen wir zum Schluss, dass es am
> besten sei, wenn wir bis zum 7. Wurf warten sollten um eine
> 6 als letzte 6 bezeichnen. Mit dieser Strategie ist die
> Erfolgsw'keit 40%, aber es ist schwer nachvollziehbar,
> dass diese Karte stimmt. Also ist mein Ziel, ein Programm
> zu schreiben, dass dieses Ereignis wiedergibt und die
> Erfolgsw'keit von 40% bestätigt. Wer kann mir dabei
> helfen? Ich hab keine Idee, wie ich die Sache angehen
> soll.
Hi arblind_sa,
ich sehe nicht ganz, was diese Aufgabe direkt mit Mathematica
zu tun haben soll, denn man kann sie bestimmt auch direkt
mit den Mitteln der Wahrscheinlichkeitsrechnung lösen und
dann für die Berechnungen mit einem normalen Taschenrechner
auskommen.
Es kommt jetzt also darauf an was du anstrebst:
Entweder
1.) eine exakte Lösung mittels Wahrscheinlichkeitsrechnung
oder
2.) eine MonteCarlo-Lösung durch eine geeignete Simulation
Beides wäre möglich.
LG Al-Chw.
|
|
|
|
|
Gerade habe ich gemerkt, dass du wohl nach einer Lösung
mittels des sogenannten "Odds-Algorithmus" suchst.
Der Begriff ist mir neu. Werde mir das mal anschauen.
Ich wäre aber erstaunt, wenn dabei im vorliegenden
Beispiel etwas anderes rauskommen sollte als nach dem
üblichen Weg mit "normaler" Wahrscheinlichkeitsrechnung
und Kombinatorik ...
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:12 Do 20.10.2011 | Autor: | arblind_sa |
Lieber Al-Chwarizmi
Es ist klar, das diese Aufgabe sehr leicht lösbar ist. Ich habe mit Hilfe dieses Odds-Algorithmus die Erfolgswahrscheinlichkeit 40 %. Ich muss diese nur mit einer Simulation bestätigen können. Also glaube ich, dass von dir vorgeschlagen 2, ist das was ich meine. Kannst du mir helfen, ich weiss nicht wie man das in Mathematica angehen soll.
LG arblind_sa
|
|
|
|
|
> Wir werfen einen Würfel 12mal und wenn eine 6 kommt müssen
> wir sagen, ob dass die letzte war oder ob noch eine kommen
> wird. Sie gewinnen, wenn sich die letzte 6 richtig benannt
> haben. Wenn sie die letzte 6 falsch bestimmt haben oder
> wenn gar keine 6 kommt, hat die Bank gewonnen.
> Mit Hilfe der Odds kommen wir zum Schluss, dass es am
> besten sei, wenn wir bis zum 7. Wurf warten sollten um eine
> 6 als letzte 6 bezeichnen. Mit dieser Strategie ist die
> Erfolgsw'keit 40%, aber es isch schwer nachvollziehbar,
> dass diese Karte stimmt. Also ist mein Ziel, ein Programm
> zu schreiben, dass dieses Ereignis wiedergibt und die
> Erfolgsw'keit von 40% bestätigt.
Hallo arblind_sa,
wenn ich richtig verstanden habe, ist die Strategie also so:
1.) Man lässt von den insgesamt 12 Würfen k Würfe verstrei-
chen, ohne sich zu entscheiden. [mm] (0\le{k}\le11)
[/mm]
2.) Man würfelt weiter und erklärt die nächste 6 als die
letzte überhaupt.
3.) Man würfelt weiter bis zum 12. Wurf. Falls dabei nochmals
eine 6 erscheinen sollte, hat man Pech gehabt, ebenso wie
im Fall, dass nach dem k-ten Wurf keine 6 erscheint.
Nun ist es offenbar einerlei, was in den ersten k Würfen
überhaupt gewürfelt wurde. Diese Würfe in die Simulation
mit aufzunehmen wäre also ein Luxus. Es geht nur noch um
die Ergebnisse der letzten r:=12-k Würfe. Nach der gewähl-
ten Spielstrategie [mm] S_k [/mm] gewinnt man genau dann, wenn in
den restlichen r=12-k Würfen genau eine 6 erscheint.
Ein einzelner Simulationslauf könnte also so gestaltet
werden:
Man simuliert die Ergebnisse von r Würfen und lässt dabei
die gewürfelten Sechser zählen.
Ein "Treffer" liegt genau dann vor, wenn diese Anzahl
gleich 1 ist.
Insgesamt lassen wir für einen vorgegebenen k-Wert
(man kann das dann für alle erlaubten k-Werte durch-
spielen) n Serien von je r=12-k Würfen durchführen
und zählen dabei die erzielten "Treffer".
Da mir das prozedurale Programmieren doch noch viel
näher liegt als das funktionale Programmieren in Mathematica,
würde ich nun wohl zunächst ein nicht ganz Mathematica-
gemäßes Programm schreiben und dann versuchen,
es im Sinne von Mathematica zu "konzentrieren".
LG Al-Chw.
|
|
|
|
|
Odds[k_Integer, n_Integer] :=
Block[{r = 12 - k},
treffer = 0;
Do[
anz6 = 0;
Do[anz6 = anz6 + If[Random[Integer, {1, 6}] == 6, 1, 0], {t, 1, r}];
treffer = treffer + If[anz6 ==1, 1, 0], {lauf, 1, n}];
Return[N[treffer/n]]]
Odds[5, 100000]
0.38783
Odds[7, 100000]
0.40069
Odds[9, 100000]
0.34632
Dies ist ein Progrämmchen, welches zuerst eine Funktion
Odds[k,n] definiert, welche die relative Häufigkeit der
Treffer in n Wurfserien berechnet.
Anschließend 3 Beispielläufe für k=5, k=7, k=9.
Man sieht, dass für k=7 die größte Trefferhäufigkeit
erscheint, nämlich etwa 0.40 .
LG Al-Chw.
|
|
|
|
|
Hallo arblind_sa,
eine exakte Berechnung hat mir noch gezeigt, dass der
Wert von k für die optimale Strategie gar nicht eindeutig
bestimmt ist, denn k=6 und k=7 führen zur genau
gleichen Trefferwahrscheinlichkeit ! Darauf gekommen,
nachzurechnen, bin ich aufgrund der Betrachtung von
Ergebnissen der Simulation. Da erschien manchmal für
k=6 eine höhere Trefferhäufigkeit als für k=7.
LG Al-Chw.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:13 Do 20.10.2011 | Autor: | arblind_sa |
Vielen Dank
|
|
|
|