Aktív témák

  • emvy

    félisten

    Sziasztok,

    javaslatokat-segítséget kérnék az alábbiakhoz.

    (mindekelőtt megemlítem, hogy abszolúte nonprofit a dolog, nem mással akarok pénzt kerestetni :), mindössze egy, az élő nyelvekkel kapcsolatos gondolatnak próbálok a végére járni, de ezt egyelőre nem részletezem.).

    Elméleti kérdések-követelmények:

    Szeretnék egy gráfot tárolni egy adatbázisban. A gráfnak több speciális tulajdonsága is van.
    - a pontjaihoz tetszőleges információ legyen rendelhető és lekérdezhető
    - az élek irányítottak, és szintén egyedileg lekérdezhető és hozzárendelhető tulajdonsággal rendelkezzenek
    - meg kellene oldani, hogy a gráfban tudjak utakat letárolni, és adott pontról eldönthető legyen, hogy az adott kiindulópontú és adott végpontú útnak eleme-e.
    - két pont között az összes utat egyszerűen fel lehessen térképezni, nem elég az utak számát tudni, hanem az egyes utak tagjait is ismerni kellene.

    A gráf pontjainak száma (N) nagyságrendileg 1000-10000 körül mozog, a kapcsolatok száma pedig 100000-1000000 között.


    Kérdés: SQL-t használjak a gráf tárolására, vagy egyedi adatbázist? (azért szimpatikus egy ''hivatalos'' adatbáziskezelő, mert egy ekkora adatbázist rendes indexelés/egyebek nélkül szerintem nem lehet kezelni)

    Kérdés: milyen formában tároljam le? Gráfokat ugyebár összekapcsolási mátrix formában szokás tárolni. Egyelőre nem jutott más az eszembe, mint egy olyan sql tábla, amely gyakorlatilag egy kvadratikus mátrix, de ezzel több gond is van, pl. az, hogy n^2-el arányos a táblaméret, másrészt minden egyes új pont felvételekor egy új oszloppal és egy új sorral kellene bővíteni a táblát, amely elég macerásnak tűnik..Ráadásul egy adott pont tulajdonságait is kellene tárolni, amelyet nem tudom, hogy oldjak meg - minden pontnak új tábla :?..

    Kérdés: Hogy oldjam megy a harmadik problémát anélkül, hogy túl sok felesleges adatot tárolnék le? Én arra gondoltam, hogy minden útnak lenne egy azonosítója. Ha egy út átmenne egy ponton, akkor a ponthoz hozzárendelnénk az út számát.




    Programozási kérdések-követelmények:

    - A gráf variálását interneten keresztül is meg kellene tudni oldani, tehát parancsok bevitelével kellene tudni új pontot létrehozni, új kapcsolatot létrehozni, stb. Erre lehetne mondani, hogy PHP, de:
    - jó lenne, ha konzolszerűen lehetne elérni az adatbázist, tehát nem html formokkal, hanem kliens-szerver-szerűen (ez persze nagyképű megfogalmazás, magyarul mint egy irc kliens kellene működjön, de webről, és nem letölthető kliensprogrammal).
    - a gráf miatt a főprogramnak rengeteg mátrixműveletet kellene elvégeznie, tehát egy php szóba se jöhet.

    Javában még nem tudok, de ha alkalmasnak találjátok erre a feladatra, akkor annyit megér, hogy egy kicsit beletanuljak. Valahogy nem lehet megoldani, hogy C programot használjak internetes alkalmazásokhoz? Ehhez a részéhez abszolúte nem értek, szóval ha valakinek van ötlete...

    köszi a javaslatokat előre is.

Aktív témák