Borromeo gyűrűk
BSc Matematika Alapszak
Tantárgyleírás
2020.

Matematikai algoritmusok és felfedezések2

  • Óraszám (ea+gy): 2 + 2
  • Specializáció: matematikus
  • Kredit (ea+gy): 3 + 3
  • Számonkérés: kollokvium + gyak. jegy
  • Tárgykód (ea, gy): felfed2x0_m20ea, felfed2x0_m20ga
  • Ajánlott félév: 5
  • Státusz: köt. vál.
  • Specializáció: alk. mat.
  • Kredit (ea+gy): 3 + 3
  • Számonkérés: kollokvium + gyak. jegy
  • Tárgykód (ea, gy): felfed2x0_m20ea, felfed2x0_m20ga
  • Ajánlott félév: 5
  • Státusz: köt. vál.
  • Specializáció: elemző
  • Kredit (ea+gy): 3 + 3
  • Számonkérés: kollokvium + gyak. jegy
  • Tárgykód (ea, gy): felfed2x0_m20ea, felfed2x0_m20ga
  • Ajánlott félév: 5
  • Státusz: köt. vál.
Óraszám
ea(+k) + gy(+k)
Kredit
ea + gy
Számonkérés Specializáció Tárgykód
ea/gy
Ajánlott
félév
Státusz
2 + 2 3 + 3 kollokvium +
gyak. jegy
matematikus felfed2x0_m20ea
felfed2x0_m20ga
5 köt. vál.
3 + 3 kollokvium +
gyak. jegy
alk. mat. felfed2x0_m20ea
felfed2x0_m20ga
5 köt. vál.
3 + 3 kollokvium +
gyak. jegy
elemző felfed2x0_m20ea
felfed2x0_m20ga
5 köt. vál.
Erős Gyenge előfeltételek
Gyakorlat
Erős:
Előadás
Gyenge:
a gyakorlat

Megjegyzések

  • A tantárgy oktatásának módja: Előadás és géptermi gyakorlat.
  • Követelmény: Gyakorlaton beadandók és zárthelyi. Előadáson a követelmény vizsga, az oktató azonban megajánlhat jegyet az évközi munka alapján.

A tematikát kidolgozta:

Szükséges előismeretek

A Matematikai algoritmusok és felfedezések1 kurzus anyaga. Ajánlott a Véges matematika2 és az Operációkutatás tantárgyak ismerete. Az alábbi haladó Python ismereteket átvesszük a kurzus során: objektum orientált programozás, lambda függvény definiálás, dekorátorok, generátorok, fájl írása, olvasása, vizualizáció: matplotlib, Sagemath, widgets, @interact, csv file típus, grafikus felület, Scikit-learn, tensorflow.

A tantárgy célkitűzése

  • A tantárgy elsődleges célja a hogy megismertesse a hallgatókat a matematikai és tudományos programozás alapjaival. Olyan témakörök, algoritmusok, módszerek bemutatására törekszünk, amelyek segítséget nyújtanak mind elméleti, mind alkalmazott matematikai problémák megoldásában.
  • A tantárgy másodlagos célja Python programozási nyelven komolyabb (de 1000 sor alatti) hallgatói programok létrehozása.
  • A kurzus során az oktatásban, valamint a beadandó feladatok esetében is olyan példák és feladatok kiválasztására törekszünk, ami segíti a diákok algoritmikus gondolkodásának fejlesztését valódi matematikai problémákon keresztül.

Irodalom

  • Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers: Hogyan gondolkozz úgy, mint egy informatikus: Tanulás Python 3 segítségével 3. Online elérhető.
  • Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers: How to think like a computer scientist. Online elérhető (ennek a könyvnek sok verziója van).
  • Mark Lutz: Learning Python. Online elérhető.
  • A Python nyelv hivatalos honlapja.
  • Magyar fordítás a Python 3.6 dokumentációjához.

Tematika

  • Kombinatorikus problémák, algoritmusok: dinamikus programozás, hátizsák probléma, Közelítő algoritmusok (min 2-élösszefüggő feszítő részgráf), elvágó pontok megkeresése, Max-vissza sorrend es alkalmazasai, merevség.
  • Gráfelméleti algoritmusok: különböző adatstruktúrák konvertálása, random gráfok definiálása és evolúciója (random könyvtár).
  • Algebrai algoritmusok: szimbolikus számítások, generátor függvények.
  • Geometriai algoritmusok: konvex burok, felező egyenes, Voronoi cella.
  • Operációkutatás: folyam feladat, egészértékű programozás.
  • Adatbányászat: perceptron algoritmus (először sima Pythonban), klaszterezés (k-means), k-NN algoritmus.