prolog-dasturlarida qirqishdan foydalanish va prolog tilidagi mantiqiy muammolarni hal qilish

DOCX 7 sahifa 22,4 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 7
mavzu: 29. prolog-dasturlarida qirqishdan foydalanish va prolog tilidagi mantiqiy muammolarni hal qilish. reja: 1. prolog-dasturlarida qirqishdan foydalanish. 2. prolog tilidagi mantiqiy muammolarni hal qilish. 1-laboratoriyada maqsadlarni qaytish bilan moslashtirish jarayoni ko'rib chiqildi. misol uchun, elementning ro'yxatga tegishli yoki yo'qligini aniqlaydigan "taalluqli" predikati uchun: a'zo (x,[x|_]). a'zo(x,[_|til]): - a'zo(x,til). maqsad predikat: ? - a'zo(a,[a,b,a,c,a,d,a]) besh xil usulda mos kelishi mumkin. ba'zan, agar mavjud bo'lsa, faqat bitta yechim topib, keyin boshqa mumkin bo'lgan echimlardan voz kechish talab qilinadi. qolgan echimlarni bunday rad etish "kesish" operatsiyasi yordamida amalga oshirilishi mumkin. maxsus "kesish" mexanizmi kelishilgan maqsadli bayonotlar zanjiri bo'ylab qaytib kelganda ilgari qilingan tanlovlarning qaysi biri qayta ko'rib chiqilmasligi kerakligini belgilashga imkon beradi. bunda: - dastur tezroq ishlaydi, chunki oldindan ma'lum bo'lgan maqsadlar uchun yangi taqqoslashlar topishga vaqt yo'qotmaydi, ular yechimga yangi hech narsa qo'shmaydi. - dastur kompyuter xotirasida kamroq joy egallashi mumkin (qaytish nuqtalari esda qolmaydi). sintaktik jihatdan qoidadagi “kesish” “!” predikati bilan …
2 / 7
obi bo'lmaganlar uchun. dastur fragmenti quyidagicha ko'rinadi: asosiy_xizmatlar (katalogdan_foydalanish). asosiy_xizmatlar (sertifikatlarni qabul qilish). qo'shimcha_xizmatlar (obuna). qo'shimcha_xizmatlar (kutubxonalararo_ajrim). umumiy_xizmatlar (x): - asosiy_xizmatlar(x). umumiy_xizmatlar(x): - qo'shimcha_xizmatlar (x). book_not_returned ('s. watzer', kitob 10089). book_not_returned ('a. jones', kitob 29907). ................................................... o'quvchi ("a. jons"). o'quvchi ("v.metesk"). ................................................... xizmatlar (reader, servicetype): - kitob_qaytarilmadi (o'quvchi, kitob), !, asosiy_xizmatlar (xizmat_turi). xizmatlar (reader, servicetype): - umumiy_xizmatlar (xizmatlar turi). ? – o‘quvchi (x), xizmatlar (x, y). javob izlashni boshlab, prolog birinchi o'quvchini tanlaydi: a. jons. qaysi xizmatlarning mavjudligini aniqlash uchun prolog "xizmatlar" predikati uchun birinchi bayonotdan foydalanadi. bu yangi maqsadli da'voga olib keladi - "book_not_returned". faktlar orasida qisqacha qidiruvdan so'ng, book_not_returned birinchi kitobi a.jons tomonidan o'z vaqtida qaytarilmaganligi faktini ochib beradi. keyingi maqsadli bayonot "!". ushbu maqsad avtomatik ravishda ma'lumotlar bazasiga mos keladi va natijada birinchi "xizmat" bayonoti tanlanganidan beri qabul qilingan barcha qarorlar tizimga sodiqdir. dasturda "!" belgisi paydo bo'lganda, u tugallangan dalillar zanjirini ifodalovchi yo'lni kesadi, shunda keyingi …
3 / 7
hiqishingiz mumkin. maqsadli gaplarni ajratib turuvchi bir turdagi ajratuvchi (panjara) sifatida. masalan, maqsadlar birikmasi mavjud deylik: foo: - a, miloddan avvalgi!, d, e, f . prolog a, b, c maqsadlari orasida hech qanday cheklovlarsiz qaytishi mumkin. prologdan so'ng "panjara" dan "qadam" ! to'lovlar faqat d, e, f oralig'ida amalga oshiriladi. bunday holda, butun birikmaning takroriy mustahkamligi mumkin. biroq, agar d maqsad mos kelmasa, o'ngdan chapga "panjara qadamini" keltirib chiqaradigan bo'lsa, u holda "c" nishoniga mos kelish uchun yangi urinishlar bo'lmaydi va foo - muvaffaqiyatsiz bo'ladi. keling, kesish uchun turli xil foydalanish holatlarini ko'rib chiqaylik. kesish uchun umumiy foydalanish holatlari. birinchi holat prologga berilgan maqsadli bayonot uchun to'g'ri qoida topilganligini aytishingiz kerak bo'lgan holatlar bilan bog'liq. ikkinchi holat prologga ma'lum maqsadli bayonotning muqobil echimlarini izlamasdan turib isbotlashni darhol to'xtatishni aytish kerak bo'lgan vaziyatga ishora qiladi. bunga predikatlarni birlashtirish orqali erishiladi! va muvaffaqiyatsiz. uchinchi holat qaytarish mexanizmi orqali muqobil echimlarni yaratishni yakunlash …
4 / 7
ikkita holatni qayta ishlashni tashkil qiladi: birinchi argument 1; birinchi argument 1 ga teng emas. agar maqsad ?-sum (1,x) bo'lsa, u holda 1-qoida va 2-qoida qo'llaniladi.prologga bu holatda 2-qoidadan foydalanmaslikni aytish uchun ! predikati kiritiladi. agar birinchi argument 0 yoki manfiy son bo'lsa, dasturni bajariladigan qilib o'zgartiramiz: yig'indisi(n,1): - n 3000,!, muvaffaqiyatsiz. o'rtacha_soliq to'lovchi(x):-daromad(x, daromad), daromad>2000, daromad 3000)), daromad (x, daromad1),... e'tibor bering, nishonlar birikmasi qo'sh qavs ichiga "emas" predikat argumentlarini emas, balki vergullar qo'shma ichidagi maqsadlarni ajratishini ko'rsatadi. 3. "yaratish va sinab ko'rish" operatsiyasini bajarish. dasturning umumiy modeli quyidagicha: turli yo'llar bilan kelishib olinadigan va qaytarilganda ko'plab qarorlarni keltirib chiqaradigan maqsadlar ketma-ketligi mavjud. bundan tashqari, ishlab chiqarilgan echimlarning keyingi foydalanish uchun maqbulligini tekshiradigan maqsadlar mavjud. "generator" - barcha mumkin bo'lgan muqobillarni yaratadigan maqsad bayonotlari, "nazoratchilar" - echimlarning mosligini tekshiradigan maqsad bayonotlari. butun sonlarni bo'lish amalining prologdagi tavsifiga misolni ko'rib chiqamiz. bo'lish (n1, n2, natija): - butun (natija), mahsulot1=natija*n2, mahsulot2=(natija+1)*n2, …
5 / 7
"!" dan foydalanishning barcha holatlarini qayta ko'rib chiqish kerak. mashq: 3-bo'limdagi dasturlarga ularning samarali ishlashi uchun o'zgartirishlar kiriting. turli maqsadlar uchun dasturlarning ishlashini tekshiring.

Ko'proq o'qimoqchimisiz?

Barcha 7 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"prolog-dasturlarida qirqishdan foydalanish va prolog tilidagi mantiqiy muammolarni hal qilish" haqida

mavzu: 29. prolog-dasturlarida qirqishdan foydalanish va prolog tilidagi mantiqiy muammolarni hal qilish. reja: 1. prolog-dasturlarida qirqishdan foydalanish. 2. prolog tilidagi mantiqiy muammolarni hal qilish. 1-laboratoriyada maqsadlarni qaytish bilan moslashtirish jarayoni ko'rib chiqildi. misol uchun, elementning ro'yxatga tegishli yoki yo'qligini aniqlaydigan "taalluqli" predikati uchun: a'zo (x,[x|_]). a'zo(x,[_|til]): - a'zo(x,til). maqsad predikat: ? - a'zo(a,[a,b,a,c,a,d,a]) besh xil usulda mos kelishi mumkin. ba'zan, agar mavjud bo'lsa, faqat bitta yechim topib, keyin boshqa mumkin bo'lgan echimlardan voz kechish talab qilinadi. qolgan echimlarni bunday rad etish "kesish" operatsiyasi yordamida amalga oshirilishi mumkin. maxsus "kesish" mexanizmi kelishilgan maqsadli bayonotlar z...

Bu fayl DOCX formatida 7 sahifadan iborat (22,4 KB). "prolog-dasturlarida qirqishdan foydalanish va prolog tilidagi mantiqiy muammolarni hal qilish"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: prolog-dasturlarida qirqishdan … DOCX 7 sahifa Bepul yuklash Telegram