В інформатиці, функція рандомізації або рандомізація функції — це алгоритм або процедура, яка реалізує функцію, випадково обираючи між двома конкретними наборами, придатними для використання в увипадковленому алгоритмі.
Функція рандомізації пов'язана з генератором випадкових чисел і геш-функціями, але є декілька відмінностей у вимогах і використанні, і часто потрібні конкретні алгоритми.
Використання
Функція рандомізації використовується, щоб включити алгоритми, які мають хорошу очікувану продуктивність випадкових входів, в алгоритми, які мають таку ж продуктивність для будь-якого входу.
Розглянемо, наприклад, такий алгоритм сортування, як швидке сортування, яке має невеликий передбачуваний час виконання для довільного набору вхідних даних, коли вхідні елементи представлені у випадковому порядку, але працює дуже повільно, в окремих ситуаціях, коли вхідні данні упорядковані "незручно" для алгоритму. Рандомізація функції цілих чисел від 1 до n в набір цілих чисел від 1 до n може бути використана для зміни порядку n вхідних елементів у «випадковому» порядку, перед викликом алгоритму. Цей модифікований (випадковим чином) алгоритм буде мати невеликий передбачуваний час виконання, незалежно від порядку введення даних.
Вимоги
Хаотичність
У теорії, функції рандомізації, як передбачається, будуть дійсно випадкові і даватимуть непередбачувано різний результат при кожному виконанні алгоритму. Методика рандомізації не працюватиме, якщо в кожному виконання алгоритму, функція рандомізації завжди виконує те ж саме відображення або відображення повністю визначається деякими зовнішніми спостережуваними параметрами (наприклад, часом запуску програми). З такою функцією «псевдо-рандомізації», можна було б, в принципі, побудувати послідовність викликів, наприклад, що функція завжди буде обирати «поганий» випадок для основного детермінованованного алгоритму. Для такої послідовності викликів, середня вартість буде ближче до найгіршої вартості, а не середньої вартості для випадкових вхідних даних.
На практиці, однак, основною проблемою є те, що деякі «погані» випадки для детермінованного алгоритму можуть відбутися в практиці набагато частіше, ніж це можна було б передбачити випадково. Наприклад, у варіанті швидкого сортування, найгірший випадок той, коли вхідні елементи вже відсортовані — що є дуже поширеним явищем в багатьох додатках. Для таких алгоритмів, навіть фіксована псевдовипадкова перестановка може бути досить гарною. Навіть якщо в результаті «псевдо-рандомізований» алгоритм має так багато «поганих» випадків, як оригінал, вони будуть мати певні специфічні випадки, ймовірність яких може бути дуже малою в реальних додатках. Так, на практиці часто використовують функції рандомізації з використанням генераторів псевдовипадкових чисел, переважно, проініціалізовані зовнішніми «випадковими» даними, такими як, наприклад, час запуску програми.
Однорідність
Вимоги однорідності для функції рандомізації, як правило, набагато слабші, ніж для хеш-функцій і псевдовипадкових генераторів. Мінімальна вимога, що відображає будь-який вхід детермінований алгоритм у «гарній» вхід з досить високою ймовірністю. (Тим не менш, аналіз, як правило, простіший, якщо функція рандомізації реалізує кожне можливе відображення з рівною ймовірністю.)
Джерело
Ця стаття не містить . (29 липня 2017) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
V informatici funkciya randomizaciyi abo randomizaciya funkciyi ce algoritm abo procedura yaka realizuye funkciyu vipadkovo obirayuchi mizh dvoma konkretnimi naborami pridatnimi dlya vikoristannya v uvipadkovlenomu algoritmi Funkciya randomizaciyi pov yazana z generatorom vipadkovih chisel i gesh funkciyami ale ye dekilka vidminnostej u vimogah i vikoristanni i chasto potribni konkretni algoritmi VikoristannyaFunkciya randomizaciyi vikoristovuyetsya shob vklyuchiti algoritmi yaki mayut horoshu ochikuvanu produktivnist vipadkovih vhodiv v algoritmi yaki mayut taku zh produktivnist dlya bud yakogo vhodu Rozglyanemo napriklad takij algoritm sortuvannya yak shvidke sortuvannya yake maye nevelikij peredbachuvanij chas vikonannya dlya dovilnogo naboru vhidnih danih koli vhidni elementi predstavleni u vipadkovomu poryadku ale pracyuye duzhe povilno v okremih situaciyah koli vhidni danni uporyadkovani nezruchno dlya algoritmu Randomizaciya funkciyi cilih chisel vid 1 do n v nabir cilih chisel vid 1 do n mozhe buti vikoristana dlya zmini poryadku n vhidnih elementiv u vipadkovomu poryadku pered viklikom algoritmu Cej modifikovanij vipadkovim chinom algoritm bude mati nevelikij peredbachuvanij chas vikonannya nezalezhno vid poryadku vvedennya danih VimogiHaotichnist U teoriyi funkciyi randomizaciyi yak peredbachayetsya budut dijsno vipadkovi i davatimut neperedbachuvano riznij rezultat pri kozhnomu vikonanni algoritmu Metodika randomizaciyi ne pracyuvatime yaksho v kozhnomu vikonannya algoritmu funkciya randomizaciyi zavzhdi vikonuye te zh same vidobrazhennya abo vidobrazhennya povnistyu viznachayetsya deyakimi zovnishnimi sposterezhuvanimi parametrami napriklad chasom zapusku programi Z takoyu funkciyeyu psevdo randomizaciyi mozhna bulo b v principi pobuduvati poslidovnist viklikiv napriklad sho funkciya zavzhdi bude obirati poganij vipadok dlya osnovnogo determinovanovannogo algoritmu Dlya takoyi poslidovnosti viklikiv serednya vartist bude blizhche do najgirshoyi vartosti a ne serednoyi vartosti dlya vipadkovih vhidnih danih Na praktici odnak osnovnoyu problemoyu ye te sho deyaki pogani vipadki dlya determinovannogo algoritmu mozhut vidbutisya v praktici nabagato chastishe nizh ce mozhna bulo b peredbachiti vipadkovo Napriklad u varianti shvidkogo sortuvannya najgirshij vipadok toj koli vhidni elementi vzhe vidsortovani sho ye duzhe poshirenim yavishem v bagatoh dodatkah Dlya takih algoritmiv navit fiksovana psevdovipadkova perestanovka mozhe buti dosit garnoyu Navit yaksho v rezultati psevdo randomizovanij algoritm maye tak bagato poganih vipadkiv yak original voni budut mati pevni specifichni vipadki jmovirnist yakih mozhe buti duzhe maloyu v realnih dodatkah Tak na praktici chasto vikoristovuyut funkciyi randomizaciyi z vikoristannyam generatoriv psevdovipadkovih chisel perevazhno proinicializovani zovnishnimi vipadkovimi danimi takimi yak napriklad chas zapusku programi Odnoridnist Vimogi odnoridnosti dlya funkciyi randomizaciyi yak pravilo nabagato slabshi nizh dlya hesh funkcij i psevdovipadkovih generatoriv Minimalna vimoga sho vidobrazhaye bud yakij vhid determinovanij algoritm u garnij vhid z dosit visokoyu jmovirnistyu Tim ne mensh analiz yak pravilo prostishij yaksho funkciya randomizaciyi realizuye kozhne mozhlive vidobrazhennya z rivnoyu jmovirnistyu DzhereloCya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno 29 lipnya 2017