36PAA - Batoh 2

Zad�n�

Definice probl�mu

Implementace

�lohu jsem implementoval v Jazyce C# jako konzolovou aplikaci. N�zev souboru se vstupn�mi daty je prvn� argument a je povinn�. Druh� argument je nepovinn� a ud�v� po�et opakov�n� v�po�tu jedn� instance (D�le�it� pouze p�i m��en� �asu).
Maxim�ln� jsem recykloval �lohu "batoh 1" (virtu�ln� t��da batoh a t��du program, kde je implementov�no m��en� �asu)

Nam��en� hodnoty a v�sledky

M��il jsem na NTB s procesorem Centino 1.4GHz, nastaven� max Performance p�i nap�jen� z adapt�ru. Pou�it� OS: Windows XP SP2 s .net Framework 2.

Tabulka: Srovn�n� v�po�etn�ch �as�

Proto�e rozli�en� ��ta�e (Environment.TickCount) je 16 ms, je nutn� instance spo��tat v�cekr�t a v�sledn� �as z�skat vyd�len�m po�tem opakov�n�. Po�et opakov�n� jsem nastavoval experiment�ln�, tak aby bylo rozli�en� �asu dostate�n�).

nhrub� s�la [ms]heuristika [ms] kombinovan� heuristika [ms]Dynamick� programov�n� [ms]B&B [ms]
40,0080,0070,0070,0270,007
100,0440,0150,0140,0630,033
151,2300,0210,0200,1680,13
2036,870,0270,0260,2683,43
22136,740,0300,0300,29214,24
251140,040,0340,0350,393101,33
274803,900,0360,0360,490400,76
3038723,100,0410,0390,6263371,26

Tabulka: Pr�m�rn� chyba heuristik

n410152022252730
jednoduch� heuristika2,17%1,29%0,48%0,60%0,69%0,50%0,50%0,49%
kombinovan� heuristika1,33%1,10%0,31%0,43%0,54%0,42%0,29%0,38%

Tabulka: Maxim�ln� chyba heuristik

n410152022252730
jednoduch� heuristika36,36%11,48%8,54%8,43%7,23%3,68%10,60%5,51%
kombinovan� heuristika24,75%11,48%2,77%4,08%3,02%2,59%1,85%1,75%

Graf: �asov� z�vislost

�asov� slo�itost

Graf: Z�vislost pr�m�rn� chyby na velikosti instance

Z�vislost pr�m�rn� chyby na velikosti instance

Graf: Z�vislost maxim�ln� chyby na velikosti instance

Z�vislost maxim�ln� chyby na velikosti instance

Z�v�r

Oproti "jednoduch�m" metod�m �e�en�, pou�it�ch v �loze batoh 1, je z graf� dob�e patrn� velk� sn�en� �asov� n�ro�nosti. Metoda v�tv� a hranic (B&B) p�in�� zlep�en� o jeden ��d oproti DFS. P�itom se jedn� o p�id�n� jedn� podm�nky.
Je�t� mnohem lep��ch v�sledk� dosahuje metoda dynamick�ho programovan�. Sice v porovn�n� s heuristikou (greedyProof) je o ��d pomalej��, ale oproti n� poskytuje v�dy optim�ln� �e�en�. Pouze si mus�me uv�domit pam�ovou slo�itost, kter� je d�na 2D polem, v tomto p��pad� M.n. P�id�n�m testu nejcenn�j�� v�ci do heuristiky se sn�ila pr�m�rn� a maxim�ln� chyba.