Алгоритмларни лойиҳалашга кириш. Алгоритмларни вақт ва ҳажм бўйича баҳолаш. Кўпҳадлар қийматларини ҳисоблашда



Download 0,76 Mb.
Pdf ko'rish
bet9/11
Sana18.07.2022
Hajmi0,76 Mb.
#818818
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
лек 1

Алгоритмни кодлаш
Кўплаб алгоритмлар оҳир оқибат компютер дастурларига айланишга 
мўлжалланган. Дастур ёзиш жараёнида кўп қийинчиликларга дуч келиш 
мумкин. Eнг асосий хавф, алгоритмни машина тилига таржима қилишда 
вужуга келиши мумкин ёки дастурни ўзи самарасиз яратилган. Шунинг учун 
баъзи машҳур мутахасисслар компютер дастури тўғрилиги математик 
усуллар орқали текширилмагунча исботланмайди ден ҳисоблашади. Улар, 
ҳаттоки, шундай баҳолашни амалга оширувчи махсус методлар ўйлаб 
топишган. Аммо, бу методлар формал тарзда жуда кичик дастурларга 
қўлланилмоқда. Амалиётда ҳанузгача компютер дастурлари тўғрилиги тест 
орқали текширилади. Тест жараёни илм соҳасидан кўра кўпроқ санъат соҳаси 
ҳисобланади, лекин бу ундан ҳеч нарса ўрганиб бўлмайди дегани эмас. Тест 
ва тўғирлашга кўплаб китоблар бағишланган, бироқ уларнинг асосий 
фикрини шундай умумлаштирса бўлади: программа алгоритмини амалга 
оширишда тест ва тўғирлаш синчиклаб ўтказилиши лозим.
Биз кирувчи маълумотлар диапазони алгоритм элементлари ҳар доим 
аввалдан қўйилган чегараларга кирмайди деб таъкидлаймиз, шунинг учун 
уни текшириш шарт эмас. Бироқ, алгоритмларни амалий ишловчи дастурлар 
кўринишида амалга оширишда бундай текширув даркордир.


Алгоритмни программа кўринишида тўғри амалга ошириш керак, 
лекин алгоритм кучи уни амалга оширишни самарасиз қилиши мумкин. 
Замонавий компиляторлар бир қанча даражада бундай ҳавфни олдини 
олишни, айниқса, кодни оптимизациялаштириш жараёнида таъминлайди. 
Шунга қарамасдан, бир қатор стандарт нарсалар, ҳисоблаш операторининг 
инвариант таъбирини (сиклда ўзгармайдиган) сикл чегарасидан чиқариш, 
секин операторлани тезлари билан ўрин алмашиниши ҳақида билиш лозим. 
Бундай оптимизациялаш методларини қўллаш программани амалга 
оширишда фақат узоқ бўлмаган давомий кенгайишда қўлланилади, 
самаралироқ алгоритмни қўллаш, баъзида программани амалга оширишни 
бир қанча тартибда тезлаштиради. Алгоритм қатъиян танланганда, 
программани ишлаб чиқаришини 10- 50% га ошириш яхши натижа 
ҳисобланади.
Программани ишловчи версияси яратилгандан сўнг, алгоритм асосида 
ётувчи қўшимча эмпирик анализ амалга оширилиши мумкин. Бунинг учун, 
кирувчи маълумотлар кўрсаткичи программа амалга ошиш вақтини қайд 
этиб, олинган натижаларни анализ қилиб чиқиши лозим. 2.6 бўлимида 
алгоритмларни анализ қилиш ютуқ ва камчиликлари ҳақида гапирилади. 
Хулоса ўрнида, яна бир бор алгоритмни лойиҳалаш ва анализ қилиш ғоясини 
таъкидлаб ўтамиз.
Идеал кўринишдаги алгоритм яратиш биринчи уринишдан қўлингиздан 
келган тақдирда ҳам, барибир, анализ қилиб, янада яхшилашга уриниб 
кўринг. Бу фикр унчалик ҳам ёмон эмас. Бошқа тарафдан, вақтида тўхташни 
ҳам билиш керак. Реал ҳаётда вақт тўхтатувчи омиллар - бу проектни 
топшириш вақти ёки бошлиқнинг сабри бўлиши мумкин. Алгоритмни 
лойиҳалаш инженерлик вазифаси томонидан қийин ҳисобланади. Бу ҳолат 
чекланган ресурслар ва проектировшикнинг вақти билан боғлиқдир.
Академик нуқтаи назардан, бу бўлимда қизиқ ҳамда қийин бўлган 
алгоритмнинг оптималлиги ҳақидаги тадқиқот саволи кўтарилган. Бу савол 
алгоритм самарадорлигига эмас, балки ечилаётган масала қийинчилик 
даражасига дахлдордир. Сизнинг олдингизга қўйилган масалани ихтиёрий 
алгоритм ёрдамида ишлаш учун қанча минимал миқдорда куч сарф этиш 
лозим? Бир қанча масалалар саволига жавоб топилган. Масалан, ҳар қандай 
саралаш алгоритми массивда элементларини 
н лог2н
, таққослаш методи 
орқали амалга оширилади, н - бир ўчовли массив. Бироқ, содда кўринган 
матрисаларни кўпайтириш каби масалаларга олимлар томонидан ҳалигача 
аниқ жавоб топилмаган.


Алгоритмик масалаларни ечишда пайдо бўладиган яна бир муҳим 
савол шуки, масалани ҳар қандай алгоритм ёрдамида ишлаш мумкинми? Бу 
китобда, биз ечимга эга бўлмаган, манфий дискриминантга эга бўлган 
квадрат тенгламалар илдизини қидириш каби масалалар ҳақида сўз 
юритмаймиз. Бундай ҳолатларда, алгоритм масала ечимга эга эмас деган 
махсус маъноли жавобни қайтариш керак. Ҳар қандай алгоритм ёрдамида 
ечимни топиш мумкин бўлмаган масалалар ҳақида гап кетмоқда, лекин 
уларнинг жавоби оддийгина - ҳа ёки йўқ бўлиши мумкин. Бундай 
масалаларга намуна кейинги бўлимларда келтирилган. кўплаб бундай 
масалалар айрим алгоритмлар ёрдамида ишланиши мумкин.
Хулоса қилиб айтганда, алгоритмларни ишлаб чиқиш бу ижодий иш, 
аниқ чизиб қўйилган қоидалар ҳамма вақт ҳам қўл келавермайди.



Download 0,76 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish