§-2. ALGORITM QURISH ASOSLARI
Algoritm qurishda asos bo’lib masalaning yechimlari emas, balki bu yechimlami ta'minlay oladigan va aniq ifodalangan ko’rsatma- buyruqlar ketma-ketligi xizmat qiladi.
Algoritmlarni loyihalash va tahlil qilish quyidagi ketma-ketlikda amalga oshiriladi:
Masalani tushunish;
Kompyuter imkoniyatlarini aniqlash;
Aniq yoki taqribiy yechish usulini tanlash;
Ma'lumotlar uchun mos tuzilmalarni tanlash;
Loyihalash metodlarini tanlash;
Ifodalash usullarini tanlash;
Algoritm korrektiigini (to’g’ri ishlashini) baholash;
Algoritmlami tahlil qilish.
Masalani tushunish. Matematiklarda “masala shartini to’g’ri tushunish” yechimni 50% ga topish” degan gap bor. Shuning uchun biror masalaga algoritm qurishdan awal uning shartini diqqat bilan o’qib chiqish, ochiq qolgan savollaming bor-yo’qligini aniqlash, zarur bo’lsa, bir necha oddiy namunalar yordamida tahlil qilish lozim. Masalaning hususiy xollarini o’rganib chiqish ham algoritm qurishda katta yordam berishii mumkin.
Bugungi kunda katta sondagi tipik masalalar uchun algoritmlar ishlab chiqilgan. Agar masala shulardan biriga o’xshasa, u xolda tayyor algoritmdan foydalanish mumkin.
Algoritm uchun boshlang'ich ma'lumotlar masalaning alohida bir nusxasini hosil qiladi. Bunda algoritm uchun mumkin bo’Igan ma'lumot- lar diapazonini aniq ko'rsatish muhim sanaladi. Chunki, algoritm ko’plab boshlang’ich ma'lumotlar uchun to’g’ri natija berishi mumkin, ammo, “kritik” deb ataluvchi boshqa ma'lumotlar uchun to’g’ri ishlamasligi mumkin. Bu o’rinda. faqat ko’plab boshlang’ich ma'lumotlar uchungina emas, balki har qanday boshlang’ich ma'lumotlar uchun to’g’ri natijani kafolatlaydigan algoritmlami to’g’ri (korrekt) algoritm deb qabul qilinishini nazarda tutish lozim.
Kompyuter imkoniyatlarini aniqlash. Algoritmni qurish jarayonida uning ijrochisi bo’lgan kompyuter imkoniyatlarini ham baholashga to’g’ri keladi. Kompyuter imkoniyatlarini aniqlashda quyidagi holatlarga e'tibor berish zarur:
buyruqlarni bajarish rejimiga. Bunda bir xil toifadagi kompyu- terlar muayyan bir vaqtda faqat bitta buyruqni bajarsa, boshqalari shu vaqt mobaynida parallel ravishda bir necha buyruqlarni bajarishi mumkinligiga qaraladi;
kompyuterlarda to’g’ridan - to’g’ri qayta ishlash mumkin bo’lgan ma'lumotlar diapazoniga. Bugungi kunda kompyuterlar 10-20 xonali sonlar ustida to’g’ridan - to’g’ri amallami bajarishi mumkin. Agar masala shartida berilgan sonlar bundan ham ko’p xonali bo’lsa- chi?
amallami bajarish tezligiga. Ma'lumki, kompyuterlar ichki qurilmalariga bog’liq ravishda amallami turli tezliklarda bajaradi. Xo’sh, algoritmni bajarish uchun zarur bo’lgan vaqt masala shartida ko’rsatilgan vaqtdan katta bo’lsa, nima qilish kerak?
masalani hal qilish uchun jalb qilinadigan kompyuterlar soniga. Albatta, katta sondagi masalalami bitta kompyuter yordamida hal qilinadi. Ammo, shunday masalalar mavjudki, ularni hal qilish uchun bitta kompyuter kamlik qiladi. Bunda algoritmning buyruqlari kompyuterlar o’rtasida taqsimlanadi. Shu o’rinda 17 million xonali sonni topish uchun 1000 ta kompyuter 1 hafta ishlaganini yodga olish mumkin.
Do'stlaringiz bilan baham: |