Основы искусственного интеллекта: учебное пособие


Download 428.17 Kb.
bet33/54
Sana11.02.2023
Hajmi428.17 Kb.
#1189651
1   ...   29   30   31   32   33   34   35   36   ...   54
Bog'liq
Основы искусственного интеллекта учебное пособие

tashqi maqsadlar. Dasturga so'rovni shakllantirishda bir nechta o'zgaruvchilardan foydalanish mumkin. Keyin dastur o'zgaruvchan qiymatlarning ­barcha mumkin bo'lgan kombinatsiyalarini qaytaradi (buning ­uchun UPI predikatidan foydalanish shart emas ).
Misol:
/* Dastur tuzilishini namoyish qilish */
Zoshaglar
persop, vyng = sushbo1 pre31ca-les
Pkez (parsop, vypd) s1ases
Ikez ("Chokp", satega).
Ikez ("Bu", sotriVer).
Ikez ("KaIu", sotriUer). doa1
igPe ("U nimani yaxshi ko'radi?"), p1,
Ikez ("Bu", X),
igPe ("U sevadi", X).
har safar bir xil shartlarni ko'rsatmaslik imkoniyatini ta'minlash maqsadga muvofiqdir . ­Ma'lumotlar bazasidagi faktlardan foydalanmasdan javoblarni ma'lumotlar bazasidan olish ham foydalidir. Prolog tilida bu muammo ­ma'lumotlarni o'z ichiga olmaydigan qoidalarni, ya'ni nol arity qoidalarini qurish orqali hal qilinadi .
Misol. Keling, Frenk va Meri er va xotin, o'g'lining ismi Sem va qizining ismi Debbi bo'lgan ba'zi bir taxminiy oilani tasavvur qilaylik.
Quyida ushbu oila haqida suhbat.
Savol : Debbi va Sem bir-biriga qanday aloqasi bor?
Javob : Debbi Semning singlisi.
Savol : Buni nimadan xulosa qildingiz?
Javob : Debbi va Semning ota-onasi bir, Debbi qiz. Debbi Semning singlisi.
Ushbu savollarning ikkinchisi ­so'rovga javob berish uchun ishlatiladigan qoidaning so'zlashuv shaklida tuzilishi. Ushbu qoidani quyidagicha ifodalash mumkin:
Debbi Semning singlisi
Debbi ayol va Debbining ota-onasi Semning ota-onasi.
Bu iborada "agar" sharti mavjud ( 1 r, belgilar birikmasi bilan belgilanishi mumkin ), bu ­ikkala bayonotni mantiqiy ravishda bog'laydi. “Agar” dan oldingi gap ­xulosa yoki mantiqiy natija , “agar”dan keyingi gap esa taxmin yoki asos deyiladi ­.
Opa-singil munosabatlarini belgilaydigan qoida quyidagicha ­ko'rinadi:
s1sReg (31sReg, VgorReg) l_G
Gesha1e (31zReg),
parepPz (31sReg, PaPeg, MoPeg), parepPz (BroPeg, PaPeg, MoPeg).
Dastur misoli:
/* Qoidaning qurilishini ko'rsatish */ dosha1nz
persop = suxbo1 prge ^ca-les
slanets (parsop)
1esh1e(parsop)
parenPs (parsop, parsop, parsop)
s 1 s^er(parsop, persop)
iko_1z_5le_z1zker
doa1
iko_1z_5le_z1zker.
bandlar
na1e ("Parp").
sha1e ("3ash").
1esh1e ("Magu").
1esha1e("beye").
ragePz("Zash", "Bgapk", "Magu").
ragePs ("Beye", "Parp", "Magu").
iko_1z_kke_z1zkeg I
s1sker (31sker, Bgokker),
ur1Re(31sker, "1s Pke s1sker oP", Bgokker,"."), n1. s1zkerg (31zkerg, Bgokkeg)
1esh1e(31zker),
ragePz (31sker, Backer, Mocker),
ragePs (Brokkeg, Bakkeg, Mokkeg).

  1. Murakkab ob'ektlardan foydalanish

