Експертски системи

Блок шема експертског система

Експертски системи су интелигентни рачунарски програми којима се емулира решавање проблема на начин на који то чине експерти и представљају једну од најзначајнијих области истраживања вештачке интелигенције. Експертски системи решавају реалне проблеме из различитих области, који би иначе захтевали људску експертизу. Циљ је да увек рачунарски програм даје коректне одговоре, у датој области, не лошије од експерта, али је то тешко достижно. Зато се поставља мање амбициозан циљ, тражи се да систем пружи помоћ у одлучивању. Експертски системи су од највеће помоћи за организације које имају висок ниво искуства и знања у директном и правилном решавању проблема које је тешко пренети на друге чланове те исте организације или на неког трећег. Такви су системи пројектовани за лакше „преношење интелигенције“, знања и информација које поседују стручњаци према другим члановима организације у сврху решавања проблема. Експертски системи су били међу првим истинским успешним обликом софтвера вештачке интелигенције.

Експертски системи као најзаступљеније подручје вештачке интелигенције дефинишу се на различите начине, један од најједноставнијих дефиниција је према Јожефу Штефану, Љубљана): „Експертски системи опонашају знање експерта“.

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

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

Експерт и експертски системи

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

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

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

Помоћ у одлучивању је неопходна због:

  • Великог броја информација, које треба обрадити и
  • Захтева да се одлуке доносе у реалном времену.

Компоненте експертских система

Како eкспертски системи раде

Експертски системи имају компоненте:

  • база знања,
  • механизам закључивања и
  • управљачки механизам.

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

Елементи ескпертских система су поред базе знања, механизам закључивања, радна меморија, интерфејс према кориснику, помоћни модул, подсистеми за прикупљање знања, посебни интерфејси и систем за објашњења.

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

Развој експертских система

Експертске системе развија тим стручњака:

  • Експерт је особа која има знање, вештине и искуства на којима решава проблеме одређеног домена боље и ефикасније од других људи.
  • Инжењер је особа која пројектује, имплементације и проверу експертског система. Он зна који је софтверски алат одговарајући за решавање проблема дефинисања, интервуисања експерта, идентификују концепта, организују и формализацију знања које се представља, идентификују метода, врши избор софтверског окружења за развој, имплементира, испитије и ревидира, инсталира и одржава експертски систем.
  • Крајњи корисник је особа која ради са експертским системом, то је његов алат за рад са интелигентним карактеристикама. Преко интерфејса уноси захтеве, податке, чињенице и захтева објашњења.

Софтверска архитектура

Експертски систем је пример „паметног“ система заснованог на знању. Први комерцијални експертски системи су такође користили архитектуру знања. Систем заснован на знању се у суштини састоји од два главна подсистема: базе знања и механизма закључивања.

База знања представља чињенице о свету. У раним експертским системима, као што су Муцин (ен. Mycin) и Денрал (ен. Dendral), чињенице су представљене првенствено као равне тврдње о променама. У каснијим експертским системима развијеним са комерцијалним љуским базама знања су више уређена користећи концепте из објектно оријентисаног програмирања. Свет је сређено представљен по класама, подкласама и појавама, а тврдње су замењене чињеницама објектних случајева.

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

Постоје два начина за закључак механизма: уланчавањем унапред и уназад. Различити приступ диктира да ли механизам закључивања се води с леве стране или с десној стране управљања. Уланчавање унапред је предходница покретања, а последична је потврда.

На пример, размотрањем следећег правила: 

Једноставан је случај овог предходног примера, ако се предњим уланчавањем тврди Man (Сократ) на систему, а затим се покрене механизам закључивања. Било би подударно правило R1 и тврдња, у бази знања, ''Mortal (Сократ)'' (Сократ је смртан).

Уланчавање уназад је мало мање директно од унапред. Уланчавањем система уназад гледају се могући закључци да би се утврдило да ли може неки закључак бити истинит. Дакле, ако систем покушава да утврди да ли је Mortal (Сократ) истина, тако што ће наћи R1 питајући базу знања да ли је истина да је Сократ био човек. Један од раних иновација експертских система интеграцијом механизма закључивања са корисничким интерфејсом. Ово може бити посебно ефикасно са уланчавањем уназад. Ако систем треба да зна одређену чињеницу, једноставније је да генерише улазни екран и пита корисника да ли је информација позната. Дакле, у овом примеру, може се користити R1 да пита корисника да ли је Сократ био човек, а затим у складу са тим користи се та нова добијена информација у функцији закључивања.

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

Остварене предности

Циљ је да експертски системзаснован на знању, направи кључне информације потребне за свој експлицитни рад, уместо имплицитни. У традиционалном компјутерском програму логика је уграђена у код који се обично може преиспитати од стране информационих технологија. Неопходно да се прецизирају правила у формату која су интуитивна и лако разумљива, прегледна, па чак да их уређују експерти, а не стручњаци информационих технологија. Користећи ове експлицитне репрезентације знања остварује се брзи развој и лакоћа одржавања.

