1-Amaliy ish. Mavzu: Optimallashtirish va nisbiylik Ishdan maqsad



Download 180,9 Kb.
bet2/3
Sana07.07.2021
Hajmi180,9 Kb.
#111403
1   2   3
Bog'liq
1-Amaliy mashg'ulot

X = { | gi( )≤0, i = 1, …, m}

  1. Butun funksiyani ko’rsatish

f : X R

  1. Qidiruv kriteriyasi(max yoki min).

Shunda f(x) masalasini yechilish natijasida quyidagilardan biri hosil bo’ladi:

  1. X = .

  2. f( ) butun funksiya quyidan chegaralanmagan.

  3. * X : f( *) = f( ).

  4. Agar * bo’lsa, f( ) topilsin.

Endi optimizatsiyani dasturlash tomonidan ko’rib chiqamiz. Optimizatsiya – bu dasturning effektivligini yaxshilash maqsadida tizimni modifikatsiyalanishi. Bunda tizim bitta kompyuter dasturi, raqamli qurilma, kompyuterlar to’plami yoki hatto internetga o’xshash butun tarmoq bo’lishi mumkin. Hech bo’lmaganda to’liq optimizatsiyalash optimal tizimni olish hisoblanadi. To’g’risini aytadigan bo’lsak opitimizatsiyalash jarayonidagi optimal tizim har doim ham yetarli bo’lib hisoblanmaydi. Optimallangan tizim odatda faqat bitta masala yoki foydalanuvchilar guruhi uchun tegishli bo’ladi. Bu masala yoki foydalanuvchilar guruhidagi optimallashtirishga masalani yechishda, xotira hajmidan yo’qotish evaziga bo’lsa ham vaqt sarfini kamaytirish; xotira muhim bo’lgan ilovalarda esa xotiraga kam murojat qiluvchi algoritmlardan foydalanish orqali masalani hal qilish kabilar kirishi mumkin.

Ba’zi masalalar ko’pincha samarali bajariladi. Masalan, C tilidagi 1 dan N gacha bo’lgan barcha butun sonlar yig’indisini topuvchi dasturni olaylik:

int i, sum = 0;

For (i = 1; i <= N; i++)

sum+=i;

Ko’rinib turganiday bu kodda unchalik ham murakkablik yo’q. Bu kodga quyidagicha o’zgartirish kiritamiz:

Int sum = (N*(N+1))/2

“Optimizatsiya” odatda anglanilganidek tizimning o’zida funksionallikni saqlashidir. Biroq unumdorlikni sezilarli yaxshilash ortiqcha funksionalliklarni olib tashlash orqali ham amalga oshirish mumkin. Masalan, dastur 100tadan ko’p element kiritishga talab qilmasa dinamik xotiradan emas static xotiradan foydalanish amalga oshiriladi.

Protsessor vaqtini sarflash bo’yicha optimizatsiya odatda matematik hisblashga ega katta solishtirma og’irlikka hisoblovchi protsessor uchun juda muhim. Bu yerda dasturchi dastur kodini yozish paytida bir qancha optimizatsiyalash usullari keltirilgan.

- Ma'lumotlar obyekti initsializatsiyasi. Qaysidir ma'lumotlar obyekti qismining ko'pgina dasturlarida initsializatsiyalash(boshlang'ich qiymatni o'zlashtirish) zarurati mavjud. Bunday boshlang'ich qiymatlarni o'zlashtirish yoki dastur boshida yoki sikl oxirida amalga oshiriladi. Boshlang'ich qiymat berish protsessorning qimmatli vaqtini tejaydi. Masalan, agar gap sikldan foydalanib massivni initsializatsiyalash haqida ketayotgan bo'lsa, bu massivni to'g'ridan to'g'ri o'zlashtirishni e'lon qilishdan ko'ra kamroq samarali bo'ladi.

- Arifmetik operatsiyalarni dasturlash.

Massivning eng katta yoki eng kichik elementini aniqlashning juda ko’p usullari mavjud bo’lib, ulardan eng oddiy va universal usuli bu solishtiriluvchi elementgacha bo’lgan eng kichik yoki eng katta elementlarni ketma-ket keyingilari bilan solishtirish usulidir.



int FindMax(int* mass,int count)

{

if(count < 1) return null;

int max = mass[0];

for (int i = 1; i < count; i++)

if (mass[i] > max)

max = mass[i];

return max;

}

Bu usulning qolgan usullardan ustun tomoni shundaki, bu usul ixtiyoriy massiv uchun ishlaydi va har qanday dasturlash tili uchun dastur kodini yozish oson va resurs kam talab etiladi.

Bu usulning yagona kamchiligi shundan iboratki bu bu usul orqali juda katta hajmdagi massivlarda sekin ishlashidir.

Bu usullardan tashqari izlashning binar usuli mavjud bo’lib u juda katta hajmli massivlar uchun ishlatish mumkin. Lekin bu usul uchun juda ko’p kompyuter resursi talab etiladi.






Download 180,9 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©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