ko'rib chiqaylik zkiyepr ("Ivanov", 14, 05, 1980) .
, oxirgi uchta ob'ektning maqsadi tushunarsiz bo'lib chiqadi . ­Aslida, ular ­talaba Ivanovning tug'ilgan kunini ifodalaydi. Bu ob'ektni quyidagicha aniqroq ­ta'riflash mumkin: zkiyepr ("Ivanov", Ygrryau(14, 05, 1980)) . Boshqa ob'ekt yoki ob'ektlar yig'indisi bo'lgan ob'ekt ­qo'shma ob'ekt deb ataladi [4].
Misol:
/* Kompozit obyekt tavsifi */
yoshaglar
yake=YgkMay(lpkedeg, l_pkedeg, l_pkedeg) prue1ca-les
zkiyepk (zushyo1, yake)
bandlar
z
("Иванов",Ыгкк(Зау (14, ("Петров",Ыгкк(Зау (30, ("Сидоров",ЫгкМау (29,
("Иванов",Х),


05, 1980)). 12, 1981)). 05, 1981))

kiyepk zkiyepk zkiyepk
doa1
zkiyepk
mg1ke("Ivanovning tug'ilgan sanasi: ",X)
Agar faqat talabaning tug'ilgan yili aniqlansa ­, maqsad quyidagicha ko'rinadi:
zkiyepk ("Ivanov", YgkMau (_, _, Y)), mg1ke ("Ivanovning tug'ilgan yili: ", Y).
E'tibor bering, qiymatini ­aniqlash kerak bo'lmagan o'zgaruvchi anonim o'zgaruvchi
deb ataladi va pastki chiziq bilan belgilanadi.

  1. Muqobil domenlardan foydalanish

Ma'lumotlarni ifodalash ko'pincha ko'p sonli ­tuzilmalarni talab qiladi. Prologda bu tuzilmalar domenlarning muqobil tavsifi yordamida tasvirlanishi kerak.
Misol:
/* Muqobil domenlardan foydalaning. Nuqtali vergul (;) muqobil domenlarni ajratish uchun ishlatiladi */
yoshaglar
Spd \u003d t ^ s_kYpd (kakeVe ^), ■ Qarang (aikkog, k1k1e); resog(ark1sk, a1bum, kure) parsop, ukakeVe^, aikkog, k1k1e, ark1sk, a1bum, kure = sutbo1
pro31ca-les
oipz (regzop, RYpd)
bandlar
oipz ("Ivanov", sh1zs_kk1pd ("Plapo")). oipz ("Petrov", kitob ("U.K.K. To1k1ep",
"Kekigp oR kke K1pd")). ompz ("Sidorov", gesogy ("E1kop Wokp",
"1ce pa1r", "pori1ar")).

    1. Prolog tilida takrorlarni tashkil etish

Ko'pincha dasturlarda bir xil vazifani bir necha marta bajarish kerak bo'ladi. Xuddi shu vazifani bir necha marta bajaradigan qoidalarni amalga oshirishning ­ikki yo'li mavjud ­. Ulardan birinchisini takrorlash,
ikkinchisini esa rekursiya deb ataymiz. Rekursiyani bajaradigan qoidalar qayta tiklashdan foydalanadi va
rekursiyani amalga oshiradigan qoidalar o'z-o'zidan ­chaqiruvdan foydalanadi.

Takrorlashni amalga oshiradigan qoida turi quyidagicha:
gerek1k^e_ru1e /* takrorlash qoidasi */

,

RaI. /* muvaffaqiyatsizlik */
Ushbu qoidaning asosiy qismidagi ­
konstruktsiyasi bir nechta ­bayonotlarni o'z ichiga olgan predikatlarni, shuningdek, dasturda belgilangan qoidalarni bildiradi. O'rnatilgan RAI predikati ( ­" noto'g'ri") orqaga qaytishga olib keladi, shuning uchun predikatlar va qoidalar yana bajariladi.
Rekursiyani bajaradigan qoida turi quyidagicha:
rekursiya qoidasi */

,
hesigs^e_rule.

E'tibor bering, ushbu qoidaning asosiy qismidagi oxirgi qoida hesigs^e_rule qoidasining o'zi . Bu rekursiya: qoidaning tanasi o'ziga qo'ng'iroqni o'z ichiga oladi.
Takrorlash va rekursiya qoidalari bir xil ­natija berishi mumkin, garchi ularni bajarish algoritmlari bir xil bo'lmasa ham ­. Ularning har biri muayyan vaziyatda o'z afzalliklariga ega ­. Masalan, rekursiya ko'proq tizim resurslarini iste'mol qilishi mumkin, chunki u har safar rekursiv chaqirilganda, foydalanilgan qiymatlarning yangi nusxalari stekga suriladi, bu asosan qoidalar o'rtasida qiymatlarni o'tkazish uchun ishlatiladigan xotiraning maxsus maydoni. Ushbu qiymatlar qoida muvaffaqiyatli yoki muvaffaqiyatsiz bo'lguncha saqlanib qoladi. Ba'zi hollarda, oraliq qiymatlarni ­keyinchalik foydalanish uchun ma'lum bir tartibda saqlash kerak bo'lsa, stekdan bunday foydalanish oqlanishi mumkin.­

      1. Muvaffaqiyatsizlikdan keyin orqaga qaytarish usuli

Keling , barcha mumkin bo'lgan echimlarni qidirishda ichki maqsadni hisoblashni nazorat qilish uchun ­muvaffaqiyatsizlikdan keyin orqaga qaytish (ROF) usulidan qanday foydalanish mumkinligini ko'rib chiqaylik. ­GRE usuli qoidaning ishlamay qolishiga olib keladigan ­GAI predikatidan foydalanadi. U ishga tushganda, ichki birlashtirish tartiblari qaytish nuqtasiga qaytadi va oxirgi bayonot qayta ishlanmaguncha jarayon takrorlanadi.
OPN usulidan foydalanish ma'lumotlar bazasidagi har bir bayonotdan ma'lumotlarni ajratib olish imkonini beradi. Bir yoki bir nechta predikat o'zgaruvchilar uchun ob'ekt qiymatlariga qo'shimcha ­shartlarni qo'shish orqali siz ma'lumotlarni faqat ma'lum bayonotlardan olishingiz mumkin.
Misol 1. Ma'lumotlar bazasida ­bir nechta shaharlar haqidagi ma'lumotlar (shahar nomi va shahardan ­oqib o'tadigan daryo nomi) faktlar to'plami sifatida saqlansin. Maqsad ekranda shaharlarning to'liq ro'yxatini olishdir.
/* Muvaffaqiyatsizlikdan keyin orqaga qaytarish usulini ko'rsatish */

Download 428.17 Kb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   ...   54




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling