Главная  Полное построение алгоритма 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [ 103 ] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117]

лых чисел, сгенерированных при выборе М чисел из N, то м-1

k=M-l

= 7V( - ,); =- (это Л-е гармоническое число).

Таким образом, E{T)=0{N logzN).

Нам желательно иметь алгоритм, гарантирующий извлечение точно М предметов при каждом испытании, но обладающий тем же свойством, что и первая описанная процедура: решение «принять / отвергнуть» достигается за один проход.

Предположим, что мы собираемся рассматривать (&-Ь1)-й предмет и что уже выбрано q предметов. Какое значение вероятности следует

приписать принятию этого предмета? Убедимся, что существует f")

способов выбрать М-q предметов из остающихся -k. Все способы следует рассматривать как равновероятные, и один должен иметь место, если мы в конце концов выберем М предметов. Аналогично,

если выбран (А-Ы)-й предмет, то существует способов вы-

брать M-q-1 предметов из -k-1 оставшихся. При всех способах выбора М предметов из N, когда q выбраны из k первых, в точности

(N-k-l\

[м-д-\)

N-k\ ~N - k М-

l-q)

ИЗ них выбирают (А+1)-й элемент. Мы утверждаем, что это та вероятность, которую следует приписать выбору {к+\)-то предмета.

Прежде чем принять это утверждение, сформулируем весь алгоритм извлечения выборки.

Algorithm SS (извлечение выборки) для извлечения несмещенной выборки lMN предметов из множества предметов. Шаг.О. [Инициализация] Set /(-«-0; and Q-«-0. (/(+1 указывает рассматриваемый предмет, а Q обозначает число уже выбранных предметов.) Шаг 1. [Цикл] Do through шаг 4 while Q<M od; and STOP.

Шаг 2. [Генерация случайного числа] Генерируется (с равномерным распределением) случайное число Y между О и 1.

Шаг 3. [Проверка: взять или отвергнуть] If (Л-K)Y<.M-Q then выбрать предмет К+1; and set Q--Q+l fi.



Шаг 4. [Увеличение К\ Set К<-К-\.

На первый взгляд вовсе не очевидно, что алгоритм SS выбирает в точности М предметов и что выборка будет несмещенной, т. е. что все предметы будут выбираться с равной вероятностью.

Теорема 6.3.1. Алгоритм SS выбирает точно М предметов.

Доказательство. Очевидно, что невозможно выбрать более М предметов, так как алгоритм прекращает работу, как только выбран М-й предмет.

На шаге 3, если уже выбрано q предметов и остается просмотреть только М-q предметов, то все остающиеся предметы будут выбраны. Таким образом, выбирается по меньшей мере М предметов. Следовательно, выбирается точно М предметов.

Теорема 6.3.2. Алгоритм SS выбирает каждый предмет несмещенным образом.

Рассмотрим {к+1)-й предмет. При любом испытании вероятность принятия этого предмета равна (M-q)/ {N-k), где q - число уже выбранных предметов. Значение q является случайной переменной, зависящей от выборов, сделанных при первых k пробах. Мы хотим показать, что при любых k, М и N среднее значение величины (M-q)/ {N-k) равно в точности M/N. Именно в этом смысле алгоритм SS является несмещенным.

Так как полное доказательство теоремы 6.3.2 слишком сложно, мы просто продемонстрируем его правильность для k=2.

Так как k=2, рассмотрим предмет 3. Следующая таблица возможных исходов для первых двух предметов не нуждается в пояснениях. Для указанных действий с первыми двумя предметами показаны значения q и вероятности выбора предмета 3.

Предмет 1

Предмет 2

Р (выбрать предмет 3)

Принять Принять Отвергнуть Отвергнуть

Принять Отвергнуть Принять Отвергнуть

2 1 1 О

(M-2)/(N-2) (M-l)/0V-2) (M-l)/(,V-2) M/(N-2)

Вероятность того, что q=2, равна

P{q = 2) = P (принять предмет 1) [Р (принять предмет 21 предмет 1 принят)] = М М-1 ~ N N-1 •

Аналогично мы можем вычислить остальную часть вероятностной



меры для q:

(Ч Ч- - Лул? -1~ N(N - \)

(Af-M)(Af-М-1) N(N - 1)

Убедитесь, что P{q2)+Piq=l)+Piq=0)=l. Среднее значение Р (принять предмет 3) равно

/сред(==3) = -Р(=2) + -Р(?=1) +

+ (9 = 0) = - дГ (проверьте это!).

Очевидно, что в худшем случае алгоритм SS просмотрит все предметы, прежде чем получит полную выборку из М предметов. В лучшем случае будет просмотрено только М предметов. В качестве упражнения попробуйте доказать, что среднее значение к, при котором алгоритм SS прекращает работу, равно

Ь -(+)

*сред .

Дадим еще один метод выбора М чисел из Л.

Algorithm SELECT (выбор) для извлечения несмещенной выборки lMN чисел из набора 1, 2, . . ., Л. Выбранные числа помещаются в массив SELECT (1),. . ., SELECT(М).

Шаг 0. [Инициализация] For / -t- 1 to do set ITEM (/) -t- 1 od;

set LAST N; and set L -t- L Шаг 1. [Повторение М раз] Do through шаг 4 while LM od; and

STOP.

Шаг 2. [Генерация случайного числа] Генерируется с равномерным распределением случайное число К между 1 и LAST.

Шаг 3. [Выбор следующего числа] Set SELECT (L) <-

ITEM (/С); set LL+1. Шаг 4. [Уменьшение размера выборки] Set ITEM (К) -t-

ITEM(LAST); and LAST LAST-1.

Рисунок 6.3.1 иллюстрирует применение алгоритма SELECT на примере выбора 5 чисел из 10.

Легко доказать, что алгоритм является несмещенным. Пусть Pi (к) - вероятность выбора t-ro числа на к-й итерации алгоритма SELECT. Тогда вероятность pt выбора числа i равна

Рг = S Pi (k), k=l



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [ 103 ] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117]

0.0014