Випадковий вибір


14

Алгоритм рандомізованого відбору такий:

Введення: Масив з n (чітких, для простоти) чисел та числа k ∈ [ n ]Ank∈[n]

Вихід: "ранговий елемент" A (тобто той, який знаходиться в положенні k, якщо A було відсортовано)kAkA

Спосіб:

  • Якщо є один елемент в , повернути йогоA
  • Виберіть елемент ("стрижень") рівномірно навманняp
  • Обчисліть множини і R = { a ∈ A : a > p }L={a∈A:a<p}R={a∈A:a>p}
  • Якщо , повертає ранг K елемент L .|L|≥kkL
  • В іншому випадку поверніть ранг елемент Rk−|L|R

Мені було задано наступне питання:

Нехай , так що ви шукаєте медіани, і нехай & alpha ; ∈ ( 1 / +2 , 1 ) буде постійним. Яка ймовірність того, що при першому рекурсивному виклику множина, що містить медіану, має розмір не більше α n ?k=n/2α∈(1/2,1)αn

Мені відповіли, що відповідь - , з обґрунтуванням "Вибраний шарнір повинен лежати між 1 - α і α разів більше вихідного масиву"2α−11−αα

Чому? Як , будь-який елемент, обраний як шарнір, або більший, або менший, ніж половина початкових елементів. Медіана завжди лежить у більшому підматриці, оскільки елементів у розділеному підмасиві завжди менше, ніж зведене.α∈(0.5,1)

Якщо стрижень лежить у першій половині початкового масиву (менше половини з них), медіана неодмінно опиниться у другій більшій половині, бо як тільки буде знайдена медіана, вона повинна знаходитися в середньому положенні масиву, і все, перш ніж стрижень менше, як зазначено вище.

Якщо шарнір лежить у другій половині початкового масиву (більше половини елементів), медіана, безумовно, спочатку більша половина, з тієї ж причини, все до того, як стрижень вважається меншим.

Приклад:

3 4 5 8 7 9 2 1 6 10

Медіана 5.

Припустимо, що вибраний стрижень дорівнює 2. Отже, після першої ітерації він стає:

1 2 .... більша частина ....

Тільки обмінюються 1і 2обмінюються після першої ітерації. Число 5 (медіана) все ще знаходиться в першій більшій половині (відповідно до точки 2). Справа в тому, що медіана завжди лежить на більшій половині, як вона може мати шанс залишитися в меншому підмарітті?


Ми не лежали на вашій лекції, тому, будь ласка, поясніть метод.
— Рафаель

Не знаючи, про який алгоритм точних точок ви говорите, ваше питання не читабельне. Ви, здається, використовуєте у різних можливостях; Я спробував редагувати, але не впевнений, що вловив сенс. Перегляньте, щоб питання було зрозумілим. Голосування про закриття до цього часу. .5
— Рафаель

Це алгоритм відбору за допомогою рандомізованого методу на відміну від детермінованого методу.
— Amumu

Існує багато способів вибрати елемент довільно.
— Рафаель

2
@Amumu: я редагував це для опису алгоритму. На такому форумі не всі дізнаються про що ви говорите, і існує дуже різний рандомізований підхід до вибору, який простіше проаналізувати.
— Луї

Відповіді:


12

nαn(1−α)n(1−α)nα>1/22−2α1−2+2α=2α−1


Дякую за відповідь. У мене ще є кілька незрозумілих речей. Отже, що α> 1/2 має щось спільне з роз'єднаними множинами? Я думав, що коли у нас завжди є непересічні набори за допомогою цього методу, незалежно від розміру підмножини.
— Amumu

1−α<1/2(1−α)n<n−(1−α)n

Лише одне останнє: що стосується поганого / хорошого стрижня? Наскільки я знаю, хороший шарнір зазвичай знаходиться в діапазоні 25-75 (що розбиває початкові масиви на 25% -75%), а поганий - поза цим діапазоном, і гірший, як правило, на початку або в кінці оригіналу масив. Але це?
— Amumu

2
Тут я кажу, що стрижень "поганий", якщо він робить більшу частину більшою, ніж ви хочете, що є αнрозмір. Те, що ви називаєте поганим, відповідаєα=3/4. Я підозрюю, що питання полягає в тому, що ваш інструктор хотів, щоб ви побачили цеО(⋅) порядок очікуваного часу роботи не змінюється шляхом зміни α.
— Луї
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.