1-Modul. Algoritmlar haqida asosiy tushunchalar
1-mavzu.Hisoblashlarda algoritmlarni roli.
Reja:
1.
Algoritmlar.Algoritmlar asosida echiladigan masalalar.
2.
Ma’lumotlar strukturasi.
Algoritm tushunchasi zamonaviy matematika va informatikaning asosiy
tushunchalaridan biri hisoblanadi. Algoritm termini o’rta asrlar ulug’ matematigi Al
Xorazmiy nomidan kelib chiqqan. XX asrning 30-yiligacha algoritm tushunchasi
ko’proq matematik ma’no emas, balki metodologik ma’noni kasb etar edi. Algoritm
deganda, u yoki bu masalalar sinfini yechish imkonini beruvchi aniq ifodalangan
chekli qoidalar majmui tushunilgan. EHM larning paydo bo’lishi bilan algoritm
tushunchasi yanada keng tarqaldi. EHM va dasturlash usullarining rivojlanishi
algoritmlarni ishlab chiqish avtomatlashtirishdagi zaruriy bosqich ekanligini
tushunishga yordam berdi. EHM larning paydo bo’lishi algoritmlar nazariyasining
rivojlanishiga olib keldi.
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 algoritmiavval 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, lekin algoritmlash ijodiy ekanligini quyidagi
algoritmlar nazariyasining ba’zi bir ma’lumotlaridan ko’rish mumkin.
Agar bizdan biror algoritmni ishlab chiqish talab qilinsa, dastlab
izlanayotgan algoritmni tuzish mumkinmi yo’qmi degan savolga javob izlash kerak.
Chunki ba’zi hollarda algoritmni tuzish mumkin emasligini ko’rsatib berish
mumkin. Ba’zi bir hollarda algoritmni tuzish mumkinligi isbotlanadi. Bunday isbot
mavjud bo’lganligi bilan tuzilgan algoritmni amalgam oshirib bo’lmaydi yoki uning
samaradorligi talabga javob bermaydi. Shunga qaramasdan bir nechta algoritmlar
bitta amaliyotga qo’llanilayotganini topish mumkin.
Boshqa hollarda algoritmni tuzish mumkinligini ham, mumkin emasligini
ham isbotlab bo’lmaydi. U vaqtda algoritm tuzish jarayonida boshqa predmet
sohalaridan qurilgan algoritmlardan foydalanish mumkin.
Algoritmlar sifatini baholash uchun mezonlarni ko’raylik. Mavjud mezonlar
juda tahminlashgan. 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.
Faraz qilaylik, 2 ta tahlil qilingan algoritmlardan bittasining bajarilish vaqti tezroq
bo’ladi, uni xotira ishlash hajmi bo’yicha ham tahlil qilish kerak va bunday tahlillar
murakkab nazariyasiga mansub bo’ladi. Shunday qilib, algoritmlar nazariyasi fani
masalalarni
yechishga
mo’ljallangan
algoritmlarni samaradorligini va
murakkabligini tahlil qilish, o’zgartirish, qo’shimcha qilish va qayta ishlash
natijasida yahshilash usul va uslublarini o’rganadi.
Algoritmlarning turli ta’riflari mavjud. Rasmiy ta’riflardan biri bo’yicha
algoritm bu qo’yilgan masalani bir xil yechilishiga olib keluvchi aniq harakatlarning
ketma-ketligi. Bu tushunchadan algoritmning quyidagi xossalari kelib chiqadi:
Algoritmning asosiy xossalari.Algoritmning 5-ta asosiy xossasi bor: