Integracia prostriedkov inteligentnych technologii

VEGA grant 1/5032/98 na obdobie 1998-2000

Anotacia

Projekt sa zameriava na zdruzovanie nastrojov, ktore boli vyvinute v ramci roznych odvetvi umelej inteligencie dvomi cestami: Projekt okrem toho zahrna aj navrh novych, resp. modifikovanych metod v roznych oblastiach UI s dorazom na moznost ich integracie pri rieseni komplexnych uloh. Taziskovymi oblastami budu neuronove siete, evolucne algoritmy, umely zivot a logicke programovanie ohraniceni.

Veduci projektu

Doc.Ing.Julius Csonto, CSc.

Zastupca veduceho projektu

Doc.Ing. Tomas Sabol, CSc.

Spoluriesitelia

Sucasny stav problematiky

V oblasti inteligentnych technologii sa vytvorili dve velke skupiny prostriedkov a metod UI: Tieto dva rozdielne smery UI sa velmi dlhu dobu prezentuju ako izolovane casti UI a aj v ramci nich sa vyskum vedie takmer uplne nezavisle vo viacerych znacne rozdielnych oblastiach. Ukazuje sa vsak, ze pri rieseni komplexnych uloh je vyhodne vyuzit kombinovane metody a postupy.

Jednou z moznosti je navrhnut architekturu a komunikaciu medzi heterogennymi distribuovanymi agentifikovanymi prostriedkami UI tak, aby zabezpecili najkvalitnejsie riesenie v dostupnom case pri minimalizovanom zatazeni vypoctovych prostriedkov.

Design-to-time je pristup pre riesenie problemov v oblastiach, v ktorych su splnene nasledovne predpoklady:

  1. nie je dostatok casu pre najdenie uplneho (optimalneho) riesenia,
  2. pre najdenie riesenia je stanoveny casovy limit,
  3. existuje viac pouzitelnych metod lisiacich sa v kvalite riesenia a narokoch na vypoctove zdroje,
  4. je akceptovatelne aj riesenie, ktore nie je optimalne a
  5. je mozne predikovat cas a zdroje potrebne pre najdenie riesenia, aj ked predikovatelnost novej ulohy moze byt nizka.
Tieto charakteristiky su v mnohom zhodne s problemami riesenymi v realnom case, kedy nie je dostatok casu pre najdenie optimalneho riesenia. V zavislosti na case a dostupnych zdrojoch je mozne vybrat vhodny prostriedok, ktory najde suboptimalne riesenie za danych podmienok pri sucasnej minimalizacii zatazenosti ostatnych zdrojov.

Pre riesenie tejto triedy uloh boli pouzite rozne pristupy (anytime algorithms, imprecise computation), avsak vseobecna metodologia neexistuje. Ako slubne sa ukazuju pristupy vyuzivajuce multiagentove technologie.

Inou cestou vyuzitia zdanlivo uplne roznorodych metod UI je zdruzovanie prostriedkov inteligentnych technologii do jedneho integralneho prostriedku, ktory je pouzivany na riesenie konkretneho problemu. Vo svete existuje niekolko takychto integratorov prostiedkov UI. Jednym zo zaujimavych produktov fy. Siemens je integracny programovy system ECANSE pre operacny system WINDOWS NT v programatorskej verzii. Tento prostriedok je vhodny pre integraciu roznych prostriedkov UI napr. metody CLP (logicke programovanie ohraniceni), neuronove siete, fuzzy regulator, geneticke algoritmy a pod. za ucelom riesenia konkretneho problemu.

V poslednych rokoch sa tlacia do popredia programovacie systemy splnania ohraniceni, ktore v sebe integruju velmi efektivne algoritmy propagacie a splnania ohraniceni a su velmi zaujimavym nastrojom na riesenie a prototypovanie celej skaly realnych aplikacii, najma vdaka svojej deklarativnosti a stupajucej efektivite. Ide vlastne o moderne programovacie systemy na baze logickeho programovania ohraniceni, pripadne objektovo orientovane a distribuovane programovacie systemy. Niektore z tychto systemov napriek iba niekolkorocnej historii sa stali uz aj komercne uspesne. Tieto systemy su vsak na nase pomery velmi drahe. Existuje vsak skupina systemov, ktore su dostupne zadarmo najma pre akademicke ucely a ich vykonnost je zhruba porovnatelna s komercnymi systemami. Tieto su vybornym vyvojovym nastrojom, ktory je mozne vyuzit jednak na pedagogicke ucely, ale aj pre ucely riesenia roznych aplikacii a testovanie novych postupov. A prave nastroje UI, navrhnute pomocou tychto vyvojovych prostriedkov su vhodne pre zaclenenie do integrovaneho, pripadne multiagentoveho prostredia.

Biologicky motivovane metody UI predstavuju jednu z klucovych skupin prostriedkov, ktore mienime v ramci projektu zdruzovat. Pritom samotne tieto metody sa casto zakladaju na spolupraci velkeho poctu elementarnych zloziek, pricom vdaka emergencii ziskava integrovany prostriedok schopnosti, ktore presahuju sumu schopnosti zlucovanych prvkov. Studiom tychto javov sa zaobera umely zivot (ALIFE - Artificial Life).

Evolucne algoritmy tvoria triedu prehladavacich algoritmov inspirovanych prirodnymi procesmi. Pre hladanie riesenia vyuzivaju populacny princip umoznujuci paralelne prehladavanie priestoru potencialnych rieseni. Svojimi vlastnostami sa velmi dobre hodia pre riesenie uloh, ktore nevyzaduju garanciu najdenia optimalneho riesenia. Schopnost riesit aj problemy, ktorych zlozitost je za hranicami aplikovatelnosti uplnych algoritmov spolu s potencialom vyhladavania variantnych rieseni a rieseni na zaklade viacerych cielov povysuje tuto triedu algoritmov na slubny prostriedok riesenia sirokeho okruhu uloh technickej praxe. Sirsiemu uplatneniu evolucnych algoritmov brani pomerne obtiazny proces navrhu nutny pre vytvorenie efektivnej implementacie. V sucasnosti pozostava typicky navrhovy proces z vytvorenia ad-hoc varianty algoritmu a jej postupnym empirickym vylepsovanim volbou alternativnych casti algoritmu, nastavovanim vhodnejsich hodnot riadiacich parametrov alebo implantovanim domenovych znalosti.

Predpokladany vlastny prinos

Za hlavny vlastny prinos projektu povazujeme vytvorenie dvoch typov prostredi, umoznujucich integraciu roznorodych metod umelej inteligencie: Vytvorenie integralneho systemu pre pouzivanie roznych prostriedkov UI umozni aj efektivnejsie vyuzivanie prostriedkov a metod UI pri rieseni konkretnych problemov. Za prinos povazujeme aj riesenie niektorych ciastkovych uloh, smerujucich k vytvoreniu prostriedkov UI, vhodnych pre zaradenie do vyssieuvedenych prostredi:

Konkretny navrh postupu na dosiahnutie cielov projektu

V oblasti navrhu multiagentoveho prostredia navrhujeme nasledujuce postupne kroky: V oblasti navrhu integrovaneho programoveho prostredia predpokladame nasledujuce kroky: