Fizikus MSc, kutatófizikus szakirány, statisztikus fizika és számítógépes fizika modul
Komplex Rendszerek Szimulációs Módszerei

Jegyzet

  1. Generáljanak Erdős-Rényi gráfot (N db pontot véletlenszerűen összekötnek egymással, összesen K db csatlakozással): N=50 nódussal, kössék össze K (változó számú, pl. K=20, 50, 100, 200, 500, 1000) kapcsolattal véletlenszerűen.
    A gráf reprezentálható egy NxN-es szimmetrikus mátrixszal, melynek az ij eleme 1, ha létezik kapcsolat az i. és j. nódus között, és 0, ha nem.
    Számolják ki és ábrázolják ezen mátrix sajátérték eloszlását (azaz generáljanak legalább 100 különbözo véletlenszerű megvalósítást egy N-K párra, és abból rajzoljanak sajátértékeloszlást), a gráf fokszámeloszlását (fokszám: egy csomópontból hány kapcsolat indul), valamint a klasztereloszlást (számolják meg, hogy hány darab és milyen méretű egybefüggő darabra esik szét az eredeti gráf – ehhez nem árt utánanézni klaszterező algoritmusoknak).
    Hogyan függenek az eredmények K-tól?
    Változtassák meg az N-t (N=25, N=100, 200, 400, 800), adott K-ra, illetve K/N-re. Hogyan függenek az eredmények az N változtatásától?

  2. Generáljanak Barabási-Albert gráfot: m0 (2-5) kezdeti nódust összekötnek (legalább 1 összeköttetése legyen minden nódusnak, de indulhatnak teljesen összekötött gráfból is); minden lépésben növesztik a gráfot úgy, hogy létrehoznak egy új nódust, melyet m vonallal kötnek be a többi nódus közé (m ≤ m0), pi∼ kiα + a valószínűséggel, ahol ki a nódus fokszáma. Számolják ki és ábrázolják ezen mátrix sajátérték eloszlását (itt értelmesen kb. 1000-es méretű gráfig lehet elmenni gépteljesítménytől függően), a gráf fokszámeloszlását (itt elmehetnek 10000-es gráfokig is), valamint a klasztereloszlást (természetesen a konstrukció miatt ez a gráf egy nagy klaszter, ezért ha tudnak, próbáljanak kitalálni valami "klaszterszerű" definiciót – nem könnyű!)
    A számolásokat végezzék el pl.

  3. Ábrázolják a logisztikus leképezés fixpontjait az r paraméter függvényében. A logisztikus leképezést a x(n+1) = r x(n) (1-x(n)) leképezés generálja, ahol x ∈ [0,1]; r ∈ [0,4]. Számolják ki a Lyapunov exponenseket az r különböző értékeinél (r<1; 1<r<3; r=3; r ∈ [3.4,4] néhány pontban)!
    Ábrázolják a Lorenz modell fixpontjait 3 dimenzióban. A Lorenz modelt a
    dx/dt = - σ (x-y),
    dy/dt = -x z + r x - y,
    dz/dt = xy - bz
    összefüggés definiálja, σ=10, b=8/3 tipikus értékekkel, r pedig a szabályozó paraméter. Vizsgáljuk meg az r<1 , 1<r<rc=24.74, illetve az r>rc eseteket (több érték mellett).
    Számoljuk ki a különbözo tartományokban a

  4. A. Modellezenek véletlen egydimenziós bolyongás, melynek során a bolyongó p(Δ) vsz-el ugrik Δ távolságra. Átlagoljanak több futtatásra, és rajzolják fel a megtalálási valószínűség időfüggését. Hogyan függ ez az időtől és a távolságtól (nagy időkre az eloszlás távolságlecsengése, illetve az eloszlásfüggvény szélességének időbeli függése)? Válasszanak különböző (szimmetrikus) eloszlásokat (pl):
    1. diszkrét (pl. csak a közvetlen szomszédra ugorhat át)
    2. exponenciális
    3. Student eloszlás
    4. Cauchy eloszlás
    B. Ismételjék meg a számolást 2 dimenzióban (az irány legyen egyenletes eloszlású, az ugrás nagysága pedig a fenti 4 eloszlás) Rajzolják ki a bolyongást (egy futtatásra 2 dimben) összehasonlítva az a-c eseteket valamelyikét a d esettel.
    C. Végezzék el a 2 dim exponenciális számolást úgy, hogy a lépések közötti Δt várakozási idő szintén valószínűségi változó, melynek aszimptotikus viselkedés 1/(Δt)(1+α), 0<α<1. Hogyan függ az eloszlás szélessége az időtől?
    Segítség: Ha adott p(x) eloszlást szeretnének generálni, akkor P(X)=∫-∞X dx p(x) jelölje a kumulatív eloszlást. A p(x) eloszlású véletlen változót ebből a x=P-1(y) transzformációval kapjuk, ahol y ∈ [0,1] egyenletes valószínűségi változó.

  5. Modellezék egy egydimenziós duplafenekű potenciálgödörbe zárt részecske bolyongását külső gerjesztés és háttérzaj jelenlétében. A részecske mozgását a d/dt x = -V'(x) + A0 cos(Ωt) + ξ(t) egyenlet írja le, ahol V(x) = -1/2 x2 + 1/4 x4 a külső potenciál. A gerjesztés frekvenciája 2π/Ω = 100, ξ pedig fehér zaj: ⟨ξ(t) ξ(t')⟩ = Q δ(t-t'). A modellezést végezzék el A0=0.3 esetén Q következő értékeire: 0.05, 0.3, 0.8. Indítsák a rendszert x(0)=0-ból.
    1. Ábrázolják a részecske megtalálási valószínűségét az idő függvényében a Q paraméter három fenti értékére.
    2. Készítsünk statisztikát a két állapot közötti váltás idejére. A váltási idő definiáljuk úgy, hogy az x>0 ; illetve x< 0 tartományban töltött idő. Ábrázoljuk a váltási idő eloszlását a három esetre.
    3. Amennyiben a rendszer rezonanciához közeli állapotban van, ⟨x(t)⟩ = x cos(Ωt + φ) összefüggés teljesül, azaz a rendszer fáziskéséssel követi a gerjesztő erőt. Ábrázoljuk a Q függvényében (Q ∈ [0.05, 1.2] 0.05-ös közökben) az x és φ értékét.

  6. Potts modell: Modellezük a következő modellt (általánosított Potts modell)
    HP = - JP{i,j} cossi - θsj),
    ahol θn = 2πn/q összesen q lehetséges értéke van, és az összegzés a rács legközelebbi szomszédaira történik. JP>0.

    Térképezzük fel a fázisdiagrammot két dimenzióban a hőmérséklet függvényében. Ehhez ki kell számolni az M = ∑i θsi "mágnesezettség" értékét a hőmérséklet függvényében. A számoláshoz használjuk a Metropolis Monte-Carlo eljárást, és vizsgáljuk q=6 és q=2 (Ising-modell) értékeit. A számolásokat végezzük 8x8-as, illetve 16x16 rácsokon (bátrabbak nagyobbon).

    Célszerű egy kis h mágneses teret is bevezetni a számolásokhoz:

    βH = βHP - h∑i θsi,
    ahol β az 1/kT inverz hőmérséklet.

    A fizikai mennyiséget átlagértékét a Z(s) = ∑{s1 ... sn} e-βH(s) állapotösszeg segítségével számolhatjuk ki:
    ⟨M⟩ =   ∑ M e-βH(s) .
    ∑ e-βH(s)
    A Monte-Carlo eljárás automatikusan biztosítja a súlyozást, ezért a Monte-Carloval végrehajtott mintavételezés esetén a fizikai mennyiségek átlaga az eseményeken végrehajtott egyszerű átlagnak felel meg.

    1. Ábrázoljuk ("tipikus ábra"), hogy a kezdeti konfigurációból hogyan fejlődik a mágnezettség a Monte-Carlo lépések során az egyensúlyi értékéhez. Ebből megállapíthatjuk a relaxációs időt, hogy mennyi ideig szükséges futtatni a szimulációt.
    2. Számoljuk ki az M és a F = -kT log(Z) szabad energia hőmérsékletfüggését.
    3. Tanulmányozzuk az eredmények függését a h mágneses tértől.

    Tipp: NE a C beépített rand() függvényét használjuk véletlenszámok generálására!

    Monte-Carlo: Elindulunk egy véletlen kezdeti konfigurációból, és ezen változtatunk egy spint. Ez változást okoz az állapotösszegben: de csak azokat a tagokat kell kiszámolni, melyek a változtatott spint tartalmazzák. Ha nőtt a Z értéke (az exponens < 0) , elfogadjuk a változtatást, ha csökkent nem.

    Metropolis Monte-Carlo: a fentitől abban különbözik, hogy Z csökkenése esetén is w = e-βΔE valószínűséggel elfogadjuk a változtatást (ΔE <0 -ra w=1): (Segítség: ha e-βΔH > rand[0,1], akkor elfogadjuk a változtatást).