Free Essay

Ekspertni Sistemi

In:

Submitted By PeroS
Words 2305
Pages 10
1. Општа организација на експертни системи - ВОВЕД

Вештачката интелигенција почнала да се развива во педесетите години од минатиот век, кога дигиталните сметачи во доволна мера биле јаки за да пресметат сложени задачи. Интелигенцијата на сметачите сеуште е далеку под интелигенцијата на живите суштества и треба уште многу ситуацијата радикално да се промени. Препознавањето на примерокот и говорниот јазик се мал дел од нешто што трба да се нарече вештачка интелигенција. Сепак може да се направат многу корисни интелигентни системи кои содржат обемно знаење од некое потесно подрачје засновано на знаењето на човекот кое на адекватен начин е инплементирано во сметачот и неговата програмска поддршка. Денеска многу експертни системи даваат така добри резултати, што за човек би требало да работи со години за да стекне толкаво искуство за да работи како еден експертен систем.

Основа на системот е базата на знење која ги содржи сите сознанија за областа за која експертниот систем е наменет. Механизмот за заклучување се базира на тоа што врз основа на добиената збирка на податоци, носи заклучок како да постапи. При тоа патот до донесување на заклучок не е еднозначен, туку се анализираат различни можности за да се оствари целта со анализа на сите предности и недостатоци. Уобличувањето на знаењето на експертите за да може да се внесе во сметачот го вршат инжињери и како резултат се добива програмска подршка во сметачот која “знае”да ги користи тие податоци. Споредбата на знаењето и збирката на добиени податоци се основа за донесување одлука. Новите податоци може да бараaт преиспитување на одлуката, а правилно донесената одлука може да послужи за збогатување на базата на знаење.

Знаењето на експертите може да се стави во три основни категории:

1. Факти – сигурни податоци и неспорни тврдења

2. Хипотези – можни тврдења и не сосема сигурни податоци

3. Хуеристичко знаење – способност на добра проценка кога нема факти ниту податоци.

Сметачот работејќи надвор од доменот на вештачката интелигенција воглавно изведува алгоритми кои ќе ја решат задачата, ако алгоритамот е добро направен и се користат добри податоци. За разлика од тоа во подрачјето на вештачка интелигенција може да се работи со можни (веројатни), но и не со сосема сигурни податоци. Квалитетот на експертниот систем ќе се изрази со процентот на правилни решенија. И лугето функционираат на ист начин. На крај краеви, експертниот систем го дизајнираат лугето по сопствен пример. Разлика помегу добар експертен систем во некоја област и човекот е во фактот што сметачот е непоткуплив, не е подложен на емоции и сл. Таквите слабости кои се својствени за човекот, сметачот не ги познава, па во одредени ситуации дава подобри резултати од човекот.

Експертно знаење е специфично знаење кое се однесува на одредена тесна област, ( медицина, финансии, екологија, компјутерски игри и т.н.), за разлика од општото знаење на решавање на проблемите.

Постојат :

• Системи кои се засноват на правила (eng. Rule based systems)

• Производни системи (eng. Production systems)

• Експертни системи (eng. Expert systems)

• Системи кои се засноват на знаење (eng. Knowledge based systems)

Експертниот систем е гранка од AI (Artificial Inteligence) која користи специјализирано знаење од некоја специјална област за да би ги решила проблемите на ниво на човечки експерт.

Областа на експертни системи, Expert Systems – ES претставува само дел од широкото подрачје познато како вештачка интелигенција, Artifical Inteligence. ES опфаќа збир на методи и постапки кои се однесуват на собирање , компјутерско претставување, чување и употреба на човечкото знаење во решавање на сложени проблеми.
Секој ЕЅ е граден од најмалку два модела:

• База на знење (Knowledge Base)

• Механизам на заклучување (Inference Engine)

Покрај нив, ЕЅ најчесто го пратат и следните компоненти:

1. Подсистем на објаснување ( Explanation Facility),

2. Подсистем на собирање на знаење ( Knowledge Acquisition Subsystem)

3. Кориснички интерфејс (User Interface)

Главни особини на ЕЅ се:

- Интеграција на знаење – ЕЅ го интегрира знаењето потенцијално од голем број луге - стручњаци од одредена област, на едно место.

- Ја зголемува достапноста – ЕЅ може да се користи на секоја локација, 24 часа дневно. Секогаш се на располагање и без ограничување, (ова е посебно актуелно во недостаток на експерти за одредени области на човечка активност).

- Ниво на субјективност – ЕЅ го задржува нивото на субјективност која во нив иницијално е вградена, додека експертите се склони на варијација на субјективност во размислувањето, што може да доведе до извесни забуни,

- Намалена цена – ЕЅ е поефтин отколку експертите. Лугето стручњаци сразмерно се ретки, па според тоа и скапи, додека ЕЅ лесно се репродуцира во поголем број на еднакви или слични копии,

- Ја зголемува сигурноста – ЕЅ не прави грешки, не се заморува и не заборава.

- Услови на дејствување – ЕЅ може да дејствува во услови кои за човекот се опасни.

- Брзина на реакција – брзо реагира на настанатиот проблем.

- Толкување – опис на деталите, како е дојдено до решението.

-

1. Област на примена на експертните системи:

1. Во различни типови на медицинска дијагностика (интерна медицина, пулмологија, инфективни крвни заболувања, и т.н.)

2. Во дијгноза на сложени електронски и електромеханички апарати.

3. Наоѓа примена во правните системи (пр. Планирање на приходи и имоти со цел за минимален данок)

4. Се применува во финансии и банкарство ( на пр. Евалуација на кредитната способност на фирмата или поединец).

5. Планирање на експерименти во биологија, хемија, молекуларна генетика и др.

6. Оптимална конфигурација на компонентите на комплексни системи кои морат да задоволат одредени услови.

7. Дизајн за VLSI системи.

8. Различна примена за воени цели-планирање на снабдување на единиците до надзор.

9. Едукативни цели – tutoring системи.

1.2 Потреба од Експертни системи

Оваа класа на програми најпрво е развиена со истражувања во областа на вештачката интелегенција во периодот од 1960 до 1970 а почната да се применува во 1980-те години. Најчеста форма на експертен систем е програма која е направена како сет од правила со кој се анализираат информациите кој што се внесуваат од страна на корисникот на системот за посебни класи на проблеми кој треба да бидат решени од страна на системот. Секој систем е направен да решава само одредени класи на проблеми за кој што е и наменет. На пример системот за временска прогноза ќе дава само информации за временската прогноза, анти-вирусна програма дава информации само за вируси бидејќи е специфицирана да работи за решавање само за тој тип на проблеми за кој и се користи. Експертните системи им се најпотребни на организациите кои имаат потреба од знаење од поголеми размери и соодветни експерти и бидејќи тоа знаење е тешко да се пренесе на другите членови од организацијата се користат различни видови на експертни системи. Тие се направени така да во нив се вградени знаењата на повеќе експерти и информациите кои се имплементираат во нив од страна на експертите кои ги прават а со кој можат да се решаваат одредена класа на проблеми , односно информации кои треба експертниот систем да ги има за да може да го пренесе знањето и на другите членови од организацијата за полесно решавање на проблемите. Експертните системи се користат односно можат да бидат направени за решавање на проблеми во сите професии. При решавањето на различни проблеми, во зависност нормално од тоа за што е наменет системот, користат различни техники, користат различни алатки кои им помагаат на системите да дојдат до крајно решеније. На пример има системи кој користат некакви листи во решавањето на проблемите(како mycin, emycin), кои се засноваат на предикатна логика, има системи кој работат на споредба на податоци кој се добиваат од некој испитувања и споредба со некои податоци од минати испитувања ( weather forekasting). Системи кој во својата структура го решаваат проблемот при што сите податоци кои им се познати ги ставаат хиерархиски во вид на дрва и користат назаден синџир “backward-chain” за да дојдат до решението(mycin). Системи кој ги делат проблемите на други помали проблеми, после тоа и истите на помали се додека не се дојде до единечни случаеви, а за нивно решавање се користат различни техники и алатки кој вршат критики на решенијата, ги модифицираат решенијата и прават излез кој е нај компатибилен (ODESSY).

Во текстот кој следува, накратко ќе бидат објаснети три експертни системи, како работат и кои принципи ги користат и тоа експертен систем за дијагностицирање на крвни инфекции(Mycin), систем за давање на временска прогноза (Weather forecasting),и систем за дизајнирање на канецелариски згради ODESSY (Оffice Building DESign System).

Генерално кажано Mycin е експертен систем кој наоѓа примена во медицинската професија, односно при работата со испитување на крвните инфекции бидејќи е направен да ги решава проблемите кој се јавуваат при напад на бацилите врз човековото тело. Работи врз база на предикатна логика со услови кој се сместуваат во една база на знаење во која се сместени сите податоци. Тие податоци се сместуваат во една структура која има облик на дрво и во чиј корен се сместува главниот услов, а во под елементите од дрвото се сmестуваат информациите за пациентот и за болеста, а во листовите се сместуваат податоците како лабораториски резултати. И кога системот разработува некоја хипотеза тој почнува од листовите ги зема информациите и врши пребарување во дрвото ги зама сите потребни информации, до кој доаѓа со помош на некакви операции така се додека не дојде до главниот услов и не го реши проблемот. А потоа на крај треба да даде листа на лекови од базата со листи кој ќе бидат потребни за дадената болест и да го даде нај оптималниот лек кој може да му помогне на пациентот.

Системот за предвидување на временската прогноза ( Weather forecasting) работи на тој начин што при процесот на предвидување се поминува во повеќе фази. Прво се собираат податоци од мерењата кој се вршат на состојбите во атмосферата со различни набљудувања на атмосферските влијанија. Потоа тие податоци се поврзуваат и се разгледуваат од страна на системот и се споредуваат со предходните податоци од претходните мерења, потоа се врши нумеричко предвидување на податоците со симулација на податоците која се врши со различни компјутерски програми, со кој се добива вистинска слика за промените на атмосферските влијанија. Вистинската слика се добива на крајот кога ќе излезат резултатите од процесот на симулација на податоците, и преведувањето на тие резултати во вид на временска прогноза. И на крај нивно презентирање кое е разбирливо за луѓето.

ODESSY кој е направен за дизајн на згради е многу применет во градежништвото. Овој систем прво почнува со анализата на задачите кој треба да се разгледаат во врска со дизајнот на зградата. Потоа се зема проблемот кој треба да се реши и се врши синтеза при која што системот проблемот го дели на помали проблеми во вид на една хиерархиска структура за да може полесно да го реши и да добије решенија. Во оваа фаза од процесот се добиваат така наречени прелиминарни решенија кои во наредната фаза на критицизам треба да се оценат сите тие решенија односно да се дадат критики за да може поплесно да се дојде до оптимално решеније. Во фазата на модификација може да дојде до измена на дизајнот на решението. Во оваа фаза на (синтезно-критичко-модифицирање) се користат повеќе алатки кои ја вршат синтезата и ги генерираат критиките. Наредна фаза е распоред на планот на зградата по што почнува да се добива една појасна слика на дизајнот, за да во фазата на концептуален и прелиминарен дизајн да се добие крајната слика на дизајнот. Други слични системи кој работат на исти принцип како ODESSY, се SETHY-систем за дизајн на мостови, потоа системот за дизајнирање на телото на колата и др.

Можеме да забележиме дека потребата од експертните системи се јавува на места – области кои се од особено значење за човекот. Ова е мал, но доста битен дел од областа на нивна примена. Потребата од експертни системи денес ја има насекаде, во многу области, а со развојот на вештачката интелигенција, ќе се прават по добри експертни системи и нивната потреба ќе биде уште по голема. По детално за работата на системите кои ги спомнавме погоре, ќе биде објаснета во делот за ПРИМЕРИ ЗА ЕКСПЕРТНИ СИСТЕМИ.

2 Онтологија и онтолошки структури

Поимот „Онтологија“ нема конкретна дефиниција. Онтологијата има улога да го унифицира речникот во повеќе различни системи, со што би овозможила меѓусебна комуникација помеѓу истите. Бидејќи улогата на онтологијата звучи премногу глобално, можеби и затоа не може да се изведе некоја конкретна дефиниција. Една од можните дефиниции е „Онтологијата ги дефинира основните поими и релации содржани во речникот на една област, како и правилата за комбинирање на тие релации и поими за проширување на речникот“ (Neches, 1991). Со оваа дефиниција на пример, можеме само да согледаме што ни треба за да изградиме онтологија и дека покрај експлицитно дефинираните поими, може да се докажат и други со помош на дефинираните правила. Сепак, откако ќе се разгледа целата тема, како заклучок може да се изведе сопствена дефиниција за поимот онтологија. Многу често поимот онтологија се однесува на база на знаење во светот на инженерите. Поимите имаат различно значење, но сепак имаат и заеднички точки, односно и онтологиите и базите на знаење во себе содржат знаење.

Репрезентација на знаење се врши со јазици за репрезентација на знаења. Постојат многу јазици за репрезентација на знаења со формализми на високи нивоа и може лесно да се имплементираат во многу програмски јазици. Системите со вештачка интелигенција имаат потреба од јазици за репрезентација на знаење кои поддржуваат донесување на заклучоци. Бидејќи неможе секогаш експлицитно на системот да се наведе сè што му е потребно, некогаш нештата мора да останат имплицитни и да бидат утврдени од самиот систем. Најважен јазик за репрезентација на знаења е предикатната логика, која е развиена од логиката на претпоставување. Со предикатната логика може да претставиме комплексни факти за околината, но исто така и да изведеме комплексни факти на начин кој гарантира точност доколку основните факти се точни, тогаш и донесените заклучоци се исто така точни. За репрезентирање на знаење можеме да пристапиме на три начини: со користење на структурни објекти, со користење на логика и со користење на правила. Поради комплексноста на системите, не е можно да се оствари репрезентацијата на знаење со само еден начин, затоа се користи комбинација од претходните три. Ова се должи на предностите и недостатоците на различниот начин на пристапување.

2.1 Oнтолошки системи

2.1.1 Онтологии и бази на знаења

Беше споменато дека во светот на инженерите понекогаш доаѓа до погрешно асоцирање на двата поими. За да се согледа разликата помеѓу онтологија и база на знаење, ќе бидат наведени неколку главни разлики според кои тие се разликуваат:

• Карактеристики на јазикот користен за кодирање на бази на знаење. Онтологиите треба да бидат напишани јасно, декларативно, со преносен смисол и добро семантички дефинирани за да бидат машински независни, односно да може да се употребуваат независно од околината за која се планирани. Овие карактеристики не може да се гарантираат при кодирањето на базите на знаење. • Главна цел при кодифицирањето на знаењата. За разлика од базите на знаења, онтологиите се дизајнирани за независна употерба и да овозможат делење на знаења. Затоа нивните дефиниции треба да овозможат доволна апстракција и генералност, што би овозможило нивно повторно искористување. • Спецификации на потребите. Поради недоволната апстракција и независност на базите на знаења, при дизајнирање на нови системи или менување на веќе постоечки, потребно е повторно да се изминат фазите на дизајнирање на базите на знаење кои треба да бидат имплементирани. Овој недостаток не постои кај онтологиите поради нивната абстракција и генералност. Со нивно користење можеме да опишеме што може да се очекува од онтологијата, односно најголемиот дел од речникот да биде опфатен со онтологијата на конкретниот домен.

Иако онтологиите споредувани со базите на знаења делуваат безмалку совршено, сепак имаат свои недостатоци. Како и базите на знаења, така и онтологиите неможат целосно да го опфатат и опишат проблемот во даден домен во било која од фазите од развојот на системот. Подоцна ќе бидат разгледани неколку типови на онтологии и ќе биде разгледано како со можни комбининации може, скоро во целост, да се опфати доменот на проблемот.

За да се овозможи повеќе различни системи да можат да користат исто знаење или знаењето да се користи паралелно од два или повеќе системи во исто време, мора да постои некој договор помеѓу системите. Со тој договор се овозможува користење на истите поими и значења во или помеѓу системите и се нарекува онтолошко признание. Овие договори не важат само за дистрибуираните системи, туку воопшто за секој систем. Секој систем треба да биде конзистентен и кохерентен со самиот себе во текот на целиот животен циклус. Секое знаење, онтологија или база на знаење, вметнато во тековен систем мора да биде кохерентно со знаењето имплементирано во претходните фази во дизајнирањето на системот. Сепак со овој договор, односно обврзување, се овозможува само конзистентност, но не и комплетност во системите.

Базите на знаења се дизајнирани со помош на онтологии. Онтологиите се дизајнираат еднаш и потоа само се надоградуваат, но не се менуваат. Базите на знаења најчесто значајно се менуваат во текот на животниот циклус, кој е пократок од животниот циклус на онтологиите. При менување на базата на знаење, потребно е процесот на развој да се започне од почеток и тој процес е различен за секое следно издание на базата на знаење. Онтологиите се глобални и конзистентни. Базите на знаења мора да бидат конкретни за системот за кој се наменети. Онтологиите се дизајнираат еднаш во животниот циклус, а потоа само се надоградуваат. За разлика од базите на знаење, при развивањето на онтологиите се препорачува користење на примеси од други, веќе дизајнирани онтологии. За дизајнирање на онтологии постојат посебни методи што зачително го олеснуваат процесот на дизајнирање. Постојат повеќе типови на онтологии и се поделени во зависност од нивната примена. Животниот циклус на онтологиите многу наликува на животниот циклус на софтверските пакети.

2.1.2 Типови на онтологии

• Домен онтологии. Онтологии кои содржат речник кој е валиден за конкретен домен. Во речникот се содржани објекти и компоненти на доменот, множество од глаголи и парафрази кои ги опишуваат активностите и процесите во доменот, како и примитивни концепти кои се однесуваат на доменот. Доколку речникот на онтологијата е премногу голем, истата може да се подели на три дела: објектна онтологија, онтологија на активности и зонска (field) онтологија, кога ги опфаќа сите компоненти содржани во речникот наизменично. • Онтологии на задачи. Речниците на овие онтологии се користат за опишување на термини користени во процеси за решавање на проблеми. Во себе содржат именки, глаголи придавки парафрази поврзани со даден проблем. Проблемите кои ги решаваат овие онтологии може, но и не мора да бидат во ист домен. Како и кај Домен онтологиите, и овој тип на онтологии може да се подели доколку опфатноста на речникот е голема. Поделбата се врши според типот на термините (именки, глаголи и.т.н) • Разбирливи (common sense) Онтологии. Овој тип на онтологии се составени од мнгоу онтологии кои опфаќаат различни домени. Најчесто се користат за репрезентација на време, простор, случајност и.т.н. • Мета – Онтологии. Речниците на овие онтологии се составени од основни термини со кои се врши обединување на претходните три типови на онтологии во формален јазик. • Онтологии за репрезентација на знаења. Ги издвојуваат само примитивните основи за репрезентација од јазиците за репрезентација на знаења. Со ова својство, знаењето репрезентирано со речникот содржан во овие онтологии се конкретизира за доменот во кој се користи онтологијата.

• Онтологии базирани на рамки. Тип на онтологија кој претставува онтологија за репрезентација на знаења. Кај овој тип на онтологии признанија укажуваат дека релациите се торки, функциите се специјален тип на релации каде што секој термин е уникатен и класите се унарни релации. Онтологијата ги превзема примитивните репрезентатори од јазиците за репрезентација на знаење кои се претставени со рамки, но не ја превзема комплетната семантика. Со издавање на множество на релации од втор ред се овозможува кодифицирање на онтологиите со конвенции базирани на рамковни претставувања. Главна цел е да овозможи споделување на онтологии помеѓу системи кои користат различни типови на јазици за репрезентација на знаење.

• Лингвистички онтологии. Овој тип на онтологии се состои од неколку модели на креирање онтологии за различни домени. Генерализираниот горен модел (GUM) се користи за креирање на лингвистички онтологии за специфични јазици и ги содржи основните јазични концепти и нивната организација. EDR електронскиот речник е составен од многу голема база од знаења, изграден врз база на генерализираниот електронски речник. Овој речник претставува множество од податоци и знаења за јазикот кој е наменет за природно процесирање. WordNet е концептиран лексикон за генерална употреба кој може да се користи и како on-line речник или лексикон.

• Инжинерски онтологии. Од овој тип на онтологии, може да се издвојат EngMath онтологијата, која се користи за математичко моделирање и инженерство. PhysSys е онтологија за моделирање, симулација и дизајнирање на физички системи.

• Онтологии за планирање. Multis, како најпозната онтологија од овој тип содржи концепти за извршување на задачи. Се користи за распоредување и развивање на системи за анализи на задачи кои се употребуваат за развој на извршни модели на задачи. Кај репрезентацијата на знаења, треба да се внимава на типот на системот каде е што се репрезентира знаењето, бидејќи сите ситеми не користат иста репрезентација на знаење. Разликата помеѓу обичните системи е системите базирани на вештачка интелигенција се состои во јазикот, кој за системите со вештачка интелигенција мора да поддржува донесување на заклучоци. Заклучоците се донесуваат врз база на претходно дефинирани правила или правила кои се докажуваат од веќе постоечките првила во системот. Донесувањето на заклучоци има и потреба од процедури со кои ќе се докажуваат хипотезите. Знаењето се репрезентира преку три типови на пристап: принцип на логика, структурни објекти и системи за продукција. Една од предностите на јазиците за репрезентација на јазиците е можноста за едноставно прикажување на информациите во класни хиерархии. Но ова немора да важи секогаш, како на пример доколку системот има потреба од „ако – тогаш“ правила, не е возможно да се претстават со помош на структурни објекти. Тогаш се користат системи базирани на правила или пак со логички пристапи. Логиката се разликува од системите базирани на правила поради декларативниот начинот на претставување на термините, точно и нетолно. Системите базирани на правила се концентрирани на процедурално знаење со кое се кажува кога и каква акција да се превземе. Опишаните системи кои ги докажуваат правилата не секогаш го нудат соодветниот одговор, бидејќи секогаш добиваме точен или неточен одговор, иако понекогаш имаме потреба и од попрецизни одговори. Ова е веќе непрецизирана логика и не е предмет на оваа тема. Комплексноста во пронаоѓање на точниот смисол на реченицата во семантиките е многу покомплексен од гореопишаните начини. Правилните семантички системи во своите бази на знаења содржат информации и методи за детектирање на користени времиња во речениците, услови и.т.н. Гореопишаните начини се премногу глобални и беа наменети само за да се согледаат намената на семантиките.

2.2 Oнтолошки структури

Прво да почнеме од тоа што се онтолошките структури и кои се нивните генерални карактеристики.Онтолошките структури како и многу други работи во минатото па и денешницата постоеле, многу се користеле,но луѓето не биле свесни дека тоа нешто е различно од останатото,па не ги диференцирале и не пробале да ги разликуваат или пак објаснат.Ако повторно се навратиме неколку илјади години наназад во “камената доба”, ќе видеме дека тогаш луѓето на пештерите цртале слички од нивните животи што ги виделе, а бидејќи немале писмо и единствен начин на запишување или забележување на истите било со серија од поврзани цртежи кои ја објаснувале случката.Ако го видеме примерот со ловот на животни (Слика бр.02) и сите подготовки и ритуали и прослави што оделе заедно со самиот лов, и како тоа било во сликовит редослед (со правилен редослед) прикажано на ѕидовите. Има и други цртежи од тој период на кои се претставени на сличен начин како што е борбата на едни со други животни (Слика бр.03) или борбата помеѓу неколку племиња (Слика бр01). Овие примери претставуваат онтолошка структура.

[pic]

Слика бр.01 борбата помеѓу неколку племиња

[pic]

Слика бр.02 Ловење на животни

[pic]

Слика бр.03 борбата на едни со други животни

2.2.1 Типови на онтолошки структури

Секој од цртежи на слика 01,02, и 03 имаат одредени делови (иако многу малку) што се повторувале на пример карактеристичен знак за човек, оружје итн. Но овие цртежи се од типот на слободни онтолошки структури, кои се без многу правила на пишување каде што секој автор си ги дефинира структурите на свој начин, но сличноста и едноставноста мора да се задржи како основен концепт на онтолошките структури.Иако и по стриктни онтолошки структури кои се користеле малку подоцна од камената доба, кога веќе луѓето знаеле да зборуваат и имале јазик и писмо, но едниот јазик од другиот многу се разликувале увиделе дека мора да смислат начини и правила како некој работи кога ќе ги обележат за полесно разбирање, секој кога ќе го види тоа да не го прашува авторот што значи ова, а што значи ова, тогаш објаснувањето би било бесмислено доколку самото Образложување треба да се Образложува.Па затоа на секој цртеж биле ставени сите знаци и објаснување на соодветниот јазик, и ако имало потреба истиот тој цртеж да се прикаже во друга земја само се преведувало значењето на симболите во објаснувањето – потоа овие објаснување биле наречени ЛЕГЕНДИ (пример на слика бр.04).Во оваа категорија на онтолошки структури спаѓа и примерот на слика бр.05 кој претставува онтолошка интерпретација на одлучување на една субстанца. На овој пример легендата е дадена на самиот цртеж, поради поедноставување на работите и бидејќи е многу не практично за еден цртеж да се црта уште еден и два цртежа со легенда за првиот цртеж.

Друг пример за слободниот тип на онтолошки струкури може да се земе движењето на рацете и нозете кога се игра некое оро или на пример првиот “филм со подвижна слика” Коњ во Движење на Leland Stanford на ден 10 јуни 1878 година, ова е прикажано на слика бр.06. На сликата е објаснето / прикажано како се одвива јавањето на коњ, кои потези ги прави коњот како ги дрижи нозете и кои движења ги прави јавачот соодветно, за да компензира и да ја одржи рамнотежата. Овде немало потреба од легенда бидејќи премногу е очигледно како е пратставен коњот а како јавачот. Многу едноставен пример, слободниот тип на онтолошки струкури е онтолошката претстава на атомот.Нема потреба од легенда бидејќи се знае дека една молекула е составена само од атоми (слика 07).

[pic]

слика бр.04 пример за легенда

[pic]

Слика бр.05 онтолошка интерпретација на одлучување на една субстанца

[pic]

Слика бр.06 Коњ во Движење

Има и трет тип на онтопошки структури кои се тесно поврзани со постриктни онтолошки структури, или овие третите се така наречени онтолошки структури со преддефинирани правила.Во оваа категорија спаѓаат линиите со музички ноти, за сите инструменти, или некој код од програма која работи со онолошки структури како XML јазикот. Музичките ноти (слика бр.08), се онтолошка структура иако музичарите не биле свесни за тоа тие многу помогнале да се развијат онтолошки структури со преддефинирани правила, кои се основа на XML, на базите на податоци во најпримитивна форма (слика бр.09),која се користи за логичка претстава на пример во програмскиот јазик PROGOL (иако таму овие форми се наречени сложени структури тие се онтолошки структури). Во

Значи постојат три типа на онтолошки структури:

• слободниот тип на онтолошки струкури кои се очигледни и немаат потреба од дополнителни објаснувања се со цел да се задржи едноставноста и целоста. • постриктни онтолошки структури кои најчесто одат заедно со легенда која полесно ги објаснува истите. • онтолошки структури со преддефинирани правила кои се всушност и под група на постриктни онтолошки структури, со едно мала предност немаат потреба од легенда бидејќи правилата се знаат .

[pic]

Слика бр.08 Музичките ноти

[pic]

Слика бр.7 онтолошката претстава на атомот

[pic]

Слика бр.09 Примитивна форма на база на подаотоци

2.3 Основни карактеристики и генерални реализации

Основните каратеристики на сите типови (слободниот тип на онтолошки струкури, постриктни онтолошки структури, онтолошки структури со преддефинирани правила) на онтолошки структури е ендоставноста,можноста за промена и надополнување и лесна имплементација или за поточно објаснување на овие структури можеме употребиме компјуерски терминологии бидејќи денеска онтолошките структури се основа на XML-от или Extensible Markup Language кој многу помага во развојот на Интернетот и размената на податоци помеѓу различни податоци и софтверски апликации/архитектури. Онтолошките структури (во компјуерска терминологија) тие треба да бидат лесни и едноставни за инсталација, да имаат можност за менување на типот на податоците и пред се енкодирањето. И главна работа на онтолошките стрктури е тие да овозможат комуникација помеѓу B2B (business – to - business), B2C (business – to - costumer), или C2B (costumer – to - business), и менување на платформа (или нова верзија на програмата) на иситите апликации, со нула процент на загуба на податокот.

3. Вовед во семантики

Семантиката може да се разгледува како множество од делови од некоја реченица, или израз, како и информации за можните значења на зборовите содржани во истото можество. Целта на семантиката е со комбинација на овие значења заедно со онтолошката структурата на реченцата, да се обезбеди некој почетен смисол на влезната реченица. Веќе се согледува и проблемот на семантиките, а тоа се можните комбинации на зборовите и како тие да се протолкуваат за да се определи точното значење на реченицата. Еден од најголемите проблеми е генералноста на влезниот аргумент. Доколку го претставиме значењето експлицитно во семантиката, без контекстуално значење не постои соодветен начин да се претстави значењето на реченицата. Оваа појава е најчеста кога на влез има именки со повеќе од една појава. За да се овозможи соодветна семантичка репрезентација, се препорачува комбинирање на делови од реченицата на соодветен и едноставен начин. Овој термин е повеќе познат како композициони семантики. Се врши со претставување на различните значења на зборовите како ламбда изрази, потоа со алгоритам за нивно комбинирање се доаѓа до едно од можните значења на реченицата.

1. Дизајнирање и користење на онтологии (Градење на Онтологии)

При дизајнирањето на онтологиите мора строго да се внимава на критериуми и принципи добиени со претходни искуства. Јасност и објективност се еден од главните критериуми. За онтологијата да биде јасна и објективна, во неа мора да се обезбедени значењата на дефинираните поими и целата онтологија да содржи документација која е разбирлива за човекот. За таа да биде комплетна мора дефинициите да бидат и јасни и објаснети со поконкретна дефиниција. Кохерентноста на онтологијата дозволуваат заклучоците да се конзистентни со дефинициите. Вметнувањето на нови термини без промена на веќе постоечките термини во онтологијата овозможуваат максимална можност за еднолично проширување. Минималните онтолошки признанија се контрадикторни со критериумот за комплетноста на онтологијата. Овој критериум се однесува на што е можно помалата спецификација за термините во онтологијата, од каде и потекнува контрадикторноста (Gruber, 1993b). Принципот на онтолошка поделба значи дека класите во онтологијата може да се поделат со критериумот за идентитет. Овој критериум овозможува изолирање на јадрото со својствата кое е непотребно при креирање на инстанци од некоја класа. Врз база на природата на апликацијата, нејзините корисници и генералноста на доменот, дефинирани се три категории на користење на онтологиите. Овие три категории може подоцна да се групираат во две категории во зависност од периодот на користење на онтологијата.

• Комуникација помеѓу организации и луѓе. • Внатрешна функционалност помеѓу софтверски системи за унификација на јазици и алатки. • Придобивки од системското инженерство кога со користење на онтологии се дизајнираат софтверски алатки за спецификација, повторно искористување и веродостојност.

Двата типа на категории во кои можат да се поделат горенаведените категории се oнтологии користени за време на дизајнирање и oнтологии користени за време на работа (runtime).

• Онтологии користени за време на дизајнирање. Овие онтологии се користени за време на процесот на дизајнирање, како што кажува и самото име на категоријата. Овозможуваат ефикасно градење на бази на знаења со помош на знаење кое е претходно дефинирано, концептуализирано и имплементирано во некој формален јазик со што се изоставува фазата на концептирање на новиот систем. Очигледно е дека процесот на развивање на системот зависи од дизајнот на онтологијата. Бидејќи веќе постојат основни дефиниции во базата на знаења, потребно е само внесување на нови дефиниции кои не се овозможени со онтологијата за кои претходно беше споменето дека лесно може да се имплементират. И двата типа на дефиниции ја сочинуваат новата база на знаења во системот. • Онтологии за време на работа. Покрај онтологиите кои се користат за време на дизајнирање на базата на знаење, постојат и онтологии кои се користат за време на работа на системот. Доколку во агентска мрежа постои систем кој нема сопствена база на знаења, тој може да искористи веќе постоечка база на знаења од друг систем во истата мрежа. Тој систем ја користи својата база на знаења, го решава проблемот поставен од претходниот системот кој го испратил барањето и то испраќа одговорот до него. За оваа намена е дефиниран јазик за комуникација помеѓу агенти (agent communication language – ACL) и може да се гледа од три аспекти:

o Речникот во ACL е онтологија. Термините имаат природен и формален опис. Онтологијата овозможува едноставна заедничка интерпретација на термини и информации која се дистрибуира меѓусебно. o Внатрешниот јазик на ACL претставува формат за интерна размена на знаења и обезбедува формални дефиниции на термините во речникот. o Надворешниот јазик на ACL претставува јазик за манипилација на прашања од базата на знаења и служи за како комуникациски протокол помеѓу агентите.

2. Процеси на развој на Онтологии

Ќе бидат разгледани чекорите на кои треба да се внимава при дизајнирање на онтологија. За опис на чекорите се користат глаголи, кои пак означуваат некакви активности. Редоследот на извршувањето на овие чекори не е од интерес, туку само листата на активности кои треба да се извршат. Доколку онтологијата која треба да се дизајнира не е многу голема, не е морално да се изминат сите чекори од процесот на развој. Доколку станува збор за онтологија со големи размери, треба да се внимава на три категории на активности со кои би се постигнала јасна и објективна онтологија. Трите категории на активности се следните:

3.2.1 Активности при менаџирање на проекти.

Како што беше кажано претходно, за дизјнирање на едноставни онтологии не е потребно строго да се внимава на чекорите во развојот. Доколку станува збор за дизајн на покомплексна онтологија, мора претходно да се дефинираат активностите при менаџирањето на истата.

• Планирање. Се дефинираат главните задачи во процесот на дизајнирање, нивната распределба, како и искористеноста на ресурсите и времето потребно за онтологијата да биде завршена. • Контрола. Овој чекор обезбедува контрола врз проектот. Со него се врши гарантирање дека даден чекор во фазата на развој е комплетиран, со што би се избегнале одолговлекувања. • Обезбедување квалитет. Целта е да се обезбеди квалитетен производ на крајот од фазите на развојот.

Мора да се нагласи дека постои разлика помеѓу евалуација и обезбедување на квалитет. Евалуација претставува техничка активност со која се подобрува квалитетот на продуктите со тестирање.

3.2.2 Развојно – ориентирани активности

Во оваа активност ќе бидат претставени практичните техники за развивање на онтологии.

• Спецификација. Процесот на развивање на онтологијата не смее да започне без претходна спецификација за целта и корисниците кои ќе го користат системот. • Концептуализација. Градење на концептуален модел кој ќе го опише проблемот и неговото решение. • Формализација. Трансформација на концептуалниот модел во формален. • Имплементација. Кодифицирање на онтологијата во формален јазик за да стане употреблива. • Одржување. Надоградување на веќе постоечка онтологија.

3.2.3 Потполни активности

Активности кои ги копираат претходните, развојно – ориентирани, активности и обезбедуваат потполна поддршка. • Стекнување на знаења. Наведување на сите извори на знаења со наведување на користените техники. • Интеграција. Користење и интегрирање на делови од веќе постоечки онтологии во процесот на развивање на онтологијата. • Евалуација. Тестирање на сопствениот производ за подобрување на квалитетот. • Документирање. Составување на комплетна документација со која би се олеснила употребата на производот на други системи. • Конфигурирање. Содржи записи со нови промени за секое издание на производот.

3.3 Животен циклус на онтологиите

Животниот циклус на онтологиите се состои од неколку фази: спецификација, концептуализација, формализација, имплементација и одржување. Планирањето не е споменато како фаза од животниот циклус бидејќи се извршува пред спецификацијата. Интеграција се изведува за време на целиот животен циклус, најмногу за време на концептуализацијата, а помалку за време на имплементацијата. За избегнување на грешки се врши евалуација, која се обавува во раните фази од развојот. Животниот циклус на онтологиите исто така зависи и од методите кои се користени за развој. На пример, со користење на моделот на водопад (waterfall), сите активности се секвенцијални и не може да се премине од една во друга активност додека тековната не биде завршена. Доколку се користи инкременталниот метод за развој, онтологијата расте по слоеви, а нови дефиниции се вметнуваат само кога е планирано издавање на нова верзија. Еволуциониот прототип е докажан како најсоодветен метод во кој може да се манипулира со дефинициите во секоја која фаза од развојот. На овој начин, онтологијата расте во зависност од потребите.

3.4 Методологии за градење онтологии

Методологиите претставуваат еден тип на водич низ процесот на развој на онтологиите. Обезбедуваат начини за водење на активностите, кои техники се соодветни за секоја активност и каков производ нуди секоја активност. Се користат повеќе методи за градење на онтологиите бидејќи не е возможно да се дефинира генерален метод кој би ги задоволил сите потреби. Модели кои најчесто се користат се ad-hoc методата, метод чии фази се независни од доменот на онтологијата и други. Сепак, постои еден метод наречен метонтологија и претставува структурен метод за градење на онтологии. Фазите се претставени како дел од онтолошкиот развоен процес. Спецификација се врши на на начин кој треба да обезбеди неформален, полуформален или формален документ со спецификации за онтологијата. Таа ја опфаќа целта на онтологијата, нивото на формалност и нејзиниот опсег. Целта на исполнување на овие точки е да се обезбеди поголема конзистентност и комплетност на документот за спецификација.

3.5 Системи базирани на онтологии

Ќе бидат разгледани неколку типови на реални системи кои користат онтологии во реални апликации.

• Comet и Cosmos: Првиот систем поддржува дизајн на софтверски системи, а вториот поддржува инженерски преговори. И двата системи овозможуваат некаков feedback на корисниците. Важно е да се напомене дека признанијата во системите се кодирани директно во оригиналната база на знаења, со што се овозможува конзистентност и резонирањето на методите да биде разумно.

• TOVE моделот служи за креирање на модели кои не само одговараат на прашања, туку исто и доставуваат заклучоци до самите прашања.

• Enterprise Project има задача да ги подобри или промени методите на моделирање на enterprise системи и да ја менаџира соодветната промена.

• Kactus е проект на моделирање на знаења за комплексни технички системи за повеќекратна употеба.

• Plinius e полуавтоматски систем за аквизиција на знаења составен од природен јазик и е наменет за доменот со керамички материјали, процесот на обработка и нивните својства.

4. Невронски мрежи

4.1 Поим за невронски мрежи

Поимот за невронски мрежи подразбиран во информатичката технологија е поврзан со билошката интерпретација на невронските мрежи кај ‘рбетниците. [pic] Слика 1. Билошка претстава на невронот Аналогно на билолошката интерпретација, невронската мрежа во контекст на експертните системи претставува модел за пресметки со поврзовен пристап. Се состои од множество на процесирачки единки – неврони. Главен поим кај невронските мрежи е состојбата на активација. Состојбата на активација во потесна смисла го претставува излезот од даден јазол, а во поширока означува дали влезот во јазолот бил над граничната вредност (дали невронот се активирал). Заради меѓуповрзаноста, во невронските мрежи имаме правило на пропагација кое пропишува колку излезот на даден јазол зависи од индиректните влезови во тој јазол. Во структурна смисла, невронската мрежа се сотои од следново: • множество на процесирачки едници („неврони“, „јазли“) • состојба на активација yk за секоја едника, која е еквивалентна на излезот од единката • врски помеѓу единките. Вообичаено секоја врска е дефинирана со тежина wjk која го одредува ефектот (влијанието) кое го има единката j на единката k; • правило на пропагација, кое фо одферува ефективниот излез на единка од неговите надворешни влезови • функција на активација Fk, која ја редефинира состојбата на активација врз основа на ефективниот влез (t) и актуелната активација yk(t) (т.е. дава нова вредност на состојбата на активација); • надворешен влез (bias или офсет) за секоја единка • метода за прибирање на информациите (правило за учење) • средина во која системот ќе дејствува, обезбедување на влезни сигнали и ако е потребно, сигнали за грешки [pic] Слика 2. Претстава на невронот (ИТ) Освен ова процесирање, втора задача на невронот е поставување на тежините. Системот е паралелен, така да можат повеќе единки да ги вршат своите пресметки во исто време. Во рамките на невронските мрежи, корисно е да разликуваме три типа на јазли: влезни јазли – кои добуваат податоси од надвор на невронската мрежа, излезни јазли – кои испраќаат податоци надвор д невронската мрежа и скриени јазли – чии влезни и излезни сигнали остануваат внатре во мрежата. [pic] Слика 3. Типови на јазли во невронски мрежи За време на операциите, јазлите може да се обновуваат синхроно или асинхроно. Кај синхроното обновување сите јазли ја обновуваат својата активација истовремено, додека кај асинхроното, секој јазол има своја (вообичаено фиксна) веројатност на обнова за време t, и вообичаено самоо една единка ќе може да изврши активација во едница време.

4.2 Слоеви и функции на активација

[pic]

Слика 4. Илутстрација на слоеви кај невронски мрежи

Ако сметаме дека x е влезен јазол за невронската мрежа на слика 4, а f е излезен јазол, тогаш h{1,2,3}и g{1,2} припаѓаат во множеството скриени јазли. Пооделните множества јазли x,h,g,f се нарекуваат слоеви на невронската мрежа.

Во дефиницијата за активациската функција, рековме дека таа е правило за изведување на новата состојба на активација, врз основа на актуелната состојба на активација и актуелниот влез. Заради претпоставката дека секој јазол збирно придонесува кон јазолот со кој е поврзан, следува дека тоталниот излез од јазел к е сумата на тежините на јазлите (збирот на јазлите од сите слоеви) кои директно влегуваат во него, плус офсетот. Заради ова, логичен е заклучокот дека функцијата на активација мора да биде

неопаѓачка функција. Иако тоа е начестата форма, функцијата на активација може да биде и строго лимитирачка функција (sgn функција), полу-линеарна функција или нестрого лимитирана функција, например сигмоидната (во форма на буквата Ѕ) функција: .

[pic] Слика 5. Различни видови на активациски функции Многу е важно функцијата на активација да го има следното својство: да биде диференцијабилна во самата себе; ∫f=f. 4.3 Топологии на невронски мрежи Раликуваме два типа на топологии на невронски мрежи

• feed-forward мрежи – каде податоците од влезните до излезните јазли е строго одредена. Процесирањето на податоците може да се прошири преку повеќе слоеви на јазли, меѓутоа нема повратни врски, односно нема врски од излезни до влезни јазли во исти или различни слоеви • рeкурентни мрежи – мрежи кои содржат повратни врски. За разлика од feed-forward мрежите, тука динамичките својства на мрежата се важни. Во некои случаи, активацините вредности на јазлите подлежат на процес на релаксација така да мрежата еволуира во стабилна состојба во која овие вредности повеќе нема да се менуваат. Во други примени, промената на активациските вредности на излезните јазли е значајна, така да динамичкото однесување го чини излезот на мрежата.

4.4 Невронски мрежи како класификатори

Невронските мрежи имаат карактеристики кои ги прават многу погодни за користење во експертните системи, заради невните погодности за креирање системи за класификација. Некои од тие карактеристики се:

- можноста за паралелно, дистрибуирано процесирање

- архитектурата на насочен тежински граф му овозможува да меморира промена на тежини и прагови, и автоматски да класифицира

- толерантноста на грешки и адаптабилноста – ако некои неврони не функцинираат, останатите ќе се адаптираат.

4.4.1 Перцептрон на едно ниво Перцептроните се наједноставните видови на feed-forward мрежи. Најраните видови на невронски мрежи се мрежи со перцептрон на едно ниво, кој се состои од еден слој на излезни јазли, влезовите одат директно во излезите преку серија на врски со тежини. Сумата на производите на тежините и влезовите се пресметува во секој јазол, и доколку вредноста е над некој праг (вообичаено 0), јазолот се активира и завзема активирана вредност (вообичаено 1); во спротивно, зема деактивирана вредност (типично -1). Неврони со ваков вид на активациска фнкција се нракувааѕ МекКалок-Питс неврони или прагови неврони. Во литературата терминот перцептрон се однесува на мрежи кои имаат само еден ваков јазол. Биле опишани од Ворен МекКалок и Волтер Питс во 1940 тите. Перцептрон може да се креира со користење на било кои вредности за активирана и деактивирана вредност, се додека вредноста за прагот лежи помеѓу овие две вредности. Повеќето перцептрони имаат излези 1 или -1 со праг 0 и има некакви докази дека таквите мрежи може да се тренираат побрзо од мрежите лреирано со други вредности за активација и деактивација.

[pic] Слика 6. Перцептрон на прво ниво Перцептроните може да се тренираат со едноставен алгоритам за учење што често се нарекува и делта правило. Алгоритмот ги пресметува грешките помеѓу пресметаниот излез и излезот од примерок на податоци, и го користи тоз знаење за да ги постави тежините, со тоа имплементирајќи форма на нивно градуално опаѓање. 4.4.1.1 Примери на тренирање на перцептрони на едно ниво 1. Со користење на прагова функција сакаме да имплементираме логичко „и“.
|x1 |x2 |a |
|0 |0 |0 |
|0 |1 |0 |
|1 |0 |0 |
| 1 |1 |1 |

Ако земеме дека w1, w2, се тежините и t e вредноста на активацијата на излезниот јазол, тогаш ни требаат такви тежини за овие вредности, да а добие коректна вредност. (w1, w2, t) = (1,1,2) дава решение, но решенија како (w1, w2, t) = (3,3,4) 0*3+0*3y и модификација на врските.

Постојат два начина на модификација на врските во невронската мрежа:

1.Со користење на претходно знаење од проблемскиот домен се поставуваат тежините на врските (аналогно на статистичкото мултуплексирање кај компјутерските мрежи)

2.Со тренирање на мрежата до шаблони, таа да си ги менува врските според правило на учење кои споредува примерок дадени решенија со влезови/излези од мрежата.

Односно, во една поинаква синтагма зборуваме за:

1.Supervised/self-supervised learning – Почетното знаење доаѓа од надвор/од самата мрежа

