Reja Amaliy dasturlash xaqda


MONAD larning o‘zaro ta’sirining funksional modeli



Yüklə 187,26 Kb.
səhifə6/9
tarix22.03.2024
ölçüsü187,26 Kb.
#181677
1   2   3   4   5   6   7   8   9
Nurova Rayhona 02

4. MONAD larning o‘zaro ta’sirining funksional modeli

Reja

1. "Monad" funksional xaqida malumot

2. Parametrlarni hisoblash

3. Tanlangan FP tamoyillarining eng aniq oqibatlari


1 . "Monad" funksional dasturlashdagi konsept sifatida mashhur bo'lgan bir tilda ta'riflangan tushunchadir. Monad funksional dasturlash paradigmasida amalga oshirilgan dasturlarni tuzish va uning natijalari orasidagi o'zgaruvchanlarni boshqarishning yordamchi usuli sifatida ishlatiladi. Monad konsepti, funksional dasturlashda yozilgan kodning tozaligini va tuzilishini oshirishga yordam beradi.


Monadni o'zaro ta'sirining funksional modelini tushunish uchun quyidagi mukammal bo'lgan misolni ko'rish maqsadga muvofiq bo'ladi. Misol uchun, Scala tilida yozilgan kod bilan quyidagi monad funksional modelini ko'ramiz

Ushbu misolda Option monadi ishlatilgan. divide funksiyasi ikki sonni qabul qilib, ulardan birini boshqattan bo'lib bo'lmaydigan bo'lib, Option monadini qaytaradi. Keyinchalik, for ifodasi orqali bu monadni ishlatib, yuqoridagi misolning natijasini olishimiz mumkin.


Monadlar kodni to'g'riroq tuzilish, xato holatlarni qanchalik soddalashtirish, o'zgaruvchanlarni boshqarish va boshqa funksional operatorlarni ishlatishga imkoniyat beradi. Monadlar kodni o'rganish va saqlashda juda foydali bo'lishi mumkin.

2. Parametrlarni hisoblash Monadlarning o'zaro ta'sirining funktsional modeli EVAL-P va APPLY-P taxminan bir xil narsani ta'minlaydi, saqlash uchun atom xususiyatlari ro'yxatidan foydalanish uchun mo'ljallangan doimiy qiymatlar va funktsional ta'riflar. Ko'rsatkich MONAD atom xususiyatlari ro'yxatida talqin qoidasiga ishora qiladi alohida monada bilan bog'liq funktsiyalar, makro - maxsus usul funktsiya tasvirini yaratish. VALUE funktsiyasi usullarni amalga oshiradi kontekstga qarab o'zgaruvchining joriy qiymatini topish va


