Konspektai

Dirbtinio intelekto teorija

9.2   (3 atsiliepimai)
Dirbtinio intelekto teorija 1 puslapis
Dirbtinio intelekto teorija 2 puslapis
Dirbtinio intelekto teorija 3 puslapis
Dirbtinio intelekto teorija 4 puslapis
Dirbtinio intelekto teorija 5 puslapis
Dirbtinio intelekto teorija 6 puslapis
Dirbtinio intelekto teorija 7 puslapis
Dirbtinio intelekto teorija 8 puslapis
Dirbtinio intelekto teorija 9 puslapis
Dirbtinio intelekto teorija 10 puslapis
Dirbtinio intelekto teorija 11 puslapis
Dirbtinio intelekto teorija 12 puslapis
Dirbtinio intelekto teorija 13 puslapis
Dirbtinio intelekto teorija 14 puslapis
Dirbtinio intelekto teorija 15 puslapis
Dirbtinio intelekto teorija 16 puslapis
Dirbtinio intelekto teorija 17 puslapis
Dirbtinio intelekto teorija 18 puslapis
Dirbtinio intelekto teorija 19 puslapis
Dirbtinio intelekto teorija 20 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

Terminas distancinis mokymas (angliškai tai yra "distance learning") apibrėžia naujas mokymosi ir mokymo galimybes, kurias mums suteikia telekomunikacijų technologijų, kompiuterių ir jų tinklų apjungimas. Distancinis mokymas apibūdina būdus, kuriais žmonės perduoda, kaupia ir gauna informaciją panaudodami kompiuterius ir jų tinklus. Distancinis mokymas leidžia siusti ir gauti laiškus elektroniniu paštu, bendrauti studentui su studentu ir studentui su dėstytoju ne tik tame pačiame universitete, bet ir visame pasaulyje. Tai leidžia sujungti universitetus į vieną "virtualų" universitetą. Distancinis mokymas keičia mokymo technologijas: a) apibrėžia naujas technologijas, kurios leidžia klasėse naudoti platesnes bendravimo metodologijas; b) skatina mokytojus skirti daugiau dėmesio mokymo planui. Distancinio mokymo aspektai: a) galima mokytis įvairiose vietose: namuose, darbe, klasėje; b) skatina studentus mokytis patiems; c) dauguma informacijos yra teksto formos, todėl daugelis žmoniu gali ja naudotis; d) galimybė bendrauti su panašiai mastančiais visame pasaulyje; e) galimybė keistis idėjomis ir patirtimi. Distancinio mokymo šakos: a) Konferencijos - tai elektroninis pastas (e-mail), kompiuteriniai pokalbiai, didelės ir mažos diskusijų grupės. b) Duomenų esančių duomenų saugyklose naudojimas - tai bibliotekų vieši katalogai , priėjimas prie duomenų bazių, programų ir duomenų archyvų (archyvų, kuriuose saugomi paveiksliukai, muzikiniai įrašai, tekstai, filmai ir panašiai), įvairios informacinės sistemos ir informacijos menedžeriai . c) Kompiuterinis mokymas - tai informacijos pateikimas ir rezultatų apdorojimas. Šios trys šakos apima tokias kryptis: 1) patarimas ir vadovavimas studentams 2) įvairių projektų įgyvendinimas, klasės, bendruomenės, tautos ar tarptautinių problemų bendras sprendimas 3) dėstytojų iš įvairių vietų kvietimas. Tai padeda studentams bendrauti su platesne visuomenės dalimi 4) pamokomasis mokymas, t. y. įvairios medžiagos susijusios su mokymo kursu pateikimas. 5) informacijos iš įvairių duomenų bankų paėmimas 6) mokymo kurso valdymas (patarimas, kurso medžiagos padalinimas, kurso skaitymas, darbų surinkimas ir gražinimas) 7) viešos konferencijos (tai diskusijų grupės, kurios naudojasi Listserv priemonėmis) 8) pokalbiai naudojant kompiuterį tarp dėstitojų ir studentų 9) personalinis kompiuterinio tinklo naudojimas ieškant žmonių ar jų grupių su panašiais interesais 10) bendradarbiavimo palengvinimas 11) individualus ar grupines pristatymas 12) lygiateisė darbų apžvalga, apsvarstymas, mokymasis 13) mokymasis ir taikymas technologijų, kurios yra labai svarbios šiandienės visuomenėje 14) kompiuterinis mokymasis (įvairūs pratimai, tęstai ir pan.) Distancinio mokymo dėstytojai sutelkia dėmesį į tokias pažiūras: a) yra skirtingi mokymo stiliai; b) studentai susidaro savo asmenine nuomonę apie naujus dalykus; c) svarbu yra studentus paskatinti, kad jie patys siektų mokslo. Distancinis mokymas leidžia studentui pačiam pasirinkti mokymosi stilių. Jis pats gali susirasti informaciją pateikta taip, kaip jam yra patogiau: tekstiniu, grafiniu ar video pavidale. Studentas gali susirasti papildomos, jį dominančios informacijos. Distancinis mokymas paskatins tolima bendradarbiavimą tarp studentų ir sujungs įvairių sričių specialistus. Visus distancinio mokymo produktus galima suskirstyti į tokias grupes: a) kai studentas mokosi pats vienas. Šiai grupei priklauso įvairūs duomenų bankai, žurnalai, įvairių programų bibliotekos ir pan. b) kai studentas mokosi bendraudamas su kokiu nors vienu asmeniu. Jie gali keistis žiniomis, klausimais ir patyrimu. c) kai studentas klausosi paskaitų iš įvairių vietų, bet jis jose nedalyvauja. b) d) kai studentas gali aktyviai dalyvauti diskusijose. Tai tokios technologijos, kaip debatai, diskusijų grupės, "smegenų šturmas", projekto grupė ir pan. Distancinio mokymo pavyzdžiai. I pvz. Distanciniame mokyme gali būti panaudotas elektroninis paštas (E-mail). Per elektroninį paštą studentai gali bendrauti tarpusavyje, su dėstytojais, su ekspertais ir pan. Jie gali prisijungti prie diskusijų grupių, kuriose diskutuoja asmenys, kurie domisi ir sprendžia specifines problemas. II pvz. Buvo nutarta atlikti bandymą, kuris turėjo parodyti, kaip studentai bendrauja tarpusavyje ir su dėstytoju. Dvi grupes naudojo tradicines bendravimo priemones (pokalbiai, popierius, telefonas), o kitos dvi grupes naudojo tradicines priemones ir kartu įvairias elektronines priemones (elektroninis paštas ir pan.). Rezultatai buvo stebimi du kartus: po šešiu menesių ir gale semestro. Rezultatai parodė, kad dėstytojai bendrauja su studentais daugiau tose grupėse, kurios naudojo elektronines priemones. Šiose grupėse dėstytojai bendravimui naudojo daugiau elektronines priemones negu įprastas. Taip pat buvo pastebėta, kad dėstytojai daugiau bendrauja su mažiau sugebančiais studentais negu su daugiau sugebančiais studentais ir, kad mažiau sugebantys studentai daugiau bendrauja su kitais studentais. III pvz. Kitas distancinio mokimo projektas buvo sujungti dvi studentų grupes, kuriose buvo studentai su klausos sutrikimais. Distancinis mokymas jiems padėjo bendrauti su visais žmonėmis. Dirbtinis intelektas Dirbtinis intelektas (DI) - programinė sistema, imituojanti žmogaus mąstymą kompiuteryje. Tokios sistemos sukūrimui yra būtina išanalizuoti žmogaus, sprendžiančio tam tikrus uždavinius arba priimančio sprendimus tam tikroje srityje, mąstymą, išskirti pagrindinius šio proceso etapus ir sukurti programas, imituojančias šį procesą kompiuteryje. DI metodai supaprastina programų sujungimą ir leidžia suteikti dirbtinio intelekto sistemai galimybę mokyti pačią save bei kaupti naują informaciją, kuri bus naudinga ateityje. DI programos turi ypatingą savybę, būdingą ir žmogiškajam intelektui, - bet kokios informacijos dalies pasikeitimas neturi įtakos visos programos struktūrai. Toks lankstumas suteikia programavimo procesui didesnį efektyvumą, leidžia sukurti programas, galinčias “suprasti”, t.y. turinčias proto bruožų. Dirbtinis intelektas remiasi žiniomis apie žmogaus mąstymo procesą. Aišku, nėra tiksliai žinoma, kaip veikia žmogaus smegenys, bet turimų žinių pakanka DI programų kūrimui. Tikslai. Tikslu vadinamas galutinis rezultatas, į kurį nukreiptas žmogaus mąstymo procesas. Pavyzdžiui, žadintuvas, vonia, pusryčiai, išėjimas iš namų ir t.t.. Galutinis tikslas- laiku ateiti į darbą. Kiekvienas žingsnis kelyje į galutinį tikslą turi savo lokalinį tikslą. Tikslas verčia žmogų mąstyti. Faktai ir taisyklės Žmogaus smegenys - didžiulė žinių saugykla. Žmogui būdinga kaupti naujas žinias ir taikyti jas įvairiose situacijose. Aplamai intelektą galima būtų apibūdinti kaip visumą faktų ir jų taikymo būdų tikslui pasiekti. Tikslai pasiekiami visų žinomų faktų taikymo taisyklių pagalba. Štai keletas faktų ir jų taikymo taisyklių: 1 pvz. Faktas: įjungta viryklė karšta. Taisyklė: jeigu uždėsime ranką ant įjungtos viryklės, galime nusideginti. 2 pvz. Faktas: piko valandomis gatvėse daug automobilių. Taisyklė: jeigu bandysime piko valandomis pereiti gatvę, galime pakliūti po mašina. 3 pvz. Faktas : už lango lyja. Taisyklė: jeigu ruošiamės eiti į gatvę ir nenorime sušlapti, reikia pasiimti skėtį. 4 pvz. 1 faktas: tamsios, siauros gatvės - pavojingos. 2 faktas: seni žmonės paprastai nedaro sunkių nusikaltimų. 3 faktas: policija gina žmones nuo nusikaltėlių. 1 taisyklė: jeigu siauroje, tamsioje gatvėje sutiksime seną žmogų, nerimauti neverta. 2 taisyklė: jeigu siauroje, tamsioje gatvėje matote policininką, galite jaustis saugiai. Supaprastinimas Žmogaus smegenys, sprendžiant netgi paprastą uždavinį, disponuoja labai dideliu kiekiu informacijos. Pvz. Einant į darbą, žmogui reikia pereiti gatvę. Kol jis renkasi momentą perėjimui per gatvę, smegenys analizuoja: 1. transporto kiekį ir greitį, 2. atstumą iki priešingo šaligatvio, 3. šviesoforo signalą ir t.t. Tuo pačiu smegenys apdoroja įspūdžius, neturinčius tiesiogiai nieko bendro su perėjimu per gatvę, pvz. koks gražus oras, namų architektūra, pravažiuojančių mašinų modeliai ir spalvos, pažįstami veidai ir kiti rūpesčiai. Jeigu žmogus analizuotų visus faktus, jis prastovėtų ant šaligatvio keletą metų. Kaip greit žmogaus smegenys išskiria faktus ir taisykles, tinkančias tik konkrečiai situacijai? Tokia faktų bei taisyklių atranka vadinama supaprastinimu. Šis mechanizmas blokuoja mintis, neturinčias nieko bendro su šiuo momentu sprendžiamu uždaviniu. Žiūrėti: 1 pav.Supaprastinimo mechanizmo veikimas Supaprastinimo mechanizmas nukreipia žmogaus mintis reikiama linkme, be jo gyvenimas būtų neįmanomas. Išvedimo mechanizmas Siekdamas tikslo, žmogus ne tik sprendžia konkrečius uždavinius, bet ir gauna naujų žinių. Pvz. Jonas ir Ona - Tomo tėvai. Jonas ir Ona - Rūtos tėvai. Tikslas - nustatyti, koks ryšys yra tarp Tomo ir Rūtos. Supaprastinimo mechanizmas priverčia žmogų pasinaudoti taisykle: JEI berniuko ir mergaitės tie patys tėvai, TAI berniukas ir mergaitė yra brolis ir sesuo. Tikslas pasiektas. Atsakymas pasiektas, pasinaudojus jau žinoma taisykle. Be to , gautas naujas faktas: Tomas ir Rūta - brolis ir sesuo. Intelekto dalis, kuri padeda gauti naujus faktus, vadinama išvedimo mechanizmu. Būtent išvedimo mechanizmas leidžia žmogui mokytis iš savo patirties, nes jo pagalba iš jau egzistuojančių faktų generuojami nauji, taikant turimas žinias naujoje situacijoje. Reziume: Pagrindinės aukščiau išdėstytos idėjos bus naudojamos, aptariant dirbtinio intelekto sistemų sukūrimą. 1. Tikslas priverčia žmogų mąstyti. 2. Žmogaus smegenys saugo daugybę faktų ir jų taikymo taisyklių. Tikslo pasiekimui reikia tik parinkti reikalingus faktus ir taisykles. 3. Supaprastinimo mechanizmas greitai ir efektyviai išrenka faktus ir taisykles, reikalingus artimiausio tikslo pasiekimui. 4. Išvedimo mechanizmas užbaigia mąstymo procesą, pateikdamas išvadą (rezultatą, atsakymą), gautą remiantis taisyklėmis, atrinktomis supaprastinimo metu bei generuodamas naujus faktus, kurie papildo žmogaus žinias. Dirbtinio intelekto sistemų projektavimas. Tikslų parinkimas Dirbtinio intelekto programinė sistema turi turėti visus elementus, kurie sudaro žmogaus sprendimų priėmimo procesą - tikslus, faktus, taisykles, supaprastinimo bei išvedimo mechanizmus. Pagrindinės tokių sistemų komponentės parodytos 1pav. Pagrindinis bruožas, kuriuo DI sistemos skiriasi nuo tradicinių programinių sistemų yra tas, kad atskiros DI sistemos komponentės yra kuriamos atskirai ir bet kurios iš jų modifikavimas nepaliečia bendros struktūros. Todėl galima išskirti žmogaus, sprendžiančio uždavinį, mąstymo proceso dedamąsias ir įjungti jas į DI sistemą. Nustačius, kaip mąsto žmogus kiekvienoje sprendimo priėmimo proceso stadijoje, į programą galima įjungti bloką, realizuojantį analogiškus veiksmus. Žiūrėti: 2 pav. DI sistemos komponentės Tikslų parinkimas Projektuojant DI sistemas, visų pirma turi būti suformuluoti tikslai. Pradedant rašyti programą, skirtą kokio nors uždavinio sprendimui, reikia žinoti, kokiai klasei priklauso šis uždavinys ir mokėti aprašyti jį reikalingais terminais. 1 pvz. Tarkim, žmogus, einantis į darbą, greit ir saugiai perėjo gatvę. Stovėdamas autobusų stotelėje, jis per keletą sekundžių turi nuspręsti: ar laukti ekspreso, ar paeiti dar pusę kvartalo, kur sustoja paprastas autobusas, kuriuo tam tikromis aplinkybėmis galima nuvykti greičiau. Tikslas - pasirinkti autobusą. 2 pvz. Tikslas - nustatyti, ar sunkiai vaikas įsisavina aritmetikos žinias. Šį tikslą galima išskaidyti į lokalinius tikslus, įvertinančius vaiko žinias, įsisavinant atskirus aritmetikos skyrius, ir suformuluoti taip: Ar sunkiai VAIKAS įsisavina SUDĖTĮ Ar sunkiai VAIKAS įsisavina ATIMTĮ Ar sunkiai VAIKAS įsisavina DAUGYBĄ Čia VAIKAS - kintamasis, įvestas dėl bendrumo. Sprendžiant konkretų uždavinį, jam priskiriama reikšmė, pvz. VAIKAS=Tomas Butkus. Kai kintamajam suteikta reikšmė, jis vadinamas inicializuotu. Dabar tikslas- nustatyti, kaip sekasi aritmetika Tomui Butkui. Faktų nustatymas. Duomenų gavimas Faktai - svarbi DI sistemų dalis, be kurios tikslas negali būti pasiektas. Kiekvienam tikslui - savi faktai. Pvz. Lokalinis tikslas - nustatyti, ar sunkiai VAIKAS įsisavina ATIMTĮ? Atimtis reikalauja tam tikrų matematinių įgūdžių. Jie ir yra tie faktai, kurie tikrinami, siekiant tikslo. Atlikdamas atimties veiksmus, VAIKAS turi mokėti: 1. Atimti skaičius be perkėlimo. (2) 2. Atimti skaičius su perkėlimu viename stulpelyje. (1) 3. Atimti skaičius su perkėlimu keliuose stulpeliuose. (1) Skaičiai (2), (1), (1) rodo santykinį faktų svarbumą - svorį , įvertinant sunkumus, įsisavinant aritmetiką. Čia galima įžvelgti analogiją su paprastais testais, kur vieni klausimai svarbesni už kitus. Kuo didesnis fakto svoris, tuo didesnę reikšmę šis faktas turi sprendžiant uždavinį. Duomenų gavimas Po to, kai nustatyti bendri faktai, būtini tikslo pasiekimui, reikia gauti konkrečius duomenis ir priskirti reikšmes kintamiesiems. Tai yra, iš pradžių nustatomi įgūdžiai, reikalingi atliekant atimties veiksmus, o po to - reikalingi duomenys apie šiuos įgūdžius, būtent, Tomo Butkaus duomenys. Faktus reikia pateikti klausimu tokia forma: 1) Ar moka VAIKAS atimti skaičius be perkėlimo? 2) Ar moka VAIKAS atimti skaičius su perkėlimu viename stulpelyje? 3) Ar moka VAIKAS atimti skaičius su perkėlimu dviejuose stulpeliuose? Jei programa atsakymus (taip/ne) priskirs kintamiesiems s1 , s2 , s3 , tai faktai turės konkrečias reikšmes, t.y. jie taps duomenimis, kurie bus įtraukti į duomenų bazę ir juos galima bus naudoti, įvertinant Tomo Butkaus aritmetikos žinias. Programa turėtų formuoti tokį dialogą: Įveskite vaiko vardą TOMAS Ar moka TOMAS atimti skaičius be perkelimo? taip Ar moka TOMAS atimti skaičius su perkėlimu viename stulpelyje? ne Ar moka TOMAS atimti skaičius su perkėlimu keliuose stulpeliuose? ne Dabar visi inicializuoti kintamieji tampa duomenų bazės dalimi: VAIKAS s1(2) s2(1) s3(1) TOMAS Taip Ne ne Atsakymas 'ne' reiškia įgūdžių neturėjimą, o atsakymas 'taip' - kad šie įgūdžiai yra. Susumavus faktų svorius, atitinkančius neigiamus atsakymus, galima sužinoti su kokiais sunkumais susiduria TOMAS, įsisavindamas atimtį. s1(2) taip 0 s2(1) ne 1 s3(1) ne 1 _____________________ BENDRAS SVORIS = 2 Taisyklės ir išvados Žinomi faktai taikomi tam tikroje situacijoje pagal taisykles. Taisyklės DI sistemoje padeda teisingai įvertinti duomenis ir pasiekti tikslą. Pvz. JEI bendras svorio faktorius >1, TAI vaikas sunkiai įsisavina atimtį Taigi, 2>1 , todėl TOMAS turi sunkumų su atimtimi. Taisyklė leido praktiškai panaudoti sukauptus duomenis. Programuojant, vietoje taisyklės formulavimo, galima pasinaudoti faktais, apimančiais visus galimus variantus, prie kurių bendras svoris (b.s.) didesnis už 1. Taigi VAIKAS nemoka atlikinėti atimties veiksmų, jeigu: 1. (s1= ne) IR (s2= taip) IR (s3= taip) b.s=2 2. (s1= ne) ir (s2= taip) ir (s3= ne) b.s.=3 3. (s1= ne) (s2= ne) (s3= taip) b.s.=3 4. (s1= ne) (s2= ne) (s3= ne) b.s.=4 5. (s1= taip) (s2= ne) (s3= ne) b.s.=2 Matome, kad paprasčiau užprogramuoti vieną taisyklę, įvertinančią visus faktus, negu keletą atskirų faktų. Jei nebūtų taisyklių, reikėtų be galo ilgai perrinkinėti daugybę faktų ir duomenų. Taigi, programos sudarymas susideda iš: 1. Tikslų nustatymo. 2. Faktų, reikalingų tikslui pasiekti, nustatymo. 3. Duomenų, reikalingų atitinkamiems faktams duotoje situacijoje, gavimo. 4. Duomenų įvertinimo, naudojant taisykles ir išvedimo mechanizmą. Toks tikslo siekimo procesas vadinamas tiesiogine samprotavimų grandine, t.y. grandine nuo duomenų iki logiškų išvadų. Tikslų verifikavimas išvedimo mechanizmo pagalba. Supaprastinimas Aptarsime pavyzdį, iliustruojantį išvadų patikrinimą. Tarkime, įvykdytas nusikaltimas: bute rastas žmogaus lavonas su trimis kulkų žymėmis. Medicinos ekspertas pagal žaizdų vaizdą (supaprastinimas) nustatė, kad tai - žmogžudystė. Policija pradeda tyrimą: kas turėjo raktus nuo buto? Apklausus kaimynus, paaiškėja: auka turėjo draugą, kuris dažnai naudojosi butu. Draugai neseniai susipyko. Apklaususi liudininkus, policija padarė išvadą, kad nukentėjusiojo draugas gali būti ieškomas žmogžudys (tiesioginė samprotavimų grandinė). Išvada gauta, bet užbaigimui reikalingi nepaneigiami įkalčiai. Galimybę areštuoti nusikaltėlį suteiktų ginklo radimas. Policija gauna leidimą kratai. Buto krata nevaisinga. Pagaliau ginklas randamas gretimo skersgatvio šiukšlių dėžėje. Pirštų antspaudų tyrimas, balistiniai eksperimentai (ar būtent iš šio ginklo nušautas žmogus) patvirtina išvadą. Nusikaltimas išaiškintas. Gaudami naujus duomenis (ginklas, pirštų antspaudai, balistinė ekspertizė) ir tikrindami, ar jie suderinami su anksčiau gauta išvada, policininkai verifikavo tikslą-žudiko identifikaciją. Procesas, kuriame išvada naudojama ją patvirtinančių duomenų paieškai, vadinamas atvirkštine sanprotavimų gandine. DI sistemoje tikslas verifikuojamas anologiškai. Ar tikrai TOMAS sunkiai įsisavina atimtį? Tikslas pasiektas, bet kad būtų patikrintas jo teisigumas, reikia vėl išanalizuoti uždavinį su duomenimis ir taisyklėmis. JEI už atimties uždavinį VAIKAS gavo žemiausią įvertinimą TAI bendras svorio faktorius bus didesnis už 1. Tikslo verifikavimui, t.y. išvados, kad vaikas turi sunkumų, atlikdamas atimties veiksmus, patvirtinimui, reikia patikrinti, ar tikrai jis gavo žemiausią įvertinimą už atimties uždavinio sprendimą. Taigi, atvirkštinė samprotavimų grandinė grandinė veda priešinga kryptimi, negu tiesioginė -nuo išvadų prie duomenų. Atvirkštinė samprotavimų grandinė atsiranda tada, kai tikslas pasiektas. Žiūrėti: 3 pav. DI sistemos konfigūracija ir veikimas Supaprastinimas Supaprastinimo mechanizmas programoje leidžia kompiuteriui praleisti arba apdoroti kokią nors duomenų dalį žinių bazėje, priklausomai nuo tų duomenų svarbumo, siekiant tikslo. Pavyzdžiui, jei TOMAS gavo labai gerą pažymį už atimtį, tai supaprastinimo mechanizmas praleis informaciją, reigalingą atimties žinių patikrinimui ir atvirkščiai. Toks būdas leidžia neanalizuoti kelių, kurie neveda į tikslą . Supaprastinimo mechanizmas gali būti realizuotas taisyklių pagalba. Mūsų pavyzdžiui: JEI pažymys už atimtį viršija ribinį faktorių dviem, TAI nereikia vertinti ( tikrinti ) atimties žinių . Ekspertinės sistemos. Euristinės taisyklės Dirbtinio intelekto sistema tikslo pasiekimui naudojo, kaip buvo parodyta aukščiau, taisykles, faktus, išvedimo bei supaprastinimo mechanizmus. Konkrečios žmogiškos veiklos sferos, kuriose gali būti taikomos dirbtinio intelekto sistemos, vadinamos dalykinėmis sritimis. Tokių sričių pavyzdžiais gali būti autobuso maršruto parinkimas arba mokymo efektyvumo įvertinimas. Neįmanoma sukurti vienos DI sistemos, apimančios visas sritis.Visų pirma, tam reikėtų be galo daug faktų ir taisyklių. Esant šiuolaikinėms techninėms galimybėms, tenka apsiriboti tokiomis probleminėmis sritimis, kuriose reikalingą informacijos kiekį įmanoma apdoroti programomis. Taigi, praktiniais sumetimais, darbui reikia pasirinkti problemines sritis, kuriose informaciją įmanoma suvaldyti. Dirbtinio intelekto sistema, sukurta konkrečios probleminės srities uždavinių sprendimui, vadinama ekspertine sistema. Žinių, reikalingų ekspertinės sistemos (ES) užpildymui, šaltinis- atitinkamos srities ekspertai. Euristinės taisyklės Tarkime, surinkta grupė ekspertų tokio uždavinio sprendimui: upėje aptiktos naftos dėmės, nafta galėjo ištekėti iš bet kurios gamyklos, esančios prie upės. Tikslas- nustatyti, kuri gamykla kalta ir pašalinti upės užteršimo pasekmes. Visų pirma, ekspertinė sistema, sprendžianti tokį uždavinį, turi mokėti atlikti skaičiavimus. Apytiksliai naftos išmetimo vietą galima nustatyti, naudojant naftos ištirpimo vandenyje laiką, upės tėkmės greitį, kryptį ir t.t. Po to, kai informacija surinkta bei nustatyta naftos išmetimo vieta (tam tikru tikslumu), galima pasinaudoti specialiomis taisyklėmis tam, kad būtų surastas kaltininkas: Taisyklė E1: JEI upės aukštupyje vieno kilometro ribose nuo nustatytos naftos išmetimo vietos yra viena gamykla, TAI ši gamykla ir išmetė naftą į upę. Taisyklė E2: JEI upės aukštupyje vieno kilometro ribose nuo nustatytos naftos išmetimo vietos yra keletas gamyklų, TAI manoma, kad naftą išmetė gamykla, naudojanti daugiausiai naftos. Šios taisyklės vadinamos euristinėmis. Jų pagrindinis skirtumas nuo aukščiau nagrinėtų yra tas, kad euristinės taisyklės remiasi ne įprastomis, pripažintomis žiniomis, o praktinėmis ekspertų žiniomis. Jau žinome, kad supaprastinimo mechanizmas padidina mąstymo efektyvumą, siekiant tikslo. Ekspertinėse sistemose supaprastinimo mechanizmas, naudojantis euristines taisykles, vadinamas euristiniu paieškos mechanizmu. Po to, kai euristinis paieškos mechanizmas išskyrė labiausiai tikėtiną vandens užteršimo kaltininką, hipotezės patikrinimui ekspertinė sistema gali naudoti kitų taisyklių rinkinį. Visų pirma, tikrinamos silpniausios naftotiekio vietos. Čia gali būti naudinga tokia taisyklė: JEI gamyklos naftotiekio atkarpoje A1 slėgis mažesnis už vandens slėgį upėje, TAI reikia patikrinti atkarpą A7. Tokią taisyklę gali suformuluoti tik tas žmogus, kuris praktiškai žino padėtį būtent šioje gamykloje, t.y. ši taisyklė - euristinė. Tiesioginė samprotavimų grandinė Ką turi daryti programa, realizuojanti tiesioginę samprotavimų grandinę (TSG)? Programa turi atsakyti į vartotojų klausimus, naudodama TSG principus ir žinių bazę. Kitaip tariant, ji turi: 1) užklausti vartotoją: duomenų apie susidariusią situaciją, žinių bazės vardo, pvz.: "Techninės automobilio problemos"; 2) peržiūrėti informaciją duomenų bazėje, po to, naudojantis TSG, pateikti išvadas. Ekspertinės sistemos (ES) kūrimas susideda iš dviejų etapų: algoritmo ir programos sukūrimo. Spręsdamas uždavinį, kompiuteris atlieka tuos pačius veiksmus, kuriuos atlieka žmogus, kurdamas algoritmą. Pvz. Fondų biržos ekspertinei sistemai galima būtų suformuluoti tokias taisykles: 10 JEI proc. tarifai=krenta, TAI kainų lygis biržoje=auga 20 JEI proc. tarifai=auga, TAI kainų lygis biržoje=krenta 30 JEI dolerio kursas =krenta, TAI proc. tarifai=auga 40 JEI dolerio kursas=auga, TAI proc. tarifai=krenta Tarkim, sukurta firma, teikianti konsultacijas biržos operacijų srityje. Tegu pirmas klientas praneša, kad dolerio kursas krenta kitų pagrindinių šalių valiutų atžvilgiu. Tikslas-pasirinkti teisingą taktiką (elgesį) biržoje, bet ar klientas laimės, t.y. ar jam pasiseks, priklauso nuo kol kas dar nenustatytų aplinkybių (sąlygų). TSG sistemoje prognozės gaunamos tokiu būdu: jei iškilusi situacija tenkina taisyklės JEI dalį, daroma loginė išvada, nurodyta TAI dalyje. Šiam pavyzdžiui reikia, kad kokios nors taisyklės sąlygos dalyje būtų: dolerio kursas=krenta Tokia sąlyga yra 30 taisyklėje. Pagal šią taisyklę galima padaryti išvadą apie proc. tarifus. Apie dolerio kursą užsimenama ir 40 taisyklėje, tačiau salyga netenkina pradinės situacijos, todėl 40 taisyklė tolimesniuose samprotavimuose nenaudojama. Samprotavimai dar nesibaigia, nes 30 taisyklė generuoja naują situaciją: proc.tarifai=auga Būtina patikrinti, ar tai neveda prie kitų išvadų. Matyti, kad 10 taisyklėje sąlyga negalioja, o 20-oje - galioja. Iškyla nauja situacija: kainų lygis biržoje=krenta Samprotavimai tęsiasi. Dar kartą patikrinamos taisyklės, kuriose minimas kainų lygis biržoje. Po to, kadangi naujų situacijų neiškyla, klientas gauna atsakymą: "Kai krenta dolerio kursas, tai procentiniai tarifai auga ir krenta kainų lygis biržoje". Realiame gyvenime tokia išvada pareikalautų, aišku, sudėtingesnių taisyklių, tačiau sistema operuoja tik tais duomenimis, kurie yra jos žinių bazėje. Šis pavyzdys iliustruoja tipinės ES, realizuojančios TSG, darbą: 1. Sistemoje yra daugelio situacijų aprašymai; 2. Kiekvienai situacijai ES žinių bazėje ieško taisyklių, kurių JEI dalyje yra atitinkama salyga. 3. Priklausomai nuo taisyklės TAI dalyje esančių išvadų, kiekviena taisyklė gali generuoti naują situaciją, kuri papildo jau egzistuojančias. 4. Sistema apdoroja kiekvieną naują situaciją. Kol yra nors viena tokia situacija, atliekami veiksmai, pradedant 2 punktu. Samprotavimai baigiasi, kai nelieka neapdorotų situacijų. Žinių bazė Parodysime, kaip ekspertas gali betarpiškai įvedinėti taisykles į žinių bazę ir naudotis jomis, priimant sprendimus biržos operacijų metu. Būtini darbui kintamieji gali būti suvesti į lentelę: Kintamojo vardas Reikšmė PROC procentiniai tarifai DOLLAR dolerio kursas FEDINT biudžeto proc. tarifai FEDMON biudžeto piniginė apyvarta STOCK kainų lygis biržoje Naudojant šiuos kintamuosius, susijusius su fondų birža, taisyklės gali būti: 10 JEI PROC=krinta TAI STOCK=auga 20 JEI PROC=auga TAI STOCK=krinta 30 JEI DOLLAR=krinta TAI PROC=auga 40 JEI DOLLAR=auga TAI PROC=krinta 50 JEI FEDINT=krinta IR FEDMON=didėja TAI PROC=krinta Galima būtų tęsti, bet pavyzdys - tik demonstracijai. Ekspertinė sistema paveldi visus ekspertų, užpildžiusių žinių bazę, privalumus ir trūkumus. Darbas su žinių baze Darbui su žinių baze reikia sudaryti dar keletą lentelių, naudingų sprendžiant uždavinį. Iš esmės tos lentelės yra viena iš žinių bazės atvaizdavimo formų. Dabar aptarsime žinių bazę su visomis į ją įeinančiomis duomenų struktūromis. Duomenų struktūros, pavaizduotos 4 ir 5 pav., sudaro sistemą, leidžiančią realizuoti tiesioginių samprotavimų grandinę. Panagrinėkime kiekvieną iš šių struktūrų atskirai. 10 Taisyklė JEI PROC=KRINTA 1 PROC TAI STOCK=AUGA 2 3 4 20 Taisyklė JEI PROC=AUGA 5 PROC TAI STOCK=KRINTA 6 7 8 30 Taisyklė JEI DOLLAR=KRINTA 9 DOLLAR TAI PROC=AUGA 10 11 12 40 Taisyklė JEI DOLLAR=AUGA 13 DOLLAR TAI PROC=KRINTA 14 15 16 50 Taisyklė JEI FEDINT=KRINTA 17 FEDINT IR FEDMON=DIDĖJA 18 FEDMON TAI PROC=KRINTA 19 20 Žinių bazė Sąlygos kintamųjų vardų sąrašas 4 pav. Žinių bazė ir kintamųjų vardų sąrašas Vardas Inic. Reikšmė DOLLAR pož. PROC DOLLAR Taisyklės nr. Sąlygos nr. FEDINT FEDMON Sąlygos kintamųjų sąrašas Sąlygos kintamųjų rodyklė Loginio išvedimo kintamųjų eilė 5 pav. Sąlygos kintamųjų sąrašas, rodyklė bei loginio išvedimo kintamųjų eilė Sąlygos kintamųjų vardų sąrašas. Sąlygos kintamųjų sąrašas ir sąlygos kintamųjų rodyklė. Apibendrintas sistemos darbo algoritmas Sąlygos kintamųjų vardų sąrašas - kintamieji, įeinantys į JEI dalį kiekvienoje taisyklėje. Skaičiai (1-20) - tai masyvo elementų, kurie yra šie vardai, indeksai. Kiekvienai taisyklei rezervuojami 4 kintamieji. Tie elementai, kurie taisyklėje nenaudojami, lieka tušti. Tarkime, reikia išsiaiškinti dolerio kritimo įtaką biržai. Taigi: DOLLAR=krinta Kintamasis DOLLAR sutinkamas 30 ir 40 taisyklių JEI dalyse. Kintamasis DOLLAR patalpinamas į specialią duomenų struktūrą, vadinamą loginio išvedimo kintamųjų eile. Kaip parduotuvėje- pirmas atėjai, pirmas pirkai. Dabar tikriname, kurioje taisyklėje yra sąlyga DOLLAR=krenta. Tokia taisyklė yra: 30 JEI DOLLAR=krenta TAI PROC=auga Suveikus taisyklės daliai TAI, į loginio išvedimo kintamųjų eilę stoja PROC. Po to, kai bus apdorotos visos taisyklės į kurias įeina DOLLAR, reiks tikrinti kintamąjį PROC. Taigi, reiks atlikti tą patį darbą su PROC, kuris laukia eilėje. Kai loginio išvedimo kintamųjų eilė ištuštės, TSG baigsis, uždavinys bus išspręstas. Sąlygos kintamųjų sąrašas ir sąlygos kintamųjų rodyklė. Kintamųjų sąrašas sudarytas iš inicializacijos požymių ir kintamųjų reikšmių. Iki dialogo pradžios inicializacijos požymis yra NI, t. y. kintamųjų reikšmės nežinomos (tuščios). Dialogo metu kintamieji gauna reikšmes, o inicializacijos požymis tampa I. Pvz., kai DOLLAR ir PROC gauna reikšmes: PROC I auga DOLLAR I krenta FEDINT NI FEDMON NI Salygos kintamųjų rodyklėje saugoma informacija apie taisyklę, su kuria sistema dirba duotu momentu. Rodyklė susideda iš taisyklės numerio ir sąlygos numerio taisyklėje, kadangi bet kokiu atveju sąlyginėje dalyje gali būti kelios salygos. Sistema naudoja rodyklę, kad atsektų TS grandinėje einamąją padėtį. Taigi, darbas su taisyklės JEI dalimi prasideda nuo kintamojo išrinkimo iš loginio išvedimo kintamųjų eilės. Jeigu ten yra kintamasis DOLLAR, tai surandama 30 taisyklė ir jos numeris įnešamas į rodyklę: Apibendrintas sistemos darbo algoritmas 1. Nustatyti pradinę situaciją (pradinį kintamąjį, pvz.:DOLLAR ) . 2. Įrašyti kintamąjį į loginio išvedimo kintamųjų eilę, o jo reikšmę- į kintamųjų inicializacijos sąrašą. 3. Kintamųjų vardų sąraše rasti kintamąjį, kurio vardas yra loginio išvedimo kintamųjų eilės pradžioje. Jei kintamasis rastas, įrašyti į sąlygos kintamųjų rodyklę taisyklės numerį ir skaičių 1. Jei kintamasis nerastas, pereiti į 6 žingsnį. 4. Priskirti reikšmes neinicializuotiems kintamiesiems, įeinantiems į taisyklės JEI dalį (jeigu tokių yra; pvz.: FEDMON, FEDINT ). 5. Priskirti reikšmę kintamajam, esančiam taisyklės TAI dalyje ir įrašyti jį į loginio išvedimo kintamųjų eilę. 6. Pašalinti kintamąjį, esantį eilės pradžioje, jeigu jis nesutinkamas daugiau jokioje taisyklėje ( JEI dalyje) . 7. Baigti samprotavimų procesą, kai ištuštėja loginio išvedimo kintamųjų eilė. Jeigu eilėje yra dar kintamųjų, grįžti į 3 žingsnį. Atvirkštinė samprotavimų grandinė Atvirkštinėje samprotavimų grandinėje (ASG) uždavinio bendras pavidalas būtų toks: pagal žinomą rezultatą reikia nustatyti sąlygas (aplinkybes, faktus), kurie davė tokį rezultatą (atvedė prie jo) , t. y. pagal simptomus rasti priežastis. Šis uždavinys nuo TSG skiriasi tuo, kad ten buvo žinomos sąlygos, bet nežinomos pasekmės, prie kurių jos gali atvesti. Kitaip sakant, uždavinys buvo- galimo rezultato prognozavimas. Čia rezultatas aiškus, bet reikia rasti jo priežastis. Uždavinio sprendimui vėl reikalingos taisyklės. Pvz.: Automobilis nejuda iš vietos. Kodėl? 1 Taisyklė JEI automobilis neužsiveda ir nusilpo akumuliatorius, TAI į starterį nepaduodama srovė 2 Taisyklė JEI į starterį neateina srovė, TAI automobilis nepajudės iš vietos. AS grandinėje žinomas rezultatas (automobilis nejuda iš vietos) iššauks samprotavimų grandinę, kuri atves prie priežasčių. Priežastys atsiranda anksčiau už pasekmes, todėl AS grandinėje 1) analizuojamos loginės išvados, 2) nustatomos sąlygos, kurios atvedė prie tokių išvadų 3) nustatoma, ar tos sąlygos atitinka išvadas. Pagal aukščiau pateiktą pavyzdį: 1) analizuojant išvadas, 2-oje taisyklėje randame išvadą TAI automobilis nepajudės iš vietos, kuri atitinka realiai situacijai. ASG visada pradedama nuo pasekmių. 2) randame priežastį. Ji yra 2 taisyklės sąlyginėje dalyje: JEI į starterį nepaduodama srovė. Samprotavimai tęsiasi, nes reikia išsiaiškinti, kodėl į starterį nepaduodama srovė. Atsakymą į klausimą duoda 1 taisyklė. 3) Jeigu sąlygos, esančios JEI dalyje išpildytos, galima rasti priežastį dėl kurios automobilis nejuda. Priešingu atveju reikėtų patikrinti kitas taisykles, atitinkančias šią situaciją, t. y. pasekti dar vieną grandinę. Jeigu taisyklių JEI dalyje nepavyksta rasti sąlygų, atitinkančių situaciją, reikia kreiptis į specialistus ekspertus prašant papildomos informacijos. Kitaip sakant , jeigu visose taisyklėse sąlygos JEI turi reikšmę "melas", t.y., jos nevykdomos, tai sistemą reikia papildyti loginėmis išvadomis, kurios galėtų padėti sprendžiant uždavinį. Dabar aišku, kad žodis "grandinė" reiškia taisyklių grupės loginio ryšio procedūrą. Atvirkštine ši grandinė vadinasi todėl, kad prasideda nuo jau įvykusio įvykio ir slenka link jo ištakų. Sistema, realizuojanti ASG, pagal esamas išvadas ieško jų egzistavimui būtinų sąlygų. Žinių bazės sukūrimas. Sprendimų medis Visų pirma, turi būti suformuluotas uždavinys, kurio sprendimui bus kuriama ekspertine sistema. Pavyzdžiui, turime tokią situaciją: pas stambios techninės firmos direktorių ateina žmogus, norintis įsidarbinti. Direktorius žino: 1) žmogaus, norinčio įsidarbinti, kvalifikaciją, 2) firmos poreikius, 3) bendrą firmos padėtį ir t. t. Reikia išsiaiškinti, kokias pareigas galėtų užimti darbuotojas. Norint gauti darbą, reikia tenkinti tam tikras sąlygas, kriterijus, tačiau pretendento biografijoje gali būti faktų, kurie padėtų parinkti jam tam tikras pareigas. Kadangi uždavinyje reikia parinkti vieną iš galimų variantų (pareigas), jo sprendimui galima pritaikyti ASG. Iš tikrųjų atsakymas yra: prieš direktorių sėdi žmogus ir stengiasi padaryti gerą įspūdį. Jeigu direktoriui šis žmogus patinka, reikia parinkti jam tinkančias pareigas. Tam direktorius turi užduoti jam tokius klausimus, atsakymai į kuriuos leistų teisingai pasirinkti. Taigi, uždavinys suformuluotas. Panašių uždavinių aprašymui naudojamos diagramos, vadinamos sprendimų medžiu. Medžiai duoda būtiną vaizdumą ir ledžia sekti samprotavimų eigą. Medžio šakos baigiasi loginėmis išvadomis. Šiame pavyzdyje išvada yra - ar pasiūlys direktorius pretendentui darbą, ir jeigu taip, tai kokį. Sprendimų medžio pavyzdys parodytas 6 pav. Diagramoje matome stačiakampius ir apskritimus, kurie vadinami viršūnėmis. Jos turi numerius. Linijos, jungiančios viršūnes, vadinamos šakomis. Apskritimai, kuriuose yra klausimai, vadinami sprendimų viršūnėmis. Stačiakampiuose yra diagramos tikslai ir jie reiškia logines išvadas. Linijos rodo diagramos kryptį. Viršūnės gali turėti po kelias šakas, jungiančias jas su kitomis viršūnėmis. Šakos pasirinkimą nulemia salygos, esančios šakos viršūnėje, patikrinimas. Pavyzdžiui, 5 viršūnėje yra klausimas, į kurį gali būti du atsakymai, todėl iš jos išeina du keliai, priklausomai nuo pažymių vidurkio. Programoje vidurkis bus pažymėtas kaip kintamasis, kuriam dialogo metu priskiriama reikšmė. Galima sakyti, kad viršūnėse yra kintamieji, o šakos- tai sąlygos, priklausomai nuo kurių kintamieji gauna reikšmes. Po to, kai tam tikrai probleminei sričiai suformuluotos taisyklės, šios sąlygos tampa sąlyginėmis (JEI) taisyklių dalimis. Stačiakampiai yra lokalinės arba galutinės išvados. Lokalinių išvadų viršūnės turi ir išėjimą, todėl per jas galima prieiti prie galutinių išvadų. Bendras sistemos tikslas- gauti galutinį atsakymą. Lokalinė išvada taip pat bus JEI dalies dedamoji. Žiūrėti MediaCenter link 6 pav. Sprendimų medis pareigų parinkimui Sprendimų medžio transformavimas į taisykles Taisyklės JEI-TAI susideda iš dviejų dalių . JEI dalyje gali būti keletas sąlygų, sujungtų loginėmis operacijomis IR, ARBA, NE. TAI dalis įsijungia į samprotavimus tik tada, kai galioja JEI dalies sąlygos. Sprendimų medyje abiems taisyklės dalims atitinka tarpusavyje sujungtos sprendimų viršūnė ir loginės išvados viršūnė. Sąlygos dalis turi apimti visas sprendimų viršūnes, esančias kelyje į loginės išvados viršūnę, t. y. kiekviena sprendimų viršūnė kelyje- tai viena sąlyga dalyje JEI. Išvadą sudaro TAI dalis. Tam, kad būtų nustatytos sąlygos, kurioms esant pretendentui gali būti pasiūlytas darbas, reikia peržiūrėti visus kelius, vedančius į 3-ją loginės išvados viršūnę. Į ją veda tik vienas kelias iš 1-mos sprendimų viršūnės, kurioje yra klausimas "Ar turi pretendentas mokslinį laipsnį?" Taisyklė, apibrėžianti šį kelią, būtų: JEI pretendentas turi mokslinį laipsnį= TAIP TAI gali būti pasiūlytas darbas= TAIP Ilgas frazes galima pakeisti kintamaisiais, kurie turėtų reikšmes "TAIP" arba "NE". Realiai kiekvienoje viršūnėje yra unikalus kintamasis. Kintamojo naudojimas supaprastina taisyklių formavimą. Kintamųjų vardai (panaudoti tik lotyniškos abėcėlės simboliai), tekstas, kurį jie pakeičia ir viršūnių numeriai parodyti lentelėje: Vardas Tekstas Viršūnės LAIPSNIS pretendentas turi mokslinį laipsnį? 1 ISRADIMAS pretendentas turi išradimų(atradimų)? 4 STAZAS darbo stažas pagal specialybę? 7 VID pažymių vidurkis diplome? 5 PAREIGOS pasiūlytos pareigos 2,6,8,9,10 PRIIMTI pretendentas gali būti priimtas 3 Taisyklių formavimo algoritmas 1. Išrinkti iš medžio loginės išvados viršūnę ir užfiksuoti ją. 2. Rasti sprendimų viršūnę, esančią kairėje pusėje nuo loginės išvados ir sujungtą su ja. Užfiksuoti. 3. Kartoti antrą žingsnį, kol bus surastos visos sprendimų viršūnės arba kol bus sutikta nauja loginės išvados viršūnė. Jeigu sutikta loginės išvados viršūnė, reikia ją užfiksuoti ir nutraukti paiešką pagal antrą žingsnį. Tą patį reikia padaryti, Jeigu iš viso baigėsi viršūnės. 4. Kiekviena sprendimų viršūnė, sudaranti kelią- tai vienas iš taisyklės JEI dalies kintamųjų. Reikšmė, susijusi su šia šaka, vaizduoja salygą. JEI dalies kintamieji jungiami loginiu operatoriumi IR. 5. Išrinktą loginės išvados viršūnę perkelti į dalį TAI. Taisyklių sudarymas Kaip pavyzdį panagrinėsime kelią, einantį per 1, 4, 6 viršūnes. Įvykdę aukščiau aprašytus žingsnius, gausime: Loginės išvados viršūnės numeris- 6. Kelias- 6, 4, 1. Kadangi naudojama atvirkštinė samprotavimų grandinė, tai vykdymas prasideda nuo išvados ir sprendimų medis analizuojamas atvirkštine kryptimi. Pritaikant rastą kelią ir kintamųjų lentelėje nurodytus vardus, galima suformuluoti taisyklę: JEI LAIPSNIS=TAIP IR ISRADIMAS=TAIP, TAI PAREIGOS=MOKSLINIS BENDRADARBIS Naudojantis jau žinomais principais, galima sukurti žinių bazę. Žemiau pateiktoje lentelėje pateiktos visos taisyklės, aprašančios sprendimų medį, pavaizduotą 6 pav. Taisyklių sudarymas Kaip pavyzdį panagrinėsime kelią, einantį per 1, 4, 6 viršūnes. Įvykdę aukščiau aprašytus žingsnius, gausime: Loginės išvados viršūnės numeris- 6. Kelias- 6, 4, 1. Kadangi naudojama atvirkštinė samprotavimų grandinė, tai vykdymas prasideda nuo išvados ir sprendimų medis analizuojamas atvirkštine kryptimi. Pritaikant rastą kelią ir kintamųjų lentelėje nurodytus vardus, galima suformuluoti taisyklę: JEI LAIPSNIS=TAIP IR ISRADIMAS=TAIP, TAI PAREIGOS=MOKSLINIS BENDRADARBIS Naudojantis jau žinomais principais, galima sukurti žinių bazę. Žemiau pateiktoje lentelėje pateiktos visos taisyklės, aprašančios sprendimų medį, pavaizduotą 6 pav. Žiūrėti MediaCenter link 6 pav. Sprendimų medis pareigų parinkimui TAISYKLĖ KELIAS 1 JEI LAIPSNIS=NE 1,2 TAI PAREIGOS=NE 2 JEI LAIPSNIS=TAIP 1,3 TAI PRIIMTI=TAIP 3 JEI LAIPSNIS=TAIP IR ISRADIMAS=TAIP 1,4,6 TAI PAREIGOS=MOKSLINIS BENDRADARBIS 4 JEI PRIIMTI=TAIP IR VID2 3,5,7,10 TAI PAREIGOS=INŽINIERIUS EKSPLOATACIJAI 5 JEI PRIIMTI=TAIP IR VID=7 3,5,8 TAI PAREIGOS=INŽINIERIUS KONSTRUKTORIUS Darbas su baze Žinių bazė naudojama kelio, vedančio prie tam tikros išvados, suradimui. Kelias padeda surasti priežastis, atvedusias prie išvados. Pavyzdžiui, jeigu kelias baigiasi 9-ja viršūne, išvada bus tokia: "Pretendentui atsakyti", t.y. jis nebus priimtas į darbą. Išvados, esančios medžio viršūnėse, yra taisyklių TAI dalių kintamieji. Kelias, vedantis prie išvados, padeda suprasti, kodėl padaryta būtent tokia išvada. Kitaip tariant, taisyklės dalis TAI iš tikrųjų yra išvada, o sąlygos dalyje JEI yra priežastys, kurios atvedė prie šios išvados. Tam, kad darbas su žinių baze būtų patogesnis, sukuriamos papildomos duomenų struktūros. Jos palengvina atsakymų į užduotus klausimus radimą. Kai pasirinktas tam tikros srities uždavinių sprendimo metodas, galima pradėti kurti sistemą. Taigi, prieš rašant programą, turi būti sukurtos papildomos duomenų struktūros ir algoritmas. Žinių bazė su papildomomis duomenų struktūromis pavaizduota 7 ir 8 pav. 1 JEI LAIPSNIS=NE 1 LAIPSNIS TAI PAREIGOS=NE 2 3 4 2 JEI LAIPSNIS=TAIP 5 LAIPSNIS TAI PRIIMTI=TAIP 6 7 8 3 JEI LAIPSNIS=TAIP IR ISRADIMAS=TAIP 9 LAIPSNIS TAI PAREIGOS=MOKSLINIS BENDRADARBIS 10 ISRADIMAS 11 12 4 JEI PRIIMTI=TAIP IR VID2 13 PRIIMTI TAI PAREIGOS=INŽINIERIUS EKSPLOATACIJAI 14 VID 15 STAZAS 16 5 JEI PRIIMTI=TAIP IR VID=7 21 PRIIMTI TAI PAREIGOS=INŽINIERIUS KONSTRUKTORIUS 22 VID Žinių bazė Sąlygos kintamųjų vardų sąrašas 7 pav. Žinių bazė ir sąlygos kintamųjų vardų sąrašas Vardas Inic. Reikšmė 1 PAREIGOS Steko viršūnė pož. 2 PRIIMTI LAIPSNIS 3 PAREIGOS ISRADIMAS 4 PAREIGOS VID 5 PAREIGOS . STAZAS 6 PAREIGOS Taisyklės nr Sąlygos nr. Sąlygos kintamųjų sąrašas Loginių išvadų sąrašas Loginių išvadų stekas 8 pav. Sąlygos kintamųjų bei loginių išvadų sarašai ir loginių išvadų stekas Pirmiausiai aptarsime duomenų struktūras. Loginių išvadų sąrašas- tai struktūra, kurioje yra sutvarkytas galimų loginių išvadų sąrašas. Pastarasis susideda iš taisyklės numerio, loginės išvados ir sąlygų, formuojančių tą išvadą. Kiekvienai taisyklei žinių bazėje atitinka vienas įrašas. Pavyzdžiui, 1-os taisyklės TAI dalyje yra kintamasis PAREIGOS, t.y. kintamasis PAREIGOS atitinka 1-os taisyklės loginei išvadai. Sąrašas laikomas suformuotu, kai kiekvienos taisyklės loginė išvada patalpinta į įrašą, kurio numeris sutampa su taisyklės numeriu. Šis sąrašas yra naudojamas tam, kad būtų rasta išvada pagal taisyklės numerį, t. y. išvados paieška atliekama pagal taisyklės numerį. Kai galioja JEI dalies sąlygos, iškviečiama TAI dalis ir kintamajam priskiriama reikšmė. Pavyzdžiui, jeigu reikia sužinoti, ar pretendentui bus pasiūlytas darbas, sąraše randamas kintamasis PAREIGOS. Jis yra pirmoje taisyklėje. JEI LAIPSNIS=NE TAI PAREIGOS=NE Pretendentas nebus priimtas į darbą, jei LAIPSNIS=NE. Jeigu LAIPSNIS=TAIP, ši sąlyga negalioja. Tada sąraše ieškome sekančio kintamojo PAREIGOS ir tokiu būdu surandama sekanti taisyklė, kuri turi būti patikrinta. Sąlygos kintamųjų sąrašas (kintamųjų inicializacijos lentelė), kaip ir TSG, sudarytas iš kintamojo vardo, inicializacijos požymio ir reikšmės. Jį sudaro kintamieji, įeinantys į kiekvienos taisyklės JEI dalį. Nepriklausomai nuo to, keliose taisyklėse sutinkamas kintamasis, į sąlygos kintamųjų sąrašą jis įrašomas vieną kartą. Į šį sąrašą neįeina išvadų kintamųjų reikšmės iš TAI dalies. Iš pradžių visi kintamieji turi inicializacijos požymį NI, t.y. reikšmės dar nežinomos. Kai gauta informacija apie pretendentą perduodama sistemai, kintamisiems priskiriamos reikšmės ir požymis I, t.y. kintamasis tampa inicializuotu. Prieš apdorojant taisyklę, kintamieji, įeinantys į jos JEI dalį, turi būti inicializuoti. Jei koks nors kintamasis turi požymį NI, sistema turi paklausti vartotoją jo reikšmės. Pvz. 1 JEI LAIPSNIS= NE TAI PAREIGOS= NE Tam, kad LAIPSNIS gautų reikšmę, turi būti užduotas klausimas : "Ar turite mokslinį laipsnį?" Sąlygos kintamųjų sąraše atsiras pakitimų: Vardas Inic. pož. Reikšmė LAIPSNIS I TAIP ISRADIMAS NI VID NI STAZAS NI Nuo šio momento kintamasis LAIPSNIS tampa inicializuotu ir jo reikšmę galima naudoti bet kurioje taisyklėje. Sąlygos kintamųjų vardų sąrašas. Kiekvienos taisyklės JEI dalyje gali būti keli kintamieji. Čia mes rezervuojame po 4 kintamuosius kiekvienai taisyklei. Jeigu taisyklės JEI dalyje sąlygos sujungtos operatoriumi IR, tai kreiptis į TAI dalį galima tik tada, kai visi tos sąlygos kintamieji yra inicializuoti. Todėl visoms taisyklėms turi būti suformuotas sąlygos kintamųjų vardų sąrašas, kad būtu galima juos patikrinti. 1 JEI LAIPSNIS=NE 1 LAIPSNIS TAI PAREIGOS=NE 2 3 4 2 JEI LAIPSNIS=TAIP 5 LAIPSNIS TAI PRIIMTI=TAIP 6 7 8 3 JEI LAIPSNIS=TAIP IR ISRADIMAS=TAIP 9 LAIPSNIS TAI PAREIGOS=MOKSLINIS BENDRADARBIS 10 ISRADIMAS 11 12 4 JEI PRIIMTI=TAIP IR VID2 13 PRIIMTI TAI PAREIGOS=INŽINIERIUS EKSPLOATACIJAI 14 VID 15 STAZAS 16 5 JEI PRIIMTI=TAIP IR VID=7 21 PRIIMTI TAI PAREIGOS=INŽINIERIUS KONSTRUKTORIUS 22 VID Žinių bazė Sąlygos kintamųjų vardų sąrašas Kiekvieno pirmo elemento, įeinančio į i-ją taisyklę numeris sąlygos kintamųjų vardų sąraše gali būti suskaičiuotas pagal formulę: j=4*(i-1)+1 Čia: i- taisyklės numeris, j- pirmo elemento, įeinančio į i-ją taisyklę, numeris. Sekančių trijų elementų, įeinančių į i-tąją taisyklę, numeriai atitinkamai bus i+1, i+2, i+3. Loginių išvadų stekas. Stekas- svarbiausia struktūra, kadangi atvirkštinę samprotavimų grandinę realizuojančioje ekspertinėje sistemoje jis sujungia visas kitas struktūras. Jame saugoma informacija apie reikalingas logines išvadas ir kintamuosius, kuriuos reikia inicializuoti. Steko veikimas gali būti pavaizduotas, analizuojant 4-tą taisyklę: 4 JEI PRIIMTI= TAIP 1 sąlyga IR VID=2 3 sąlyga TAI PAREIGOS=INŽINIERIUS EKSPLOATACIJAI Taisyklė susideda is trijų sąlygų ir dalies TAI. Jeigu visos sąlygos galioja, į darbą įjungiama TAI dalis. Taisyklė atmetama, jeigu nors viena salyga negalioja. Tikrinamų sąlygų trasa saugojama steko pagalba. 4 JEI PRIIMTI=TAIP IR VID2 13 PRIIMTI TAI PAREIGOS=INŽINIERIUS EKSPLOATACIJAI 14 VID 15 STAZAS 16 Steko viršūnė 4 1 Taisyklės nr Sąlygos nr. Loginių išvadų stekas Iš pradžių tikrinama pirma sąlyga: PRIIMTI=TAIP Kintamojo PRIIMTI reikšmė bus randama, pasinaudojus 2-ja taisykle. Jos numeris talpinamas į steką: 2 JEI LAIPSNIS=TAIP TAI PRIIMTI=TAIP Steko viršūnė 2 1 4 1 Taisyklės nr Sąlygos nr. Loginių išvadų stekas Tikrinama sąlyga: LAIPSNIS= TAIP Kintamojo LAIPSNIS reikšmė randama, panaudojus pretendento duomenis. Jeigu sąlyga tenkinama, PRIIMTI gauna reikšmę TAIP. Po to 2-ji taisyklė pašalinama iš steko. Kadangi 4 taisyklės pirmoji salyga galioja, tikrinama kita, 2-ji salyga. Steko viršūnė 4 2 Taisyklės nr Sąlygos nr. Loginių išvadų stekas Tokia tarpusavio sąveika tarp steko ir žinių bazės tęsiasi tol, kol baigiasi samprotavimų grandinė. Žinių bazės taikymas Tam, kad apibūdintume ES darbą, apžvelgsime visą ciklą. Darbas prasideda nuo to, kad vartotojas turi įvesti loginę išvadą iš pasiūlyto sąrašo: 1) Yra galimybė priimti į darbą (PRIIMTI) 2) Pareigos (PAREIGOS) Įveskite loginę išvadą: PAREIGOS. Toliau darbas vyksta pagal tokį algoritmą: 1. Sistema išrenka iš loginių išvadų sąrašo kintamąjį PAREIGOS. 2. Į steką patalpinamas taisyklės, kurioje pirmą kartą minima ši išvada, numeris (1). 1 1 Taisyklės nr. Sąlygos nr. 3. Sąlygos dalyje randama LAIPSNIS=NE. Tikrinama, ar šis kintamasis inicializuotas. Kadangi jis neinicializuotas, formuojamas užklausimas: Ar pretendentas turi mokslinį laipsnį ? TAIP Tokiu atveju taisyklės 1 JEI LAIPSNIS=NE TAI PAREIGOS=NE sąlyga netenkinama. Jai atitinkantis numeris pašalinamas iš steko. 4. Tęsiama loginių išvadų sąrašo analizė. Jame sistema randa, kad kintamasis PAREIGOS yra 3-je taisyklėje. 5. Į steką įrašoma: 3 1 Taisyklės nr. Sąlygos nr. 6. Dabar ES stengiasi suteikti reikšmes visiems kintamiesiems, įeinantiems į 3-čios taisyklės JEI dalį: LAIPSNIS - = TAIP. Todėl steke padidėja sąlygos numeris: 3 2 Taisyklės nr. Sąlygos nr. 7. Sąlyga (ISRADIMAS = TAIP) reikalauja , kad būtų žinoma reikšmė ISRADIMAS. Kadangi ji neinicalizuota , sistema klausia Ar turi pretendentas išradimų ? NE 8. Įvedus atsakymą , koreguojama kintamųjų inicializacijos lentelė: LAIPSNIS I TAIP ISRADIMAS I NE 9. Kadangi sąlygos kintamųjų šioje (3) taisyklėje daugiau nėra , analizuojama JEI dalis: 3 JEI LAIPSNIS = TAIP IR ISRADIMAS = TAIP TAI PAREIGOS = MOKSLINIS BENDRADARBIS Tačiau antroji sąlyga nevykdoma , t.y. pretendentas neturi išradimų, ir vėl taisyklės numeris pašalinamas iš steko. 10. Loginių išvadų saraše ieškoma kito įrašo PAREIGOS. Suradus, išrenkama sekanti taisyklė (4) ir jos numeris įrašomas į steką : 4 JEI PRIIMTI=TAIP IR VID =2 TAI PAREIGOS= INŽINIERIUS EKSPLOATACIJAI 4 1 Taisyklės nr. Sąlygos nr. 11. Patikrinus taisyklės sąlygas, fiksuojama, kad kintamasis PRIIMTI nepriklauso kintamųjų inicializacijos lentelei , tada jo ieškoma loginių išvadų sąraše. Ten randama , kad jo reikšmė nustatoma iš taisyklės ( 2 ) . 12. Į steką įrašoma : 2 1 4 1 Taisyklės nr Sąlygos nr. 13. Panaudojus šią taisyklę , randama , kad PRIIMTI = TAIP . Iš steko pašalinamas apdorotos taisyklės numeris. Lieka taisyklės numeris 4 ir sąlygos numeris padidėja : 4 2 Taisyklės nr. Sąlygos nr. 14. Antroji sąlyga reikalauja kintamojo VID reišmės. Kadangi jis dar neinicializuotas, klausiama: Koks pretendento diplomo pažymių vidurkis? 6 Inicializacijos lentelėje atsiranda pakeitimų: LAIPSNIS I TAIP ISRADIMAS I NE VID I 6 STAZAS NI 15. Steke sąlygos numeris padidėja: 4 3 Taisyklės nr. Sąlygos nr. Trečioji sąlyga iššaukia klausimą : Kiek metų pretendentas dirba pagal specialybę? 4 16. Visos sąlygos galioja. PAREIGOS = INŽINIERIUS EKSPLOATACIJAI Toks ir atsakymas. Apibendrintas ASG algoritmas 1. Nustatyti (įvesti) loginio išvedimo kintamajį (pvz., loginę išvadą PAREIGOS). 2. Loginių išvadų sąraše surasti pirmą kartą sutinkamą šio kintamojo vardą. Jei kintamasis rastas, į steką patalpinti atitinkamos taisyklės numerį ir sąlygos numerį 1. Jei kintamasis nerastas, pranešti, kad atsakymas neįmanomas. 3. Priskirti reikšmes visiems kintamiesiems , esantiems surastos taisyklės JEI dalyje. 4. Jei kintamųjų inicializacijos lentelėje nurodyta , kad kintamasis neinicializuotas ir jo nėra loginių išvadų sąraše , užklausti vartotoją kintamojo reikšmės. 5. Jei kintamasis yra loginių išvadų sąraše, įrašyti į steką tai išvadai atitinkančios taisyklės numerį ir grįžti į 3-čią žingsnį . 6. Jeigu taisyklėje esančios sąlygos negalioja , t.y. jeigu neįmanoma rasti loginių išvadų kintamojo reikšmės, pašalinti iš steko taisyklės numerį ir loginių išvadų sąraše rasti kintamojo vardą ir kitą jam atitinkančios taisyklės numerį . 7.Jei tokia taisyklė rasta , pereiti į 3-ią žingsnį . 8.Jei kintamasis nerastas likusiame loginių išvadų sąraše , vadinasi taisyklėje, tikrintoje prieš tai, išvada neteisinga, ekspertinėje sistemoje yra klaida . Jeigu prieš tai nebuvo jokių išvadų, pranešti vartotojui , kad atsakymas neįmanomas . Jeigu prieš tai buvo išvada, grįžti į 6 -tą žingsnį . 9. Rasti kintamojo reikšmę iš taisyklės, esančios steko pradžioje; po to jos numerį pašalinti. Jeigu taisyklės JEI dalyje dar yra kintamujų, padidinti sąlygos numerį ir grįžti į 3-čią žingsnį . Jeigu kintamujų daugiau nėra, pranešti vartotojui galutinę išvadą. Tikimybės ir negriežta logika ekspertinėse sistemose. Sąlyginė tikimybė. Negriežta logika Jau anksčiau buvo įvesta euristinės taisyklės sąvoka, t.y., taisyklės, kurią formuluoja ekspertas, sąvoka. Daugumos euristinių taisyklių pagrindą sudaro tam tikro įvykio tikimybė, kurią suskaičiuoti gali tik ekspertas. Iš tikrųjų tai reiškia, kad egzistuoja statistiniai duomenys, leidžiantys daryti tam tikras prielaidas. Tai gali būti, pavyzdžiui medicininė diagnozė, kurią nustato gydytojas, remdamasis paciento stebėjimu. Žinoma, yra tikimybė, kad gydytojas suklydo. Bajesas sukūrė tikimybinę metodiką, pagrįstą teigimu, kad koks nors įvykis įvyks todėl, kad anksčiau jau įvyko kitas tam tikras įvykis. Bajeso teorija priklauso tikimybių teorijos skyriui “Sąlyginė tikimybė”. Ekspertinėse sistemose plačiai naudojami statistiniai sprendiniai, besiremiantys Bajeso teorija. Paanalizuokime ir kitą tikimybių teorijos aspektą. Ne visada galima apibūdinti įvykį tiksliai apibrėžtų taisyklių pagalba. Pavyzdžiui, galima sakyti, kad žmogus negaluoja, jeigu jo kūno temperatūra didesnė negu 37o, bet nesiekia 38o. Esant aukštesnei temperatūrai, susirgimas gali būti rimtas. Bet ar galima žinoti, kokia žmogaus kūno temperatūra, jeigu jis sako, kad šiek tiek negaluoja? Greičiausiai ne. Tokie žodžiai kaip, “aukštas”, “karštas”, “lengvas” ir t.t., yra lingvistiniai kintamieji, kurių neįmanoma apibrėžti viena konkrečia reikšme. Tokių sąvokų panaudojimas formuluojant taisykles, vadinamas negriežta logika. Tikimybių teorija nagrinėja atsitiktinius įvykius. Žinome, kad bet kokio įvykio tikimybė skaičiuojama pagal formulę: Eksperimentų skaičius, kurių pasekoje įvyko tam tikras įvykis P= Bendras eksperimentų skaičius Tikimybės lygtyje vardiklis visada didesnis arba lygus skaitikliui, todėl kokio nors įvykio tikimybė P yra tarp 0 ir 1. Bajesas kūrė sąlyginės tikimybės teoriją. Sąlyginė tikimybė- tai kokio nors įvykio s tikimybė, esant sąlygai, kad jau įvyko kitas koks nors įvykis e. Sąlyginė tikimybė žymima P(s|e). Tikimybė, kad įvyks kokie nors du įvykiai, skaičiuojama tokiu būdu: P(e ir s)=P(s|e)*P(e) Lygtis skaitoma taip: tikimybė, kad įvyks du įvykiai e ir s, be to, e įvyks pirmiau, lygi įvykio s tikimybei, žinant kad įvyko e, padaugintai iš įvykio e tikimybės. Ekspertinėse sistemose naudojama dar viena sąlyginės tikimybės lygtis: P(s)=P(s|e)*P(e)+P(s|NOTe)*P(NOTe) (1) Ji skaitoma: įvykio s pasirodymo tikimybė P(s) yra lygi įvykio s tikimybei, žinant kad įvyko e (P(s|e)), padaugintai iš įvykio e tikimybės P(e) plius įvykio s tikimybė, žinant kad įvykis e neįvyko (P(s|NOTe), padauginta iš tikimybės, kad įvykis e neįvyko (P(NOTe)). Pvz. Pasinaudosime 4-me skyriuje aprašytos fondų biržos ekspertinės sistemos taisyklėmis ir pritaikysime joms sąlygines tikimybes. Turėjome taisykles: 10 JEI PROC=krinta TAI STOCK=auga 20 JEI PROC=auga TAI STOCK=krinta 30 JEI DOLLAR=krinta TAI PROC=auga 40 JEI DOLLAR=auga TAI PROC=krinta Sakykime, reikia nustatyti kainų lygio STOCK augimo tikimybę. Sistema, realizuojanti ASG, taisyklių TAI dalyje ieškos išvados STOCK=auga. Suras 10-ją taisyklę: STOCK=auga, esant sąlygai kad PROC=krinta. Pasinaudoję 1-ja lygtimi, galime įvertinti šias sąlygas. Lygtyje pakeisime kintamuosius: s į STOCK=auga ir e į PROC=krinta. To pasekoje gausime lygtį: P(STOCK=auga)=P(STOCK=auga|PROC=krinta)*P(PROC=krinta)+ P(STOCK=auga|PROC=NOTkrinta)*P(PROC=NOTkrinta) (2) Tam, kad nustatytume ar kintamasis PROC turi reikšmę “krinta”, turime grįžti prie 40-os taisyklės. Gausime lygtį: P(PROC=krinta)=P(PROC=krinta|DOLLAR=auga)*P(DOLLAR=auga)+ P(PROC=krinta|DOLLAR=NOTauga)*P(DOLLAR=NOTauga) (3) Kadangi nė vienos taisyklės TAI dalyje nėra kintamojo DOLLAR, ši reikšmė turi būti gauta, užklausus vartotoją. Sąlyginę tikimybę taip pat turi nurodyti vartotojas. Tarkime kad ji yra tokia: P(DOLLAR=auga)=0.6 Remiantis tikimybių teorija, kokio nors įvykio pasirodymo ir nepasirodymo tikimybių suma lygi 1, todėl: P(DOLLAR=NOTauga)=1- P(DOLLAR=auga)=1-0.6=0.4 Priskirsime reikšmes visoms sąlyginėms tikimybėms: P(PROC=krinta|DOLLAR=auga)=0.8 P(PROC=auga|DOLLAR=NOTauga)=0.1 Reikia pažymėti, kad sąlyginių tikimybių suma priešingiems įvykiams nėra lygi 1. Įstatę priskirtas reikšmes į 3 lygtį, gausime: P(PROC=krinta)=0.8*0.6+0.1*0.4=0.52 Tada, remiantis pagrindine tikimybės savybe: P(PROC=NOTkrinta)= 1-0.52=0.48 Tam, kad būtų rasta tikimybė P(STOCK=auga) turi būti nustatytos sąlyginių tikimybių reikšmės, pavyzdžiui, tokios: P(STOCK=auga|PROC=krinta)=0.85 P(STOCK=auga|PROC=NOTkrinta)=0.1 Įstatę šias reikšmes į 2-ą lygtį, gausime kainų lygio STOCK augimo tikimybę: P(STOCK=auga)=0.85*0.52+0.1*0.48=0.49 arba 49% Atsakymas tiesiogiai priklauso nuo sąlyginių tikimybių reikšmių. Negriežta logika Mes jau naudojome tokias sąvokas, kaip “auga” arba “krinta”. Šie žodžiai vadinami lingvistiniais kintamaisiais. Tokie kintamieji įgyja reikšmes iš tam tikro intervalo, kurio ribos gali keistis priklausomai nuo aplinkybių. Pavyzdžiui, lingvistinio kintamojo “šaltas” ribos gali keistis priklausomai nuo to, apie ką kalbama- apie pavasarį ar žiemą. Sąvoka “krinta” yra lingvistinis kintamasis, naudojamas sudarant taisykles, aprašančias fondų biržą. Panaudojant tokius kintamuosius, galima suskaičiuoti kai kurių tikimybių reikšmes, neapsunkinant vartotojo bereikalingais klausimais. Tam būtina konkretizuoti lingvistinius kintamuosius. Ekspertinės sistemos vartotojui reikia suteikti galimybę patikslinti šių kintamųjų reikšmes tokiais žodžiais, kaip “didelis”, “mažas”, “vidutinis”. Vartotojas gali nurodyti vidutinį dolerio kurso augimą, o ekspertinė sistema turi tiksliai žinoti, ką tai reiškia. Tam tikslui ekspertai turi sudaryti tikimybių lentelę, kurioje yra tikslinantys lingvistinius kintamuosius žodžiai bei jiems atitinkančios tikimybės ir sąlyginės tikimybės. Objektinis programavimas.Svarbiausios sąvokos Dirbtinio intelekto(DI) sistemų programinėje įrangoje informacijos saugojimui ir rūšiavimui naudojamos duomenų struktūros. DI sistemose struktūros ląstelės vadinamos slotais, o jų žymės- atributais. Informacijos porcijos, saugomos slotuose, vadinamos reikšmėmis. Kai reikšmės patalpinamos į slotus , atsiranda realus objektas . Pavyzdžiui, turime salę, kurią nuomuojame konferencijoms. Surinkome daug paraiškų nuomai. Tam, kad jas patenkintume, turime turėti formalią salės arendos procedūrą . Todėl būtina sukurti struktūrą, kuri aprašytų (formalizuotų) būtinus duomenis. Pavyzdžiui, vienas iš slotų turėtų atributą "Pageidaujamas arendos laikas", kitas- "Atsakingas už arendą asmuo " ir t.t. Svarbiausios sąvokos (apibrėžimai ): 1. Struktūra - bendras objekto aprašymas 2. Objektas - struktūra, turinti konkrečią informaciją 3. Slotas - informacijos saugojimo vieta 4. Atributas - sloto žymė 5. Reikšmė - informacija, atitinkanti atributui ir patalpinta į pažymėtą slotą. Paanalizuosime aukščiau minėtą pavyzdį apie salės nuomą. Čia struktūra gali būti forma, kuri užpildoma, iškilus nuomos poreikiui. Pavadinsim struktūrą "Salės nuomos paraiška". Užpildyta paraiška, t.y. struktūra, kurioje yra konkreti informacija, patalpinta į atitinkamas vietas, vadinama objektu. Vieną dieną gali vykti kelios konferencijos. Užpildyta paraiška kiekvienai konferencijai yra atskiras objektas. Taigi, struktūra aprašo atributus, būdingus tam tikriems objektams, o objektas- tai informacija, organizuota pagal tam tikrą struktūrą . Tipinė struktūra salės nuomai gali būti : 1. Salės numeris ( SALĖ ) 2. Renginio tema ( TEMA ) 3. Organizatoriaus pavardė ( ORGANIZATORIUS ) 4. Renginio pradžios laikas ( PRADŽIA ) 5.Renginio pabaigos laikas ( PABAIGA ) Nuomininkai, pretenduojantys į salę, užpildo paraišką, kurioje nurodo aukščiau numatytą informaciją. Tokiu būdu sukuriamas objektas: 1.( SALĖ ) 10 2.( TEMA ) Kainų dinamika ir sava valiuta 3.( ORGANIZATORIUS ) Jonas Gudrutis 4.( PRADŽIA ) 10:00 5.( PABAIGA ) 11:00 Priklausomai nuo situacijos, struktūrų kūrimo procedūra faktiškai gali būti supaprastinta iki kontrolinio lapo. Pavyzdžiui, aviacijos technikai naudoja tokį kontrolinį lapą (instrukciją), tikrindami lėktuvo paruošimą skridimui . Kontroliniai lapai sudaromi pagal tam tikrą struktūrą. Kiekviena struktūra turi turėti savo vardą arba numerį, pagal kurį ją būtų galima rasti. Taigi, struktūra privalo turėti: 1) vardą , pagal kurį galima į ją kreiptis , 2) atributus , nusakančius jos turinį . Technikas, gavęs kontrolinį lapą, jį pildo atlikdamas patikrinimą, t. y. sukuria objektą. Objektui suteikiamas konkretus vardas (arba numeris). Kadangi tos pačios struktūros lapų pildoma daug, (pvz., kiekvienam lėktuvui ) pagal vardą galima surasti konkretų užpildytą lapą ( objektą ). Objekto sukūrimui reikia žinoti: 1. Struktūros, aprašančios šios rūšies objektus, vardą; 2. Objekto vardą , pagal kurį galima į jį kreiptis; 3. Atributus, aprašančius konkretų objektą . 4. Reikšmes, priskirtas atributams . Be to, struktūrai, o tai reiškia ir įeinantiems į ją objektams reikalingas tam tikras procedūrų rinkinys . Pavyzdžiui, ką reikia daryti, jei technikas randa defektą, kai keleiviai jau sėdi lėktuve? Procedūros irgi gali būti sudedamoji struktūros dalis. Tos procedūros turi būti vykdomos nustatyta eilės tvarka. Taip, pavyzdžiui, prieš atliekant kontrolinius matavimus, reikia įjungti elektros maitinimą. Kitaip sakant, elektros įjungimo procedūrą reikia atlikti prieš atliekant kontrolinių matavimų procedūrą. Procedūra, kurią reikia atlikti, bet kuri tiesiogiai nenurodyta struktūroje, vadinama netiesiogine procedūra. Netiesioginė procedūra, kuri vykdoma prieš pagrindinę, vadinama pirmine netiesiogine procedūra . Netiesioginė procedūra, atliekama po pagrindinės, vadinama baigiamąja netiesiogine procedūra (pvz. lapo užpildymas po kontrolės). Procedūros gali būti aprašytos struktūroje. Struktūros sukūrimas. Objekto sukūrimas. Darbas su objektais. Objektinė programavimo sistema turi turėti galimybes : 1) sukurti struktūrą . 2) sukurti tam tikrus struktūros objektus . 3) sukurti procedūras darbui su objektais . Kuriant programą, į ją turi būti įtraukta struktūros sukūrimo funkcija. Bendras tokios funkcijos formatas gali būti: Sukurti_str ( str. vardas = ... ATR-SKAICIUS = ... ATRIB = pirmo atributo vardas ATRIB = antro atributo vardas ATRIB = ... . . . ATRIB = paskutinio atributo vardas ) Tarkime, kad kuriame struktūrą salės nuomai : Sukurti_str ( Str. vardas = KONFERENCIJA ATR_SKAICIUS = 5 ATRIB = SALĖ ATRIB = TEMA ATRIB = ORGANIZ ATRIB = PRADŽIA ATRIB = PABAIGA ) Objekto sukūrimas Norint sukurti objektą, sistemai reikia nurodyti : 1) struktūros vardą 2) atributų reikšmes 3) paskirti vardą objektui Objekto sukūrimo funkcija galėtų atrodyti taip: Sukurti_obj ( STR.VARDAS = ... OBJ. VARDAS = ... ATRIB1 = ATRIB2 = . . . ATRIBn = ) Mūsų pasirinktam pavyzdžiui galima sukurti tokį objektą: Sukurti_ob ( STR. VARDAS = KONFERENCIJA OBJ. VARDAS = KOVO 5 SALĖ = 10 TEMA = Kainos ir stipendijos ORGANIZ = Jonas Gudrutis PRADŽIA = 9 : 00 PABAIGA = 16 : 00 ) Toliau sistemoje šis objektas bus žinomas KOVO 5 vardu . Darbas su objektais Struktūros ir jai atitinkančių objektų sukūrimas iš esmės yra duomenų bazės sukūrimas . Struktūra- tai įrašų laukų formato aprašymas Objektai- įrašai Atributai- įrašo laukai Duomenų bazės paprastai gali atlikti šiuos veiksmus: 1) laukų (atributų) reikšmių suteikimas ir pakeitimas (koregavimas), 2) ataskaitų generavimas, 3) darbas su keliais įrašo laukais, 4) bazės turinio peržiūrėjimas. Pavyzdžiais galėtų būti: 1) PERŽIŪRĖTI_OBJ (STR.VARDAS= KONF OBJ.VARDAS= KOVO 5) sistema atsakys: SALĖ = 10 TEMA = Kainos ir stipendijos ORGANIZ = Jonas Gudrutis PRADŽIA = 9 : 00 PABAIGA = 16 : 00 ) 2) PAŠALINTI_OBJ (STR.VARDAS=... OBJ.VARDAS=... 3) OBJ_SĄRAŠAS (STR.VARDAS=KONFERENCIJA) sistema atsakys: KOVO 5 KOVO 6 4) PRISKIRTI (STR.VARDAS=KONFERENCIJA OBJ.VARDAS=KOVO 5 PRADŽIA= 11 ) Priskiriamos reikšmės atributams. Procedūrų iškvietimas. Procedūrų iškvietimo būdai Kaip buvo minėta aukščiau, struktūroje gali būti aprašytos procedūros, kurios iškviečiamos tam tikrais atvejais. Pavyzdžiui: 1) yra galimybė (procedūra), leidžianti patikrinti objekto slotą konkrečios reikšmės atžvilgiu, 2) jeigu tikrinama reikšmė išeina iš nustatytų ribų, iškviečiama atitinkama procedūra. Tarkime, kad Gudrutis pageidauja pakeisti renginio organizavimo laiką iš 9:00 į 10:00. Jeigu šis pakeitimas būtų vykdomas be jokių sąlygų, gali būti, kad vienoje salėje tuo pat metu bus organizuojami du ar daugiau renginių. To galima išvengti, atliekant tokią procedūrą: 1) patikrinti visių objektų atributus PRADŽIA ir PABAIGA esant tam tikrai atributo SALĖ reikšmei, 2) jeigu aptikta konfliktinė situacija, apie tai pranešama vartotojui, kuris turi priimti sprendimą. Iš kitos pusės, jei Gudrutis keičia renginio temą (atributo TEMA reikšmę), papildoma procedūra nereikalinga, nes šis pakeitimas neturi įtakos kitiems objektams. Pagrindinė taisyklė: kai keičiamos tam tikrų atributų reikšmės, turi būti iškviesta procedūra, tikrinanti, ar reikalingi papildomi veiksmai. Procedūrų iškvietimo būdai Vykdant funkciją PRISKIRTI, kuri talpina atributo reikšmę į slotą, atliekama paprogramė, atliekanti objekto paiešką ir priskirianti reikšmę atributui. Pvz.: PRISKIRTI (STR.VARDAS=KONFER, OBJ.VARDAS=KOVO 5 PRADŽIA=10:00) Kokiu būdu kviečiama procedūra? Paprogramei, realizuojant funkciją PRISKIRTI, turi būti žinomas koks nors požymis, rodantis, kad keičiant tam tikro atributo reikšmę, turi būti iškviečiama procedūra (paprogramė). Kadangi pakeitimą vykdo funkcija PRISKIRTI, būtent iš jos ir kviečiama atitinkama procedūra. Tam tikslui gali būti naudojama tokia schema: 1. Struktūros aprašyme prieš atributo vardą parašyti '*'. 2. Kai paprogramė PRISKIRTI aptiks šį požymį, ji turi "žinoti", kad reikia iškviesti procedūrą. 3. Procedūros vardas nurodomas sekančiame atribute. Tarkim, kad procedūra turi būti iškviečiama, keičiant atributų PRADŽIA ir PABAIGA reikšmes. Procedūra turi išaiškinti konfliktines situacijas, kylančias dėl nuomos laiko. Tokiu atveju funkciją SUKURTI STRUKTŪRĄ galima užrašyti taip: SUKURTI_STR (STR.VARDAS=KONFERENCIJA ATRIB.SK=7 ATRIB=SALĖ ATRIB=TEMA ATRIB=ORGANIZ ATRIB=*PRADŽIA ATRIB=PROCEDŪRA ATRIB=*PABAIGA ATRIB=PROCEDŪRA ) SUKURTI_OBJ ( STR.VARDAS=KONF OBJ.VARDAS=KOVOS SALE=10 TEMA=STUDENTŲ PIKETAS ORGANIZ=PAUKŠTĖ PRADŽIA=9:00 PROCEDŪRA=KONTR PABAIGA=11:00 PROCEDŪRA=KONTR ) Šiuo atveju naudojama ta pati procedūra. Ją iškvies funkcija PRISKIRTI, jei bus keičiamos atributų PRADŽIA ir PABAIGA reikšmės. Procedūra peržiūrės visus objektus su atributu SALĖ=10 ir patikrins atitinkamus atributus, kad nepersikirstų dviejų renginių laikas. Taigi, paprogramė, realizuojanti funkciją PRISKIRTI, atliks sekančius veiksmus: 1) suras struktūros adresą atmintyje, 2) peržiūrės atributų, kuriems keičiamos reikšmės, sąrašą, 3) jei prieš atributo vardą ras požymį "*", paruoš procedūros iškvietimą (fiksuos procedūros vardą, patikrins ar ji egzistuoja), 4) ras objekto adresą atmintyje, 5) esant reikalui, iškvies procedūrą arba paprasčiausiai pakeis atributo reikšmę. Toks paprogramės, realizuojančios funkciją, kuri apima ir papildomų procedūrų iškvietimą, darbas yra vienas iš būdingiausių objektino programavimo savybių. Iš esmės tai yra ryšio tarp atskirų objektų organizavimas (pranešimų perdavimo būdas ). Šios savybės panaudojamos kuriant sistemą. Objektinės ekspertinės sistemos Kuriant ekspertines sistemas taip pat naudojamas objektinis programavimas. Tokios sistemos dirba su struktūromis, aprašančiomis kai kuriuos objektus. Struktūros sukūrimas Visų pirma reikia, priklausomai nuo uždavinio, išaiškinti faktorius, kurie naudojami prognozei arba priežastims nustatyti. Tarkime, kad reikia sukurti ekspertinę sistemą, kurios tikslas - nustatyti ar reikia evakuoti miestą, esantį prie upės, kilus potvynio grėsmei. Tirkime keturis faktorius, kurie bus struktūros atributai. Naudosimės negriežta logika: 1) VANDENS LYGIS (VL). Jei VL miesto ribose aukštas, yra potvynio grėsmė. VL gali didėti (kilti) dėl lietaus ar sniego tirpimo. 2) LIETUS. Jei laukiami gausūs lietūs, o VL lygis mieste aukštas, tai yra potvynio tikimybė. Jei lietus nenumatomas, tai šis faktorius ignoruojamas. 3) TEMPERATŪRA (TEMP). Jei pranašaujamas šiltas oras ir kalnuose nutirpo daug sniego, o VL aukštas, gali būti potvynis. 4) SNIEGAS. Atsižvelgiame tik į sniego kiekį kalnuose. Sniego tirpimas gali iššaukti VL kilimą. Tegu struktūra vadinasi POTVYNIS. SUKURTI_STR( STR.VARDAS=POTVYNIS ATR.SK=4 ATRIB=VL ATRIB=LIETUS ATRIB=TEMP ATRIB=SNIEGAS ) Objekto sukūrimas Kuriant objektą, imamos faktorių reikšmės tam tikrai datai, pavyzdžiui, 1997m. balandžio 1d. Tarkim, objektai kuriami dviems miestams, esantiems prie tos pačios upės. Objektų vardais bus miestų vardai. SUKURTI_OBJ (STR. VARDAS=POTVYNIS OBJ. VARDAS=AUKŠTADVARIS VL=AUKŠTAS LIETUS=GAUSUS TEMP=AUKŠTA SNIEGAS=DAUG ) SUKURTI_OBJ (STR.VARDAS=POTVYNIS OBJ. VARDAS=ŽEMUPĖ VL=ŽEMAS LIETUS=NĖRA TEMP=VIDUTINĖ SNIEGAS=DAUG ) Žinių bazės sudarymas Sudaromas sprendimų medis. Žiūrėti MediaCenter link 6 pav. Sprendimų medis potvinio prognozavimui Prie išvados EVAK veda keliai: 1) 1, 2, 4 2) 1, 2, 5, 8, 14 3) 1, 2, 5, 8, 11 4) 1, 2, 5, 9 5) 1, 3, 6, 10, 12 6) 1, 3, 6, 10, 13 7) 1, 3, 6, 7 8) 1, 3, 7 Kiekvienam keliui, vedančiam prie išvados EVAK galima užrašyti taisyklę. Taisyklių visuma sudarys žinių bazę. Priminsime, kad užrašant taisykles naudojami kintamųjų vardai. 1 JEI WL=aukštas IR RAIN=gausus TAI EVAK=evakuoti 2 JEI WL=aukštas IR RAIN=NEgausus IR SNOW=daug IR TEMPR=NEaukšta TAI EVAK=sustiprinti dėmesį 3 JEI WL=aukštas IR RAIN=NEgausus IR SNOW=daug IR TEMPR=aukšta TAI EVAK=evakuoti Tokiu būdu sudaromos visos aštuonios taisyklės. Realioje ekspertinėje sistemoje kintamųjų ir taisyklių būtų žymiai daugiau. Žinių bazės taikymas Tam, kad pademonstruoti objektų ir taisyklių taikymą, sudarysime lentelę: Atributo vardas Aukštadvaris Žemupė VL LIETUS TEMP SNIEGAS AUKŠTAS GAUSUS AUKŠTA DAUG ŽEMAS NĖRA VIDUTINĖ DAUG Pavyzdžiui, imkime 1-ą taisyklę. Pažiūrėsime, kaip dirbant su ja, naudojami objektai. 1 JEI WL=aukštas IR RAIN=gausus, TAI EVAK=evakuoti Jei mus domina Aukštadvaris, tai šio objekto atributų reikšmės atitinkamiems kintamiesiems WL ir RAIN gali būti perduotos funkcijos KOPIJUOTI pagalba. WL=KOPIJUOTI(STR.VARDAS=POTVYNIS, OBJ.VARDAS=Aukštadvaris, VL ) RAIN=KOPIJUOTI(STR.VARDAS=POTVYNIS, OBJ.VARDAS=Aukštadvaris, LIETUS ) Po to bus patikrinta taisyklė ir pateikta išvada EVAK=evakuoti. Tiesioginė ir atvirkštinė grandinės Naudojant objektus, prie jų atributų prijungiamos funkcijos PRISKIRTI, KOPIJUOTI. Visa kita lieka galioti, kaip išdėstyta ankstesniuose skyriuose. Kurią samprotavimų grandinę pasirinkti šiuo atveju? Jūs ir pats žinote- tiesioginę, kadangi, žinodami oro sąlygas, mes norim gauti loginę išvadą. Mūsų pavyzdyje sąlygos- tai vandens lygis upėje, lietus, sniegas ir t.t. Sistema tikrina šių sąlygų galiojimą` tam, kad pateiktų mums savo išvadas. Tačiau atvirkštinė samprotavimų grandinė irgi gali būti naudinga, jeigu turime žinių apie jau įvykusį potvynį. ASG pagalba gali būti patikslintos aplinkybės, sukėlusios potvynį. Kitaip sakant, turint pasekmes, ieškomos priežastys. Semantiniai tinklai. Semantinių tinklų struktūra ir objektai. Semantinio tinklo panaudojimas sistemoje, paremtoje taisyklėmis Kuriant ES žinios grafiškai vaizduojamos semantiniais tinklais. Kaip ir sprendimų medyje, semantiniame tinkle yra viršūnės (mazgai) ir jas jungiančios šakos (kryptingos linijos). Tinklo mazguose vaizduojamos informacijos pozicijos, o linijos rodo jų tarpusavio ryšį. 10 pav. žinių bazė apie paukščius ir lėktuvus pavaizduota semantinio tinklo pagalba. Paveikslėlyje matome, kad mazgas “Variklis” sujungtas su mazgu “Benzinas” ryšiu “Naudoja”, t.y. variklis naudoja benziną. Semantinių tinklų struktūra ir objektai Visų pirma sukuriama struktūra PAUKŠTIS, aprašanti objektų aibę. Objekto priklausomybė šiai struktūrai nusakoma ryšiu " yra". Taip konstatuojamas faktas, kad erelis ir sakalas yra paukščiai. Visos kitos linijos jungia struktūrą PAUKŠTIS ir jos atributus. Pasinaudodami semantiniu tinklu, sukursime struktūrą PAUKŠTIS: SUKURTI_STR(STR.VARDAS=PAUKŠTIS ATRIB.SK.=5 ATRIB=SNAPAS ATRIB=PLUNKSNOS ATRIB=SPARNAI ATRIB=SKRAIDYTI ATRIB=AEROD.PRINC. ) Žiūrėti MediaCenter link 6 pav. Semantinis tinklas, vaizduojantis ryšius tarp paukščio ir lėktuvo atribūtų Dabar galime sukurti objektą: SUKURTI_OBJ( STR.VARDAS=PAUKŠTIS OBJ.VARDAS=ERELIS SNAPAS=ILGAS PLUNKSNOS=ŠVIESIOS SPARNAI=PLATŪS SKRAIDYTI=AUKŠTAI AEROD.PRINC.=SKLANDYMAS ) Semantinio tinklo panaudojimas sistemoje, paremtoje taisyklėmis Iš semantinio tinklo galima sukurti žinių bazę, saugančią informaciją apie paukščius ir lėktuvus. Iš principo ją galima taikyti skraidančių objektų atpažinimui. Tokios bazės dalimi galėtų būti ir šios taisyklės: 1 JEI obj.atr=snapas, TAI skraiduolis=PAUKŠTIS 2 JEI obj.atr=sparnai, TAI skraiduolis=PAUKŠTIS ARBA skraiduolis=lėkTUVAS 3 JEI OBJEKTAS=SAKALAS ARBA OBJEKTAS=ERELIS, TAI skraiduolis=PAUKŠTIS 4 JEI OBJ.ATR=PLUNKSNOS IR OBJ.ATR=SPARNAI IR OBJ.ATR=SNAPAS, TAI skraiduolis=PAUKŠTIS 5 JEI skraiduolis=PAUKŠTIS, TAI OBJ.ATR=PLUNKSNOS ir t.t. Pagrindinės semantinių tinkų (ST) savybės: 1) Semantiniai tinklai aprašo ryšius tarp objektų (duomenų), kurie nurodomi tinklo mazguose. 2) Mazgai vaizduojami apskritimais ir turi vardus. 3) Ryšiai nurodomi kryptingomis linijomis. 4) ST galima panaudoti struktūrų ir objektų kūrimui. 5) ST galima panaudoti žinių bazės taisyklių sukūrimui. Programa, dirbanti su semantiniu tinklu, galėtų vesti dialogą su vartotoju, siūlydama jam pasirinkti vieną iš žemiau pateiktų variantų. Čia vartotojo įvedama informacija pavaizduota pabrauktu tekstu. Įveskite numerį, atitinkantį Jūsų pageidavimą: 1-gauti mazgus, kurie turi konkretų ryšį su tam tikru mazgu. 2-gauti visų ryšių pavadinimus tam tikram mazgui. 3-gauti visas mazgų poras konkrečiam ryšiui. 4-pabaiga. ?1 Mazgo vardas? PAUKŠTIS Ryšio pavadinimas? TURI SNAPAS SPARNAI PLUNKSNOS ?2 Mazgo vardas? PAUKŠTIS TURI SNAPAS TURI SPARNAI TURI PLUNKSNOS GALI SKRAIDYTI NAUDOJA AERODINAMINIAI PRINCIPAI ?3 Ryšio pavadinimas? TURI PAUKŠTIS SPARNAI PAUKŠTIS PLUNKSNOS PAUKŠTIS SNAPAS LĖKTUVAS SPARNAI LĖKTUVAS VARIKLIS VARIKLIS PILOTAS ?1 Mazgo vardas? ERELIS Ryšio pavadinimas? YRA PAUKŠTIS MediaCenter link: 10 pav. Semantinis tinklas, vaizduojantis ryšius tarp paukščio ir lėktuvo atributų Tikrumo koeficientas. TK ribinės reikšmės Tikrumo koeficientas(TK) naudojamas matematikos srityje, vadinamoje negriežta logika. Kadangi euristinės taisyklės remiasi grynai žmogaus patirtimi, negalima teigti, gad jos absoliučiai teisingos. Ekspertinės sistemos vartotojas taip pat nėra visiškai tikras, kad tos reikšmės, kurias jis priskiria kintamajam,, yra absoliučiai tikslios ar korektiškos. Pavyzdžiui, taisyklė JEI PROC =krinta ir MOKESČIAI=mažėja, TAI KAINOS=kyla gali būti ne visada teisinga, todėl jai galima priskirti tam tikrą tikrumo koeficientą (TK). Jis gali turėti reikšmes nuo -1 iki 1. Neigiama TK reikšmė rodo įsitikinimo laipsnį, kad taisyklė neteisinga, o teigiama - kad ji teisinga. Žinoma, taisyklių su TK=-1 taikymas neturi prasmės. Priskirkime aukščiau pateiktai taisyklei TK=0.9, o teiginiui, kad procentiniai tarifai krenta, t.y. pirmajai taisyklės sąlygai TK=0.6. Be to, tarkime, kad mokesčiai svyruoja, todėl manome kad jie mažės su TK=0.8. Tada taisyklę galėtume užrašyti taip: JEI PROC=krenta (0.6) IR MOKESČIAI=mažėja (0.8), TAI KAINOS=kyla (TK Taisyklei=0.9) Išvados, teigiančios, kad kainų lygis biržoje kyla, TK gali būti paskaičiuotas taip: išrenkamas minimalus TK iš JEI dalies sąlygų, sujungtų operacija IR, bei padauginamas iš visos taisyklės TK: min(0.6,0.8)*0.9=0.54 Taigi, su TK=0.54 galima tvirtinti, kad kainų lygis kils. Jeigu dar yra taisyklių su ta pačia išvada, tai galutinei išvadai reikia TK pasirinkti didžiausią iš visų. Suformuluosime bendrus tikrumo koeficientų taikymo principus: 1. Išrinkti minimalų TK iš sąlygų, sujungtų operacija IR. 2. Išrinkti maksimalų TK iš sąlygų, sujungtų operacija ARBA. 3. Padauginti išrinktą TK iš visos taisyklės TK. 4.Jei yra kelios taisyklės su ta pačia išvada, išrinkti maksimalų TK. 1 pavyzdys: 1 JEI A(0.3) IR B(0.6) TAI C (0.5) 2 JEI D(0.4) IR E(0.7) TAI C (0.9) Tikrumo koeficientas loginei išvadai C, remiantis jau suformuluotais principais, būtų: max ((min (0.3,0.6)*0.5), (min (0.4,0.7)*0.9))=max ((0.3*0.5), (0.4*0.9))= max (0.15,0.36)=0.36 2 pavyzdys: JEI A(0.3) IR B(0.6) ARBA D(0.5) TAI C (0.4) max (min (0.3,0.6),0.5)*0.4=max( 0.3,0.5)*0.4=0.2 TK ribinės reikšmės Dažnai nurodoma TK ribinė reikšmė. Loginė išvada laikoma teisinga, kai jos TK viršija ribinę reikšmę. Darbas su žinių baze tęsiasi tol, kol pasiekiama ribinė reikšmė arba duodamas atsakymas, kad sistema nepajėgi pateikti patikimos išvados. Sistemos darbo metu atliekami tam tikri skaičiavimai. Tarkim, kad ribinė tikrumo koeficiento (RTK) reikšmė yra 0.8. Ieškant atsakymo, rasta loginė išvada su TK=0.4. Ši reikšmė įsimenama. Po to ji lyginama su RTK reikšme. Užfiksuotoji reikšmė pasirodė mažesnė už ribinę, todėl darbas su žinių baze tęsiamas. Jeigu vėl rasta tokia pati loginė išvada, jos TK dauginamas iš (1-ankstesnysis TK) ir rezultatas pridedamas prie ankstesniojo TK. Tokiu būdu gautas naujas TK vėl užfiksuojamas. Dabar jau ši reikšmė lyginama su RTK reikšme. Jeigu ji didesnė už RTK, pateikiama loginė išvada, priešingu atveju darbas su žinių baze tęsiamas. Tai galima užrašyti lygtimi: Einamasis TK= ankstesnysis TK+(1-ankstesnysis TK)*kitasTK Pavyzdys: Ribinė TK reikšmė: 0.8 Taisyklė: JEI A, TAI B (TK=0.6) Einamasis TK: (0+(1-0)*0.6)=0.6 Kita taisyklė: JEI C TAI B (TK=0.7) Einamasis TK: 0.6+(1-0.6)*0.7=0.88 TK=0.88. Ši reikšmė viršija ribinę tikrumo koeficiento reikšmę, todėl vartotojui bus pateikta loginė išvada B. Save mokančios sistemos Yra daug žmogaus mokymo būdų. Galima jam dėstyti abstrakčius faktus arba mokyti, remiantis pavyzdžiais. Koks bebūtų metodas, didžiausią efektą duoda gyvenimo patyrimas. Pavyzdžiui, jei vaikas dar nesupranta, kad palietus karštą daiktą jis gali skaudžiai nudegti, tai kyštelėjęs pirštą į verdantį vandenį gal būt pagaliau tai supras. Tokia žinių įgijimo forma vadinama grįžtamu ryšiu. Mokymasis vyksta grįžtamojo ryšio pagalba. Panašiu būdu “mokosi” ir kompiuterinės programos. Programoje realizuojamas faktų saugojimo ir išvadų darymo algoritmas. Loginės išvados susiejamos su pastoviai programą papildančiais naujais faktais. Sistema mokosi tik tada, kai susiduria su kuo nors, prieštaraujančiu jau žinomam. Panagrinėkime sistemą, kuri turi atskirti automobilį nuo tanko. Tankai ir automobiliai turi, pavyzdžiui, tokius požymius: tankas turi patranką ir liuką, automobilis turi dureles ir ratus, tankas ir automobilis turi kėbulą. Kompiuterinę programą galima išmokyti, paaiškinus jai skirtumą tarp dviejų objektų. Po to įdiegtą į ją darbo principą ji gali pritaikyti didesniam objektų kiekiui. Programoje sudaromi trys sąrašai: 1 sąrašas (automobilio atributai) 2 sąrašas (tanko atributai) 3 sąrašas (bendri atributai) Reikia pastebėti, kad programa dirbs tokiu pačiu principu, nrpriklausomai nuo to, apie kokius objektus kalbama. Programa turi paklausti objekto vardo: Objekto vardas 1: automobilis Objekto vardas 2: tankas Po to ji turi paklausti objekto atributų: Įveskite bet kurio objekto atributus: 1? patranka 2? liukas 3? kėbulas 4?

Daugiau informacijos...

Šį darbą sudaro 10378 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Lygis
Universitetinis
Failo tipas
Word failas (.doc)
Apimtis
39 psl., (10378 ž.)
Darbo duomenys
  • Informacinių technologijų konspektas
  • 39 psl., (10378 ž.)
  • Word failas 467 KB
  • Lygis: Universitetinis
www.nemoku.lt Atsisiųsti šį konspektą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt