Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Случайные числа - псевдо... или не псевдо?
 
 автор: Shorr Kan   (25.07.2005 в 17:02)   письмо автору
 
 

Цитата

"int rand ( [int min, int max] )


При вызове без параметров min и max, возвращает псевдослучайное целое в диапазоне от 0 до RAND_MAX. "


Извиняюсь за отсутствие эрудиции, но что значит псевдослучайное?

   
 
 автор: DJ Paltus   (25.07.2005 в 17:15)   письмо автору
 
   для: Shorr Kan   (25.07.2005 в 17:02)
 

Потому что ничего случайного внутри компьютера появиться, увы, не может.
Есть данные, есть результат и есть алгоритм, который из первого делает второе.

   
 
 автор: RV   (25.07.2005 в 17:25)   письмо автору
 
   для: DJ Paltus   (25.07.2005 в 17:15)
 

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

   
 
 автор: Shorr Kan   (25.07.2005 в 17:33)   письмо автору
 
   для: RV   (25.07.2005 в 17:25)
 

Хм... А как можно псевдослучайным алгоритмом выбрать случайное число из определенного промежутка цифр?

   
 
 автор: isset   (25.07.2005 в 17:35)   письмо автору
 
   для: Shorr Kan   (25.07.2005 в 17:02)
 

Это числа, которые могут рассматриваться в качестве реализации некоторой случайной величины. Как правило, имеются в виду реализации случайной величины, равномерно распределенной на промежутке (0,1), или приближения к таким реализациям, имеющие конечное число цифр в своём представлении. При такой узкой трактовке случайное число (с. ч.) можно определить как число, составленное из случайных цифр (с. ц.). С. ц. в р-ичной системе счисления является результатом эксперимента с р равновероятными исходами (каждому из исходов соответствует одна из р цифр). Эксперименты по получению каждой с. ц. предполагаются независимыми.


(c) http://slovari.yandex.ru/

   
 
 автор: Shorr Kan   (25.07.2005 в 17:44)   письмо автору
 
   для: isset   (25.07.2005 в 17:35)
 

Жуткое по простоте объяснение... Но спасибо. Возможно, когда-нибудь я это пойму...

   
 
 автор: cheops   (26.07.2005 в 12:17)   письмо автору
 
   для: Shorr Kan   (25.07.2005 в 17:44)
 

В переводе на человеческий язык это означает, что мы не можем в принципе создать модель, которая будет работать по закону случайных чисел. Нельзя создать абсолютно равномерный генератор. Равномерность генераторов вообще до недавнего времени являлась серьёзной проблемой, ни одно исследование методом Монте-Карло не начиналось без подбора равномерного генератора случайных чисел. Дело вот в чём - если сгенерировать при помощи счётчика несколько миллиардов чисел и проссумировать их в интервалах от 0-1, 1-2, ... 1-10 (у нас числа будут генерироваться от 0 до 10), то окажется, что в одних интервалах чисел больше, чем в других и это воспроизводится. В равномерном счётчике во всех интервалах должно быть одинаковое количество чисел. Сейчас счётчики достаточно равномерные, а лет 10-20 назад эта была проблема из проблем...
Именно по этому рулетки в казино и всякие устройства вроде "Спортлото" время от времени меняют - так как они тоже не равномерны и некоторые числа выпадают чаще других - ходят легенды (не знаю правда или нет), что ушлые товарищи умудрялись даже выигрывать, вычисляя неравномерность, пока не меняли устройство.

   
 
 автор: Shorr Kan   (26.07.2005 в 12:39)   письмо автору
 
   для: cheops   (26.07.2005 в 12:17)
 

Понятно. Значит вернемся к нашим... функциям. rand , получается, достаточно случаен, чтобы приставку "псевдо" воспринимать лишь как скрупулезность документации... Вполне понятно.

   
 
 автор: Duran   (26.07.2005 в 13:24)   письмо автору
 
   для: Shorr Kan   (26.07.2005 в 12:39)
 

