Expertné systémy

Z Kybernetika - TUKE
Prejsť na: navigácia, hľadanie

Z hľadiska tradície umelej inteligencie sa za znalostný (expertný) systém považuje počítačový program, ktorý používateľovi v presne vymedzenej problémovej oblasti umožní dospieť k rozhodnutiu, k akému by za rovnakej situácie dospel odborník (expert). Pojem Expertné systémy sa často nahrádza pojmom Znalostné systémy. Toto nie vždy je správne pretože Expertné systémy sú podmnožinou Znalostných systémov, čiže Expertný systém je Znalostným systémom no nie každý Znalostný systém je Expertným systémom.

Základná funkcionalita

Schéma diagnostického expertného systému.

Funkcionalita expertných systémov vychádza z komunikácie jednotlivých častí architektúry expertných systémov. Architektúra expertných systémov je tvorená z častí:

  • Báza znalostí - Táto súčasť architektúry expertných systémov je miestom kde sa nachádza hlavný rozdiel od Znalostných systémov. Je zložená z heuristických informácií získavaných od expertov v oblasti pre ktorú sa expertný systém navrhuje. Tieto heuristické informácie sú ukladané vo forme pravidiel typu
    IF ... ELSE ...
  • Riadiaci mechanizmus - Taktiež nazývaný inferenčný mechanizmus. Jedná sa o mechanizmus, ktorý na základe pravidiel v báze znalostí a na základe dát získaných od používateľa navrhne odporúčané riešenie problému, ktoré následne posunie užívateľovi. Súčasťou riadiaceho mechanizmu je nutne aj vysvetľovací mechanizmus. Tento mechanizmus je určený pre odôvodňovanie prečo systém uvažoval tak ako uvažoval. Bez tohto mechanizmu by nebolo možné daný expertný systém kontrolovať a prípadne zlepšovať.
  • Báza údajov - Jedná sa o užívateľské rozhranie. Táto časť sa stará o spracovanie vstupov od používateľa, pokladanie otázok používateľovi a zobrazovanie výsledkov.

Problémy týchto expertných systémov sú spojené s faktom, že kvalita expertného systému je priamo závislá na kvalite dát obsiahnutých v báze znalostí.

Znalostné systémy

Každý expertný systém je znalostným systémom. To je preto lebo expertné systémy sú odvodené z architektúry znalostných systémov. Rozdielom od expertných systémov však je, že kým u expertných systémov dáta v báze znalostí nutne musia byť pôvodom od nejakého experta v oblasti do ktorej sa expertný systém vyvíja, u znalostných systémov táto báza znalostí môže obsahovať ľubovoľné dáta. Z počiatku všetky znalostné systémy boli expertnými systémami, no už sa začínajú implementovať aj iné než expertné systémy.

Typy Expertných systémov

