<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0%3ADavickh%2F%D0%A0%D0%B0%D0%BD%D0%B4%D0%BE%D0%BC</id>
	<title>Обсуждение участника:Davickh/Рандом - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0%3ADavickh%2F%D0%A0%D0%B0%D0%BD%D0%B4%D0%BE%D0%BC"/>
	<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Davickh/%D0%A0%D0%B0%D0%BD%D0%B4%D0%BE%D0%BC&amp;action=history"/>
	<updated>2026-11-05T10:59:38Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://t8.lbstr.eu/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Davickh/%D0%A0%D0%B0%D0%BD%D0%B4%D0%BE%D0%BC&amp;diff=46079&amp;oldid=prev</id>
		<title>imported&gt;PVE: /* X-серия */</title>
		<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:Davickh/%D0%A0%D0%B0%D0%BD%D0%B4%D0%BE%D0%BC&amp;diff=46079&amp;oldid=prev"/>
		<updated>2020-09-29T11:14:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;X-серия&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;:Нормального распределения там и не надо. Надо [http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%91%D0%B5%D1%80%D0%BD%D1%83%D0%BB%D0%BB%D0%B8 распределение Бернулли]. Но его тоже нет. C любовью, ваш [[Капитан очевидность|Капитан Очевидность]]&lt;br /&gt;
