3-Ma\'ruza. Algoritmlarni tahlil qilish asoslari va ishlab chiqish.
(3)T: Agar algoritm polinomial bajarilish vaqtiga ega bo'lsa, u samarali deb ataladi.
Lekin, polinomial vaqt d ning katta qiymatlarida yaxshi natija bermasligi mumkin, masalan d>=100 holatda bu son juda katta bo’ladi, natijada polinomial bajarilish vaqti kattalashib ketadi. Algoritm ishlayveradi. Bu xolda N^d faqat chegara vazifasini o’taydi.
A
Polinomial vaqtga ega bo'lgan algoritmlar mavjud bo'lgan masalalar uchun bu algoritmlar deyarli har doim n, n*log n, n^2 yoki n^3 kabi o'rtacha o'sish sur'ati bilan ko'paytuvchilarga mutanosib ravishda ishlaydi. Va aksincha, Polinomial vaqtga ega bo'lmagan algoritmli masalalar uchun bajarilish vaqti juda ham kattalashib ketadi, uni baholash noma'lum bo’ladi, odatda bunday masalalarni yechish juda murakkab bo'lib chiqadi. Umuman olganda, bunday baholashlar ba’zi masalalarda darajaning yoki koeffitsientlarning kattaligi sababli yaxshi natija bermaydi, algoritm yaxshi bo’lsa ham. Ajablanarlisi shuki, aksariyat hollarda polinomial vaqtni matematik aniqlash algoritmlarning samaradorligi va real hayotdagi masalalarni hal qilish bo'yicha kuzatishlarimiz bilan mos keladi. Bunday masalalarni polinomial yechish mumkin bo’lgan masalalar deyiladi. Demak, 3-ta’rifni ma’lum ma’noda talabga javob beruvchi ta’rif desak boladi. U xolda Polinomial vaqtga ega bo'lmagan algoritmlarni qayta ko’rib chiqish kerak.
Polinomial vaqtga ega bo'lgan algoritmlarni ishlab chiqish nima ucgun zarurligini quyidagi jadval ma’lumotlarini tahlil qilib bilish mumkin. Algoritmlarning ishlash vaqtlari