HUP-osok a Veszprémi 24 órás programozóversenyen - III. hely

Ahogy azt már tavaly is megtettem, engedjétek meg, hogy idén is bejelentsem: A 2009. április 1-2-ig tartó (a Pannon Egyetem Műszaki Informatika kara által szervezett) harmadik 24 órás programozó versenyen, a három HUP-osból (Galadh Ereb, greenvirag, jómagam) és egy nem HUP-osból álló /*Coders'*/ free(DOM); csapatunk osztott harmadik helyezést ért el.

Egy kis ízelítő:
A logónk és Egy kép a GUI-ról (klikk a nagyobbért)

A versenyre idén is csapatunk jutott be a legtöbb ponttal, az elődöntőben a bejutás határának kétszeresénél is több pontot értünk el. Maga a döntő egy kis crackerkedéssel kezdődött, valahogy be kellett jutni arra a weboldalra, amely magát a feladatot tartalmazta. Ez sajnos a "hivatalos" úton nem ment, de a weboldalt kiszolgáló szerveren rejtetlenül maradt class fájl visszafejtésével meglett a jelszó, és a második leggyorsabb csapatként kezdhettük megoldani a fő feladatot.
Ez pedig nem más volt, mint - itt a gazdasági világválságban - egy szállítási feladat valamiféle megoldása olyan módon, hogy a kötelezően elvitelre kerülő csomagokon felül opcionális, licitálható csomagokat is elvihetőek voltak. Ha rálicitáltál másra, és el tudtad szállítani a csomagot, sok pénzt kaptál, viszont ha nem, sok mínuszt. 5 percig lehetett licitálni, majd további 7 percig megoldani a feladatot.
Nos, a mi stratégiánk annyi volt, hogy a 12 percet egyben tekintve egy Branch-and-bound algoritmussal kiszámolunk egy minél jobb utat, majd feltöltjük így ahogy van. Valószínűsítettük, hogy licitálni nem nagyon fog a többi csapat, mert túl rizikós.
A verseny végén 5 tesztnap volt, 5 szállítási feladattal. Az első három után még nyerő pozícióban voltunk, a negyedik napon -200.000 Ft-ot csúsztunk amiatt, hogy rossz binárist futtattunk, az ötödik napon egy algoritmikus (azóta sem ismert) bug miatt túlterheltük az autót, és újabb 200.000 Ft-ot buktunk, emiatt a negyedik helyre csúsztunk vissza.

Kicsit bántó dolog, hogy míg néhány csapat - köztük mi is, és a második helyezett is - algoritmust írt, addig néhányan egyszerűen annyit tettek, hogy a rendelkezésre álló 12 perc alatt valamilyen módon találtak egy egész jó megoldást, majd azt ránézésre, emberi beavatkozással, próbálkozva oldották meg, a végeredményeket pedig SQL inserttel írták vissza a táblába.

Összességében a feladat maga nem tetszett csapatunk tagjainak, az meg főleg nem derült ki, hogy melyik csapat tudott végülis jó algoritmust adni a problémára. Sajnos egyéb része nem volt ennek a jól nem felosztható problémának, szóval a fentebb látható GUI-nk sem lett értékelve.

Míg valaki itt meg van lepődve A programot teljes egészében C++-ban, Qt 4.5-tel írtuk. greenvirag javaslatára minden tárolót Qt-sre cseréltük ki, kihasználva pl.: a QVector implicit sharingen alapuló megvalósítából adódó gyors, és memóriahatékony működést. Qt-vel kezeltük az SQL-t, és a GUI-t is ezzel készítettük, felhasználva a webkit motort és egy kis Google Mapset. A program egyébként jól működött, 9 perc elteltével visszaadott egy jó túraútvonalat, és a GUI-n kirajzolta a három jármű útvonalát, különböző színekkel, a listában megjelnő címek pontos bejelülésével.

Tavaly lecsúsztunk az első helyről, idén még közelebb voltunk hozzá, mégis múlasztottunk. Emelt fővel, örömmel fogadtuk a harmadik helyezést, és ezúton gratulálunk másik HUP-os haverunknak, persicsb-nek, aki a második helyezett csapatban volt, és mivel egymással szemben ültünk, végig baromkodtunk. :)