::эээ, вроде бы от рандомизаторов обычно требуется равномерное распределение с возможно большей независимостью последовательных значений. Это я чего-то не понимаю или К.О. здесь фейковый?&lt;br /&gt;
:::Просто равномерное распределение — штука абстрактная ибо оно непрерывное, так что на самом деле используется дискретное биномиальное. А Бернулли это частный случай биномиального. Впрочем, как человек имеющий к ММОРПГ непосредственное отношение могу сказать, что игроки всегда будут обвинять рандом в кривизне, даже если он нормальный. А «как можно большая независимость последовательных значений» это ересь, ибо все испытания должны быть независимыми, иначе это уже не рандом. Хм, может это в обсуждение сунуть?&lt;br /&gt;
::::Игроки всегда во всем обвиняют рандом. Многие считают, что &amp;quot;раз столько раз сфейлилось, то щас уж точно проканает, там же ХХ% шанс&amp;quot;, забывая, что рандом никому и ничего не должен, а следующий результат какбэ не зависит от предыдущего. Алсо, любой школьник может написать на любом доступном ему языке код, выдающий в цикле овер 9000 рандомных &amp;quot;да/нет&amp;quot; (псевдо, но кого это волнует?), и лично убедиться, что получить подряд туеву хучу &amp;quot;нет&amp;quot; очень даже возможно. Добавлю также, что конкретно в сервере л2 рандом не самописный, там обычный библиотечный rand().&lt;br /&gt;
:::::Хуле бы его не обвинять, если в результате его работы получается хрень.&lt;br /&gt;
:::::Результат рандома от игрока не зависит, зато игровой процесс от рандома – да. Рандом уменьшает влияние игрока на игровой процесс, оставляя его лишь наблюдать за &amp;quot;случайным&amp;quot; результатом, повторяя однообразные действия в ожидании выпадения лучшего результата. Рандом ворует игровой процесс у игрока. Рандом переворачивает взаимодействие так, что игра начинает &amp;quot;играть&amp;quot; в игрока. Рандом игроку не нужен. Рандом нужен для прикрытия уёбищности игр: уёбищная боевая система прикрывается вероятностями попадания и крита; уёбищные качество и количество подземелий и боссов прикрываются верояностью выпадения лута; уёбищное разнообразие оснащения и улучшений прикрывается боксами; уёбищная заточка уёбищна в своей сути и призвана как можно долше удерживать игрока за добычей материалов в бесконечных попытках улучшить эквип, в случае когда материалы предоставляются за донат – также высосать бесконечное количество денег.&lt;br /&gt;
:::::Рандом – это рак, убивающий игры.&lt;br /&gt;
&lt;br /&gt;
к.о. считает, что теория относительности говорит, что шанс выпадения любого числа в оной таблице равен 50% в каждый момент времени: либо выпадет, либо нет... то-есть, шанс выпадения любого числа всегда в два раза меньше, чем ожидается, что кагбэ намекает быдлоколдинг&lt;br /&gt;
&lt;br /&gt;
Есть мнение, что в ММОРПГ шанс выпадения редких предметов обратно пропорционален числу игроков в данный момент на сервере. Т.е. ночью, когда онлайн только задроты/боты, падает/спойлится лучше.&lt;br /&gt;
&lt;br /&gt;
== Библиотечный rand() и остаток от деления ==&lt;br /&gt;
Есть такая тупость, чуть менее чем во всех учебниках по программированию. В стандартной библиотеке си функция rand() возвращает целое значение в диапазоне от 0 до RAND_MAX (для 32-х битных систем это как правило 32767), но на практике почти всегда нужны другие диапазоны, например орёл/решка (0/1), или кубик (от 1 до 6) и т. д. И здесь все быдлокниги(и быдлопреподы) предлагают простую и «изящную» (в своём дебилизме) формулу: «int x = rand() % n», то есть брать остаток от деления результата вызова rand() на нужное тебе максимальное значение. Кривость этого метода заключается в следующем: например мы «кидаем монетку»(x = rand() % 2), сама по себе функция rand() равномерно выдает числа в своём диапазоне (0..32767), но ей абсолютно плевать какой у них остаток от деления на то или иное число, поэтому она вполне может выдавать чётные числа хоть 10, хоть 20, да хоть сто раз подряд (ещё раз: главное что значения распределяются в изначальном диапазоне равномерно) и мы соответственно получаем многократно выпадающую «решку». Православным способом использования библиотечного rand() является получение значения с плавоющей точкой в диапазоне от 0 до 1: «float x = rand() / float(RAND_MAX)», и уже это нормализированное значение приводить к нужному диапазону простыми математическими преобразованиями.&lt;br /&gt;
&lt;br /&gt;
== Срачи из примечаний ==&lt;br /&gt;
&lt;br /&gt;
К.О. замечает, что не везде нужно именно равномерное распределние. Значительно чаще в реальном мире встречается [[:w:нормальное распределение]], а виной всему — [[:w:центральная предельная теорема]]. Кстати, если один кубик дает равномерное распределение, то сумма двух кубиков уже подчиняется нормальному распределению. Но сути корейского рандома это [[всем похуй|не меняет]].&lt;br /&gt;
:ЩИТО? Сумма двух кубиков есть дискретная случайная величина, а нормальное распределение непрерывно.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Капитан Очевидность забывает, что нормальное распределение получают как раз из равномерного [[:w:Преобразование_Бокса_—_Мюллера]], да и любые другие тоже. Читайте Кнута, блджад.&lt;br /&gt;
:K.O. преобразование - метод, нормальное (гауссово) распределение - результат. И получить нормальное распеределение можно в том числе и бросанием пары костей. Так то.&lt;br /&gt;
::Любое распределение легко и непринужденно делается из равномерного. А нормальное распределение - ни разу ни сумма 2 бросаний кубиков, а предел n сумм рандома с любым законом распределения (но все n должны быть одинаковыми) при n стремится к бесконечности, это и есть центральная предельная теорема. На практике используется сумма 5-12 случайных величин, распределенных равномерно.&lt;br /&gt;
:::Пиздец, нашли из-за чего говнами пуляться. Критерии Пирсона и Стюдента дают для 2 кубиков &amp;#039;&amp;#039;&amp;#039;отрицательный&amp;#039;&amp;#039;&amp;#039; результат — довольны? Дял трёх — положительный; так что анонимус №5 абсолютно прав про ЦПТ, и нехер ебать мозги своими формализмами. Что же касается генераторов, то в программировании и по сей день не умер православный &amp;#039;&amp;#039;X(p):=q*sqrt(-2ln(sqrt(2*pi)*p*q))+a&amp;#039;&amp;#039; (ну вы поняли, ага?). И забейте на Вики, думайте своими мозгами, пожалуйста.&lt;br /&gt;
&lt;br /&gt;
А причем тут реализация функции rand() на клиентской стороне? Функция на серверной стороне работает как бе. В игровом клиенте только кнопку нажимают, посылается запрос серверу или получаем ответ, положительный или отрицательный.&lt;br /&gt;
&lt;br /&gt;
== Вавилонская лотерея ==&lt;br /&gt;
&lt;br /&gt;
/r/ запилить в статью Коркиса-Боркиса. Он доставляет.&lt;br /&gt;
&lt;br /&gt;
== Вынесенный из статьи высер ==&lt;br /&gt;
&lt;br /&gt;
Рандом есть результат случайного события, случайное событие в свою очередь есть событие, исход которого оценивающее лицо, не может предвидеть. Есть случаи с нежеланием предвидения, но это отдельная статья. Таким образом рандом может для одного быть нормальным явлением, а для другого полноcтью непредсказуемая система... но это уже больше не Рандом, а его восприятие человеком...&lt;br /&gt;
&lt;br /&gt;
В этих ваших компьютерах существует некое подобие рандома, которое ругают псевдо-рандомом. Псевдо-рандом генерится при помощи жуткого матана, и имеет некоторые недостатки:&lt;br /&gt;
&lt;br /&gt;
* Периодичность - через определенное количество случайных событий они начинают повторяться.&lt;br /&gt;
* Некоторые значения в пределе более случайны чем другие... допустим единицы меняются от вызова к вызову часто, а сотни редко.&lt;br /&gt;
* Неравномерность - например числа до 100 выпадают реже чем числа после 100&lt;br /&gt;
&lt;br /&gt;
Все это от того, что компьютер не бросает кубик, а вычисляет псевдо-случайную величину по определенной умным пиндосом очень точной формуле. &lt;br /&gt;
&lt;br /&gt;
Существуют также другие аналоги рандома: &lt;br /&gt;
&lt;br /&gt;
* Запрос миллисекунд у биоса на момент надбности рандома - в принципе идея хорошая, но если рандом требуется в течении секунды много раз то недостаток очевиден, второе число будет больше первого, я обещаю. (не будет - например, первый запрос произошел в 997мс, а следующий через скажем через 50мс выдаст уже 043)(а вот если вызывать 25 раз в секунду(например один раз в главном цикле), то в 24 случаях будет)&lt;br /&gt;
* Внесение изменений в жуткий матан согласно действиям юзера - такой способ слишком быстро пропаливается пытливыми умами и троллится по полной.&lt;br /&gt;
&lt;br /&gt;
В далекие деревянные времена бейсика прописанного в ПЗУ последовательно брались байты самой программы, а командой Randomize устанавливали по миллисекундам таймера с какого места программы начинать. Но это было давно и совсем уже неправда.&lt;br /&gt;
&lt;br /&gt;
Аппаратные рандомы существуют, но засекречены. И для нормальных компьютеров их почему-то не выпускают. Вероятно они скрывают в себе формулу мира. Так-то! Правда, программер-кун подсказывает, что аппаратные рандомы аля Hardware RNG как минимумом Intel-ом включены во все процессоры, начиная с Pentium III - насладиться труевыми рандомными числами теперь может любой желающий. Также некоторые аноны ВНЕЗАПНО научились извлекать [http://habrahabr.ru/blogs/python/62237/ случайные числа из АЦП звуковой карты] компьютера. Вот так-то!&lt;br /&gt;
&lt;br /&gt;
Капитан Физика срывает покровы с сов.секретных технологий ZOG и утверждает, что сделать близкий к идеалу ГСЧ под силу любому умеющему паять и быдлокодить.&lt;br /&gt;
Основываются они на неконтролируемых физических процессах, например:&lt;br /&gt;
&lt;br /&gt;
* Поверхность кипящей жидкости&lt;br /&gt;
* Траектория электрической искры&lt;br /&gt;
* Распад радиоактивных веществ&lt;br /&gt;
* Шумы в радиоэфире&lt;br /&gt;
&lt;br /&gt;
: Можно запилить в ссылки в статье - [http://random.org ГСЧ на основе атмосферных шумов]. Да счас и запилю, ёпта.&lt;br /&gt;
&lt;br /&gt;
При этом через определенные или тоже случайные промежутки времени (тут сойдет и программный рандом, поскольку его роль вторична) камера снимает кипяток/искру, подсчитывается количество разрядов в счётчике Гейгера или снимается осциллограмма шума. Для пущего разброса данных и приведения в удобный для обработки вид, результат скармливается хэш-функции - и близкий к идеалу рандом, тащемта, готов.&lt;br /&gt;
&lt;br /&gt;
Штабс-капитан Монте-Карло добавляет, что описанным выше способом не пользуются потому, что трудно добиться достаточного количества случайных чисел в единицу времени. &lt;br /&gt;
Эдак вам придется кипящими чайниками заставить небольшое кукурузное поле, гектаров на надцать. Во взрослой науке (например, КХД на решетках) требуются миллионы случайных значений в секунду. Есть, конечно, лаборатории, где действительно стоит туева хуча датчиков и идут реальные случайные процессы. Но результаты, которые они получают, по сути слабо отличаются от аналогичных, полученных благодаря грамотно сделанному алгоритму рандома. При этом на их получение уходит в десятки раз больше времени. Вот и приходится напрягать мозг, а не строить квадратно-гнездовым методом сотни установок-генераторов случайных чисел.&lt;br /&gt;
&lt;br /&gt;
== Иллюстрация ==&lt;br /&gt;
&lt;br /&gt;
Есть же такой [http://www.mediawiki.org/wiki/Extension:RandomImage костыль] в медиавики, идеально подойдет для иллюстрации. Но это к администрации, куда стучать?&lt;br /&gt;
&lt;br /&gt;
== Игры-игрочки ==&lt;br /&gt;
&lt;br /&gt;
Доставляющий рандом из Великой и Ужасной [[Civilization|Цивы]]: Из-за примитивной системы боя между юнитами, зависящей больше всего от рандома, Танки запросто могут проиграть Колесницам.&lt;br /&gt;
&lt;br /&gt;
== Плагиат детектед ==&lt;br /&gt;
Признавайтесь, кто заслал эту статью на конференцию &amp;quot;Молодежь и наука&amp;quot;? [http://conf.sfu-kras.ru/sites/mn2012/thesis/s011/s011-002.pdf]&lt;br /&gt;
: анон, ты доставил! [[Участник:CTOKEP|Innominatus]]&lt;br /&gt;
&lt;br /&gt;
== Алсо ==&lt;br /&gt;
&lt;br /&gt;
Рандом в Dot&amp;#039;A подобных играх - это распределение, которое неравно. То есть в одной команде игроки слабее, в другой - сильнее.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Ходят упорные слухи, что это связано с неадекватной работой программного RND [[Windows]].&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Авторитетно заявляю - хуета, если исползуется, конечно, CryptGetRandom, т.к. это - ГСЧ, рассчитаный на использовании в криптографии, а там требования к СЧ повыше говноигр.&lt;br /&gt;
&lt;br /&gt;
== Тут полежит ==&lt;br /&gt;
&lt;br /&gt;
[https://36.media.tumblr.com/b98842f1e916ff2e1614f64f6c358b7b/tumblr_nzn6swnhjv1rc95hzo1_500.jpg картинко]&lt;br /&gt;
&lt;br /&gt;
== X-серия ==&lt;br /&gt;
Что там было по поводу Великого Немецкого Рандома в X-серии? Это когда рандомно генерируемые нпс корабли получают характеристики, которые могут выходить за свой максимальный предел, или как? Начиная с Terran Conflict я не помню таких приколов (что происходило в более ранних версиях я вообще не помню). И хотя встречались крайне странные конструкции и конфигурации, но они вроде все были запланированными вручную. [[Участник:DirtyR|DirtyR]]([[Обсуждение участника:DirtyR|обсуждение]])&lt;br /&gt;
&lt;br /&gt;
== Ваша статья - невыносимо отвратное унылое говно ==&lt;br /&gt;
&lt;br /&gt;
Ни слова про [[:w:Генератор псевдослучайных чисел|генератор псевдослучайных чисел]], ни про теорию вероятностей, с которой, собственно говоря, и пошло определение рандома, ни про [[:w:аппаратный генератор случайных чисел|аппаратный генератор случайных чисел]], ни про влияние факторов на тот самый рандом. Зато мы имеем высер про корейский рандом, о котором уже все давно позабыли. Одним словом, статью нужно писать с нуля. Реквестируются авторы, которые разбираются в теории вероятностей и дисперсионном анализе. — &amp;lt;span style=&amp;quot;font-family: &amp;#039;Monotype Corsiva&amp;#039;, serif;&amp;quot;&amp;gt;[[Участник:Чёрножопый|Dupa Czerny]]&amp;lt;/span&amp;gt;&lt;br /&gt;
: Я в свое время довольно плотно учил тервер в универе, но это было давно и сейчас по большей части забыто из-за ненадобности на практике. Статья же написана тоже очень давно школьниками-игрозадротами, поэтому и в таком печальном состоянии. — [[Участник:Finstergeist|F]] ([[Обсуждение участника:Finstergeist|обсуждение]])&lt;br /&gt;
: Начал писать. Помощь была бы очень кстати. — [[Участник:Davickh|Davickh]]&lt;br /&gt;
::Уже вроде неплохо, но ещё не фонтан. Надо написать раздел про дисперсионный анализ, который всё-таки может предскать исход события (выпадение случайного числа), но это адски сложный матан. Его нужно как-то объяснить луркморским языком, не скатываясь при этом в педивикию, что вдвойне усложняет задачу. — &amp;lt;span style=&amp;quot;font-family: &amp;#039;Monotype Corsiva&amp;#039;, serif;&amp;quot;&amp;gt;[[Участник:Чёрножопый|Dupa Czerny]]&amp;lt;/span&amp;gt;&lt;br /&gt;
:::Я почитал немного про анализ, и, ты уверен, что это настолько интересно? Берётся кучу значений, исходя из которого пытаются найти факторы, с этим помогают очень сложные закономерности, а когда найдены факторы, и до формулы недалеко. Как-то так ведь, да?  — [[Участник:Davickh|Davickh]]&lt;/div&gt;</summary>
		<author><name>imported&gt;PVE</name></author>
	</entry>
</feed>