Z hľadiska charakteru riešených úloh možno dnes existujúce expertné systémy v podstate rozdeliť do troch skupín, a to na systémy diagnostické, plánovacie a hybridné. Špeciálnu skupinu expertných systémov tvoria tzv. prázdne expertné systémy.

  • Diagnostické - Úlohou diagnostických expertných systémov je prevádzať efektívnu interpretáciu údajov s cieľom určiť, ktorá z hypotéz z dopredu stanovenej konečnej množiny cieľových hypotéz najlepšie korešponduje s reálnymi údajmi týkajúcimi sa daného konkrétneho prípadu. Pri diagnostických systémoch teda riešenie prípadu prebieha formou postupného ohodnocovania a prehodnocovania čiastočných a cieľových hypotéz v rámci viac-menej pevne daného vnútorného modelu riešeného problému, ktorý je dopredu navrhnutý expertom.
  • Plánovacie - Plánovacími expertnými systémami sa obvykle riešia také úlohy, kde je známy cieľ riešenia a počiatočný stav a systém má využitím údajov o konkrétnom prípade nájsť (pokiaľ možno optimálnu) postupnosť krokov (operátorov), ktorými možno z počiatočného stavu cieľ dosiahnuť. Podstatnou časťou takýchto expertných systémov je generátor možných riešení, ktorý automaticky kombinuje postupnosť operátorov.
  • Hybridné - Hybridné expertné systémy sa vyznačujú kombinovanou architektúrou, pretože čiastočne využívajú diagnostické princípy a čiastočne plánovacie systémy. K hybridným systémom zaraďujeme napríklad inteligentné výukové systémy (u ktorých sa strieda "diagnostika" znalostí vyučovaného s plánovaním ďalšieho výučbového procesu) či monitorovacie systémy (opakovane štartovaný diagnostický sledovací subsystém je v okamihu detekcie poruchy nahradený subsystémom pre plánovanie zásahu).
  • Prázdne - Expertné systémy - tak diagnostické ako aj plánovacie - bez problémovo závislých častí, t.j. bez bázy znalostí a bázy údajov sa obvykle nazývajú prázdne expertné systémy. Až doplnením bázy znalostí k prázdnemu systému sa systém orientuje na riešenie príslušnej problematiky (stáva sa z neho problémovo orientovaný expertný systém). Doplnením bázy údajov je tak vždy riešený konkrétny prípad.

Trhové Expertné Systémy

Schéma trhového expertného systému.

Trhové expertné systémy sú zvyčajne označované ako Expert Advisor(EA). Schéma na pravo naznačuje jednoduchú štruktúru obchodného systému. Vstupom do EA sú ceny dopytované a ponúkané, čas, dostupné finančné prostriedky, zoznam otvorených obchodov, história obchodovania portfólia a samozrejme mnoho ďalších vstupov. Výstupom je konkrétne rozhodnutie systému či chce vykonať nákupnú požiadavku, predajnú, žiadnu, či chce len zmeniť aktuálnu objednávku na iný objem alebo či chce zavrieť obchod.


Pri návrhu expertného systému treba dbať pri návrhu vstupov a výstupov z/do systému. Rozhodnú sa, či systém bude založený na podmienených pravidlách If-Then alebo bude tieto pravidla ďalej naväzovať na prácu s neurónovými sieťami, či bude neurónová sieť základom a jej bázu znalostí vytvoríme pravidlami If-Then, a pod. Pri EA systémoch je možné používať aj Fuzzy logiku napríklad pri určovaní prepredaného alebo prekúpeného trhu. Neoplatí sa však silene tieto metódy používať. Vždy treba hľadať jednoduchosť a najjednoduchšie riešenie. Možností je mnoho, závisí od myšlienky stratégie.


Pri tvorbe expertného systému obchodujúceho na trhu je dôležité vytvoriť stratégiu. Stratégia môže byť vytvorená v matematických modeloch, každoročne upravované modely na báze tých starých a pod. Ročné modely sa v čase menia. Obchodná stratégia môže byť založená aj na fundamentálnej báze, kde neurónové siete hľadajú na rôznych webových portáloch informácie. Tieto informácie môžeme zhlukovať, poprípade im priradiť emócie a pod.

Klasické expertné systémy, v najčastejšie používanom prostredí Metatrader, sa píšu v programovacích jazykoch MQL4 a MLQ5, ktoré sú podobné ako C++. Ponúka to široké možnosti pre pripojenie C++ DLL dynamických knižníc. Existujú aj iné prostredia pre pripojenie sa na trhy a taktiež ponúkajú programovanie, či už v modifikovanom C++ alebo Java a pod. Ideálne riešenie je vytvoriť si akýsi mostík medzi týmto rozhraním a vlastným programom, kde už vieme pristúpiť k vyššiemu výkonu, využitiu grafických jadier CUDA a mnoho ďalších možností.

Referencie

Expertné systémy: [1]
Znalostné systémy: [2]
Expert system: [3]
Knowledge-based systems: [4]