Эмпирический подход.
Реализуем ошибочный алгоритм в системе Mathematica:
p = 10; (* Range *)
s = {}
For[l = 1, l <= 30000, l++, (*Iterations*)
a = Range[p];
For[k = 1, k <= p, k++,
i = RandomInteger[{1, p}];
temp = a[[k]];
a[[k]] = a[[i]];
a[[i]] = temp
];
AppendTo[s, a];
]
Теперь узнайте, сколько раз каждое целое число находится в каждой позиции:
r = SortBy[#, #[[1]] &] & /@ Tally /@ Transpose[s]
Давайте возьмем три позиции в результирующих массивах и построим частотное распределение для каждого целого числа в этой позиции:
Для позиции 1 распределение частот:
![введите описание изображения здесь](https://i.stack.imgur.com/NUWia.png)
Для позиции 5 (средняя)
![введите описание изображения здесь](https://i.stack.imgur.com/lbJ2e.png)
И для позиции 10 (последняя):
![введите описание изображения здесь](https://i.stack.imgur.com/7Ndie.png)
и здесь у вас есть распределение для всех позиций, построенных вместе:
![введите описание изображения здесь](https://i.stack.imgur.com/EOVuI.png)
Вот вам лучшая статистика по 8 позициям:
![введите описание изображения здесь](https://i.stack.imgur.com/zQSsu.png)
Некоторые наблюдения:
- Для всех позиций вероятность «1» одинакова (1 / n).
- Матрица вероятностей симметрична относительно большой антидиагонали.
- Таким образом, вероятность для любого числа в последней позиции также одинакова (1 / n)
Вы можете визуализировать эти свойства, глядя на начало всех линий от одной и той же точки (первое свойство) и на последнюю горизонтальную линию (третье свойство).
Второе свойство можно увидеть в следующем примере матричного представления, где строки - это позиции, столбцы - это номер жителя, а цвет представляет экспериментальную вероятность:
![введите описание изображения здесь](https://i.stack.imgur.com/ba1eL.png)
Для матрицы 100x100:
![введите описание изображения здесь](https://i.stack.imgur.com/khCPM.png)
Изменить
Ради интереса я вычислил точную формулу для второго диагонального элемента (первый - 1 / n). Остальное можно сделать, но это большая работа.
h[n_] := (n-1)/n^2 + (n-1)^(n-2) n^(-n)
Значения подтверждены от n = 3 до 6 ({8/27, 57/256, 564/3125, 7105/46656})
Изменить
Немного проработав общий явный расчет в ответе @wnoise, мы можем получить немного больше информации.
Заменив 1 / n на p [n], чтобы вычисления оставались невычисленными, мы получаем, например, для первой части матрицы с n = 7 (щелкните, чтобы увидеть увеличенное изображение):
![введите описание изображения здесь](https://i.stack.imgur.com/YmSJR.png)
Что, после сравнения с результатами для других значений n, позволяет нам идентифицировать некоторые известные целочисленные последовательности в матрице:
{{ 1/n, 1/n , ...},
{... .., A007318, ....},
{... .., ... ..., ..},
... ....,
{A129687, ... ... ... ... ... ... ..},
{A131084, A028326 ... ... ... ... ..},
{A028326, A131084 , A129687 ... ....}}
Вы можете найти эти последовательности (в некоторых случаях с разными знаками) в замечательном http://oeis.org/
Решить общую проблему сложнее, но я надеюсь, что это начало.
person
Dr. belisarius
schedule
27.02.2011