Wroc艂aw,
Struktury danych i z艂o偶ono艣膰 obliczeniowa.
Projekt 2
Temat: Badanie efektywno艣ci algorytm贸w pseudowielomianowych.
1. Cele.
Implementacja optymalnego algorytmu rozwi膮zuj膮cego binarny problem plecakowy i zbadanie czas贸w jego dzia艂ania dla r贸偶nych parametr贸w
2. Informacje dotycz膮ce j臋zyka oraz sprz臋tu na kt贸rym wykonywany jest eksperyment.
Program zosta艂 napisany w j臋zyku C++ oraz skompilowany w kompilatorze DevC++. Do艣wiadczenie wykonali艣my na komputerze z procesorem Pentium Dual-Core T4300 2x2.10 GHz. Komputer posiada 3GHz pami臋ci RAM.
3. Opracowanie wynik贸w pomiar贸w.
3. 1. W zale偶no艣ci od zmieniaj膮cej si臋 liczby element贸w.
Rysunek 1
Z powy偶szego wykresu wynika, 偶e czas wykonywania algorytmu ro艣nie wraz ze wzrostem liczby element贸w w spos贸b liniowy. Wykresy oczywi艣cie r贸偶ni膮 si臋 od siebie tempem wzrostu oraz punktem pocz膮tkowym. Wynika to z obj臋to艣ci plecaka. Im wi臋kszy plecak tym pocz膮tkowy czas wykonywania jest wi臋kszy, tak samo jak tempo wzrostu.
3. 2. W zale偶no艣ci od rozmiaru plecaka.
Rysunek 2
Z kolei ten wykres przedstawia czasy dzia艂ania w zale偶no艣ci od rozmiaru plecaka. Mo偶emy zauwa偶y膰, 偶e tempo wzrostu czasu dzia艂ania jest mniejsze ni偶 w przypadku wykresu 1 (Rys. 1). Tak jak powy偶ej wykresy r贸偶ni膮 si臋 czasem pocz膮tkowym, kt贸ry w tym przypadku wynika z liczby element贸w. Ma ona r贸wnie偶 wp艂yw na tempo wzrostu czasu dzia艂ania.
4. Tabele pomiarowe.
j |
B |
T[ms] |
1000 |
1000 |
31 |
1000 |
1000 |
28 |
1000 |
1000 |
19 |
1000 |
1000 |
20 |
1000 |
1000 |
31 |
艣rednia |
26 |
|
2000 |
1000 |
67 |
2000 |
1000 |
49 |
2000 |
1000 |
65 |
2000 |
1000 |
45 |
2000 |
1000 |
64 |
艣rednia |
58 |
|
3000 |
1000 |
116 |
3000 |
1000 |
54 |
3000 |
1000 |
135 |
3000 |
1000 |
151 |
3000 |
1000 |
71 |
艣rednia |
105 |
|
4000 |
1000 |
291 |
4000 |
1000 |
185 |
4000 |
1000 |
192 |
4000 |
1000 |
74 |
4000 |
1000 |
84 |
艣rednia |
165 |
|
5000 |
1000 |
250 |
5000 |
1000 |
249 |
5000 |
1000 |
272 |
5000 |
1000 |
239 |
5000 |
1000 |
84 |
艣rednia |
219 |
|
1000 |
2000 |
41 |
1000 |
2000 |
35 |
1000 |
2000 |
41 |
1000 |
2000 |
42 |
1000 |
2000 |
41 |
艣rednia |
40 |
|
2000 |
2000 |
93 |
2000 |
2000 |
94 |
2000 |
2000 |
102 |
2000 |
2000 |
94 |
2000 |
2000 |
94 |
艣rednia |
95 |
|
3000 |
2000 |
159 |
3000 |
2000 |
158 |
3000 |
2000 |
103 |
3000 |
2000 |
104 |
3000 |
2000 |
103 |
艣rednia |
125 |
|
4000 |
2000 |
237 |
4000 |
2000 |
237 |
4000 |
2000 |
238 |
4000 |
2000 |
237 |
4000 |
2000 |
234 |
艣rednia |
237 |
|
5000 |
2000 |
328 |
5000 |
2000 |
331 |
5000 |
2000 |
330 |
5000 |
2000 |
328 |
5000 |
2000 |
172 |
艣rednia |
298 |
|
1000 |
3000 |
53 |
1000 |
3000 |
58 |
1000 |
3000 |
59 |
1000 |
3000 |
59 |
1000 |
3000 |
59 |
艣rednia |
58 |
|
2000 |
3000 |
105 |
2000 |
3000 |
130 |
2000 |
3000 |
130 |
2000 |
3000 |
105 |
2000 |
3000 |
130 |
艣rednia |
120 |
|
3000 |
3000 |
159 |
3000 |
3000 |
214 |
3000 |
3000 |
158 |
3000 |
3000 |
214 |
3000 |
3000 |
214 |
艣rednia |
192 |
|
4000 |
3000 |
209 |
4000 |
3000 |
316 |
4000 |
3000 |
212 |
4000 |
3000 |
213 |
4000 |
3000 |
310 |
艣rednia |
252 |
|
5000 |
3000 |
418 |
5000 |
3000 |
419 |
5000 |
3000 |
263 |
5000 |
3000 |
417 |
5000 |
3000 |
261 |
艣rednia |
356 |
|
1000 |
4000 |
77 |
1000 |
4000 |
86 |
1000 |
4000 |
78 |
1000 |
4000 |
77 |
1000 |
4000 |
77 |
艣rednia |
79 |
|
2000 |
4000 |
166 |
2000 |
4000 |
141 |
2000 |
4000 |
139 |
2000 |
4000 |
167 |
2000 |
4000 |
168 |
艣rednia |
156 |
|
3000 |
4000 |
273 |
3000 |
4000 |
268 |
3000 |
4000 |
212 |
3000 |
4000 |
208 |
3000 |
4000 |
262 |
艣rednia |
245 |
|
4000 |
4000 |
283 |
4000 |
4000 |
380 |
4000 |
4000 |
380 |
4000 |
4000 |
380 |
4000 |
4000 |
380 |
艣rednia |
361 |
|
5000 |
4000 |
350 |
5000 |
4000 |
503 |
5000 |
4000 |
504 |
5000 |
4000 |
347 |
5000 |
4000 |
504 |
艣rednia |
442 |
|
1000 |
5000 |
96 |
1000 |
5000 |
94 |
1000 |
5000 |
89 |
1000 |
5000 |
95 |
1000 |
5000 |
94 |
艣rednia |
94 |
|
2000 |
5000 |
199 |
2000 |
5000 |
199 |
2000 |
5000 |
201 |
2000 |
5000 |
200 |
2000 |
5000 |
201 |
艣rednia |
200 |
|
3000 |
5000 |
319 |
3000 |
5000 |
320 |
3000 |
5000 |
261 |
3000 |
5000 |
262 |
3000 |
5000 |
319 |
艣rednia |
296 |
|
4000 |
5000 |
350 |
4000 |
5000 |
450 |
4000 |
5000 |
449 |
4000 |
5000 |
449 |
4000 |
5000 |
349 |
艣rednia |
409 |
|
5000 |
5000 |
437 |
5000 |
5000 |
598 |
5000 |
5000 |
613 |
5000 |
5000 |
597 |
5000 |
5000 |
459 |
艣rednia |
541 |
Tabela 1Wyniki pomiar贸w
j |
B |
t |
1000 |
1000 |
26 |
2000 |
1000 |
58 |
3000 |
1000 |
105 |
4000 |
1000 |
165 |
5000 |
1000 |
219 |
1000 |
2000 |
40 |
2000 |
2000 |
95 |
3000 |
2000 |
125 |
4000 |
2000 |
237 |
5000 |
2000 |
298 |
1000 |
3000 |
58 |
2000 |
3000 |
120 |
3000 |
3000 |
192 |
4000 |
3000 |
252 |
5000 |
3000 |
356 |
1000 |
4000 |
79 |
2000 |
4000 |
156 |
3000 |
4000 |
245 |
4000 |
4000 |
361 |
5000 |
4000 |
442 |
1000 |
5000 |
94 |
2000 |
5000 |
200 |
3000 |
5000 |
296 |
4000 |
5000 |
409 |
5000 |
5000 |
541 |
Tabela 2 U艣rednione wyniki
5. 4. Wnioski og贸lne.
Algorytm jest zale偶ny zar贸wno od liczby element贸w, jak i rozmiaru plecaka. Jednak najwi臋kszy wp艂yw na szybko艣膰 wykonywania ma liczba element贸w.
Dla ma艂ej liczby element贸w wzrost rozmiaru plecaka ma minimalny wp艂yw na przyrost czasu wykonywania, natomiast w przypadku du偶ej liczby element贸w wzrost ten jest ju偶 znaczniejszy.
- 1 -