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 xy 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 c1 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 q1 , 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. rn1 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