Expertní systémy I
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Expertní systémy IExpertní systémy I

 

Expertní systémy I

Google       Google       14. 4. 2008       25 989×

Expertní systémy jsou asi nejznámější teorií umělé inteligence. Článek popisuje základní myšlenky těchto systémů zejména z pohledu jejich realizace v průmyslové praxi. V závěru je představen procedurální systém umístění pravoúhlých dílců na ploše, kde použití popsaných principů velmi zjednodušilo řešení úlohy a přineslo další příznivé vedlejší efekty.

Reklama
Reklama

Expertní systémy

Okruh úloh pro expertní systémy

Dosud jsme se v seriálech Inteligentní ekonomické systémy a Evoluční prognostické systémy seznámili se dvěma teoriemi umělé inteligence. Dnes se seznámíme s další významnou teorií, s expertními systémy.

Většina stávajících informačních systémů provádí takové výpočty, pro které existuje přesný postup řešení, kterému říkáme algoritmus. Stále častěji se na druhé straně setkáváme s úlohami, pro které postup řešení nejde najít. Můžeme sice navrhnout projekt s kvalitním interfacem, který bude zajišťovat rutinní funkce, a intuitivní rozhodování ponechat na odborníkovi, ale v současné době již můžeme vytvořit takový systém, který na základě poskytnutých znalostí najde řešení sám.

Protože takové systémy využívají vložených znalostí, říká se jim znalostní systémy. Speciálním případem znalostních systémů jsou expertní systémy. Využívají znalostí, které dodali odborníci – experti, z toho je odvozen jejich název.

Struktura expertního systému

Existuje zásadní rozdíl ve struktuře a způsobu práce klasických a expertních systémů.

  • Klasický systém pracuje s určitou množinou dat, přičemž podle přesně stanoveného algoritmu, vloženého programu, transformuje vstupní data na výstupní.
  • Znalostní systém naproti tomu tvoří tři složky
    • Báze faktůodpovídá množině dat klasického programu, je uložena zpravidla na pevných discích nebo jiných externích paměťových zařízeních.
    • Báze poznatků jsou struktury dat, které představují znalosti odborníků. Bývá uložena ve vnitřní paměti počítače a během hledání řešení mění bázi faktů.
    • Inferenční mechanismus je odvozovací algoritmus, vlastní program, který s využitím báze znalostí modifikuje bázi faktů, až nalezne požadované řešení úlohy.

Již z tohoto pohledu vidíme jednu významnou vlastnost expertního systému, a to je snadná modifikovatelnost při změněných podmínkách.

  • U klasického programu každá změna vyžaduje přeprogramování, což je pracné a časově náročné a navíc může vést k chybám a nežádoucím vedlejším efektům v již odladěném programu.
  • U expertního systému modifikujeme pouze jedno nebo několik pravidel, program – inferenční mechanismus – zůstává stejný.

Poznámka: Jak poznáme dále, snadná modifikovatelnost neplatí tak docela u expertních systémů s procedurálními znalostmi, ty však mají jiné vlastnosti, pro které jsou používány.

Znalosti

Znalosti jsou pro znalostní systém rozhodující. Jsou to vzájemně související struktury poznatků. Jednotlivé poznatky můžeme vyjádřit:

  • prostředky predikátové logiky
  • produkčními pravidly
  • pomocí asociativních sítí
  • procedurálními metodami
  • pomocí rámců

Predikátová logika

Predikátová logika umožňuje odvozovat pravdivé formule z axiomů nebo už odvozených pravdivých formulí.

Produkční pravidla

Jsou základem většiny expertních systémů. Definují se ve tvaru p1 ^ p2 ... pn → d kde pi jsou předpoklady a d je důsledek, což znamená: jestliže platí předpoklady, platí také důsledek.

Takových pravidel mohou obsahovat expertní systémy i stovky. Je přitom nutné rozlišovat mezi logickou implikací a produkčním pravidlem. V logice může je implikace pravdivá, i když je předpoklad nepravdivý, u produkčního pravidla je důsledek platný jen tehdy, když je splněn předpoklad. Použitím produkčního pravidla dochází ke změně v bázi faktů. Navíc předpoklady i tvrzení mohou být zadány s jistou pravděpodobností a rovněž pravidlo samo může platit s jistou pravděpodobností. Pravděpodobnost důsledku se pak může zvyšovat nebo snižovat na základě verifikace jinými pravidly.

