Experimentální hodnocení kvality algoritmů



Podobné dokumenty
Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

Řešení problému vážené splnitelnosti booleovské formule pokročilou iterativní metodou

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

2. úkol MI-PAA. Jan Jůna (junajan)

MI-PAA. úkol č.3. Řešení problému batohu dynamickým programováním, metodou větví a hranic a aproximativním algoritmem

Citlivostní analý za pojistna sazba

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

ČVUT FEL X36PAA - Problémy a algoritmy. 5. úloha - Seznámení se se zvolenou pokročilou iterativní metodou na problému batohu

DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU

Mendelova zemědělská a lesnická univerzita v Brně

Elektronizace správních řízení a jejich příprava na základní registry

Semestrální práce KIV/PC Řešení kolizí frekvencí sítě vysílačů Zdeněk Bečvář A14B0466P 10. ledna 2016

ZADÁVACÍ DOKUMENTACE

Testovací protokol. OpenSSL 1.0.0e. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: JSignPDF 1.1.1

Kupní smlouva o dodávce IT vybavení 2013

Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. referát do předmětu: Pokročilé architektury počítačů.

Metodický list č.1. Vladimír Smejkal: Grada, 1999, ISBN (a další vydání)

Strana Strana 27-7

ZADÁVACÍ DOKUMENTACE K VEŘEJNÉ ZAKÁZCE: DODÁVKA VÝPOČETNÍ TECHNIKY. Stránka 1 z 13

Zadavatel: Předmět plnění: Specifikace poptávaného zboží : Termín plnění zakázky: Místo plnění zakázky:

Porovnání rychlosti mapového serveru GeoServer při přístupu k různým datovým skladům

Integrace prostředí pomocí TDI v praxi

Výzva k podání nabídek (pro účely uveřejnění na nebo www stránkách krajů)

Zadání vzorové úlohy výpočet stability integrálního duralového panelu křídla

Mgr. Filip Kořínek, starosta v. r.

MĚSTSKÁ ČÁST PRAHA 12 RADA MĚSTSKÉ ČÁSTI USNESENÍ. č. R ze dne

Výzva k podání nabídek (pro účely uveřejnění na

ZADÁVACÍ DOKUMENTACE

- kvalitní dokumentace k SW je vyžadovaným STANDARDEM. vzájemná provázanost SW (IS) ve velkých společnostech. aktuální přehledná srozumitelná

Město Rokytnice v Orlických horách, náměstí Jindřicha Šimka 3, Rokytnice v Orlických horách

Technická specifikace předmětu zakázky

ZADÁVACÍ DOKUMENTACE

Aritmetika s velkými čísly na čipové kartě

TECHNICKÁ SPECIFIKACE

Popis prostředí MOSAIC Programové prostředí MOSAIC nastavení prostředí. Po spuštění Mosaiku se objeví okno Výběr skupiny projektů

Zadávací dokumentace

s názvem Konsolidace HW technologického centra Moravská Třebová

Informace ke stavu celoměstsk xxx

Příloha 1 - stav oběhu papírových dokumentů před implementací systému



dle ustanovení 44 zákona č. 137/2006 Sb., o veřejných zakázkách (dále jen zákon )

PRAKTIKUM I. Oddělení fyzikálních praktik při Kabinetu výuky obecné fyziky MFF UK

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

Technická specifikace předmětu zakázky

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 11. Testovaný generátor: Portecle 1.

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

DigiScan DS-01/DS-02

Zadávací dokumentace pro výběrové řízení na dodávku HW a SW pro Attavenu, o.p.s. VÝZVA K PODÁNÍ NABÍDKY

Návrh výměníku pro využití odpadního tepla z termického čištění plynů

Písemná zpráva zadavatele

Výzva k podání nabídky a zadávací dokumentace

Fujitsu Siemens Lifebook S752

Vysoká škola ekonomická v Praze Fakulta financí a účetnictví BAKALÁŘSKÁ PRÁCE

Streaming multimediálního obsahu s

Vlastnosti produktu. Neutuchající pracovní nasazení s HAL3000 EliteWork

Základní škola, Most, Albrechtická 414, příspěvková organizace

Herní PC HAL3000 Artemis výkonný lovec pro nekončící zábavu

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

v Praze mezi kanály EEG Ondřej Drbal 5. ročník, stud. sk. 9

Představení: Luxusní notebook - tablet Toshiba v akci

Vlastnosti produktu. Neutuchající pracovní nasazení s HAL3000 EliteWork

Výzva k podání nabídky včetně zadávací dokumentace na veřejnou zakázku malého rozsahu


Výměna Databázového serveru MS SQL

Implementace A* algoritmu na konkrétní problém orientace v prostoru budov

VÝZVA A ZADÁVACÍ DOKUMENTACE

Zpráva o plnění cílů projektu VISK3. WebArchiv - vytvoření podmínek pro zpřístupnění českých webových zdrojů

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou.

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Město Vyškov Vás vyzývá k podání cenové nabídky na dodávku výpočetní techniky č. 2/2013. Zadavatel:

STATUTÁRNÍ MĚSTO OPAVA

Informační Systém pro Psychiatrii HIPPO

ADDAT HEAT Control - Návod k použití - verze 2.07 (firmware 1.44)

2 Popis softwaru Administrative Management Center

Virtualizace koncových stanic Položka Požadováno Nabídka, konkrétní hodnota

OZNÁMENÍ O ZÁMĚRU PRODAT NEPOTŘEBNÝ MAJETEK IV.

Výzva k podání nabídek, na kterou se nevztahuje zadávací řízení dle zákona č. 137/2006 Sb.

Článek I Předmět smlouvy 1. Prodávající se touto smlouvou zavazuje:

1 Test 1 naivní vs standardní

Mini PC HAL3000 NUC Passive Kč s DPH

Zadávací dokumentace k výzvě k podání nabídky na dodávku 11 Notebooků dle specifikace

Břetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.

aniel Dvořák, Martin Mičan Liberec Windows Server 2012/R2 Migrační scénáře

Pokročilé architektury počítačů

Zadávací podmínky soutěže: Dodávka HW a SW vybavení pro střediska SIM na území ČR. Zadavatel:

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Příklad bezprostředně navazuje na předchozí příklad č. 17. Bez zvládnutí příkladu č. 17 není možné pokračovat

Kč s DPH HAL3000 TITAN X spoutejte sílu nejvýkonnějších technologií

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

Obchodní podmínky IZIO účinné od

ZADÁVACÍ DOKUMENTACE PRO VEŘEJNOU ZAKÁZKU

2.1 Obecné parametry Obecné parametry Rack serveru

Zkušenosti z MPZ stanovení TZL 2009 na prašné trati a jejich další směr

Příloha č P11

Technická specifikace ČÁST 1. Místo plnění: PČR Kriminalistický ústav Praha, Bartolomějská 10, Praha 1

Transkript:

24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk Experimentální hodnocení kvality algoritmů 1 SPECIFIKACE ÚLOHY Cílem tohoto úkolu bylo ohodnotit různé algoritmy pro řešení problému batohu. Předmětem hodnocení je především citlivost výpočetní náročnosti jednotlivých algoritmů na vstupní data (na hodnoty), která jsou generována konfigurovatelným generátorem. Je hodnocena také jejich kvalita. Zpráva obsahuje několik grafů znázorňující různé závislosti na datech a jejich objasnění. Více informací viz odpovídající stránka na Eduxu. 2 ROZBOR MOŽNÝCH VARIANT ŘEŠENÍ Protože v této úloze již nejde o implementaci, bylo pouze třeba se rozhodnout, jakým způsobem provádět měření. Zvolil jsem před zcela ručním spouštěním testů na generovaných datech raději jednoduchý skript, na jehož výstupu dostávám naměřená data oddělená tabulátorem, odkud je stačilo nakopírovat do Excelu za účelem vytvoření tabulek a grafů. 3 POPIS POSTUPU ŘEŠENÍ A ALGORITMU Před začátkem měření jsem provedl několik zkušebních testů za účelem zjištění, na jakých hodnotách je vhodné zafixovat proměnné generátoru, které právě netestuji. Také bylo třeba se rozhodnout, jaké algoritmy na co testovat, protože úplně algoritmy nemá smysl testovat na kvalitu a heuristiky (v mém případě) na čas Rozhodl jsem se pro následující. Test doby běhu: Dynamické programování, Větve a hranice. Test kvality: Heuristika dle poměru cena/váha, heuristika dle ceny (hladová). Testovat kvalitu u Dynamického programování a Větví a hranic nemá smysl, protože jde o úplné algoritmy, které vždy naleznou optimální řešení, pokud existuje. Testovat dobu běhu u heuristik nemá smysl, protože nezávisle na datech je vždy O(n*log(n)). Výpočetní náročnost jsem se rozhodl měřit jednoduše jako doposud čas běhu. Počítat testované stavy by sice bylo vhodnější, ale vzhledem k tomu, že všechny testy proběhly na stejném stroji, se stejně implementovanými datovými struktury, rozdíl by byl minimální a všechny trendy je možné vidět i takto. 1

24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4 NAMĚŘENÉ VÝSLEDKY 4.1 HW / SW KONFIGURACE TESTOVACÍHO SYSTÉMU CPU Intel Core 2 Duo; 2.26 GHz, 2.27 GHz 4 GB RAM OS Windows 8 64-bit Java 7 4.2 ZPŮSOB MĚŘENÍ Čas byl měřen pomocí třídy ThreadMXBean a byl průměrován přes všechny instance velikosti 2, kterou jsem zvolil jako dostatečně velkou při stále poměrně rychlém výpočtu. Relativní chyby heuristik jsem počítal dle vzorce ε = ( C(OPT) - C(APX) ) / C(OPT) a byly počítány průběžně, ne na finálním součtu cen. 4.3 VÝSLEDKY Většina tabulek s daty jsou z důvodu velikosti vynechány. Interpretace výsledků je v závěru. 4.3.1 Měření času 4.3.1.1 Vliv maximální hmotnosti Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze,7 maximální váha věci 25-5 maximální cena věci 2 exponent k 1-1..více malých věcí, 1..více velkých věcí,..rovnováha 2

Doba běhu [ns] Doba běhu [ns] 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.1.1.1 Dynamické programování 335 33 325 32 315 31 35 3 295 Citlivost Dynamického pr. na maximální hmotnost 1 2 3 4 5 6 maximální hmotnost předmětu 4.3.1.1.2 Větve a hranice 5 45 4 35 3 25 2 15 1 5 Citlivost B&B na maximální hmotnost 1 2 3 4 5 6 maximální hmotnost předmětu 3

Doba běhu [ns] Doba běhu [ns] 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.1.2 Vliv maximální ceny Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze,7 maximální váha věci 1 maximální cena věci 1 1 exponent k 1-1..více malých věcí, 1..více velkých věcí,..rovnováha 4.3.1.2.1 Dynamické programování 9 8 7 6 5 4 3 2 1 Citlivost Dynamického pr. na maximální cenu 1 2 3 4 5 6 7 8 9 1 maximální cena předmětu 4.3.1.2.2 Větve a hranice 5 45 4 35 3 25 2 15 1 5 Citlivost B&B na maximální cenu 1 2 3 4 5 6 7 8 9 1 maximální cena předmětu 4

Doba běhu [ns] 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.1.3 Vliv poměru kapacity batohu k sumární váze Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze. 1. maximální váha věci 1 maximální cena věci 3 exponent k 1-1..více malých věcí, 1..více velkých věcí,..rovnováha 4.3.1.3.1 Dynamické programování Citlivost Dynamického pr. na poměru kapacity / váha 45 4 35 3 25 2 15 1 5,,2,4,6,8 1, 1,2 poměr kapacity batohu k sumární váze 4.3.1.3.2 Větve a hranice poměru kapacity batohu k sumární váze doba běhu [ns],1 625,2 4625,3 96875,4 121875,5 1625,6 65625,7 375,8 28125,9 1875 1, 15625 5

Doba běhu [ns] 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 14 12 1 Citlivost B&B na poměru kapacity / váha 8 6 4 2,,2,4,6,8 1, 1,2 poměr kapacity batohu k sumární váze 4.3.1.4 Vliv granularity Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze,7 maximální váha věci 3 maximální cena věci 1 exponent k -1-1..více malých věcí, 1..více velkých věcí, 1, -1..rovnováha 6

Doba běhu [ns] Doba běhu [ns] 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.1.4.1 Dynamické programování pro d=1 Citlivost Dynamického pr. na granularitě; spíše větší 4 35 3 25 2 15 1 5 2 4 6 8 1 12 exponent k 4.3.1.4.2 Dynamické programování pro d=-1 Citlivost Dynamického pr. na granularitě; spíše menší 4 35 3 25 2 15 1 5 2 4 6 8 1 12 exponent k 7

Doba běhu [ns] Doba běhu [ns] 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.1.4.3 Větve a hranice pro d=1 4 Citlivost B&Bna granularitě; spíše větší 35 3 25 2 15 1 5 2 4 6 8 1 12 exponent k 4.3.1.4.4 Větve a hranice pro d=-1 6 Citlivost B&B na granularitě; spíše menší 5 4 3 2 1 2 4 6 8 1 12 exponent k 8

Relativní chyba 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2 Měření kvality 4.3.2.1 Vliv maximální hmotnosti Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze,7 maximální váha věci 25-5 maximální cena věci 2 exponent k 1-1..více malých věcí, 1..více velkých věcí,..rovnováha 4.3.2.1.1 Greedy heuristika,25 Citlivost Greedy heur. na maximální hmotnost,2,15,1,5 1 2 3 4 5 6 maximální hmotnost předmětu 9

Relativní chyba 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2.1.2 Heuristka podle poměru cena/váha,6 Citlivost Poměrové heur. na maximální hmotnost,5,4,3,2,1 1 2 3 4 5 6 maximální hmotnost předmětu 4.3.2.2 Vliv maximální ceny Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze,7 maximální váha věci 1 maximální cena věci 1 1 exponent k 1-1..více malých věcí, 1..více velkých věcí,..rovnováha 1

Relativní chyba Relativní chyba 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2.2.1 Greedy heuristika,16 Citlivost Greedy heur. na maximální cenu,14,12,1,8,6,4,2 1 2 3 4 5 6 7 8 9 1 maximální cena předmětu 4.3.2.2.2 Heuristka podle poměru cena/váha,6 Citlivost Poměr. heur. na maximální cenu,5,4,3,2,1 1 2 3 4 5 6 7 8 9 1 maximální cena předmětu 11

Relativní chyba 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2.3 Vliv poměru kapacity batohu k sumární váze Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze. 1. maximální váha věci 1 maximální cena věci 3 exponent k 1-1..více malých věcí, 1..více velkých věcí,..rovnováha 4.3.2.3.1 Greedy heuristika,2 Citlivost Greedy heur. na poměru kapacity / váha,15,1,5,,2,4,6,8 1, 1,2 -,5 poměr kapacity batohu k sumární váze 12

Relativní chyba 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2.3.2 Heuristka podle poměru cena/váha Citlivost Poměr. heur. na poměru kapacity / váha,25,2,15,1,5,,2,4,6,8 1, 1,2 -,5 poměr kapacity batohu k sumární váze 4.3.2.4 Vliv granularity Zvolené parametry generátoru: Parametr Hodnota počet věcí 2 počet instancí 5 poměr kapacity batohu k sumární váze,7 maximální váha věci 3 maximální cena věci 1 exponent k -1-1..více malých věcí, 1..více velkých věcí, 1, -1..rovnováha 13

Relativní chyba Relativní chyba 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2.4.1 Greedy heuristika pro d=1,16,14,12,1 Citlivost Greedy heur. na granularitě; spíše větší,8,6,4,2 2 4 6 8 1 12 exponent k 4.3.2.4.2 Greedy heuristika pro d=-1 Citlivost Greedy heur. na granularitě; spíše menší,2,18,16,14,12,1,8,6,4,2 2 4 6 8 1 12 exponent k 14

Relativní chyba Relativní chyba 24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2.4.3 Heuristka podle poměru cena/váha pro d=1 Citlivost Poměr. heur. na granularitě; spíše větší,5,45,4,35,3,25,2,15,1,5 2 4 6 8 1 12 exponent k 4.3.2.4.4 Heuristka podle poměru cena/váha pro d=-1,8,7,6,5 Citlivost Poměr. heur. na granularitě; spíše menší,4,3,2,1 2 4 6 8 1 12 exponent k 15

24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk 4.3.2.5 FPTAS Všechny výše měřené parametry jsem vyzkoušel i na algoritmu FPTAS pro ε =,3. Nepodařilo se mi vypozorovat žádný jednoznačný trend či chování algoritmu, kromě těch vycházejících z Dynamického programování. 5 ZÁVĚR 5.1 RYCHLOST Na základě mých měření ani Dynamické programování ani B&B nevykazuje závislost na maximální hmotnosi předmětů. S přihlédnutím k faktu, jak tyto algoritmy pracují, je toto očekávané chování. Jak je vidět z grafů, doba běhu Dynamického programování je závislá na maximální ceně předmětů. Rozdíl mezi dobou běhu pro předměty o maximální ceně 1 a 1 je o něco málo více než dvojnásobek. Je třeba zmínit, že tato závislost není horší než lineární a tento jev je očekáváný, protože doba běhu dynamického programování je přímo závislá na velikosti vyplňované tabulky, jejíž jeden rozměr je dán součtem cen všech předmětů. U algoritmu B&B se neprojevila žádná citlivost na maximální cenu, což je očekávané, protože v implementaci tohoto algoritmu není žádné urychlení, které by mohlo být pouze maximální cenou ovlivněno. Poměr kapacity batohu k sumární váze předmětů způsobuje růst doby běhu Dynamického programování přibližně lineárně až do stavu, kdy se nám do batohu vejdou předměty všechny. Je to způsobené tím, že při nižších hodnotách tohoto parametru jsou generovány věci větší hmotnosti a je tak možné dříve zamezit vykonávání určité větve rekurze Dynamického programování (má implementace je zdola nahoru). U algoritmu B&B průběh vypadá jako obrácená parabola. Tedy nejrychleji algoritmus běží při nízkém a velkém poměru. Při nastavení, kdy se do batohu vejde přibližně polovina předmětů, je nejpomalejší. Toto je způsobené tím, že při nízkých hodnotách poměru se projevuje ořezávání vlivem přetížení a při vysokých zase ořezávání vlivem ceny hranice. Citlivost doby běhu obou algoritmů na granularitu zdá se není. Pouze v případě B&B se zdá, že je o něco rychlejší spíše pro větší předměty. To je ale ovlivněno také hodnotou poměru kapacity batohu k sumární váze, která byla pro účely tohoto měření zafixována na hodnotě,7. Obecně toto tvrdit nelze. Oba algoritmy jsou úplné a mají proto kvalitu 1%. Algoritmus B&B je méně citlivý na vstupní data, je ovlivněný pouze poměrem kapacity batohu k sumární váze. 5.2 KVALITA Ani Greedy ani Poměr cena/váha heuristika se nezdá být přímo závislá na maximální hmotnosti či ceně předmětů. Implementace algoritmů napovídá, že tyto hodnoty opravdu kvalitu nijak ovlivnit nemohou, pouze posouvají oblast řešení, ale poměry mezi jednotlivými předměty, o které nám jde, nejsou ovlivněny. 16

24. 11. 213 MI-PAA úkol č. 3 Antonín Daněk Jak heuristika Poměr cena/váha, tak Greedy je však ovlivněna poměrem kapacity batohu k sumární váze. Platí zde, že čím větší je poměr (čím větší poměr ze zadaných předmětů se nám do batohu vejde), tím lepší je kvalita. Je tomu tak proto, že se zvětšujícím se tímto poměrem nám klesá počet předmětů, které se průměrně do batohu nevejdou a tím se zmenšuje i oblast, na které lze udělat chybu. Pro poměr 1, a více už žádnou chybu udělat nelze. Násobnost tohoto vlivu je přibližně stejná pro obě heuristiky, nehledě na to, že poměrová heuristika je kvalitnější, než hladová. Jak heuristika Poměr cena/váha, tak heuristika Greedy (u hladové však především, u poměrové to pouze napovídá trendové proložení) je závislá na granularitě tak, že pokud máme instance se spíše velkými předměty, klesá nám kvalita (roste relativní chyba). Komplementárně při použití spíše menších předmětů nám kvalita roste. Je to očekávané chování, protože menší předměty nám vždy dávají možnost lépe využít prostor batohu a zužuje se možnost chyby. 17