Verwerfungsmethode
Die Verwerfungsmethode (auch Acceptance-Rejection-Verfahren; engl. rejection sampling) ist eine Methode zur Erzeugung von Zufallszahlen zu einer vorgegebenen Verteilung und geht auf John von Neumann zurück. Sie kann genutzt werden, wenn die Inversion der Verteilungsfunktion nicht möglich oder zu aufwendig ist.
Idee
 
sei hierbei die Verteilungsfunktion 
der Verteilung, zu der Zufallszahlen erzeugt werden sollen. 
 
sei eine Hilfsverteilungsfunktion, zu der sich auf einfachem Weg – etwa 
über die Inversionsmethode – 
Zufallszahlen erzeugen lassen. Es seien ferner 
 
und 
 
die zugehörigen Dichten. 
Um die Verwerfungsmethode anwenden zu können, muss zudem ein konstantes  
existieren, so dass 
 
für jedes 
 
erfüllt ist. Das 
 
wird benötigt, da die Fläche unter einer Dichtefunktion immer 1 ist. Ohne den 
Vorfaktor 
 
gäbe es deshalb zwangsläufig Stellen mit 
. 
Seien nun  
Standardzufallszahlen 
und 
 
Zufallszahlen, die der 
Verteilungsfunktion 
 
genügen. 
Dann genügt mit  
die Zufallszahl 
 
der Verteilungsfunktion 
. 
Man wartet gewissermaßen auf einen ersten Treffer, der unterhalb von 
 
liegt. 
Anders gesagt: Es werden Zufallszahlen  
nach der Verteilungsfunktion 
 
erzeugt, und die Zahl 
 
wird jeweils mit der Wahrscheinlichkeit 
akzeptiert (Acceptance), also dann, wenn erstmals  
ist. Die vorhergehenden Zufallszahlen werden dagegen verworfen (Rejection). 
Einfaches Beispiel
Um eine Zufallszahl aus  
zu wählen, wobei jede Zahl mit der gleichen Wahrscheinlichkeit 
 
auftreten soll, kann man einen herkömmlichen Spielwürfel 
werfen. Erscheint eine 6, wirft man ein erneutes Mal. Meist wird aber 
bereits beim ersten Wurf eine Zahl zwischen 1 und 5 (einschließlich) erscheinen. 
Implementierung
Programmiertechnisch wird die Verwerfungsmethode allgemein wie folgender Pseudocode realisiert:
   function F_verteilte_Zufallszahl()
     var x, u
     repeat
       x := G_verteilte_Zufallszahl()
       u := gleichförmig_verteilte_Zufallszahl()
     until u * k * g(x) < f(x)
     return x
   end
Der Erwartungswert für die Anzahl der Schleifendurchläufe ist  
(siehe unten, Effizienz). 
Grafische Veranschaulichung
 
  
Man kann sich die Methode so vorstellen, dass in der xy-Ebene 
zwischen der x-Achse 
und dem Graph von  
gleichmäßig auf der Fläche verteilte Zufallspunkte verstreut werden. Als 
x-Koordinate des Punkts 
 
nimmt man die G-verteilte Zufallszahl 
, 
und die y-Koordinate erhält man aus der standardverteilten Zahl 
: 
. 
Von diesen Zufallspunkten werden diejenigen verworfen, die oberhalb des 
Graphs von  
liegen (
). 
Die x-Koordinaten der übrigen Punkte sind dann nach der Dichtefunktion 
 
verteilt. 
Um eine Zufallszahl nach dieser Verteilung zu erzeugen, werden also solange 
neue Zufallspunkte erzeugt, bis einer unterhalb von  
liegt (im Bild der Punkt C). Dessen x-Koordinate ist die gesuchte Zufallszahl. 
Effizienz
Die Fläche unter der Dichtefunktion  
ist 1, und unter 
 
ist die Fläche entsprechend 
. 
Deshalb müssen im Mittel 
 
Standardzufallszahlen und 
 
Zufallszahlen, die 
 
genügen, verbraucht werden, bis der erste Treffer erzielt wird. Daher ist es von 
Vorteil, wenn die Hilfsdichte 
 
die Dichte 
 
möglichst gut approximiert, damit man 
 
klein wählen kann. 

 Wikipedia.de
  
    Wikipedia.de

© biancahoegel.de
Datum der letzten Änderung: Jena, den: 24.06. 2021