atomlarning xususiyatlari Ushbu ta'rif bilan dasturlash tizimini kengaytirish
izohlar oddiy kirish/o'chirish orqali amalga oshiriladi atomlar va funktsiyalarning tegishli xususiyatlari.
Olingan talqin sxemasi turli toifalarga imkon beradi
alohida monadalar va so'l vositalar sifatida amalga oshiriladigan funktsiyalar
funktsiyalarni loyihalash turli xil mexanizmlarni o'rnatishga imkon beradi
parametrlarni funktsiyalarga o'tkazish. Shunday qilib, clisp tilida quyidagilar mavjud
oddiy, majburiy va pozitsion va ixtiyoriy
(fakultativ), asosiy va ketma-ket (bir nechta, o'zgaruvchan
qiymatlar soni) parametrlari.
Dasturlarni ishlab chiqish va disk raskadrovka qilishda vositalar va
ma'lumotlarni qayta ishlash usullari, bu turlarning o'zgarishiga olib keladi
ob'ektlarning ko'rinishi. Noaniq ob'ektlar doimiy yoki o'zgaruvchilar, skalar ishlov berishdan hosil bo'ladi ma'lumotlar tuzilmalarini qayta ishlash, ma'lumotlar tuzilmalaridan o'tish ehtimoli bor funktsiyalar va fayllar va boshqalar. Ishlab chiqarish darajasida bir xil darajada muhim rivojlanish sodir bo'ladi vazifalar. Yangi muammo, uning echimi namuna darajasiga ega yoki namoyishlar, tadqiqot yo'nalishiga aylanadi, unda amaliy yoki aniq kichik vazifalar pishib etiladi, o'tish ham mumkin uskunalar imkoniyatlari chegarasida echimlarni topish. Talablar turli darajadagi muammolarni hal qilish vositalari va usullari
tadqiqotlar funktsional paradigmaga xos bo'lgan moslashuvchanlikka olib keldi dasturlash.
3. Tanlangan FP tamoyillarining eng aniq oqibatlari:
- dasturlarni ishlab chiqish jarayoni bosqichlarga bo'linadi: asos yaratish
va uni bosqichma-bosqich kengaytirish;
- dasturni algoritmni tabiiy ravishda amalga oshirish sifatida ko'rib chiqish
funktsiyalarni jadvalli amalga oshirish bilan to'ldiriladi, ya'ni. joizdir
saqlangan funktsiyalar grafikalaridan tuzilmalar shaklida foydalanish
protseduralar bilan bir qatorda argumentlar va tegishli natijalar;
- havolalarning shaffofligi bir xil qiymatlarning mos kelishi bilan ta'minlanadi
bir xil kontekstda hisoblangan ko'rinadigan formulalar;
- universal funktsiyalarni afzal ko'rish va funktsional jihatdan to'liq
birlamchi amalga oshirishning murakkabligi qoplanadigan tizimlar
ta'riflarning ishonchliligi va qo'llash qulayligi.
LISP dasturlash tili va unga asoslangan funktsional dasturlash haqiqatan ham kuchli ekanligini ko'rsatdi tomonlar yangi sohalarni o'rganish va rivojlantirish vositasi sifatida
kompyuter texnologiyalaridan foydalanish. Bu dalil yangi murakkab muammolarni hal qilishda funktsional yondashuv:
- dastur va jarayon konvertatsiyalari mavjud;
- axborotni lingvistik qayta ishlash mumkin;
- moslashuvchan ma'lumotlar bazasini boshqarish qo'llab-quvvatlanad axborot tizimlarini to'liq optimallashtirish mumkin axborot yo'qotilishini istisno qilish;
- muloqotni modellashtirish Tillarning paradigmatik tavsifi,
funktsional dasturlashni qo'llab-quvvatlaydi Maxsus Parametr Operatsion pragmatika
Yap Potentsial maksimalni o'rganish nisbatan yangi echim imkoniyatlari
vazifalar. Mavhum mashina registrlari S E C D
S-operandlar to'plami va aniq natija.
E-mahalliy o'zgaruvchilar qiymatlari to'plami
C-bajariladigan dastur to'plami.
D-kontekstni tasodifiy himoya qilish to'plami buzilishlar.
Mavhum buyruqlar toifalari mashinalar Pure Lisp-da bo'lgani kabi.
Amaliy pragmatika ma'lumotlar yorliqli ko'rsatgichlardan qurilgan
xotirani qayta ishlatishni avtomatlashtirish. Dasturlash tizimi juftlikdan foydalanadi
tarjimon-funktsiyalar kompilyatori. Qachon o'zgaruvchilarni bog'lash uchun Stack ishlatiladi, assotsiativ ro'yxat va atom xossalari ro'yxati. Paradigmatik o'ziga xoslik dasturlash tizimi odatda qo'llab-quvvatlaydi boshqa paradigmalarning mexanizmlari, ehtimol alohida quyi tizimlarga ajratilgan (monadalar Haskell tilida)

MONAD larning o‘zaro ta’sirining funksional modeli MONAD larning o‘zaro ta’sirining funksional modeli MONAD larning o‘zaro ta’sirining funksional modeli MONAD larning o‘zaro ta’sirining funksional modeli 4-Mavzu: MONAD larning o‘zaro ta’sirining funksional modeli


