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:
- zaclenenim nastrojov UI do jedneho integralneho programoveho prostiedku,
- integraciou nastrojov UI v architekture multiagentoveho prostredia.
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:
- symbolicke prostriedky a metody UI
- subsymbolicke prostriedky a metody 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:
- nie je dostatok casu pre najdenie uplneho (optimalneho) riesenia,
- pre najdenie riesenia je stanoveny casovy limit,
- existuje viac pouzitelnych metod lisiacich sa v kvalite riesenia a narokoch na vypoctove zdroje,
- je akceptovatelne aj riesenie, ktore nie je optimalne a
- 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:
- navrh a implementacia architektury a komunikacie medzi heterogennymi vypoctovymi prostriedkami
pre riesenie problemov typu design-to-time a jej otestovanie pri rieseni problemov v oblasti rozvrhovania,
- navrh a implementacia novych modulov a jednotiek medzistyku pre zaradenie roznorodych
prostriedkov a metod UI pre integrovane prostredie ECANSE NT.
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:
- navrh, implementacia a otestovanie niektorych novych algoritmov v prostredi programovania a
splnania ohraniceni, pricom pre ucely testovania budu pouzite nahodne generovane ulohy, ako aj realne
rozvrhovacie aplikacie,
- vytvorenie kompletnej metodologie na efektivne riesenie rozvrhovacich aplikacii a jej pouzitie na
vybrane rozvrhovacie ulohy,
- agentifikacia navrhnutych postupov pre ucely vyuzitia technologie CLP v ramci multiagentoveho
systemu inteligentnych technologii,
- navrh a implementacia modulov medzistyku pre Stuttgartsky simulator neuronovych sieti a systemu
ECANSE NT v prostrediach OS UNIX na strane jednej a WINDOWS NT na strane druhej,
- zjednodusenie procesu aplikacie evolucnych algoritmov pre riesenie niektorych konkretnych tried
technickych problemov poskytnutim vhodnych nastrojov a metodiky navrhu a ich prisposobenie
poziadavkam na pripadnu sucinnost s inymi prostriedkami UI,
- navrh a implementacia autonomnych agentov v prostredi simulatora Tierra a vyuzitie poznatkov z
tejto oblasti pri tvorbe kooperujucich prostriedkov UI.
Konkretny navrh postupu na dosiahnutie cielov projektu
V oblasti navrhu multiagentoveho prostredia navrhujeme nasledujuce postupne kroky:
- v prvom roku sa zamerat na analyzu poziadaviek a odhad zdrojov potrebnych na najdenie riesenia na
konkretnom prostriedku a na navrh a implementaciu algorimu pre vypocet odhadov,
- v dalsej etape projektu navrhnut architekturu a komunikacne rozhranie pre jednotlive agentifikovane
vypoctove prostriedky. Implementovane algoritmy overit na triede testovacich a konkretnych aplikacii z
praxe.
V oblasti navrhu integrovaneho programoveho prostredia predpokladame nasledujuce kroky:
- navrh a implementacia jednotlivych modulov do programatorskej verzie ECANSE NT ,
- budovanie potrebneho porgramoveho vybavenia v OS UNIX pre potreby komunikacneho medzistyku.
- Pri navrhu metod a prostriedkov, zalozenych na logickom programovani ohraniceni budeme
postupovat v nasledujucich etapach:
- v prvom roku projektu sa zamerat najma na riesenie uloh rozvrhovania v prostredi CLP a navrh
prostriedkov pre podporu riesenia takychto uloh v CLP; navrhnute postupy otestovat a porovnat,
- v dalsej etape projektu sa potom zamerat na agentifikaciu navrhnutych metod a technologie CLP ako
takej, formulovat zakladne predpoklady a rozhranie pre integraciu do multiagentoveho systemu,
- v poslednej etape potom agentifikovat vytipovane metody CLP v co moznom najsirsom rozsahu pre
ich vyuzitie v prostredi multiagentoveho systemu inteligentnych technologii.
- V oblasti navrhu a aplikacie evolucnych algoritmov sa zameriame na postupne vybudovanie vhodneho
vyvojoveho prostredia pre navrh aplikacii evolucnych algoritmov, ktore by umoznovalo rychly prototypovy
navrh s moznostou empirickeho vyhodnocovania viacerych variantnych rieseni, vyladovania vykonnosti
algoritmu a nasledneho generovania kodu pre cielove prostredie.
- Pri studiu umeleho zivota a aplikacii ziskanych poznatkov budeme postupovat v tychto etapach:
- implementacia simulatora Tierra a prislusnych grafickych rozhrani,
- studium chovania autonomnych agentov pri roznych vnutornych algoritmoch,
- aplikacia ziskanych poznatkov pri navrhu a implementacii konkretnych aplikacii.