![]() |
|
|
![]()
|
|
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
сабж...
как работают генераторы случайных чисел? |
|||
|
||||
| Mayk |
|
||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 2 Всего: 134 |
В гугль.
http://www.google.ru/search?hl=ru&...le&lr= по разному.
Добавлено @ 22:20 псевдо, потому что последовательность таких чисел можно повторить. Грубо говоря
всегда выводит три одинаковых числа, сколько бы раз не запускали. Добавлено @ 22:21 одинаковых не всмысле друг другу равны, а всмысле сколько раз не запускай - одно и то же увидишь Добавлено @ 22:22 Ещё в вику: http://ru.wikipedia.org/wiki/%D0%9F%D1%81%...%81%D0%BB%D0%BE Добавлено @ 22:24 А ещё на http://random.org . И на http://noentropy.net заодно =) -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||
|
|||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: нет Всего: 3 |
Вот тема очень похожая - http://forum.vingrad.ru/index.php?showtopic=72959
Что касается моего мнения, то в природе ничего абсолютно случайного нет, как и в компьютерных функциях рандомов. -------------------- people can fly |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
функцией Randomize генерируется страшненькое число как раз Конгруэнтным генератором. После этого по этому числу по некоторому алгоритму считается новое число и тебе выводится.
-------------------- Всем добра |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 2 Всего: 134 |
Хмм. А как же такие вещи как шумы звуковой платы? Навряд ли их можно воспроизвести повторно. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Можно использовать цифры трансцендентного числа
-------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
слушайте, а можете мне просто привести формулу и значения переменных, чтоб я на собстевнном опыте понял? например:
какнить так, для тупых просто мне нужно самому попробывать, тогда я пойму |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
В одной книжке утверждается, что ниже написанный код используется в библиотеках С++
И помоему эта тема также обсуждалась у Кнута в "Искуствах программирования". Надо будет глянуть. -------------------- Пролетал мимо. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
Fin,
а когда нужно выполнять srand()? и что передавать ей в параметр? |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
srand выполняют в самом начале программы, обычно ставят число полученное от часов системы. Это нужно, чтобы сбить последовательность. Иначе последовательность будет повторяться при каждом запуске программы.
-------------------- Пролетал мимо. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 1 Всего: 146 |
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: нет Всего: 78 |
Fin,
что ж за генератор такой, который от часов зависит? такой я гораздо проще бы сделал...
только никакой случаности... разве все генераторы числе используют внешний источник СЧ?.. теперь понятнО, почему псевдо... |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
Alx ты совсем неправильно понял мысль
-------------------- СУВ, Partizan. |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
Вероятность того, что ты запустиш программу в одно и тоже время, вплоть до милисекунды равна 1/(24*60*60*100) Так что, так именно делают в программах. Просто не используют стандартный генератор псевдослучайных чисел.
"Псевдослучайный" - потому что, цифры хоть и распределены по диапазону равномерно, но идут в строгой последовательности. Все генераторы, построенные на математических моделях, имеют цикл повторяемости. Через определенный промежуток запросов к генератору, идет полный повтор комбинации. Кстати, тот алгоритм, что я привел выше, также есть по ссылке, которую показал Romikgy, Это сообщение отредактировал(а) Fin - 24.2.2006, 21:37 -------------------- Пролетал мимо. |
|||
|
||||
| Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 1 Всего: 10 |
Попробуй позапускать несколько раз такой код:
Увидиш, что последовательность чисел не будет повторяться. Если заремить srand(time(0));, то последовательность чисел будет повторяться в каждом запуске программы. -------------------- Пролетал мимо. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |