2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Проблема Флавия и псевдослучайные числа
Сообщение28.12.2005, 10:13 


22/12/05
12
Я уже года 3 бьюсь над этой проблемой. Большинству преподов она почему-то не интересна. Я уже довольно много фактов доказал, но мне не известно, какие из фактов уже доказаны. Может кто поможет.

 Профиль  
                  
 
 Можно формулировку?
Сообщение28.12.2005, 11:29 


24/05/05
278
МО
И, если можно, формулировки доказанных Вами утверждений.

 Профиль  
                  
 
 Re: Можно формулировку?
Сообщение28.12.2005, 14:37 


22/12/05
12
sceptic писал(а):
И, если можно, формулировки доказанных Вами утверждений.

N человек стоят по кругу. Считалочка: каждый q-й выкидывается из круга. Надо найти номер оставшегося. (Люди пронумерованы от 0 до N-1). Обозначим f(n,q)
Есть (это известно) рекуррентное соотношение f(n,q)=(f(n-1,q)+q) mod n, где mod - остаток от деления.
Я доказал, что f(n,q) периодична по q с периодом B(n)=НОК(1,2,3,...,n) и что это минимальный период[/math]

 Профиль  
                  
 
 
Сообщение28.12.2005, 17:21 
Заслуженный участник
Аватара пользователя


21/12/05
5937
Новосибирск
Хм, уже не раз встречался с этой задачей. С ходу ничего хорошего не находил. Есть ли она у классиков в какой-либо форме - не проверял.
Имхо (долго не думал) - дохлая задача.

 Профиль  
                  
 
 
Сообщение29.12.2005, 11:51 


22/12/05
12
Кстати насчет "дохлая задача", может вы и правы, но есть одно но...
Найти f(n,q) - для меня второстепенная задача, а в первую очередь я хочу доказать (по-моему это правда), что на периоде по q каждый человек (от 0 до n-1) остается одинаковое количество раз, тоесть f(n,q)=a (0<=a<=n-1, 1<=q<=B(n)) имеет относительно q ровно B(n)/n решений. Отсюда получается, что f(n,q) - отличный генератор случайных чисел от 0 до n-1. С очень большим периодом (для достаточно больших n)

 Профиль  
                  
 
 
Сообщение29.12.2005, 14:51 
Заслуженный участник
Аватара пользователя


23/07/05
18040
Москва
Akula писал(а):
...Отсюда получается, что f(n,q) - отличный генератор случайных чисел от 0 до n-1. С очень большим периодом (для достаточно больших n)


Ну, насчёт "отличного" ещё посмотреть надо. Величина периода, вообще говоря, ничего не гарантирует. Вон Mersenne Twister имеет вообще умопомрачительный период $2^{19937}-1$ и обеспечивает равномерное распределение точек в 623-мерном кубе с точностью 32 бита (точнее, все точки этого куба на полном периоде встречаются по 2 раза, кроме точки $(0,0,\dots,0)$, которая встречается один раз; впрочем, как объяснял Д.Кнут, вставив в последовательность, генерируемую датчиком, один дополнительный 0, легко исправить этот недостаток). Однако, если Вы попадёте на неудачный отрезок вырабатываемой им последовательности, то будете долго "чихать и кашлять" от такой "случайности".

 Профиль  
                  
 
 
Сообщение30.12.2005, 00:31 
Экс-модератор


12/06/05
1595
MSU
Что-то когда-то читал про это... в "Конкретной математике", в самом начале вроде бы разобран самый простой случай, q=2, но до конца.

 Профиль  
                  
 
 
Сообщение30.12.2005, 11:57 


22/12/05
12
Dan_Te писал(а):
Что-то когда-то читал про это... в "Конкретной математике", в самом начале вроде бы разобран самый простой случай, q=2, но до конца.

Я читал ту статью в Кнуте. Случай q=2 слишком очевидный вообще для разбора. Я даже сталкивался с разбором случая q=3. В последнем выводилась общая формула через константу. Но эта константа определялась только с определенной точностью через нахождение f(n,q) (для достаточно больших n - достаточно большая точность константы) в общем выходит эта формула выиграша не дает. Но меня, как я уже говорил, интересует больше доказательство (или опровержение) равнораспределенности f(n,q)

 Профиль  
                  
 
 
Сообщение30.12.2005, 12:05 


22/12/05
12
Someone писал(а):
Однако, если Вы попадёте на неудачный отрезок вырабатываемой им последовательности, то будете долго "чихать и кашлять" от такой "случайности".

На проверенных мною случаях (n<=7) изъянов в случайности моей последовательности я не нашел (субъективно моя точка зрения), для больших n период сильно большой. И одним взглядом я оценить распределенность не могу. А вот период растет очень быстро (для n=28 период приблизительно имеет 10й порядок, а что если взять n где-то 10^6?)

 Профиль  
                  
 
 
Сообщение30.12.2005, 12:26 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Akula писал(а):
На проверенных мною случаях (n<=7) изъянов в случайности моей последовательности я не нашел (субъективно моя точка зрения),


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

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

 Профиль  
                  
 
 
Сообщение11.01.2006, 06:33 
Модератор
Аватара пользователя


11/01/06
5711
Возможно, вам будет интересна моя статья о задаче Иосифа Флавия.

 Профиль  
                  
 
 
Сообщение12.01.2006, 10:03 


12/05/05
60
Baku
Я тоже давно уже её разбирал, нашёл больше 4-х различных по виду решений, однако не это главное. Совершенно уверен что более интерестна может быть лишь замкнутая формула. Потому как рекурсивных много. Несколько раз предпринимал попытки сделать это, но так и не вышло ничего более или менее интерестного. Зато эта задача хорошо развивает мышление и весьма полезна для тренингов. Лично я её использую на семинарах по алгоритмам, которые виду.

P.S. Формула у меня только другие чуть чуть, но на результат это не влияет :-). А насчёт периода я не интересовался, посижу посмотрю, может что и накопаю.

 Профиль  
                  
 
 
Сообщение06.02.2006, 12:09 


22/12/05
12
PAV писал(а):
Существует ряд стандартных тестов на случайность

Да, я проверил тесты на случайность. Стандартных тестов моя последовательность не прошла. (Прошла только тест на равность количества 0 и 1(полиномиальный по-моему)). Я взял n=16 и представил каждое число 4 битами. Но по-моему это еще не повод откидывать этот генератор. Вот, например, WinRar очень плохо архивирует файлы, сгенерированные последовательностями этих чисел.
Не знаю, может придумать тесты для генераторов [0, n-1], потому, как мне кажется, что этот генератор не проходит битовые тесты именно из-за того, что предназначен генерировать величину из [0, n-1] :?

 Профиль  
                  
 
 
Сообщение06.02.2006, 14:06 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Разумеется, вы наверное сможете придумать тесты, которые ваша последовательность пройдет. Но думаю, что это недостаточно убедительный аргумент в их пользу. Вряд ли научное сообщество сочтет заслуживающими внимания генераторы, которые не проходят стандартных тестов. Разве что вы придумаете действительно убедительные аргументы в пользу своего теста, которые бы хоть в чем-то выгодно отличали их от существующих.

Для каких целей вы думаете можно использовать данный генератор?

 Профиль  
                  
 
 
Сообщение06.02.2006, 22:35 
Модератор
Аватара пользователя


11/01/06
5711
PAV писал(а):
Существует ряд стандартных тестов на случайность. Они даже где-то лежат, наверняка легко можно найти.

Вот например: Diehard Battery of Tests of Randomness.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group