Detail publikace
Trading between Quality and Non-functional Properties of Median Filter in Embedded Systems
Genetic programming, Genetic improvement, Cartesian genetic programming, Median function, Comparison network, Permutation principle, Median filter
Genetické vylepšování (genetic improvement) bývalo používáno ke zlepšení funkčních a nefunkčních parametrů softwaru. V tomto článku navrhujeme nový přístup, který aplikuje vylepšování na bázi genetického programování (GP) pro vyvážení funkčnosti a nefunkčních parametrů software. V článku jsou rozebírány možnosti vylepšení nefunkčních parametrů (čas výpočtu, velikost kódu nebo spotřeba) mediánových funkcí implementovaných pomocí komparátorových sítí. Celkově je nemožné vylepšit tyto nefunkční parametry bez akceptování drobných chyb na výstupu funkce, jelikož v těchto případech jsou známá optimální řešení. Navrhli jsme metodu, která umožňuje vytvořit řešení, které vyvažuje přesnost a výpočetní čas a energetickou náročnost. Většinou se pro vyjádření kvality používala sada náhodně generovaných vektorů. My jsme ukázali, že takovýto přístup může produkovat nevyvážená řešení, pokud jsou vektory generovány nevhodně. Proto jsme pro měření kvality navrhli a formálně analyzovali novou metodu zvanou permutační princip, která je založena na pozičních chybách na výstupu. Tato metoda umožnila navrhnout řešení, které vylepšují nefunkční parametry s tím, že omezení funkčnosti je na přijatelné úrovni. Nefunkční vlastnosti nalezených řešení byly podrobně analyzovány měřením na reálných mikrokontrolérech. Výhody navržených řešení byly prezentovány na dvou reálných problémech - zpracování dat ze senzorů a filtrace obrázků. Navržené implementace přesných a aproximačních řešení mediánových funkcí je možné stáhnout jako funkce v jazyce C a mohou být využité v libovolné aplikací (http://www.fit.vutbr.cz/research/groups/ehw/median).
@article{BUT133580,
author="Zdeněk {Vašíček} and Vojtěch {Mrázek}",
title="Trading between Quality and Non-functional Properties of Median Filter in Embedded Systems",
journal="Genetic Programming and Evolvable Machines",
year="2017",
volume="18",
number="1",
pages="45--82",
doi="10.1007/s10710-016-9275-7",
issn="1389-2576",
url="http://dx.doi.org/10.1007/s10710-016-9275-7"
}