Једноставност одржавања је најочигледнија корист. Ово је постигнуто на два начина. Прво, уклањањем потребе да се напише конвенционални код многих нормалних проблема који могу бити проузроковани чак и малим променама у систему, што се може избећи са експертским системима. У суштини, логичан ток програма (барем на највишем нивоу) је намењен за систем, једноставно се позива на механизам закључка. Ово је такође разлог за другу корист: брзу израду прототипова. Експертском системом је могуће ући у коришћење више правила, за што је лако развити прототип за неколико дана, а не за више месеци или година, карактеристично повезано са комплексним пројектима информационих технологија.

Захтев за ефикасан експертски систем, који је често подешен да уклони потребу за обученим програмерима и да стручњаци могу развити системе сами. У стварности то је ретка таква пракса. Док су правила за експертски систем јаснија него за типични компјутерски код, имају још увек формалне синтаксе, где се изостављајући зарез или неки други знак изазове хаос као и код сваког другог рачунарског језика. Поред тога што се експертски системи при преласку од прототипског стандарда у лабораторију за распоређивање у пословни свет, питања његове интеграције и одржавања постају далеко критичнија. Неминовно захтева се да се интегришу и искористе са великом базом података и насљеђа настала од других система. Да би та интеграција била успешна потребне су исте вештине као и за сваки други вид реализације система.

Примена

Хејс-Рот (ен. Hayes-Roth) дели примену експертских система у 10 категорија илустрованих у наредној табели. Примери примене нису извоени Хејс-Ротови, неки су додати доста касније. Свака примена која није са фуснотом је описана у његовој књизи. Такође, док ове категорије дају интуитивни оквир за описивање простора примене експертских система, то нису круте категорије, а у неким случајевима примена може да покаже карактеристике више од једне категорије.

Категорије примене експертских система
КатегоријаАдресирани проблемПримери
Тумачење Доношење закључка о ситуацији описа из података сензора. Препознавање говора
Предвиђање Доношење закључка o вероватним последицам у датим ситуацијама. Превентивна процена ризика.
Дијагноза Доношење закључка о мерљивим неправилностима система у раду. CADUCEUS, MYCIN, PUFF, Мистрал (ен. Mistral), Еиденет (ен. Eydenet), Калеидос (ен. Kaleidos).
Пројекат Конфигурације објеката под ограничењима. Дендрал (ен. Dendral), експертски системи за хипотекарни кредит, R1 (Dec Vax конфигурација).
Планирање Пројектовање акције Планирање мисија експертских система за аутономно подводно возило.
Надгледање Упоређујући запажања о рањивости плана REACTOR
Отклањање грешака Обезбјеђивање постепених решења за комплексне проблеме. SAINT, MATLAB, MACSYMA
Поправка Извршни план за предузимање прописаних радњи. Отровне течности, решавање криза.
Инструкција Дијагностиковање, процене, поправљање и понашање ученика. SMH.PAL, Интелигентна клинички обука, STEAMER.
Контрола Тумачење, предвиђајуће, поправка, и праћење понашања система. Контрола процеса у реалном времену, Управљање мисијом васионског брода.

Рани покушај је био препознавање гласа помоћу експертског система. У највећем делу ова категорија или експертски системи нису све то могли савршено постићи. Интерпретација гласа експертским системом у суштини тражи препознавање облик образаца о подацима буке. У случају гласа је проблем његовог препознавања технологијом звука. Други рани примери су анализирање података сонара за откривање руске подморнице. Овакви системи су показали да су много више у домену система неуронских мрежа.

Познатији експертски системи у примени

  • Simptomus — отворена услуга за дијагностику обољења. Пацијенти изложи присутне симптоме а експертски систем Simptomus приказује листу могућих дијагноза.
  • CLIPS — веома популаран експертски систем за омотаче зграде
  • OpenCyc — моћан динамички глобални експертски систем, онтолошки модел и подршка за независне контексте
  • WolframAlpha — база знања и скуп нумеричких алгоритама, интелигентни механизан закључивања
  • MYCIN — најпознатијi дијагностички систем, који је намењен за дијагнозу и праћење пацијенaта оболелих од менингитиса и бактеријских инфекција.
  • HASP/SIAP — идентификациони систем који одређује локацију и врсту пловила у Пацифику, у складу са звучним праћењем.
  • Акинатор — интернет-игра. Играч мора погодити било који знак, а Акинатор мора погодити постављањем питања. База знања се аутоматски ажурира, тако да програм може погодити скоро сваки познати знак.
  • IBM Watson — суперрачуна компаније IBM, способан да разуме питања постављена у природном језику, а да нађе одговоре у бази података.

Види још

  • Вештачка интелигенција
  • Информациони систем>
  • Неуронске мреже

Извори