X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=nlsop%2Fdiplom%2Fgrundlagen.tex;h=6fe38bd353a1a13a41c4e6c888a8c23183a961a9;hb=151406993cc24eb6013c195df5f5d36e46f7eca5;hp=7e6aa2e21c361f0a8cbb267e9170ba5a1dd4fcb6;hpb=3ad4a4555f8ba4d3463debda3c977d25eaf8e98d;p=lectures%2Flatex.git diff --git a/nlsop/diplom/grundlagen.tex b/nlsop/diplom/grundlagen.tex index 7e6aa2e..6fe38bd 100644 --- a/nlsop/diplom/grundlagen.tex +++ b/nlsop/diplom/grundlagen.tex @@ -2,7 +2,82 @@ \section{Monte-Carlo-Simulation} - + Monte-Carlo-Simulationen sind Computer-Experimente zur Untersuchung interessierender Sachverhalte, die auf stochastischen Simulationsalgorithemn basieren. + Dabei werden vom Computer generierte Pseudozufallszahlen auf physikalische Gr"o"sen abgebildet. + Den Ausgangspunkt bilden dabei sogenannte Standard-Pseudozufallszahlen, die auf einem vorgegebenen Intervall gleichverteilt sind. + Hiervon ausgehend k"onnen beliebige Verteilungen durch Transformationen und Verwerfungsmethoden erzeugt werden. + + \subsection{Erzeugung gleichverteilter Pseudozufallszahlen} + + Die h"aufigste Methode zur Erzeugung von Zufallszahlen ist die lineare Kongruenzmethode, welche eine Sequenz von ganzen Zahlen $I_1, I_2, I_3,$ \ldots aus dem Intervall $I = [0,m-1]$ generiert. + Dabei gilt folgende Vorschrift: + \begin{equation} \label{eq:kon_m} + I_{j+1} = ( a I_{j} + c ) \, mod \, m + \end{equation} + \[ m: \textrm{Modulus, } a: \textrm{Multiplikator, } c: \textrm{Inkrement, } I_0: \textrm{Startwert} \] + Die Zufallszahlen k"onnen sich mit einer Periode, die offensichtlich nicht gr"o"ser als $m$ ist, wiederholen. + Die Qualit"at der Zufallszahlen h"angt dabei sehr stark von der Wahl der Konstanten $a, c, m, I_0$ ab. + Leider gibt es keine einfache mathematische Methode zur Ermittlung optimaler Konstanten. + Nach Park und Miller \cite{park_miller} erf"ullt man mit + \begin{equation} \label{eq:kon_v} + a = 7^5 = 16807, \quad m = 2^{31} - 1 = 2147483647, \quad c = 0 + \end{equation} + einen minimalen Standard was die Qulit"at der Zufallszahlen angeht. + Diese Wahl der Konstanten wird in vielen Zufallsfunktionen der Standardbibliotheken verwendet. + + \subsection{Transformation auf spezielle Zufallsverteilungen} + + Die mit \eqref{eq:kon_m} und \eqref{eq:kon_v} erzeugten Pseudozufallszahlen $I_j$ sind gleichverteilt im Intervall $[0,m-1]$. + Durch Division der Zufallszahlen mit dem Modulus $m$ erh"alt man gleichverteilte Zufallszahlen $x_j$ im Intervall $[0,1[$, so dass die Wahrscheinlichkeit eine Zahl zwischen $x$ und $x + dx$ zu erhalten durch + \begin{equation} + p(x)dx = \left\{ + \begin{array}{ll} + dx & 0 \leq x < 1 \\ + 0 & \textrm{sonst} + \end{array} \right. + \end{equation} + gegeben ist. Ausserdem ist die Wahrscheinlichkeitsverteilung normiert. + \begin{equation} + \int_{- \infty}^{+ \infty}p(x)dx = \int_{0}^{1}p(x)dx = 1 + \end{equation} + Diese dienen als Basis f"ur beliebige Verteilungen. + Einige in dieser Arbeit ben"otigte Transformationen sollen im Folgenden diskutiert werden. + + \subsubsection{Zufallszahlen mit gleichverteilter Wahrscheinlichkeit} + + Gleichverteilte Zufallszahlen $z_j$ in einem Intervall $[0,M[$ erh"alt man denkbar einfach durch skalieren der $x_j$ mit $M$. + \begin{equation} + z_j = M x_j = M \frac{I_j}{m} + \end{equation} + + \subsubsection{Zufallszahlen mit linear steigender Wahrscheinlichkeit} + + Zufallszahlen deren Wahrscheinlichkeit mit ihrem Wert im Intervall $[0,Z[$ linear ansteigen + \begin{equation} + p(z) = \left\{ + \begin{array}{ll} + az + b & 0 \leq z < Z \\ + 0 & \textrm{sonst} + \end{array} \right. + \end{equation} + realisiert man durch folgende Transformation: + \begin{eqnarray} + p(z)dz & = & p(x)dx \nonumber \\ + \frac{dx}{dz} & = & p(z) \nonumber \\ + x & = & \int_{- \infty}^z p(z')dz' = \int_0^z (az' + b) dz' = \frac{1}{2} az^2 + bz \label{eq:trafo} + \end{eqnarray} + Durch Aufl"osen von \eqref{eq:trafo} nach $z$ und Ausschluss der negativen L"osung erh"alt man: + \begin{equation} + z = \frac{-b + \sqrt{b^2 + 2 a x}}{a} \quad \textrm{.} + \end{equation} + So erh"alt man Zufallszahlen $z_j$ im Intervall $[0,1[$ durch $x_j \in [0,b+\frac{a}{2}[$. + Sollen Zufallszahlen im Intervall $[0,Z[$ liegen, m"ussen sie durch + \begin{equation} + z_j = Z \frac{-b + \sqrt{b^2 + 2 a (b+\frac{a}{2}) \frac{I_j}{m}}}{a} + \end{equation} + berechnet werden. + + \subsubsection{Verwerfungsmethode zur Erzeugung beliebiger Verteilungen} \section{Ion-Festk"orper Wechselwirkung}