Имя: Пароль:
1C
1С v8
Вопрос по ГенераторСлучайныхЧисел (RandomNumberGenerator)
0 Ахиллес
 
14.10.11
11:42
Нужно получать некое случайное число в диапазоне чисел.
Я не могу понять эту фразу из СП:"Генератор случайных чисел инициализируется начальным числом из параметра.
Последовательность случайных чисел для одного и того же начального числа будет ОДИНАКОВА." Как выбирать числа для инициализации и как вообще говоря о ГСЧ можно написать слово ОДИНАКОВЫЕ? Ересь какая то.
1 butterbean
 
14.10.11
11:45
можешь не завадать этот параметр если нужны разные последовательности
2 Ахиллес
 
14.10.11
11:46
Ну как бы да. Хотелось бы получить ряд псевдослучайных чисел из диапазона. И что бы эти числа ни сегодня ни завтра ни через пол года ни у одного пользователя не повторялись.
3 PR
 
14.10.11
11:49
(2) И чо?
4 Ахиллес
 
14.10.11
11:51
(3) Если я напишу:
ГСЧ = Новый ГенераторСлучайныхЧисел();
ГСЧ.СлучайноеЧисло(0, 10000);
а десять пользователей по десять раз тыкнут эту кнопку, то я получу 100 разных чисел?
5 butterbean
 
14.10.11
11:53
да
6 PR
 
14.10.11
11:53
(4) Да.
А попробовать самому не судьба что ли?
7 zladenuw
 
14.10.11
11:54
ну так это же генератор случайных :)
8 romix
 
14.10.11
11:54
Вот тут пример использования:
Книга знаний: Решение транспортной задачи в 1С:Предприятие 8.2
Начальное значение если повторяются то можно попробовать из ГУИД-а взять начальные цифры.
Книга знаний: Генератор случайных чисел в 1С
9 dmpl
 
14.10.11
11:55
(0) Можно вопрос - зачем?
10 Ахиллес
 
14.10.11
11:55
Ну что то фраза про одинаковые последовательности меня напрягла. Не понимаю я такого когда речь идёт о ГСЧ. А бегать по компьютерам пользователей и проверять на местах не охото как то.
11 butterbean
 
14.10.11
11:56
(10) надо было СП дочитать про ГСЧ, вопросов бы не было
12 Evpatiy
 
14.10.11
11:57
(2) либо числа будут случайными, либо гарантированно не повторяющимися. Это разные задачи.
13 dmpl
 
14.10.11
11:59
(10) Дык либо число по-настоящему случайное, и тогда нет гарантии, что не будет одинаковых чисел в последовательности, либо оно псевдослучайное, и для инициализации этой последовательности используется начальное значение.
14 Ахиллес
 
14.10.11
12:01
(11) Это и есть окончание из СП:"Последовательность случайных чисел для одного и того же начального числа будет одинакова." КАК последовательность может быть ОДИНАКОВА когда речь идёт о ГСЧ? Это ересь, за это надо на костре сжигать.
(12) На большом диапазоне они должны быть и случайными и не повторяющимися
15 butterbean
 
14.10.11
12:04
(14) успокойся
16 Ахиллес
 
14.10.11
12:06
Спокоен как удав.
17 dmpl
 
14.10.11
12:06
(14) С какой стати? Для действительно случайных чисел есть ненулевая вероятность, что 100 раз будет одно и то же число. Или что на выходе получится "Война и мир"...
18 Ахиллес
 
14.10.11
12:07
(17) Меня такая вероятность вполне устраивает. Но тут мне обещают не вероятность а одинаковые последовательности. Это совсем другое.
19 butterbean
 
14.10.11
12:08
(18) тебе просто предоставили возможность получать одинаковые последовательности, можешь не пользоваться
20 dmpl
 
14.10.11
12:09
(18) Естественно, там же просто математическая формула на основе предыдущего значения вычисляет новое значение. Если дашь одинаковые начальные значения - получишь одинаковые последовательности. Очень удобно для отладки.
21 Ахиллес
 
14.10.11
12:09
(19) Для этого, я мог бы просто скопировать переменную каким либо способом.
22 butterbean
 
