Uploaded by aochilov848

KORDINATA TUSHUSHI...

advertisement
MUNDARIJA.
KIRISH..............................................................................................2
1. Koordinatalarni tushirish usuli yordamida masalani yechish........3
1.1 Koordinatalarni tushirish usulining tavsifi...................................3
1.2 Yechim algoritmi..........................................................................4
2. Bir necha o‘zgaruvchili funksiyaning minimali.............................5
2.1 Yengillik funktsiyasi....................................................................5
2.2 Koordinatalar bo'yicha tushish.....................................................8
2.3 Eng tez tushish...........................................................................13
2.4 Tasodifiy qidiruv........................................................................17
XULOSA..........................................................................................19
FOYDALANILGAN MANBALAR RO'YXATI............................20
1-ilova...............................................................................................21
1
KIRISH
Koordinatali tushish ikkita muammoga ega. Ulardan biri - yo'qsilliq
ko'p o'zgaruvchan funktsiya. Quyidagi rasm koordinatali tushish iteratsiyasi
noaniq holatda qolishi mumkinligini ko'rsatadi.statsionar nuqta agar
funktsiya darajasining egri chiziqlari silliq bo'lmasa. Algoritm nuqtada bo'lsa
deylik (-2, -2); u holda qizil o'qlar bilan ko'rsatilgan qadam tashlash uchun
ikkita o'q yo'naltirilgan yo'nalish mavjud. Shu bilan birga, ushbu ikki
yo'nalish bo'yicha har bir qadam maqsad funktsiyasining qiymatini oshiradi
(minimallashtirish muammosini nazarda tutgan holda), shuning uchun
algoritm hech qanday qadam tashlamaydi, garchi ikkala qadam birgalikda
algoritmni eng maqbul darajaga yaqinlashtirsa ham. Ushbu misol
koordinatali tushishning eng yaxshi darajaga yaqinlashishi shart emasligini
ko'rsatsa-da, oqilona sharoitlarda rasmiy yaqinlashishni ko'rsatish mumkin.
2
1. Koordinatalarni tushirish usuli yordamida masalani yechish
1.1 Koordinatalarni tushirish usulining tavsifi
Keling, ushbu usulni uchta o'zgaruvchili funksiya misolida taqdim
qilaylik
.
Keling, nolga yaqinlikni tanlaylik
qiymatlarini aniqlaymiz
bog'liq
. Biz ikkita koordinataning
. Keyin funksiya faqat bitta o'zgaruvchiga
bo'ladi ; bilan
. Bitta
belgilaymiz
funksiyasining minimalini topamiz
nuqtadan nuqtaga
va uni bilan belgilaymiz
o‘zgaruvchining
.
Biz
o'qga parallel ravishda bir qadam tashladik ; bu
bosqichda funksiyaning qiymati kamaydi.
Keyin yangi nuqtadan biz o'qga parallel yo'nalishda tushamiz
chiqamiz
, ya'ni ko'rib
, uning minimalini topamiz va uni bilan belgilaymiz
. Ikkinchi qadam bizni nuqtaga olib keladi
. Shu nuqtadan o'qga parallel
ravishda uchinchi pog'ona - tushishni olamiz
topamiz
. Nuqtaga
yetib
va funktsiyaning minimalini
borish, tushish
tsiklini
yakunlaydi .
Biz tsikllarni takrorlaymiz. Har bir pasayishda funktsiya oshmaydi va
funktsiyaning
qiymatlari
cheklanadi
yaqinlashadi
pastdan
uning
minimal
qiymati
bilan
. Shunday qilib, iteratsiyalar ma'lum bir chegaraga
. Bu erda tenglik bo'ladimi, ya'ni tushishlar minimal darajaga
yaqinlashadimi va qanchalik tez?
Bu funktsiyaga va nolga yaqinlikni tanlashga bog'liq.
Koordinatalarni
tushirish
usuli
oddiy
va
kompyuterda dasturlash
oson. Ammo u asta-sekin birlashadi. Shuning uchun u minimalni topishda birinchi
urinish sifatida ishlatiladi.
3
1.2 Yechim algoritmi
Biz bir necha kichik uzunlikdagi bosqichlarda c orqali takrorlaymiz .
Keling, nolga yaqinlikni o'rnatamiz, masalan:
Keling, qisman hosilalarni topamiz
.
Keling, j
Keyin formulalar yordamida k-chi yaqinlikni hisoblaymiz:
Biz t bosqichini shunday tanlaymiz
va
Natijada, berilgan aniqlik
.
qayerda bo'lgan mezon bo'yicha
jarayonni yakunlab , f funktsiyasi maksimal bo'lgan to'plamga kelamiz.
Topilgan
funksiyasiga almashtiramiz
to'plamni
va
mos
va barcha c ni saralab,
bo'lganlarini tanlaymiz.
4
keladiganini
f1=
f1 minimal
2. Bir necha o‘zgaruvchili funksiyaning minimali
2.1 Yengillik funktsiyasi
Ikki o'zgaruvchining funktsiyasi misolidan foydalanib, ko'p o'lchovli
ishning asosiy qiyinchiliklarini ko'rib chiqish qulay ( x, y ) . U koordinatali
uch o'lchamli fazodagi ba'zi sirtlarni tasvirlaydi x, y,  . Vazifa ( x, y )  min
bu sirtning eng past nuqtasini topishni anglatadi.
Keling, ushbu sirtning relyefini tekis chiziqlar bilan tasvirlaymiz.
Teng masofadagi tekisliklarni chizamiz   const va ularning sirt bilan
kesishish chiziqlarini topamiz
 ( x, y ) ;
bu chiziqlarning tekislikka
proyeksiyalari x, y tekislik chiziqlari deyiladi. Funktsiyaning pasayish
yo'nalishi daraja chiziqlari yaqinida chizilgan zarbalar bilan ko'rsatiladi.
Olingan rasm gorizontal chiziqlar bilan rel'efning topografik tasviriga
o'xshaydi. Darajali chiziqlar turidan kelib chiqib, shartli ravishda relefning
uch turini ajratishimiz mumkin: havza, jar va tartibsiz.
a) b)
V)
Guruch. 2 g)
5
Havza topografiyasi bilan tekislik chiziqlari ellipsga o'xshaydi (1rasm, a). Degenerativ bo'lmagan minimal kichik mahallada funktsiyaning
relyefi ichi bo'sh. Haqiqatan ham, silliq funktsiyaning minimal nuqtasi zarur
shartlar bilan belgilanadi
 

0
x
y
, (o'n bir)
Teylor formulasi bo'yicha funksiyaning minimalga yaqin kengayishi
shaklga ega
1
1
( x, y )  ( x , y )  (x) 2  xx  xy xy  (y ) 2  yy  
2
2
, (12)
Bundan tashqari, kvadrat shakl (12) musbat aniqlikdir 1, aks holda bu
nuqta degenerativ bo'lmagan minimum bo'lmaydi. Va aniq kvadrat shakldagi
sath chiziqlari ellipsdir.
Ushbu nuqtada barcha ikkinchi hosilalar nolga teng bo'lsa va minimal
yuqori hosilalar tomonidan aniqlangan bo'lsa, aslida yangi hech narsa
bermaydi va biz buni alohida ko'rib chiqmaymiz (ellips o'rniga darajali
chiziqlar ularga o'xshash to'rtinchi tartibli egri chiziqlar bo'ladi). ).
E'tibor bering, shart (11) maksimal nuqtalar va egar nuqtalari bilan
ham qondiriladi. Lekin maksimal nuqtalarda kvadratik shakl (12) manfiy
aniq, egar nuqtalarida esa belgini o'zgartiradi.
Minimalga yaqin funktsiya o'zgaruvchilardagi sezilarli o'zgarishlar
bilan
ozgina
o'zgaradi.
Shuning
uchun,
agar
biz
funktsiyani
minimallashtirishi kerak bo'lgan o'zgaruvchilarning qiymatlarini juda aniq
aniqlamasak ham, funktsiyaning o'zi odatda minimaldan ozgina farq qiladi.
1
Kvadrat shakl
a
i, k
z i z k musbat aniq deb ataladi, agar har birida z i (bir vaqtning o'zida yo'q bo'lib
i, k
ketadiganlardan tashqari) u musbat bo'lsa.
6
Keling, relyefning jarlik turini ko'rib chiqaylik. Agar daraja chiziqlari
bo'lak-bo'lak silliq bo'lsa, biz ularning har birida tanaffus nuqtasini tanlaymiz.
Sinish nuqtalarining geometrik joylashuvini agar burchak funksiya ortib
borish yo‘nalishiga yo‘naltirilgan bo‘lsa, haqiqiy jar, kamayish yo‘nalishi
bo‘yicha bo‘lsa, tog‘ay deb ataymiz (2-rasm, b). Ko'pincha, tekislik chiziqlari
bo'ylab silliq bo'ladi, lekin ularda katta egrilik joylari mavjud; Eng katta
egrilikka ega bo'lgan nuqtalarning geometrik joylashuvini biz jarliklar yoki
tizmalar deb ataymiz (2-rasm, v). Masalan, yengillik funksiyasi
( x, y)  10( y  sin x) 2  0.1x 2 , (13)
Ushbu rasmda tasvirlangan aniq o'ralgan eruvchan jar bor, uning
"pastki qismi" sinusoid, eng past nuqtasi esa koordinatalarning kelib chiqishi.
Jismoniy masalalarda jarliklar relefi kompyuter o'zgaruvchilar
orasidagi bog'lanish shakliga ega bo'lgan qandaydir naqshni hisobga
olmaganligini ko'rsatadi. Ushbu naqshni aniqlash va aniq ko'rib chiqish
matematik muammoni hal qilishni osonlashtiradi. Shunday qilib, agar (13)
misolda biz yangi o'zgaruvchilar kiritsak   x,   y  sin x , u holda relyef
tushkunlikka aylanadi.
Relyefning tartibsiz turi (2-rasm, d) ko'plab maksimal, minimal va
egarlarning mavjudligi bilan tavsiflanadi. Masalan, funksiya bo'lishi mumkin
( x, y)  (1  sin 2 x)(1  sin 2 y) , (14)
relyefi ushbu rasmda ko'rsatilgan; uning koordinatalari bo'lgan
nuqtalarda minimallari
xk  k ,
yl  l va har bir koordinata bo'ylab
minimallarga nisbatan siljigan nuqtalarda maksimallari mavjud  2 .
Minimalni topishning barcha samarali usullari funktsiya pasayadigan
traektoriyalarni qurishga to'g'ri keladi; Turli usullar bunday traektoriyalarni
7
qanday qurishda farqlanadi. Erning bir turiga moslashtirilgan usul boshqa
turdagi erlarda yaxshi ishlamasligi mumkin.
2.2 Koordinatalar bo'yicha tushish
Minimalni
topish
uchun
(11)
kabi
tenglamalar
tizimini
chiziqlilashtirish yoki oddiy iteratsiyalar yordamida yechish va egar nuqtalari
yoki maksimal bo'lgan echimlarni bekor qilish kifoya. Biroq, real
minimallashtirish muammolarida bu usullar odatda minimalning shunday
kichik mahallasida birlashadiki, har doim ham mos nolga yaqinlikni tanlash
mumkin emas. Koordinatalarga ko'ra pastga tushish osonroq va samaraliroq.
Keling, ushbu usulni uchta o'zgaruvchili funksiya misolida taqdim qilaylik
 ( x, y , z ) .
Keling, nolga yaqinlikni tanlaylik x0 , y0 , z 0 . Biz ikkita koordinataning
qiymatlarini
aniqlaymiz
y  y0 , z  z 0 .
Keyin
funksiya
faqat
bitta
o'zgaruvchiga bog'liq bo'ladi x ; bilan belgilaymiz f1 ( x)  ( x, y0 , z 0 ) . Bitta
o‘zgaruvchining funksiyasining minimalini topamiz
f1 ( x) va uni bilan
belgilaymiz x1 . Biz nuqtadan nuqtaga ( x1 , y0 , z 0 ) o'qga parallel ravishda x bir
qadam tashladik ( x0 , y0 , z 0 ) ; bu bosqichda funksiyaning qiymati kamaydi.
Keyin yangi nuqtadan biz o'qga parallel yo'nalishda tushamiz y , ya'ni
ko'rib chiqamiz f 2 ( y)  ( x1 , y, z 0 ) , uning minimalini topamiz va uni bilan
belgilaymiz y1 . Ikkinchi qadam bizni nuqtaga olib keladi ( x1 , y1 , z 0 ) . Shu
nuqtadan o'qga parallel ravishda uchinchi pog'ona - tushishni olamiz z va
funktsiyaning minimalini topamiz f 3 ( z)  ( x1 , y1 , z ) . Nuqtaga etib borish
( x1 , y1 , z1 ) tushishlar tsiklini yakunlaydi.
Biz tsikllarni takrorlaymiz. Har bir pasayishda funktsiya oshmaydi va
funktsiyaning qiymatlari pastdan uning minimal qiymati bilan cheklanadi
  ( x , y, z ) . Shunday qilib, iteratsiyalar ma'lum bir chegaraga yaqinlashadi
8
~
   . Bu erda tenglik bo'ladimi, ya'ni tushishlar minimal darajaga
yaqinlashadimi va qanchalik tez?
Bu funktsiyaga va nolga yaqinlikni tanlashga bog'liq. Ikki
o'zgaruvchining funksiyasi misolidan foydalanib, koordinatalar bo'ylab
pasayish kerakli minimal darajaga yaqinlashadigan va minimal darajaga
tushmaydigan holatlar mavjudligini tushunish oson.
Biz tanlangan yo'nalishda, ya'ni tekislikdagi qandaydir to'g'ri chiziq
bo'ylab harakat qilamiz x, y . To'g'ri chiziq sath chiziqlarini kesib o'tadigan
bo'limlarda biz harakat qilganimizda, biz bir sath chizig'idan ikkinchisiga
o'tamiz, shunda bu harakat paytida funktsiya o'zgaradi (harakat yo'nalishiga
qarab ortadi yoki kamayadi). Faqat bu to'g'ri chiziq sath chizig'iga tegib
turgan nuqtada (3-rasm, a) funksiya shu yo'nalish bo'ylab ekstremumga ega
bo'ladi. Bunday nuqtani topib, biz u erda birinchi yo'nalishda tushishni
yakunlaymiz va ikkinchi yo'nalishda tushishni boshlashimiz kerak (chunki
biz hozir koordinata o'qlariga parallel yo'nalishlarni tanlayapmiz, ikkinchi
yo'nalish birinchisiga perpendikulyar).
Darajali chiziqlar haqiqiy jarlikni hosil qilsin. Keyin bir koordinata
bo'ylab tushish bizni jarlikning "pastki qismiga" olib boradigan va keyingi
koordinata (chiziq chiziq) bo'ylab har qanday harakat bizni yuqoriga olib
boradigan holat mumkin (3-rasm, b). Minimalga hali erishilmagan bo'lsa-da,
koordinatalar bo'ylab boshqa pastga tushish mumkin emas; bu holda
koordinatalar bo'ylab tushish jarayoni minimal darajaga yaqinlashmaydi.
Aksincha, agar funktsiya etarlicha silliq bo'lsa, u holda minimalning
ba'zi qo'shnilarida koordinatalar bo'ylab tushish jarayoni ushbu minimumga
yaqinlashadi. Funktsiya uzluksiz ikkinchi hosilalarga ega bo'lsin va uning
minimumi degenerativ emas. Oddiylik uchun yana ikkita o'zgaruvchining
funktsiyasini ko'rib chiqing ( x, y ) . Keling, nolga yaqinlikni tanlaymiz x0 , y 0
va shu nuqta orqali daraja chizig'ini chizamiz. Ushbu daraja chizig'i bilan
9
chegaralangan maydonda G quyidagi tengsizliklar qanoatlansin, ya'ni kvadrat
shakl (12) musbat aniqlangan:
 xx  a  0,  yy  b  0,
 xy  c, ab  c 2
. (15)
Keling, bu nolga yaqinlikdan koordinatalar bo'ylab tushish minimal
va chiziqli ravishda yaqinlashishini isbotlaylik.
Funktsiya qiymatlari tushish traektoriyasi bo'ylab oshmaydi; shuning
uchun traektoriya mintaqani tark eta olmaydi G va tengsizliklar (15) barcha
bosqichlarda qondiriladi. Nuqtadan boshlangan sikllardan birini ko'rib
chiqamiz
x
A
A (3-rasm,
 1  0
a). Oldingi tsikl , shuning uchun ( y ) A  0 va
yo'nalishi bo'yicha minimumni qidirish bilan yakunlandi y .
Yangi tsiklning birinchi qadami bizni x va nuqtaga  x  0 tushadi B .
y   0
Ikkinchi hosilalar uzluksiz bo'lgani uchun o'rtacha qiymat
teoremasi qo'llanilishi mumkin; olamiz
1  ( x ) A  ( x ) B   xx  AB  a AB ,
  ( y ) A  ( y ) B   xy  AB  c AB ,
bu erda  nuqtalar orasidagi masofalar ko'rsatilgan. Bu erdan olamiz
c1  a . Keling, tsiklning ikkinchi bosqichini bajaramiz - y nuqta tomon
tushish C , undan keyin ( y ) C  0 va  x C   2 . Shunga o'xshash fikrlash
bilan munosabatni beradi   b 2 . Ushbu tengsizliklarni birlashtirib, biz
topamiz
 2  q1 , q 
c2
, 0  q 1
ab
.
10
Binobarin, bir tsiklda u bir omilga  x kamayadi q ; uchun ham xuddi
shunday bo'ladi  y , agar biz bir bosqichga siljigan, ya'ni nuqtadan boshlanib
B,
nuqtada tugaydigan tsiklni hisobga olsak D .
Bu shuni anglatadiki, tsikllar soni bo'lsa n   , barcha birinchi
hosilalar chiziqli ravishda nolga moyil bo'ladi:
x
n
 qn x 0  0
Va
y
n
n
 q 0.
Birinchi hosilalar bir vaqtning o'zida minimal nuqtada yo'q bo'lib
ketadi va uning yonida koordinata o'sishining chiziqli bir hil funktsiyalari
mavjud. Shuning uchun tushish nuqtalarining koordinatalari chiziqli ravishda
minimal nuqtaning koordinatalariga moyil bo'ladi, ya'ni bu holda
koordinatalar bo'ylab tushish yaqinlashadi va chiziqli.
Holat (15) degenerativ bo'lmagan minimumning etarlicha kichik
qo'shnisida amalga oshirilganligi aniq, chunki bu shartlar kvadrat shakl (12)
musbat aniq bo'lishi talabiga ekvivalentdir. Shunday qilib, etarlicha silliq
funktsiyaning degenerativ bo'lmagan minimumiga yaqin joyda, koordinatalar
bo'ylab tushish chiziqli ravishda minimal darajaga yaqinlashadi. Xususan,
kvadratik funktsiya uchun bu usul har qanday nolga yaqinlikda yaqinlashadi.
Haqiqiy yaqinlashuv tezligi kichik bo'lsa yaxshi bo'ladi q , sath
chiziqlari o'qlari koordinata o'qlariga parallel bo'lgan ellipslarga yaqin
bo'lganda. Koordinata o'qlariga sezilarli burchak ostida juda cho'zilgan
ellipslar uchun kattalik q  1 va yaqinlashish juda sekin.
Agar yaqinlashish sekin bo'lsa, lekin traektoriya allaqachon minimal
yaqin atrofga tushib qolgan bo'lsa, unda iteratsiyalar Aitken jarayoni bilan
aniqlanishi mumkin; Albatta, bu holda boshlang'ich qiymatlarni oxirgi uchta
tushish uchun emas, balki uchta tushish tsikli bo'yicha (ya'ni, nuqtalar emas
A, B, C , balki nuqtalar B, D va 3-rasmda bo'lmagan uchinchi nuqta) olish
kerak. a).
11
Eriydigan jar juda cho'zilgan havzaga o'xshaydi (3-rasmga qarang, b).
Pastga tushish traektoriyasi shunday jarlikka kirganda, konvergentsiya
shunchalik sekinlashadiki, hisoblashni amalga oshirish deyarli mumkin
emas. E'tibor bering, stoxastik masalalarda xatolarning mavjudligi haqiqiy
jarliklar va tizmalarning echilishi mumkin bo'lganlarga aylanishiga teng;
hisoblashni davom ettirish mumkin, garchi bunday hisobning amaliy qiymati
kichik bo'lsa: yaqinlashuv juda sekin.
Koordinatalarni tushirish usuli oddiy va kompyuterda dasturlash
oson. Ammo u asta-sekin birlashadi va jarliklar mavjud bo'lganda - juda
yomon. Shuning uchun u minimalni topishda birinchi urinish sifatida
ishlatiladi.
Misol.
Keling,
kvadrat
funktsiyani
( x, y)  x 2  y 2  xy va nolga yaqinlikni tanlaymiz
ko'rib
chiqamiz
x0  1, y 0  2 . Hisob-
kitoblarni amalga oshirib, biz olamiz
x1  1,
y1  1 ; x2   1 ,
2
4
Aitkenning
aniqlanishi
y 2  1 ; x3   1 ,
8
16
~
x~
y  0,
ya'ni
y3  1
32 .
minimalning
aniq
pozitsiyasini beradi (nolga yaqinlashuv yordamida aniqlashtirish mumkin
emasligini unutmang).2
2.3 Eng tez tushish
Siz nafaqat koordinata o'qlariga parallel ravishda tushishingiz
mumkin. Har qanday satr bo'ylab
2
r  r0  at funktsiya
faqat bitta
Rakitin V.I., Pervushin V.E. Hisoblash usullari bo'yicha amaliy qo'llanma. M.: Oliy maktab, 1998. 383 b
12
o'zgaruvchiga bog'liq bo'ladi, (r0  at )   (t ) va bu satrdagi minimumni
topish mumkin.
Eng mashhuri eng tik tushish usuli bo'lib, u tanlaganda
a  ( grad) r  r0
, ya'ni funksiya berilgan nuqtadan cheksiz kichik harakat bilan
eng tez pasayadigan yo'nalishdir. Ushbu yo'nalishda minimal darajaga
tushish yangi yaqinlashishni belgilaydi r1 . Shu nuqtada gradient yana
aniqlanadi va keyingi tushish amalga oshiriladi.
Biroq, bu usul koordinata tushishiga qaraganda ancha murakkab,
chunki u lotin va gradientlarni hisoblashni va boshqa o'zgaruvchilarga
o'tishni talab qiladi. Bundan tashqari, konvergentsiya nuqtai nazaridan, eng
tik tushish koordinatalar bo'ylab tushishdan yaxshiroq emas. Trayektoriya
haqiqiy jarlikka tegsa, tushish to'xtaydi va eriydigan jarda u juda
sekinlashadi.
Agar funktsiya musbat aniq kvadratik funktsiya bo'lsa
(r )  (r , Ar )  (b, r )  c , (16)
keyin eng tik tushish formulalari oddiy shaklni oladi. To'g'ri chiziq
bo'ylab r  rn  at funktsiya (16) kvadratik ravishda parametrga bog'liq t :
 (t )  (rn  at )  (rn )  (2 Arn  b, a)t  (a, Aa)t 2 . (17)
Tenglamadan (d dt )  0 biz uning minimalini osongina topishimiz
mumkin
t   (2 Arn  b, a) 2(a, Aa) , (18)
bizga quyidagi tushish nuqtasini beradi:
13
rn 1  rn  at ,
(2 Arn  b, a) 2
(rn 1 )  (rn ) 
.
4(a, Aa)
(19)
eng tik tushish yo'nalishi kvadratik funktsiyaning gradienti (16) bilan
aniqlanadi:3
a  ( grad) rn  (2 Arn  b)
3
. (20)
Rakitin V.I., Pervushin V.E. Hisoblash usullari bo'yicha amaliy qo'llanma. M.: Oliy maktab,
1998. 383 b.
B.P. Demidovich, V. A. Maron, E. Z. Shuvalov. Raqamli tahlil usullari. -M., Nauka, 1967 yil.
14
Ushbu qiymatni (18) - (19) formulalarga almashtirib, biz ketma-ket
tushishlarni hisoblash uchun yakuniy ifodalarni olamiz.
Agar matritsaning xos vektorlaridan tashkil topgan bazis bo‘yicha
barcha harakatlarning kengayishidan foydalansak A , u holda kvadratik
funksiya uchun eng tik tushish usuli chiziqli yaqinlashishini isbotlashimiz
mumkin.
rn1  r  q rn  r
q
, qayerda
 max   min