Hozzászólások

"Emelt fővel, örömmel fogadtuk a harmadik helyezést, és ezúton gratulálunk másik HUP-os haverunknak, persicsb-nek, aki a második helyezett csapatban volt, és mivel egymással szemben ültünk, végig baromkodtunk. :)"

Csak egy szó van, ami a közös baromkodásról hirtelen eszembejutott, de azt most nem írom le, mert nem illik az oldal profiljába.

Grat nektek is!

Megvalami: nem csak a masodik es elso helyezett irt algoritmust, hanem tudtommal az elso is. :)

"A versenyre idén is csapatunk jutott be a legtöbb ponttal, az elődöntőben a bejutás határának kétszeresénél is több pontot értünk el."

Mennyi volt a határ, és mennyit értetek el?
Mert a moodle-ben nem derült ki, csak a saját pontokat lehetett látni, ha jól emlékszem. Most meg már le van zárva az egész, legalábbis a csapat loginjával már nem tudok belépni.
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.1 | 2.6.26.7-janos

Oh, milyen kár hogy a GUI nem volt a verseny része, ez a google map integrálás nagyon elmés, egyszerű, látványos. Gratulálok az eredményhez!

Hi!

Sajnos iden mar nem vehettem reszt a versenyen, viszont felugyelokent, kivulrol szemlelve a versenyt is erdekes volt.

Megegyszer gratulalok mindenkinek!

By(t)e
TBS::Antiemes

"Összességében a feladat maga nem tetszett csapatunk tagjainak, az meg főleg nem derült ki, hogy melyik csapat tudott végülis jó algoritmust adni a problémára."

En ugy vettem eszre, hogy az ert el ertekelheto eredmenyt, aki egy algoritmushoz ragaszkodott es vegig azzal dolgozott. Altalban a b&b megkozelites volt hasznos, a genetikus algoritmuson alapulo megoldasok elhasaltak, de szerintem ez inkabb a valasztott platformnak volt koszonheto (sokan a GA-t phpban akartak megvalositani).

Nalunk a problema a memoria volt, mint emlitettem. Kesobb rajottunk, lehetne ezen meg optimalizalni a tarolok cserejevel, de mar mindegy.

Azt nem tudom, hogy a Keep Coding Johnnie vegul mivel dolgozott, de szerintem a ti algoritmusotok volt a legjobb (ez az elso harom korben meg is latszott). A mienk sokszor a legelso feasible megoldasnak nem talalt mar jobbat, viszont a legelsot gyorsan (25-30 mp alatt) megtalalta, de utana megragadt a faban lepkedesre. A mi bajunk valszeg az volt, hogy nem tudtunk jo magasan vagasokat csinalni a fan.

Nálunk szépen ment a GA php-ben, pár másodperces futásidővel jó megoldásokat adott licittel együtt - bár nem mindig optimális-körülit, a kezdőpopuláció generálására ráfért volna még egy kis finomítás. Sajnos viszont hiába voltak a kapott ellenőrző szkript szerint is jók a megoldások, az éles szerver sokszor csak egy vagy két autót fogadott el, talán már sosem tudom meg miért. (Amikor minden autónk ment százikszezres profitot csináltunk :))

> Azt nem tudom, hogy a Keep Coding Johnnie vegul mivel dolgozott, de szerintem a ti algoritmusotok volt a legjobb (ez az elso harom korben meg is latszott).

Johnniek valami minimaxszal gyuorsan talaltak egy jotol nem messzi megoldast, aztan valamit kezzel butykoltek. Igazandibol nem vagyok benne biztos, hogy a mienk volt a legjobb algoritmus, mivel nalunk elofordult, hogy buktunk, olyan korben, amikor ti feljottetek. Szoval, majd ha sok idonk lesz, ossze kene hasonlitani :)

grat :)
__________________________________________________________
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 12.1 | 2.6.26.7-janos