Данный пост родился под воздействием http://city-rat.livejournal.com/820832.html

Вывод окончательной упрощенной формулы использует ряд приближений которые не проверяются на корректность.
Пост выкладывается исключительно для ознакомления и наведения на правильные мысли.
Пост никоим образом не претендует на полную математическую корректность.

Пускай мы имеем N объектов и случайный эксперимент заключается в том, что мы выбираем один объект из N запоминаем и возвращаем его на место. Определим случайную величину Xi. Xi=1

если i-й вытянутый объект уже когда-либо вытягивался.
Подсчитаем вероятности Xi для разных i.
P(X0 = 1) = 0 (т.к. список вытянутых пустой)
P(X1 = 1) = 1/N
P(X2 = 1) = 2/N*P(X1 = 0) + 1/N*P(X1 = 1)
Здесь
(N-1)/N = P(X1 = 0)
1/N = P(X1 = 1)
P(X2 = 1) = 2/N*(1-1/N) + 1/N*(1/N)
epsilon = 1/(N^2)
P(X2 = 1) = 2 * (N/(N^2) - epsilon) + epsilon = 2/N - epsilon
P(X2 = 1) ~= 2/N

Далее заметим, что вот так делать нельзя.
P(X3 = 1) = 3/N * (P(X1 = 0)*P(X2 = 0)) + 2/N * (P(X1 = 0)*P(X2 = 1) + P(X1 = 1)*P(X2 = 0)) + 1/N * (P(X1 = 1)*P(X2 = 1)) =
3/N * ( (1 - 1/N) * (1 - 2/N) ) + 2/N * ( (1 - 1/N) * (2/N) + 1/N * (1 - 2/N) ) + 1/N * ( 2/N * 1/N ) =
3/N * ( 1 - 1/N - 2/N + 2/(N^2)) + 2/N * ( 2/N - 2/(N^2) + 1/N - 2/(N^2) ) + 2/(N^3) =
1/N * [ 3*( 1 - 3/N + 2/(N^2)) + 2*(3/N - 4/(N^2)) + 2/(N^2) ] =
1/N * [ 3 - 9/N + 6/(N^2) + 6/N - 8/(N^2) + 2/(N^2) ] =
1/N * [ 3 - 3/N + 8/(N^2) ] ~=
3/N

Нельзя уже по той причине, что мы посчитали X1 и X2 независящими от друг друга, а это не так. Нужно грамотно расписать всё через X1, а потом уже делать подстановку.

P(X3 = 1) = 3/N * (P(X1 = 0)*P(X2 = 0)) + 2/N * (P(X1 = 0)*P(X2 = 1) + P(X1 = 1)*P(X2 = 0)) + 1/N * (P(X1 = 1)*P(X2 = 1)) =
// подставляем
// P(X2 = 0) = (1 - 2/N*P(X1 = 0) - 1/N*P(X1 = 1))
// P(X2 = 1) = (2/N*((1-1/N) + 1/N*(1/N))
3/N * (P(X1 = 0)*(1 - 2/N*P(X1 = 0) - 1/N*P(X1 = 1))) +
2/N * (P(X1 = 0)*(2/N*(1-1/N) + 1/N*(1/N)) + P(X1 = 1)*(1 - 2/N*P(X1 = 0) - 1/N*P(X1 = 1))) +
1/N * (P(X1 = 1)*(2/N*(1-1/N) + 1/N*(1/N))) =

