Table of Contents

X36DSI: Zadání projektu č.1

Popis situace

Nadšený ornitolog hodlá v jedné lokalitě odchytit 100 ptáků. Každému chce připevnit na tělo malý komunikátor a poté ptáka vypustit zpět do přírody. Cílem ornitologa je studium zpěvné aktivity vybraných druhů pěvců.

Ornitolog si pro tento účel nechal vyrobit komunikátory, které obsahují vysílač, přijímač, mikropočítač, paměť a další podpůrné obvody a také baterii, která se dobíjí díky tělesné teplotě ptáka. Každý komunikátor je schopen komunikovat s libovolným jiným komunikátorem nebo se základnou ornitologa.

Ornitolog vás nyní žádá o pomoc s návrhem algoritmů pro komunikaci. Žádá, aby mu byla na základnu doručena informace o čase každého zahájení a ukončení zpěvové aktivity ptáka spolu s informací o souřadnicích ptáka. Nelze bohužel dopředu odhadnout, kdy se pták rozhodne zpívat. Pták může být zrovna mimo dosah nejen základny, ale i ostatních komunikátorů. Přesto je třeba v konečném čase informaci doručit, nesmí se ztratit. Využít lze faktu, že ptáci nejsou samotáři a rádi se druží (tj. čas od času lze komunikovat minimálně s jiným komunikátorem, lépe se základnou ornitologa).

Poznámka: Jedná se o oportunistickou ad-hoc síť, v okamžiku odesílání zprávy nemusí být vůbec cílová stanice v dosahu sítě. Přesto bude zpráva směrována a v konečném čase po připojení cílového uzlu i doručena.

Technické vlastnosti komunikátoru a vlastnosti prostředí

*** POZOR, NOVINKA ***

Ornitologa bude sponzorovat firma NuclearPower™ Batteries Ltd., která dodá miniaturní baterie s dlouhou životností. Tím odpadá problém malé kapacity baterie a jejího dobíjení. Nyní lze tedy vysílat neomezenou dobu bez nutnosti dobíjet baterii.

Úkol

Navrhněte jakýkoliv (funkční) algoritmus pro přenos zprávy na základnu ornitologa. Ověřte tento algoritmus pomocí výukového systému na SHO.

Simulace končí s posledním záznamem v simulačních datech (viz níže).

Zjistěte hodnotu Tmax, kterou lze popsat takto:

Jinak řečeno, Tmax je doba odpovídající časovému razítku vzniku nejmladší jedinečné informace po skončení simulace, přičemž všechny informace s časovým razítkem starším než je Tmax byly doručeny.

Hodnota Tmax bude zřejmě silně závislá na navrženém algoritmu. Aby byl algoritmus shledán funkčním, musí být Tmax >= délka_simulace / 2.

Spočítejte:

Sestavte log přehledně popisující putování jakékoliv jedné jedinečné informace od ptáka k základně ornitologa (s časovou informací).

Výsledky uveďte ve zprávě, kterou odevzdáte ve formátu PDF. Zpráva by měla kromě výše uvedeného obsahovat i popis Vašeho algoritmu a závěr, ve kterém algoritmus a jeho simulaci zhodnotíte.

Požadavky

Simulační data

Simulační data popisují souřadnice každého ptáka v každé sekundě a všechny “zpěvné” události. Data jsou kvůli úspoře místa uložena v poměrně divokém tvaru, doporučuji využít pro jejich načítání přiložený kus zdrojového kódu. Dále je možno využít program pro vizualizaci pohybu ptactva (viz generátor dat).

Poznámka: Simulační data slouží pouze k simulaci chování ptáků, nikoliv k věštění, jak se bude který pták chovat.

simulační data

Data jsou ke stažení zde: ptaci.zip (9890079 bytu, SHA1=56351b3fa54ce926cf9f901ba75e44ffa81d9b29)

ptaci.h

Můžete využít následující soubor, který vám vyřeší čtení simulačních dat: ptaci.h
Stačí vložit do hlavni.cc na začátek řádek: #include “ptaci.h” . Potom můžete využít funkce zjisti_delku_simulace() a nacti_dalsi_zaznamy():

unsigned long zjisti_delku_simulace() vrátí dobu simulace, pro kterou existují simulační data.

int nacti_dalsi_zaznamy() načte záznamy pro další sekundu a uloží je do polí

Návratová hodnota 1 hlásí úspěch, 0=konec simulace.

template pro úlohu

Můžete využít šablonu, která je upravenou verzí výukového SHO a obsahuje načítání dat pomocí funkcí v souboru ptaci.h. Ke stažení je zde: ptaci_template.tar.bz2

generátor simulačních dat a vizualizátor

K dispozici je i zdrojový kód generátoru simulačních dat, který jsem použil. Součástí je i program zobraz pro vizualizaci pohybu ptáků, doporučuji pro shlédnutí (vyžaduje OpenGL). Ovládá se mezerníkem, backspacem, enterem a klávesou esc.

Termín a způsob odevzdání

Nejzašší termín pro odevzdání projektu je 18.3.2010 (do konce cvičení). Za každý týden prodlení je penalizace -5 bodů.

Způsob odevzdání: Přes webový formulář http://dsn.felk.cvut.cz/cgi-bin/silaz?uloha=x36dsi_2

Pokud nestíháte termín odevzdání, odevzdejte pouze program a zprávu odevzdejte později (max. do 1 týdne).

Dotazy ?

Dotazy směřujte na xsmitka(zavináč)fel.cvut.cz.

Literatura

Výzkum zpěvné aktivity vybraných druhů pěvců