Expertní systém pro návrh osvětlení
Expertní systém pro návrh osvětlení Ing. Petr Baxant, ústav elektroenergetiky, FEKT VUT v Brně Článek shrnuje výsledky výzkumného projektu nazvaného Realizace expertního systému pro návrh osvětlení pro zrakově náročná pracoviště. Cílem je především zpracování nosné teorie expertního systému (ES) speciálně pro světelnou techniku, resp. jednu doménu světelné techniky, a to návrh osvětlení. 1. Co jsou expertní systémy Expertní systém řeší problémy v určité oblasti (aplikační oblast). Je to uměle vytvořený expert – obvykle počítačový program –, který přebírá jeho vlastnosti. Jde zejména o schopnost hledat správná řešení, zdůvodnit vybraná řešení, získávat nové znalosti na základě již existujících a schopnost komunikovat s uživatelem. Stejně jako člověk-expert má své výhody, ale také nevýhody. Mezi nevýhody patří značná složitost tvorby takového systému a jeho implementace v praxi. Hlavním problémem je správná definice báze znalostí a vytvoření vhodných odvozovacích (inferenčních) mechanismů, které dokážou s bází znalostí správně zacházet. Mezi výhody již vytvořeného systému obvykle patří jeho rychlost, dlouhá životnost, možnost snadné replikace, dostupnost, jednoznačnost, podmíněná objektivnost, neemocionální chování. Z hlediska vlastností expertních systémů je velmi významným faktorem existence tzv. vysvětlovacího modulu, který dokáže předložené řešení objasnit. Mnoho lidských expertů toto nedokáže, neboť jejich zkušenosti a znalosti nabyly vyšší hodnoty vědění a vysvětlení důvodu, proč je jejich rozhodnutí právě takové, jim může činit potíže. Lidský expert paradoxně nemá zájem vysvětlovat, proč jeho odpověď je taková, jaká je. Obvykle by musel podat několik dalších informací, což sám považuje za zbytečné, protože požadavek na vysvětlování může chápat také jako nedůvěru v jeho znalosti. Každý expert rovněž bude své znalosti do jisté míry chránit, neboť jde o jeho mnohdy jedinečné know-how. Jeho ztráta ohrožuje např. expertovo postavení na trhu. Počítačovému expertnímu systému nejsou implementovány tyto řekněme pudové či existenční mechanismy. Není schopen si uvědomit svoji existenci a případnou jedinečnost. Proto vysvětlovací mechanismus často může poskytnout tazateli podrobnější informace než lidský expert, jestliže je k tomu správně naprogramován. Obr. 1. Běžný postup návrhu osvětlovací soustavy Nezasvěcený čtenář si expertní systém může představit jako počítačový program, který dokáže zodpovídat různé otázky kladené tazatelem na určité odborné téma. Princip, na kterém je takový systém založen, je přitom poměrně jednoduchý. Do strukturované databáze se uloží znalosti v určité předem stanovené podobě a speciální mechanismus (odvozovací) tyto znalosti z databáze vybírá a skládá a na základě informací (faktů) o řešeném případu dodaných uživatelem nabízí takové řešení, které vyhovuje uloženým pravidlům. Funkce expertního systému při návrhu osvětlovací soustavy Hlavním článkem, řídícím celý proces, je odborník, který jednotlivé kroky řeší. Může to být odborný tým řešitelů, kteří dovedou projekt až do konečné podoby realizace. Návrh osvětlení je nejednoznačná úloha, která nemá jediné řešení, obvykle neexistuje ani jediné optimální řešení. Je však k dispozici několik postupů, které mohou vést ke konečné podobě návrhu. Osvětlovací soustavu lze pojímat z různých hledisek, a jediná realizace tak může mít i několik podob podle různého pohledu a tomu odpovídajícího hodnocení uživatele. K různosti názorů přispívá i subjektivita vnímání osvětlení různými lidmi – hovoří se o lidském faktoru. Ten je při návrhu komplikací, která vypracování návrhu ztěžuje. Existuje několik obecně známých informací, znalostí a faktů, ze kterých projektant při vypracovávání návrhu vychází. Dokonalost jeho návrhu je závislá na hloubce jeho znalostí a schopnosti je vhodně implementovat do projektu. Velmi důležité jsou zde i jeho zkušenosti a kreativita. Bez výkonné výpočetní techniky a kvalitního programového vybavení si však práci projektanta dnes již lze jen stěží představit. Běžně používanou pomůckou je elektronická nápověda, která je součástí téměř všech počítačových programů. Existují různé podoby této nápovědy; lze pozorovat zcela zřetelný posun ke stále inteligentnějším systémům, které v současné době využívají nejrůznější animované pomocníky, průvodce a řešitele problémů. Obr. 2. Schéma funkce expertního systému Ohledně našeho příkladu návrhu osvětlení je vlastně třeba vytvořit vysoce účinný systém nápovědy s možnostmi rozhodování podle určitých pravidel, v podstatě bez nutnosti zásahu člověka. Tento systém bude prostředníkem mezi uživatelem – laikem a výpočetním programem – modelářem a simulátorem reality (obr. 2). 2. Zpracování znalostí do počítačové podoby Základní úlohou při použití znalostních počítačových systémů je uložit znalosti do struktury, se kterou systém dokáže správně pracovat. Běžně si lze představit uložení textu do textového souboru, tabulky do tabulkového programu apod. Horší je to např. s matematickými výrazy. I ty je ale možné zapisovat jako text a pomocí speciálních programů (tzv. parserů) je vyhodnocovat. Činnost parseru není jednoduchá, a pokud má „rozumět„ širokému okruhu matematických funkcí a navíc pracovat v komplexním oboru, může to být program poměrně náročný. Logika a pravidla Dalším zajímavým a velmi často používaným prostředkem vyjadřování znalostí, resp. pravidel a faktů, je predikátová logika prvního řádu. Využívá formulaci deklarací pomocí predikátů neboli výpovědí, které popisují určitou vlastnost specifického objektu. Například predikát „vnitřní prostor„ je možné aplikovat na kancelář, učebnu, chodbu, kuchyň apod. Zápis by mohl vypadat např. takto: vnitřní prostor(kancelář), vnitřní prostor(učebna), vnitřní prostor(kuchyň) atd. V praxi je však nutné zvolit vhodnou syntaxi jazyka; to zde ale není důležité. Důležité je, že pomocí predikátů je možné tvořit složitější útvary, jako jsou např. pravidla. Pravidlo se obecně skládá z hlavy a těla, přičemž tělo může obsahovat více tzv. podcílů. S použitím proměnných lze vytvářet obecná pravidla, která budou vyhodnocena jako pravdivá, jestliže se podaří v bázi znalostí najít takovou kombinaci konstant, které vyhoví danému pravidlu, tj. kdy hlava i všechny podcíle těla budou pravdivé. Jako příklad lze uvést tuto strukturu Zde uvedený příklad je pouze demonstrací formulace zápisu znalostí, které je třeba dále symbolizovat a poté vytvořit mnohem komplexnější struktury, jež popisují určité zákonitosti daného problému. Z příkladu je zřejmé, jak je třeba běžný text přepracovat, aby byl strojově zpracovatelný a poskytoval příslušnou funkčnost ve větším systému. Tabulky Výhodou tabulek je jejich přehlednost a snadná implementace. Nevýhodou je specializace tabulky pouze na omezenou sadu vlastností a pouze jednorozměrný záznam hodnot vlastností. V relačních databázích se používá více tabulek se vzájemným propojením, které umožňují větší strukturalizaci dat a vícerozměrnou reprezentaci. Atributy vytvářejí sloupce, záznamy tvoří jednotlivé řádky. Atributem může být kromě přímé hodnoty také referenční odkaz na jiný záznam v jiné tabulce. Spojení hodnot z více tabulek do jedné struktury tvoří tzv. relaci. Jako příklad lze uvést tab. 1 až tab. 3. Tab. 1. Svítidlo
Tab. 2. Světelný zdroj
Tab. 3. Předřadník
Z tabulek je zřejmých několik informací. Například tabulka svítidel obsahuje sloupec Patice, stejně jako tabulka Světelný zdroj. Tedy Patice je společnou vlastností těchto dvou tabulek. S tabulkou Předřadník má tabulka Světelný zdroj společný atribut Typ vs. Zdroj. Tabulky je možné prostřednictvím těchto společných atributů propojit do jedné relace, která může vypadat např. jako tab. 4 (zkrácený výběr). Tab. 4. Svítidlo, světelný zdroj, předřadník
Některé atributy se zbytečně opakují a je možné je bez ztráty informace vynechat. Výsledné relace budou tvořit novou tabulku (tab. 5). Tab. 5. Svítidlo, světelný zdroj, předřadník – upravená
Objekty Obr. 3. Příklad obecného vývojového diagramu Další vlastností objektů je jejich funkčnost. Kromě vlastností a jejich hodnot totiž disponují tzv. metodami, což jsou procedurální složky objektů, schopné vykonávat určitou činnost. Aktivace metody může např. produkovat nové informace vypočtené na základě existujících vlastností nebo objekt může vytisknout hodnoty svých vlastností apod. Metody dávají jinak pasivním záznamům funkčnost a možnost provádět specifickou činnost. Pro expertní systém však tato schopnost objektů není příliš dobrou volbou, neboť přesouvá funkčnost na data, což jde proti základní filozofii systému oddělení pasivních a aktivních složek systému do samostatných složek. Diagramy Vývojové diagramy Příkladem vývojového diagramu je obecný proces na obr. 3. Sémantické sítě Seznamy Obr. 4. Příklad sémantické sítě Seznamy mohou obsahovat prvky, které jsou také seznamem. Vznikají tak vícerozměrné datové struktury podobné stromům. Slovníky Hypertext Pro expertní systém může hypertext znamenat další prostředek pro vyjadřování informací pro komunikační modul. Uložení vlastních znalostí v podobě hypertextu je nepoužitelné, neboť hypertext sám o sobě nemusí být nijak strukturovaný a práce s oddělenými znalostmi je tak téměř nemožná. Zajímavější je v tomto směru použití značkovacího jazyka, např. XML. Programy, rutiny, makra, procedury Pro záznam určité činnosti se používají sekvence příkazů, které vykonávají dílčí úkony. Každý příkaz má vymezenou funkcionalitu. Seskupení příkazů do logického celku vytváří proceduru, více procedur většinou tvoří celý program. Někdy se procedury nazývají makra nebo rutiny. Program složený z procedur se označuje jako procedurální, tj. vykonává nějakou činnosti explicitně, každý příkaz je vykonán v předem stanoveném časovém bloku a po vykonání se pokračuje následujícím příkazem. Průběh programu může být řízen i vnějšími událostmi, např. zásahem uživatele (kliknutí myší, změna hodnoty apod.). V tom případě se hovoří o „událostmi řízeném programu„. Dalším typem jsou programy tzv. deklarativní, kdy uživatel pouze předepisuje určité parametry, kterými se má chování programu řídit. Vlastní procedura řízení je oddělena a používá v programu zadané deklarace k vykonávání své činnosti. Lze říci, že každý funkční program je spojením deklarativní a procedurální složky, neboť většina základních procedur má určité parametry, kterými se řídí (deklarované buď implicitně, nebo explicitně). Pro expertní systém lze programy použít pro realizaci inferenčního mechanismu, ale i pro definici faktů, pravidel a znalostí. Například program zapsaný v jazyce Prolog může být již sám o sobě znalostní bází a jde o čistě deklarativní programování. Inferenční mechanismus je tvořen interpretérem programu, který pracuje se zapsanou deklarací a vykonává činnost požadovanou od systému. 3. Přínos expertních systémů osvětlovací technice Každý den je třeba udělat mnoho rozhodnutí. Některá jsou rutinní, jiná velmi závažná. Za každé rozhodnutí je nutné přebrat určitou zodpovědnost. Projektování osvětlovacích soustav, kontrola osvětlovacích soustav, měření světelnětechnických parametrů svítidel, posuzování kvality osvětlení, výroba svítidel, světelných zdrojů, ale i provoz osvětlovací soustavy vyžadují množství rozhodnutí konkrétného člověka. Ne vždy je možné rozhodnutí učinit okamžitě, vždy je nutné mít potřebné vstupní údaje. Někdy znalosti nestačí k tomu, aby bylo rozhodnutí učiněno, a proto je třeba kontaktovat jiného odborníka, hledat v literatuře nebo na internetu. Vždy jde o shromáždění potřebných faktů o řešeném úkolu a znalostí, jak daný úkol řešit. Není to tedy nic jiného než vytvoření uceleného souboru znalostí o dané úloze, který vede ke konkrétní odpovědi. Při této činnosti se většinou řetězí různé informace, jsou odvozovány nové poznatky na základě známých principů, vybíráni vhodní kandidáti na řešení, srovnávána a vytvářena kritéria pro posouzení řešení. Toto vše lze zautomatizovat a řešit s využitím počítačového programu. Tak jako člověk, může i počítač vykonávat základní úkony, vybírat vhodná řešení a poskytovat cílené odpovědi. Zpočátku nebude tak inteligentní, aby jeho rozhodnutí byla bezmezně přijímána, ale časem se tyto systémy jistě stanou nezbytou součástí lidského života a práce odborníků. Je totiž třeba si uvědomit, že nikdo z nás již není schopen naučit se byť jen jednu oborovou část a znát všechny údaje. Každý den ve světě vznikají stovky nových výrobků s novými vlastnostmi a chováním. Ve světelné technice se také neustále zvětšuje objem informací; důkazem toho jsou četné publikace, konference, časopisy, popř. internetové prezentace firem. Není v lidských silách toto vše průběžně sledovat. Počítačová technika přináší prostředky pro zpracování množství informací, jejich katalogizaci a následné využití. Příkladem jsou dnes gigantické projekty, jako je všestranný internetový portál Google, nebo menší projekt, který svůj růst právě zahajuje, všeobecná encyklopedie Wikipedia. Již v této podobě oba projekty představují velice nadějný základ budoucího inteligentního systému, který bude poskytovat správné informace ve správný čas a na správném místě. Na webové stránce www.wikipedia.cz si čtenář sám může vyzkoušet, jaké informace elektronická hypertextová encyklopedie obsahuje, lze zadávat vlastní témata, jiná editovat a nové informace přidávat. V anglické verzi existuje již poměrně rozsáhlá databáze pojmů a poskytuje uživatelům významný zdroj informací pro práci i pro poučení a zábavu. 4. Závěr Stejně jako výpočetní programy radikálně urychlily a zpřesnily modelování osvětlovacích soustav, i expertní systémy v budoucnu pomohou zvládat složitá a náročná řešení zejména typu rozhodování mezi variantami, vyhledávání odpovědí na nejrůznější dotazy, poskytování vysvětlení informací, technických údajů apod. Rozsáhlost informací znemožní člověku s nimi pracovat přímo bez použití programového vybavení. Z řešení projektu vzešlo několik konkrétních výstupů. Základním úspěchem je sestavení konkrétního konceptu expertního systému pro osvětlovací techniku, tedy „hrubých stavebních plánů“, jak systém pro návrh osvětlovacích soustav vzniká, co vše expertní systém v praxi obnáší. V literatuře se běžně uvádí, že vytvořit projekt ES před jeho realizací je v podstatě nemožné. Proto považujeme za úspěch, že se podařilo dílčí stavební části systému po teoretické stránce podložit a některé části i v praxi ověřit. Zajímavé jsou zejména výsledky aplikace logického programování v jazyce Prolog, implementace moderních databázových prostředků, sdílení informací v prostředí internetu. Z hlediska osvětlovací techniky je úspěchem zejména převod aktuálních vyhlášek a norem do znalostních bází, vytvoření dílčích databází poznatků, technických dat, pravidel, sestavení metodiky návrhu osvětlení jako čtyřfázového procesu, implementace deterministických procesů do expertního systému (výpočetní programy a algoritmy) a mnoho dalších mezivýsledků. Při řešení úlohy se objevilo množství nových otázek k dalšímu zkoumání, diskutovalo se o skutečných přínosech těchto systémů v praxi. Jako perspektivní se jeví zejména propojení databázových systémů logickým programováním. Propojení jazyků Prolog a SQL by mohlo být prvním krokem do světa „inteligentních„ databází, které poskytnou kvalitní nosné médium pro ukládání informací nejen o světelné technice, ale o lidských znalostech obecně. 5. Poděkování Příspěvek shrnuje výsledky výzkumného projektu podporovaného Grantovou agenturou ČR pod číslem 102/03/1162. Autoři děkují za poskytnutou finanční podporu GAČR a děkují také všem spolupracovníkům, kteří se na řešení projektu jakkoliv podíleli. Další informace o projektu zájemci naleznou na webových stránkách http://www.ueen.feec.vutbr.cz/lexsys Literatura: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||