Würfel-Simulation!

Neue Frage »

Mathe6 Auf diesen Beitrag antworten »
Würfel-Simulation!
Ich brauch mal bitte eure Hilfe:

Wie kann ich experimentell durch Würfeln (mit Würfeln) das Fixpunkt-Problem (Problem der vertauschten Briefe) simulieren??

Bitte schnelle Tipps!
AD Auf diesen Beitrag antworten »

Was du im Grunde genommen suchst, ist ein Algorithmus zur zufälligen Erzeugung von Permutationen. Unter
http://www.stat.unibe.ch/~duembgen/softw...sics/RPermute.m
findest du einen solchen.

Wenn du das nun wirklich mit echten Würfeln praktisch durchziehen willst, brauchst du noch einen Verfahren, durch Würfeln gleichverteilte ganze Zahlen im Bereich 0..n-1 zu ermitteln. Aber darauf zu kommen, ist ja dann nicht mehr so schwer.

P.S.: Viel Spaß bei der praktischen Durchführung. Big Laugh
Leopold Auf diesen Beitrag antworten »

In Delphi kann man das folgendermaßen implementieren.
Zunächst definiert man den Typ

code:
1:
2:
type
  TPerm: array of Integer;


Dann erzeugt die Funktion

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
function zufPerm(pi: TPerm): TPerm;
var
  n,k,i,a: Integer;
  pi1,pi2: TPerm;
begin
  n:=length(pi);
  if n>0
  then  begin
    k:=random(n);
    a:=pi[k];
    setLength(pi2,n-1);
    for i:=0 to k-1 do pi2[i]:=pi[i];
    for i:=k to n-2 do pi2[i]:=pi[i+1];
    pi1:=zufPerm(pi2);
    setLength(pi1,n);
    pi1[n-1]:=a;
    zufPerm:=pi1;
  end;
end;


zu einer vorgegebenen Permutation pi eine Permutation derselben. Wenn man pi etwa durch

code:
1:
2:
  setLength(pi,10);
  for i:=1 to 10 do pi[i-1]:=i;


initialisiert, so erzeugt zufPerm(pi) eine zufällige Permutation der Zahlen von 1 bis 10.

Schließlich kann man noch testen, ob eine Permutation fixpunktfrei ist. Das geht etwa so:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
function fixpunktfrei(pi: TPerm): Boolean;
var
  n,k: Integer;
  erg: Boolean;
begin
  n:=length(pi);
  erg:=true;
  k:=0;
  while erg and (k<n) do
  begin
    erg:=pi[k]<>k+1;
    inc(k);
  end;
  fixpunktfrei:=erg;
end;
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »