diplomová práce

Genetické programování - Java implementace

Text práce 1.58 MB Příloha 1.84 MB

Autor práce: Ing. Marek Tomaštík

Ak. rok: 2012/2013

Vedoucí: doc. Ing. Radomil Matoušek, Ph.D.

Oponent: RNDr. Martin Kuba, Ph.D.

Abstrakt:

Tato diplomová práce má za cíl vytvoření programové aplikace v jazyce Java, dále využitelné v oblasti automatického generování modelů, speciálně v úlohách tzv. symbolické regrese. Práce zahrnuje stručný popis genetického programování (GP) a vlastní implementací GP s důrazem na využití pokročilých operátorů (nedestruktivní operace, elitní přistup, zjednodušování výrazů).

Pro zvolené datové množiny je technikou symbolické regrese generován matematický model. K ověření funkcionality je využito tzv. testovacích úloh. Pro vybrané parametry GP je hledáno optimální nastavení.

Klíčová slova:

EVT, genetické programování, křížení, mutace, selekce, Java, symoblická regrese, automatická tvorba modelů

Termín obhajoby

18.6.2013

Výsledek obhajoby

obhájeno (práce byla úspěšně obhájena)

znakmkaBznamka

Klasifikace

B

Jazyk práce

čeština

Fakulta

Ústav

Studijní obor

Aplikovaná informatika a řízení (M-AIŘ)

Složení komise

prof. Ing. Jiří Tůma, CSc. (předseda)
prof. Ing. Dagmar Janáčová, CSc. (místopředseda)
prof. RNDr. Ing. Miloš Šeda, Ph.D. (člen)
doc. Ing. Radomil Matoušek, Ph.D. (člen)
doc. Ing. Jaroslav Šeminský, CSc. (člen)
Ing. Jiří Fischer, CSc. (člen)

Diplomová práce (DP) prezentuje jednu z relativně novějších oblastí výpočetní inteligence, a to tzv. genetické programování (GP). Hlavní zátěž diplomanta představovala realizovaná původní programová aplikace v jazyce Java, která je v rámci textové části práce vhodně dokumentována. Součástí práce jsou testy nastavení parametrů algoritmu GP a prezentace dosažených výsledků. V tomto ohledu shledávám v práci diplomanta drobné rezervy. Vlastní implementace GP není škálovatelná, svým pojetím, ale může sloužit k dalším studijním účelům. Pozitivně hodnotím celkový přístup studenta ke zpracování DP a podotýkám, že problematika GP i programování v jazyce Java nebyla v rámci jeho studijního programu probrána ani okrajově a byla tedy předmětem dalšího samostudia diplomanta. Předloženou DP bezesporu doporučuji k obhajobě a hodnotím známkou C/dobře.
Kritérium hodnocení Známka
Splnění požadavků a cílů zadání C
Postup a rozsah řešení, adekvátnost použitých metod B
Vlastní přínos a originalita C
Schopnost interpretovat dosažené vysledky a vyvozovat z nich závěry C
Využitelnost výsledků v praxi nebo teorii D
Logické uspořádání práce a formální náležitosti C
Grafická, stylistická úprava a pravopis C
Práce s literaturou včetně citací C
Samostatnost studenta při zpracování tématu A

Známka navržená vedoucím: C

Posudek oponenta
RNDr. Martin Kuba, Ph.D.

Práce měla za cíl vytvořit implementaci aplikace využitelné pro automatické symbolické regrese. Na CD přiloženém k diplomové práci je k dispozici jen aplikace bez zdrojového kódu, mohu tedy posuzovat jen její chování. Aplikace funguje v tom smyslu, že pro zadané body nalézá řešení v podobě matematické funkce. Ovládání aplikace je však velmi obtížné. Nutnost potvrzovat hodnoty zadané do textových polí klávesou Enter je překvapivá a odporuje zásadám tvorby intuitivních GUI. Nemožnost přerušení výpočtu jinak než vypnutím celého programu spojeným se ztrátou zadaných hodnot je frustrující, znemožňuje opravu chyb zadání. Ruční zadávání souřadnic bodů do malých textových polí je velmi neefektivní, očekával bych možnost načtení hodnot ze souboru.
Po funkční stránce má aplikace také vážné nedostatky, špatně překresluje odkryté části okna, a vždy využívá jen jedno jádro bez ohledu na nastavení v poli Use cores, není tedy paralelní, což je u implementace genetických algoritmů vážný nedostatek.
Písemná část práce také vykazuje nedostatky. Obsahuje mnoho překlepů. V textu často chybí slova, takže věty ztrácejí smysl. Grafická úprava stránek je nejednotná, některé mají nahoře bílé číslo stránky v šedém pruhu, jiné jsou bez pruhu s černým číslem stránky. Někdy je před začátkem kapitoly vynechána zcela prázdná stránka, někdy ne. Strana 27 je vytištěna jen z jedné strany a přehazuje číslování, před ní jsou vpravo liché stránky, za ní jsou vpravo sudé stránky.
K obsahové stránce  písemné části práce mám následující výhrady. Popis symbolické regrese v kapitole 5 je velmi kusý, a tvorba konstant není vysvětlena vůbec, ačkoliv je uvedena v nadpisu. Deset stránek (33-42) je zaplněno tabulkou se seznamem metod a tříd, není však jasné, k čemu je tento popis dobrý, nikde není uvedeno, že by aplikace umožňovala výměnu implementace některých částí. Tyto seznamy tříd a metod tedy patří spíš do přílohy, než do vlastního textu diplomové práce. Testy popsané v kapitole 6 jsou nesystematické, postrádám odůvodnění proč byly zvoleny právě tyto testy, a zhodnocení získaných výsledků.
Kritérium hodnocení Známka
Splnění požadavků a cílů zadání D
Postup a rozsah řešení, adekvátnost použitých metod D
Vlastní přínos a originalita E
Schopnost interpretovat dosaž. vysledky a vyvozovat z nich závěry E
Využitelnost výsledků v praxi nebo teorii E
Logické uspořádání práce a formální náležitosti D
Grafická, stylistická úprava a pravopis D
Práce s literaturou včetně citací C

Známka navržená oponentem: D