2max  2min
1
; (21)
bu erda  ijobiy aniq matritsaning o'ziga xos qiymatlari A (ular
haqiqiy va ijobiy). Agar min  max , yuqori cho'zilgan ellipslarga to'g'ri keladi
- darajali chiziqlar, u holda q  1 konvergentsiya juda sekin bo'lishi mumkin.
Bunday dastlabki taxminlar mavjud (4-rasm) eng yomon taxmin aniq
amalga oshirilganda, ya'ni (21) da tenglik mavjud.
Sabablarini tushunish qiyin emas. Birinchidan, ma'lum bir nuqtada,
agar siz o'qlar bo'ylab masshtablarning o'zgarishini aniq tanlasangiz, har
qanday to'g'ri chiziq, shu jumladan tushish uchun noqulay bo'lgan to'g'ri
chiziq gradient yo'nalishi bo'lishi mumkin. Ikkinchidan, har bir tushish uning
yo'nalishi sathning chizig'iga (sirtiga) tegadigan joyda tugaydi. Gradient
tekislik yuzasiga perpendikulyar. Shuning uchun eng tik tushish usulida har
bir tushish avvalgisiga perpendikulyar bo'ladi. Ikki o'lchovli holatda, bu biz
bir o'q boshlang'ich nuqtasi gradientiga parallel bo'lishi uchun aylantirilgan
koordinatalar bo'ylab pastga tushamiz degan ma'noni anglatadi.
Eng keskin tushish usulini takomillashtirish uchun ular algoritmga
"oshxona" o'zgartirishlarini taklif qilishadi - masalan, ular har bir yo'nalishda
minimal darajada noto'g'ri tushishni amalga oshiradilar. Algoritmning ushbu
modifikatsiyasi eng qiziqarli ko'rinadi. Biz gradientga qarama-qarshi
yo'nalishda cheksiz kichik qadam qo'yamiz va shundan so'ng biz tushish
15
yo'nalishini yana aniqlaymiz. Bu oddiy differensial tenglamalar tizimining
yechimi bo'lgan egri chiziq bo'ylab harakatga olib keladi : r (t )
dr
  grad (r (t ))
