Человек - генератор случайных чисел?
Материал из MachineLearning.
(→Смотри также) |
|||
(7 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
== Постановка задачи == | == Постановка задачи == | ||
Человек называет числа от 1 до 10. | Человек называет числа от 1 до 10. | ||
- | Требуется проверить является ли человек генератором случайных чисел, т.е. | + | Требуется проверить, является ли человек генератором случайных чисел, т.е. |
- | насколько такое называние случайно. Анализ названных чисел производить | + | насколько такое называние случайно. Анализ названных чисел производить, не учитывая их последовательности в проведенном эксперименте. |
- | + | ||
== Исходные данные == | == Исходные данные == | ||
+ | Проверяем гипотезу H<sub>0</sub>: называние случайно, т.е. человек - генератор | ||
+ | случайных чисел. | ||
В эксперименте принимало участие 2 человека и компьютер. | В эксперименте принимало участие 2 человека и компьютер. | ||
- | Первый и второй испытуемые называли числа вслух, | + | Первый и второй испытуемые называли числа вслух, экспериментатор |
производил запись чисел. Всего каждым испытуемым было названо 71 число. | производил запись чисел. Всего каждым испытуемым было названо 71 число. | ||
Затем на компьютере с помощью генератора случайных чисел также было | Затем на компьютере с помощью генератора случайных чисел также было | ||
- | сгенерировано 71 число. Данные | + | сгенерировано 71 число. Данные эксперимента приведены ниже. |
- | {| border=1 | + | |
+ | {| border=1 cellpadding="12" | ||
|+ Первый испытуемый | |+ Первый испытуемый | ||
! Число | ! Число | ||
! 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 | ! 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 | ||
- | |- | + | |- align="center" |
! Кол-Во | ! Кол-Во | ||
- | | 7 || 9 || 9 || 4 || 10 || 5 || 7 || 8 || 6 || 6 | + | |7 || 9 || 9 || 4 || 10 || 5 || 7 || 8 || 6 || 6 |
|} | |} | ||
- | + | <br> | |
- | {| border=1 | + | {| border=1 cellpadding="12" |
|+ Второй испытуемый | |+ Второй испытуемый | ||
! Число | ! Число | ||
! 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 | ! 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 | ||
- | |- | + | |- align="center" |
! Кол-Во | ! Кол-Во | ||
| 6 || 8 || 10 || 5 || 8 || 7 || 9 || 10 || 6 || 2 | | 6 || 8 || 10 || 5 || 8 || 7 || 9 || 10 || 6 || 2 | ||
|} | |} | ||
- | + | <br> | |
- | {| border=1 | + | {| border=1 cellpadding="12" |
|+ Компьютер | |+ Компьютер | ||
! Число | ! Число | ||
! 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 | ! 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 | ||
- | |- | + | |- align="center" |
! Кол-Во | ! Кол-Во | ||
- | + | | 4 || 5 || 6 || 9 || 14 || 8 || 6 || 8 || 5 || 6 | |
|} | |} | ||
+ | |||
+ | == Способ решения == | ||
+ | Решение задачи производилось с помощью теоремы Фишера<ref> | ||
+ | На самом деле, проверка последовательности на "случайность" достаточно трудоемкая задача. В настоящее время используются десятки критериев для такой проверки. Вы можете ознакомиться более подробно с различными способами решения данной проблемы в книге Д. Кнут "Искусство программирования для ЭВМ. Том 2. Получисленные алгоритмы." <br> | ||
+ | Список критериев для проверки последовательности на "случайность":<br> | ||
+ | * [[Критерий хи-квадрат]] | ||
+ | * [[Критерий Колмогорова-Смирнова]] | ||
+ | * [[Критерий частот]] | ||
+ | * [[Критерий серий]] | ||
+ | * [[Критерий интервалов]] | ||
+ | * [[Покер-критерий]] | ||
+ | * [[Критерий собирания купонов]] | ||
+ | * [[Критерий перестановок]] | ||
+ | * [[Критерий монотонности]] | ||
+ | * [[Критерий "максимум-t"]] | ||
+ | * [[Критерий конфликтов]] | ||
+ | * [[Критерий промежутков между днями рождений]] | ||
+ | * [[Критерий сериальной корреляции]] | ||
+ | * [[Критерий подпоследовательностей]] | ||
+ | * [[Спектральный критерий]] | ||
+ | </ref> | ||
+ | :<br> | ||
+ | <tex>X^{2}=\sum_{i=1}^{k}\frac{(n_{j}-E_{j})^{2}}{E_{j}}\sim\chi_{k-d-1}^{2}</tex>, где<br> | ||
+ | k = 10, - число различных чисел, учавствующих в эксперименте;<br> | ||
+ | d = 0 , - число параметров, при определении вероятности успешного события;<br> | ||
+ | n<sub>j</sub> , - сколько раз число j встретилось в проведенном эксперименте.<br> | ||
+ | <tex>E_{j}=n*p_{j}</tex>, <br> | ||
+ | n = 71, - число событий в эксперименте; <br> | ||
+ | p<sub>j</sub> = 1/10, - вероятность события встретиь число j в нашем эксперименте<br> | ||
+ | Тогда для первого испытуемого:<tex>X^{2}=4,6334\sim\chi_{9}^{2}</tex><br> | ||
+ | Тогда для второго испытуемого:<tex>X^{2}=7,7324\sim\chi_{9}^{2}</tex><br> | ||
+ | Тогда для компьютера:<tex>X^{2}=10,5493\sim\chi_{9}^{2}</tex><br> | ||
+ | [[Изображение:Fisher_rezult.jpg|Распределение <tex>chi_{9}^{2}</tex>]]<br> | ||
+ | Гипотеза H<sub>0</sub> о случайности называния принимается, | ||
+ | т.е. испытуемый один и два показали себя как хорошие генераторы случайных чисел. | ||
+ | |||
+ | ==Примечание== | ||
+ | <references/> | ||
+ | == Смотри также == | ||
+ | # [[Статистический анализ данных (курс лекций, К.В.Воронцов)/2008]] | ||
[[Категория:Учебные задачи]] | [[Категория:Учебные задачи]] |
Текущая версия
Содержание |
Постановка задачи
Человек называет числа от 1 до 10. Требуется проверить, является ли человек генератором случайных чисел, т.е. насколько такое называние случайно. Анализ названных чисел производить, не учитывая их последовательности в проведенном эксперименте.
Исходные данные
Проверяем гипотезу H0: называние случайно, т.е. человек - генератор случайных чисел. В эксперименте принимало участие 2 человека и компьютер. Первый и второй испытуемые называли числа вслух, экспериментатор производил запись чисел. Всего каждым испытуемым было названо 71 число. Затем на компьютере с помощью генератора случайных чисел также было сгенерировано 71 число. Данные эксперимента приведены ниже.
Число | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Кол-Во | 7 | 9 | 9 | 4 | 10 | 5 | 7 | 8 | 6 | 6 |
Число | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Кол-Во | 6 | 8 | 10 | 5 | 8 | 7 | 9 | 10 | 6 | 2 |
Число | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Кол-Во | 4 | 5 | 6 | 9 | 14 | 8 | 6 | 8 | 5 | 6 |
Способ решения
Решение задачи производилось с помощью теоремы Фишера[1]
, где
k = 10, - число различных чисел, учавствующих в эксперименте;
d = 0 , - число параметров, при определении вероятности успешного события;
nj , - сколько раз число j встретилось в проведенном эксперименте.
,
n = 71, - число событий в эксперименте;
pj = 1/10, - вероятность события встретиь число j в нашем эксперименте
Тогда для первого испытуемого:
Тогда для второго испытуемого:
Тогда для компьютера:
Гипотеза H0 о случайности называния принимается,
т.е. испытуемый один и два показали себя как хорошие генераторы случайных чисел.