Komplex rendszerek szimulációs módszerei (ff2n1s04/1)

FIGYELEM: 2017-től új honlap itt!

1. Komplex hálózatok
([1] Chapter 1)
  • Erdős-Rényi gráf generálása, p függvényében fokszám eloszlás, perkolációs küszöb, átmérő mérése és összevetése az analitikus eredményekkel
  • Az összekötöttségi mátrix spektrumának felvétele, a félkör törvény igazolása numerikusan (pár bonyodalom ami általában nehezítheti a feladatot)
  • Klikk keresés, a Bron-Kerbosch algoritmus implementációja
  • Kis-világ és skálafüggetlen gráfok generálása, azok elemzés az ER gráfokhoz hasonlóan
  • Gráfok robusztusságának vizsgálata élek/csúcsok eltávolításával szemben
  • Hálózatok valódi adatokból (a bátraknak): Agyi hálózatok: OpenConnectome, Filmek: Netflix , Internet: DIMES , Gének: co-expressionGEO DataServer
2. Kaotikus dinamika
([1] Chapter 2)
  • Készítsük el a logisztikus leképezés bifurkációs diagramját!
  • Vizsgáljuk meg a Ljapunov exponenst a stabil fixpontokkal rendelkező és a kaotikus tartományban!
  • Szimuláljuk a Lorenz-modelt és mérjük le különös attraktorának fraktál-dimenzióját!
3. Sejtautomaták
([1] Chapter 3)
  • Ismerkedjünk meg a sejtautomaták működésével és statisztikai leírásával:
  • Vizsgáljuk meg, hogy a S. Wolfram által meghatározott négy kategóriába hogyan oszthatóak be az 1 dimenziós kétállpotú elemi sejtautomaták! Hasonlytsuk össze az alábbi módszereket!
    • Generáljuk le mind a 256 szabályt és vizsgáljuk meg vizuálisan a viselkedést.
    • Számoljuk ki a fraktáldimenziót illetve a térbeli és időbeli entrópiákat!
    • Számoljuk ki a C. Langton által bevezetett lambdát!
    • Minden osztályból néhány kiválasztott szabály néhány cellájának időbeli viselkedésére számoljunk teljesítmény-sűrűség spektrumot!
  • Telepítsük a Golly szimulátort, és vizsgáljuk meg a Conway féle "Life" automatát illetve egy másik szabadon választott szabály néhány komplexitás mérték szerint! (Golly script leírás és példák ).
  • Szorgalmi feladat :Készítsük el a rácsgáz HPP és FHP modeljének szimulációját és szimuláljunk egyszerű áramlási példát (akadály körül, végtelen csőben áramlási profil, stb)! Segítség: Python kód , Matlab kód, Golly: Other-Rules/HPP-demo.rle.
  • Szorgalmi feladat: A sejtautomaták általánosíthatóak nem csak rácsokra, de tetszőleges reguláris gráfra is (minden csomópontnak ugyanannyi bemenő éle van). Ilyen modellt ír le Stuart Kauffman NK-modellje, melyet a könyv 3. fejezete részletesen tárgyal. Értsük meg a modellt, majd generáljuk az összes N=3, K=1 gráfot az összes lehetséges (fix) szabállyal! Vizsgáljuk meg az állapotteret, számoljuk le a diszjunkt vonzási tartományokat! (hasonlóan mint 86. old. 3.3.b ábra). Vegyük az N=10, K=1 esetet véletlen gráfokkal. Nézzük meg néhány fix véletlen realizáción a tiszta identitás, tiszta negálás, illetve ezek véletlen keverékeként alkotott szabályok esetén a vonzási tartományok terét! (hasonlóan a 98. old. 3.9 ábrához).
     
4. Neuron-hálózatok
  • Készítsük el a Hopfield-model implementációját Hopfield eredeti cikke alapján! Igazoljuk kísérletileg a később elméletileg is igazolt kritikus p=0.14N kapacitás értéket (sok véletlen minta, többször megismételve a statisztika javításáért)! Javaslat legyen N legalább 100, de valószínűleg pár ezres érték is kezelhető.  (Hopfield eredeti cikke)
  • Tanítsuk meg a Hopfield modellt betűk felismerésére! Tanító és teszt halmazként használhatunk pl. "kézzel írt" karaktereket. (kiegészítő feladat a TTF vagy egyéb karakter formátum olvasása és "bemeneti vektorrá"). Karakterek helyett kereshetünk más tanító halmazt a mesterséges intelligencia adatbázisban. Vizsgáljuk meg, hogy ilyen nem véletlen mintákra mekkora a kritikus kapacitás!
  • Implementáljuk a háttéranyagok (coursera, perceptron, perceptron szabály) alapján a perceptron szabályt! Próbáljuk meg az egyes karaktereket (pl. "A" vagy "nem A") a perceptronoknak (karakterenként 1 perceptron) megtanítani. (Hasonlóan mint az alábbi feladatleírásban). A perceptron vagy a Hopfield Modell ad jobb eredményt?
  • A 80-as évek végén népszerű neuronhálózatok az azóta megnövekedett tanítóhalmazok és számítógép kapacitás miatt látványosan újraéledtek és nagy sikereket érnek el (pl. AlphaGo). Legjobban elterjedt módszer a Deep Learning, amely nagyon sok mesterséges neuronból alkotott hálózatot tanít. Könnyen elindítható Python wrapper is rendelkezésre áll, ami a GPU-k párhuzamos kapacitását is kihasználja. Indítsuk el a csomag példáit és módosítsuk úgy, hogy a karakterfelismerési problémát oldja meg!
