Основы искусственного интеллекта: учебное пособие
Download 428,17 Kb.
|
Основы искусственного интеллекта учебное пособие
- Bu sahifa navigatsiya:
- Funktsional dasturlash metodologiyasi
- Mantiqiy dasturlash metodologiyasi
- Cheklovli dasturlash metodologiyasi
inkapsulyatsiya - ma'lumotlarni yashirish va mavhum ma'lumotlar turlariga o'xshash ma'lumotlar va funktsiyalarni birlashtirish ;
meros - ierarxiya bilan bog'liq bo'lgan har bir bunday ob'ekt uchun barcha asosiy ob'ektlarning kodlari va ma'lumotlariga kirish imkoniyati bilan yaratilgan ob'ektlar ierarxiyasini qurish; polimorfizm (inklyuziv polimorfizm) - harakatga bitta nom berish, keyinchalik u ob'ektlar ierarxiyasi bo'yicha yuqoriga va pastga bo'linadi, ierarxiyadagi har bir ob'ekt ushbu harakatni o'ziga mos keladigan tarzda bajaradi. Ob'ektga yo'naltirilgan dasturlash tillari sinflarga tegishli bo'lgan va inkapsulyatsiya, meros va polimorfizm xususiyatlariga ega bo'lgan ob'ektlarni aniqlash imkonini beruvchi konstruktsiyalarni o'z ichiga oladi . Eng keng tarqalgan ob'ektga yo'naltirilgan tillar C++, Oxecb Parca1, Via, Vx8a1 Vasf va boshqalar. deyarli har qanday mavzudagi ob'ektlar o'rtasidagi munosabatlarni modellashtirish uchun kuchli vositadir . Grafik foydalanuvchi interfeysining turli elementlari o'rtasidagi o'zaro aloqani ob'ektlar shaklida ifodalash ayniqsa qulay va oson . Funktsional dasturlash metodologiyasi Ushbu metodologiya dasturlarni yaratish usuli bo'lib, unda yagona amal funksiyani chaqirish, dasturni qismlarga bo'lishning yagona yo'li funksiya nomini kiritish va bu nomga qiymatlarni baholovchi ifodani berishdir. funktsiya va yagona kompozitsiya qoidasi funksiya superpozitsiyasi operatoridir . Funktsional metodologiya eng qadimiylaridan biridir. Kelib chiqishi jihatidan u 1930-yillarning boshlarida ixtiro qilingan lambda hisobi bilan chambarchas bog'liq . mantiqchi Alonzo Cherxem (Alongo Debriyaj). Ko'p odamlar uchun funktsional metodologiya 1950-yillarning oxirida Jon Makkarti (Soin McCarthy) tomonidan yaratilgan SP tili bilan bog'liq bo'ldi. Shu bilan birga, ushbu metodologiya asosan dasturlash nazariyotchilari tomonidan qo'llaniladi va sun'iy intellektni laboratoriya tadqiqotlari uchun vositadir . Qo'llash usuli shundan iboratki, dastur funksiyalarning argumentlariga qo'llanilishidan tashkil topgan ifodadir. Keyin dastur boshqa funksiyalarga qo'ng'iroqlar bo'lgan funksiya ta'riflari to'plamidan va qo'ng'iroqlar ketma-ketligini boshqaruvchi bandlardan iborat. Bu usul funksiya tushunchasi bilan quvvatlanadi . Rekursiv xulq-atvor usuli o'z-o'zidan takrorlanadigan xatti-harakatlar bo'lib, u o'ziga qaytadi. Bu usul rekursiya tushunchasi bilan quvvatlanadi . Moslashtirilgan ™ usuli shundan iboratki, siz naqshdan mos keladigan ifodalarning qiymatlari sifatida osongina yangi dastur ob'ektlarini yaratishingiz mumkin ( nasl parametrlariga yaratish funktsiyasini qo'llash orqali). Bunga , ideal holda, nafaqat dastur, balki har qanday dastur ob'ekti ifoda bo'lishi yordam beradi. Funktsional dasturlash imperativ yondashuvga alternativalardan biridir. Funktsional dasturlashda vaqt tushunchasi mavjud emas, dasturlar ifodalar, dasturlarning bajarilishi esa bu ifodalarni baholashdan iborat. Funktsional dasturlash matematik model sifatida Cherkovning lambda hisobidan foydalanadi. Funktsional dasturlash tillari - bu tillar bo'lib, ularda yuqorida aytib o'tilganidek, yagona harakat funksiyani chaqirish, dasturni qismlarga ajratishning yagona yo'li bu funktsiya nomini kiritish va bu nomga baholovchi ifodani berishdir. funktsiyaning qiymatlari va yagona kompozitsiya qoidasi funksiyaning superpozitsiya operatori hisoblanadi. Funktsional dasturlash tillarining asosiy o'ziga xosligi shundaki, funktsiyalar bir-biri bilan to'g'ridan-to'g'ri ma'lumot almashadi , ya'ni oraliq o'zgaruvchilar va topshiriqlardan foydalanmasdan va o'zgaruvchilar qiymat olgandan keyin uni hech qachon o'zgartirmaydi. ( Masalan, imperativ metodologiyada topshiriq baholash jarayoniga "vaqtni kirituvchi" qurilishdir: topshiriqning o'ng tomoni baholanishi kerak va shundan keyingina uning qiymati chap tomon bilan bog'lanadi.) natijada funksional tillarda aylanmalar rekursiv funksiyalar apparati bilan almashtiriladi. ketma-ket amallar nuqtai nazaridan shakllantirish qiyin bo'lgan muammolarni hal qilish uchun ishlatiladi . Sun'iy intellekt bilan bog'liq deyarli barcha vazifalar ushbu toifaga kiradi , masalan, tabiiy tilni qayta ishlash, ekspert (konsalting) tizimlari, vizual idrok etish muammolari va boshqalar. Mantiqiy dasturlash metodologiyasi Ushbu yondashuvga ko'ra, dastur faktlar va mantiqiy formulalar nuqtai nazaridan muammoning tavsifini o'z ichiga oladi va tizim xulosa mexanizmlari yordamida muammoning echimini topadi . Mantiqiy dasturlash 1960-yillarning oxirida, Cordell Greene (Cor6e11 Oren) mantiqiy dasturlash uchun asos sifatida rezolyutsiyadan foydalanishni taklif qilganida boshlangan. Keyinchalik , 1970-yillarda Alan Kolmeroe (Alat Kolmerauer) Probod mantiqiy dasturlash tilini yaratdi. Mantiqiy tillar Horn gaplar nazariyasiga asoslanadi. Mantiqiy dasturlash o'zining mashhurlik cho'qqisini 1980-yillarning o'rtalarida, beshinchi avlod hisoblash tizimlari uchun dasturiy ta'minot va texnik vositalarni ishlab chiqish loyihasi uchun asos bo'lgan paytda boshdan kechirdi [7]. Mantiqda nazariyalar aksiomalar va xulosa chiqarish qoidalari yordamida aniqlanadi . Prolod asosiy mantiqiy dasturlash tilida bizda xuddi shunday narsa bor - bu erda faqat aksiomalar odatda faktlar deb ataladi va xulosa qilish qoidalari shakl jihatidan " Shox bandlari " deb nomlangan - A <= B1& shaklidagi bayonotlar bilan cheklangan . .. &Bn . Prolog tilida bunday gaplar odatda quyidagicha yoziladi: a N, ..., bn Faktlar (ular ham aksiomalar) Prolog tilida qoidalar sifatida bo'sh "preza" bilan ifodalanadi, masalan, a . Odatda Prototizim foydalanuvchi bilan dialog shaklida ishlaydi . Isbotlanadigan bayonot klaviaturadan kiritiladi . Biroq, Prolog tarjimonlarining kompilyator versiyalarida isbotlanishi kerak bo'lgan gaplarni ko'rsatish uchun maxsus sintaktik vositalar ham bo'lishi mumkin. Protoddagi bunday bayonotlar maqsadlar deb ataladi. Prototizim tasdiqlarni isbotlash uchun birlashtirish usuli va rezolyutsiya usulidan foydalanadi. Birlashtirish - bu o'zgaruvchilarga ikkita atama bir xil bo'lgan qiymatlar berilishi mumkinligini aniqlash uchun o'zgaruvchilarni o'z ichiga olgan ikkita ixtiyoriy atamalarni taqqoslash . Boshqa tomondan, qarorlar usuli, uning natijasini isbotlash uchun Horn dis'yunktining asosiga kiritilgan individual tasdiqlarni ketma-ket isbotlashdan iborat . Masalan, a :- b, c qoidasiga rezolyutsiyalar usulini qo'llash . va a bayonoti b va c bayonotlarining izchil isbotiga olib keladi . Qarorlar usuli oddiy taklif mantiqida to'g'ridan-to'g'ri o'xshashga ega, bashoratdan "mening" qoidasi , unga ko'ra (A. & A - B) -> B. Mantiqiy dasturlash tillari odatda muammoni faktlar va mantiqiy formulalar nuqtai nazaridan tavsiflashga imkon beradigan konstruksiyalarni o'z ichiga oladi, dasturiy ta'minot tizimi esa xulosa qilish mexanizmlari yordamida muammoni hal qiladi. Bunday dasturlash tilining ajralmas qismi qat'iy matematik modellar asosida maqsad bayonotini konstruktiv chiqarish mexanizmi hisoblanadi . Prood tili o'xshash tillarning butun oilasining ajdodi bo'lib, unda uchta filialni ajratib ko'rsatish mumkin: til modifikatsiyalari (kuchliroq mantiqiy vositalardan foydalanish, modullikni joriy qilish va h.k.); funktsional yo'nalish (funktsional tillar bilan kombinatsiya); parallel hisoblashdan foydalanish bilan bog'liq yo'nalish (chunki mantiqiy dasturlash tabiatan parallelizatsiya qilinadi). E'tibor bering, mantiqiy dasturlash muammolari sinfi amaliy dasturlashning funktsional muammolari sinfiga to'g'ri keladi. Cheklovli dasturlash metodologiyasi Keling, sun'iy intellekt muammolarini hal qilishda qo'llaniladigan boshqa, kamroq tarqalgan metodologiyalarni ko'rib chiqaylik. Download 428,17 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling