Hackujstát 3.0 očima druhého týmu Profinitu

Profinit tento rok kromě seniorního “Týmu 1” na Hackathonu (o kterém jste mohli číst minulý týden) zastupoval také tříčlenný juniorský “Tým A” v složení Tomáš Karella, Nikita Tishin a Vlado Vancák. Projekt jsme si samozřejmě dle Tomášova nápadu vybrali předem – na soutěž jsme jeli s cílem prozkoumat, jestli odlesňování skutečně ovlivňuje množství podzemní vody v ČR.

Tak jsme se i my, nadšeni a připraveni ukázat, co umíme, ocitli v pátek třináctého před budovou NKÚ. Navenek nenápadná akce s jediným malým plakátem ukazujícím na vstup do budovy – se po vstupu do zasedací místnosti změnila na hromadné setkání zástupců ministerstev, státních podniků, univerzit a medií. Nesmíme zapomenout ani na řešitele, kteří v tomto roku sestavili úctyhodných 19 týmů plných analytiků, programátorů, studentů a jiných nadšenců.

Po oficiálním představení datových sad a zahájení akce byl náš první úkol jasný – k datové sadě lesů, která obsahovala historická data o zalesnění ČR sehnat data o změnách podzemních vod. Datová sada měsíčných hladin řek během roku 2018 napovídala, že Ministerstvo zemědělství tato data má. Po diskuzi se zástupcem ministerstva ale náš projekt dostává první klacek pod nohy – ministerstvo nesmí uchovávat historická data. Jsme přesměrováni na další přítomné agentury, které data taky nemají. Obracíme se (telefonicky) na Český hydrometeorologický ústav, který má na webu odkaz na částečnou datovou sadu, ale link nefunguje. V pět hodin v pátek ale v ústavu už (mimo milé paní recepční) nikdo není, a tak projekt definitivně opouštíme…

Po další rešerši dostupných dat jsme se asi v devět hodin večer rozhodli pro optimalizace sběru odpadu v Brně. Úkolem naší aplikace bude na základě zadaných poloh kontejnerů tříděného odpadu navrhovat co nejlepší trasy pro popelářské vozy.

V první fázi sháníme způsob, jak zjistit vzdálenost mezi kontejnery, zadané pomocí GPS souřadnic. Rozhodujeme se využít Open Source Routing Machine (OSRM), vyvíjený společně s Open Street Maps. Řešíme také plánování, pokoušíme se využít TSP (Travelling Salesman Problem) solvery – většina z nich ale nefunguje pro malé množství vrcholů nebo jsou příliš pomalé. Nakonec se rozhodujeme pro využití heuristik a algoritmu A* pro nalezení sub-optimální cesty. Vznikají také první verze vizualizace ve webové aplikaci.

Zahajujeme noční fázi. Nikita volí pohodlnější možnost spánku ve své posteli, s Tomášem zůstáváme tvořit. V 5 ráno, po otázkách jako „kolik je 2×10“ noční šichtu ukončujeme a zabíráme místa na zemi a na parapetu úřadu.

Druhý den je ve znamení únavy, postupně ale dokončujeme demo aplikace. Navrhujeme systém detekce zaplněných kontejnerů – místo drahých senzorů v popelnicích vystavujeme web API, které s pomocí QR kódů umožní kontejner „nahlásit“. Tomáš dokončuje plánování, Nikita dodává propracovanou vizualizaci.

Tři minuty na prezentaci je pekelně krátká doba a v očích méně technických členů komise se naše poznámka o neexistenci efektivního řešení TSP mění v domněnku, že jsme úlohu vlastně vůbec nevyřešili. Umístnění na 10. – 13. místě je proto mírným zklamáním, odnášíme si ale super zkušenost, nové známosti a vizitku zástupce pražského Operátor ICT, který „se ozve, až budou mít data“! 🙂

 

Autor: Vlado Vancák

Junior Data Scientist