Tak jako u evolučních a učících se systémů je nutné nastavit počáteční parametry a teprve po delším provozu umožnit zkušenému uživateli některé z nich si podle potřeby upravit , také u expertních systémů je nutné v součinnosti s uživatelem připravit fungující systém se všemi pravidly a po určité době mu umožnit pravidla upravovat. To, že uživatel může sám měnit pravidla, podle nichž expertní systém hledá řešení, klade samozřejmě nároky na kvalitu kontrolních funkcí v systému. Dobře napsaný expertní systém by měl případnou nekonzistenci mezi pravidly odhalit a informovat o chybě.

Asociativní poznatky

Asociativní poznatky se vyjadřují pomocí asociativních sítí. Je to soubor vrcholů a orientovaných hran, které vrcholy spojují.

Procedurální znalosti

Typickým příkladem procedurálních znalostí je funkce v programu. Není si však možné plést znalostní systém s procedurálními znalostmi s běžným programem. Procedury v procedurálním systému jsou vyvolávány ke splnění určitého cíle a mění obsah báze faktů.

Procedurální poznatky mají proti produkčním pravidlům některé výhody a naopak nevýhody:

  • Protože procedurální pravidla jsou vlastně funkce programu, při jakékoliv změně se musí přeprogramovat, což znamená vyšší časové nároky a možnost chyb.
  • Na druhé straně při výpočtu jsou procedurální pravidla rychlejší.

Z tohoto důvodu byly v optimalizačních systémech zmiňovaných v předchozích seriálech použity výhradně procedurální poznatky. Jednak množství použitých znalostí nebylo příliš velké, na druhé straně byla kritická rychlost výpočtu, někdy bylo dokonce požadováno řízení v reálném čase.

Rámcová reprezentace poznatků

Rámce jsou struktury údajů, do kterých se dají uložit poznatky předchozích typů.

Prostor stavů

Jak produkční pravidla, tak procedury operují na určité množině stavů pomocí množiny operátorů. Aplikací znalostí měníme stavy z počátečního stavu do koncového. Počáteční stav je definován explicitně, koncový buď explicitně, nebo vyjmenováním vlastností. Úlohou inferenčního mechanismu je stanovit takové kroky, které vedou od počátečního stavu ke konečnému.

Například u známé úlohy myšky v bludišti jsou stavy umístění myšky, počáteční stav je myška u vchodu a koncový stav myška u východu. Inferenční algoritmus má nalézt cestu od vchodu k východu.

Naopak u šachové úlohy je počáteční stav základní postavení figurek na šachovnici ve dvou řadách bílých a dvou řadách černých figurek a konečný stav mat. Není možné jednoznačně popsat, kde má být která figurka při matu umístěna, jsou pouze popsány vlastnosti, které mat charakterizují. Inferenční mechanismus má dovést vlastní figurky k tomu, aby daly mat soupeři.

Praktický příklad

Závěrem si předvedeme příklad jednoduchého procedurálního expertního systému umísťování 2D objektů na ploše.

Systém PlOpt je demo verze praktického expertního systému s procedurálními poznatky. Z datového souboru přebírá informace o zdrojových tabulích a požadovaných dílcích, které se z nich mají nařezat, a určí optimální umístění těchto dílců na ploše tabulí tak, aby se ušetřilo co nejvíce materiálu, přičemž musí respektovat řadu technologických požadavků. Využití principů teorie expertních systémů zde významně zjednodušilo řešení poměrně složité problematiky.

Úvodní seznámení s programem

Obsah souboru PlOpt.zip rozbalte do adresáře na disku a odstartujte program PlOpt.exe. Zvolte Optimalizace a vyberte připravený soubor data.txt. Po krátké době se objeví hlášení OK, optimalizace je ukončena, potvrďte klávesou Enter a můžete prohlížet výsledky.

Funkce Prohlížení zobrazí umístění dílců na první tabuli, funkce Další a Předchozí zajišťují zobrazení další nebo předchozí tabule.

Funkce Příklad vytvoří náhodně nový datový soubor, který pak můžete znovu optimalizovat. Vytvořený soubor obsahuje přibližně 2000 náhodně vygenerovaných dílců. Soubor můžete také upravovat v Excelu, pokud dodržíte podmínky uvedené v nápovědě.

Prostor stavů

Jednotlivé dílce jsou umísťovány do míst definovaných jako kontejnery. Na počátku je kontejnerem celá tabule. Po umístění každého dílce se množina kontejnerů mění. Cyklus končí, pokud již nejsou k dispozici buď tabule, nebo dílce.

Tímto obecným přístupem je zajištěno jednak snadné využití zbytků ze skladu – stačí pouze uchovat seznam kontejnerů v databázi, jednak operativní přeplánování v případě poruchy materiálu – definuje se místo, kam se nesmí ukládat a vyvolá funkce změny kontejnerů. Rovněž realizace změny technologických požadavků je jednodušší.

