Prolog nima va u nima uchun jiddiy darajada kerak emas
Prolog (Programming in Logic, в оригинале: programmation en logique) 70-yillarning boshlarida Marselda Alen Kolmero tomonidan ishlab chiqilgan. Til Hornning mantiqiy ifodalarini protsessual talqiniga asoslanadi (ya'ni, mashinada qanday aniq bajarish mumkin) shakl:
a :- b, c, d,...,z.
Nima deb o'qilishi mumkin: "agar b, c, d, ..., z shartlar bajarilsa, u holda" a "ham to'g'ri bo'lishi kerak.
Sodda qilib aytganda (bu erda biz barcha texnik tafsilotlarni o'tkazib yuboramiz), uni mantiqiy ketma-ketlik sifatida qayta yozish mumkin:
Prolog a mantiqiy dasturlash bilan bog'liq til sun'iy intellekt va hisoblash lingvistikasi.[1][2][3]
Darhaqiqat, ser Bob Kovalski - - shunday fikrni o'ylab topdi: "a" iborasi to'g'ri bo'ladi, agar uning barcha asoslari haqiqat ekanligini isbotlasak. (Aytgancha, ajoyib va quvnoq yigit - hali ham sog'lom va hazillar va ertaklar, bir yil oldin Londondagi Qirollik jamiyatida bo'lib o'tgan konferentsiyada u Prolog va mantiqiy dasturlash tarixi bo'yicha ajoyib va ba'zan kulgili ma'ruza o'qidi.)
Tuz nima, Kovalski? Agar "a: - b, c, d" iborasini olsak, u quyidagicha o'qilishi mumkin:
Agar men qila olsam, "a" to'g'ri: "b" ni isbotlang, "c" ni isbotlang va "d" ni isbotlang.
Keyin har bir dastur tasdiqlarni chiqarish uchun teoremalar to'plamidir va har bir ifoda "isbotlanadi" (diqqatli o'quvchi, albatta, bu erda Karri-Xovard izomorfizmini sezadi).
Bu yerda inkor qo‘shilsa, vazifa biroz qiziqarliroq bo‘ladi. Prologda u muvaffaqiyatsizlik sifatida inkor deb ataladi va mantiqiy jihatdan klassik inkordan farq qiladi. Nazariy jihatdan, bu shunday ko'rinadi: agar men "a" bayonotini isbotlay olmasam, bu noto'g'ri ekanligini anglatadi. Mantiqda bu taxmin yopiq dunyo taxmini deb ataladi va ba'zan u juda mazmunli bo'ladi.
Prologning ildizi bor birinchi darajali mantiq, a rasmiy mantiqva boshqalarnikidan farqli o'laroq dasturlash tillari, Prolog asosan a sifatida mo'ljallangan deklarativ dasturlash til: dastur mantig'i so'zlar bilan ifodalanadi munosabatlar, faktlar sifatida ifodalangan va qoidalar. A hisoblash a ishga tushirish bilan boshlanadi so'rov bu munosabatlar ustidan.
Samara shahrining 11-avtobus yo'nalishi jadvalini tasavvur qiling, parcha:
15:15
15:45
16:15
16:45
17:15
Savol: 16:00 da avtobus bormi? U erda yo'q, chunki biz uning jadvalga muvofiq ekanligini isbotlay olmaymiz - ya'ni. jadvalda Samara shahridagi 11-marshrutning yurish dunyosi to'g'risida to'liq tasavvur mavjud. Shuning uchun yopiq dunyo taxmini nomi - butun an'anaviy dunyo ushbu dastur tomonidan tasvirlangan degan taxmin - tashqaridagi hamma narsa yolg'ondir. Qoida tariqasida, u ma'lumotlar bazalarida ham qo'llaniladi - aytmoqchi, men bu erda ular haqida yozganman.
Til 1972 yilda Frantsiyaning Marsel shahrida ishlab chiqilgan va amalga oshirilgan Alen Kolmerauer asosida Filipp Russel bilan Robert Kovalskiprotsessual talqini.
Dostları ilə paylaş: |