dt
. (22)
2
Ushbu egri chiziq bo'ylab d dt  (d dr )(dr dt )  ( grad)  0 , ya'ni
funktsiya kamayadi va biz minimal darajaga o'tamiz t   . Tenglama (22)
gradient chizig'i bo'ylab material nuqtasining inertsiyasiz harakatini
modellashtiradi. Boshqa tenglamalarni qurish mumkin - masalan, yopishqoq
ishqalanish mavjud bo'lgan nuqtaning harakatini modellashtiradigan ikkinchi
tartibli differensial tenglama.
Biroq, usul g'oyasi hali ham ishonchli algoritmdan uzoqdir.
Darhaqiqat, differensial tenglamalar tizimi (22) sonli integrallangan bo'lishi
kerak. Agar katta qadam bilan birlashtirilgan bo'lsa, raqamli yechim gradient
chizig'idan sezilarli darajada chetga chiqadi. Va kichik bosqichlarda
integratsiyalashganda, hisob-kitoblar hajmi sezilarli darajada oshadi. Bundan
tashqari, agar erning o'ralgan jarliklari bo'lsa, unda bu usulning yaxshi
yaqinlashishini kutish qiyin.
Eng tik tushish algoritmlari va uning barcha modifikatsiyalari
hozircha yetarlicha ishlab chiqilmagan. Shuning uchun, ko'p sonli
o'zgaruvchilarga ( m  5 ) ega bo'lgan murakkab nochiziqli masalalar uchun
eng tik tushish usuli kamdan-kam qo'llaniladi, lekin alohida holatlarda
foydali bo'lishi mumkin.
2.4 Tasodifiy qidiruv
16
Tushib ketish usullari tartibsiz erlarda samarasiz. Agar mahalliy
ekstremallar ko'p bo'lsa, unda bitta nolga yaqinlikdan tushish mahalliy
minimallardan faqat bittasiga yaqinlashishi mumkin, mutlaq emas. Keyin
muammoni o'rganish uchun tasodifiy qidiruvdan foydalaniladi.
Bizni qiziqtiradigan minimal (yoki barcha minimal) biron bir yopiq
mintaqada joylashgan deb taxmin qilinadi; koordinatalarni chiziqli
o'zgartirish uni birlik n o'lchovli kub ichiga joylashtiradi. Ushbu kubdan
tasodifiy nuqtalarni tanlang N .
Bir million namunali ball bilan ham, kamida bitta nuqta mahalliy
minimumning kichik mahallasiga tushishi ehtimolligi ahamiyatsiz. Aslida,
havzaning diametri minimalga yaqin bo'lsin, 10% har bir koordinataning
n
o'zgarishi chegarasida bo'lsin. Keyin bu havzaning hajmi 0.1 o'lchamli kub
hajmining bir qismidir . n Zotan, n  6 havzaga bironta ham nuqta tushmaydi.
Shuning uchun oz sonli nuqtalar olinadi N  (5  20)n va har bir nuqta
nolga yaqinlik sifatida qabul qilinadi. Har bir nuqtadan ular tezda eng yaqin
jarlikka yoki havzaga tushadilar; tushish qadamlari juda qisqartirilganda, u
yuqori aniqlikka erishmasdan to'xtatiladi. Bu funktsiya qiymatini eng yaqin
mahalliy minimumda qoniqarli aniqlik bilan baholash uchun etarli.
Funktsiyaning yakuniy qiymatlarini barcha tushishlar bo'yicha birbiri bilan taqqoslash (vizual yoki dastur yordamida) siz funktsiyaning
mahalliy
minimallarining
joylashishini
o'rganishingiz
va
ularning
qiymatlarini solishtirishingiz mumkin. Shundan so'ng siz muammoni hal
qilish uchun zarur bo'lgan minimallarni tanlashingiz va minimal nuqtalarning
koordinatalarini yuqori aniqlik bilan olish uchun ularda qo'shimcha
tushishlarni amalga oshirishingiz mumkin.
Odatda, amaliy masalalarda, birinchi navbatda, o'rganilayotgan
funksiya minimal yoki deyarli minimal qiymat olishini ta'minlash kerak.
Ammo
minimalga
yaqin
funktsiyaning
qiymati
koordinatalarning
o'zgarishiga zaif darajada bog'liq. Nima uchun minimal nuqtaning
17
koordinatalarini yuqori aniqlik bilan topish kerak? Ma'lum bo'lishicha, bu
nafaqat nazariy, balki amaliy ma'noga ham ega.
Masalan,
koordinatalar
mexanik
strukturaning
qismlarining
o'lchamlari bo'lsin va minimallashtirilgan funktsiya strukturaning sifati
o'lchovi bo'lsin. Agar biz minimalni to'g'ri topgan bo'lsak, demak, biz
havzaning markazida, minimalga yaqinmiz. Bunday holda, koordinatalardagi
o'zgarishlar funktsiyaga havzaning chetlariga yaqinroq joylashgan nuqtalarga
qaraganda kamroq ta'sir qiladi. Va bu misolda koordinatalarning xavfsiz
o'zgarishi qismlarga ishlov berishning aniqligi uchun tolerantlik ma'nosiga
ega. Bu shuni anglatadiki, minimal koordinatalarni diqqat bilan hisoblash
orqali biz katta tolerantliklarga yo'l qo'yishimiz mumkin, ya'ni qismlarni
qayta ishlash xarajatlarini kamaytiradi.
Tasodifiy qidiruv usuli ko'pincha murakkab relef bilan 10-20
o'zgaruvchidan iborat funktsiyaning barcha mahalliy minimallarini topishga
imkon beradi. Bundan tashqari, bitta minimal bo'lgan funktsiyani o'rganishda
foydalidir; bu holda, siz tasodifiy nuqtalarning sezilarli darajada kamroq soni
bilan olishingiz mumkin. Ushbu usulning kamchiligi shundaki, tasodifiy
nuqtalar tanlangan maydonni oldindan belgilash kerak. Agar biz juda keng
hududni belgilasak, uni batafsil o'rganish qiyinroq bo'ladi va agar biz juda tor
mintaqani tanlasak, ko'plab mahalliy minimallar undan tashqarida bo'lishi
mumkin. To'g'ri, vaziyat biroz soddalashtirilgan, chunki tushish paytida
traektoriyalar ushbu mintaqadan tashqariga chiqib, ushbu mintaqadan
tashqarida joylashgan minimal darajalarga yaqinlashishi mumkin.
18
XULOSA
Muammoni yechish jarayonida n = 4,5,6 bo'lgan holatlar ko'rib
chiqildi. To'plamlarning ikkita asosiy sohasi topildi :
1) xi=0 yoki 1 (0 va 1 soni bir xil)
2) xi=0,5,
.
Bundan tashqari, 1<p<1.5 bo'limi birinchi mintaqa bilan qoplangan, q>>p
da
- birinchi mintaqadan, q≈p da
- ikkinchi mintaqadan va p→∞ da mintaqa
ular o'rtasida taxminan bo'lingan. yarmi.
P>2 maydonida shakl sohalari paydo bo'ldi:
i<k => xi=0;
i>nk => xi=1;
k-1<i<n-k+1=> xi=0,5.
2<q<3 p 2 maydonida maksimalga erishiladigan maydon mavjud
xi=a => xn-i=1-a, 0<a<1.
19
::
FOYDALANILGAN MANBALAR RO'YXATI
1.
Kalitkin N.N. Raqamli usullar. M.: Nauka, 1978. 512 b.
2.
Amosov
A.A.,
Dubinskiy
Yu.A.,
Kopchenova
N.V.
Muhandislar uchun hisoblash usullari. M.: Oliy maktab, 1994. 543 b.
3.
Rakitin V.I., Pervushin V.E. Hisoblash usullari bo'yicha amaliy
qo'llanma. M.: Oliy maktab, 1998. 383 b.
B.P. Demidovich, V. A. Maron, E. Z. Shuvalov. Raqamli tahlil
usullari. -M., Nauka, 1967 yil.
20
1-ilova
Ilova 1. 1-son dastur ro'yxati
//maksimal funksiya sohalarini ko'rsatish
# "stdafx.h" ni o'z ichiga oladi
#"KE2.h"ni o'z ichiga oladi
# "math.h" ni kiriting
# "KE2Doc.h" ni o'z ichiga oladi
#o'z ichiga "KE2View.h"
#ifdef _DEBUG
#yangi DEBUG_NEWni aniqlang
#undef BU_Fayl
statik belgi THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNCREATE(CKE2View, CView)
BEGIN_MESSAGE_MAP(CKE2View, CView)
//{{AFX_MSG_MAP(CKE2View)
// QAYD - ClassWizard bu yerga xaritalash makrolarini
qo'shadi va o'chiradi.
// Ushbu yaratilgan kod bloklarida ko'rgan narsangizni
TAHRIR QILMANG!
//}}AFX_MSG_MAP
// Standart chop etish buyruqlari
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
21
ON_COMMAND(ID_FILE_PRINT_PREVIEW,
CView::OnFilePrintPreview)
END_MESSAGE_MAP()
CKE2View::CKE2View()
{
}
CKE2View::~CKE2View()
{
}
BOOL CKE2View::PreCreateWindow(CREATESTRUCT va cs)
{
return CView::PreCreateWindow(cs);
}
bekor CKE2View::OnDraw(CDC* pDC)
{
CKE2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
drawPoint(pDC);
// TODO: bu yerda mahalliy ma'lumotlar uchun chizma kodini
qo'shing
}
BOOL CKE2View::OnPreparePrinting(CPrintInfo* pInfo)
{
// standart tayyorgarlik
DoPreparePrinting(pInfo)ni qaytarish;
22
}
bekor CKE2View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo*
/*pInfo*/)
{
// TODO: chop etishdan oldin qo'shimcha ishga tushirishni qo'shing
}
bekor CKE2View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: chop etishdan keyin tozalashni qo'shing
}
#ifdef _DEBUG
void CKE2View::AssertValid() const
{
CView::AssertValid();
}
void CKE2View::Dump(CDumpContext& DC) const
{
CView::Dump(dc);
}
CKE2Doc* CKE2View::GetDocument() // disk raskadrovka qilinmagan
versiya inline
{
ASSERT(m_pDocument>IsKindOf(RUNTIME_CLASS(CKE2Doc)));
qaytish (CKE2Doc*)m_pDocument;
23
}
#endif //_DEBUG
int sgn (float a)
{
int sg;
agar (a>0) sg=1;
agar (a==0) sg=0;
agar (a<0) sg=-1;
qaytish (sg);
}
#define n 6
bekor CKE2View::drawPoint(CDC *pDC)
{
juft **c,*f1,*f,*x,*w,*e,max,p=2,q=2,xx,yy;
int i=0,j=0,k,m,a,b,*l,bb=0;
c=yangi dubl*[10000];
uchun(i=0;i<10000;i++)
{
c[i]=yangi dubl[3];
memset(c[i],0,sizeof(double)*3);
}
f=yangi dubl[10000];
e=yangi dubl[10000];
w=yangi dubl[10000];
24
f1=yangi dubl[10000];
x=yangi dubl[n];
l=yangi int[10000];
uchun(xx=0,5;xx<1;xx+=0,01)
for(yy=xx;yy<1);yy+=0,01)
{
p=1./(1.-xx);
q=1./(1.-yy);
memset(w,0,sizeof(double)*10000);
memset(e,0,sizeof(double)*10000);
memset(f1,0,sizeof(double)*10000);
memset(x,0,sizeof(double)*n);
x[n-1]=1;
j=0;
uchun(i=0;i<10000;i++)
{j=0;
f1[i]=1;c[i][0]=0;c[i][1]=1;c[i][2]=0,5;
while(fabs(f1[i])>0,00000001)
{
f1[i]=0;
uchun(k=0;k<n;k++)
{ f1[i]+=pow((fabs(x[k]-c[i][2])),(p-1))*sgn(x[k]-c[i][2]); }
agar (f1[i]<-0,00000001)
25
{max=c[i][2];c[i][2]=c[i][2]-(fabs(c[i][2]-c[i][1])/2.0); c[i][1]=maks;}
agar (f1[i]>0,00000001)
{max=c[i][2];c[i][2]=c[i][2]+(fabs(c[i][2]-c[i][1])/2.0);
c[i][1]=maks;}
agar (fabs(f1[i])<=0,00000001)
{c[i][0]=c[i][2];Bga o'ting;}
}
B:
c[i][0]=c[i][2];
uchun(a=0;a<n;a++)
{
uchun(b=0;b<n;b++)
w[i]+=pow((fabs(x[a]-x[b])),q);
e[i]+=pow((fabs(x[a]-c[i][0])),p);
}
f[i]=pow((e[i]/n),(1./p))/pow((w[i]/(n*n)),(1./q));
x[n-2]+=0,1;
uchun(k=2;k<n;k++)
{
agar(x[nk]>1,04)
{
x[nk-1]+=0,1;
26
x[nk]=x[nk-1];
uchun(m=2;m<k;m++)
x[nm]=x[nk-1];
}
agar (x[0]!=0) A bo'lsa;
}
}
A:
max=f[0];k=0;
uchun(m=0;m<i;m++)
{
agar (fabs(max-f[m])<0,001) {k++;l[k]=m;}
agar (max<f[m]) {k=0;max=f[m];l[k]=m;}
}
uchun(a=0;a<n-1;a++)
x[a]=0;
uchun(a=0;a<l[0];a++)
{
x[n-2]+=0,1;
uchun(k=2;k<n;k++)
agar(x[nk]>1,04)
27
{
x[nk-1]+=0,1;
x[nk]=x[nk-1];
uchun(m=2;m<k;m++)
x[nm]=x[nk-1];
}
}
b=0;
uchun(k=0;k<n;k++)
{
if((x[k]==0)||(fabs(x[k]-1)<0,04)) b++;
boshqa
{
if(fabs(x[k]-0,5)<0,04) b+=2;
Aks holda b=-n;
}
}
b-=n;
agar (b<0) b=24;
agar (b==0) b=58;
agar(b==bb) davom etsa;
bb=b;
c=%f\n",p,q,l[0],l[k],k+1,max,c[l[0]][0]);
28
COLORREF cr(RGB((b%3)*127,(b%4)*85,(b%5)*63));
CBrush r(cr);
CPen rp(PS_SOLID,0,cr);
pDC->SelectObject(&rp);
pDC->SelectObject(&r);
CPoint r1[3]={CPoint(0,360),CPoint(int(720./p),int(720./q)+360),CPoint(int(720./p),360)};
pDC->Poligon(r1,3);
}
}
29
Download