// здесь я сразу подставлю
// P(X1 = 1) = (1/N)
// P(X1 = 0) = (1 - 1/N)
3/N * ((1 - 1/N)*(1 - 2/N*(1 - 1/N) - 1/N*(1/N))) +
2/N * ((1 - 1/N)*(2/N*(1-1/N) + 1/N*(1/N)) + (1/N)*(1 - 2/N*(1 - 1/N) - 1/N*(1/N))) +
1/N * ((1/N)*(2/N*(1-1/N) + 1/N*(1/N))) =
1/N * [
3 * ( (1 - 1/N)*(1 - 2/N + 2/(N^2) - 1/(N^2)) ) +
2 * ( (1 - 1/N)*(2/N - 1/(N^2) + 1/(N^2)) + (1/N)*(1 - 2/N - 1/(N^2) - 1/(N^2)) ) +
1 * ( (1/N)*(2/N-1/(N^2) + 1/(N^2)) )
] =
1/N * [
3 * ( (1 - 1/N)*(1 - 2/N + 1/(N^2)) ) +
2 * ( (1 - 1/N)*(2/N) + (1/N)*(1 - 2/N - 2/(N^2)) ) +
1 * ( (1/N)*(2/N) )
] =
1/N * [
3 * ( (1 - 2/N + 1/(N^2)) + (1/N)*( - 1 + 2/N - 1/(N^2)) ) +
2 * ( (2/N) - 2/(N^2) + (1/N) - 2/(N^2) - 2/(N^3) ) +
1 * ( 2/(N^2) )
] =
1/N * [
3 * ( 1 - 2/N + 1/(N^2) - (1/N) + 2/(N^2) - 1/(N^3) ) +
2 * ( (2/N) - 2/(N^2) + (1/N) - 2/(N^2) - 2/(N^3) ) +
1 * ( 2/(N^2) )
] =
1/N * [
3 * ( 1 - 3/N + 3/(N^2) - 1/(N^3) ) +
2 * ( (3/N) - 2/(N^3) ) +
1 * ( 2/(N^2) )
] =
1/N * [
3 - 9/N + 9/(N^2) - 3/(N^3) +
(6/N) - 4/(N^3) +
2/(N^2)
] =
1/N * [
3 - 9/N + 9/(N^2) - 3/(N^3) +
(6/N) - 4/(N^3) +
2/(N^2)
] =
1/N * [
3 - 3/N + 18/(N^2) - 7/(N^3)
] =
3/N - 3/(N^2) + 18/(N^3) - 7/(N^4) ~= 3/N
как бы получили тоже самое, только теперь математически правильным путем

Дальше расписывание приведет нас к тому, что
P(Xk = 1) ~= k/N (для k > 0 и k << N)

Далее мы могли бы подсчитать функцию L(N) = P({ Xi результат моделирования для мира с N объектов }), находить её максимум, доверительный интервал и прочие прелести.
Вот только банальным перемножением здесь не обойдется... Да, нам придется считать всё по-честному, если мы хотим узнать абсолютно точно...
Здесь можно применить очевидное решение. "Да какая разница? Что расписывать честно, что брать приближенное готовое - никакой разницы"
Тогда получим L(N) = P(X1 = c1, N) * P(X2 = c2, N) * P(Xk = ck, N)
где ck - реальные результаты случайных экспериментов.
Прим. очевидно, что P(Xk = ck) является функцией от N.
Дальше перепишем формулу в виде
L(N) = [(1-T1/N)*(1-T2/N) * ... *(1-Tm/N) ]/(N^k)
Где Tj моменты, когда Xi = 1
Т.е. Tj = i когда Xi = 1 и так в порядке упорядоченного списка.

Дальше можно либо считать данную функцию для разных N, что есть крайне утомительно, либо взять производную и найти точку где L'(N) = 0
Для удобства взятия производной можно переписать функцию в виде
L(N) = [ (N-T1)*(N-T2) * ... *(N-Tm) ]/(N^(2*k))
Еще одно приближение
L(N) = [ N^k-(T1+T2+ ... +Tm)*N^(k-1) ]/(N^(2*k)) = N^(-k) - (T1+T2+ ... +Tm)*N^(-k-1)
L'(N) = (-k)*N^(-k-1) + (k+1) * (T1+T2+ ... +Tm)*N^(-k-2) = 0
(-k)*N + (k+1) * (T1+T2+ ... +Tm) = 0
k*N = (k+1) * (T1+T2+ ... +Tm)
N = ((k+1)/k) * (T1+T2+ ... +Tm)
Что можно еще приблизить...
N = T1+T2+ ... +Tm

Если бы мы взяли квадратичное приближение, мы бы получили
N = 0.5 * ( Summ[i](Ti) +- sqrt(4*Summ[i<j] (Ti*Tj) ) )
Гипотеза 1. Решение с минусом даст нам N < 0.
Гипотеза 2. Решение с плюсом не особо отличается от приближения более низкого порядка. При чем решение более высокого порядка будет больше по величине с хорошей вероятностю.
Иллюстрация к гипотезе 2.

N(линейн.) = 10+40+50 = 100
N(квадр.) = 0.5*(10+40+50) + sqrt(10*40+10*50+40*50) = 50 + 10*sqrt(4+5+20) ~= 103.85