LP ning birinchi amalga oshirilishi Lisp tilida amalga oshirildi, shuning uchun
asosiy mexanizmlarni ro'yxatlarni qayta ishlash deb hisoblash mumkin.
Ma'nosi bo'yicha variantni tanlash o'zboshimchalik elementini tanlashga o'xshaydi
ko'p: { a / b / c } = e { a, b, C }
Bunday kontseptsiyani an'anaviy vositalar bilan modellashtirish uchun sizga kerak
qo'shimcha ibtidoiylar. Masalan, funktsiyani aniqlashda, ixtiyoriy ro'yxat elementini tanlash, bir nuqtada L bu bo'sh ro'yxatga aylanadi va uni tahlil qilish imkonsiz bo'lib chiqadi, keyin
ESC varianti amal qiladi. L ro'yxatidan ixtiyoriy elementni tanlashni aniqlash uchun siz quyidagilarni qilishingiz mumkin shaklning rekursiv ifodasini taqdim eting:
(har qanday L) = {(CAR L) | (har qanday (CDR L)) } Ma'nosi bo'yicha variantni tanlash o'zboshimchalik elementini tanlashga o'xshaydi ko'p:
{ a / b / c } = e { a, b, C } Bunday kontseptsiyani an'anaviy vositalar bilan modellashtirish uchun sizga kerak tashkilotchilik darajasi kamroq bo'lgan qo'shimcha primitivlar
vektorlar yoki to'plamlar. Ixtiyoriy ro'yxat elementini tanlashning aniq sxemasi mumkin
shaklning formulasi bilan taqdim eting: Ta'rif Eslatma (har qanday L) = {(car L) | (har qanday (cdr L)) | ESC } Ro'yxatning birinchi elementidagi qator, qolgan elementlardan birini tanlash
ro'yxat va Puffin Tugash teng variant sifatida Aniqroq ta'rif shaklga ega: Ta'rif Eslatma (har qanday L) = {(CAR L) | (har qanday (CDR L)) | (if (nl L) ESC) } O'lik variantni tanlash mumkin faqat boshqalar yo'qligida. Bir nuqtada L bo'sh ro'yxatga aylanadi va uni tahlil qilish
bu imkonsiz bo'lib chiqadi. Keyin ESC amal qiladi To'plamlar nazariyasiga xos bo'lgan boshqa tuzilmalar: { x / P (X)} - p xususiyatiga ega bo'lgan elementlar to'plami.
Dasturiy ta'minot ro'yxatiga ulanish predikatni tekshirish Boshi berk ko'cha Predikatni qondiradigan ro'yxat elementlarini tanlash Ushbu misolda berilgan ta'rif etarli emas, chunki hosil bo'lganlar berilgan xususiyatni qondiradigan elementlarning variantlari mavjud vaqtning turli nuqtalari va bir vaqtning o'zida mavjud bo'lmasligi mumkin. Uchun bir vaqtning o'zida barcha variantlarga ega bo'lish uchun yana bir ibtidoiy All kerak, barcha mumkin bo'lgan variantlarning to'planishini ta'minlash.
Kesishish elementlarini tanlash shakli Ikki to'plam elementlarini saralash hech qanday tartibda
44-misol. A va b to'plamlarining kesishishi Ta'rif Eslatma (if (not a) NIL b) a & b
45-misol. b faqat haqiqiy a bilan hisoblanadi, bu samarali, lekin har doim ham mas intuitiv kutishlarga javob beradi (o'z vaqtida taklif qilingan mantiq Makkarti, yuqori samaradorlikka erishishga imkon beradi). Matematik jihatdan, qaramlikni istisno qiladigan variantlar yanada ishonchli saralash tartibi:
Ta'rif Eslatma
(ALL( LAMBDA x { (if (not x) NIL )
| ESC })
{a | b} )
Agar a va b ikkalasi ham haqiqat bo'lsa,
bu ESC tomonidan olinadi
Bu qiymat Nildan farq qiladi, chunki u haqiqat kabi ishlaydi Filiallarni qurishda ham xuddi shunday muammo yuzaga keladi.
Giyohvandlikni olib tashlash
yozish tartibidan
Har biri kerak bo'lishi mumkin bo'lgan variantlarni qo'llab-quvvatlash
yakuniy natijani yaratish, amaliy foydalanishni topadi yuqori samarali hisob-kitoblarni tashkil qilishda. Masalan,, multioperatsiyalarni quyidagilarga bog'liqlik istisno qilingan holda tashkil qilish mumkin teng formulalarda individual operatsiyalar tartibi.
Maksimal ta'minlash hisoblash Determinizm bo'lmagan modellar Ushbu ish uslubi uchun zarur bo'lgan instrumental yordam GNU Clisp-da throw-catch hodisalarini qayta ishlash mexanizmi tomonidan taqdim etilgan, buning uchun siz taxminan bunday o'zaro ta'sirni o'rnatishingiz kerak. Shuni ta'kidlash kerakki, ularni hal qilishda bitmas-tuganmas bir qator muammolar mavjud determinizm qulay tarzda ishlatilmaydi.
1. An'anaviy algoritmlarda tartiblarni asoslash. Ajralib turadi faqat tahlil qilinadigan algoritmik darajadan oldingi daraja mumkin bo'lgan echimlar jadvallari va asta-sekin ishlab chiqilmoqda buyurtma shartlari va predikatlar to'plamlari.
2. Vazifalarni qayta tuzish va maqsad uchun algoritmlarni qayta aniqlash asossiz tartiblarni istisno qilish odatiy vazifalardan biridir optimallashtirish, ayniqsa an'anaviy dasturlardan to ga o'tishda parallel. Mustaqilning maqbulligini aniqlash kerak barcha filiallarning bajarilishi va ularning tanlovini boshqaradigan predikatlar.
3. Nazariy maqsadlar uchun mavhum mashinalar g'oyasini umumlashtirish tadqiqotlar, eksperimental modellashtirish va deterministik bo'lmagan jarayonlarni bashorat qilish
superkompyuterlar va ko'p protsessorli komplekslar (ko'p protsessorli turing mashinasi va boshqalar).
4. O'quv va o'yin dasturlari va eksperimental dizayn amalga oshirish tezligi muhimroq bo'lgan maketlar ishlash.
5. Ultra yuqori tillarda determinizmni tavsiflash va amalga oshirish Planner, Setl, Sisal, Id, Haskell va boshqalar kabi darajalar.
6. Turli matematikaning deterministik bo'lmagan ta'riflari tushunish an'anasini hisobga olgan holda funktsiyalar va ularni qayta ishlashni tashkil etish matematiklar tomonidan formulalar.
7. Rasmiylashtirish qiyin bo'lgan past darajadagi effektlarni modellashtirish, chorrahada paydo bo'lgan texnik yangiliklar va ularning massasi ilmiy tadqiqotlarda ham, ommaviy tadqiqotlarda ham qo'llanilishi qurilmalar.
8. Tabiiy til tuzilmalarini qayta ishlash va tadqiq qilish, nutq xatti-harakatlari, madaniy va ijodiy stereotiplar, ijtimoiy-psixologik jihatlar va boshqalar.
9. Taqsimlangan hisoblash, o'lchovlarni tashkil etish va ishlab chiqish, Grid texnologiyalari, interoperabel va telekommunikatsiya tizimlari va boshqalar. LP tarixida bir qator o'ziga xos chiziqlarni ajratish mumkin:
- abduktiv mantiqiy dasturlash;
- metalogik dasturlash;
- cheklovlarda mantiqiy dasturlash;
- parallel mantiqiy dasturlash (fgcs-yapon kompyuter tizimlarining 5-avlodi loyihasi);
- induktiv mantiqiy dasturlash;
- chiziqli mantiqiy dasturlash;
- ob'ektga yo'naltirilgan mantiqiy dasturlash;
- tranzaktsion mantiqiy dasturlash.
Mantiqiy dasturlash tillarining paradigmatik tavsifi Maxsus Parametr operatsion yap pragmatikasi Vazifalarning noaniq bayonotlari. Retseptlarning empirik to'planishi, etarli
ba'zi amaliy muammolarni hal qilish uchun. mavhum registrlar mashinalar
S E C D R
S-oraliq natijalar to'plami.
E-mahalliy o'zgaruvchilar to'plami. Asosiy dasturning
C-to'plami. Ma'lumotlarni himoya qilish va tiklash uchun
D-dump. Variantlarni ko'rib chiqish uchun
R – Stack. Natija-muvaffaqiyat haqida xulosa-xulosaning muvaffaqiyatsizligi maqsadlar.
jamoa toifalari mavhum mashina FP uchun xos bo'lgan buyruqlar turlaridan tashqari:
- variantni tanlash;
- qo'pol kuch bilan kontekstni tiklash variantlar. amalga oshirish pragmatika
AF ga qo'shimcha ravishda farq ro'yxatlarini qayta ishlash, puffinlarning past ustuvorligini kuzatish va bo'limlar. Variantni o'zboshimchalik bilan tanlash o'rniga aslida, variantlar tartibda saralanadi taqdimotlar. paradigmatik o'ziga xoslik hal qilinadigan vazifalar sinfini kengaytirish
deterministik bo'lmagan modellardan foydalanish.

5-mavzu Opiratsiyon sementika

Reja

1. Operatsion sementika,nima

2. Opiratsiyon mantiqiy dasturlash

3 Operatsion sementika dasturlash tillariga bog’liqligi



Yüklə 187,26 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə