Úloha 1

Autor: Petr Chytil


Zadání

Zdrojový kód obou řešení



Změřená závislost výpočetního času na n




Měření byla provedena pomocí knihovní funkce System.nanoTime(), kterou jazyk Java poskytuje.
A to na stroji s procesorem Core Duo 1.66GHz a operačním systémem Windows XP 32bit.
Nebylo započítáváno načítaní dat ze souboru ani jejich zapisování na výstup.
U heuristiky byl započítán i čas potřebný k seřazení pole prvků dle zvoleného poměru cena/váha.

Změřené časy v nanosekundách jsou k nahlednutí v adresáři data.

Zhoršení

Průměrné zhoršení pro daný počet věcí v batohu jsem vypočítal jako aritmetický průměr relativnich chyb všech instancí.
Hodnota relatviní chyby v mém pojetí vyjadřuje o kolik procent je řešení metodou brute force lepši než řešení heuristikou.

n

10

15

20

22

25

27

30

32

prům. rel. chyba [%]

3,173311

1,244791

1,657391

1,41706

1,322055

1,504715

0,847584

1,083805



Relativní chyba

Maximální relativní chyba 10,5% byla naměřena u instance č. 9087 (viz adresář data).
Brute force zde dává celkovou cenu batohu 1059, zatímco u heuristiky dostáváme cenu pouze 948.

Data, z kterých byly zhoršení a relativní chyby počítány: vypocty.pdf.