Хеопс конечно-же имел ввиду, что сделать можно, но с долей погрешности :-).
Иначе у нас небыло бы гармонического квантового генератора (лазера). Он генерирует излучение с одинаковой длинной волны и поразительной когерентности.
Када-то давно, я своим студентам говорил, что ПСЕВДОСЛУЧАЙНОЕ число называется так, потому, что существует опред. последовательность с фиксированным количеством чисел (либо прошита в неком ПЗУ, либо генерируется особым способом), с плотностью распределения равной единице (вероятность выпадения любого из чисел в ряде равнозначна -т.е. определенный интеграл с основаниями 0 и 1 равен единице). Эта последовательность зациклена, специальная функция извлекает их по одному и при достижении последнего возвращается к 1-му в ряде.
В настоящее время определение изменилось из-за способов формирования этих чилел, но смысл остался прежним - на выходе формируется числовой поток, подчиненный равномерному закону распределения, что обеспечивает событие появления любого числа в заданном интервале равновероятным.
Конечно, равномерный закон распределения не единственный, но все они с успехом применяются для исседования объектов, поведение которых соответствует этим законам- например, экспоненциальный закон описывает износ подшипников, линейный - выветривание почвы и т.д.
Тов. Хеорс, судя по резюме знает о квантовой теории не по наслышке :-). Если спросите - он с удовольствием выдаст вам пару-тройку способов как сформировать устойчивый поток с нужной плотностью распределения величин и его применение.

   
 
 автор: cheops   (26.07.2005 в 13:36)   письмо автору
 
   для: Duran   (26.07.2005 в 13:24)
 

>Тов. Хеорс, судя по резюме знает о квантовой теории не по
>наслышке :-). Если спросите - он с удовольствием выдаст вам
>пару-тройку способов как сформировать устойчивый поток с
>нужной плотностью распределения величин и его применение.
Нет ужки, увольте... :))) Интегралы лучше аналитически брать, чего-нибудь отбросить, чем-нибудь пренебречь... как-то я теории вероятности не доверяю :))), вычислять долго и результаты у меня с ней всегда кривенькие получаются :)))

   
 
 автор: Duran   (26.07.2005 в 13:45)   письмо автору
 
   для: cheops   (26.07.2005 в 13:36)
 

Ну вы прям как Эйнштейн :-).
Тот тоже считал, что описывать поведение фотонов случайными методами - это от нашего незнания :) Ох и попортин он этим Бору крови :))).

И все-же вынужден чуть-чуть с вами не согласиться. Конечно на непрерывных, кусочно-непрерывных или даже решетчатых функциях класически или по Лапласу можно обойтись, а как быть совершенно не равномерных законах распределения, когда вам не известна функция представления величины, а есть только плотность распределения или на крайняк матожидание ?
Пару раз нужно было расчитывать площать фигуры, у которой была кошмарная форма. Площадь посчитали как раз при помощи "обстрела" фигуры по равномерному закону.

   
 
 автор: Shorr Kan   (26.07.2005 в 14:13)   письмо автору
 
   для: Duran   (26.07.2005 в 13:45)
 

Знаете... Я тут подумал... Наверное rand вполне достаточно :-D

   
 
 автор: Duran   (26.07.2005 в 14:16)   письмо автору
 
   для: Shorr Kan   (26.07.2005 в 14:13)
 

Кстати да :-). Увлеклись малость.

   
 
 автор: cheops   (26.07.2005 в 19:10)   письмо автору
 
   для: Shorr Kan   (26.07.2005 в 14:13)
 

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

   
 
 автор: cheops   (26.07.2005 в 19:04)   письмо автору
 
   для: Duran   (26.07.2005 в 13:45)
 

У меня задачи всегда паршивые были с сингулярностями, да ещё не просто с точками сингулярностями, а с прямыми и плоскостями сингулярности в N-мерном пространстве. Метод Монте-Карло очень красив, но не очень удобен для таких задачах - нужно было штрафные функции выдумывать в сингулярных точках, ну короче дешевле было без него обойтись... как-то не сложилось у меня с ним :))) А разложение по базисному набору функций или переход к другим координатам позволяет получить точное значение, за микросекунды...

PS Куда-то нас с вами не туда повело - я уже всю математику с полок снял в коробки и заполнил их меcто книгами по программированию...

   
 
 автор: Shorr Kan   (27.07.2005 в 15:27)   письмо автору
 
   для: cheops   (26.07.2005 в 19:04)
 

Вот что значит - умение задать вопрос... Или скорее - неумение.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования