Обсуждение:Линейный конгруэнтный метод

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Большое спасибо за включение в статью "Полиноминального (линейного) конгруэнтного метода с переменными коэффициентами". Приму за честь познакомиться с автором. Мой Email: art_kia@mail.ru

Random Art 09:10, 30 декабря 2013 (UTC)[ответить]

Исправления не в лучшую сторону

[править код]

На мой взгляд, статья очень сильно обеднела и потеряла ценность после того, как из нее зачем-то убрали:

- пример реализации функции rand() из стандарта ISO/IEC 9899;

- справочные сведения о константах a и c генераторов, используемых в Delphi, MS Visual C/C++ и пр.

- демонстрацию врожденного недостастка ЛКМ, связанного с расположением точек с координатами (r(i),r(i+1)) на отрезках параллельных прямых;

- пример "неудачного" линейно-конгруэентного генератора RANDU: https://ru.wikipedia.org/wiki/RANDU.

Все это занимало в статье очень немного места и непонятно, чего ради удалено.

Кроме того, вызывает очень большие сомнения таблица "хороших констант". Выше по статье со ссылкой на Кнута однозначно сказано: "Линейная конгруэнтная последовательность... периодична с периодом, не превышающим m. При этом длина периода равна m тогда и только тогда, когда..." и т.д. Таким образом, ДПСЧ с m=6075 никак не может иметь периода 2^20, то же касается и остальных строк таблицы. 46.0.164.49 08:04, 10 января 2015 (UTC)drmad[ответить]

Читаем внимательно, и только потом пишем. 2^20 это не период, а минимальная необходимая ёмкость регистра, при котором не будет переполнения с указанными константами 128.74.247.231 15:33, 17 января 2015 (UTC)[ответить]

Поправил пример реализации из ISO/IEC 9899

[править код]

Заменил в листинге … % RAND_MAX на … % (RAND_MAX + 1). Во-первых, в стандарте Last public Committee Draft from April 12, 2011, page 346f. явно указано там 32768. Во-вторых, из логики: RAND_MAX — максимальное достижимое случайное число, а остаток от деления на  даёт число в диапазоне от  до . 185.59.142.66 09:16, 1 декабря 2017 (UTC)[ответить]