Diskretlik - algoritm ba'zi oddiy qadamlarning ketma-ket bajarilishi sifatida muammoni yechish jarayonini aks ettirishi kerak. Bunday holda, algoritmning har bir bosqichini bajarish uchun cheklangan vaqt davri talab qilinadi, ya'ni dastlabki ma'lumotlarning natijaga aylanishi o'z vaqtida diskret ravishda amalga oshiriladi. Biz qadamlar bir zumda t0, t1, t2… lahzalarida bajariladi deb taxmin qilishimiz mumkin va bu lahzalar orasida hech narsa bo'lmaydi.
Soddalik qadamlar shuni anglatadiki, har qanday bosqichda bajariladigan ish hajmida algoritm bajaruvchisining xususiyatlariga qarab biron bir doimiy bo'ladi, lekin algoritm tomonidan olingan ma'lumotlar va oraliq qiymatlarga bog'liq emas. Raqamli algoritmlar uchun bunday sodda qadamlar, masalan, qo'shish, ayirish, ko'paytirish, bo'lish, ikkita 32 bitli raqamlarni taqqoslash, bitta raqamni xotiraning ba'zi joylaridan boshqasiga o'tkazish kabi bo'lishi mumkin. Boshlang'ich bosqichlargaikki faylni taqqoslashning ahamiyati yo'q, chunki taqqoslash vaqti fayllar uzunligiga bog'liq va uzunligi cheksiz bo'lishi mumkin
Tushunarlilik - ijrochi algoritmida uning o'zi (ijrochi) uchun mavjud bo'lgan, faqat uning buyruqlar tizimiga kiritilgan buyruqlar kiritilishi kerak.
Yakuniylik(cheklilik, aniqlik) - to'g'ri ko'rsatilgan dastlabki ma'lumotlar bilan algoritm o'z ishini yakunlashi va natijani cheklangan sonli bosqichda qaytarishi kerak.
Cheklilik – natijani olish uchun cheklangan sonli bosqichlarni bajarish kerakligini anglatadi, ya'ni ijrochi bir muncha vaqt ichida to'xtaydi. Bosqichlarning talab qilinadigan soni algoritmning kirish ma'lumotlariga bog'liq va doimiylik bilan kattalashtirilmaydi.
Natijaviylik- algoritmni ma'lum natijalar bilan yakunlash. Agar kiritilgan ma'lumotlar noyob bo'lsa, unda algoritm aniqlik (deterministic) xususiyati tufayli har doim bir xil natija beradi va algoritm qurilishi o'zi ma'nosini yo'qotadi.
Algoritmning zamonaviy rasmiy ta'rifi XX asrning 30-50-yillarida Tyuring, Post, Cherch (Cherkovning tezisi - Turing), N.Viner, A.A.Markov asarlarida berilgan.
"Algoritm" so'zining o'zi olim Abu Abdulloh Muhammad ibn Muso al-Xorazmiy nomidan kelib chiqqan. 825-yilda u asar yozdi, unda u birinchi bo'lib Hindistonda ixtiro qilingan pozitsion o'nlik sanoq tizimining tavsifini berdi. Al-Xorazmiy yangi tizimda hisoblash qoidalarini shakllantirgan va, ehtimol, birinchi bo'lib 0 raqamini raqamli yozuvdagi yetishmayotgan pozitsiyani ko'rsatish uchun ishlatgan (uning hindcha nomini arablar as-sifr yoki shunchaki sifr deb tarjima qilgan, shuning uchun "raqam" va "shifr" so'zlari ). Xuddi shu davrda boshqa arab olimlari hind raqamlaridan foydalanishni boshladilar. XII asrning birinchi yarmida al-Xorazmiyning lotin tarjimasidagi kitobi Yevropaga kirib keldi. Tarjimon unga Algoritmi de numero Indorum ("Hindiston hisobi haqidagi algoritmlar") nomini bergan. Arab tilida bu kitob "Kitob al-jabr val-muqobala" ("Qo'shish va ayirish kitobi") deb nomlangan. Kitobning asl sarlavhasidan Algebra so'zi keladi.
Algoritmlashtirish algoritm va dasturlarni ishlab chiqishda qo'llaniladi - berilgan amaliy masalalarni yechish algoritmlarini tizimli kompilyatsiya qilish jarayoni. Algoritmizatsiya dasturlarni ishlab chiqish va kompyuterda muammolarni hal qilishning majburiy bosqichi hisoblanadi. Amaliy algoritmlar va dasturlar uchun determinizm, samaradorlik va ommaviylik, shuningdek, berilgan vazifalarni hal qilish natijalarining to'g'riligi muhim ahamiyatga ega.
Algoritm so'zlar bilan yozilishi va sxematik tarzda ko'rsatilishi mumkin. Odatda, boshida (g'oya darajasida) algoritm so'zlar bilan tavsiflanadi, lekin amalga oshirishga yaqinlashganda, u ijrochiga tushunarli bo'lgan tilda (masalan, mashina kodi) tobora ko'proq rasmiy konturlar va formulalarni egallaydi. Masalan, algoritmni tavsiflash uchun oqim sxemalari ishlatiladi. Ta'rifning dasturlash tilidan mustaqil bo'lgan yana bir varianti - bu psevdokod.
Do'stlaringiz bilan baham: |