Випадковий пошук — група методів числової оптимізації, які не вимагають обчислення градієнту для розв'язання задач оптимізації; отже, випадковий пошук можна використовувати для функцій, що не є неперервними або диференційованими. Подібні методи оптимізації також називаються методами прямого пошуку, методами «чорної скриньки» або методами без використання похідної.
Авторство назви методу — випадковий пошук — приписують Растригіну, який зробив перші кроки в розвитку цих методів з прив'язкою до базового математичного аналізу. Випадковий пошук працює шляхом ітеративного просування між кращими позиціями у просторі пошуку. Кращі позиції обираються з гіперсфери з центром у поточній позиції.
Описаний тут алгоритм є типом локального випадкового пошуку, коли кожна ітерація залежить від кандидата на рішення, знайденого на попередній ітерації. Існують інші методи випадкового пошуку, які беруть вибірку з усього простору пошуку (наприклад, повністю випадковий пошук або рівномірний глобальний випадковий пошук), але вони не описані в цій статті.
Загальний алгоритм
Нехай — це функція втрат яку потрібно мінімізувати. Позначимо через точку (позицію) або можливий варіант розв'язку у просторі пошуку. Тоді базовий алгоритм випадкового пошуку можна описати наступним чином:
- Ініціювати х випадковою точкою у просторі пошуку.
- До тих пір поки критерій переривання пошуку не досягнуто (наприклад, виконано максимальну кількість ітерацій або досягнуто необхідне наближення) повторювати наступне:
- Вибрати нову позицію у з рівномірно розподілених точок на гіперсфері заданого радіусу d з центром у поточній точці х. Для цього потрібно зробити наступні кроки:
- Згенерувати n-вимірний гаусівський вектор з мат. сподіванням в точці 0 і довільною дисперсією: .
- Обрахувати радіус цього вектору (відстань від початку координат): . Тоді рівномірно розподілений вектор заданого радіусу d знаходиться як .
- Якщо f(y) < f(x) — переходити на нову позицію заданням x = y.
- Вибрати нову позицію у з рівномірно розподілених точок на гіперсфері заданого радіусу d з центром у поточній точці х. Для цього потрібно зробити наступні кроки:
Адаптивний вибір кроку
Адаптивний алгоритм випадкового пошуку (Schumer and Steiglitz) — одна з найчастіше вживаних модифікацій алгоритму — використовує змінний крок пошуку залежно від досягненого успіху на попередніх кроках. Якщо дві послідовних ітерації дають покращення цільової функції, крок збільшується в as разів; якщо М послідовних ітерацій не дають покращення, крок зменшується в аf разів. В загальному алгоритмі величина кроку d обчислюється наступним чином:
- Ініціювати довільне d, наприклад, та лічильник невдалих ітерацій .
- Якщо нова позиція у є кращою за позицію х, збільшити d в as разів:
- Якщо нова позиція у є гіршою за позицію х, збільшити лічильник на одиницю: . Якщо виконується умова , зменшити d в аf разів: та обнулити лічильник: .
Допустимими є, наприклад, параметри , де n — розмірність пошукового простору.
Використання алгоритму випадкового пошуку з адаптивним вибором кроку можливо в найнесподіваніших ситуаціях — наприклад, при виборі оптимального розміщення туристів в автобусі.
Варіанти
В літературі існує декілька варіантів випадкового пошуку:
- Випадковий пошук із фіксованим кроком — базовий алгоритм Растригіна, який обирає нові позиції на гіперсфері із заданим фіксованим радіусом.
- Випадковий пошук з оптимальним кроком (Schumer and Steiglitz) — теоретичні міркування з визначення оптимального радіуса гіперсфери для пришвидшеної збіжності до оптимуму. Використання цього методу вимагає апроксимації оптимального радіуса шляхом багаторазової дискретизації, тому потребує занадто багато обчислювальних ресурсів, через що немає практичного застосування.
- Випадковий пошук з адаптивним кроком (Schumer and Steiglitz) — алгоритм, який евристично адаптує радіус гіперсфери. На кожному кроці створюються два нових рішення-кандидати, одне з поточним розміром кроку, а інше з більшим розміром кроку. Новий розмір кроку обирається тоді, і тільки тоді, коли відбувається більше покращення. Якщо за декілька ітерацій не відбувається покращення, то тоді крок зменшується.
- Випадковий пошук з оптимізованим відносним кроком (Schrack and Choit) апроксимує оптимальний розмір кроку шляхом простого експоненціального зменшення. Проте, формула для обчислення коефіцієнту зменшення дещо ускладнена.
Див. також
- Випадкова оптимізація — схожа група оптимізаційних методів, що використовують нормальний розподіл замість гіперсфери для вибору нової позиції.
- [en] — схожий оптимізаційний метод, що використовує неперервний рівномірний розподіл для вибору позицій та просту формулу для експоненціального зменшення області значень.
- Метод пошуку за зразком крокує вздовж осей області пошуку з використанням експоненціального зменшення кроків.
Примітки
- Rastrigin, L.A. (1963). «The convergence of the random search method in the extremal control of a many parameter system». Automation and Remote Control 24 (10): 1337—1342.
- Schumer, M.A.; Steiglitz, K. (1968). «Adaptive step size random search». IEEE Transactions on Automatic Control 13 (3): 270—276.
- . Архів оригіналу за 2 листопада 2012. Процитовано 29 жовтня 2012.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 24 жовтня 2012. Процитовано 29 жовтня 2012.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - Schrack, G.; Choit, M. (1976). «Optimized relative step size random searches». Mathematical Programming 10 (1): 230—244.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Vipadkovij poshuk grupa metodiv chislovoyi optimizaciyi yaki ne vimagayut obchislennya gradiyentu dlya rozv yazannya zadach optimizaciyi otzhe vipadkovij poshuk mozhna vikoristovuvati dlya funkcij sho ne ye neperervnimi abo diferencijovanimi Podibni metodi optimizaciyi takozh nazivayutsya metodami pryamogo poshuku metodami chornoyi skrinki abo metodami bez vikoristannya pohidnoyi Avtorstvo nazvi metodu vipadkovij poshuk pripisuyut Rastriginu yakij zrobiv pershi kroki v rozvitku cih metodiv z priv yazkoyu do bazovogo matematichnogo analizu Vipadkovij poshuk pracyuye shlyahom iterativnogo prosuvannya mizh krashimi poziciyami u prostori poshuku Krashi poziciyi obirayutsya z gipersferi z centrom u potochnij poziciyi Opisanij tut algoritm ye tipom lokalnogo vipadkovogo poshuku koli kozhna iteraciya zalezhit vid kandidata na rishennya znajdenogo na poperednij iteraciyi Isnuyut inshi metodi vipadkovogo poshuku yaki berut vibirku z usogo prostoru poshuku napriklad povnistyu vipadkovij poshuk abo rivnomirnij globalnij vipadkovij poshuk ale voni ne opisani v cij statti Zagalnij algoritmNehaj f Rn R displaystyle f colon mathbb R n to mathbb R ce funkciya vtrat yaku potribno minimizuvati Poznachimo cherez x Rn displaystyle mathbf x in mathbb R n tochku poziciyu abo mozhlivij variant rozv yazku u prostori poshuku Todi bazovij algoritm vipadkovogo poshuku mozhna opisati nastupnim chinom Iniciyuvati h vipadkovoyu tochkoyu u prostori poshuku Do tih pir poki kriterij pererivannya poshuku ne dosyagnuto napriklad vikonano maksimalnu kilkist iteracij abo dosyagnuto neobhidne nablizhennya povtoryuvati nastupne Vibrati novu poziciyu u z rivnomirno rozpodilenih tochok na gipersferi zadanogo radiusu d z centrom u potochnij tochci h Dlya cogo potribno zrobiti nastupni kroki Zgeneruvati n vimirnij gausivskij vektor z mat spodivannyam v tochci 0 i dovilnoyu dispersiyeyu x x1 x2 xn displaystyle mathbf x x 1 x 2 x n Obrahuvati radius cogo vektoru vidstan vid pochatku koordinat r x12 x22 xn2 displaystyle r sqrt x 1 2 x 2 2 x n 2 Todi rivnomirno rozpodilenij vektor zadanogo radiusu d znahoditsya yak drx displaystyle frac d r mathbf x Yaksho f y lt f x perehoditi na novu poziciyu zadannyam x y Adaptivnij vibir krokuAdaptivnij algoritm vipadkovogo poshuku Schumer and Steiglitz odna z najchastishe vzhivanih modifikacij algoritmu vikoristovuye zminnij krok poshuku zalezhno vid dosyagnenogo uspihu na poperednih krokah Yaksho dvi poslidovnih iteraciyi dayut pokrashennya cilovoyi funkciyi krok zbilshuyetsya v as raziv yaksho M poslidovnih iteracij ne dayut pokrashennya krok zmenshuyetsya v af raziv V zagalnomu algoritmi velichina kroku d obchislyuyetsya nastupnim chinom Iniciyuvati dovilne d napriklad d 1 displaystyle d 1 ta lichilnik nevdalih iteracij m 0 displaystyle m 0 Yaksho nova poziciya u ye krashoyu za poziciyu h zbilshiti d v as raziv d asd displaystyle d a s d Yaksho nova poziciya u ye girshoyu za poziciyu h zbilshiti lichilnik na odinicyu m m 1 displaystyle m m 1 Yaksho vikonuyetsya umova m M displaystyle m geqslant M zmenshiti d v af raziv d afd displaystyle d a f d ta obnuliti lichilnik m 0 displaystyle m 0 Dopustimimi ye napriklad parametri as 1 618 af 0 618 M 3n displaystyle a s 1 618 a f 0 618 M 3n de n rozmirnist poshukovogo prostoru Vikoristannya algoritmu vipadkovogo poshuku z adaptivnim viborom kroku mozhlivo v najnespodivanishih situaciyah napriklad pri vibori optimalnogo rozmishennya turistiv v avtobusi VariantiV literaturi isnuye dekilka variantiv vipadkovogo poshuku Vipadkovij poshuk iz fiksovanim krokom bazovij algoritm Rastrigina yakij obiraye novi poziciyi na gipersferi iz zadanim fiksovanim radiusom Vipadkovij poshuk z optimalnim krokom Schumer and Steiglitz teoretichni mirkuvannya z viznachennya optimalnogo radiusa gipersferi dlya prishvidshenoyi zbizhnosti do optimumu Vikoristannya cogo metodu vimagaye aproksimaciyi optimalnogo radiusa shlyahom bagatorazovoyi diskretizaciyi tomu potrebuye zanadto bagato obchislyuvalnih resursiv cherez sho nemaye praktichnogo zastosuvannya Vipadkovij poshuk z adaptivnim krokom Schumer and Steiglitz algoritm yakij evristichno adaptuye radius gipersferi Na kozhnomu kroci stvoryuyutsya dva novih rishennya kandidati odne z potochnim rozmirom kroku a inshe z bilshim rozmirom kroku Novij rozmir kroku obirayetsya todi i tilki todi koli vidbuvayetsya bilshe pokrashennya Yaksho za dekilka iteracij ne vidbuvayetsya pokrashennya to todi krok zmenshuyetsya Vipadkovij poshuk z optimizovanim vidnosnim krokom Schrack and Choit aproksimuye optimalnij rozmir kroku shlyahom prostogo eksponencialnogo zmenshennya Prote formula dlya obchislennya koeficiyentu zmenshennya desho uskladnena Div takozhVipadkova optimizaciya shozha grupa optimizacijnih metodiv sho vikoristovuyut normalnij rozpodil zamist gipersferi dlya viboru novoyi poziciyi en shozhij optimizacijnij metod sho vikoristovuye neperervnij rivnomirnij rozpodil dlya viboru pozicij ta prostu formulu dlya eksponencialnogo zmenshennya oblasti znachen Metod poshuku za zrazkom krokuye vzdovzh osej oblasti poshuku z vikoristannyam eksponencialnogo zmenshennya krokiv PrimitkiRastrigin L A 1963 The convergence of the random search method in the extremal control of a many parameter system Automation and Remote Control 24 10 1337 1342 Schumer M A Steiglitz K 1968 Adaptive step size random search IEEE Transactions on Automatic Control 13 3 270 276 Arhiv originalu za 2 listopada 2012 Procitovano 29 zhovtnya 2012 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 24 zhovtnya 2012 Procitovano 29 zhovtnya 2012 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Schrack G Choit M 1976 Optimized relative step size random searches Mathematical Programming 10 1 230 244