Báze faktů systému PlOpt

Vstupní data pro demo verzi PlOpt vytváří systém buď náhodně ve funkci Příklad, nebo si je můžete připravit, nebo upravit v Excelu a exportovat pomocí Soubor → Uložit Jako → Text (oddělený tabulátory) . V demo verzi musí rozměry ve vstupních datech mít některou ze stanovených velikostí uvedenou v nápovědě. V plné verzi jsou data uložena v databázi.

Struktura vstupního souboru:

  • 1. řádek: Názvy parametrů (tyto údaje jsou informativní)
  • 2. řádek: Hodnoty parametrů (tyto údaje neměňte)
  • 3. řádek: Názvy položek popisující tabule
  • 4. řádek: Rozměry tabule (tyto údaje neměňte)
  • 5. řádek: Konec popisu tabulí (musí být *)
  • 6. řádek: Názvy položek popisujících dílce
  • 7. a další řádek: Rozměry dílců (můžete měnit rozměry, přidávat a ubírat řádky, pokud dodržíte podmínky demo verze)
  • poslední řádek: Konec popisu dílců (musí být *)

Nová data můžete optimalizovat a prohlédnout si je a uvidíte, že systém dokáže maximálně optimalizovat různé množiny dílců. V praxi ovšem nebudou dílce tak přesně vyplňovat plochu, ale systém nalezne maximálně úsporné řešení. Plná verze navíc respektuje řadu technologických požadavků (umístění dílců malých rozměrů, místa, kam nelze dílce umísťovat, požadované okraje, využití zbytků ze skladu apod.). Obsahuje také genetickou optimalizaci (podrobněji o genetických algoritmech pojednává seriál Evoluční optimalizační systémy), v případě dostatečné variability velikosti dílců se však nedosahuje výrazně lepších výsledků.

Závěr

Seznámili jsme se dosud se třemi různými metodami umělé inteligence. Při vývoji inteligentních systémů je vždy důležité zvážit, která metoda je pro určitý typ úlohy vhodný a zda vůbec systém umělé inteligence použít. Následující přehled nám poskytuje alespoň základní vodítko.

  • Pokud existuje přesný algoritmus řešení, umělou inteligenci vůbec nepoužijeme. Příkladem může být účetnictví, výpočet daní a pojistného apod.
  • Evoluční systémy se vyznačují tím, že existuje obrovské množství alternativ a neexistuje předpis, jak najít tu nejlepší. Existuje však jednoznačná funkce, jak každou alternativu ohodnotit. Příkladem jsou optimalizační systémy.
  • Učící se systémy využívají různé typy neuronových sítí a dokážou se učit z příkladů, generalizovat a zevšeobecňovat. Používají se tam, kde existuje rozsáhlá množina naměřených dat a kde tušíme, že mezi nimi existují souvislosti, ale nedokážeme je popsat. Vhodné jsou pro předpovědi ekonomických a technologických veličin, řízení procesů, které nelze popsat algoritmicky, ale probíhají podle jistých, nám neznámých nebo v čase proměnlivých zákonitostí.
  • Expertní systémy, o kterých pojednává tento seriál, využijeme tam, kde se má informační systém samostatně rozhodovat a nalézt řešení, přičemž existuje zpravidla značný počet (až stovky) pravidel, která nám sdělili odborníci v dané profesi a která mohou při správném postupu k řešení vést. Příkladem jsou opět složité technologické procesy, kde ovšem pravidla nejen tušíme, ale dokážeme přesně popsat. Známým příkladem jsou programy hrající šachy, ale velký význam mají praktické aplikace v průmyslu, např. chemii, strojírenství apod.

Literatura

Popper, M., Kelemen, J.: Expertné systémy. Alfa, Bratislava 1989.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jaroslav TedaAutor se zabývá vývojem inteligentních softwarových systémů ve firmě OPTI Intelligent s.r.o. Publikoval na seminářích včetně mezinárodních i zahraničních a v časopise Automatizace.
Web    

Nové články

Obrázek ke článku NEWTON Media prohledá 200  milionů mediálních zpráv během sekund díky Cisco UCS

NEWTON Media prohledá 200 milionů mediálních zpráv během sekund díky Cisco UCS

Česká společnost NEWTON Media provozuje největší archiv mediálních zpráv ve střední a východní Evropě. Mezi její zákazníky patří například ministerstva, evropské instituce nebo komerční firmy z nejrůznějších oborů. NEWTON Media rozesílá svým zákazníkům každý den monitoring médií podle nastavených klíčových slov a nabízí online službu, kde lze vyhledat mediální výstupy v plném znění od roku 1996.

Reklama
Reklama
Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý