iSYSTEM iZZIV

Izdelaj kompresijske in dekompresijske algoritme

Denarni sklad 2000€

Kako sodelovati?

Letošnji izziv bo zajemal reševanje kompresijske in dekompresijske algoritme. Tekmovalci bodo pripravili algoritme, katere bomo ocenjevali po vnaprej določenih kriterijih.

 1. Prijavi se na tekmovanje! 

Tekmovalci se lahko na tekmovanje prijavite do vključno 8.3.2022 na sledeči povezavi - prijavnica

 

 2. Implementiraj algoritma, za katera boš dobil .h datoteko.

Naloga je čimbolj učinkovito komprimirati podatke glede na različne načine delovanja.

Algoritem mora biti stabilen - noben vhoden podatek ne sme povzročiti sesutja programa. V primeru, da se program sesuje, je tekmovalec izločen iz tekmovanja.

V kolikor algoritem zazna, da podatki niso stisljivi, mora funkcija vrniti false.

iSYSTEM bo delovanje algoritma preverjal na specifičnih datotekah, ki ustrezajo uporabi v podjetju. Tekmovalci dobijo vzorce teh datotek, podobne (vendar ne identične) datoteke pa bodo uporabljene tudi pri končnem ocenjevanju.

iSYSTEM iZZIV .h in .cpp datoteki dobiš tukaj

Vzorčne datoteke so na voljo tukaj

 

 3. Implementiraj algoritem na računalniku!

V prvem krogu bodo tekmovalci algoritem implementirali na računalnik v eni sami niti. Programsko kodo in makefile morajo najkasneje do 15.4.2022 poslati podjetju iSYSTEM, sicer se smatra, da so odstopili iz tekmovanja.

Pogoji za uvrstitev v drugi krog:

  • pravilno delovanje algoritma - podatki, ki so najprej kompresirani in potem dekompresirani, morajo ostati nespremenjeni
  • zadovoljiva učinkovitost kompresije (v vseh načinih delovanja) - velikost kompresiranih podatkov ne sme presegati 50% vhodnih podatkov za testne datoteke
  • algoritem mora delovati v eni sami niti

Rezultati prvega kroga bodo v anonimni obliki (z vzdevki) objavljeni na spletni strani podjetja iSYSTEM in bodo služili kot dodatna spodbuda za izboljšave v drugem krogu.

 

 4. Implementiraj nalogo na Raspberry Pi Zero 2 W

V drugem krogu se identična naloga naredi še na Raspberry Pi Zero 2 W. Te bo tekmovalcem poslal iSYSTEM. Programsko kodo in makefile morajo najkasneje do 15.5.2022 poslati podjetju iSYSTEM, sicer se smatra, da so odstopili iz tekmovanja.

Pravila tekmovanja

1. Organizator

Organizator tekmovanja je podjetje iSYSTEM Labs d.o.o., ki zagotavlja nagradni sklad v višini 2.000€.

2. Partnerji

Partnerji so:

  • Fakulteta za Matematiko in Fiziko (FMF)
  • Fakulteta za elektrotehniko (FE)
  • Fakulteta za računalništvo in informatiko (FRI)

3. Časovni potek

Datum Opis
8.3.2022 Začetek tekmovanja (sprejeta bo vsaka prijava)
15.4.2022 Zaključek prvega kroga
15.5.2022 Zadnji dan za oddajo končnega algoritma
20.5.2022 Zaključna predstavitev

4. Predstavitev projekta, razglasitev zmagovalcev in razdelitev nagradnega sklada

V kolikor bodo razmere to dovoljevale, bo zaključna predstavitev izvedena v živo. Na zaključni predstavitvi bo iSYSTEM predstavil praktične primere iz industrije, kjer je izkazano znanje kompresije ključnega pomena. Sledila bo slovesna razglasitev zmagovalcev ter podelitev nagrad.

  • Prva nagrada: 1.000 EUR (bruto)
  • Druga nagrada: 600 EUR (bruto)
  • Tretja nagrada: 400 EUR (bruto)

5. Kriteriji ocenjevanja

Ocenjuje se po spodaj navedenih kriterijih ocenjevanja, ki so med seboj enakovredni. V primeru izenačenega rezultata o višjem mestu odloča predstavitev in izkazano razumevanje algoritma, ki se upošteva zgolj v tem primeru. Ocenjevalna komisija bo za vsakega tekmovalca pripravila 2-3 vprašanja.

  • Pravilnost delovanja (v kolikor po izvedeni kompresiji in dekompresiji podatki niso več enaki prvotnim podatkom, se ostalih postavk ne ocenjuje, tekmovalec izpade iz tekmovanja)
  • Čas, potreben za kompresijo podatkov
  • Čas, potreben za dekompresijo podatkov
  • Velikost kompresirane datoteke (učinkovitost kompresije)
  • Velikost programa

Točke 1 - 4 se ocenjujejo v vseh treh načinih delovanja, vendar so vse razen glavna ocenjevana operacija obtežene z 0.5.

Tekmovalci bodo ob vsakem kriteriju razvrščene od najboljšega do najslabšega. Najboljši dobi 1 točko, drugi najboljši 2 točki itd. Zmaga tekmovalec, ki v seštevku zbere najmanj točk.

Primer ocenjevanja: 

Kategorija Uvrstitev / pravilnost Utež Točke
Optimiziraj čas kompresije
1 - Pravilnost Pravilno / /
2 - Čas kompresije 2 1 2
3 - Čas dekompresije 5 0,5 2,5
4 - Učinkovitost 7 0,5 3,5
Optimiziraj čas dekompresije
1 - Pravilnost Pravilno / /
2 - Čas kompresije 8 0,5 4
3 - Čas dekompresije 1 1 1
4 - Učinkovitost 3 0,5 1,5
Optimiziraj učinkovitost kompresije
1 - Pravilnost Pravilno / /
2 - Čas kompresije 4 0,5 2
3 - Čas dekompresije 3 0,5 2
4 - Učinkovitost 2 1 2
Splošno
5 - Velikost programa 2 1 1
Seštevek 22

6. Udeleženci tekmovanja

Tekmovanja se lahko udeležijo študentje, ki so se pripravljeni lotiti opisanega izziva. Zaradi zagotavljanja objektivnega ocenjevanja predstavljenih projektov se tekmovanja ne morejo udeležiti:
  • Bližnji sorodniki zaposlenih v podjetju iSYSTEM Labs ter na FE, FRI in FMF (otroci in sorojenci)
  • Študentje, ki so v podjetju iSYSTEM Labs v zadnjih 6 mesecih opravljali obvezno prakso oz delali preko študentskega servisa

7. Izvedba tekmovanja

Organizator si pridržuje pravico, da tekmovanja ne izvede, če je število prijavljenih projektov, ki zadoščajo minimalnim zahtevam navedenih pod točko 3, manjše od pet.

Imaš vprašanje?

Piši nam na isystem.izziv@isystem.si!