2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3
 
 
Сообщение27.03.2008, 04:26 
незваный гость писал(а):
:evil:
Вы путаете две разных сущности: состояние датчика случайных чисел и выдаваемое им значение. Конкретно в Borland C 3.0, состояние — это 32 бита unsigned long, а выдаваемое значение — 15 бит signed int. Естественно, попытка трактовать выдаваемое значение как состояние не может увенчаться успехом.

именно это я и сказал :) но состояние датчика мы не можем узнать, если только...
Код:
unsigned seed(int x){ // x - возвращаемое значение rand();
   int tmp = -1;
   int i = 0;
   while(tmp != x){
      srand(i);
      tmp = rand();
      ++i;
   }
   return (i - 1);
}
но подобный подобные затраты не стоят результата...

незваный гость писал(а):
Проблема, затронутая мной, состоит в том, что для датчика случайных чисел являются нормальными повторы. Например, Вы кидаете кубик семь раз. Какое-нибудь из чисел обязательно выпадет дважды. Но это не значит, что следом за ним выпадет то же число, что и в первый раз. Может выпасть, может и не выпасть.

Алгорифмы Флойда и Брента молчаливо подразумевают, что если однажды произошло совпадение, оно будет происходить и в дальнейшем. И это делает их трудно адаптируемыми для проверки датчиков случайных чисел.

А можно пример по корректнее, ведь каждый бросок кубика не зависит от предыдущего...

 
 
 
 
Сообщение27.03.2008, 04:31 
Аватара пользователя
:evil:
Марк писал(а):
менно это я и сказал Smile но состояние датчика мы не можем узнать, если только...
Код:
unsigned seed(int x){ // x - возвращаемое значение rand();
   int tmp = -1;
   int i = 0;
   while(tmp != x){
      srand(i);
      tmp = rand();
      ++i;
   }
   return (i - 1);
}

но подобный подобные затраты не стоят результата...

Даже это неверно. Кто сказал, что существует единственный $seed$, соответствующий $x$?!

Именно это является источником во второй части затруднений.

 
 
 
 
Сообщение30.03.2008, 14:28 
незваный гость писал(а):
Проблема, затронутая мной, состоит в том, что для датчика случайных чисел являются нормальными повторы. Например, Вы кидаете кубик семь раз. Какое-нибудь из чисел обязательно выпадет дважды. Но это не значит, что следом за ним выпадет то же число, что и в первый раз. Может выпасть, может и не выпасть.

Алгорифмы Флойда и Брента молчаливо подразумевают, что если однажды произошло совпадение, оно будет происходить и в дальнейшем. И это делает их трудно адаптируемыми для проверки датчиков случайных чисел.


незваный гость писал(а):
Даже это неверно. Кто сказал, что существует единственный $seed$, соответствующий $x$?!

Именно это является источником во второй части затруднений.

Точно! Мне кажется, я понял, что Вы имели ввиду... Спасибо за объяснения...

 
 
 [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group