Ko'pincha shunday bo'ladiki, bir xil algoritmning ishlash vaqti, muammoning o'lchamidan tashqari, foydalanuvchi kiritgan boshqa parametrlarga ta'sir qiladi
Ko'pincha shunday bo'ladiki, bir xil algoritmning ishlash vaqti, muammoning o'lchamidan tashqari, foydalanuvchi kiritgan boshqa parametrlarga ta'sir qiladi. Bunda yaqinlashuv funksiyalari oilasi tuziladi va algoritmning murakkabligi analitik yo‘l bilan topiladi.
Mehnat intensivligi "href =" / matn / kategoriya / trudoemkostmz / "rel =" xatcho'p "> mehnat zichligi (ish vaqti).
Algoritmning polinom yoki eksponensial tabiati kiritilgan ma'lumotlarning shakliga (ikkilik, o'nlik yoki boshqa sanoq sistemasi) nisbatan o'zgarmasdir.
Algoritmning ishlash vaqti, ya'ni vaqt murakkabligi yuqoridan ma'lum darajada ko'phad bilan chegaralangan bo'lsa, u ko'pnomli deyiladi. T(N)= O(Nm) ... Keyin bunday algoritm bilan yechilgan barcha masalalar P-sinf masalalarni tashkil qiladi. Bu vazifalar R.ga kiritilganligi aytiladi.
Eksponensial vaqt murakkabligi bilan bog'liq muammolar ( T(N)= O(KN) ) R ga kiritilmagan.
Izoh: Chiziqli murakkablikdagi masalalar P ga kiritilganligini ko'rsatish mumkin
T(N)= O(N1 ) Keling, deterministik bo'lmagan algoritm yordamida polinom vaqtida yechish mumkin bo'lgan NP-muammolar sinfini kiritamiz.
Algoritm holatini hozirda bajarilayotgan buyruq manzili va jarayon holati vektoriga ekvivalent bo'lgan barcha o'zgaruvchilar qiymatlari to'plami sifatida belgilaymiz. Shuning uchun ko'pchilik algoritmlar deterministikdir, ya'ni ularda har qanday holat uchun faqat bitta ruxsat etilgan keyingi holat (shart va tanlash operatsiyalari) mavjud. Bu shuni anglatadiki, bunday algoritm bir vaqtning o'zida bitta ishni bajarishi mumkin.
V deterministik bo'lmagan algoritm(NDA) har qanday holat uchun bir nechta ruxsat etilgan keyingi holat bo'lishi mumkin, ya'ni bunday algoritm bir vaqtning o'zida bir nechta operatorni bajarishi mumkin.
NDA tasodifiy yoki ehtimolli algoritm emas. Bu ko'plab shtatlarda bo'lishi mumkin bo'lgan algoritmdir (bu ko'plab variantlar bilan parallel ravishda muammoni hal qilishga teng).
Misol:
Deterministik algoritm (DA) bu muammoni ketma-ket hal qiladi (barcha variantlarni sanab o'tish, A0 muqobilini tanlamaguncha optimallik mezoni K0 bilan taqqoslash).
NDA bir vaqtning o'zida (parallel ravishda) barcha muqobillarni olishi va K0 bilan solishtirishi mumkin, mustaqil ravishda amalga oshiriladigan har bir muqobil uchun alohida jarayon sifatida o'zini nusxalash.
Bunday holda, agar biron bir nusxa noto'g'ri natija olinganligini yoki natija olinmaganligini aniqlasa, u bajarilishini to'xtatadi. Agar nusxa K0 ni qanoatlantiradigan yechim topsa, u muvaffaqiyatni e'lon qiladi va boshqa barcha nusxalar ishlashni to'xtatadi.
Bu. NDA uchta parametr bilan tavsiflanadi:
1. tanlash- qiymatlari S to'plamining elementlari bo'lgan ko'p qiymatli funktsiya;
2. muvaffaqiyatsizlik algoritm nusxasini tugatishga olib keladi;
3. muvaffaqiyat algoritmning barcha nusxalarini tugatishga va natijaga olib keladi.
Shubhasiz, hech qanday jismoniy qurilma cheksiz deterministik bo'lmagan xatti-harakatlarga qodir emas, bu NDA nazariy usul ekanligini anglatadi.
NDA polinom yordamida echilishi mumkin bo'lgan masalalar NP-muammolar sinfini tashkil qiladi.