Algoritmik hal etilmaslik. Shunday masalalar borki uning yechimini olish uchun umumiy algoritm (Tyuring mashinasi) mavjud emas, bu masalalarni tavsiflovchi kirish ma’lumotlari qo’llaniladigan algoritmlar ishlamaydi yoki cheksiz davom etadi.
1-masala. 𝝅 sonida 𝑥 sonining taqsimlanishini hisoblash;
𝝅 = 3,141592 … , 𝑓9(1) = 5.
𝝅 = 48𝑎𝑟𝑐𝑡𝑔(1/18) + 24𝑎𝑟𝑐𝑡𝑔(1/57) − 20𝑎𝑟𝑐𝑡𝑔(1/239).
Ixtiyoriy 𝑛 uchun 𝑓𝑥(𝑛) funksiyani hisoblash masalasi.
2-masala. Mukammal sonlarni hisoblash;
Mukammal son – bu o’zining bo’luvchilari yig’indisidan tashkil topgan son, masalan:
𝑆(1) = 1 = 1
𝑆(2) = 6 = 1 + 2 +3
𝑆(3) = 28 = 1 + 2 + 4 + 7 + 14.
Ixtiyoriy berilgan 𝑛 soni uchun 𝑆(𝑛) ni hisoblash masalasi.
Algoritmni to’liq qurish bosqichlari bilan quyida tanishib chiqamiz:
Masalaning qo’yilishi
Modelni qurish
Algoritmni ishlab chiqish
Algoritm to’g’riligini tekshirish
Kodlashtirish
Dasturni tekshirish
Hujjatlashtirish
Algoritmlarni tuzish – bu ijodiy ish bo’lib, ixtiyoriy zaruriy algoritmni tuzish uchun umumiy usullar mavjud emas, kishining ijodiy qobiliyatiga bog’liq.
Albatta, algoritmni aniq sxema bo’yicha tuzish zarur bo’lib qoladigan sodda hollar ham mavjud. Bunday hollarda yechilish algoritmi avval biron kim tomonidan olingan masalalarni misol keltirish mumkin. Masalan, differensial tenglamalarni sonli integrallash uchun Eyler metodi. Bu metod masalani yechish uchun umumiy holda ifodalangan algoritmdir.
Algoritmlar sifatini baholash uchun mezonlarni ko’raylik. Mavjud mezonlar juda taxminlashgan. Masalan, algoritmni bajarishda bajaruvchining xotira uskunalari hajmi yetarli bo’lmasa, u algoritm yomon deb hisoblanadi. Boshqa mezon sifatida algoritmning bajarilishi uchun talab qilinadigan vaqtni ko’rsatish mumkin. Vaqtni baholash bajaruvchining fizik xarakteristikalari hisobga olinishi kerak. Chunki har bir operatsiya har xil o’zgaruvchilar bilan bajarilganda vaqt ham har xil bo’ladi. Bunchalik aniq ma’lumotni har bir foydalanuvchi uchun yig’ib bo’lmaganligi sababli odatda o’rtacha tezkorlik qabul qilinadi. Ketma-ket bajarilayotgan operatsiyalar sonini aniqlab, uni o’rtacha tezkorlikka ko’paytirsa, algoritm bajarilishining amalga yaqin bo’lgan vaqtini topishimiz mumkin.
Demak, algoritmlarni baholash uchun ikkita asosiy kretiriya mavjud ekan.
Algoritmni ishlash vaqti bo’yicha baholash
Algoritmni bajarish uchun xotiradan egallagan hajmi bo’yicha baholash
Do'stlaringiz bilan baham: |