Обсуждение:Линейный конгруэнтный метод
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении и поработать над требуемыми статьями. |
Untitled
[править код]Большое спасибо за включение в статью "Полиноминального (линейного) конгруэнтного метода с переменными коэффициентами". Приму за честь познакомиться с автором. Мой 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)
- К сожалению, подобные вещи противоречат правилам Википедии (ВП:ЧНЯВ, ВП:НЕСВАЛКА, ВП:НЕКАТАЛОГ) и еще и ВП:ПРОВ страдает. Специалисты вряд ли будут искать константы в Википедии. Для студентов реализации алгоритма на языках программирования можно разместить в Викиучебнике: b:Реализации алгоритмов. Разумеется, котороткие листинги с опорой на АИ в статье могут быть, если имеют энциклопедическую ценность. РоманСузи 18:01, 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)