14.10.11
12:09
пля
23 Evpatiy
 
14.10.11
12:10
(14) "На большом диапазоне они должны быть и случайными и не повторяющимися" тогда надо из случайных дополнительно отбирать не повторяющиеся.

"КАК последовательность может быть ОДИНАКОВА когда речь идёт о ГСЧ". Есть мнение что «генерация случайных чисел слишком важна, чтобы оставлять её на волю случая» (с)Роберта Р. Кавью. Вообще генерация случайных чисел без привязки к источнику как бы невозможна, поэтому и генераторы генерируют псевдослучайные числа. На то есть веские причины. Кстати, если удастся написать алгоритм генерирующий РЕАЛЬНО случайные числа, получишь много бабла, уважения и два раза "ку".
24 Evpatiy
 
14.10.11
12:11
(21) Ну ты используй неинициализированный ГСЧ. 1С тогда вяжется на время работы операционки с момента старта.
25 Lama12
 
14.10.11
12:13
(0) Проблема случайных чисел очень сложная.
До сих пор используются либо генераторы псевдослучайных чисел, либо относительно дорогие физические генераторы (например счетчики излучения).
Как понизить предсказуемость генератора псевдослучайных чисел - использовать для его инициализации число полученное случайным образом.
Например рассчитать среднюю частоту нажатия клавиш клавиатуры за минуту, расчитать среднюю траекторию движения мыши и т.д.
(23)+100
26 Ахиллес
 
14.10.11
12:14
(20) Сейчас уже нет компов без сетевух, там железный ГСЧ вшит, также во многие процы он вшит и в операционки. Я всё таки был немного лучшего мнения об одинэсниках, нельзя же так лажать.
Собственно настоящие случайные числа не нужны. Достаточно хороших псевдослучайных.
27 catena
 
14.10.11
12:14
Читаем выборочно?

<Начальное число> (необязательный)
28 catena
 
14.10.11
12:15
Формирование неинициализированного объекта
Синтаксис:
Новый ГенераторСлучайныхЧисел()
Описание:
Генератор случайных чисел инициализируется временем работы операционной системы с момента старта.
29 dmpl
 
14.10.11
12:19
(26) Нука поподробнее про многие процессоры... среди x86 он есть на данный момент ТОЛЬКО у VIA.
30 Lama12
 
14.10.11
12:22
(26) В сетевухах реально ГСЧ вшит? Настоящий? Не псевдослучайный?
Можно ссылочку для повышения компетенций, пожалуйста.
31 dmpl
 
14.10.11
12:23
Вообще, штатные функции ГСЧ, обычно, реализуют простейший линейный конгруэнтный метод. Если надо что-то более криптостойкое - это надо делать самому.
32 Ахиллес
 
14.10.11
12:24
(30) Что есть настоящий ГСЧ? ГСЧ на основе радиоактивных изотопов? Навряд ли. Скорее на основе резистора какого нибудь.
33 romix
 
14.10.11
12:36
(32) Применяются генераторы псевдослучайных чисел, которые дают повторяющуюся последовательность (что нужно для тестирования). Инициализируют какой-нибудь датой-временем-id пользователя. Истинные ГСЧ запрещены законодательно (ФАПСИ) как источник стойкой криптографии.
34 NS
 
14.10.11
12:44
Доколе в 1С будут идти непрограммисты?
Каким образом к написанию допускаются люди, даже примерно не представляющее себе работу ГСЧ? Представляю какие провалы в других областях программирования и алгоритмизации...
35 Ахиллес
 
14.10.11
13:08
(34) Жжение внизу спины? Мне покласть на ИСТИНЫЕ ГСЧ и НАСТОЯЩИЕ СЛУЧАЙНЫЕ числа. Я не для ФАПСИ шифрование пишу, если с вероятностью раз в десять лет одинэсовский ГСЧ выдаст мне пару одинаковых чисел подряд на диапазоне (0,1000000) то меня это вполне устроит.
36 NS
 
14.10.11
13:10
(35) У программиста вопрос (0) в принице возникнуть не может.
37 NS
 
14.10.11
13:10
в принципе.
Ошибка? Это не ошибка, это системная функция.