2. Unsupervised learning/ Self-Organization – се учи да реагира на кластери од влезови, статистички да одреди шаблони и поделба во класи. Има сопствена репрезентација, и нема претходно зададено знаење – започнува со случајни вредности за тежините на врските.

4.6 Back propagation

Техниката за учење што се нарекува back propagation работи на тој начин што излезите од мрежата се споредуваат со очекуваните, точни вредности и се проценува error функција. Се модифицираат тежините на врските, за да се намали вредноста на error функцијата. Работи по принципот на алчни алгоритми, го задава решението кое е најдобро во дадениот момент, кое можеби нема да биде најоптималното решение на глобален план.

После доволен број на итерации, системот доаѓа во состојба каде ратата на грешки е занемарливо мала – во тој момент кажуваме дека системот научил одредена целна функција.

Пресметувањето на новите вредности на тежините на врските се прави со наоѓање извод од error функцијата, наоѓање минимум. Затоа – најпогодни функции за активација се континуално диференцијабилни функции, како сигмоидната функција.

Проблемот е комплексен, заради наоѓање соодветен број и соодветен број на примерок податоци за тренирање. Голема е веројатноста дека системот, при грешна инструкција, ќе доведе до погрешни заклучоци и погрешна генерализација, затоа што нема општо знаење и правилата за резонирање се поинакво од оние на инженерот на знаење.

Проблемот со back propagation е тоа што може да се случи алгоритмот да се концентрира на локален минимум на error функцијата.

4.6.1 Ефект на бројот на примероци за тренирање

[pic]

Слика 9. Илустрација на ефектот на примероци за учење

Сликата го прикажува следното: малите крукчиња се примероци за учење, испрекинатата линија е посакуваната функција, а линијата е апроксимацијата на системот. Горната претстава е за 4 примероци, и за 20 примероци.

Во случајот, очигледна е придобивката од користење на поголем број на примероци.

Истиот систем бил тестиран со различен број на примероци за тестирањем при што за секој примерок, мерењето било повторено 10 пати, а за конечна вредност за земала просечната вредност на ратата на грешка и се добил следниот дијаграм:

[pic]

Ратата на учење се зголемува со зголемување на примероците за учење, а ратата за грешки се намалува при зголемување на зголемување на бројот на примероците за учење.

Со зголемување на бројот на примероците за учење, тие конвергираат кон иста вредност. Ако ратата на учење не конвергира кон ратата на грешки, тогаш процедурата за учење не го пронашла глобалниот минимум.

4.7 Рекурентни мрежи

Кај рекурентните мрежи, среќаваме дводимезнионален податочен тек, јамки.

[pic] [pic]

Слика 11 . Зависност Fx od Fy Слика 12 . Зависност од време

4.7.1 Џорданова мрежа

Едноставната рекурентна мрежа е варијација на перцептронот на повеќе нивоа, познат и под името „Џорданова мрежа“

. Трислојна мрежа се користи, со додавање на повратни врски од излезните единки до т.н. состојбени единки со фиксирана вредност на тежините на 1. Скриениот слој е поврзан со врски до овие контекстни единки.

При секој чекор, влезот се пренесува преку стандарден feed-forward начин, и потоа се применува правилото за учење (вообичаено back propagation). Фиксните повратни врски резултираат во одржување на копија на вредностите на претходните вредности на скриениот слој. Системот може да задржи одредена состојба, дозволувајќи да изведува задачи како предвудување на секвенци, што не се во моќите на стандардниот перцептрон на повеќе нивоа.

[pic]

Слика 13 . Џорданова мрежа

Кај комплетно рекурентната мрежа, секој неврон добива влез од секој друг неврон во мрежата. Овие мрежи не се аранжирани во слоеви. Вообичаено само подмножество на невроните добиваат надворешни влезови, и друго дисјунктно множество на неврони го репортира излезот надвор од мрежата, и го враќа на сите неврони. Овие дисјунктни влезови и излези ја изведуваат функцијата на влзните и излезните слоеви кај feed-forward или едноставните рекуретни мрежи, и ги соединуваат останатите неврони во рекурентното процесирање.

[pic]

Слика 14. Комплетна рекурентна мрежа

4.7.2 Елманова мрежа

Џеф Елман во 1990тите предложил сличен модел на Џордановата мрежа, само тука повратните врски се разрешуваат во исклучиво во скриените слоеви.

[pic]

Слика 15. Елманова мрежа

4.7.3 Хопфилдова мрежа

Хопфилдовата мрежа е комплетно поврзана мрежа од N јазли, каде сите јазли се истовремено и влезни и излезни.

[pic]

Слика 15. Елманова мрежа

4.8 Болцманова машина

Болцмановата машина е базирана на процес во природата кој е познат под името „брза сублимација“. Тезата е дека доколку имаме течност која има одредена висока температура, ако целта е да ја оладиме до многу ниска температура, тоа може да го постигнеме со два пристапи:

- може да го направиме со нагло намалување на температурата, каде основната цел ќе биде постигната но добиенот продукт е неправилен кристал - или пак може да го изведеме со постепено и бавно намалување на температурата, каде цел ќе биде постигната и дополнително добиенот продукт е правилен кристал

Болцмановата машина делува според принципот на врамнотеженост. Била нарекувана и „Хопфилдова мрежа со скриени слоеви“.

Таа се состои од непразно множество на видливи и можно множество на скриени единки. Болцмановата машина е значајна, заради тоа што е првата невронска мрежа која реализира учење на скриени променливи.

4.9 Модуларни невронски мрежи

4.9.1 Комитет од машини

Комитетот од машини претставува колекција од различни машини (мрежи) кои „гласаат“ за даден пример. Стартувајќи од иста архитектура, и различни вредности на примероци за учење, се добиваат различни вредности на внатрешната организација на мрежата (активациони вредности итн).

Комитетот на машини го стабилизира ова разликување.

4.9.2 Reinforcement учење

Овој бид на учење се применува кога нема достапен опцег на примероци за учење. Многу често, единствената информација е скаларен вектор r кој одредува колку добри перформанси нуди мрежата.

4.9.3 Критичар

Најголемиот проблем во примената на rеinforcement учење е како да се конструира валиден критичар на перформансите на мрежата. Ако целта на мрежата е да одреди минимум на мерлива количина r, тогаш фидбекот за перформансите е директен и критичар не е потребен. Поинаков пристап обезбедува процена на однесување на мрежата за евалуација на перформасите на идното однесување.

Шема за архитектурата на оваа мрежа за учење е на слика 16.

Овој пристап има хибриден компромис на можностите на supervised и unsupervised тип на учење:

- поголемо влијание од unsupervised тип на учење - применува недиректно мешање како за разлика од supervised тип на учење

[pic]

Слика 16. Реализација на reinforcement учење со критичар

5. Фази логика – непрецизна логика

5.1 Непрецизираност

Напуштајќи го црно-белиот свет во кој владеат само две страни, црна и бела, “0” и “1”, можеме да си го дозволиме понекогаш да кажеме: “Не баш.” или “Не верувам сосема сигурно”. Многу често човекот тврди дека нешто е црно, односно бело, а притоа не е ни свесен дека не е 100% сигурен во точноста на сопственото тврдење. Тогаш, се наметнува прашањето како резонираат луѓето. Зошто сме се решиле токму за “таа” опција? Поради баналноста и секојдневото повторување на истата рутина, тешко може да забележиме дека во нашето “држење” до одредено мислење влијаат многу фактори. Вклучувајќи ја и субјективноста во процесот на евалуација на нештата, повторно важи истото, со тоа што различни индивидуи ќе имаат различни ставови околу една иста тема на дискусија.

Човекот секојдневно учи и доживува нови искуства. Следствено, дури и со малку искуствена пракса пак можеме да одбереме нешто меѓу многуте. Во таков момент на донесување одлука, дали ќе биде лево или ќе биде десно, дали ќе биде црно или ќе биде бело, со максимална брзина на мислите ги сумираме добивките и губитоците од нашето досегашно искуство, самите одредуваме граница помеѓу “доброто” и “лошото”, за на крај да ги споредиме сумираните резултати и да се решиме на која страна ќе “застанеме”. Ваквото тврдење околу резонирањето е подржано од многу психолози.

Еден експертен систем е систем кој овозможува совети, дијагнози и препораки кои се однесуваат на проблеми од реалниот свет, а се со квалитет на експерт. Имено, задачата на еден експертен систем е да реши одреден проблем од реалноста кој што вообичаено за своето решение има потреба од специјализиран човечки експерт. Токму поради таа причина експертните системи имаат своја база на знаење која е претставена во вид на правила, односно за дадени услови постојат одредени заклучоци. Меѓутоа, правилата немаат сигурни заклучоци, кон истите се придружени одредени вредности на сигурност дека заклучокот е точен за дадените услови. Со помош на таквото вреднување на точноста експертните системи доаѓаат до решенијата на зададените проблеми. Истите се компетентни да решаваат реални проблеми од доменот на: медицината, математиката, инженерството, бизнис, геологија, образование и одбрана. Во секој од овие домени, користени се за решавање на различи видови на проблеми: дијагностицирање, дизајн, интерпретација.

5.2 Справување со непрецизираноста

Справувањето со непрецизираноста и промените како појави, е тема која што ја обработува вештачката интелигенција како предмет. Причината за појавувањето на непрецизираната логика е самиот факт дека и мислењата на луѓето се менуваат. Доколку дојдеме до нов доказ, често ја менуваме целосната мрежа од поврзани верувања (знаења). Имено, истите тие верувања се непрецизирани, како што можеби не сме сигурни дека сме набљудувале нешто коректно. Следствено, не сме сосема сигурни дека кога надвор има облаци, ќе врне.

Токму затоа, непрецизираните правила во експертните системи не можат да бидат искажани со помош на предикатната логика. Предикатната логика е дизајнирана да работи со информации кои се комплентни, постојани и монотони (фактите само се додаваат на она што веќе се верува дека е точно, а не се бришат). За да може еден ескпертен систем да се справи со непрецизноста и промените потребно е нешто различно од гледањето на тврдењата како точни или неточни.

Постојат два различни начина за справување со непрецизираноста. Едниот е со употреба на модерната (fancy) логика, додека другиот начин е со помош на теорија на веројатност.

5.3 Модерна логика

Една од повеќето видови на модерната логика е обичната (default) логика која ни дозволува да направиме немонотони искази. Во тој случај, новата информација може да значи дека претходното знаење е побиено и веќе не важи како точно. Имено, во рамките на оваа логика, се зборува за постојаност. Ако некое X е балон, а за X постои постојано верување дека е црвен, тогаш се верува дека X е црвен. Меѓутоа, доколку добиеме нова информација која тврди дека X не е црвен, тогаш се нарушува постојаноста на нашето верување дека X е црвен. Следствено, не би можеле да заклучиме дека X е црвен.

Уште еден вид на модерната логика е и модалната логика. Таа ни овозможува да ги претставуваме верувањата на резонирачки начин. Понекогаш, потребно е да резонираме врз основа на верувањата на повеќе различи мислења, како што е случајот со повеќе различни агенти во апликациите базирани на вештчака интелигенција. Тука доаѓа до израз недостатокот на предикатната логика за искажување на ваквиот вид резонирање. Во предикатната логика, аргументите што им се доделени на предикатите може да бидат константи, променливи, или функциски изрази. Меѓутоа, нас ни е потребно самите предикати да бидат аргументи. На тој начин, би можеле да кажеме, студентот верува дека задачата е точна, професорот верува дека задачата не е точна, но професорот верува дека студентот верува дека задачата е точна. Со помош на предикати тоа би изгледало:

Задача(точна)

Верува(студент, задача(точна))

Верува(професор, ~задача(точна))

Верува(професор, верува(студент, задача(точна)))

Претходниве искази се можни во модалната логика. Оваа логика ни дозволува да ја дефинираме вистината на тврдењето во различни контексти (светови, области). Имено, убавината на предметите во различни земји е дефинирана сосема различно. Следствено, еден предмет или можеби девојка може да биде убава во една земја, а сосема спротивно во некоја друга земја. На тој начин, овозможено ни е резонирањето на база на различните мислења (тврдења) од повеќе извори (агенти), каде еден извор може да го смета верувањето за точно, а друг за неточно.

5.4 Теорија на веројатност

Со употребата на модерната логика сеуште тврдењата ги разгледуваме како точни, односно неточни. Вториот пристап кон непрецизноста е пристапот со помош на тоеријата на веројатност. Многу често е корисно да го репрезентираме фактот дека веруваме дека нешто е веројатно точно, односно дека е точно со некоја веројатност 0.77. Овој начин на репрезентација на точноста на некое тврдење е многу корисен при решавање на проблеми каде што постои случајност и непредвидливост во светот. На тој начин, доколку земеме дека балоните се најчесто црвени, и тоа со веројатност 0.9 (односно 90% од балоните се црвени). Ако земеме еден конкретен балон, тогаш тој балон е црвен со веројатност 0.9, што може целосно да се побие со некое наредно трвдење кое одредува дека истиот тој балон е на пример зелен.

Класичната теорија на веројатност ни овозможува со помош на статистичката теорија на докажување да ги обновуваме веројатностите кои се доделени на одредени факти, во присуство на нов доказ.

Веројатноста, одредена хипотеза да биде точна може да ја одредиме со помош на Баесовата Теорема:

P(H | E)

На овој начин може да ја дознаеме веројатноста колку хипотезата H е точна, ако се земе во предвид и доказот E за дадената хипотеза.

Доколку ги погледнеме правилата кај системите кои се базирани на правила, истите може да ги гледаме како правила на кои им претходат одредени услови и кон кои се додадени одредени фактори на сигурност. Имено, условите имаат свои фактори на сигурност, целото правило како такво има одреден фактор на сигурност (кој во случајот е 0.7), за на крај да можеме да ја одредиме веројатноста на заклучокот во ова конкретното правило со помош на дадените фактори на сигурност.

Доколку го разгледаме општиот пример дека најчесто кога има облаци, надвор врне или ќе врне, тогаш би го имале следново:

АКО има облаци (0.3)

И улицата е влажна (0.5)

ТОГАШ надвор врне 0.7

Во дадениот пример, на заклучокот “надвор врне” му е доделен фактор на сигурност 0.7. Што со други зборови би значело дека дококу надвор има облаци, а улицата е влажна, тогаш може да кажеме дека надвор врне со фактор на сигурност 0.7. Претходно, на условите “има облаци” и “улицата е влажна” им се доделуваат одредени фактори на сигурност (0.3 и 0.5). Целосниот фактор на сигурност на премисите е минимумот на сите фактори на сигурност меѓу премисите. Во овој пример, минимумот е 0.3. Конечната сигурност на заклучокоте прозиводот од тоталната сигурност на премисите (што е нашиот минимум 0.3) и сигурностниот фактор кој му е доделен на целото правило (0.7). Во примерот, прозиводот би бил (мин(0.3, 0.5) x 0.7 = 0.21) 0.21, што значи дека надвор врне со фактор на сигурност 0.21.

5.5 Основни принципи на фази логика

Фази логиката е претставена од страна на професорот Lotfi Zadeh, во 1965 година, на универзитетот Berkeley во Калифорнија (САД). Овој вид на логика не е помалку прецизен од другите видови на логика. Се повеќе е присутна во нашата околина како составен дел од нашето секојдневие. Денес неприцизираната логика е дел од голем број моторни возила, видео камери, машини за миење садови и други апарати во домаќинството, елеватори, вештачката интелигенција како дел од видео игрите итн.

Непрецизираната, т.е фази логиката (fuzzy logic) го презентира резонирањето на база на одредени вредности на припадност, односно тежење кон одреден став (тврдење). Тоа е логика која го застапува апроксималното резонирање за разлика од предикатната логика кај која тврдењата се или точни или неточни. Овде се присутни одредени множества (фази множества) од една страна и вредности на припадност кон истите множества од друга страна.

Како што беше спомнато, имаме нијанси на сиво, истовремено имајќи го и црното и белото. Имено, со секоe тврдење соодветствува конкретна вредност измеѓу 0 и 1, вклучувајќи ја и нулата и единицата. На овој начин, може да тврдиме дека нешто е “малку”, “малку повеќе”, “најверојатно” итн. Така, може да постои ситуација во која еден објект (променлива) му припаѓа на едно множество повеќе, а на друго помалку, при што употребените зборови “повеќе” и “помалку” се изразени со некои вредности меѓу 0 и 1.

Степенот на вистина често се поистоветува со веројатноста. Меѓутоа, тоа се сосема два различни поими. Фази вистината (вредноста на фази променливата) претставува припадност во дефинирани фази множества, додека од друга страна со веројатноста се индицира колку е веројатно одреден настан да се случи.

Фази логиката се темели на теоријата на фази множествата. Теоријата на фази множествата, пак, дефинира два поима: фази оператори и фази множества. Од причина што фази операторите најчесто не се познати, фази логиката најчесто ги користи IF/THEN правилата. Следствено, фази правилата би ја имале следнава форма:

IF променлива IS множество THEN акција

Како пример можеме да го разгледаме температурниот регулатор на еден вентилатор за ладење:

IF температура IS многу ладна THEN престани со дување

IF температура IS ладна THEN намали го дувањето

IF температура IS нормална THEN одржувај темпо

IF температура IS жешка THEN забрзај го дувањето

При одредена вредност на температурата која е член на множеството вредности на температура, се врши пресликување во некое множество, на пример во множеството “ладна”, со некоја вредност (на пример 0.9) која ни кажува колку вредноста од множеството на вредности му припаѓа на множеството “ладна”.

На ваков начин, со тоа што се вреднувани температурните степени, истите се сметуваат во фази множествата со соодветната вредност на припадност. Со помош на тие припадности кон множествата, може да ја превземеме саканата акција.

Операторите И, ИЛИ и НЕ од буловата логика егзистираат и во фази логиката, најчесто дефинирани како минимум, максимум и комплемент, соодветно. Кога операторите се дефинирани да ваков начин, тогаш се нарекуваат Задехови оператори бдејќи прв пат како такви се појавуваат во трудовите на Задех, основачот на фази логиката.

NOT x = ( 1 – вистина( x ) )

x AND y = минимум ( вистина( x ), вистина( y ) )

x OR y = максимум ( вистина( x ), вистина( y ) )

Постојат и друг вид на оператори, лингвистички по природа, најчесто придавки, како на пример “многу”, “малку”, “силно” и многу други. Овие оператори го модфицираат значењето на припадност кон одредено множество со помош на математички формули. Доколку се навратиме на примерот со темепературниот регулатор, тогаш операторот “многу” ја модофицира припадноста кон множеството “ладна”.

5.6 Фази логика во рамките на експертните системи

Експертните системи кои што не ги третираат излезните резултати (заклучоци) како точни или неточни, туку употребуваат и непрецизни форми на искажување во претставувањето на истите, се нарекуваат фази системи.

Фази системите се базирани на теоијата на апроксималното резонирање, која од друга страна се базира на фази логиката.

Фази заклучувањето кое го употребуваат експертните системи може да се подели на следните четири чекори:

1. Фазификација – мапирањето од влезни нумерички вредности во променливи од фази множествата 2. Евалуација на правилото – дефинираните правила се евалуирани користејќи ја логиката на множествата 3. Агрегација – резултатите од правилата се агрегираат за потоа да се мапираат во излезни фази променливи 4. Дефазификација – мапирање на фази променливите во излезни нумерички променливи

Како пример да разгледаме еден експертен систем за евалуација на ризикот при избор на предмети од страна на студентите. Целта ни е да го одредиме ризикот во зависност од комплексноста на материјалот и часовите што се на располагање за конкретниот предмет.

Првиот чекор е одредувањето на фази променливите, кои во случајов би биле: комплексност, часови и ризик. За секоја од промнливите дефинираме членска функција:

[pic]

Сл.1 (Комплексност)

[pic]

Сл.2 (Број на часови)

[pic]

Сл.3 (Ризик)

Следниот чекор е создвањето на правилата за системот, користејќи ги претходно дефинираните променливи. Едно множество на правила може да изгледа вака:

1. АКО комплексноста е голема ИЛИ часовите се малку, ТОГАШ ризикот е низок 2. АКО комплексноста е гранична И часовите се многу, ТОГАШ ризикот е нормален 3. АКО комплексноста е голема ТОГАШ ризикот е висок

Откако се дефинирани и правилата можеме за одредени влезни информации (комплексност и часови) да го одредиме ризикот. Нека f0 и s0 бидат одредени влезни нумерички податоци. Првиот чекор е фазификација:

[pic]

Сл.4 (Фазификација на f0)

[pic]

Сл.5 (Фазификација на s0)

каде што ги мапираме влезните вредности f0 и s0 во фази променливи.

Резултатот од овој чекор ни се фази променливите:

F(f0 = мала) = 0.5

F(f0 = гранична) = 0.2

S(s0 = малку) = 0.1

S(s0 = многу) = 0.7

Следува евалуација на правилата:

[pic]

Сл.6 (Евалуација на правило бр.1)

АКО комплексноста е голема (0.0) ИЛИ часовите се малку (0.1),

ТОГАШ ризикот е низок (0.1) – макс ((0.0),(0.1)) = (0.1)

[pic]

Сл.7 (Евалуација на правило бр.2)

АКО комплексноста е гранична (0.2) И часовите се многу (0.7),

ТОГАШ ризикот е нормален (0.2) – мин ((0.2),(0.7)) = (0.2)

[pic]

Сл.8 (Евалуација на правило бр.3)

АКО комплексноста е голема (0.5) ТОГАШ ризикот е висок (0.5)

Откако се евалуирани правилата, може да ја извршиме агрегацијата. На самиот крај, потребно е да извршиме дефазификација, односно излезната фази променлива да ја пресликаме во излезна нумеричка вредност. Постојат бројни методи за дефазификација, но најчесто се зема центарот на масата од излезниот резултат:

[pic]

Сл.9 (Агрегација и излезот од правилата)

Некои системи се базираат на предикатната, односно буловата логика, каде што постои само вистина и невистина. Употрбата на фази логиката во експертните системи може да резултира со многу поголем успех во реализирањето на основната цел на системот. Фази логиката е многу поблиску до човековото перцепирање со што и самите резултати се поблиску до резултатите на човековото резонирање.

5.7 Примена на корисничките профили за реализација на адаптивните системи

Адаптивните системи, како што се невронските мрежи, автономно учат од податоците кои им се достапни. Ја регистрираат секоја промена во посебните делови од системот како и околината која ги опкружува, па следствено на промените го адаптираат своето однесување. Невронските мрежи се вообичаен тип на алгоритамска имплементација на адаптивните системи.

Корисничките профили играат важна улога во реализирањето на главната цел на адаптивните системи, адаптацијата.

5.7.1 Кориснички профили

Адаптивноста се постигнува со помош на софтверските агенти. Софтверски агент претставува софтверски ентитет кој што извршува одредени активности со цел олеснување на работата на корисникот. Агентите учат од однесувањето на корисникот и го адаптираат своето однесување (работа) следствено на моменталните желби и мотивации на корисникот. Ваквите карактеристики се вградени во корисничките профили кои се неопходни за градење на персонализирана работна околина. Кооперативните агенти донесуваат одредени заклучоци наместо нивните корисници.

Корисничките профили чуваат информации за барањата на корисникот, неговите мотивации и потреби, притоа имајќи ги и генералните податоци за корисникот. Бидејќи овие информации не можат да бидат опишани само како логички вредности, се употребуваат фази множеставата спомнати погоре за моделирање на ваквите непрецизрани информации. Изборот на ваквиот пристап е оправдан од причина што концептот на апроксималното резонирање е многу поблизок до човечкиот третман на вистината во многу реални ситуации каде што прецизната дефиниција на вистината е невозможна. Сопомош на корсиничките профили, агентите во системот резултираат со одредена препорака како опционално решение на барањето на корисникот.

5.7.2 Креирање и ажурирање на корисничките профили

Корисничките профили во позадина имаат база на податоци. Релациите во базите се конструирани на таков начин што ги опфаќа (содржи) фази вредностите (припадностите) на корисникот кон одредено фази множество на вредности. За реализација на корисничките профили, прво е потребно да се конструира базата на податоци.

Доколку го земеме за пример системот за далечинско учење и студнетските кориснички профили, тогаш би ги имале следниве релации:

GENERAL (#student, name, e-mail, video-aff-fmv, picture-aff-fmv, audio-aff-fmv, text-aff-fmv)

каде што се чуваат генералните информации за студентите, притоа, во полињата video – aff-fmv, picture – aff-fmv, audio – aff-fmv, text – aff-fmv се наоѓаат фази припадностите кон одреден медиум, односно фази припадноста на афинитетот на студентот, видео, слика, аудио и текст соодветно.

INTERESTS ( #student, #subject, subject-expertise-fmv, subject-aff-fmv)

каде што се чува информацијата за интересот на студентот и експертизата за одредена област на истражување.

HISTORY (#student, #course, date, grade)

каде што се наоѓа историјата на студентот во поглед на курсевите што ги посетувал и оценката од истиот курс.

BELONGS (#group, #student, fuzzy membership value)

GROUP_INTERESTS (#group,#subject, avg-afmv)

GROUP (#group, avg-video-afmv, avg-picture-afmv, avg-audio-afmv, avg-text-afmv)

каде што се врши групирање на студентите во групи. Секоја група има зеднички области на интереси и фази припадности кон одредени медиуми. Во релацијата BELONGS се чува информацијата за степенот на сличност помеѓу фази информациите за интересот на студентот во одредена област и средниот интерес на групата во таа област.

COURSE (#course, name, course meta data, subject, reference to course html page, video-fmv, picture-fmv, text-fmv, needed level of expertise, course quality level, professor)

Во релацијата COURSE се наоѓаат информациите за секој од курсевите, како името, мета описот на курсот, областа, референца до соодветната интернет страница, степенот на застапеност на различни медии во презентацијата на курсот, потребно ниво на предзнаења и врска кон информацијата за авоторот.

Следниот чекор во реализацијата на корисничките профили е креирањето на фази множествата. Доколку од претходно дефинираните релации ги издвоиме фази променливите, ќе може да ги дефинираме следниве фази множества:

Student presentation affinity {video-afmv, picture-afmv, audio-afmv, text-afmv} – множество на студентски афинитети кон мултимедиски податоци;

Student interest in subject {subject-expertise-fmv, subject-afmv} – множество на интереси на студентот во одредени области;

Course {video-fmv, picture-fmv, text-fmv, needed level of expertise – expertise required, course quality level} – опис на курсот прилагоден на горните две множества;

Постојат три типа на прашања кои треба да се одговорат од системите кои во својата работа користат фази множества:

1. За што тие множества ќе бидат користени

2. Како тие множества ќе бидат иницијлизирани

3. Како тие множества ќе се ажурираат

Фази множествата во конкретниот пример во системот за далечинско учење се користат за изградба на студентските профили кои ќе овозможат препорака на едукативните материјали.

Иницијализацијата на фази множествата на почетокот се реализира со пополнување на одреден формулар. Конкретно во претходниот пример студентот поплнува формулар со информациите потребни за првите две множества. Иницијално тие се поставуваат на 0.5, што претставува индиферентност во поглед на вреднувањето на променливите. Доколку студентот се зачлени во некоја група на студенти, тогаш ги добива средните вредности на атрибутите на групата. Со помош на влезните информации на студентот (во конкретниот случај) користејќи одредени математички формули, се пресметува неговата ескпертиза.

Фази променливите во третото фази множество кое се однесува на одреден курс, може да се определат со тоа што прво ќе се пресмета бројот на зборови, слики, аудио и видео датотеки, за потоа да се пресмета присутноста, односно фази променливата за припадност кон секој од медиите. На ваков начин се врши иницијализација на фази променливите, односно фази множествата. Во зависност од системот, иницијалните вредности на фази множествата се поставуваат на различен начин.

За да ја реализираат својата цел фази множествата мора да се ажурираат со тек на времето. Имено, врз податоците присатни во базата на податоци се врши нивна анализа со цел да се ажурираат фази припадностите кон фази множествата. Во спомнатиот пример, ажурирањето на фази припадностите би се состоело во тоа што доколку студнетот има добри оценки за курсевите кои се од негова област на интерес, неговиот афинитиет кон медиите со кои што тие курсеви се претставени, ќе порасне и обратно. Доколку студнетот добива високи оценки, неговата експертиза расте и обратно. Доколку студнетот има добри оценки за курсевите кои имаат висок квалитет во одредена област, тогаш неговиот интерес за таа област ќе се зголеми. Со претходното се дава можност студентот да ја промени својата област на интерес. На ваков начин, како што се менуваат и генералните информации (како на пример оценките на студентот), така се менуваат и вредностите на фази променливите, односно фази припадностите кон однапред определените фази множества.

Фази множествата, како дел од корисничките профили, понатаму се употребуваат за одредени цели на системот. Конкретно, во дадениот пример, трите фази множества што и дефиниравме претходно, се користат во процесот на препорака. Тој процес содржи одредување на сличност на листи од непрецизирани вредности. Имено, постојат повеќе начини да се одреди сличност помеѓу две такви листи. На ваков начин, креирањето на препорака на едукативни материјали ќе биде процес составен од двонивовско филтрирање. Еднаш ќе се филтрираат врз основа на текстуални анотации, додека вториот филтер ќе овозможи елиминација на едукативните материјали врз основа на нивното користење од страна на останатите учесници во образовниот процес.

Се додека нерепцизираните информации во фази множествата, односно корисничките профили “нудат” пореални и поточни информации околу корисникот, персонилизацијата на работната околина во рамките на адаптивните системи ќе биде поуспешна, односно поадаптивна.

5.8 Заклучок

Во претходното беше спомната непрецизираноста како поим и како секојдневно случување во човечкиот живот. Непрецизираноста како таква е суштината на фази (непрецизираната) логика.

Спомнати беа различни начини за справување со непрецизираноста како појава, со помош на модерната логика и со теоријата на веројатност. Меѓутоа, во областа на експертните системи, кои што можеме да ги сметаме за одредена замена на човекот експерт, потребни ни беа информации кои се одредена претстава на човековите особини. Таквите информации се непрезицни. Односно, содржат податоци кои не можат да бидат вистинити и невистинити. Тоа се податоци кои покажуваат одредени својства. Токму поради тоа, фази логиката е применета во составот на експертните системи.

Принципот на кој што се базира непрецизираната логика соодветствува со особините на информациите (податоците) кои што се потребни за еден ескпертен систем да функционира успешно. Затоа, употребата на фази логиката овозможува експертните системи секогаш да бидат коректни со непрецизираните информации. Фази принципот овозможува одредени влазни нумерички податоци да бидат транслирани во соодветни фази податоци со кои што понатака експертниот систем може да работи и да ги обработува за свои цели. Експертните системи се грижат за тоа да корисникот повторно ја добие резултантната информација во истиот формат и вид во кој што е внесена влезната информација. Ваквото однесување е факт дека експертниот систем е тој што му се “покорува” на човекот и што му служи. А за сето тоа е заслужна фази логиката.

Фази логиката егзистира во многу различни експертни системи кои имаат различни цели. Следствено, таа е искористена на различни начини од различни системи. Меѓуатоа, принципите на фази логиката се секогаш исти. Фази променливите кои што се одредени фази вредности на “обичните” променливи, се врши пресликување во фази множествата. Со помош на однапред одредените правила го добиваме посакуваниот фази резултат кој што ескпертниот систем треба да се погрижи да биде и очекуваниот резултат од кориснички поглед. Резултатот треба да биде точен и конзистентен, односно треба да биде резултат кој што ќе му помогне на корсиникот на системот, а со тоа ќе биде постигната и главната цел на експертните системи, услужувањето на корисникот.

Фази логиката е научна револуција на која се чекало со декади. Преку 2000 години, западната наука била базирана на апсолутности. Нештата биле црни или бели, живи или мртви, се или ништо. Поради поради особините на луѓето, за кои знаеме дека не се екстремни, постојат степените помеѓу двата големи екстрема. Тоа е суштината на логиката позната како фази логика.

6. Кориснички профили

Како што количеството на достапни податоци во светот расте, задачата за наоѓање на точни и прецизни информации постанува суштинско во многу домени. Без разлика дали се работи за најновите вести на интернет страниците, пребарување на слики во виртуелни музеи, спуштање на музика во дигитални колекции или купување на работи во електронски продавници; потребни ни се прецизни и точни пребарувачки енџини или системи за препораки за лоцирање на посакуваните инфорамции. За да се постигне оваа цел се вршат истражувања во различни области како софтверските агенти, наоѓање на податоци, бази на податоци и колаборативно филтрирање и тие се стремат кон конструирање на системи за обезбедување точни информации на мошне ефикасен начин кај корисниците.

Меѓутоа поради субјективноста на човековата перцепција, предизвик е да се премостат разликите меѓу физичките карактеристики на податоците со перцепцијата на корисникот. Со цел да се соочат со овој предизвик, истражувачите во областите на софтверски агенти и наоѓање на податоците, ги користат корисничките профили.

Корисничките профили чуваат информации за барањата на корисникот, неговите мотивации и потреби, притоа имајќи ги и генералните податоци за корисникот. Бидејќи овие информации не можат да бидат опишани само како логички вредности, се употребуваат фази множества за моделирање на ваквите непрецизирани информации. Изборот на ваквиот пристап е оправдан од причина што концептот на апроксималното резонирање (гледај што е најблиску до бараното) е многу поблизок до човечкиот третман на вистината во многу реални ситуации каде што прецизната дефиниција на вистината е невозможна. Со помош на корисничките профили, агентите во системот резултираат со одредена препорака како опционално решение на барањето на корисникот.

Непрецизираната, т.е фази логиката (fuzzy logic) го презентира резонирањето на база на одредени вредности на припадност, односно тежење кон одреден став (тврдење). Тоа е логика која го застапува апроксималното резонирање за разлика од предикатната логика кај која тврдењата се или точни или неточни. Овде се присутни одредени множества (фази множества) од една страна и вредности на припадност кон истите множества од друга страна.

Овие системи бираат предмети базирани на споредбата помеѓу предметот и корисничкиот профил; кои се множество на лексичките фрагменти и нивните соодветни тежини.

Еден проблем на овие системи е што страдаат од неточни кориснички профили. За да се решат овие проблеми се користат различни техники за учење како Баесови класификатори, невронски мрежи и генетски алгоритми.

Главни недостатоци тука се:

- Ограничување на содржината, што значи дека содржината може да биде прикажана само преку текст.

- Друг проблем е прекумерна специјализација, што значи, корисниците можат да земаат информации поврзани со нивните профили и немаат шанси да истражуваат нови информации кои би ги посакале. Исто така поради комплексноста на корисничките профили, процесот на учење е секогаш долготраен и тие не се соодветни ако желбите на корисникот се менуваат брзо и често.

6.1 Креирање и ажурирање на корисничките профили (пример)

Корисничките профили во позадина имаат база на податоци. Релациите во базите се конструирани на таков начин што ги опфаќа (содржи) фази вредностите (припадностите) на корисникот кон одредено фази множество на вредности. За реализација на корисничките профили, прво е потребно да се конструира базата на податоци.

Доколку го земеме за пример системот за далечинско учење и студентските кориснички профили, тогаш би ги имале следниве релации:

GENERAL (#student, name, e-mail, video-aff-fmv, picture-aff-fmv, audio-aff-fmv, text-aff-fmv)

каде што се чуваат генералните информации за студентите, притоа, во полињата video – aff-fmv, picture – aff-fmv, audio – aff-fmv, text – aff-fmv се наоѓаат фази припадностите кон одреден медиум, односно фази припадноста на афинитетот на студентот, видео, слика, аудио и текст соодветно.

INTERESTS ( #student, #subject, subject-expertise-fmv, subject-aff-fmv)

каде што се чува информацијата за интересот на студентот и експертизата за одредена област на истражување.

HISTORY (#student, #course, date, grade)

каде што се наоѓа историјата на студентот во поглед на курсевите што ги посетувал и оценката од истиот курс.

BELONGS (#group, #student, fuzzy membership value)

GROUP_INTERESTS (#group,#subject, avg-afmv)

GROUP (#group, avg-video-afmv, avg-picture-afmv, avg-audio-afmv, avg-text-afmv)

каде што се врши групирање на студентит. Секоја група има зеднички области на интереси и фази припадности кон одредени медиуми. Во релацијата BELONGS се чува информацијата за степенот на сличност помеѓу фази информациите за интересот на студентот во одредена област и средниот интерес на групата во таа област.

COURSE (#course, name, course meta data, subject, reference to course html page, video-fmv, picture-fmv, text-fmv, needed level of expertise, course quality level, professor)

Во релацијата COURSE се наоѓаат информациите за секој од курсевите, како името, мета описот на курсот, областа, референца до соодветната интернет страница, степенот на застапеност на различни медии во презентацијата на курсот, потребно ниво на предзнаења и врска кон информацијата за авторот.

Следниот чекор во реализацијата на корисничките профили е креирањето на фази множествата. Доколку од претходно дефинираните релации ги издвоиме фази променливите, ќе може да ги дефинираме следниве фази множества:

Student presentation affinity {video-afmv, picture-afmv, audio-afmv, text-afmv} – множество на студентски афинитети кон мултимедиски податоци;

Student interest in subject {subject-expertise-fmv, subject-afmv} – множество на интереси на студентот во одредени области;

Course {video-fmv, picture-fmv, text-fmv, needed level of expertise – expertise required, course quality level} – опис на курсот прилагоден на горните две множества;

Постојат три типа на прашања кои треба да се одговорат од системите кои во својата работа користат фази множества:

4. За што тие множества ќе бидат користени

5. Како тие множества ќе бидат иницијализирани

6. Како тие множества ќе се ажурираат

Фази множествата во конкретниот пример во системот за далечинско учење се користат за изградба на студентските профили кои ќе овозможат препорака на едукативните материјали.

Иницијализацијата на фази множествата на почетокот се реализира со пополнување на одреден формулар. Конкретно во претходниот пример студентот пополнува формулар со информациите потребни за првите две множества. Иницијално тие се поставуваат на 0.5, што претставува индиферентност во поглед на вреднувањето на променливите. Доколку студентот се зачлени во некоја група на студенти, тогаш ги добива средните вредности на атрибутите на групата. Со помош на влезните информации на студентот (во конкретниот случај) користејќи одредени математички формули, се пресметува неговата ескпертиза.

Фази променливите во третото фази множество кое се однесува на одреден курс, може да се определат со тоа што прво ќе се пресмета бројот на зборови, слики, аудио и видео датотеки, за потоа да се пресмета присутноста, односно фази променливата за припадност кон секој од медиите. На ваков начин се врши иницијализација на фази променливите, односно фази множествата. Во зависност од системот, иницијалните вредности на фази множествата се поставуваат на различен начин.

За да ја реализираат својата цел фази множествата мора да се ажурираат со тек на времето. Имено, врз податоците присутни во базата на податоци се врши нивна анализа со цел да се ажурираат фази припадностите кон фази множествата. Во спомнатиот пример, ажурирањето на фази припадностите би се состоело во тоа што доколку студeнтот има добри оценки за курсевите кои се од негова област на интерес, неговиот афинитиет кон медиите со кои што тие курсеви се претставени, ќе порасне и обратно. Доколку студeнтот добива високи оценки, неговата експертиза расте и обратно. Доколку студнетот има добри оценки за курсевите кои имаат висок квалитет во одредена област, тогаш неговиот интерес за таа област ќе се зголеми. Со претходното се дава можност студентот да ја промени својата област на интерес. На ваков начин, како што се менуваат и генералните информации (како на пример оценките на студентот), така се менуваат и вредностите на фази променливите, односно фази припадностите кон однапред определените фази множества.

Фази множествата, како дел од корисничките профили, понатаму се употребуваат за одредени цели на системот. Конкретно, во дадениот пример, трите фази множества што ги дефиниравме претходно, се користат во процесот на препорака. Тој процес содржи одредување на сличност на листи од непрецизирани вредности. Имено, постојат повеќе начини да се одреди сличност помеѓу две такви листи. На ваков начин, креирањето на препорака на едукативни материјали ќе биде процес составен од два нивоа на филтрирање. Еднаш ќе се филтрираат врз основа на текстуални анотации, додека вториот филтер ќе овозможи елиминација на едукативните материјали врз основа на нивното користење од страна на останатите учесници во образовниот процес.

Се додека непрецизираните информации во фази множествата, односно корисничките профили “нудат” пореални и поточни информации околу корисникот, персонализацијата на работната околина во рамките на адаптивните системи ќе биде поуспешна, односно поадаптивна.

6.1.1 Корисничките профили во автомобилите

Денеска корисничките профили се користат насекаде, па така се користат и во автомобилите за полесно адаптирање на возачите и патниците.

[pic]

Еден од системите кои постојат, а кои поддржуваат кориснички профили е А8-ката на Ауди, кој во Ауди го нарекуваат систем за персонализација и меморирање со еден допир (one-touch memory personalisation system) кој дозволува до четири возачи да специфицираат едноставни сетирања за широк опсег на функции и сетирања и во исто време со еден допир да се активираат спонтано со самата идентификација на возачот. Системот го идентификува секој возач преку отпечатокот на возачот, кој се скенира преку сензор на самото копче за стартување на целиот систем. Мноштво на процеси се иницираат штом системот добие потврда дека отпечатокот го има во базата на податоци на авотомобилот. Седиштата, ретровизорите и воланот се подесуваат со претходно одбраната конфигурација на возачот (значи се местат како претходниот пат кога истиот возач ги подесил сетирањата), исто како и системот за климатизација и системот за дистрибуција на воздух.

Исто така во зависност од стилот на возачите на овој автомобил т.е. дали возачот вози брзо или полека, дали често користи кочници, дали патот е лош или добар или пак возачот прави нагли потези, постојат четири преддефинирани начини на сетирање на суспензијата и таканаречените шок амортизери (дампери - омекнувачи на судир), кои првично се варијабилни и која ќе се употреби зависи од претходните фактори (начини и околини на возење). Освен варијабилното подесување може да се одбере и секое преддефинирано сетирање одделно од страна на возачот по желба или да се направи некоја комбинација повторно по желба на возачот.

Слични начини на користење на кориснички профили имаат и други автомобилски производители како што се BMW, Мерцедес и останатите производители на автомобили, кои ги ставаат овие нови технологии во своите автомобили од повисоките класи, кои многу го олеснуваат возењето, уживањето и безбедноста при возењето.

Денес се развиваат системи кои се користат во автомобилите кои комуницираат со околината, во кои на пример самиот автомобил може да комуницира со мобилниот телефон и да се прават истите работи во автомобилот со мобилниот телефон без да се допре мобилниот, или според расположението на сопственикот да се префрли музика од компјутерот во домот на некој медиум на автомобилот, без корисникот да излезе од автомобилот. Освен ова автомобилот може да биде наместен во даден период од денот(да речеме наутро кога е ладно) да се синхронизира со домот и да се подеси температурата во автомобилот да одговара на температурата во станот.

6.1.2 Примена во домовите

Дури и во домовите денес се користат корисничките профили, баш поради разноликоста на луѓето кои претстојуваат во нив и нивните различни вкусови и навики. Постојат разни примери на примена на кориснички профили во домовите, како на пример со климатизацијата на просториите или нивното осветлување. Со примена на различни сензори може да се контролираат температурите и нивоата на влажност низ целиот дом и тоа во зависност од користењето на собите (вклучи клима ако има некој во собата), времето од денот (во 6 ако треба да се стане вклучи ја климата на греење, ако температурата во собата е ниска) и надворешните услови. Палењето и гасењето на светлата може да се регулира врз основа на времето од денот, надворешната светлина и присутноста на луѓе во просторијата.

[pic]

Сето ова претходно кажано може да се подеси и корисникот на вакви системи може да си направи различни предефинирани сетирања, кои би го препознале корисникот кога ќе дојде, кога ќе си отиде, кога е расположен, кога има друштво и со тоа ќе обезбеди околина за пријатен престој. Со стискање на само едно копче можно е моментално подесување на светлото на неколку сцени, како за работење, вечерање, забава, одмор итн. , без корисникот да вложува труд за одделно подесување на светлата секој пат кога ќе сака да го смени амбиентот.

Самиот корисник во ваквите домови би можел да ги менува тие предефинирани сетирања од далечина преку мобилен или интернет, без да биде присутен во куќата што е доста згодно и економично. Самите овие системи во домовите одат до таа мера што доколку се подесени можат самите да купуваат работи преку интернет, доколку забележат дека нешто фали, како на пример фрижидер кој сфаќа што фали во него и сам нарачува доколку е потребно тоа.

6.2 Примена на корисничките профили за реализација на адаптивните системи

Адаптивните системи, како што се невронските мрежи, автономно учат од податоците кои им се достапни. Ја регистрираат секоја промена во посебните делови од системот како и околината која ги опкружува, па следствено на промените го адаптираат своето однесување. Невронските мрежи се вообичаен тип на алгоритамска имплементација на адаптивните системи.

Корисничките профили играат важна улога во реализирањето на главната цел на адаптивните системи, адаптацијата.

Адаптивноста се постигнува со помош на софтверските агенти. Софтверски агент претставува софтверски ентитет кој што извршува одредени активности со цел олеснување на работата на корисникот. Агентите учат од однесувањето на корисникот и го адаптираат своето однесување (работа) следствено на моменталните желби и мотивации на корисникот. Ваквите карактеристики се вградени во корисничките профили кои се неопходни за градење на персонализирана работна околина. Кооперативните агенти донесуваат одредени заклучоци наместо нивните корисници.

6.3 Агентски системи

Во реалниот живот многу често се среќаваме со агенти. Најчесто тоа се луѓе специјализирани во одредени области кои вршат одредена функција и притоа постигнуваат одредена цел. Пример за такви агенти може да бидат Маркетинг агентите, осигурителни агенти, инспектори од служби и многу други. Но постојат и многу други реални агенти кои не се луѓе, односно тие заменуваат одредена функција која би требало да ја врши некој човек.

Како такви агенти најчесто се сретнуваат софтверските агенти. Во вештачката интелигенција постоеше стремеж наместо работа на комплексни проблеми, како производна контрола и медицински дијагнози, да се фокусира вниманието на изработка на софтвер за попрости задачи, како водење на планери, филтрирање на електронска пошта и online информациски извори. Благодарение на едноставноста на овие задачи, тие беа попривлечни за развој и имплементација. Овие апликации беа именувани како “агенти” бидејќи се справуваа со рутинските задачи на корисниците. Денес, овие агенти базирани на софтвер се наречени софтверски агенти.

Сегашните трендови ни даваат јасно на знаење дека софтверската комплексност ќе продолжи да се зголемува драматично во декадите што наидуваат. Динамичката и дистрибуираната природа на податоците и апликациите побарува софтверот не само да одговори на барањата, туку да учествува, да се адаптира и активно да бара начини за да ги задоволи побарувањата на корисниците. Не само што овие системи треба да помогнат во координација помеѓу луѓето туку и да се справат со соработката на дистрибуираните програми. Како одговор на овие барања и како резултат на трудот на истражувачите од повеќе области кој што резултираше со една заедничка цел: развој на софтверски агенти. Улогата на агентите е да го подобрат учењето и да му пружат интелигентно решение на корисникот каде што интерфејсите со директна манипулација, не можат.

Покрај способноста на нивно меѓусебно комуницирање, можат уште да дадат интелигентни решенија за проблеми помеѓу слабо поврзани компоненти на дистрибуираните системи. Нивната примена е во секојдневниот живот, бизнис, едукација, забава и во индустријата.

Во понатомошниот текст ќе се запознаеме со карактеристиките на агентите, нивните поделби и класификации, структура, примери за агенти, агентски системи, онтологијата за агенти, повеќе агентски системи и многу друго, поврзано со агенти и експертни системи базирани на агенти.

3 Карактеристики на софтверски агенти

Постојат повеќе дефиниции за тоа што претставува софтверски агент.

Во основа софтверски агент е автономен софтверски ентитет способен за интеракција со својата околина, набљудувајќи ја со сензори, и делувајќи со ефектори.

[pic]

Слика 1. Модел на софтверски агент

Софтверски агент е апстракција, логички модел кој опишува софтвер кој делува во име на корисникот, односно ја има моќта да одлучува кога (и дали) одредена акција е погодна.

Примери за едноставни софтверски агенти се: Пребарување на датотеки на компјутерот, Autorun апликација, Означување на текст во различни текст едитори (Highlighters), IntelliSense при кодирање, Mail клиент софтвер кој врши примање и праќање на пораки и т.н.

Агентите се способни за интеракција со други видови на ентитети: луѓе, машини и други софтверски агенти во различни околини и платформи.

Некои општи особини на агентите:

- Автономност: способност за бирање на задача, приоритизација, насочено однесување, одлучување без човечка интервенција - Интерактивност: комуницира со околината и други агенти. - Рационални: способни да реагираат на база на сопствени цели и знаење - Непредвидливи: способни за делување на начин кој не е секогаш предвидлив. - Упорност: кодот на агентот не се извршува на барање, туку работи постојано и сам одлучува кога ќе изврши одредена активност. - Кооперативност: соработуваат со други агенти за да ги постингне своите цели - Проактивност: однесување насочено кон одредена цел. - Реактивност: реагира на промените во околината - Флексибилност: повеќе начини за извршување една задача Постојат и други особини на агентите. На пример некои агенти се способни да учат, односно да се адаптираат на навиките на корисникот, со што можат поефикасно да го опслужат, или ако некој агент се користи со некоја софтверска алатка, може да научи да ја користи поефикасно. Нудат флексибилност, способност да ја перцепира околината и да ја менува својата реакција. Ова може да се постигне со додавање на правила за решавање на проблеми или алгоритми.

[pic]

Слика 2. Модел на софтверски агент базиран на цели

Агентите кои покрај другите особини, треба да се способни да учат и нудат флексибилност. Агентите имаат свој домен на дејствување. Најчесто софтверските агенти дејствуваат во зависност од моменталниот влез од сензорите (перцепт). Интелигентните агенти пак, најчесто ја користат и историјата на влезови (низата од перцепти) за да одлучат која акција да ја преземат, осносно се базираат на статистичка евристика за околина. Основната цел на агентот не е само да комуницира со околината туку да ги обработи и интерпретира информациите кои ќе ги добие, и произведе информации со кои успешно ќе ја постигне одредената (саканата) цел. Од софтверска гледна точка, интелигентните агенти може да се гледаат како експертни системи, специјализирани во одреден, многу специфичен, домен. Но, најчесто се користи обратниот поглед, еден експертен систем се гледа како множество на помеѓусебно интерактивни софтверски (интелигентни) агенти.

4 Класификација на агенти

Во зависност од доменот во кој што датираат агентите се разликуваат меѓу себе, меѓутоа сепак можат да се класифицираат во неколку карактеристични класи како што се:

- Кооперативни агенти (Collaborative Agents)

- Интерфејс агенти (Interface Agents)

- Мобилни агенти ( Mobile Agents)

- Информациони/Интернет Агенти (Information/Internet Agents)

- Реактивни агенти –(Reactive Agents)

- Интелигентни агенти – (Smart Agents)

- Хибридни агенти – (Hybrid Agents)

[pic]

Слика 3. Класи на агенти

6.3.2.1 Кооперативни агенти

Кооперативни агенти овозможуваат меѓусебно поврзување и обработка на постоечки повеќекратни системи (на пример експертни системи, системи за поддршка при одлучување). Најчесто се употребува решавање на проблеми кои се децентрализирани или за решавање на проблеми кои се многу комплексни за да можат да бидат решени од еден централизиран агент. Со примена на кооперативните агенти може да се надмине проблемот на ограничените ресурси и да се намали ризикот од откажување на системот, кој е присутен во централизираниот систем. Вакви агенти ја подобруваат модуларноста на системот, брзината, сигурноста, флексибилноста и повторно искористување на системот (re-usabillity).

6.3.2.2 Интерфејс агенти

Улогата на интерфејс агентите е на крајниот корисник да му го олеснат управувањето со системот на кој што работи. Овие агенти можат да се употребат за изградба на адаптивен кориснички интерфејс (AUI – Adaptive User Interface). Улогата на агентите во ваков систем е во тек на времето да ги следат навиките на корисниците и да ги претпоставуваат неговите идни акции. Интерфејс агентите имаат задача да прикажуваат информации за кои претпоставуваат дека во одреден момент го интересираат корисникот.

6.3.2.3 Мобилни агенти

За овој вид агенти е карактеристично дека имаат способност физички да се движат од еден кон друг сервер на агентите преку компјутерската мрежа. Мобилните агенти се покажале како посебно корисни во ситуации кога е потребно да се намали обемот на трошоци (комуникација) помеѓу поврзаните системи. Наместо обемна размена на информации меѓу компјутери се праќа агент на изворот на информација и таму се врши обработка на податоците, по завршената обработка агентот ги праќа резултатите на серверот.

Овие агенти, исто така можат да се употребуваат за да се надмине проблемот на ограничените локални ресурси, доколку се ресурсите на еден компјутер зафатени, агентот може да побара компјутер со слободни ресурси и таму да ги обработи податоците. Животниот циклус на мобилните агенти се состои од состојба на придвижување, состојба на извршување и состојба на исполнување на поставената задача, после што агентот се уништува (се ослободуваат завземените ресурси). Во моментот кога агентите се движат од еден компјутерски систем кон друг, состојбата на извршување се запира и се меморира моменталната состојба на обработка. Кога агентот се пренесува на друг компјутерски систем, обработката продолжува се додека не се изврши поставената задача.

Во системите каде се применуваат мобилни агенти, посебно внимание мора да се посвети на безбедносните проблеми како што се:

- спречување на неовластени особи/агенти да придобиваат податоци

- Спречување на неовластени агенти да менуваат податоци на системот

- Спречување на неовластени агенти да употребуваат ресурси од системот

- Спречување на движењето на агентите со нејасни или злонамерни цели

Пример за систем кој користи мобилни агенти е Lotus Notes/Domino технологијата развиена од IBM. Со новите верзии на Lotus се прават обиди целосно да се срушат бариерите поставени од различните платформи и оперативни системи, а воедно да се понуди поголема доверливост при функционирањето.

6.3.2.4 Информациски/ Интернет агенти

Задача на информациските агенти е да се соочат со современите комплексни опкружувања со информации. Задачата на ваквите агенти се состои од пронаоѓање на информации на локалниот хард диск, преку низа системи за пребарување многукратни бази на оддалечени сервери или пронаоѓаат информации на интранет или интернет. Главна задача на информационите агенти е активно да бараат информации во зависност од интересите на корисникот во своето информациско опкружување, и да го известуваат корисникот за нова содржина која ги задоволува неговите критериуми. Значи, информациските агенти пронаоѓаат, анализираат, обработуваат и обединуваат информации од повеќе независни извори. Системи со информациони агенти активно трагаат по податоци за кои тие веруваат дека се интересни за корисникот.

Пример за систем каде се употребени информациските агент претставува системот AMALTEA.

6.3.2.5 Реактивни агенти

Реактивни агенти не ги планираат своите акции туку нивните акции зависат исклучиво од моменталните збиднувања во системот. Во вакви агенти најчесто се применуваат традиционалните техники на вештачката интелигенција. Реактивните агенти најчесто се употребуваат во компјутерските игри.

6.3.2.6 Интелигентни агенти

Интелигентни агенти претставуваат софтвер кој автоматски може да изврши задача која му е поставена од корисникот или од некој друг софтвер (може тој софтвер да биде и агент). Кога еднаш ќе бидат сетирани за извршување на своите задачи, тие потоа автоматски, без понатамошна интервенција на корисникот ги извршуваат своите задачи. Најчесто се употребуваат за автоматско пребарување на информации и овозможуваат одговори на поставени прашања во доменот на своето знаење и го информираат корисникот за интересни збиднувања. Исто така овие агенти овозможуваат интелигентно обучување на корисникот, овозможуваат пребарување на роба по поволни цени како и проверки и известувања на непостоечки линкови и измени во одредени веб страници.

Агентите кои покрај другите особини, се способни да учат и нудат флексибилност се наречени интелигентни агенти.

“Во компјутерската наука, интелигентен агент е софтерски агент кој илустрира одредена форма на вештачка интелигенција која му помага на корисникот и која делува во негово име, во извршување на повторувачки, компјутерски поврзани задачи”.

6.3.2.7 Хибридни агенти

Овој вид на агенти е базиран на еден или повеќе агенти од претходните. Во основа агентите кои се градат, најчесто се хибридни агенти. Тие се кооперативни, мобилни, реактивно-интелигентни агенти кои се користат за обработка на големи количини неорганизирани податоци и информации. Ваквите видови агенти најчесто се користат во повеќе-агентски системи.

6.4 Повеќеагентски системи

Ваквите системи се базираат на работа на повеќе агенти кои се соединети заедно во група и работат на решавање на една иста задача. Во ваков систем, неопходно е агентите да можат меѓусебно да комуницираат и да разменуваат искуства за да може да се дојде до оптимално решение. Агентите кои се користат во повеќеагентските системи можат да бидат исти по своите карактеристики, или да можат да се разликуваат по својата специјалност. Овие агентски системи се ефикасни и добри кога станува збор за проблем кој е претставен со повеќе различни методи за решавање на тој даден проблем. Секако во ваквите системи поефикасно е задачата да се подели на повеќе агенти и тие да соработуваат и комуницираат меѓу себе отколку да има еден комплексен агент кој сам ќе ја обавува целата задача.

Со употребата на систем со повеќе агенти се зголемува безбедноста на системот во ситуации на откажување на еден од агентите. Кога еден од агентите ќе прекине со работа, целиот систем може автоматски да се реконструира или да се стопира работата.

За изработка на систем со повеќе агенти се јавува потребата за стандардизација на комуникацијата помеѓу агентите за да се овозможи комуникација меѓу нив без разлика што тие се креирани независно еден од друг.

6.5 Меѓуагентска комуникација

Комуникацијата помеѓу агентите е неопходна за соработка. Со можноста за комуникација, повеќе агенти можат да се организираат за извршуваат комплексни задачи. Комуникација скоро секогаш занчи разбирање на заеднички јазик. Разбирање на јазик вклучува разбирање на неговиот речник, да се знае како да се искористат пораките за извршување на одредени задачи.

Дефиниран е агентски јазик (ACL - Agent Communication Language) кој го одредува типот и значењето на пораките кои агентите смеат да ги разменуваат, односно се грижи за граматиката.

Друг јазик за меѓуагентска комуникација е KQML (Knowledge Query and Maniupulation Language), комуникацијски јазик на високо ниво базиран на пораки. Секоја порака има одредено значење (пр. Прашај, кажи, постигни) со своја семантика.

Самите пораки се пренесуваат преку постоечките мрежни протоколи:

• Unicast: Праќање поркаи од еден праќач кон еден примач. • Broadcast: Еден праќач, а сите останати агенти ја препознаваат и примаат пораката. • Multicast: Се праќа еден пакет, и сите агенти кои појавиле интерес за таа порака ја препознаваат и примаат. Софтверските агенти нудат услуги во еден момент, а бараат во друг. Можат да понудат повеќе услуги на повеќе агенти истовремено.

Агентите можат да комуницираат на повеќе начини:

1. Агентите можат да комуницираат со други агенти, како и со нивните околини. Во одредени услови и самата околина може да се смета како агент. (слика 4.) [pic]

Слика 4. Комуникација агент-агент и агент-околина

(James Odell: Introduction to Agents – 2000)

2. Меѓуагентската комуникација може да се оствари на повеќе начини (слика 5). • Униформна комуникација: директна комуникација агент-агент. • Структурна комуникација: комуникација преку посредник, управувач. • Високо специјализирана комуникација: Сложена хиерархиска структура.

[pic]

Слика 5. Видови на меѓуагентска комуникација

(James Odell: Introduction to Agents – 2000)

Самата комуникација агент-агент технички може да се реализира:

• Директно: овозможува дирекна размена на пораки, флексибилност, но ја заобиколува контролата и безбедноста на системот. • Преку базен софтвер: Решени се проблемите со безбедноста, комуникацијата се извршува преку логичка врска која бара физичка имплементација преку основниот (оперативниот) софтвер. [pic]

Слика 6. Архитектура на меѓуагентска комуникација

(James Odell: Introduction to Agents – 2000)

6.6 Видови агенти и области на примена

Зависно од областите на примена, агените се делат на:

1. Интернет агенти 2. E-Commerce агенти 3. Бизнис агенти 4. Интерфејс агени 5. Агенти за податочно рударење

6.6.1 Интернет агенти

Користењето на интелигентните агенти во интернет архитектурата зема се поголем замав поради постојаното неконтролирано растење на WWW. Со пренатрупувањето на неорганизирани информации довело до итна потреба од интелигентен и персонализиран начин на пронаоѓање и користење само на оние информации од интерес. Интернет агентите го нудат најверојатно најдоброто решение на овој проблем.

Неколку начини како се користат агентите во интернетот:

• Пребарување за информација важна за корисникот. • Превземање информации во одреден временски период и на одреден начин. • Филтрирање информации. • Претставување на информации во зададена форма. • Известување на корисникот кога информацијата од интерес е пристигната. • Известување за постигната вредност на некој параметар. • Забрзување на користењето на интернет од страна на корисникот.

Личните интернет агенти му овозможуваат на корисникот да ги подеси интернет пребарувачите да пребаруваат големи количини податоци за кои корисникот не би имал време да ги пребара. Документите интелигентно се споредуваат во согласност со барањата на корисникот за да се изберат само оние од важност.

Информациите може да се превземат на начин и временски период кој му одговара на корисникот. Изворите на информација може да ги дефинира корисникот или може да се користат сите достапни извори, но поинтелигентниот агент може да ги одреди најдобрите извори од анализа на бараната содржина.

Превземените информации може да се филтрираат за да се претстават само најрелевнтните, или да се претстави општ преглед на информациите.

Спремената содржина може да се претстави на повеќе начини, преку веб, e-mail, факс, телефон... може да се дефинира и сетира времето на испорака на информациите, односно да се праќаат како што се обработуваат, или наеднаш да се праќа одредена количина.

Освен способноста за прибирање на информации, интелигентните интернет агенти се користат и за надгледување на информации на интернет ида го известат корисникот кога одредена вредност ќе се промени или ќе се задоволи одреден услов. На пример, агентот може да ја надгледува берзата на хартии од вредност и да го извести корисникот кога ќе се промени одредена цена на акциите, или да му ја достави статијата од омилениот писател од некој дневен весник, да води сметка за финансиското портфолио на корисникот итн.

Интернет агентите го забрзуваат користењето на интерентот од страна на корисникот со тоа што кога корисникот прегледува одредена страна, агентот ги превзема страните од оние линкови што се наоѓаат на моменталната страна за кои што, според претходно искуство, знае дека ќе бидат од интерес за корисникот.

Интернет агентите се користат и за одржување на веб сервери, да собираат податотоци, да го надгледуваат веб сајтот, да индентификуваат проблеми, да известуваат за некои проблеми и да предложуваат начини за решавање на истите.

6.6.2 E-Commerce агенти

Интелигентните агенти нудат нови и подобри пристапи кон електронската трговија. Агентите можат да му помогнат на корисникот во пребарување и избирање на производи или услуги од интерес, како пребарување на книги во библиотека за да најде информации и цени за одредена книга и во исто време да предложи и други наслови кои биле купени од претходните купци на таа книга.

Агентските системи нудат и можност за персонализирано купување, со тоа помагајќи им на купувачот и на продавачот. Од страна на корисникот, агентот ги набљудува навиките на купување и може да му претстави листа на производи во формат погоден за корисникот, додека на продавачите им нуди можност да го индивидуализираат маркетингот на производите.

6.6.3 Бизнис агенти

Интелигентните агенти наоѓаат широка примена во бизнис апликациите. Агентски базирани системи се користат во корисничката поддршка, човечки ресурси, производство, продажба и други области.

Интелигентните агенти кои се користат за автоматизирана корисничка поддршка, нудат помош на корисниците без потреба од човечка интервенција. На пример интелигентните агенти се користат во системи за нудење на банкарски услуги, или информациски системи како нудење информации за статусот на испораки во траспортни компании. Овие системи се поевтини од човечкиот персонал, и нудат побрз одзив, како и можност човечкиот персонал да биде повикан за да реши некои потешки или понеобични барања. Друга голема предност на бизнис агентите е што нудат одредено ниво на поддршка 24/7 .

Пример: Агент за техничка поддршка.

Агент кој води дијалог со корисниците на интернет за да реши рутински хардверски или софтверски проблеми. Агентот е наменет да реши релативно прости проблеми кои корисникот може лесно да ги посочи и може да се решат во неколку чекори.

Агентот почнува дијалог со што го прашува корисникот. Агентот има база на можни одговори кои му ги презентира на корисникот. Корисникот избира еден од повеќето дадени одговори. Одговорот на корисникот му кажува на агентот еден факт за проблемот. Одговорот на секое од прашањата се додава на (концептот) претставата на проблемот составена од агентот. Базата на знаење на агентот содржи дополнително знаење за класите на проблеми кои може да ги реши.

Агентското претставување на проблеми е преку множество од атрибути со зададени вредности. Решението за одреден проблем се претсавува како текст. Во основа, целта е агентот да го разбере проблемот. Ова разбирање е претставено како вредности на атрибутите кои се подложни на промена во зависност на одговорите на прашањата кои се поставени на корисникот. Кога проблемот на корисникот се совпаѓа со репрезентацијата на проблемот во базата на знаење, агентот го превзема соодветното решение и ја презентира содржината на корисникот.

Агентите се користат и во системи за бизнис операции, како што се одделите за човечки ресурси. Доколку имаме компанија во која имаме 20-30 вработени лесно можеме да направиме интервјуа на врботените, да ги прегледаме нивните работни листи и сл. , но доколку имаме 10000 вработени тогаш овие акции претставуваат голем проблем. Агентите автоматски го иницираат интервјуто за секој вработен на одреден датум, а потоа го праќаат кај нивниот менаџер.

Агентите се користат и во производните процеси. Се користат за различни цели, за планирање, проверка, оптимизација на производните распореди, како и прибирање и интегрирање на производни податоци.

Агентите се користат и за поврзување на продажните места со производните и дистрибуциските системи. Кога таков систем ќе добие барање за испорака на одредена количина од одреден производ, може да ја провери достапноста на производот или сировите материјали, и да даде одговор во реално време.

Клучен термин кој се користи во бизнис апликациите е онлајн аналитичко процесирање (OLAP – online analytic processing). Програмата Robot for OLAP од Comshare пребарува OLAB бази на податоци за трендови и шеми со користење на мултидимензионални погледи на податоците. Овој систем, на пример, се користи во рентакар компанијата Hertz за анализа на цените на конкурентските компании.

6.6.4 Интерфејс агенти

Постојат два основни вида на интерфејс агенти. Првиот вид се агенти за филтрирање на разни податоци како e-mail пораки. Агентот ги отстранува пораките кои смета дека се неважни за корисникот. Главната предност на ваквиот вид на агнти е способноста за намалување на количината на податоци кои треба да ги прегледа корисникот.

Интерфејс агентите за филтрирање на податоци генерално се базирани на множество на правила, “скроени” за индивидуални корисници. На пример, e-mail агент може да користи множество од правила за да одреди дали одредена порака е корисна за корисникот.

Клучната особина на овие агенти е нивното подесување за индивидуални корисници. Така, еден агент за филтрирање на електронска пошта, за еден корисник е одличен, но не и за друг поради тешката дефиниција на базата на правила. За одредени апликации ова е корисно, но потребата од различно множество на правила за секој корисник може да претставува проблем. Многу корисници не сакаат да одвојат значително време и труд за да ги подесат правилата по нивните потреби. Затоа воведен е нов пристап, агентот да ги стекне навиките на корисникот по одреден период на користење. Друг пристап е подобрување на перформансите со колаборација помеѓу агентите, односно агентите ги комбинираат своите стекнати искуства.

Вториот вид се агентите кои имаат улога на медијатори помеѓу корисници и апликации. Главна предност на овие агенти е особината да ја сокријат комплексноста на апликациите од корисниците. На пример, агент кој се служи со софтверот за алгебра, Mathematica, за да изврши инжeнерска задача, како анализа на осетливост на динамички систем. Овие агенти најчесто се градат како агенти базирани на знаење. Агентот има знаење за апликацијата која ја користи и знаење за задачите кои ги извршува со таа апликација. Агентот ја разложува задачата во множество од дејства кои може да се изршат со користење на таа апликација. Основната идеја е агентот да ја автоматизира активноста на рачно користење на апликацијата за да се заврши задачата. Во општ случај, медијаторскиот агент конструира два вида на планови. Еден план соодветствува со множество од операции потребни за да се постигне задачата. Вториот план соодветствува со операциите кои ги извршува со апликацијата. Медијаторските агенти најчесто се користат за извршување на комплексни задачи со комплексни апликации бидејќи трошоците за изработка на вакви агенти може да биде многу висока.

6.6.5 Агенти за податочно рударење

Агентите за податочно рударење обработуваат големи количества податоци за да издвојат корисни информации. Постојат две класи на агенти за податочно рударење. Првата класа користи дедуктивно резонирање за пронаоѓање на податоци. На пример, ваков агент има задача да надгледува вредност која индицира број на дефекти во одредена компанија. Ова вредност е сместена во склад на податоци во таа компанија. Кога агентот детектира вредност поголема од одредена гранична вредност, извршува додатна анализа за да ја открие причината за големиот број на дефекти. Предноста на ваков агент е темелна анализа на производниот квалитет на редовна база, и можноста за известување на персоналот во реално време за намалување на квалитетот.

Втората класа се служи со индуктивно резонирање (невронски мрежи, одлучувачки дрва) за да препознае појавувања на важни податоци. На пример, доколку телекомуникациска мрежа која се содржи од илјадници уреди кои пренесуваат гласовен и податочен сообраќај. Откажувње на некој уред може многу да ја чини компанијата. Со изградба на класификатори базирани на историски податоци за време на откажување на уредот, агенти се креираат за да предвидат дефекти пред тие да се случат.

6.7 Технологии за поддршка и истражување

Технологиите и истражувањата кои поддржуваат агентски апликации вклучуват и комуникациски јазици, мобилни и автономни агентски технологии, кооперација и координација, и учење .

6.7.1 Мобилност на агенти

Мобилните агенти патуваат низ компјутерската мрежа до серверот од кој треба да земат информации. Интеракцијата со серверот се одвива кај самиот сервер, а потоа агентите патуваат назад до нивното извориште за да ги достават резултатите. Во основа, мобилните агенти се решение за ограничениот проток на некои мрежи. Кога се праќа агент кон серверот, се генерира многу мал сообраќај. Како пример можеме да разгледаме една серверска имплементација на каталог на библиотека. Доколку имаме стационарен агент, тој праќа барање преку мрежата, и добива резултати од серверот. Но што ако на тој сервер ги нема бараните податоци? Тогаш агентот мора да прати барање и до друг сервер. Со мобилен агент трансмисијата од првиот сервер може да се избегне, односно мобилниот агент патува до серверот и откако ќе заклучи дека тука ги нема бараните податоци, патува до друг сервер итн.

Мобилните агенти се многу привлечни за мобилните работници. Опсегот на мрежата од некоја оддалечена локација е често мал (пр. Мапирање на планината Козјак. Тука е изводлива врска преку GSM мрежата која има ограничен опсег.)

Во овие случаи агентите кои патуват низ мрежата и се враќаат со езултат се решение за слабиот проток.

Недостаток на мобилните агенти е безбедноста. Потребни се методи кои ја проверуваат доверливоста на агентите кои пристигнуваат на серверот пред да им се дозволи пристап до ресурсите на тој сервер. Мобилниот агент мора да нуди начин за безбедно пренесување на собраните податоци назад низ мрежата.

6.7.2 Автономни агенти

Автономните агенти се дизајнирани за работа во менлива, непредвидлива околина. Автономните агенти сами ги развиваат законите и стратегиите според кои го регулираат нивното однесување. Кога ќе се стартуваат, тие ги одредуваат своите дејства самостојно. Терминот “Автономни агенти” може да се однесуваат или за роботски системи во различни форми, или софтверски роботи кои немаат физичка форма.

Овие агенти можат да извршуваат различни задачи во нивните околини. Некои роботи можат да работат во опасни физички услови, каде нивната интеракција ќе биде примарно со други роботи или физички објекти. Од друга страна, софтверските роботи (softbots) можат да имаат улога на лични асистенти на канцелариските работници, или да опслужуваат повеќе корисници на мрежата.

Агентите кои го менуваат своето однесување со текот на времето за да се адаптираат на нивната околина се нарекуваат интелигентни автономни агенти.

6.7.3 Соработка и координација

Како што автономните агенти се развиваат да превземаат различни задчи на корисниците, се јавува потреба за развивање на агенти кои ќе соработуваат и ќе се координираат со други агенти кои работат во истата околина.

Развивањето на системи кои комуницираат меѓу себе, како и ја перцепираат и работат во нивната околина е опфатени во Дистрибуираната вештачка интелигенција. Такви системи може да се состојат од повеќе агенти кои работат заедно за да решат еден проблем, или повеќе агенти, каде секој работи на своја задача, кои повремено комуницираат со другите агенти за да ги постигнат своите цели.

За да можат да комуницираат агентите, мора да зборуваат заеднички јазик како и вообичаен протокол.

6.7.4 Учење

За да бидат вистински успешни, автономните агенти мора да се адаптираат на менливите околини. Се имплементираат повеќе техники во автономните агенти за да се овозможат подобрувања во однесувањето.

Во повеќе-агентски системи, агентите можат да учат со едноставно “испрашувње” други агенти.

Техниките за машинско учење исто така може да се искористат за филтрирање и наоѓање на информации. Агентите се способни да учат од своето искуство користејќи методи за машинско учење. Може да се користи и индуктивна логика за да се дизајнираат правила за учење.

Уште една техника за учење е користењето на Генетски алгоритми. Постојат агенти за филтрирање на информации дизајнирани со оваа техника. Овој агент е моделиран како група од профили. Секој профил бара документи и ги препорачува на корисникот. Одговорите на корисникот може да го сменат составот на профилите. Доколку корисникот даде негативен/позитивен одговор за одреден документ, профилот се модифицира во согласност со тој одговор. Групата на профили како целина постојано се адаптира на целите на корисникот.

8 Онтологии во агентски системи

Агентите имаат двојно однесување, од една страна тие се програми насочени кон цел кои автономно и проактивно решаваат проблеми за нивните корисници, и на друга страна агентите имаат социјална димензија кога интеркомуницираат и се дел од повеќеагентски систем. Како автономни решавачи на проблеми, агентите треба да развиваат модел за околината, како нивните дејствија вршат промени на околината, и како со тие промени тие да ги постигнат нивните цели. Онтологиите даваат концептуална рамка кои овозможува на агентите да ги конструираат ваквите модели, онтологиите ги опишуваат типовите на ентитети со кои агентот се сретнува, својствата на тие ентитети, како и релациите кои се помеѓу нив. На пример, агент за известување за роба на лагер, може да побарува онтологии кои не само што опишуваат концепти (како бар код) туку и релацијата помеѓу артиклот и бар кодот и својствата на артиклот (цената во одредена валута).

Во нивната социјална димензија, агентите во повеќеагентските системи мораат (барем најмалку) да се во интеракција со други агенти. Тие можат да се натпреваруваат за ресурси, или да соработуваат стремејќи се кон решение на проблемот и постигнување на целта. Додека некои од интеракциите се доста случајни, на пример кога агенти мора да чека за да пристапи до ресурс бидејќи други агенти го користат, главната алатка на агентот за интеракција и интероперации е комуникацијата. Комунијацијата им овозможува на агентите да разменуваат информации како и побарувања за сервиси. На пример, агент кој треба да донесува финансиски решенија може да побарува од други агенти квоти на роба на лагер, или може да делегира одделни делови од финансиската анализа на други агенти. Онтологиите им даваат на агентите основна репрезентација кои им овозможува да резонираат за ваквите интеракции, но исто така и најважно, онтологиите на агентите им даваат споделено знаење кое тие можат да го користат при меѓусебната комуникација и заедничка работа.

Користењето на интелигентни агенти се зголемува секојдневно. Заблежавме дека интелигентните агенти имаат примена во сите сфери на информатичката технологија, од веќе хаотичниот веб, до мали лични асистенти кои се грижат за распореди. Количината на информации што ја пренесуваат агентите може да биде од огромно значење за корисниците. Ова предизвикува одредени теми да се разгледуваат со поголем интерес и поригорозно.

Приватноста и безбеднста станува се поголем проблем. Информациите кои ги пренесуваат агентите, особено мобилните агенти, можат да бидат од осетлива природа кои конкурентите би сакале да ги добијат (лични информации на корисниците, информации за бизнис зделки, планови итн.). Затоа агентите мораат да осигураат приватност и непристрасност, односно да оневозможат или барем отежнат пробивање на безбедноста на податоците кои ги пренесуваат.

Се очекува и голем напредок во начинот на интеракција на агентите со корисниците. Интерфејсите на агентите ќе се подобруваат, ќе вклучуваат говор, слика,како и способности за разбирање на говорен јазик, за да се зголеми флексибилноста во дијалозите со корисниците. Исто така, вградувањето на поголема “свест“ за околината и “самосвест“ на агентот, е една од клучните филозофии и тема на многу истражувања.

7 Системи за размена на информации

7.1 Што претставува XML?

XML е кратенка за EXtensible Markup Language.

XML e проширлив јазик за обележување слично како и HTML.

XML е дизајниран за опис на податоците.

• XML таговите не се предефинирани во XML. You must define your own tags. • XML is self describing. Основна разлика помеѓу XML и HTML XML не е замена за HTML.

XML и HTML се дизајнирани со различни цели:

XML е дизајниран за опис на податоците и да се фокусира на тоа што претставуваат податоците.

HTML е дизајниран за приказ на податоците и да се фокусира на изгледот на податоците. HTML служи за прикажување на информациите, XML служи за опис на информациите.

XML е проширлив јазик

Таговите кои што се користат за обележување на HTML документите и за структурата HTML на документите се предефинирани, што значи дека авторот на HTML документите може да користи тагови кои се дефинирани само во HTML стандардот. XML му дозволува на корисникот да дефинира свои тагови и своја структура на документот.

XML е додаток (complement) на HTML

Важно е да се разбере дека XML не е замена за HTML. Со развојот на Web-от во иднина најверојатно е дека XML ќе биде користен за структурирање и опис на податоците на Web, додека HTML ќе се користи за форматирање и приказ на истите податоци.

XML користи DTD (Document Type Definition) за формален опис на податоците

За што се користи XML?

XML може да ги чува податоците одвоено од HTML

HTML страните се користат за приказ на податоците. Податоците често се чуваат внатре во HTML страните. Со XML овие податоци сега можат да се чуваат во посебен XML фајл. На овој начин се концентрираме на користење на HTML за форматирање и приказ, и да бидеме сигурни дека промените во назначените податоци нема да принудат промена на нашиот HTML код.

XML може да чува податоци во самите HTML документи

XML податоците исто така можат да бидат зачувани внатре во HTML страните како "Data Islands". Се уште може да се концентрираме на користење на користење на HTML за форматирање и приказ на податоците.

XML може да се користи за размена на податоци

Во реалниот свет, компјутерските системи и базите на податоци содржат податоци во различни формати. Еден од предизвиците што им одзема многу време на developers е размената на податоци преку интернет помеѓу такви системи. Конвертитарењето на податоците во XML може значително да ја намали комплексноста и да креира податоци кои кои ќе можат да бидат прочитани од различен тип на апликции.

XML може да се користи за зачувување на податоци

XML исто така може да се користи за зачувување на податоци во фајлови или во база на податоци. Апликациите можат да бидат напишани да зачувуваат и да повлекуваат(читаат) информации од the store, и генерички апликации може да се користат за да се прикажат податоците.

6 Добро структуриран (Well-formed) XML

Добро структуриран XML документ е документ кој исполнува одредени синтактички правила дефинирани според XML сецификацијата. Овие документи содржат XML тагови и текст кои е задолжително да бидат точно внесени. Доколку XML документите се добро структурирани ќе бидат прочитани без проблеми од страна на парсерот.

7.2.1. XML декларација

Со првата линија во XML документот е прави декларација со која се кажува дека се работи за xml документ. Taa се пишува на самиот почеток на документот. Во овој ред код се пишуваат и дополнителни информации како верзијата на XML која ќе се користи во документот, encoding-от итн. Декларацијата се пишува помеѓу “”.

На пример:

Иако документот е валиден и без декларацијата, сепак подобро е таа да се пишува.

7.2.2.Текст за обележување (Тагови)

XML документите се текстуални. Тие се состојат од податоци (претставени од карактери), и тагови или текст за нивно обележување на податоците. Податоците кој се содржат во документите се од особено значење за корисникот бидејќи тие ја содржат потребната информација. Таговите пак, се важни бидејќи тие водат евиденција за структурата на документот. Тие се разликуваат од обичниот текст и секогаш се пишуваат помеѓу знаците „“. Податокот кој што се опишува се нарекува PCDATA (Parsed Character DATA) и тој задолжително се пишува помеѓу почетен и краен таг. Крајниот таг се разликува од почетниот во тоа што дополнително го содржи знакот „/“.

Делот од почетокот на почетниот таг до крајот на крајниот таг се нарекува елемент. На пример, Angelina претставува елемент. Во XML постојат и т.н „празни елементи“ кои може да се пишуваат без краен таг, но мора да го содржат знакот „/“ на крајот.

Покрај тоа што корисникот ја има слободата да креира свои тагови при именувањето на истите мора да се запазат одредени правила.

Имињата на таговите во XML мора да почнуваат на буква или на знакот „_“. Остатокот од името може да содржи букви, броеви, знаците „.“, „_“ и „-“. За имињата не може да се користи зборот „xml“, бидејќи тој е резервиран збор. Исто така, празни места во името не се дозволени. На пример: тагот е валиден, додека тагот не е бидејќи содржи празно место.

XML документите може да содржат и HTML тагови кои се потребни во одредени случаи, но тие мора секогаш да бидат напишани со големи букви. XML таговите пак, обично се пишуваат со мали букви (иако не е забрането користење на големи). Кога името се состои од повеќе зборови, тие обично се делат со цртичка.

7.2.3. Атрибути

XML елементите може да имаат атрибути во почетниот таг, исто како кај HTML.

Атрибутите се користат за да обезбедат дополнителни информации за елементите. Атрибутот претставува пар од име и вредност. Името и вредноста се разделени со знакот(“=”), а вредноста секогаш се пишува во наводници.

Ова ни е познато од HTML: , каде SRC атрибутот обезбедува дополнителна информација за IMG елементот.

Значи, атрибутите кај HTML и кај XML обезбедуваат дополнителни информации за елементите:

Кај атрибутите важат истите правила за именување како кај таговите т.е елементите.

7.2.4 Вгнездување на елементи

Поради тоа што XML документите имаат структура на стебло за кое не постои ограничување за неговата длабочина, елементите може да се повторуваат и истите во себе да содржат други елементи во XML сите елементи мора соодветно да бидат вгнездени. Пример: Овој текст е болд и италик 7.2.5 Парсирање Сите правила за пишување на добро структуриран XML документ се прават за да може да се креира компјутерска програма која ќе ги чита и апдејтира податоците, ќе креира и манипулира со XML документ во кој лесно ќе го препознае текстот за обележување (таговите).

За да се манипулира со XML документот потребен е XML парсер. Тој прави лоадирање на документот во меморијата на компјутерот. Откако документот ќе биде лоадиран, со неговите податоци може да се манипулира користејќи го DOM.

XML DOM (Document Object Model ) дефинира стандарден начин за пристап и манипулирање со XML документот. Тој ја претставува структурата на XML документот како дрво-структура, заедно со елементите, атрибутите, и текстот дефинирани како јазли.

Постојат голем број на XML парсери. Во по познати парсери спаѓаат: XMLBooster, MS Internet Explorer Parser, DXP, Oracle XML Parser, Apache Xerces, Xml4j и др...

[pic]

7.2.6 Простори на имиња (Namespaces) во XML

Кога се работи со покомплексни апликации, понекогаш се појавува потреба од комбинирање на неколку различни типови на документи во еден XML документ што резултира во појава на исти имиња од различни докумнети и со различно значење и семантика. Во тој случај се користат XML простори на имиња (XML Namespaces) со кои се прави разлика помеѓу елементите и атрибутите од различните типови на документи кои се дел од еден XML документ. Исто така сите имиња на елементи во рамките на просторот на имиња мора да бидат единствени. Просторот на имиња е препорака од W3C.

Доколку ставиме префикси за секој од елементите од конкретните документи ќе се добијат онолку видови на елементи во XML документот зависно од бројот на документи од кои се состои.

Book Review

XML: A Primer

AuthorPrice PagesDate Simon St. Laurent 31.98 352 1998/01

Иако се добива повеќе код, сега парсерот го чита документот без проблеми и враќа точни резултати бидејќи може да прави разлика помеѓу ентитетите и атрибутите на различните документи.

7.3 Валиден XML Валиден XML документ е добро стрктуриран XML документ , кој исто така се потврдува преку правилата на Document Type Definition (DTD): ?xml version="1.0" encoding="ISO-8859-1"?>

Tove Jani Reminder Don't forget me this weekend!

7.3.1 Што претставува DTD (Document Type Definition) Целта на DTD е да ги дефинира елементите од кои што ќе биде изграден XML документот. Тој ја дефинира структурата на документот со листа на правила кои ги дефинираат елементите, атрибутите, нивните вредности и релациите помеѓу елементите во документот. Може да се декларира т.е да биде вклучен во самиот XML документ, или да биде поврзан со него надворешно т.е URL:

Внатрешно дефиниран DTD

XML документ со Document Type Definition:
| |
| |
| |
| |
| |
|]> |
| |
|Tove |
|Jani |
|Reminder |
|Don't forget me this weekend! |
| |

DTD е интерпретиран на следниот начин:
!ELEMENT note (ред 2) го дефинира елементот "note" дека има четири елементи: "to,from,heading,body".
!ELEMENT to (ред 3) го дефинира "to" елементот да биде од тип "CDATA".
!ELEMENT from (ред 4) го дефинира "from" елементот да биде од тип "CDATA" и така натаму...........

Надворешно дефиниран DTD

Ова е истокако претходниот XML документ со надворешно деиниран DTD:
| |
| |
| |
|Tove |
|Jani |
|Reminder |
|Don't forget me this weekend! |
| |

Копија од фајлот "note.dtd" кој ја содржи Document Type Definition:
| |
| |
| |
| |
| |
| |

7.3.1.1 Зошто да се користи DTD?

XML овозможува независна апликациска размена на податоци. Со DTD, независна група на луѓе можат да се согласат да користат заеднички DTD за размена на податоци. На пример: нашата апликација може да користи станардна DTD за верификација на податоците кои ги примаме од надвор дека се валидни. Исто така DTD може да користиме за верификација на напише податоци. Процесот на валидација се извршува од парсер. 7.4. Приказ на податоците во XML

( користење на CSS и XLS технологија)

Во XML можно е да се менува начинот на приказ на податоци. За таа цел се користат други технологии кои се поврзани со XML.

7.4.1 CSS – Каскадни стилови (Cascading Style Sheets)

Cascading Style Sheets (CSS) е stylesheet language кој се користи за опис на презентации на документи кои се напишани со јазик за обележување(markup language). Неговата најчеста примена е да го даде изгледот на веб страните кои се напишани во HTML и XHTML, но самиот јазик може да биде додаден на било кој XML документ, вклучувајќи и SVG и XUL. CSS се користи за да им помогне на читателите на веб страните да ги дефинираат боите, фонтот, приказот и други аспекти од презентација на документ. Примарно е дизајниран за да се овозможи одвојување на содржината на документот (напишан во HTML или во сличен јазик за обележување) од презентацијата на документот (напишана во CSS). h1 { color: white; background: orange !important; }

h2 { color: white; background: green !important; } 7.4.2 XSL (Extensible Styleshet Language) Еxtensible Stylesheet Language (XSL) или проширлив јазик за стилови е дел од множеството на јазици за трансформација кој овозможува да се објасни како датотеките се енкодираат во стандардниот XML како се формирани и трансформирани. XSL is designed to be data driven and strongly encourages the Inversion of control design pattern. Во множеството на јазици за трансформација има три јазици:

* XSL Transformations (XSLT): XML јазик за трансформирање на XML документи

* XSL Formatting Objects (XSL-FO): XML јазик за специфицирање на визуелното форматирање на XML документот.

* the XML Path Language (XPath): кој не е XML јазик language користен од XSLT, и исто така достапен за користење во не-XSLT контекст, за адресирање на патеката на XML документ.

8 Семи и слабо структурирани податоци

8.1 Семантички веб

Вовед

“ I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finall materialize. “

- Tim Berners-Lee ,1999

World Wide Web е интересен парадокс—составен е од компјутери но за луѓето. Страните кои ги посетуваме секој ден се прикажани/користат природен јазик, слики and page layout за да се претстави информацијата на начин кој ќе биде разбирлив за нас. Иако тие се најважни за креирањето и одржувањето на веб-от, компјутерите сами неможат да најдат некаква смисла на сите тие информации. Тие не можат да ги прочитаат, да најдат некаква релација или да направат/донесат одлуки како што може човекот.

Со Семантичкиот веб се предлага да им се помогне на компјутерите да го “прочитаат” и користат веб-от. Големата идеја е прилично едноставна – мета податоци (metadata) додадени на веб страните можат да ја направат постоечката World Wide Web машина разбирлива за компјутерите. Со ова компјутерите нема да станат свесни за себе, но на машините ќе им обезбеди алатки за наоѓање, размена и, во ограничено интерпретирање на информацијата. Семантичкиот веб претставува продолжување, но не и замена за World Wide Web. Ова можеби звучи малку апстракно, но така и е. Додека некои веб сајтови веќе ги користат концептите на семантичкиот веб, многу од потребните алатки се сеуште во развој.

8.2 Зошто семантички веб?

На пример, од интернет сакаме да купиме комплет ДВД цедиња од трилогијата “Војна на Ѕвездите”, и имам некој основен критериум за купивање. Прво, сакаме widescreen, а не full-screen, ДВД цедиња, и сакаме коплет ДВД цедиња кои имаат дополнителен диск со бонус материјали. Второ сакаме да ги купиме по што е можно пониска цена, но преферираме да купиме нов а не претходно користен комплет. И на крај, не сакаме да платиме премногу за достава, но исто така и не сакаме да чекаме многу долго за испораката.

|[pic] |

Со денешните можности на интернетот, од наша страна најдобро би било да разгледаме и да бараме на различни страни на продавачи, споредувајќи ги цените, датумот на испорака, итн. Исто така може и да одиме на сајт кој што ќе ги спореди цените и датумот на испорака со различни продавачи и сето тоа во исто време. И во двата случаи, треба т.е потребно е многу работа, за на крај да се одлучиме и да ја направиме нарачката сами. Со семантичкиот веб, би имале друга опција. Да го внесеме нашиот критериум за пребарување во компјутеризиран агент, кој ќе пребара низ веб, ќе ја пронајде најдобрата опција за нас, и ќе направи нарачка. Агентот ќе го направи сето ова не преку гледање слики и читање на некаков текст како човекот, туку преку пребарување низ мета податоци (metadata) кои што јасно идентифицираат и дефинираат што агентот треба да знае. Мета податоците се едноставно податоци кои што можат да бидат прочитани од страна на машината кои опишуваат други податоци. Кај семантичкиот Web, мета податоците се невидливи како што луѓето ги читаат страните, но се видливи од страна на компјутерите. Мета податоците исто така овозможуваат покомплексни, фокусирани веб пребарувања со поконкретни/поточни резултати. Како што вели Tim Berners-Lee, овие алатки ќе му овозможат на веб-от – сега најмногу сличен на некоја огромна книга – да стане гигантска база на податоци. 8.3 Компоненти- The Semantic Web "Stack"

Потребни се слоеви на мета податоци, логика и сигурност за да се направи веб-от да може да биде прочитан од машината. За најубаво и најјасно да се разбере од кои се компоненти се состои семантичкиот веб прикажана е пирамида која се состои од блокови. Секој блок претставува еден од слоевите од кои се состои. Овој стек ќе се менува и развива како што ќе се менува и развива самиот сеантички веб.

Семантичкиот веб генерално е изграден на синтакси кои користат URIs (Uniform Resource Identifier) за да ги претстават т.е прикажат податоците, вообичаено во така наречени структури на тројки (triples based structures): многу тројки од URI податоци кои што можат да се чуваат во бази на подтоци, или да се разменуваат преку веб користејќи множество од одредени синтакси креирани специјално за таа задача. Овие синтакси се нарекуваат "Resource Description Framework" синтакси.

8.4 XML, XML Schema, RDF, OWL, SPARQL

Семантичкиот web се состои од стандарди и алатки на XML, XML Schema, RDF, RDF Schema и OWL. OWL Web Ontology Language Overview ја опишува функцијата и релацијата на секој од овие компоненти на семантичкиот web:

[pic]

[pic]

W3C Semantic Web Layer Cake

• XML обезбедува основна синкакса за стуктурата на содржината во самите документи, yet associates no semantics with the meaning of the content contained within. • XML Schema е јазик за обезбедување и ограничување на структурата и содржината на елементите кои се содржат во самите XML документи. • RDF е едноставен јазик за изразување на data models, што се однесува на објекти ("resources") и нивните релации. RDF-базиран модел може да биде претставен со XML синтакса. • RDF Schema е вокабулар/речник за опишување на properties(можности) и класи од RDF-базирани ресурси, со семантика за генерализирани-хиерархии на такви properties(можности) и класи. • OWL додава уште вокабулар за опишување на properties и класи: помеѓу другото, релации помеѓу класи (e.g. disjointness), кардиналност (e.g. "exactly one"), еднаквост, richer typing of properties, карактеристики на properties (e.g. symmetry), и менувани класи. • SPARQL е протокол и query language за semantic web data sources.

8.5 Обележување: XML and RDF

Да кажеме дека сакаме оваа реченица да биде прочитана/разбирлива за од страна на компјутерот:

Anakin Skywalker е татко на Luke Skywalker.

За нас е многу лесно да заклучиме што значи оваа реченица т.е што некој сакал да искаже со оваа реченица. Anakin И Luke Skywalker се човечки битија, и има некаква врска помеќу нив. You know that a father is a type of parent, and that the sentence also means that Luke is Anakin's son. Но компјутерот неможе да разбере ништо од тоа без помош. Да му се одзволи на компјутерот да разбере што значи таа реченица, ќе треба да додадеме информации кои ќе можат да бидат прочитани од страна на машината кои опишуваат кои се Anakin и Luke и кој е нивниот однос. Тоа почнува со две алатки -- eXtensible Markup Language (XML) и Resource Description Framework (RDF). XML е (markup language) јазик за обележување како HTML. RDF прави точно тоа што индицира и неговото име – користење на XML тагови, обезбедува околина/рамка за да ги опише ресурсите (resources). Од поглед на RDF, речиси се во светот претставува ресурс. Оваа рамка ги спојува ресурсите (како именка, како и Anakin Skywalker од "Star Wars" трилогијата) со конкретен предмет или локација на Web така што компјутерот точно знае што претставува изворот. Јасно е дека со идентифицирање на ресурсите компјутерите нема да прави грешка помеѓу Anakin Skywalker и Sebastian Shaw или Hayden Christiansen. За да го направи ова, RDF користи triples напишани како XML тагови да ја изрази оваа информација како граф. Овие triples се состојат од subject, property и object, кои се како субјектот, глаголот и објект на реченицата.

|[pic] |
|An RDF triple has a subject (Anakin Skywalker), an object (Luke Skywalker) and a property |
|that unites the two. |

Во овој пример, компјутерот знае дека има два објекти во реченицата и дека постои некаква релација помеѓу нив. Но не знае што се објектите и како се тие поврзани помеѓу себе. Следи алатката за додавање на овој слој на значење.

8.6 Униформиран Локатор за ресурси (uniform resource identifiers –URIs)

Дури и со околината која XML и RDF ја обезбедуваат, на компјутерот се уште му е потребен многу директен, конкретен начин на разбирање кои или што се овие ресурси. За да го направи ова, RDF користи Униформиран Локатор за ресурси uniform resource identifiers (URIs) да го упати компјутерот на документ или објект кој што претставува ресурс. Најпознатата форма на URI е – Униформиран Локатор за ресурси (the uniform resource locator -URL), кој што започнува со http://. A URI може да покажува на било што на веб и исто така може да покажува и на објекти кои не се дел од веб, како на пример апликации во компјутризирани домови т.е установи. Mailto, ftp и telnet адресите се некои други примери на URIs.

For our example, we'll use the characters' pages at the official Star Wars site as their URIs.
|[pic] |
|A URI gives a computer a specific point of reference for each item in the triple -- |
|there's no need for interpretation or potential for misunderstanding. |

Компјутерот сега знае што се субјектот и објектот -- Anakin Skywalker е ентитетот претставен со првиот URI, и Luke Skywalker е ентитетот претставен претставен со второто URI. URI кој се наоѓа во средината во тројката -- the one for the property – не покажува на страната на Star Wars. Наместо тоа, покажува на make-believe document на HowStuffWorks серверот. If that page really existed, it would be our XML namespace. XML и RDF се "официјалниот јазик " на семантичкиот веб, но самите по себе не се доволно да го направат целиот веб пристапен за компјутер. We'll look at some of the other layers next.

8.7 Languages and Vocabularies: RDFS, OWL

Друга пречка за семантичкиот веб е тоа што компјутрите немаат таков вокабулар како луѓето. Ние го користиме јазикот целиот наш живот, така што за нас полесно е да ги согледаме конекциите помеѓу различни зборови и концепти и да се даде значење базирано на контекстот. На компјутрот не може да му дадеме речник и енциклопедија и да го оставиме самиот да го научи тоа. Со цел да се разбере значењето на зборовите и која е поврзаноста помеѓу зборовите, компјутеот мора да има документи кои ги опишуваат сите зборови и целата логика за да ги направи потребните поврзувања.

Кај семантичкиот веб, ова доаѓа од schemata и ontologies. Има две поврзани алатки кои му помагаат на компјутерот да го разбере човековиот речник. Онтологијата е едноставно речник кој ги опишува објкетите и како како се поврзани тие едни со други. Schema е метод за организирање на информации. Како со RDF тагови, пристап до schemata и онтологиите се додаваат во документите како мета податоци, и креирачот на документот мора да декларира кои онтологии се референцирани на почетокот на документот. Schema и ontology алатките кои се користат на/кај семантичкиот веб вклучуваат: • RDF Vocabulary Description Language schema (RDFS) - RDFS додава класи, подкласи и properties to resources, креирајќи основна рамка за јазикот. На пример, ресурсот Dagobah е подкласа на planet. Сопственост на Dagobah може да биде swampy. • Web Ontology Language (OWL) - OWL, најсложениот слој, Формализација на онтологиите, ги опишува релациите/врските помеѓу класите и користи логика за да донесе заклучоци. Исто така може да конструира нови класи базирани на веќе постоечките информации. OWL се состои од три слоеви (three levels of complexity) -- Lite, Јазик за опишување (Description Language -DL) and Full.
|[pic] |
|An example of a very small number of the resources and connections that might be found in |
|a Star Wars ontology. You can figure these out on your own from watching the movies and |
|surfing the Web, but a computer must have a clear outline to make sense of it. |

Проблемот со онтологиите е тоа што тие се многу тешки за креирање, имплементирање и одржување. Зависно од нивниот поглед, тие можат да бидат огромни, дефинирајќи широк опсег на концепти и релации. Некои развивачи (developers) преферираат да се фокусираат повеќе на логика и правила отколку на онтологии поради овие тешкотии.

8.8 Пристап до мета податоците

Едан од целите на семантичкиот веб е да им дозволи на агентите, софтверските апликации и на веб апликациите да пристапат и да ги користат мета податоците. Клучната алатка потребна за да се постигне ова е simple protocol и RDF Query Language (SPARQL), кој што се уште е во развој. Целта на SPARQL's purpose е да ги издвои податоците од RDF графовите. Може да бара податоци, и да го ограничи и сортира резултатите. Една од предностите на RDF структурата е дека овие queries можат да бидат многу точни и да дадат многу прецизни резултати.

9 Анализи на серии на податоци

Замисилете слаткарница која секој ден ги презентира своите колачи на подвижна лента. Како ќе го одберме своето омилено колаче за тој ден? Најлесен начин е едно по едно колаче да пробуваме се додека не стигнеме до саканото. Но ако претходно кажаното е најлесен начин не значи дека е најдобар, бидејќи по некое време ќе треба да бараме најлесен начин за брзо ослабување (. Затоа може да пробаме да ги анализираме состојките на колачот(како на пример: чоколада, лешници, шлаг итн.) и доколку се поклопуваат со нашата замисла за омилено колаче, тоа е среќното колаче.

Анализата на серија на податоци се занимава со наоѓање на статистички релевантни сличности помеѓу податоци, каде што податоците се доставуваат во секвенца. Бидејќи често се смета дека овие податоци се дискретни тие често се ставаат во корелација со временските податоци со кои ќе се сретнеме подоцна. Постојат повеќе начини на анализа на серија на податоци, исто така постојат и повеќе можности за нивната примена во градба на експертски систем (некој систем како системите за предвидување на временска прогноза, систем за препорака на книга како Amazon, или wikipedia). Една од можеби најпопуларните примени на серијата на податоци е во модерната медицина, во градбата на генетската структурата на човекот и истата структура се користи во борба против многу популарни болести во денешницата како на пример сидата. Тоа се претставува со низа од некакви стрингови каде што секој стринг одговара некоја секвенца од РНК, ДНК, или може истата оваа структура да се искористи за објасни обликот на некои протеини, кои помагаат и многу придонесуваат во истражувањето на многу модерни болести, како сидата која има многу специфична структура.За борба против сидата мора да се анализира таа структура поради тоа што начинот на кој сидата ги заразува другите клетки зависи токму од таа структура на молекулот кој што е погоден за ширење. Потоа примени на серијата на податоци може да се употреби доколку некоја компанија која нуди тефелонски и мобилни услуги сака да воведе нова услуга и мора да види која целна група треба да се погоди за да се знае одвивањето на маркетинг кампањата итн. Друг пример за систем кој работи со анализа на серија на подаотци е системот за предвивување на двежењето на акции на берза и најпопуларните системи кој користи анализа на серија на податоци е системот за временска прогноза.

9.1 Типови на анализа на серија на податоци

Постајат два главни типови на анализа на серија на податоци: тоа е анализа на единечни вредности, и анализа на групи вредности.Оваа поделба главно зависи од сложеноста на анализираниот енититет дали тој е прост или посложен, ако употребиме аналогија од структурирано прогамирање,можеме да ги поделиме на обични променливи (анализа на единечни вредности) и структури (анализа на групи вредности), структурите може да содржат променливи и дури и структури. Анализа на единечни вредности многу се користи во медицината за испитување на ген и секвенца од протеини,и главно се занимава со анализа на секванца со еден член на една позиција. Анализа на групи вредности главно се користи кога се анализира секвенца од податоци (во маркетинг за да се види некое движење,т.е. некој тренд), и се занимава со анализа на повеќе симболи на една позиција.

Оваа област вклучува градење на ефикасни бази на податоци и индексирање за секвенцни информации, каде што се извлекува нештото што најчесто се повторува, се прават споредби за сличности, и се извлекуваат секвенци членови кои недостасуваат бидејќи во серија на податоци знаеме приближно кој член е следен , доколку секвенцата е во некој правилен редослед.

Две техники се применуваат на секвенцните бази на податоци за анализа на повторувачки вредности или групи вредности, тие се Apriori алгоритмот и FP-Growth техниката

9.1.1 Временски податоци

Во природата постојат многу случајни процеси за кои сме свесни,но за многу од нив не сме ни свесни, на пример предвидување на случаен процес може да биде фрлање на паричка и треба да се предвиди кога ќе падне петка кога глава.Ова всушност се сведува на обработка на некој сигнали кој доаѓаат во некое време, па затоа и се наречени серија на временски податоци.

Временските серии се секвенци на обсервации кои се подредени според времето на нивното појавување. Годишното производство на шеќерната репка како и нејзината цена по тон на пример се регистрира во агрикултурата. Бизнис секциите во весниците дневно известуваат за цените на акциите, неделните камати, месечната рата на невработеност,годишни профити инт. Метеоролозите регистрираат брзина на ветерот по час, дневни максимални и минимални температури и годишни врнежи на дожд. Геофизиолозите континуирано ги набљудуваат движењата на земјата со цел да ги предвидат можните земјотреси. ELECTROENCEPHALOGRAM ги следи мозочните бранови со цел да детектира целебрални болести, електрокардиограмот пак ги следи срцевите бранови. Анализите на социјалните движења ги следат ратите на раѓање и смрт, бројот на несреќи случени дома и различни форми на криминални активности. Параметрите во производствениот процес се постојано набљудувани со цел да се изведе проверка на квалитетот.

Очигледно постојат милион причини за регистрирање и анализа на податоците во временските серии. Помеѓу ова е потребата да се добие подобро разбирање на механизмот на генерирањето на податоци, предвидувањето на идни вредности или оптимална контрола на некој систем. Како карактеристика на временските серии е фактот што податоците не се генерираат самостојно, нивното ширење варира со време, тие често се управувани од некој тренд и имаат циклични компоненти. Меѓутоа статистичките процедури кои преставуваат независни и идентични дистрибуирани податоци се исклучуваат од анализата на временските серии.

Друга област на анализа на временски серии се смета “рударењето” на серии за ретроспективно екстрахирање на знаење. Во литературата ова се нарекува податочно рударење на временски серии. Техниките во област зависат од идна детекција.

Анализата на овие временски податоци се сведува на некое предвидување, во кое предвидување колку повеќе фактори знаеме токлку ќе ни биде поточно предвидената вредност, во некои случаи зависи колку фактори се вклучиле во равенката, а колку не каде што важноста на факторите е иста или слична (како на пример кај фрлање на паричка), додека кај некој примери и да ги вклучиме сите фактори само еден да заборавиме може да се направи голема грешка во проценката, ако факторите се со енормно различна важност, типичен пример за тоа е временската прогноза.

Постојат различни нотации кои се користат за анализа на временските серии:

[pic]

е најчеста нотација која специфицира временски серии X индексирани со природни броеви

9.2 Претпоставки

Постојат две претпоставки за кои се креирани теории:

- процес на стационирање

- ergodicity

Општата репрезентација на autoregressive моделот е

[pic]

Каде поимот εt e изворот на случајност наречен “бел звук”.се претпоставува дека ги има следните карактеристики

1. [pic] 2. [pic] 3. [pic]

Ако има нормална дистрибуција се вика нормален бел звук:

[pic]

Постојат три основни модели на временски податоци кои се од поголема важност autorggressive (AR) модели, the integrated (1) модели, moving average (MA) модели.Ако податоци зависат од предходниците и имаме некоја линеарна или квадратна зависност тогаш тие временски-зависни податоци, а ако податоците не зависат од претходниците тогаш тие спаѓаат во областа наречена теорија на хаосот. Временски-зависни податоци може да се земат или третираат за да се направи некавко предвидување (forecasting) или класификација (Tренд анализа), т.е. поточно да одредиме податокот кој следи во која категорија т.е. група припаѓа.

Временските податоци се многу тесно врзани со временските бази на податоци кои имаат специфичен начин на индексирање на податоците се со цел да се постигне побрз одзив.

Разложувањето на временските серии е статистички метод со кој се прави деконструкција на временските податоци на помали компоненти. Ова е важна техника за анализа на временските серии на податоци, посебно за сезонско регулирање. Месечни економски временски серии најчесто се составени од:

- Тренд компонента, која влијае на прогресијата на подолг рок на сериите - Циклична компонента, со која се опишуваат регуларните промени кои се предизвикани од економскиот циклус - Сезонска компонента, која влијае на сезонските промени - Нерегуларната компонента, која опишува случајни, нерегуларни влијанија. Споредена со другите компоненти таа ги репрезентира остатоците од временските серии.

9.3 Применети временски серии

Анализата на временските серии се користи во многу полиња, од астрофизика до геологија. Моделот на селекција најчесто се базира на основни претпоставки од процесот на генерирање на податоци. На пример при сообраќајниот тек би очекувале периодично однесување. Во вакви ситуации може да се примени Динамично Хармоничната Регресија.

Се почесто се користат методите на временските серии во геофизиката(на пример анализата на врнежите на дожд и климатските промени). Во индустријата секој сектор за многу кратко време ќе може да извршува анализа на временските серии. Во малопродажбата да се следи и предвидува продажбата.

9.4 Неправилни временски серии на податоци

Неправилни временски серии на податоци се временските серии на отстапувања од некој просек. Било да тој просек е пресметан за целосните временски податоци или некои делови, на пример за секој час од денот ако дневниот циклус од некоја вредност е поделен. Наместо аритметичка средина, може да се употребува нумерички поцврста средина.

9.5 Предвидување (forecasting)

Предвидувањата вклучуваат голем број на статистички техники кои процесираат тековни / моментални податоци и историски податоци се со цел да се направи предвидување за некој настан во иднината. Овие предвидувања ретко земаат форма на апсолутен исказ со апсолутна точност, и тие најчесто се претставуваат со бројка која одговара на некој настан или случка во иднината (во многу од случаите тоа е процент колку е веројатно еден настан да е точен или неточен).

Предвидувањето полесно би го објасниле преку следниов пример. Од дома тргнувате кон факултет за да го подигнете индексот на студентски прашања. На патот натаму сретнувате колега кој бил на факултет поради истата причина, и го прашувате дали има гужва пред студентски прашања тој ви одговара со да или не. Продолжувате и по некое време сретнувате уште еден колега му го поставувате истото прашање и тој ви одговара. Да речеме дека сте сретнале со уште неколку колеги и од нив сте добиле одговори. Според сите тие одговори можете да предвидите дека е гужва и да се вратите дома доколку повеќе ви одговориле со “има гужва” или пак да продолжите до крај доколку повеќе ви одговориле со “нема гужва”.

Во бизнисот, предвидувачките модели најчесто се интегрирани вградени во операциони процеси и се активираат за време на трансакции кои се во тек. Моделот проценува историски податоци и трансакциски податоци за да се идентификува ризикот за одредена трансакција со еден или повеќе корисници.Овие анализи опфаќаат врски од илјадници податочни елементи со цел да се изолира ризикот или потенцијалот на секој корисник посебно или на група од корисници.

Предиктивната анализа е често користена во правењето на одлуки за корисникот. На пример колку пари троши месечно, кои финансиски сервиси најчесто ги користи.Така работат и банките кои даваат кредити, кредитот варира во зависност од платата и трошоците на корисникот. А на сличен принцип работат и осигурителните компании, ние луѓе што работат ризлични професии можат да добијат осигурителна полиса со повисока сума.

9.6 Тренд анализа

Тренд анализата е многу популарна и многу користена ако сакаме на пример да промовираме нов производ, прво треба да се предвиди кој ќе го користи во која класа ќе спаѓа, за да знаеме кон кого да ја насочиме кампањата дали кон тинејџерите, родителите и кон децата. Пример за тоа е вметнување на нов производ да речеме кафе во менито на бифето. Прво би требало да се заклучи дека нашето бифе се наоѓа во Македонија т.е се анализира какво кафе се пие во рамки на овој регион. Потоа што би требало да направиме, е да видиме за кого ќе биде наменет тој производ дали за студентите, дали за професорите,старите, младите, односно таргетната група и карактеристиките на истата. Исто така треба да се земе во предвид историјата на вметнување на сличен производ од оваа класа.

Исто така доколку е потребно да се види дали некој тренд станува популарен илу му опаѓа популарноста ќе направиме дали трендот е во растечки или опаѓачки редослед. Во најновите SAFE HOME системи интегрирани се сензори и логика за одлучување дали одреден податок од сензорот спаѓа во податоци кои треба да активираат аларм (провала,пожар) или податоци кои само треба да се запишат и некоја едноставна функција да се изведе (ако е заборавено да се затвори прозор или врата откако сите ќе заминат,компјутерот автоматски да го затвори прозорот).

Понекогаш трендот треба да се отстрани за да не се донесе погрешен заклучок од податоците кои ги анализираме. Диференцирање е популарен и ефективен метод за отстранување на трендот од временските податоци. Овој метод овозможува почист поглед на вистинското однесување на податоците.

Анализа на серија на податоци е важна во бизнис круговите,во мултимилонските компании, и обичните домакинства се со цел да се донесе подобра одлука за некој настан кој се повторува да знаеме што отплика да очекува, или ако некој настан се случи да знаеме како да го споредиме со некој предходен настан за да знаеме подобро да го оцениме, дали тоа нешто е добро или лошо. Анализата на серија на податоци иако изгледа како сложен математички модел сите луѓе го користат секојдневно иако ретко се свесни за тоа.

10 Примери за експертни системи

Постојат најразлични компјутерски ситеми кои може да се сретнат денес во најразлични области, од вградени системи со лимитирани опции па се до системи за купување преку интернет. Сите тие се создадени за да му ја поедностават и олеснат работата на човекот. Но, сите овие системи нудат брзо и едноставно процесирање и манипулација со податоци. Експертните системи за разлика од сите останати имаат можност и да носат одлуки при својата работа бидејќи во себе содржат експертскко знаење. Ваквата можност ги прави овие системи експерт во одредена област за која се наменети. Ова е доста погодно бидејќи човечкото експертско знаење е доста скапо и треба да се плаќа постојано, а откако ќе се развие еден систем може истиот да се користи на подолг рок.

10.1 Примери за успешни кориснички профили

Покрај примерот со студентските профили кој е еден релативно општ пример за користење на фази множествата во корисничките профили, постојат и мноштво апликации кои ги користат корисничките профили за нивна персонализација и подобро искуство при работата со нив, па еве и неколку примери:

10.1.1 Mozilla Seamonkey

Mozilla Seamonkey претставува всушност стариот mozilla сет на апликации кој веќе е малку подзаборавен од страна на корисниците. Тој се состои од веб прегледувач, едитор на веб страни, мејл клиент, адресар и IRC клиент кои заедно го прават целиот сет. Самите апликации се меѓусебно поврзани и интересна е можноста за персонализација. Mozilla seamonkey има можност за креирање на кориснички профили што ја прави работата со апликациите полесна бидејќи е потребно само на почетокот да се одбере корисничкиот профил на корисникот и веднаш ќе ја добие персонализираната околина во која лесно може да се ориентира и лесно може да ја прилагодува.

[pic]

На пример во веб прегледувачот, може да се смени целиот лик на прегледувачот, сите дефолт сетирања можат да се сменат и едноставно да се излезе од него и следниот пат ќе биде се како и порано за истиот корисник.

Доколку се логира корисникот на некои веб страници тогаш самата околина прашува дали да ги зачува корисничкото име и лозинката, за следниот пат при доаѓањето на истата локација самиот веб прегледувач ги има веднаш внесено овие податоци, а секако овие податоци можат да се заштитат со една главна master лозинка, за да се спречи неовластен пристап до податоците од страна на другите корисници, а во исто време корисникот не се заморува со нонстоп пишување и памтење на различните лозинки.

[pic]

Штом се логираме, преку window менито може да се префрламе низ останатите апликации, како на пример мејл клиентот кој што откако ќе се логира корисникот може да гледа мејл од лични профили кои се различни од тие на другите без да смени нешто кај нив или да се плаши некој друг да му смени нешто. Секој корисник си има пристап до свој адресар кој е исто дел од сетот апликации и податоците се заштитени, но сепак има еден проблем со безбедноста, а тоа е што секој може да одбере туѓ профил на компјутерот и да смени нешто во било која апликација од сетот, што е голем минус. Добра работа е што доколку корисникот ја подеси работната околина по свој вкус и потреби, може со едноставно копирање на еден фолдер да го префрли корисничкиот профил на друг компјутер и со тоа да ја спречи маката на повторно навикнување на интерфејсот, додавањето на омилените страни и слични работи.

Уште поинтересна опција е тоа што корисникот може својот профил да го стави на веб сервер кој ги чува податоците од профилот и може на било кој компјутер на кој има инсталирано Mozilla Seamonkey и има интернет да се префрлат персонализираните информации и да се работи како на домашниот компјутер, секако со користење на лозинка. Може да се работи и после да се префрлат пак податоците на серверот и следниот пат да биде се исто, како што наместил корисникот(лошо е што ова е сеуште експериментално и има многу грешки).

10.1.2 My Yahoo

Во последно време во подем се корисничките веб апликации кои не се статични како до пред некое време и кои му овозможуваат на корисникот огромна доза на интеракција и ја намалуваат потребата од памтење на самиот интерфејс и местата каде се наоѓаат работите (на кој линк требаше да се кликне и слично), со тоа што корисникот ќе го преуреди графичкиот интерфејс според своите потреби и вкус и ќе може полесно да се движи низ работите кои го интересираат.

[pic]

Прво и единствено мора да се нагласи дека корисникот треба да си има отворено профил на Yahoo, со што после заминувањето од овој портал ќе се зачуваат сите промени и ќе се знаат информациите за корисникот за самиот портал да може да дава и сугестии за содржините на истиот. Интерфејсот е целосно конфигурабилен. Може да се менува скоро се на оваа страница, како на пример боите на графичкиот интерфејс т.е. темите, кои доколку корисникот ги смени се зачувуваат до следното доаѓање. На оваа веб страница може да се покажуваат информации кои самиот корисник сака да му се покажуваат за разлика од yahoo.com каде што содржините се статични и се менуваат од страна на администраторот, кој пак не може да ги погоди сите содржини кои секој различен корисник би ги сакал. На пример еден корисник, сака кога ќе го отвори веб пребарувачот да може без проблем и многу кликови да дознае дали има добиено e-mail, па тука ќе може едноставно да постави gadget кој ќе му каже на корисникот дека има мејл.

Потоа има gadget кој се спојува со календарот на Yahoo, на кој корисникот има ставено важни настани и со тоа ќе го потсети без да мора да оди на самата страница со календарот. Освен тоа што како што видовме до сега, може да се додаваат сервиси и од други веб страници и други веб апликации. Може да се следат и RSS фидови од разни страници при што самиот портал има читач за зачувување и корисникот е во тек со најновите содржини на омилените страници. Дури може и преку POP протоколот да се проверуваат и други мејл профили што е доста згодно, бидејќи ги спојува сите и нема потреба од залудно отварање на многу страници за проверка на поштата на многуте мејл сервери на кои денешниот корисник на интернет има профил.

10.2 Пример за функционирање на семантички веб: Купувањето на Star Wars Trilogy

Како би помогнал семантичкиот веб во првиот пример -- Купувањето на Star Wars Trilogy:

• Секоја веб страна Each site да има текст и слики (кои луѓето ќе можат да ги прочитаат) и мета податоци (кои компјутерите ќе можат да ги прочитаат) опишувајки ги ДВД cd-еата кои можат да се купат на нивната страна. • Метаподатоците, користејќи RDF тројки (структура на тројки-triples) и XML тагови, ќе ги направат сите атрибути на ДВД cd-еата (како условите и цената) да можат да бидат прочитани од страна на машината. • When necessary, businesses would use ontologies to give the computer the vocabulary needed to describe all of these objects and their attributes. The shopping sites could all use the same ontologies, so all of the metadata would be in a common language. • Секој сајт кој што ќе ги продава ДВД cd-еата исто така да користи соодветни мерки за безбедност и енкрипција за да се заштитат информациите на корисникот.

Компјутеризираните апликации или агенти ќе ги прочитаат сите мета податоци најдени на различни веб страни. Апликациите исто така можат да ги споредат информациите, да верифицираат дека изворите на информации се точни и доверливи.

Во следните примери ќе бидат објаснети неколку експертни системи кои меѓусебно се разликуваат по областа за која се наменети, технологиите со кои се имплементирани и начинот на работа. Сите примери се реално применливи.

10.3 Пример на едноставен експертен систем кој препознава монети од 20, 5 и 1 норвешки круни.

Овој едноставен експертен систем треба да препознава монети од 20, 5 и 1 норвешка круна. Целта е да биде претставена работата на експертен систем базиран на правила за одлучување.

Првиот чекор при изработка на експертен систем е идентификација на променливите, односно одредување на влезот за експертниот систем. Во овој случај променливите би биле:

• Големина

• Боја

• Декорација

Откако ќе ги подредиме променливите следно што треба да направиме е да го одредиме опсегот на променливите.

Големина:

Дијаметарот е > 25mm

Дијаметарот е < 25mm

Боја:

Сребрена

Бронзена

Декорација:

Круна

Брод

Лав

Откако ќе завршиме и со овој процес потребно е да се конструираат правила за да се идентификуваат монетите со комбинација од атрибутите. Во овој дел се применува експертското знаење така што експертот ги опишува монетите во нашиот случај и притоа за нив се дефинираат правила според кои ќе се одлучува.

Правила:

АКО ГОЛЕМИНАТА Е > 25 и бојата е бронзена и декорацијата е брод тогаш монетата е 20K

АКО ГОЛЕМИНАТА Е < 25 и бојата е сребрена и декорацијата е круна тогаш монетата е 1K

АКО ГОЛЕМИНАТА Е >25 и бојата е сребрена и декорацијата е лав тогаш монетата е 5K

Овие правила можат да бидат поедноставени за да екстрахираат особини по кои се разликуваат монетите.

АКО ГОЛЕМИНАТА Е > 25 и бојата е бронзена тогаш монетата е 20K

АКО ГОЛЕМИНАТА Е < 25 и бојата е сребрена тогаш монетата е 1K

АКО ГОЛЕМИНАТА Е >25 и бојата е сребрена тогаш монетата е 5K

Ако со сигурност ја знаеме декорацијата на монетите, тогаш со сигурност можеме да ја препознаеме монетата, но доколку не тогаш со помош на претходно дефинираните правила од по две променливи ќе одредиме за каква монета се работи. Ако пак ги имаме сите три променливи на располагање може да вршиме проверка така што на пример ако променливите го задоволуваат правилото: големина > 25 и боја = бронзена, тогаш доколку и декорацијата е брод можеме да бидеме сигурни дека монетата вреди 20К. Во спротивно ќе знаеме дека имаме грешка во влезните податоци.

Кога треба да се справиме со некомплетна информација се користи “фази логика” со цел да се добие одговор со одредена веројатност. Па така за секоја монета може да дефинираме по еден бројач и притоа за секој исполнет услов да ја зголемуваме неговата вредност за еден.

АКО ГОЛЕМИНАТА Е> 25 Тогаш додади 1 на монетата A
АКО ГОЛЕМИНАТА Е< 25 Тогаш додади 1 на монетата B

АКО ГОЛЕМИНАТА Е> 25 Тогаш додади 1 на монетата C
Ако бојата е бронзена тогаш додади 1 на монетата A
Ако бојата е сребрена тогаш додади 1 на монетата B

Ако бојата е сребрена тогаш додади 1 на монетата C
Ако декорацијата е брод тогаш додади 1 на монетата A
Ако декорацијата е круна тогаш додади 1 на монетата B

Ако декорацијата е лав тогаш додади 1 на монетата C
Од овие резултати мoже да бидат одредени фази логика веројатности-

Ако монетата A = 3 Тогаш монетата е a 20K (со фази логика веројатност од 1)
Ако монетата B = 3 Тогаш монетата е a 1K (со фази логика веројатност од 1)

Ако монетата C = 3 Тогаш монетата е a 5K (со фази логика веројатност од 1)
Ако монетата A = 2 Тогаш монетата е веројатно 20K (со фази логика веројатност од 0.7)
Ако монетата B = 2 Тогаш монетата е веројатно 1K (со фази логика веројатност од 0.7)

Ако монетата C = 2 Тогаш монетата е веројатно 1K (со фази логика веројатност од 0.7)

10.4 Microsoft Windows operating system troubleshooting

Microsoft Windows operating system troubleshooting претставува експертен систем кој е вграден во оперативниот систем Windows XP и кој служи за помош при појава на одреден проблем при работата на компјутерскиот систем. Тој претставува типичен пример за експертен систем со ограничени можности. Кога ќе го вклучиме овој систем, имаме повеќе можности за избор на категорија на проблемот. Откако ќе ја најдеме соодветната категорија за помош на екранот се појавуваат одреден број на прашања кои претставуваат влез во системот. Кое прашање ќе се појави следно зависи од одговорот на претходното. Најпрво се појавуваат прашања за лоцирање на проблемот т.е. ако имаме проблем со модемот се појавува прашање за тоа дали модемот е детектиран, дали работат апликациите кои треба да го користат или пак имаме проблем со поврзување на интернет. Следниот чекор односно следното прашање зависи од тоа кој одговор ќе го дадеме на системот. Доколку избереме “модемот не е детектиран” добиваме сугестија да ги провериме каблите и самиот модем, односно дали е добро поврзан како што е наведено во документацијата за модемот. Притоа имаме можност да побараме следно решение за проблемот доколку дадената сугестија не ни е од корист.

Влез во овој систем претставуваат корисничките информации за проблемот кој треба да биде решен. Притоа може да одбереме еден од повеќе понудени одговори. На излез од системот се добиваат сугестии и постапки за решавање на проблемот. Ваквиот систем според начинот на работа е имплементиран со стебло на одлучување. Во зависост од одговорот на поставеното прашање се одлучува кое ќе биде следното поставено.

Како недостатоци на овој систем може да се наведат лимитираноста на влезот (избор од неколку опции) и нискиот степен на интелегенција (доколку постојано одговараме со не, системот ги поставува истите прашања постојано).

10.5 Поправка на кровови-ЕС со невронска мрежа

Системот за поправка на кровови претставува пример на експертен сиситем кој користи невронска мрежа како средство за одлучување. Исто така овој пример е апликација која се користи во дадената област.

Целта на овој систем е да даде предлог за поправање на стари кровови. Притоа апликацијата која треба да го врши тоа треба да работи на преносен уред со ограничени ресурси. Користењето на ваков уред е потребно за да се олесни работата на луѓето кои треба да ја извршат проценката и поправката со тоа што ќе се исфрли хартијата како средство за забележување. Одредувањето на состојбата на кровот може да биде многу сложена работа, особено за кровови кои немаат технички опис. Затоа еден ваков систем може да биде од голема корист.

Овој експертен систем е имплементиран со користење на “фази” невронска мрежа. Притоа експертот задава множество од случаи за кои е познат излезот од системот со цел да се истренира самата мрежа. Ова е потребно бидејќи на почетокот немаме правила според кои системот треба да работи. Множеството со случаи е поделено во однос 3:1 и притоа поголемиот дел се користи за тренирање на мрежата, а останатиот за тестирање.

Секој кров има различни карактеристики, побарувања за одржување и различен степен на абење. Во табелата, која се наоѓа на левата страна, се сместени вредности одредени од страна на експерт кои може да се појават на влез и на излез од системот. Во реални примери често се случува да имаме повеќе од еден коректен резултат од системот. Фази системите имаат способност да одредат кога повеќе од еден резултат е соодветен на дадениот влез. Честопати влезните податоци можат да имаат висок или низок степен на припадност, па затоа како решение може да се искористат лизгачи за да се одреди влезниот податок како што е прикажано на сликата десно.

Како влез во системот се користат податоци за локацијата, профилот, староста на покривот како и податоци карактеристични за одреден покрив. За бетонски покрив, се користат податоци за тоа, колку е кровот израснат и колку е изабен. Локацијата е многу важна бидејќи на различни места имаме различни услови кои влијаат на животниот век. Профилот на кров има исто така важна улога бидејќи различните материјали имаат различни физички карактеристики. Степенот на израснатост и изабеност исто така влијаат на конечниот резултат. Вредно е да се напомене дека користењето на GUI со соодветни контроли ја намалува можноста за правење грешки при внесувањето на податоците, нешто што не е возможно со користење хартија. На сликите подолу се прикажани формите за внесување податоци во системот, како и можноста за добивање излез со повеќе од еден резултат.

[pic]

Како што веќе напоменавме, овој експертен систем е имплементиран со помош на невронска мрежа. Притоа за да се добијат подетални резултати, можно е да се користат различни невронски мрежи за различните типови на кров. Во таков случај архитектурата на невронските мрежи може да осане иста, но сите би имале посебни множества на случаи за тренирање.

10.6 Софтвер за правење распоред

Апликациите кои се наменети за правење распоред претставуваат еден вид на експертни системи кои вршат анализа на серии на податоци со цел да дојдат до посакуваното решение. За пример ќе земеме апликација која треба да генерира распоред за предавања на одреден факултет. Тогаш, влез во системот би биле фондот на часови за секој предмет, расположливите простории и ограничувањата кои би се појавиле. На пример, ако еден професор има повеќе предмети, што е чест случај, тогаш не е можно двата предмета да ги предава во исто време. Слично, студентите кои имаат повеќе предмети, а најголем број имаат, не можат да слушаат повеќе предмети истовремено. Сите овие податоци треба системот да ги анализира и врз база на одредени правила да изгенерира соодветен распоред кој би претставувал излез од системот. Во најголем број на случаи со зададените ограничувања на почетокот не може да се дојде до решение. Во тој случај мора да се направат отстапки кои најчесто се прават според одреден приоритет.

Постојат и агентно базирани експертни системи кои треба да генерираат распоред. Еден таков пример би бил софтвер кој треба да договори состанок. Притоа за секој прековарач постои посебен агент кој треба да преговара. Како влез секој агент ги има временските ограничувања кои треба да ги задоволи конечниот договор и отстапките кои би можеле да се направат. Потоа, агентите комуницираат меѓусебно со цел да го договорат состанокот и секој агент ги брани своите интереси. Доколку има повеќе агенти со заеднички термин за состанокот, истите формираат коалиција и тежнеат кон тоа што повеќе да ја зајакнат (повеќе агенти да бидат во коалиција) со цел да има најголем број агенти кои го поддржуваат нивниот термин. Ова може да биде пресудно, доколку сите заеднички не можат да најдат решение, бидејќи во тој случај како решение се зема терминот кој им одговара на најголем број од агентите.

10.6.1 Football Manager

Football Manager претставува компјутерска игра која во себе содржи експертско знаење од областа на фудбалот. Истата може да ја сметаме и како симулатор на реално натпреварување при што во голем дел од случаите се добиваат релативно реални резултати. Голем дел од самата апликација е дефинирана со помош на XML документи, па според тоа оваа компјутерска игра претставува експертен систем кој користи XML за дефинирање на податоците.

Самата игра е составена од повеќе под-делови т.е. голем број на натпреварувања, тренери, скаути, судии и уште поголем број на играчи. Секој тренер и играч кој учествува во одреден натпревар дирекно влијае на конечниот исход. Општата дефиниција за агент вели дека се она што може да ја восприема околината и да влијае на неа е агент, па според тоа секој тренер и играч може да ги сметаме за посебни агенти. Тие ја восприемаат околината во која “живеат” и дирекно влијаат на исходот на натпреварите со својте одлуки. Оттука може да заклучиме дека Football Manager претставува агентно базиран експертен систем.

Football Manager содржи експертско знаење од голем дел од подобластите на фудбалот како што се правилата на игра (ги применува секој судија во играта при носење на одлуките). Според тоа, дел од оваа компјутерска игра користи експертиза базирана на правила. Исто така, Football Manager содржи експертско знаење од областа на стратегии на игра, развој на играчи, начин на тренирање, однесување на теренот и слично. Секој тренер има свој стил на игра и сите имаат различни карактеристики. Во зависност од карактеристиките, стилот на игра, расположливите играчи и слично, секој тренер ја составува стратегијата со која ќе се спротистави на противникот и ги одбира играчите кои ќе настапат. За да биде ова изведено во самата игра потребно е да се анализираат голем број од претходно споменатите податоци. Оттука може да се заклучи и дека овој експертен систем врши анализи на серии на податоци. Следен пример за анализи на серии на податоци во играта се среќава при развојот на младите играчи. Каков ќе биде развојот на одреден играч зависи од повеќе фактори како што се неговиот талент, тренерите со кои работи, бројот на одиграни натпревари и слично.

Сепак, најголем број на податоци се анализираат при самата симулација на одреден натпревар. За да се добие конечниот исход треба да се направи анализа на формата на противниците, стратегиите со кои настапуваат, играчите кои се наоѓаат на двете страни, позициите на самите играчи, моралот на поединците и на екипата итн. Исто така, говорот на тренерот односно мотивацијата може да го смени текот на натпреварот, па според тоа самата симулација на натпреварот анализира голем број на влезни податоци и во неа учествуваат одреден број на агенти кои влијаат на симулацијата. На излез од неа се добива резултат од симулираниот натпревар.

[pic]

Оваа игра, како и голем дел од останатите, нуди можност за персонализација. Секој корисник може да го измени приказот на податоците на екранот на пример со избор на саканиот скин за апликацијата. Потоа, постои можност за избор дали сакаме да има звуци од играта или не, имаме можност да избереме валута, единица мерка за температура и слично.

10.6.2 MyCin

MyCin е еден од најстарите експерни системи, и е еден од најдобрите т.н школски примери. Се користи за откривање на болести во крвта и препорачуње на лекови според тежината на болниот. Напишан е во програмскиот јазик LISP што значи дека се предно ланчани (со логика нанапред). Работи на доста едноставен интерфејс и има база од 500 правила. Работи под принцип на поставување на долга серија на едноставни да/не прашања. Што значи како влез ги користи одговорите на прашањата. На излез дава листа на можни болести од кој заболела личноста.

MyCin се состои од три подпрограми:

Подпрограмот за консултации кој одлучува кои прашања и по кој редослед ќе се постават,а потоа одговорите ги проследува на влезот за рашавање.

[pic]

Вториот подпрограм е подпрограмот за објаснување кој дава одговор на прашањето “зошто?”.

[pic]

И третиот подпрограм е подпрограмот со кој се искористува знаењето кој се служи со одлучувачки дрва за да одлучи за каква болест станува збор и каков лек да се препише.

[pic]

10.6.3 Legal Robot

Пример за применета експертиза од правното поле во експертен систем кој не се среќава толку често е токму овој.

Постојат два типа на “легални роботи”:

Пасивен кориснички модел тип на робот кој како за влез зема било каков тип на правен документ. Работи на принцип на дедуктивно резонирање и логика со што доаѓа до резултати (разбирање на правни документи и давање на правни совети доклку е потребно). Секој факт кој постои во базата се чува и правната интерпретација e која важна поради повеќезначноста на правните изрази.

Интерактивен кориснички модел тип на робот е покорисниот модел. Ги има сите функционалности на пасивниот плус интерактивниот дел. Интерактивниот дел се содржи во интеракцијата помеѓу системот и полу експертен корисник, секој од нив го прави најдоброто што знае и потоа ја префрла контролата на другиот. Програмата ги контролира овие чекори преку дедукција на последици. Вториот дел од интеракцијата се состои од помагање на системот при вежба на корисникот на своите итерпретациски способности.

10.6.4 LITHAN

Систем кој служи за тополошка класификација на алатки.

Влезниот интерфејс на овој експертен систем е доста едноставен. За влез треба да се даде ширина, должина и дебелина на алатката. За другите и не скалабилните особини (изглед, форма, површина) се бираат еден од шаблоните кои се веќе внесени во базата. На следната слика е претставен неговиот кориснички интерфејс.

[pic]

Некои од шаблоните се дадени во следните неколку слики:

[pic]

Излезниот интерфејс на системот по според внесените информации опишува за каква алатка станува збор.

Овој систем е базиран на правила. Некои правила за одлука за каков објект станува збор се следниве:

BLANK TYPE: if length/width ratio >2 and width -1*0 =0 => a=1

За x1=1 => -1*1 =-1 => a=0

[pic]

Очигледно дека проблемот има повеќе можни решенија, и се сведува на решавање на систем од четири равенки со три непознати.

Равенката на перцептронот е:

w1x1+ w2x2 ≥ t

Според нашиот алгоритам (3,4,2) е едно од можните добри решенија.

Ана логно на примерот погоре, ако сакаме просторно да го воочиме множеството на решенијата, ни треба права која ќе го подели просторот така да точките (0,0) и (1,1) лежат во едната полурамнина, додека точките (0,1) и (1,0) лежат на другата.

Логично е да се заклучи од цртежот дека вакво решение не може да се имплементира. Не може да постои права која ќе го подели просторот на начинот опишан погоре. Во литературата, овој проблем е познат како Exclusive OR Проблем.

Воведен од Мински и Паперт во 1969, овој проблем предизвикува застој во истражувачката работа и интересот за вештачките невронски мрежи.

За специфичниот проблем, геометриско е прикажано дека со воведување на дополнителен скриен слој, проширувајќи ја мрежата во перцептрон на повеќе нивоа, проблемот може да се реши.

Слика 10. Приказ на зависност на рата на грешки, број на примероци, рата на учење

Целта е да се постигне асихнроно ажурирање на активационите вресности на јазлите.

Системот се стреми да стигне во т.н. стабилна состојба каде ажурирањата на врските се соодветни за проблематиката која ја решава системот.

Similar Documents

Free Essay

Selex Galileo

...Selex Galileo: A Leader in Defense Systems Amber Tucker Embry Riddle Aeronautical University Managerial Accounting-MGMT 517 Abstract A look inside an Italian-based, leading global defense company reveals roots dating back to discoveries made by the famous, Galileo Galilei in the 1500s. The introduction of the telescope along with the realization of Jupiter’s satellites, and speed of falling objects have been the backbone of Selex Galileo. The company exhibits a strong willingness to work alongside competitors to maintain global defense measures. The staggering 17% commitment of revenue to Research and Development make Selex Galileo a company that maintains flexibility and innovation throughout changing times and demands. Company profits of 2014 are probably well above the 2011 revenues that totaled over 3.5 billion Euros. With an ever-decreasing military budget, Selex Galileo is finding ways to continue its strides and success. Backdrop In the teachings of astronomy, “Galileo” is credited as the Italian astronomer and mathematician that first used a telescope to study the stars. This leap in science occurred during his lifetime, 1564-1642. He has also been credited with discovering that different weights will descend at the same rate. He perfected the refracting telescope during his lifetime. The perfecting of the telescope led to his discovery of Jupiter’s satellites, sunspots, and craters on the Earth’s moon. Because of Galileo Galilei’s advances in the area...

Words: 3117 - Pages: 13