COIN-OR::LEMON - Graph Library

Version 6 (modified by Peter Kovacs, 14 years ago) (diff)

--

pyLemon modul fejlesztése

A LEMON használatának lehetővé tétele a Python programozási nyelvből.

Háttér

A LEMON C++ nyelven íródott, mivel jelenleg ez az egyetlen elterjedt modern programozási nyelv, amely lehetővé teszi komplex adatstruktúrák és algoritmusok futásidőre és memória-felhasználásra optimalizált megvalósítását. Ugyanakkor a C++ egy meglehetősen bonyolult programnyelv, használata mély ismereteket igényel és sokszor nehézkes. Egy adott feladat implementálása más modern (többnyire interpretált és dinamikusan linkelt) programnyelveken nagyságrandekkel kisebb lehet. E programnyelvek prominens képviselője a Python nyelv, amely amellett, hogy könnyen elsajátítható, kiválóan alkalmas jól karbantartható programkódok gyors elkészítésére.

Feladat

A cél a Python programozási nyelvhez egy, a LEMON használatát lehetővé tevő modul elkészítése. Az alap elgondolás az, hogy a modul a LEMON hatékony (C++-ban megírt) adatstruktúráit és eljárásait használja a gráfok és map-ek tarolására, valamint a LEMON-ban meglévő algoritmusok futtatására, ugyanakkor egy könnyen használható és a Python nyelvhez illeszkező felületet biztosít.

A jelentkezők feladata e koncepció teljes kidolgozása, és LEMON által nyújtott eszközök minél teljesebb elérhetőségének biztosítása. A feladatkör BSc/MSc szakdolgozat és TDK alapjául is szolgálhat, akár több jelentkező számára is.

A modul fejlesztés alatt álló változata az alábbi repository-ban található: http://lime.cs.elte.hu/~alpar/hg/pylemon/

Előfeltételek

  • C++ programozási nyelv ismerete
  • Python nyelv ismerete (vagy legalábbis hajlandóság annak megtanulására)
  • alap gráfelméleti ismeretek
  • angol nyelvismeret