I n t e l l e k t u a l |
Mantikiy programmalash tillari.
Odamlar urtasidagi mulokot tili EX,M uchun (kabul kilish uchun ham, kayta ishlash uchun ham) juda kiyin. CHunki odamlar bir-birlari bilan so’zlashganlarida noa-nik va xatto ikki xil mazmunli fikr aytishlari ham mumkin. Misol: «Menga anuni ber... Yuk, u emas, anuv-nisi». Gap nima turrisida ketayotganini bilish uchun predmetlarni kurib turish kerak, chunki gapirayotgan, jumlalarni bayon kilayotgan vaktda kuli bilan usha predmetlarni kursatayotgan bulishi kerak. Lekin tekstda bu axborot yuk. Bunday xolatda matematiklar: «Til nazariy jixatdan umumlashmagan», — deydilar. SHuning uchun EXM bilan mulokot kilishda odam tiliga nisbatan sezilarli darajada ixcham va sodda bulgan maxsus tillar yaratildi va yaratilmokda. EX,Mga, u nima kilishi xakida topshirik berish uchun mashinaga programma kiritilishi kerak. Program¬ma — bu programmalash tilida tuzilgan EXM uchun tu-lik bir topshirikdir. EXMlarning birinchi avlodi uchun programmalar bevo sita mashina komandalari tilida yozilgan. EXM baja-rishi lozim bulgan barcha amallar juda sodda bayon etilgan. SHuning uchun bunday programmalar ikkilik tilidagi juda kup va 1 va 0 larning ketma-ketligidan iborat buladi. Bunday ketma-ketliklar keyinchalik bevo-sita mashina tili buldi. Insonga bunday til bilan ishlash ancha kiyin va uni charchatadi. Xakikatdan ham fakat sonlar emas, xarflar ham, xar kanday bel-gilar ham 0 va 1 lar yordamida ifodalanishi mumkin. Bunday mashina komandalari tilida tuzilgan program-malarni taxlil kilish mashakkatli ishdir. EXMning keng kullanib borishi natijasida programma tuzuvchilar ishini engillatish maksadida algoritmik tillar (ALGOL, FORTRAN, PASKAL , KOBOL va boshka tillar) yaratiladi. Bunday algoritmik tillar program-malashtirish tillari deb ham aytila boshlandi. Programmalash tillarining turli-tumanligi EXMda echiladigan masalalarning moxiyati bilan boglanadi. Ilmiy-texnik masalalarga — FORTRAN, iktisodiyot-ga — KOBOL, dastgoxlarni boshkarishga — APT kul-laniladi. Ekspert sistemalar soxasida kullaniladigan prog-rammalash tillari — muammoni echishga moslashtirilgan tillar — FORTRAN va PASKAL , sun’iy intellekt soxasida matn (tekst)larni kayta ishlovchi tillar — LISP va PROLOGdir. Sonli kiymatga ega bulmagan ma’lumotlarni kayta ishlash maksadida 1960 yillarda Djon Makarti to-monidan LISP tili yaratildi. Keyinchalik bu tilning turli xil kurinishlari yaratildi. Bularning ichida INTERLISP va MEKLISP kuprok tarkalgan. 1970 yillar boshida Marsel dorilfununining bir gurux mutaxassislari A. Kal meroe boshchiligida teore-malarni isbotlaydigan maxsus sistema yaratdilar. PROLOG deb nomlangan bu sistema FORTRAN tilida yozilgan bulib, tabiiy tilda tuzilgan tekstlarni kayta ishlashga bagishlangan. Keyinrok Van Emden va R.Kovol skiylar tomonidan mantikiy programmalar tili uchun formal semantika yaratildi. Uning kompilyator-interpretatori («tarjimon»i) 1975 yilda Edinburg do-rilfununida, uning modul versiyasi (MPROLOG) esa Vengriyada yaratildi. 1981 yilda PROLOG, 5-avlod kom-p yuterlarning yapon loyixasiga asos kilib olindi. Bu loyixaga «dunyo madaniyatiga kushilgan yapon xissasi» deb nom berildi. Bizning mamlakatimizda ham urta EXM (ruscha SM EVM) va EXMning yagona sistemasi (ruscha ES EVM)da interpretatorlar («tarji-mon»lar) variantlari yaratildi. PROLOG tilida tu-zilgan programma, programmaga tegishli dalillar va koidalar yordamida maksadga erishishga xarakat kili-nadi. Bu til shu bilan tejamliki, xar bir dalil va koida bir marta aniklanadi (ta’riflanadi); dalillar, surovlar, xulosalar, ta’riflarning bir xil yozuvini ishlatadi; ichiga kurilgan kiymatlar manbaiga, faraz-lar tarmori buyicha echimni izlashni yagonalashtirish ap-paratiga ega. Borland (AK.SH) firmasining TURBO PROLOGi standart samarali tillarga yakinlashyapti. Masalan: CONCURENT RNO OOning bir nechta rako-batlashadigan versiyalari bor. PROLOG tili xali yangi va u rivojlanish boskichida. PROLOG — programmalash tili — mantikiy mate-matikaga asoslangan yuksak saviyali tildir. U bir necha teng xukukli semantikalari (so’z ma’nolari) borligi bilan xarakterlanadi. PROLOGda programmaning aso-siy birligi — bu programma tuzuvchi tomonidan koida kurinishida berilgan ob’ektlar (predmetlar) urtasi-dagi munosabatlarning ifodasidir. Ob’ektlar orasidagi munosabat kuyidagi kurinishga ega bulishi mumkin: • Rustamga Oyjon yokadi. • Otabek aka Ilxom akaning otasi. • Ilxom aka Faridaning otasi. • Oyjonga Rustam yokadi. Ular yordamida yangi alokalar (munosabatlar)ni aniklash mumkin. X U ning dusti, agar X U ga yoksa va U X ga yoksa hamda savollar berilsa, masalan: Rustam Oyjon bilan dustmi? PROLOG sistemasida bu kuyi-dagicha tasvirlanadi: (Rustam — Oyjonning dusti) shundaymi? Javob: Xa. Tilda hamma surovlar kirish terminlari yoki ichiga kiritilgan alokalar (munosabatlar) asosida tuziladi. Surovlar uch turga bulinadi: ifodaning rostligini tek-shirish; ifodalanganlarni kanoatlantiruvchi hamma ob’-ektlarni berish hamda dalillar kushish. Aloka (muno-sabat)lar soni uncha yukori bulmagan vaktda program-mani mantik terminlarida tasvirlash kulay. Agar masalani ifodalash uchun yuz va undan kup alokalar talab kilinsa, u xolda PROLOG programmasi juda kupol bulib koladi va tushunish birmuncha kiyin buladi, bu esa uni takomillashtirishga kiyinchilik turdi-radi va puxtaligini pasaytiradi. Ekspert sistemalarni yaratishda savdoga alokador vositalarning katta kismi «Si» programmalash tilida yozilgan. Eng kuchli sistemalar (ART, KEE, Knowlegek-raft) LISP tilida maxsus mashinalarda yaratilgan. Savdoga alokador bulgusi ekspert sistemalarning maket-lari va savdoga alokasi bulmagan loyixalarni yara-tish vositalari orasida PROLOG oldingi safda turadi. Bundan keyin programmalar ancha samarali tillar (Si, PASKAL , ASSEMBLER)da kayta yoziladi. Bunga PROLOG — programmalar realizatsiyasi (amalga oshirish)ning past samaradorligi sababdir.
Ekspert sistemaning funktsional blok-sxemasi
2-rasmda ekspert sistemaning asosiy tarkibiy kism-lari kursatilgan. Uning tarkibi olti kismdan iborat: mulokot urnatish kismi; xotirada ishchi bulagi bor bulgan masalani echuvchi kismi; tushuntirish kismi; savol-javob kismi; bilimlar va ma’lumotlar ustidan nazorat urnatuvchi bilimlar bazasini boshkarish kismi; bilim-larni yigish va xatolarini aniklash kismi. Extiyoj turilganda sistema intellektual amaliy programmalar paketlarini (bu paketlarni ishlatish uchun yukori unum-dorlikka ega bulgan EXMlar talab kilinadi) ishlatishi mumkin.Ekspert sistemaning xar bir kismining vazifalarini bayon kilishga utishdan avval shuni ta’kidlash kerakki, bilimlar bazasi (BB)ga kiritiladigan bilimlar ikki toifaga bulinadi. I toifaga — barchaga ma’lum bulgan dalillar, xo-disalar, konuniyatlar, ya’ni bu predmet sox,asida tan olingan xakikatlar kiradi. Bu bilimlar kitoblar, makolalar, ma’lumotnomalar kabi turli xil manbalar-da beriladi. // — toifaga esa turli xil manbalarda yozilmasa ham, mutaxassis uz xaet tajribalariga kura tula etar-li bulmagan sharoitlarda karama-karshiliklarga duch kelganda ham xulosa chikarib olishga kumaklashadigan koidalar kiradi. Bilimlar deklarativ va protsedu-rali bilimlarga bulinadi. Deklarativ bilimlar — sistemaga uzaro boglangan dalillardir. Protsedurali bilimlar — berilgan (boshlanrich) ma’lumotlar kabi dalillar ustida protseduralar (algoritmlar, programmalar, analitik uzgartirishlar, empirik koidalar va shu kabilar)ni amalga oshirish natijasida xosil buluvchi bilimlardir. Bilimlarni jamlash jarayonida ekspert bilan ma’-lum bilimlarni (bu bilimlar BBning I toifasiga ki-radi) EXMga kiritishga moslovchi muxandis (kognito-log) urtasida mulokot amalga oshiriladi. Ekspert sis-temadan foydalanuvchi kishi maxsus sistema yordamida ES bilan mulokot urnatadi, bu jarayon davomida // toifa bilimlari xosil bulishi mumkin. Ekspert — biror bir soxadagi yukori malakali mutaxassis. Uning bilimi ekspert sistemasiga kiriti-ladi va keyinchalik bu soxada tekshirish utkazish uchun ishlatiladi (foydalaniladi). Kognitolog. Bilimlarni ekspertdan chikarib olish va ularni EXMda tasvirlash uchun xozirgi paytda yangi kognitologiya mutaxassisligi shakllanayapti. Kogni¬tolog ekspertdan olingan bilim va ma’lumotni umumiy konuniyatlar asosida shakllantiradi va tugri program-malash yoki sistemalash vositasida dialog jarayonida EXMga kiritadi. Tadkikot soxasi — predmet soxasi deyilib, bu soxa uchun ekspert sistema yaratiladi. Foydalanuvchi —ekspert sistema bilan mulo¬kot kiluvchi anik bir soxadagi mutaxassis. Uning ixti-yorida terminal yoki shaxsiy EXM buladi. Mulokot (murojaat) kismi ekspert sis¬tema bilan ishlashda foydalanuvchiga yordam kursatishga muljallangan. Bu kiem (sistemacha)da uzi xakida sis-temaning bilimlari bor, bu bilimlar ekspert sistema bilan ishlovchi foydalanuvchini ukitish hamda zarur ma’lumotlarni berish uchun kerak. Tabiiy tildan EXM tiliga tarjima (translyatsiya) kilish jarayoni va shuning-dek bu jarayonga teskari jarayon ham mulokot kismining vazifalaridan biridir. Masalan echuvchi kismi uz navbatida uch kism-dan tarkib topgan bulib, ular kuyidagilardir: kuri-layotgan soxa masalasi echilishini rejalashtirish, anik masalalarni echishda mantikiy xulosa chikarish va masa-lani echish kismlaridir. Bu erda amaliy masalalarni echishga muljallangan programmalar majmuasi ham mavjud. Bu kiem bilan ma’lumotlar va bilimlar baza-si, shuningdek xotiraning ishchi bulagi bevosita alo-kada buladi. Rejalovchining vazifasiga tashki xotira ma’lumot-lari va bilimlari bilan «fikr» almashishni rejalash- tirish x,amda bilimlar bazalarini ishga kushish tar-tibini sharoitga karab uzgaruvchan rejalashtirish ki-radi. Rejalashtirish ishining ketma-ketligi muammoni echish ketma-ketligi kabi ayrim bilimlar bazalari yordamida beriladi. Kurilayotgan soxaga tegishli bulgan bilimlarni tas-virlash jarayonida produktsion koidalar usuli kul-lanilganligi sababli keyingi saxifalarda sistema xa-k,ida so’z yuritilganda produktsion sistema nazarda tu-tiladi. Mantikiy xulosa chikarish kismi echila-yotgan masala uchun zarur bulgan ma’lumotlarni BB da kidirlb topishga muljallangan. Buning uchun kandaydir faraz (gipoteza) xosil kilinib, ung kismi shu farazdan iborat bulgan BBning barcha koidalari kurib chikiladi. Bundan sung x,ar bir koidaning kaysi maksadga yunalti-rilganligi u yoki bu yul bilan aniklanadi. Agar biror shartning kiymatini mavjud ma’lumotlarga kura anik-lash mumkin bulmasa, u xolda xususiy maksad urnatiladi; ya’ni uz navbatida boshka koidalarni ishlatishga olib keladigan noma’lumlar topiladi. koidani kurishda kuri-layotgan shartning kiymati aniklanmasa sistema foyda-lanuvchiga savol beradi. Foydalanuvchi bu savolga javob bermasa, u xolda kurilayotgan koida xisobga olinmaydi. Kurinadiki, mantikiy xulosa kismi BBda maksadga yunaltirilgan izlashni amalga oshirishga imkon beradi. Tushuntirish kismi foydalanuvchining xar xil ma’lumotlarga bulgan talabini kondirish uchun muljallangan, boshkacha kilib aytganda, sistema muammo mutaxassisiga tushunarli bulgan usul bilan uzining kabul kilgan echimini tushuntirib berishi shart. Tushuntirish kismining vazifasiga kuyidagilar kiradi: 1) foydalanuvchi tomonidan boshlangich ma’lumotlarniEXMga kiritayotgan vaktda, sistemaga talab kilinayotgan ma’lumotlar nima uchun kerakligini foydalanuvchigatushuntirib bermok; 2) kayta ishlangan alox,ida koidalarni uziga xos xolatlar (xulosalar, natijani chikarish yuli va shu kabilar) bilan boglash, konsul tatsiya yakunida nima sababdan bu xodisalarning bulib utganligini tushuntirmok; foydalanuvchi savollariga javob berish uchun BBdakidiruvni amalga oshirmok. Birinchi imkoniyat nima uchun? va kanday? savol (komanda) yordamida amalga oshiriladi. K,olgan ikkita imkoniyat ekspert sistema xulosa kilgandan sung amalga oshiriladi va foydalanuvchining savollarini xisobga oladi. Ularning taxlilini savol-javob kismi amalga oshiradi. Bu kiem tomonidan tuzila-digan savollar kandaydir parametrning anik kiymatini yoki u kanday kullanilganligini uzida mujassamlashti-rishi kerak. Uning kiymati kanday olinganligini yoki u kanday ishlatilganligini tushuntirib berish uchun sistema bir-biri bilan boglangan, kayta ishlangan koidalar ruyxatini karab chikishi va ularni foydala-nuvchiga olingan kiymatlar bilan birga chikarib beri-shi shart. Bilimlar bazasini boshkarish s i s t e-masi (B B B S). Foydalanuvchining savoli bevosita yoki bilvosita bulishi mumkin. Agar savollar bevosita bulsa, u xolda ma’lumot — navigatsiya masalalarining echilishi bilan bilimlar va kiymatlar bazasi (manbai) dan beriladi, ya’ni foydalanuvchi savollari mulokot kismida savollar formulasiga uzgartirish jarayoni or-kali beriladi. SHu yul bilan BBBS koidalar va meta-koidalarni tanlash orkali bilimlar va berilgan kiy¬matlar bazasidan kerakli ma’lumotni tanlaydi. Savol¬lar bilvosita bulganda, sistema anik mantikiy amal-larni bajarishi shart, ya’ni mantikiy xulosa chika-rishi kerak. Bu savollarni boshka kurinishga utkazish, saklanayotgan ma’lumotlarni umumlashtirish, mavjud ma’lumotlarni tuldirish bilan boglik'amallar bulishi mumkin. Bu hamma amallarni BBBS bajaradi. Bundan tashkari BBBS katalog sistemasida bor bulgan tashki kiymatlar bazasi hamda uning kiymatlari asosida oralik masofasi uzok bulgan kiymatlar bazasiga kirish xukukini ham ta’minlaydi. SHunday kilib, programma ta’minoti yordamida amal¬ga oshiriluvchi BBBS bilimlar va kiymatlar bazalarini manipulyatsiya kilish uchun ishlatiladigan umumlashgan instrumentdir. Bilimlar va kiymatlar bazasi. Bilim¬lar va kiymatlar bazasiga bulish rasmiy xarakterga ega. Xar ikki baza aslida bitta — boshkaruvchi va tasviriy til darajasiga yuklatilgan. Kiymatlar bazasiga tayyor ma’lumotlar, bilimlar bazasiga esa kurilayotgan soxa konuniyatlarini ifoda-lovchi ma’lumotlar kiritiladi. Bilimlar bazasidagi ma’lumotlar asosida oldindan bashorat kilish va kiymatlar bazasida aks etmagan yangi dalillarni chika-rish mumkin. Muammoni xal kilish yullarining bayoni, echimni chikaruvchi bulim (modul ) va rejalashtiruvchi bulim (modul ) ishlari bitta, bilimlarni tasvirlovchi til produktsiya shaklida ifodalanadi. Bilimlarni tuplash va xatoliklarni aniklash kiem i. Ekspert sistemadan unumli (sa-marali) foydalanish uchun bilimlar bazasa (BB)ga juda kup axborotlar kiritilishi kerak, ya’ni BBda berilgan bilimlar muammo tadkikot soxasi bilan bor-langan hamma muammolarni tula xolda kamrab olishi kerak. Xattoki eng yukori malakali mutaxassis (ekspert) lar ham uz mutaxassisligi bilan alokador bulgan barcha muammolarni xisobga ola bilmaganidan ularning chikar-gan ayrim xulosalari xato bulishi ham mumkin. Ma’-lumki bilimlar vakt utishi bilan eskiradi, shuning uchun BBda bilimlarni x,ar doim takomillashtirish kerakligi ekspert sistemalarga kuyiladigan asosiy talabdir. Xatolarni turrilash, BBda bilimlarni kengaytirish va takomillashtirish, eski bilimlarni olib tashlash va yangilash, bilimlarni tuplash va xatolarni aniklash kismi vazifasiga kiradi. YUkorida kurib chikilgan ekspert sistemasining funk¬tsional sxemasi hamma ekspert sistemalarnig 1-avlodi uchun xarakterlidir. |
Bosh |