\mnb150ÿ{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 System;}{\f3\fmodern\fprq1 Courier New;}{\f4\fswiss\fprq2 Arial;}{\f5\fmodern\fprq1\fcharset1 Courier New;}{\f6\froman\fprq2 Times New Roman;}{\f7\fswiss\fprq2 Arial Black;}}
{\colortbl\red0\green0\blue0;\red128\green128\blue128;\red0\green128\blue0;\red255\green0\blue0;\red0\green0\blue255;}
\deflang1031\pard\ri4\plain\f3\fs20\cf0\b _____________________________________________________________________________________
\par \plain\f3\fs20\cf0
\par Inhalt....: Roulettestrategien III
\par Kategorie.: Arbeitsblatt
\par Mathematik: Stochastik, Programmierung
\par MuPAD.....: 3.1.0
\par Datum.....: \plain\f5\fs20\cf0 2005-07-04\plain\f3\fs20\cf0
\par Autoren...: Thorsten Fraas
\par Funktionen: contains, for, has, if, stats::binomialRandom, begin
\par Funktionen: op, plot::Polygon2d, AxesTitles\plain\f3\fs20\cf0\b
\par _____________________________________________________________________________________
\par \plain\f4\fs36\cf0\b
\par Empirische Untersuchung von Roulettestrategien III\plain\f7\fs36\cf0
\par \plain\f6\fs24\cf0
\par \plain\f4\fs24\cf2\b Zur Einf\'fchrung bitte die Einleitung in Notebook "roulette1.mnb" lesen.
\par
\par Aufbau dieses Notebooks:
\par 1. Grundlegende Prozeduren f\'fcr das gesamte Notebook
\par 2. Progressionsspiele
\par a) Amerikanische Martingalstrategie
\par b) Whittacker Progression
\par \plain\f4\fs36\cf0
\par
\par \plain\f4\fs32\cf0 1. Grundlegende Prozeduren f\'fcr das gesamte Notebook
\par \plain\f4\fs24\cf0 In diesem Notebook werden einige Prozeduren immer wieder verwendet.
\par Wir wollen sie deshalb gleich zu Beginn festlegen.
\par Die Prozedur \plain\f4\fs24\cf3 roulette\plain\f4\fs24\cf0 simuliert ein Roulettespiel, wobei \plain\f4\fs24\cf3 n\plain\f4\fs24\cf0 -Spiele gemacht werden und der
\par Spieler mit Wahrscheinlichkeit \plain\f4\fs24\cf3 p\plain\f4\fs24\cf0 gewinnt. Es wird eine Liste mit Nullen und Einsen ausgegeben.
\par Eine Eins gibt ein gewonnenes Spiel an, die Null steht f\'fcr ein verlorenes Spiel.
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}roulette:=proc(n,p)
\par \pard\li600\ri1\fi-300\plain\f3\fs24\cf3 local A,i,k;
\par begin
\par kessel:=stats::binomialRandom(1,p):kessel()$ k=1..n;
\par A:=[kessel() $i=1..n];
\par end_proc:
\par \pard\ri4\plain\f4\fs24\cf0
\par Nun werden wir eine Prozedur schreiben, die
\par a) den Spielverlauf angibt,
\par b) anzeigt, an welchen Stellen die Einsen stehen, zu welchen Zeitpunkten der Spieler also
\par gewonnen hat und
\par c) angibt, an welchen Stellen die Nullen stehen, wann der Spieler also verloren hat:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}zeit:=proc(n,p)
\par \pard\li600\ri1\fi-300\plain\f3\fs24\cf3 local A,B,C,F,G,S,i,j;
\par begin
\par S:=roulette(n,p);
\par A:=[0$n];
\par A[1]:=contains(S,1);
\par for j from 2 to n do
\par A[j]:=contains(S,1,A[j-1]+1);
\par if A[j]=0 then break;
\par end_if;
\par end_for;
\par B:=[op(A,i)$i=1.._plus(op(S))];
\par C:=[0$n];
\par C[1]:=contains(S,0);
\par for j from 2 to n do
\par C[j]:=contains(S,0,C[j-1]+1);
\par if C[j]=0 then break;
\par end_if;
\par end_for;
\par F:=[op(C,i)$i=1..n-_plus(op(S))];
\par G:=[S,B,F]
\par end_proc:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}zeit(10,18/37)
\par \pard\ri4\plain\f4\fs32\cf0 2. Progressionsspiele
\par \plain\f4\fs24\cf0
\par Eine Einf\'fchrung in die Theorie der Progessionsspiele findet sich in den ersten beiden
\par Notebooks ("roulette1.mnb" und "roulette2.mnb").
\par Wer mit den Begriffen und der Anwendung nicht vertraut ist, sollte dort nachlesen.
\par
\par \plain\f4\fs28\cf0 a) Amerikanische Martingalstrategie
\par \plain\f6\fs24\cf0
\par \plain\f4\fs24\cf0 Die Progression der amerikanischen Martingalstrategie verl\'e4uft folgenderma\'dfen:
\par 1-2-3-4-5-6-...
\par Der Spieler setzt also bei vorhergehendem verlorenen Spiel immer einen Euro mehr
\par als im Spiel zuvor.
\par Gewinnt er, so legt er das gewonnene Geld zu seinem Kapital und beginnt von vorne.
\par Wir wollen diese Strategie programmieren:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}amerimartingal:=proc(n,p,K,m)
\par \pard\li600\ri1\fi-300\plain\f3\fs24\cf3 local D,E,G,S,ST,Z,g,t;
\par begin
\par Z:=zeit(n,p);
\par S:=op(Z,1);\plain\f3\fs24\cf1 /*Hier stehen die Spielst\'e4nde*/
\par \plain\f3\fs24\cf3 D:=op(Z,2);\plain\f3\fs24\cf1 /*Hier stehen die Gewinnzeiten*/
\par \plain\f3\fs24\cf3 E:=op(Z,3);\plain\f3\fs24\cf1 /*Hier stehen die Verlustzeiten*/
\par /*-----------------------------------------------------------*/
\par /*Im folgenden Abschnitt wird die Strategie simuliert*/
\par \plain\f3\fs24\cf3 G:=[0$n];
\par if S[1]=1 then G[1]:=K+m;
\par else G[1]:=K-m;
\par end_if;
\par for t from 2 to nops(S) do
\par if S[t]=1 then
\par if contains(D,t)=1 then G[t]:=G[t-1]+t*m
\par else G[t]:=G[t-1]+(t-op(D,contains(D,t)-1))*m;
\par end_if;
\par elif S[t]=0 then
\par if S[t-1]=1 then G[t]:=G[t-1]-m;
\par elif S[t-1]=0 then
\par for g from 2 to t do
\par if has(E,t-g)=TRUE then G[t]:=G[t-1]-((g+1)*m);
\par elif has(E,t-g)=FALSE then G[t]:=G[t-1]-(g*m);break;
\par end_if;
\par end_for;
\par end_if;
\par end_if;
\par end_for;
\par ST:=[op(G,t)$t=1..nops(G)];
\par end_proc:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}amerimartingal(10,18/37,50,5)
\par \pard\ri4\plain\f4\fs24\cf0 Wir veranschaulichen 100 Spiele mit der Amerikanischen Martingalstrategie bei einem
\par Startkapital von 50 Euro und einem Einsatz von einem Euro.
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}kurve4:=amerimartingal(100,18/37,50,1):
\par \pard\li600\ri1\fi-300\plain\f3\fs24\cf3 Punkte4:=[n,kurve4[n]]$n=1..100:
\par plot(plot::Polygon2d([Punkte4],
\par AxesTitles=["Spiel","Kontostand"]));
\par \pard\ri4\plain\f4\fs24\cf0 Der Verlauf des Kontostandes beim Spielen dieser Strategie ist flacher als der der anderen
\par beiden Martingalstrategien, da die Eins\'e4tze weniger schnell ansteigen. Das hat den Vorteil,
\par dass die Eins\'e4tze nicht so schnell an das Tischmaximum heranreichen, allerdings bringt ein
\par Gewinn den Spieler nach mehreren verlorenen Spielen aufgrund der flachen Progression auch
\par nicht mehr zur\'fcck in die Gewinnzone.
\par
\par \plain\f6\fs24\cf0
\par \plain\f4\fs28\cf0 b) Whittacker-Progression
\par \plain\f4\fs24\cf0
\par Die Whittacker-Progression ist eine Verlustprogression mit folgendem Progressionsschema:
\par 1-2-3-5-8-13-21-...
\par Die n\'e4chste Satzh\'f6he nach einem verlorenen Spiel ist also die Summe der vorangegangenen
\par beiden Satzh\'f6hen. Ansonsten sind die Regeln die gleichen, wie bei den obigen Strategien.
\par Die Prozedur sieht folgenderma\'dfen aus:
\par \plain\f6\fs24\cf0
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}whittacker:=proc(n,p,K,m)
\par \pard\li600\ri1\fi-300\plain\f3\fs24\cf3 local D,E,G,S,ST,Z,t;
\par begin
\par Z:=zeit(n,p);
\par S:=op(Z,1);\plain\f3\fs24\cf1 /*Hier stehen die Spielst\'e4nde*/
\par \plain\f3\fs24\cf3 D:=op(Z,2);\plain\f3\fs24\cf1 /*Hier stehen die Gewinnzeiten*/\plain\f3\fs24\cf3
\par E:=op(Z,3);\plain\f3\fs24\cf1 /*Hier stehen die Verlustzeiten*/
\par \plain\f3\fs24\cf3 \plain\f3\fs24\cf1 /*-----------------------------------------------------------*/
\par /*Im folgenden Abschnitt wird die Strategie simuliert*/
\par \plain\f3\fs24\cf3 G:=[0$n];
\par if S[1]=1 then G[1]:=K+m;
\par else G[1]:=K-m;
\par end_if;
\par for t from 2 to nops(S) do
\par if S[t]=1 then
\par if contains(D,t)=1 and t=2 then G[t]:=K+m
\par elif contains(D,t)=1 and t=3 then G[t]:=K
\par elif contains(D,t)=1 and t>3 then G[t]:=G[t-3]
\par elif contains(D,t)>1 and (t-op(D,contains(D,t)-1))=1 then
\par G[t]:=G[t-1]+m
\par elif contains(D,t)>1 and (t-op(D,contains(D,t)-1))=2 then
\par G[t]:=G[t-2]+m
\par elif contains(D,t)>1 and (t-op(D,contains(D,t)-1))>2 then
\par G[t]:=G[t-3]
\par end_if;
\par elif S[t]=0 then
\par if contains(E,t)=1 then G[t]:=G[t-1]-m
\par elif contains(E,t)=2 and (t-op(E,contains(E,t)-1))=1 then
\par G[t]:=G[t-1]-2*m
\par elif contains(E,t)=2 and (t-op(E,contains(E,t)-1))>1 then
\par G[t]:=G[t-1]-m
\par elif contains(E,t)>2 and (t-op(E,contains(E,t)-1))>1 then
\par G[t]:=G[t-1]-m
\par elif contains(E,t)>2 and (t-op(E,contains(E,t)-1))=1
\par and (t-op(E,contains(E,t)-2))=2 and t=3 then
\par G[t]:=G[t-1]-3*m
\par elif contains(E,t)>2 and (t-op(E,contains(E,t)-1))=1
\par and (t-op(E,contains(E,t)-2))=2 and t<>3 then
\par G[t]:=G[t-1]-(G[t-3]-G[t-1])
\par elif contains(E,t)>2 and (t-op(E,contains(E,t)-1))=1
\par and (t-op(E,contains(E,t)-2))>2 then G[t]:=G[t-1]-2*m
\par end_if;
\par end_if;
\par end_for;
\par ST:=[op(G,t)$t=1..nops(G)];
\par end_proc:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}whittacker(10,1/2,50,1)
\par \pard\ri4\plain\f4\fs24\cf0 Auch hier wollen wir den Verlauf des Kontostandes veranschaulichen:
\par
\par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f3\fs24\cf3 {\pntext\f1\'b7\tab}kurve5:=whittacker(100,18/37,50,1):
\par \pard\li600\ri1\fi-300\plain\f3\fs24\cf3 Punkte5:=[n,kurve5[n]]$n=1..100:
\par plot(plot::Polygon2d([Punkte5],
\par AxesTitles=["Spiel","Kontostand"]));
\par
\par \pard\ri4\plain\f4\fs24\cf0 Der Spieler kann mit dieser Strategie nur die Verluste der letzten beiden Spiele zur\'fcckgewinnen.
\par Ist seine Verlustserie l\'e4nger, so kann er mit dieser Strategie keinen Gewinn erzielen.
\par Wo sich diese Strategie einordnen l\'e4sst, wird erst beim Vergleich mit den anderen deutlich.
\par Wir werden dies im 4. Notebook sehen.
\par
\par \plain\f3\fs20\cf0\b _______________________________________________________________________________
\par \plain\f4\fs22\cf0
\par \plain\f4\fs22\cf2\b Anmerkungen:\plain\f4\fs22\cf2
\par \plain\f4\fs20\cf2\b 1\plain\f4\fs20\cf2 . Weitere Anregungen zum Einsatz von MuPAD in der Lehre finden Sie auf unserem WebPortal
\par \plain\f4\fs20\cf0 \plain\f4\fs20\cf2 \plain\f4\fs20\cf2\i MuPAD in Schule und Studium\plain\f4\fs20\cf2 unter: \plain\f4\fs20\cf4 http://schule.mupad.de\plain\f4\fs20\cf2 bzw. \plain\f4\fs20\cf4 http://studium.mupad.de\plain\f4\fs20\cf2 .
\par
\par \plain\f4\fs20\cf2\b 2\plain\f4\fs20\cf2 . Mathematische Formeln in diesem Notebook stammen aus der Examensarbeit
\par "Roulette - Theorie und Simulation eines Gl\'fccksspiels", die vom Autor im Rahmen
\par der Ersten Staatspr\'fcfung f\'fcr das Lehramt an Gymnasien im Jahr 2004 am
\par Institut f\'fcr Mathematische Stochastik an der Georg-August Universit\'e4t in
\par G\'f6ttingen angefertigt wurde. Die programmierten Roulettestrategien wurden im
\par Rahmen dieser Arbeit ebenfalls mathematisch untersucht.
\par Der interessierte Leser sei darauf verwiesen. Entsprechende Teile der Arbeit
\par k\'f6nnen gerne auf Anfrage beim Autor angefordert werden.\plain\f6\fs20\cf2
\par \plain\f3\fs20\cf0\b _______________________________________________________________________________
\par \plain\f4\fs24\cf0
\par }