Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział10Generatoryfizyczneiprogramowe
23
1.4.3.
Generatorynieliniowe
Rozważanewcześniejgeneratorybyłyopartenaliniowychwzorachrekuren-
cyjnych.Ułatwiałotoichimplementację,powodowałonp.jednakomówione
jużproblemyzestrukturąprzestrzennągenerowanychpunktówrozważanych
dlawielowymiarowychkostek.Dlategomożnawykorzystywaćgeneratory
nieliniowe,opartenp.naodwracaniulubobliczaniukwadratów.Przykła-
demmożebyćtutajgeneratorzaproponowanyw(Eichenauer&Lehn1986)
postaci
Xn=(aˇ
X11
n11+b)modm,
(1.22)
gdziemjestliczbąpierwszą,aoperacjaˇ
X11jestodwracaniemmodulo.Ope-
racjatajestzdefiniowananastępująco:dlax=0zachodziˇ
x11modm=0,
adlax/=0liczbaˇ
x11musispełniaćwarunekx·ˇ
x11modm=1.
Przykład1.9.Jakiewartościotrzymujemydlageneratoraodwracaniamo-
duloopostaci
Xn=(2ˇ
X11
n11+3)mod7
(1.23)
zainicjowanegowartościąXo=2?
Rozwiązanie:Zdefinicjiodwracaniamodulomamy
X11
ˇ
X
0
0
1
1
2
4
3
5
4
2
5
3
6
6
stąd
X1=(2·4+3)
mod7=4,X2=(2·2+3)
mod7=0,
X3=(2·0+3)
mod7=3,...
(1.24)
Odwracaniemodulojestrównieżużytewgeneratorzeokreślonymwzo-
rem
Xn=(a(n+no)+b)
11
modm,
(1.25)
gdziea,b,no,modpowiednimiparametrami.Generatortenzostałza-
proponowanyw(Eichenauer-Hermann1993).Jakłatwozauważyć,wtym
przypadkunowawartośćXngenerowanajestniezależnieodwcześniejszych
wartościX1,...,Xn11.Umożliwiatobezpośredniewykorzystanietegoty-
pualgorytmuwsymulacjachrównoległych.Cowięcej,dladowolnejliczby
a{1,2,...,m}okrestakiegogeneratorajestrównym.