Algoritm korrektligini (to’g’ri ishlashini) babolash. Dasturchi o’zi qurgan yoki oldindan mavjud algoritmlami chekli vaqtdan so’ng kutilgan natijani berishga qodirligini oldindan baholashi lozim. Masalan, awalgi bobda keltirilgan ekub ni topish haqidagi masalani yechishning birinchi usuli har qanday natural sonlar juftligi uchun natija bersa, ikkinchi usul sonlardan biri 0 ga teng bo’lganda natija bermaydi. Ayrim algoritmlarning korrektligini ko’rsatish juda ham oson, bir qator algoritmlar uchun bu masala o’ta murakkab hisoblanadi.
Agar algoritmlar ma'lum bir boshlang’ich ma'lumotlar uchun to’g’ri natija berib, boshqalari uchun kutilgan natidjani bermasa, bunday algoritmlarga tegishli o’zgartirishlami kiritish lozim bo’ladi. Taqribiy algoritmlarda aniq yechimdan ruxsat etilgan chetlanish masala shartida ko’rsatilganidan chegaralardan chiqmasligini isbotlash kerak bo’ladi.
Algoritmlami tahlil qilish. Bu masala asosan algoritm berishi mumkin bo’Igan samara bilan bog’liq. Tahlil jarayonida algoritmlar samaradorligini ikki jihatdan baxolash mumkin: vaqqtbay va fazoviy samaradorlik. Vaqtbay samaradorlik algoritm ishlash tezligining ko’rsatkichi, fazoviy samaradorlikda esa algoritmning ishlashi uchun zarur bo’Igan tezkor xotira xajmi bilan baholanadi.
Algoritmlarning yana bir muhim xarkteristikasi soddalik bilan bog’liq. Bu hususiyat sub'ektiv hisoblanadi va turli odamlarda turlicha namoyon bo’lishi mumkin. Sodda algoritmlami o’qish va tushunish oson bo’lishi bo'lishi bilan birga oson dasturlanadi. Demak, dastur matnida xatoliklar kam bo’ladi.
Algoritmlarning yana bir muxim tomoni umumiylik (universallik) bilan bog’liq. Ushbu jihat ikki holat bilan tavsiflanadi:
algoritm qurilgan masalaning umumiyligi xamda mumkin bo’lgan boshlang’ich ma'lumotlar diapazoni. Masalaning umumiyligi deganda shuni e'tiborga olish kerakki, umumiy masalalar uchun algoritm qurishning iloji bo’lmaganda, hususiy masala uchun algoritm ishlab chiqish tavsiya etiladi. Masalan, ikki natuarl sonnipng o’zaro tubligini tekshirish algoritmiga qaraganda, ularning ekub ni topish osonroq bo’ladi.
Mumkin bo’Igan boshlang’ich ma'lumotlar diapazogiga kelsak, shuni yodda tutish kerakki, odatda boshlang’ich ma'lumotlar katta diapazonda o’zgarishi mumkin bo’lib, yechilayotgan masala shartiga mos bo’lishi lozim. Masalan, kvadrat tenglama uchun kompleks sonlar ham boshlang’ich ma'lumotlar sifatida ishtirok etishi mumkin bo’lsada, odatda ular e'tiborga olinmaydi.
Do'stlaringiz bilan baham: |