![]() | (1) |
Punktezahl=10
Wir beginnen unsere Untersuchungen mit einem kleinen Programm in ARIBAS.
ARIBAS ist ein frei programmierbarer Zahleninterpreter der im Internet kostenlos
zur Verfügung steht :
http://www.mathematik.uni-muenchen.de/~forster/sw/aribas.html
Das Programm kann quasi unendlich lange Integerzahlen verarbeiten und eignet sich
für kombinatorische Untersuchungen sehr gut. Die Programmiersprache entspricht
fast identisch MODULA-2. Die Funktion muenze1 simuliert einen n- maligen
Versuch eine Münze zu werfen bis das Ereignis Zahl k- mal hintereinander eintrifft.
Während aller Versuche wird die Gesamtzahl der Münzwürfe in der Variablen s
aufsummiert. Am Ende wird der Quotient s ÷ n zurückgegeben, welcher gerade der
gesuchte Erwartungswert ist.
function muenze1(k, n : integer) : real; var s:=0; i,z: integer; begin for i:=1 to n do z:=0; while z < k do inc(s); if random(2)=1 then inc(z); else z:=0; end; end; end; return s/n; end; |
k | 1 | 2 | 3 | 4 | 5 | 6 |
E | 2 | 6 | 14 | 30 | 64 | 126 |
![]() | (2) |
Betrachtet man die Zähler der Quotienten erkennt man die Fibonnaci-Zahlenfolge, während der Nenner aus aufsteigendern Zweierpotenzen besteht. Allgemein müssen für xi > 2 die letzten drei Ergebnisse WZZ sein, während vorher niemals ZZ aufgetreten sein darf. Allgemein gilt damit:
![]() | (3) |
![]() | (4) |
![]() | (5) |
![]() | (6) |
![]() | (7) |
function muenze2(k, n : integer) : array; var s:=0; p:=2; i,j,z: integer; y,w : array[11]; begin for i:=1 to 10 do y[i]:=0; w[i]:=0.0; end; for i:=1 to n do z:=0; j:=0; while z < k do inc(j);inc(s); if random(2)=1 then inc(z); else z:=0; end; end; if j=2 then inc(y[2]); continue; end; if j=3 then inc(y[3]); continue; end; if j=4 then inc(y[4]); continue; end; if j=5 then inc(y[5]); continue; end; if j=6 then inc(y[6]); continue; end; if j=7 then inc(y[7]); continue; end; if j=8 then inc(y[8]); continue; end; if j=9 then inc(y[9]); continue; end; if j=10 then inc(y[10]); continue; end; end; for i:=2 to 10 do p:=p*2; w[i]:=y[i]*p/n; end; w[0]:=s/n; return w; end; |
i | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Ti | 0 | 1 | 1 | 2 | 4 | 7 | 13 | 24 | 44 |
Hier ist Ti schwieriger abzulesen. Immerhin handelt es sich um eine Differenzenfolge dritter Ordnung die sogenannte Tribonacci-Folge mit dem rekursiven Bildungsgesetz:
![]() | (8) |
![]() | (9) |
![]() | (10) |
Das Bildungsgesetz für die Tribonacci-Folge folgt aus dem allegemeinen Ansatz:
![]() | (14) |
![]() | (15) |
![]() | (16) |
![]() | (17) |
Wir betrachten einen Graphen, wie er in Abbildung 1 gezeigt ist.
Wie sehen diese Graphen fuer k-maliges Z aus? Diese können wir jetzt rekursiv für höhere k erzeugen. Den Graphen für (k + 1) erhält man, indem man von Zustand k eine Z-Kante zum neuen Zustand k + 1 führt und eine K-Kante vom Zustand k in den Anfangszustand 1 zurückführt. Für k = 3 zeigt Abbildung 2 den Graphen :
![]() | (18) |
Gleichung (2) in Summenschreibweise lautet :
![]() | (19) |
![]() | (20) |
![]() | (21) |
![]() | (22) |
Daraus folgt :
![]() | (23) |
kann man daraus Verbindungen zu den Kirchhoffschen Gesetzen aus der Physik ziehen. Kanten stellen gerade ein Kabel mit Widerstand dar und die Bewegung auf dem Graphen sind fliessende Elektronen. Wenn man lange braucht um von A nach B zu kommen, heisst das gerade, dass der Widerstand zwischen A und B sehr gross ist.
http://plus.maths.org/issue4/puzzle/coins/ http://mathworld.wolfram.com/CoinTossing.html |
kk = 5; Do[ Table[gl[i]= Sum[{a[m] * k[m]^i},{m,1,n}]== Max[1, 2^{i-2}], {i,1,n}] SOL = Simplify[Solve[Table[gl[i], {i,1,n}], Table[a[i], {i,1,n }]]]; Table[ a[i] = Replace[a[i], SOL[[1,i]]], {i,1,n } ]; ERWWERT} = Sum[ (j+(n-1)) / 2^{j+(n-1)} * Sum[ a[m] * k[m]^j, {m, 1, n}], {j, 1, infty} ]; FPoly = {\#1}^n - Sum[ {\#1}^k, {k, 0, n-1} ]; Table[ k[i] = Root[FPoly, i], {i, 1, n} ]; EW[n] = Simplify[ERWWERT]; Clear[a, k, gl, SOL, FPoly], {n, 1, kk } ] Table[EW[n], {n, 1, kk} ] -> {2,6,14,30,62} |