Мы получили крайне простое правило подсчета количества всех объектов. Но кое-что мы таки упустили
k << N
Что ж исправимся.
k = N*0.1
//0.1 взято от фонаря.
Дальше мы смотрим на частоту появления Xk = 1 за последние j туров.
Если эмпирическая вероятность начинает превышать k/N = 0.1, то эксперимент нужно закончить, просуммировать T1+T2+ ... +Tm и получить результат.
Упрощенная формула будет работать только если N > 10+j, где j - количество туров для проверки. Для случая (N < 10+j) уже можно и алгоритм закодить на любимом языке программирования и он даст правильное решение.

Выводы. Если считать честно - используем выкладки без приближений, честно считаем L(N) без всяких приближений и получим математически обоснованный результат.
Если "на любителя", то можно подсчитать через формулу, полученную через линейное приближение.
Если не учитывать необоснованность приближений, то мы получили довольно простую, красивую и практичную формулу, которой можно воспользоваться без использования программирования.
Эдакая формула для гуманитариев.

ОТВЕТ
N = T1+T2+ ... +Tm
Где Ti - моменты времени, когда мы нашли такой объект, который уже нам встречался.
Условие останова экспериментов.
За последние j экспериментов случилось больше чем j*0.1 ситуаций когда встретился объект, который нам попадался.
Значение j взять на свое усмотрение (я бы взял 20)




















































































































Последние новости


Пробковые утеплители

Одним из высокоэффективных современных утепляющих материалов считаются плиты, изготовленные из измельченной коры пробкового дуба. Среди их главных достоинств следует назвать небольшой вес, твердость, прочность и устойчивость к гниению и образованию плесени при воздействии влаги. Пробковые теплоизолирующие материалы не повреждаются грызунами и не разрушаются...
Читать далее »

Приложение

Утепление окна стекловолокном – обязательное условие, при котором значительно снизятся теплопотери. Теплоизоляция кирпичного дома плитами пенополистирола – надежный способ сделать жилище теплым и комфортным. Как сделать это правильно, показано на рис. 50. ...
Читать далее »

Пенополистирольные утеплители

В последнее время на строительном рынке особенно высоким спросом пользуется теплоизолирующий материал URSA XPS. Его выпускают в форме жестких плит, размер которых составляет 1,25 × 0,6 м. Сырьем для производства данного материала является экструдированный пенополистирол, обладающий структурой с закрытыми ячейками. URSA XPS – это утеплитель, главными свойствами которого являются устойчивость к воздействию влаги и высока...
Читать далее »

Торфяные утеплители

Для повышения теплоизоляционных характеристик ограждающих конструкционных элементов нередко используют торфоизоляционные плиты. Их производят на основе плохо разложившегося торфа, который отличается волокнистой структурой. В процессе обработки сырье формуют и выдерживают в условиях высокой температуры. Плотность торфоизоляционных плит составляет от 170 до 260 кг/м3, а коэффициент теплопроводности равен 0,06 Вт/(м°С)...
Читать далее »

Теория теплопередачи - основа строительства

Современные физики говорят о 3 явлениях, выражающих теплопередачу, – теплопроводности, излучении и конвекции. Каждое из них обладает собственными характеристиками. Так, при определении свойств однородных твердых тел говорят о теплопроводности. Ее суть заключается в способности одного объекта передавать тепло другому при соприкосновении либо посредством промежуточного проводника (рис. 3). ...
Читать далее »

Древесно-стружечные теплоизолирующие материалы

Одним из наиболее распространенных в настоящее время древесно стружечных утеплителей является фибролит. Его получают путем смешивания древесной стружки, портландцемента и воды. Древесная стружка, или древесная шерсть, при этом должна состоять из лент длиной не менее 50 см. В некоторых случаях портландцемент нередко заменяют магнезиальным вяжущим компонентом. Перед технологической обработкой древесную стружку, вы...
Читать далее »

Стеклянные утепляющие материалы

Технология изготовления стекловаты во многом сходна с методом производства минеральной ваты. В качестве основного сырья выступают мел либо известняк, кварцевый песок и сульфат натрия либо сода. Кроме того, для получения этого утеплителя могут использоваться и остаточные продукты стекольной промышленности. Стеклянная вата состоит из тончайших волокон, которые получают путем вытягивания из предварительно расплавле...
Читать далее »