Régebbi projekt 3. Dinamika Boole-hálókon
([1] Chapter 3)
  • Generáljuk az összes N=3, K=1 gráfot az összes lehetséges (fix) szabállyal! Vizsgáljuk meg az állapotteret, számoljuk le a diszjunkt vonzási tartományokat! (hasonlóan mint 86. old. 3.3.b ábra)
  • Vizsgáljuk meg a fentieket N=4, K=1 esetében is!
  • Vegyük az N=10, K=1 esetet véletlen gráfokkal. Nézzük meg néhány fix véletlen realizáción a tiszta identitás, tiszta negálás, illetve ezek véletlen keverékeként alkotott szabályok esetén a vonzási tartományok terét! (hasonlóan a 98. old. 3.9 ábrához)
  • Vizsgáljuk meg a 3.3 (86. old.) ábrán látható N=3, K=2 automata állapotterét szinkron és aszinkron dinamika esetében.
  • A 2 dimenziós, periodikus határfeltételű, szabályos N=nxn négyzetrácson lévő, 4 közvetlen szomszédos, ferromágneses Ising-modell T=0 hőmérsékletű változatát írjuk fel Kauffman automataként! Szimuláljuk a 20x20-as rácsot T=0.1, 0.2,  ... 2.9, 3.0 hőmérsékleteken 100000*20x20 Metropolis frissítéssel (aszinkron) ! Mérjük az utolsó 1000*20x20 lépésben az átlagos mágnesezettséget, és ábrázoljuk a hőmérséklet függvényében! Vessük össze a kapott ábrát az elméletileg ismert fázisátalakulási ponttal!
  • Az előző pontban vizsgált rendszeren változtassunk a szabályon! (Pl. szigorúan a szomszédok többségi szabálya, vagy a szomszédok és az aktuális nódus többségi szabálya, vagy a szomszédok paritása, stb.). Vizsgáljuk meg különböző hőmérsékleteken a rendszer dinamikáját és keressünk esetleges fázisátalakulást!
  • Vizsgáljuk meg a ferromágneses Ising-modell viselkedését négyzetrács helyett
    • Erdős-Rényi
    • skálafüggetlen
    gráfon!
  • Van-e fázisátalakulás?
     
Szoftverek:
Jegyzőkönyvek beküldése:
komplexszim(kukac)gmail.com

 

Beadási határidők
  • 1. Komplex hálózatok:  2016.03.10 16:00
  • 2. Kaotikus dinamika:  2016.03.31 16:00 (VÁLTOZÁS: 2016.04.01 rövid megbeszélés utána Vattay Gábor órája lesz. 2016.04.08: MTA Statisztikus Fizika Nap, érdemes regisztrálni, résztvenni!)
  • 3. Sejtautomaták:  2016.04.21 16:00
  • 4. Neuonhálózatok:  2016.05.12 16:00
Figyelem! A késés 1 jegy levonással jár! Minden további hét késés újabb 1 jegy levonás!

Irodalom:
[1] Claudius Gros: Complex and Adaptive Dynamcial Systems, Springer; 1st ed.2008. Corr. 2nd printing edition (July 1, 2009)
A feladatokban hivatkozott régebbi verzió.
Neuron-hálózatokhoz:
[2] http://ecee.colorado.edu/~ecen4831/demuth.html (perceptron szabály, backpropagation)
[3] http://www.cs.bham.ac.uk/~jxb/inn.html (egy másik áttekintő kurzus)
[4] http://page.mi.fu-berlin.de/rojas/neural/ (Paul Rojas teljes könyve, perceptron, backpropagation, Hopfield-model és sok más)
[5] http://en.wikipedia.org/wiki/Perceptron (Perceptron Wikipedia)
[6] http://en.wikipedia.org/wiki/Hopfield_net (Hopfield Model Wikipedia)