Пару часов назад друг попросил решить "нереальную" задачу отсюда, там надо было написать алгоритм,который принимает на вход логическую переменную и возвращает одно из трех чисел.В треде был додик ,который предлагал хуйню, которая в 1 случае из 4 стреляет в молоко и больше я ответов адекватных не видел.Меня заинтересовало и я решил.Хз какое время у моего алгоритма,но он явно быстрее чем та хуита.ОП треда, найдись пожалуйста,я хочу у тебя кое-что спросить.Пруфани,что ты оп и я сразу скину тебе свое решение и задам тебе вопросы.
>>211074363Бля, можно например сделать так, что генератор запускаешь шесть раз, и если в сумме получилось число от 1 до 2, то бьёшь первую, и аналогично с 3 до 4 и 5 до 6, вторую и третью
>>211073376 (OP)>>211074363а в чем собственно проблема? Делаем две генерации бинарным алгоритмом, получаем 00 - первая шлюха01 - вторая10 - третья11 - переброс
>>211075467Да я думаю, что у него вариант не лучше просто, вот и закинет в конце, чтобы критику не читать
>>211075401>>211075467>>211074952а вариантов собственно и нет, чтобы это работало с первого раза нужно получить кол-во результатов кратное 3м, а у нас на входе степень двойки, и собственно все - перда.
>>211075401Твоя задача - это предоставить стабильно работающий алгоритм, который выдает одинаковый шанс для 3-х шлюх. У тебя в 1 моменте, где, собственно реролл - это выстрел в молоко. По условиям задачи алгоритм должен работать стабильно. Это не псевдорандом, а именно рандом, где если попадает "реролл" - это дополнительное время работы алгоритма, поэтому его никак нельзя назвать стабильным
>>211075785>это выстрел в молоко. По условиям задачи алгоритм должен работать стабильно. Что ты понимаешь под стабильно? Он просто в среднем будет чуть медленнее работать и всё. Но это будет стабильное замедление.
>>211075785>>211075605прочти мое сообщение выше, не прибегая к какойто хуете, типо берем текущее время, умножаем его на день недели и на размер твоей тупой башки, потом делим на 3 до тех пор пока не получим число близкое 2, 3, 5, потом врубаем бинарник и определяем к какому из них сместится. если при приближении к 2ке выпал 0 то тогда это 5ка. соответственно 2 - 1я шлюха, 2 - 2я, 5-3яно это хуета из под ногтей, с привлечением внешних данных. Других способов получить кратный тройке результат отсутствует.
>>211075850Под "стабильностью" я понимаю работу алгоритма в фиксированно-точное время, как с бинарным алгоритмом при 2-х шлюхах. Алгоритм выдаст в 50% либо одну, либо другую. Если брать твою мысль (она верная, я ничего не говорю) - она добавит замедление при выводе конечного результата, если выпадет реролл. Если это реально рандом - так реролл может выпасть 20 раз подряд, а это лишние "секунды". Стабильность чего-то предполагает ожидаемый результат за ожидаемое время, я об этом. А твоё решение не предполагает ожидаемого времени, ибо при выпадении реролла время выполнения алгоритма будет замедляться.
>>211076120> так реролл может выпасть 20 раз подрядТеорвер против, вероятность КРАЙНЕ мала и статистически незначима.
Ладно,уломали,спать хочу и еще послушать критику.Тот чел тоже спит уже наверное.На самом деле я вас немного наебал,он не сработает если его запустить только один раз,но на каждый последующий уже будет работать как надо.Предупреждаю сразу,логика странная,но он быстрее и экономичнее всего,что тут до меня предлагали.
>>211076120>>211076058в таком случае вот тебе алгоритм, вариантов с временем ограниченное число, с днями недели тоже, башку твою мы тоже измерим.
>>211076058Можно три раза запустить генератор, и если в сумме выпало 0, 1 или 2, то бьёшь определёнгую шлюху, но я выше подобное уже написал
>>211076120>А твоё решение не предполагает ожидаемого времениПосчитай матожидание и будет тебе ожидаемое время.
>>211076303>rand() % 1Ну он сначала берёт рандомное число, а потом берёт остаток от деления его на 1, это всё, что нужно знать про его решение.
>>211076174тебя не смущает что (rand() % 2) будет вариант 0,1,2 ? да? а у нас только бинарный генератор...
>>211076434Ну давай смотреть таблицу истинности:000 - первая001 - вторая 010 - вторая 011 - третья100 - вторая101 - третья110 - третья111 - ???Первая - 1Вторая - 3Третья - 3??? - 1В каком месте шансы равны?
>>211075375Видимо имеется ввиду это>за ограниченное время.Если представить, что выпало миллиард раз 00, а заместо современного компьютера у тебя ламповый монстр на 10000 операций в секунду, то выходил обосрамс.
>>211076174Хуета. Какую будем бить завтра зависит от того, какую били сегодня. На это ты не проверяешь, даун. Впрочем, в условии задачи также нет про независимость нихуя, так что мне генератор и не нужен, я буду бить просто каждый день следующую мод 2. Такие дела, дегенераты.мимо-программист
>>211076190Вероятность выпадения 0, 1 и 2 не одинаковое. Если предположить, что генератор выдаёт 0 или 1, то вероятность суммы 0 по модулю 3 будет равна 2/8 = 1/4, вероятность 1 - 3/8 и 2 - 3/8. Без модуля, если тройку игнорить или перебрасывать, тоже самое, равной вероятности не будет.
>>211076694> то выходил обосрамс.Раз в 10время жизни вселенной световых лет? Бля, как жаль. Ну так и всю криптографию нахуй тогда, чё, вероятность-то есть.
>>211076695Двачну этого, бью шлюх по кругу, вероятность одинаковая. Твой счетчик соснул сразу. Давай пили проверку на независимость если осилишь, и она не пройдет судя по твоей параше next prev.
>>211076645Каждый раз из трёх, когда генератор включают, выпадаемые числа не влияют на шанс выпадения следующих (как в русской рулетке, например). Они независимы, и всегда имеют шанс выпадения 50%
Бля, кем надо быть, чтобы не понимать, что это невозможно за конечное число запусков генератора. Школьником или гуманитарием. Недочеловеком нахуй.
>>211076763Опираюсь исключительно на условия, там не сказано что/кто вычисляет. Берем мощность среднестатистического двачера в 3.5 операции/сутки и четыре 00 подряд. И так можно до бесконечности. Думаю решение есть и как то связано с триггерами/регистрами.
>>211077052Я студент,20 лвл.Такие идеи часто приходят в голову сами собой.Разве сам по себе генератор случайных чисел в тех же крестах абсолютно случаен и не от чего не зависит ?
Отличный тред.Пока самый смешной за сегодняУ одного остаток от деления на 2 может быть равен 2-м.Другой не может сформулировать свою сраную задачу.Третий не понимает, что там наформулировал второй.Только один бьет шлюх по очереди. Вместо того, чтобы ебать выпускницу бауманки.
>>211076879Слышишь, гуру, замени свою строчку rand() % 1 == next на !next и в самом начале вместо rand() % 2 поставь попробуй 0 0, 0 1, 1 0, 1 1. У тебя результат не поменяется, он вообще лол никак не зависит от рандома.
>>211077260>Разве сам по себе генератор случайных чисел в тех же крестах абсолютно случаен и не от чего не зависит ?О, ты начинаешь что-то подозревать.Если ты еще перестанешь называть плюсы крестами, то, может и вовсе под взрослого замаскируешься.
>>211077315>>211076879Так как ты тупой, на всякий случай скинуbool prev = 1; //вот тут меняй 0 на 1 в разных комбинациях bool next = 0;//вот тут меняй 0 на 1 в разных комбинациях for(int i = 0; i < 1000000; ++i) { if(prev != next && !next) { prev = !prev; n3++;
>>211077492Ты тот самый программист-анальник, что ли?Почему тебя постоянно на сосание хуев и жоп пробивает?
>>211077462>вот тут меняй 0 на 1 в разных комбинацияхСобственно, весь алгоритм одной строчкой.Можно еще добавить 2, тогда задача решена.
>>211077701Суть в том, что он там в конце печатает 3333 3333 3333 типа у него всё равновероятно выпало в миллионе случаев, только вот у него всё точно так же выпадает вообще без всякого рандома лол, по сути он просто по очереди прибавляет к счётчикам единички, к какому первому прибавит зависит от начальных 0 и 1.
Вы че тут все - дебилы? Какие вы нахуй пограмисты, это же элементарная задача. Ролим ВОСЕМЬ раз, полученные числа суммируем, смотрим на получившуюся сумму, результат будет следующий:0 - первая1 - первая2 - первая3 - вторая4 - вторая5 - вторая6 - третья7 - третья8 - третьяДебилы блять, даже я, гуманитарий вижу очевидность этого решения.
>>211077955>Я - да.Пизда. Видишь? Вся твоя теория пошла прахом, я просто люблю материться, не более, а вот ты пидор.
>>211077868>даже я, гуманитарийДа по твоему пониманию вероятностей все уже поняли, что ты гуманитарий, мог бы не уточнять.
>>211078020Нет. Я пидор, который живет полной пидорской жизнью.А ты пидор, который только и может, что пофантазировать на двачах.
>>211076174тебе надо было написать rand3 имея rand2, а ты написал хуиту, которая миллион делит на три равных кучки. понимаешь разницу?
Короче, петушки, все просто как божий день. Сроку годности шлюх - лет 10, ну для верности 20, что грубо равняется 7300 дней. Стабильным алгоритмом будет такой: дергаете rand() 13 раз, полученное значение делите на диапазоны:[0, 2731] - пизды получает первая шлюха,[2732,5462] - пизды получает вторая шлюха,[5462,8192] - пизды получает третья шлюха. Шлюхи не заметят никакой несправедливости, да и сам сутенер за 20 лет на пенсию уже свалит.
Я все равно не понимаю,в чем отличие от "тру" рандома?Вот я запускаю,вывожу единицы и нули,вывожу кол-во побитых шлюх,оно у меня даже не поровну иногда выходит.Да я если запущу просто rand(),он также будет работать,мне кажется.
Внимание, социолог в треде, сам тред нет читал, щас решу.1. Задаём одно случайное логическое значение2. Монетка даёт второе логическое значение3. Результаты интерпретируем так:Истина + Истина = 1Истина + Ложь = 2Ложь + Истина = Миша, всё хуйня, давай по-новойЛожь + Ложь = 3При каждом запуске, чтобы каждый раз не генерировать первое значение, берём для него предыдущий бросок монетки.Третий вариант нужен, чтобы число 2 не выпадало слишком часто.В случае третьего варианта (Ложь + Истина), перегенерируем какое-то из случайных значений, пока не выпадет один из нормальных вариантов, вот.Хй его знает все эти ваши программистские штуки с памятью там, быстродействием, мне пока так нравится, пойду тред почитаю.
>>211078258Ну ответ будет тот же, лол, но блядь Ты реально студент или напиздел? Просто с такими куриными мозгами я хз как тебе учиться будет.
Имея бинарный генератор (монетку) и запустив его n раз, мы имеем 2^n равновероятных последовательностей из 0 и 1, которые он может выдать.Далее, любой возможный алгоритм выбора шлюхи, требующий не более n запусков генератора, каждой такой последовательности сопоставляет одну из трех шлюх. Но поскольку 2^n не делится на 3, никакой алгоритм не будет каждую из шлюх выбирать одинаково часто. НеРеАлЬнЫй генератор невозможен, ни при каком конечном количестве запусков исходного.Разойдитесь уже нахуй.
>>211078279>мне пока так нравитсяМногим адекватам тоже, некоторые гении-любители рандома без рандома правда недовольны, им подавай rand() % 1 == next и всё такое.
>>211078306Так ты объяснить нормально не можешь в чем я не прав,кроме того,что "должна быть независимость, я это в книжке прочел"?Да,реально.
>>211076964Сумма равномерных распределений эквивалентна нормальному, а нам равномерное нужно.>>211075401Есть шанс на работу алгоритма неограниченно долго.>>211073376 (OP)Правильный ответ: хер ты создашь функцию, которая из двоичного множества событий будет выплевывать события в троичное.
>>211078454>Сумма равномерных распределений эквивалентна нормальномуorly>Есть шанс на работу алгоритма неограниченно долго.и чему равен этот шанс?
>>211078454Ну бля, на самом деле раз плюнуть написать linear congruential generator, который будет из 3 рандомить и туда для виду вставить вызов монетки, но это такое, хотя технически это будет верно.>>211078390На самом деле ты, конечно, неправ, но ты слишком долбоёб, чтобы тебе что-то объяснять, ты же не объясняешь стенке что-то, хотя ты ж долбоёб, хуй тебя знает.
Кидаем монетку 3 раза:1 бросок - 1 шлюха;2 бросок - 2 шлюха;3 бросок - 3 шлюха;У которой 1 выпала, выиграла.Если у двух 1 выпала, подкидываем еще раз монетку, но уже без той которая выкинула 0.
>>211078454>Есть шанс на работу алгоритма неограниченно долго.Выброси пластиковую карту, есть шанс, что пароль подберут и спиздят всё.
>>211078485>>211078601>и чему равен этот шанс?Вообще не важно, чему. Главное, что он есть, что противоречит условию задачи.>>211078534Это как решение выше по треду с рандомом без рандома.
>>211078619Кстати внатуре, написать самому функцию rand(), а вот монетку использовать как генератор seed. Всё, решена задача.
>>211078670Черт, я ее внутренностей не помню, чтобы с ходу ответить, будет ли это нормальным решением. Есть легкое подозрение, что от монетки rand начнет генерить хуету, семени-то всего два, значит, и выхлопа будет всего два.Вообще задача-то не про программирование, а про тервер.
>>211078791>будетБудет 100%, помимо того, что это доказуемо, я проверял данные генеренные на такой хуете на всякие тесты на случайность и всё проходило, так вот фишка как раз в том, что мы подкидываем монетку 20 раз и получаем некоторое число большое, которое и будет seed.
>>211073376 (OP)Невозможно написать алгоритм из выбора трех чисел используя одну булеву переменную.А если говорить про бинарное дерево, то труфолс на два труфолса, в первом труфолсе шлюхи 0 и 1, во втором шлюха 2 и возврат в начальный труфолс.Только так.
>>211078791А написать такую хуйню раз плюнуть, нужно только ОСОБЫЕ константы заюзать, вот ссыльhttps://en.wikipedia.org/wiki/Linear_congruential_generatorФормула простейшая, фнизу таблички с разными константами, юзаемыми в разных ЯП. Ну и важно, что нужно брать старшие биты, они более рандомны.
>>211078545Я как бы для этого ОПа и ждал,чтоб он нормально объяснил как это решать,а не всякие ебланы с критикой понабежали.Так то ответы, которые в треде были,мне сразу в голову пришли,просто они мне показались очевидными и я решил оптимизировать.Переписал я rand() % 1, угомонитесь.Я когда переписал,появилась погрешность небольшая в счетчике.Все,я спать.
>>211078985Я уже объяснил постами выше, пишешь linear congruential generator(это одна строчка если че, тупо формулу перепиши), затем подкидываешь монетку скажем 20 раз, получается 10101010010101 какое-то число, его подсовываешь своей залупне как seed и честно генеришь всю залупу.
>>211078670>>211078791>>211078883Бля, я тупой под вечер. Технически неверным оно будет, т.к. ты используешь сторонний генератор. Семя влияет на общий выхлоп за все время работы программы же, а не на конкретный.Ну то есть у тебя будет два списка на выбор, как пиздить тянок. Или двадцать два. Но задача-то не про это.>>211078906Покажи мне, как ты так возводил в степень 1/4, что получил ноль.>>211078973Хороший вопрос, будет ли оно технически верным (нет, скорее всего, шляпа та же, что и в варианте выше).
>>211079081>Семя влияет на общий выхлоп за все время работы программы же, а не на конкретный.Хотя и это от языка зависит, лел. Но если брать набор бинарных значений, то распределение не будет нормальным, т.к. ГСЧ все же псевдорандомный и детерменированный.
>>211079081>Технически неверным оно будет, т.к. ты используешь сторонний генератор. Семя влияет на общий выхлоп за все время работы программы же, а не на конкретный.Почему нельзя генерить семя каждый раз? Ну я уверен, что все тесты на случайность пройдутся. Могу написать в принципе. Сторонний генератор, ну бля, это же реально одна строчка из встроенных операций умножения хуйжения и тд.>>211079175> т.к. ГСЧ все же псевдорандомный и детерменированный.Ну как сказать, монетка то чисто рандомная, а при условии, что мы семя генерим чисто рандомно, то и там всё будет збс по идее, разве нет?
>>211079081>Покажи мне, как ты так возводил в степень 1/4, что получил ноль.возводил неограниченно долго, очевидно же.
>>211079222>псевдослучайныСемя генерится монеткой, монетка случайна, по аналогии как в линупсе шумы компа используются для генерации семени.
>>211079231N бросков монетки даст близкое к нормальному распределение, а в силу детерминированности ГСЧ итоговое распределение не будет равномерным. Собсно, оно тоже будет близким к нормальному.>>211079253А теперь перечитай условие задачи. За бесконечно большое время шанс-то действительно к нулю устремится, только у нас время конечное.
>>211079396>N бросков монетки даст близкое к нормальному распределение, а в силу детерминированности ГСЧ итоговое распределение не будет равномерным. Собсно, оно тоже будет близким к нормальному.Ну хз, по мне так всё равно самый нормальный вариант, к тому же тесты на случайность проходятся им, если бы ты не знал алгоритм ли это сгенерил или нет как бы ты отделил его от случайных шумов и тд, но я понял твои возражения, нет у нас ничего, есть только монетка и ничего другого не принимается. Так как твой ответ? Невозможно? И реролл не катит, да?
>>211079396Алсо раз уж так строго подходим, то как быть с тем, что монетка может ребром упасть, вероятность в несравнимое число раз выше, чем что она 20 раз подряд 00 выкинет.
>>211079599Реролл точно не катит в силу потенциального бесконечного времени выполнения. Если брать сырую задачу, то нет, нельзя. Но мне нравится вариант выше.
>>211079654Очевидно, что монетка идеальная в примере выше. Не надо плодить сущности, может, монетка у него вообще в виде кости д3, хуй знает.>>211079660При чем здесь это?
>>211079764>Очевидно, что монетка идеальная в примере выше. Не надо плодить сущности, может, монетка у него вообще в виде кости д3, хуй знает.>Ну это я так, доебаться ради, идеальная "монетка" с 2 состояниями, понятно.
>>211079392>>211079755Этот. Правда, мне уже трудно понять полностью его работу (тем паче язык незнакомый).
>>211073376 (OP)А в чём проблема написать что-то типа function foo(bool bar) {return(random(range(0,2)))} ?
>>211079764при том что на вход приежает какое-то количество энтропии в виде 2^n возможных вариантов исходов. нужно каждому из вариантов прописать какой-то из трех исходов, с одинаковой вероятностью это сделать нельзя.
>>211080111Что не нравится? Бинарная выборка 0 или 1, в результате каждую пиздили 33.3% раза. Равновероятно, стало быть.
Что вы тут какие-то велосипеды пишите?dd if=/dev/random bs=1c count=1�1+0 записей получено1+0 записей отправлено1 byte copied, 5,7696e-05 s, 17,3 kB/s
>>211079915>>211079392>>211080103Наконец-то нашел джавовскую реализацию фильтра. Ебаный пиздец, анон, чем это лучше переброса?Хотя может и лучше. Вообще со стартовой заданной все действительно очень просто - выбирай между двумя другими. Своей прогой ты фактически стартовую задаешь.>>211080030Я это и написал, когда влетел в тред. Тут половина двачеров от интеграла в обморок упадет, а ты предлагаешь энтропией травить их?
>>211080103Блин, ну я теорвер не сильно знаю, а разве нет никакой проблемы, что вчерашняя шлюха никогда сегодня пизды не получает? Как-то не слишком случайно. Алсо ради интереса можешь проверить свою последовательность на случайность? тУТ НАПРИМЕРhttps://home.ubalt.edu/ntsbarsh/Business-stat/otherapplets/Randomness.htm
Берём n=0, запускаем бинарный рандом, например, 60 раз. Если выпадает единица, то плюсуем к n эту единицу.В конце получаем какое - то n.Если n в промежутке от 0 до 19, то первая.Если с 20 до 39, то вторая.Если с 40 до 59, то третья.Время всегда разумное.
>>211080199да, я хуйню выше написал, в общем судя по тому что ты делаешь, к тебе тот же вопрос что и к js товарищу, случайная величина, это такая странная штуковина, которая может быть настолько случайная, что даже равна два раза сама себе.
>>211080278Бтв, не хотел этого писать, но технически лучшей реализацией будет просто распечатать 123123...123. Никаких сторонних функций, идеальный баланс мордобития, даже монетка не нужна. Наш генератор не обязан быть рандомным по условию.
>>211080342Да, случайная величина - это такая величина, значение которой ты не можешь предсказать на основе предыдущих значений. Да, ты знаешь, какую шлюху сегодня пиздить точно не будут, но какую будут - полностью определяется ГПСЧ.
>>211080531Но бля, ведь может быть так, что одна и та же шлюха получает по ебалу, а по вашему не может.
>>211080467>на основе существующего генератора случайных чисел придумайте алгоритм генерирующий с равной вероятностью одно из трех чисел>алгоритм не обязан быть рандомным.вы, блядь, издеваетесь?
>>211080606Так-то технически не указано, что генератор тоже должен быть генератором случайных чисел. Но это подъебы уровня монеты на ребре.
>>211080314Действительно, у меня условная вероятность, а не безусловная, как по идее должна быть. Но на дистанции она ведет себя как и правильная, сводя вероятности выпадения к равным. Кстати, даже если ты запустишь истинный рандом на малом количестве данным, в худшем случае он выдаст 100/0/0, а мой 50/50/0В конце концов, у нас же НеРеАлЬнЫй ГСЧ
>>211080461Если это просьба, то вроде бы, у нас, сугубо, 60 возможных исходов. На каждую шлюху по 20 исходов. Получается, у каждой шлюхи 1/3.Возможно чёт не так понимаю, если это указание на недочёт, то прошу пояснить.
>>211080693Если ты намекаешь на то, что тут будет в итоге нормальное распределение, то да, ты прав, только что подумал.
>>211080670Скорее шляпа в том, что ты волевым решением пиздишь одну шлюху весьма определенно в начале, еявпп.
>>211080670> Но на дистанции она ведет себя как и правильная, сводя вероятности выпадения к равным.Ну так а чем хуже вариант с генерацией seed монеткой и потом засовывания его в псевдослучайный генератор. Алсо а если решать участвует ли битая шлюха в следующем раунде или нет тоже монеткой? Может кто-то оценить, что получится?
Можно с помощью текущего генератора получать случайные биты и конкатенировать их в три байта, а потом эти байты сравнить, и какой из трёх больше, ту шлюху и пиздить.
>>211080579Это не важно. Для теста на случайность, главное - чтобы отношение числа событий А, Б и С к общему числу событий было одинаковым.
>>211080939Загугли график, как оно выглядит. При сумме нескольких незавивисымых случайных величин итоговая сумма будет чаще к серединнгму значению, чем к крайним.
>>211080805здесь аналогичная ситуация, у вас пространство исходов одинаковое, а вероятностные меры разные. также вы забыли вариант 60 единиц.
>>211080694У тебя составная вероятность, каждое число от 0 до 60 имеет разный шанс выпадения0 - 0.5^60 (все нули)1 - (0.5^60)*60 (одна единица в любом из 60 бросков)и так далеесоответственно, попадание в один из вроде бы одинаковых интервалов будет происходит с разным шансом.Впрочем, если ты разделишь интервалы не равной длинной, а равной вероятностью, что-то может получиться
>>211080984И такой вариант пройдёт тест, да? Даже когда числа ни разу не повторяются? Можешь мне сгенерить 20 чисел из {0, 1, 2} ?
>>211080694Покидай кубик д6 раз десять и запиши результаты.Покидай два кубика д6, сложи результаты и запиши.Если ты играл в настолки, то должен знать, что д6 кидает разные значение непредвзято, а 2д6 тяготеют к 7ке, но не любят выкидывать 2 и 12.Это называется равномерное распределение и нормальное распределение. Первое обозначает, что любое событие имеет одинаковый шанс на наступление (что от нас и требуется), нормальное - что оно тяготеет к средним значениям.Так вот, у них есть любопытная особенность: что-то вроде нормального распределения можно получить суммой равномерных (как в примере с костями), и наоборот - формулами можно выбить из нормального что-то похожее на равномерное. Проблема в том, что это будет именно что "нечто похожее".
>>211080786Так это не в начале, а перед началом, когда их две было.Ну в конце концов мы можем ей компенсировать либо пиздить в понарошку.
Если мы будем подкидыванием монетки решать участвует ли битая шлюха в следующем раунде что изменится?
я прочитал весь тред и даже не понял в чем задача состоит блядь может кто-то сформулировать нормально попробую решитьдизайнер
>>211081220Как я писал, с заданной стартовой величиной пишется изи, но тогда вся генерация детерминирована.
>>211081055Хуй знает. Тебе делать нехуй, вот иди и проверяй на случайность:1, 0, 2, 0, 2, 0, 1, 0, 2, 0, 1, 2, 0, 1, 0, 2, 0, 2, 0, 2, 1, 0, 2, 0, 1, 0, 1, 2, 1, 2, 1, 0, 1, 0, 2, 0, 2, 1, 0, 2, 1, 2, 1, 2, 0, 1, 2, 1, 0, 2, 1, 0, 2, 1, 2, 0, 1, 0, 1, 2, 1, 2, 0, 1, 2, 0, 1, 2, 1, 2, 0, 1, 2, 0, 1, 2, 0, 2, 1, 0, 2, 1, 2, 1, 2, 1, 0, 1, 2, 0, 1, 0, 1, 0, 2, 1, 2, 1, 2, 0, 2, 1, 2, 1, 0, 1, 0, 2, 1, 0, 1, 0, 2, 1, 2, 0, 2, 0, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 1, 2, 0, 1, 2, 0, 2, 1, 2, 0, 1, 2, 1, 2, 0, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 2, 0, 2, 1, 2, 1, 0, 2, 1, 0, 1, 0, 1, 0, 2, 1, 0, 1, 0, 1, 0, 2, 0, 1, 0, 2, 1, 2, 0, 1, 2, 0, 2, 0, 2, 0, 1, 0, 2, 0, 1, 2, 0, 2, 1, 2, 1, 0, 1, 0, 1, 0, 1, 0, 2, 0, 2, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 0, 2, 0, 1, 0, 2, 1, 2, 1, 0, 1, 0, 2, 0, 1, 2, 1, 0, 1, 2, 1, 2, 1, 0, 2, 1, 2, 1, 0, 1, 2, 0, 2, 0, 2, 0, 1, 2, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 2, 1, 2, 1, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 1, 0, 2, 0, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 2, 1, 0, 2, 1, 0, 1, 0, 2, 0, 1, 0, 1, 2, 0, 1, 0, 2, 1, 2, 1, 2, 1, 0, 2, 0, 1, 2, 1, 0, 2, 1, 2, 1, 2, 1, 2, 0, 1, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 1, 2, 1, 2, 0, 1, 0, 1, 0, 2, 0, 2, 1, 2, 0, 1, 0, 2, 0, 2, 1, 2, 0, 1, 0, 2, 1, 0, 1, 0, 1, 2, 0, 2, 1, 2, 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 2, 1, 2, 1, 2, 1, 0, 2, 1, 2, 1, 0, 1, 0, 2, 1, 2, 0, 1, 0, 1, 2, 1, 0, 2, 0, 2, 0, 2, 1, 2, 0, 1, 0, 2, 1, 0, 1, 2, 1, 2, 0, 1, 0, 1, 2, 0, 2, 0, 2, 0, 1, 0, 1, 0, 2, 0, 1, 2, 0, 2, 1, 0, 1, 0, 2, 1, 0, 2, 0, 1, 2, 1, 0, 2, 0, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 2, 0, 2, 1, 0, 2, 0, 2, 1, 2, 0, 2, 1, 0, 1, 2, 1, 2, 1, 2, 0, 1, 2, 0, 2, 1, 2, 1, 2, 0, 1, 0, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 1, 0, 2, 1, 0, 2, 1, 2, 1, 2, 0, 2, 0, 1, 2, 1, 2, 0, 1, 2, 1, 0, 2, 0, 1, 2, 1, 0, 1, 0, 1, 0, 1, 2, 0, 2, 1, 2, 1, 2, 1, 0, 2, 0, 2, 1, 0, 1, 0, 1, 0, 2, 1, 0, 2, 0, 1, 2, 0, 2, 1, 0, 1, 2, 1, 2, 1, 0, 1, 2, 1, 2, 1, 2, 0, 2, 1, 2, 1, 0, 1, 0, 1, 2, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 0, 2, 0, 2, 0, 1, 0, 2, 0, 2, 1, 2, 0, 2, 0, 2, 0, 1, 2, 1, 2, 0, 2, 0, 1, 0, 1, 2, 1, 2, 1, 0, 2, 0, 2, 1, 2, 1, 2, 0, 2, 0, 1, 2, 1, 0, 2, 0, 2, 1, 0, 2, 1, 0, 2, 1, 2, 1, 0, 2, 1, 0, 1, 2, 0, 1, 0, 2, 0, 1, 0, 1, 2, 0, 1, 2, 0, 2, 0, 1, 2, 0, 2, 0, 2, 0, 2, 1, 0, 1, 2, 1, 0, 2, 1, 2, 0, 2, 0, 2, 1, 2, 1, 2, 1, 2, 0, 1, 0, 2, 0, 1, 0, 2, 1, 2, 1, 0, 2, 1, 0, 1, 2, 0, 2, 1, 2, 0, 1, 0, 2, 1, 2, 1, 0, 1, 2, 1, 2, 0, 1, 0, 2, 1, 2, 1, 0, 1, 2, 1, 0, 2, 1, 0, 2, 1, 2, 0, 1, 0, 1, 2, 0, 2, 0, 2, 1, 0, 1, 2, 1, 0, 2, 1, 2, 1, 2, 0, 2, 0, 2, 0, 2, 1, 0, 2, 1, 2, 1, 2, 1, 2, 0, 2, 1, 0, 1, 0, 1, 0, 2, 1, 2, 0, 1, 2, 1, 2, 0, 2, 0, 2, 1, 2, 0, 2, 1, 2, 1, 0, 1, 2, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 2, 0, 1, 0, 1, 2, 1, 2, 0, 1, 0, 1, 2, 0, 1, 2, 1, 2, 0, 1, 2, 1, 2, 0, 2, 1, 2, 0, 1, 2, 1, 0, 2, 0, 1, 2, 1, 0, 1, 2, 1, 2, 0, 2, 1, 0, 2, 1, 2, 0, 2, 1, 0, 2, 0, 1, 2, 1, 2, 1, 2, 0, 1, 2, 1, 0, 1, 0, 1, 2, 1, 0, 1, 2, 0, 1, 2, 0, 2, 1, 0, 1, 2, 1, 0, 2, 1, 2, 1, 0, 2, 0, 2, 0, 1, 0, 2, 1, 2, 1, 0, 1, 2, 1, 0, 2, 1, 2, 1, 2, 1, 0, 1, 2, 1, 2, 0, 2, 0, 1, 2, 0, 1, 0, 1, 0, 1, 2, 0, 1, 0, 2, 0, 1, 2, 0, 2, 0, 1, 2, 0, 1
>>211081268Генератор все еще бинарный, одна шлюха будет лишняя, это тоже монетой решать? Могу прогнать тесты
>>211081458>никак вы что дибилыВот там >>211080006 один rand()%2 (это 0 или 1, если че) на итерацию и в результате одинаковое (относительно) количество инкрементов трех переменных.
Почему нельзя пройтись по шлюхам циклом и вложенным циклом рандомно их меняя местами, а пиздить всегда первую?
>>211077260Он хотя бы пытается выдавать iid. В отличие от твоей херни, которая даже на глаз нихуя не независима. Вообще проверка ГСЧ это нихуя не тривиальная задача, погугли diehard.
>>211081298Ни одной пары, ты издеваешься чтоли? Шлюха точно знает, что если били сегодня, то завтра не будут, это нихуя не норма, блять. С какими дегенератами я на одной доске сижу, господи.
>>211081584Потому что это шаманское программирование, которое третью шлюху клонирует из второй и дает второй по щщам еще раз, чтобы не палевно было.>>211081611Сторонний генератор.
JS-довен снова выходит на связьесли с шансом 50% вернуть битую шлюху в пул (а ту, которую решили пиздить - не пиздить), то вероятности немного сбиваются
Короче, я всё ещё за LCG, там>>211081840>Этот вообще пользуется каким то софтомЧел, я это ещё хуеву тучу постов выше написал.
>>211081803Сторонний генератор что? Я о таком:for a in whoresfor b in whoresIf rnd() swap(a,b)И вот тут пизди первую
>>211077381Кстати говоря, мой преп постоянно называл плюсы крестами.Потому что плюсы он ненавидел люто и считал их именно крестами на могилах нормальных языков.Интересный мужик был. Да и есть, наверное, если окончательно не исчез в своем корпусе, вне которого его никто никогда не видел.
>>211081902А я за вариант с рероллом, тоже пройдет все тесты, а вероятность того, что будет считаться больше секунды меньше вероятности сбоя в ЦПУ от радиации. Такие дела.
>>211081906Ну и посчитай распределение полученное. Третья явно будет меньше пиздюлей получать, ей нужно минимум два свапа для дохода до пиздюлей. Будет смещенным распр..
>>211082009Ну тогда ты дай, ну че те жалко что ле.>>211082019Ну это самый первый ещё вчерашний вариант, тут некоторых не устраивает, что с вероятностью 10охулиард он может 40 раз подряд выпасть и отработать вместо секунды целых 1.05 секунды.
>>211082092>>211082019Неважно, что вероятность мала, важно, что она есть. Нельзя следовать ТЗ "почти целиком" - ты либо следуешь ему, либо не следуешь. Если ты не следуешь, то rand()%3 в помощь.
>>211081668Ну так ебать, если там закономерность, возьми и вычисли N-е значение из любых предыдущих. Вероятность выбора там полностью зависит от качества rand(). Если взять гипотетический генератор абсолютно случайных чисел, ты не сможешь предсказать ни одного элемента, даже первого. Единственное, что ты можешь сказать по выборке, это что N-й элемент никогда не будет равен N-1-му. Этого недостаточно.
>>211081304Тут сложного же ничего нет. Брать данные о количестве пощечин из отсортированной статистики по их раздаче. Из данных замутить корректирующий коэффициент который использовать при подбросе монетки (либо длина выбора по отсортированному ряду шлюх если монетка имеет не бинарный выбор, либо выбор шлюхи по вышеупомянутой сортировке).
>>211082092Можно с помощью текущего генератора получать случайные биты и конкатенировать их в три байта, а потом эти байты сравнить, и какой из трёх больше, ту шлюху и пиздить.
>>211082092Ну тогда только пососать хуй. Любые потуги на переюз чего-то с прошлых попыток тривиально проверяются, берете фиксированную подпоследовательность например 0000 и проверяете, что следующая шлюха будет равновероятна 0 1 или 2. Я хуй знает чому вы все только счетчик проверяете, счетчик проходится генератором 012012012012012012012.
Можете кстати сами чекать, работает в браузере (F12->консоль, только после каждого запуска надо перезагружать страницу)надеюсь разметку не распидораситlet whores=[0,1,2];let beatCounter=[0,0,0];let prevWhore=0;let tries=100000000;for(let i=0;i<tries;i++){ let unbeatedWhores=whores.filter(v=>v!==prevWhore); prevWhore=unbeatedWhores[Math.round(Math.random())]; if(Math.round(Math.random())){//с шансом 50% шлюху, которую решили пиздить, не пиздим, а выбираем из двух оставшихся unbeatedWhores=whores.filter(v=>v!==prevWhore); prevWhore=unbeatedWhores[Math.round(Math.random())]; } beatCounter[prevWhore]++;}beatCounter.map((v,i)=>{ console.log(i,v*100/tries+'%')});
>>211082349Плейсхолдер - это то, что холдит плейс. Затычка. Генератор двочиных чисел для модели реального алгоритма, привязанного к броску монеты, вполне годится.
>>211082204Этот необучаемый совсем. Или 100% детерминизм или полная случайность, промежуточных вариантов у дауна нет.
>>211082283Это от языка зависит. Я имею в виду, что у тебя есть либо 00000001 или 00000000, потом выполняется сдвиг влево и сложение в цикле, пока весь байт не заполнится.
>>211082493Потому что в реальности может быть шлюха, у которой неудачный день и которая будет получать пизды постоянно.
>>211082404Сравниваются не биты, а весь байт забивается рандомными битами, и уже сами байты сравниваются.
>>211082583Вообще-то булевы переменные, если они есть, хранятся в одном бите. Но это не так важно, я успел понять свою ошибку и быстро переформулировал претензию.
>>211082539Ей не надо два свапа, я тебе об этом. В том что решение с перемешиванием шлюх кривое - я не сомневаюсь, но не могу понять почему, а считать лень
>>211082663Ну а байт из чего состоит? Во всяком случае у нас, в царстве x86 это восемь бит. То есть мы вполне может все восемь разрядов байта заполнить случайными битами. И сделать так с тремя разными байтами, а потом их просто сравнить.
Еще вариант делаем три битовых маски с одинаковым количеством включенных бит и делаем им ROL или ROR в зависимости от того как упадет монетка. Пиздим ту которой в начале нулевой бит. Если такой у нескольких бросаем монетку заново.
>>211082648Не отменяет шанса ухода в условно-бесоконечное выполнение.>>211082653А от нас и не требуется точное выполнение в модели. Предполагается, что вместо рандома в реальной реализации будет подброс монетки.>>211082688Если у тебя по шагу сортировки с каждым броском, то у третьей небольшое преимущество за счет первой. Оно на 100+ итерациях смоется, но распределение уже зашкваренным будет.>>211082718Не вижу.>>211082810Да, можем. Проблемы равенства байтов это не отменяет.
>>211082847>Не вижу.Неужели ответ? А то, что мы за одно сравнение два решения принимаем точно никак не портит ничего?
>>211082847> Да, можем. Проблемы равенства байтов это не отменяет.Если два окажутся равны, то выбирается третий. То, что все три окажутся равны - это маловероятно.
https://ideone.com/dykcL2js-дебил вспомнил что есть сервисы по онлайн исполнению кода. Форкайте, тестируйте, всячески показывайте, что js-макака не человек
>>211083044Ох ебать, я чуть сам с собой не начал спорить в треде, потому что в сообщении выше я разом оспариваю и защищаю один и тот же метод. Пойду-ка спать. Ночи, аноны.
>>211082847Короче, я придумал нормальный вариант. Там идёт цикл в три дня. Первый день: сравниваем первая или вторая шлюхи, затем ту, которая выпала, сравниваем с третьей. Второй день: сравниваем первую и третью шлюх, а потом выпавшую сравниваем со второй. Третий день: сравниваем вторую и третью шлюх, а выпавшую шлюху с первой. Вот это сто процентов решение, не будет никаких повторов, и у всех шлюх равные шансы.
>>211083169Полностью поддерживаю. Спокойной ночи, аноны. Если что - ебаните завтра ретред. Лучший тред за последнее время
Если 0 бьем первую шлюхуЕсли 1 бьем вторую шлюхуЕсли в прошлый и позапрошлый были избиты первая и вторая шлюха, то избиваем третьюЕсли в прошлый и позапрошлый была избита только одна из шлюх то в следующий раз бьем одну из двух, которая пизды не получала, а в последующий оставшуюсяИдеальный алгоритм, лучше не будет
>>211082847Ок, давай серьезно, если кинуть монетку n раз и сложить результаты, получим плотность вероятности этой суммы похожую на таковую для нормального распределения.Неужели нет таких трёх целых чисел n, a1, a2, для которых площади под кривой плотности вероятности на участках [0,a1), [a1, a2), [a2, n] были бы равны?
Представляем шлюх в массиве [0,1,2].Шаг цикла:Рандомизируем число.Если 0 - сдвигаем влево шлюх. (нулевая окажется последней справа.Пример: 0,1,2 => 1,2,0)Если 1 - сдвигаем вправо шлюх.(по аналогу 0,1,2 => 2,0,1)Делаем цикл на большое кол-во итераций, после выполнения цикла пиздим шлюху с индексом [0]. (пример - на выходе [1,2,0] => arr[0]=1,Пиздим вторую шлюху.
>>211083366Если выбор N-го варианта зависит от того, какие были предыдущие варианты - это говно, а не случайность. Это уже называется закономерность.
>>211083506Наверное есть, но для этого надо знать теорвер, а мы все тут дебилы, может сразу ответ скажешь?
>>211083544Ни хуя, настоящих рандомайзеров невозможно написать, а закономерность зависящая от случайности != закономерность
>>211083645>закономерность зависящая от случайности != закономерность>закономерность != закономерностьДержи в курсе. Хотя постой. Слышишь, дух Гегеля мимо пролетел? Всё, теперь держи в курсе.
>>211083640Да я тоже программист, в нашем инженерном мирке хватит любого из предложенных алгоритмов для избивания шлюх. Криптографов бы сюда, они бы пояснили
>>211083742Смотри, долбаеб.Ты пиздишь деньги у мамки в кармане.Ты не знаешь дадут ли тебе пизды, так как не знаешь, что мамка обнаружит пропажу. При этом мамка дает тебе пизды в 100% случаем если спалит.Поэтому ты огребаешь случайно.
>>211083784Ну это уже очень близко к результату как минимум. И проблем с временем быть не должно, нет ситуаций, где будет бесконечно по времени считаться.
>>2110837331, 0, 1, 2, 0, 1, 0, 2, 0, 1, 0, 1, 0, 1, 2, 1, 0, 2, 1, 0, 1, 0, 1, 2, 1, 0, 2, 0, 1, 2, 0, 2, 1, 0, 1, 2, 0, 2, 0, 2, 0, 1, 2, 0, 2, 0, 2, 1, 2, 1, 2, 1, 2, 1, 0, 1, 0, 2, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 1, 2, 1, 0, 2, 1, 0, 1, 2, 1, 2, 1, 0, 2, 1, 2, 1, 0, 2, 1, 2, 0, 2, 1, 0, 1, 2, 0, 2, 0, 2, 1, 0, 1, 0, 2, 0, 1, 2, 1, 2, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 1, 2, 0, 2, 0, 2, 0, 1, 0, 2, 0, 2, 0, 1, 2, 1, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 1, 2, 0, 2, 1, 0, 1, 0, 1, 0, 2, 1, 0, 2, 0, 2, 0, 1, 2, 0, 1, 0, 2, 0, 1, 0, 1, 2, 1, 2, 1, 2, 0, 1, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 2, 0, 1, 0, 2, 1, 0, 2, 1, 0, 1, 2, 0, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 1, 2, 1, 0, 1, 0, 2, 1, 2, 0, 1, 0, 2, 0, 2, 1, 2, 0, 2, 1, 0, 2, 0, 2, 0, 1, 2, 1, 0, 1, 0, 2, 1, 0, 2, 0, 2, 1, 0, 2, 1, 2, 1, 0, 2, 1, 0, 1, 2, 1, 0, 1, 2, 0, 1, 0, 1, 0, 2, 0, 1, 2, 0, 2, 0, 1, 2, 1, 0, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 2, 0, 2, 0, 2, 0, 2, 1, 0, 1, 2, 1, 0, 2, 0, 2, 0, 1, 0, 1, 2, 0, 1, 2, 1, 2, 0, 2, 0, 1, 0, 1, 0, 2, 1, 0, 2, 1, 2, 1, 2, 1, 0, 2, 1, 0, 2, 0, 1, 0, 1, 0, 2, 1, 2, 1, 0, 2, 1, 2, 0, 1, 0, 2, 0, 2, 1, 2, 0, 1, 0, 2, 0, 2, 1, 2, 1, 2, 0, 1, 2, 1, 2, 0, 2, 1, 2, 1, 0, 2, 1, 0, 1, 0, 2, 1, 2, 1, 0, 2, 1, 0, 2, 0, 2, 0, 1, 2, 1, 0, 2, 0, 2, 1, 2, 1, 0, 2, 0, 1, 0, 1, 2, 0, 1, 2, 1, 0, 1, 0, 2, 0, 2, 0, 1, 0, 2, 1, 2, 1, 0, 2, 0, 2, 1, 0, 2, 1, 2, 0, 1, 2, 1, 0, 1, 0, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 2, 1, 2, 0, 2, 0, 1, 2, 0, 1, 0, 2, 0, 1, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 1, 2, 1, 0, 1, 0, 2, 0, 1, 2, 0, 1, 0, 1, 0, 1, 2, 1, 0, 2, 1, 2, 1, 0, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 1, 0, 2, 0, 2, 0, 2, 0, 1, 2, 0, 2, 1, 0, 1, 0, 2, 1, 2, 1, 2, 0, 2, 0, 1, 0, 1, 2, 1, 0, 2, 1, 0, 2, 0, 2, 1, 2, 0, 1, 2, 0, 2, 0, 1, 2, 1, 2, 0, 1, 2, 0, 2, 0, 2, 0, 1, 0, 1, 0, 2, 0, 2, 1, 2, 0, 1, 2, 1, 0, 1, 2, 0, 1, 2, 1, 0, 1, 2, 0, 2, 1, 0, 2, 0, 1, 2, 0, 1, 0, 1, 2, 0, 1, 2, 0, 2, 1, 0, 2, 0, 1, 0, 2, 1, 2, 0, 2, 1, 0, 2, 1, 2, 1, 0, 2, 0, 1, 2, 1, 0, 2, 0, 1, 2, 0, 2, 0, 1, 2, 1, 0, 2, 1, 2, 0, 1, 0, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 1, 2, 1, 2, 1, 0, 1, 0, 1, 2, 1, 0, 1, 2, 0, 2, 0, 2, 0, 2, 1, 0, 1, 0, 1, 2, 0, 1, 2, 0, 2, 0, 1, 0, 2, 0, 2, 0, 1, 0, 2, 1, 0, 1, 2, 0, 1, 2, 0, 2, 0, 1, 0, 2, 0, 1, 0, 1, 2, 0, 2, 0, 2, 0, 1, 0, 1, 2, 1, 0, 1, 0, 2, 0, 2, 1, 0, 1, 2, 1, 0, 2, 0, 2, 1, 2, 1, 0, 2, 0, 1, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 1, 0, 2, 0, 2, 1, 0, 2, 0, 2, 1, 2, 0, 2, 0, 2, 1, 0, 2, 0, 1, 2, 0, 1, 2, 1, 2, 1, 2, 0, 1, 2, 0, 1, 0, 2, 0, 2, 1, 0, 2, 1, 2, 1, 0, 1, 0, 1, 2, 0, 2, 1, 0, 2, 0, 1, 0, 2, 0, 1, 2, 1, 0, 1, 0, 1, 2, 0, 1, 2, 1, 0, 1, 2, 1, 2, 1, 0, 2, 0, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1, 2, 0, 2, 0, 2, 1, 0, 1, 2, 1, 0, 1, 0, 1, 2, 1, 2, 0, 2, 0, 1, 0, 2, 0, 1, 2, 1, 0, 1, 0, 1, 0, 2, 0, 1, 0, 1, 0, 2, 0, 2, 1, 0, 2, 1, 2, 1, 2, 0, 2, 1, 0, 2, 0, 1, 0, 2, 0, 2, 0, 2, 0, 1, 0, 1, 2, 1, 0, 1, 0, 1, 2, 0, 2, 0, 1, 2, 0, 2, 1, 2, 1, 0, 2, 0, 1, 0, 2, 0, 2, 0, 1, 2, 0, 1, 0, 2, 0, 1, 2, 1, 0, 2, 0, 2, 0, 2, 1, 0, 2, 1, 2, 1, 2, 0, 2, 1, 2, 1, 2, 0, 1, 0, 1, 0, 1
>>211073376 (OP)>>211074363>>211076174Невозможно составить алгоритм который который бы всегда за одно и тоже время выдавал бы какую шлюху сейчас бить.Объясняю.Сколько бы раз мы не ролили единицы и нули, но количество возможных равновероятных исходов будет четным, из-за чего нам придется или перебрасывать или одна из шлюх будет бита чуть чаще остальных.1 ГРЧ(здесь и далее генератор рандомных чисел): 2^1=2: 0/1;2 ГРЧ: 2^2=4: 00/01/10/11;3 ГРЧ: 2^3=8: 000/001/010/011/100/101/110/111;4 ГРЧ: 2^4=16 ;5 ГРЧ: 2^5=32 ;6 ГРЧ: 2^6=64 ;Дальнейшие степени двойки можете проверить на калькуляторе.
>>211083506Нет, количество всех результатов всегда будет 2^n, что не делится на 3 => мы не можем разделить интервал на 3 одинаковых по вероятностям
>>211073376 (OP)Еще одна очевидная "разновидность реролла". В данном случае просто равномерно смещается повышенная вероятность выпора одной из шлюх с течением времени между тремя шлюхами. Для работы алгоритма нужно запоминание предыдущего состояния.
>>211083989Сдвигаю я на один влево или вправо, в зависимости от rand()%2. Если число итераций во вложенном цикле const, то тащемта разницы никакой не будет.
>>211078356Ну хоть кто-то понимает на базовом уровне вероятности. А то раскудахтались тут, выдумали суммы и диапазоны, даже не задумавшись, а будет ли каждый из этих диапазонов выпадать с вероятностью 1/3.
>>211078454> Сумма равномерных распределений эквивалентна нормальному, а нам равномерное нужно.Только в пределе.
>>211080103Какого хрена у тебя события не независимые? То, что вчера какой-то девке надрали жопу, не должно влиять на вероятность её избития сегодня. Каждый день для каждой это должно быть 1/3.
>>211084531меня в этой задаче всегда интересовало можно ли такой генератор сделать без потери энтропии
>>211084566Ты слишком отклонился от практической задачи. Вероятности этот алгоритм дает хорошие, шлюхи будут биты примерно равномерно, так у них еще и будет день на перекур. Моя вина только в том, что я их пощадил
>>211084273С точной вероятностью 1/3 не выпадет ничто во вселенной. Но такой результат достаточно близок, чтобы до букв не доебываться:a = 33330169, b = 33331950, c = 33337881, total = 100000000
>>211084751С чистой вероятностью 1/3 много чего выпадает во вселенной, например мой хуй выпадает из одной из дырок твоей мамаши
>>211074363Что значит равную вероятность? Чтобы за 3 иттерации разпиздюливания все 3 шлюхи получили свое? Или что? С точки зрения теории вероятности, у них у всех равновероятные события изначально, но при этом никто не исключает повторения одного и того же события несколько раз подряд. В чем вопрос то бля? Хуйня снова какая-то про задачки, которые решают японские дети.
>>211085412Что если ты посчитаешь для каждой из шлюх вероятность быть ударенной в любой день, то там будет 1/3.
>>211085542Нет. Это значит, что из N опиздюливаний, каждая шлюха должна быть отпизжена N/3 раза. При этом не должно быть возможности узнать, кто будет отпизжен сегодня, имея список отпизженных за все предыдущее время.
>>211085542И что блять? Я и написал об этом, когда равновероятные события упоминал. Нахуя ты написал мне это? В чем смысл?
>>211085682У тебя каждая шлюха за 4 дня была отпизжена по 4/3 раза, шиз? Про независимость от предыдущих экспериментов правда, но это вообще и в моей формулировке тоже закладывалось.>>211085711Ты не то пишешь, дорогуша. 3 итерации это вообще не туда, а >у них у всех равновероятные события изначально - это-то все хорошо, только эта вероятность должна продолжать оставаться одинаковой всегда.
>>211085769В задаче речь не о вероятности 1/3, а о том, как обеспечить вероятность, близкую к 1/3 из двоичного зерна.
>>211085682Блять, как аллах велит, так и будет. Какой смысл ударяться в вероятность, чтобы подкручивать ее? А еще более не понятно то, если надо подкрутить, то почему бы не воспользоваться т.н списком отпизженных? Короче, хуйня очередная для инфоповода. Саги
>>211085886Да, причем не используя очевидное rand()%3, а максимум rand()%2. Выше тебе за щеку накидали примеров, которые генерят непрогнозируемый ряд с вероятностью каждого элемента в 33.33%, что можно считать равновероятным.
>>211086110Здесь не имеет значения число итераций, потому что имея двоичный ролл, троичный с истинной 1/3 получить невозможно.
>>211086235Я понимаю, что написал int whore_rand (bool seed), возвращающую с равной вероятностью [0,1,2], причем ты не можешь предсказать очередное значение, имея предыдущие значения сколь угодно большой длины. Это определение генератора псевдослучайных чисел, а ты - хуй.
>>211086559Ты сам же говоришь, что ты написал псевдослучайный генератор, а в задаче просят истинный случайный генератор, который ты не напишешь никогда, блядь.
>>211086694Ты наркоман, штоле, сука? У нас вселенная детерменированная. Кокие нахуй истинные генераторы случайных чисел?
>>211086721Ок, третья только пришла работать, так что одна из двух уже была опиздюлина ранее. Вот её и вычитай.
>>211086772Эта задача теоретическая, шиз, в реальности-то ты даже из двух шлюх одну выбрать случайно не сможешь. В этом-то и ее прикол, а не "написать псевдослучайный генератор ака спиздить рандом из любого языка ооыаоыаоыа".
function getRandomInt(max) { return Math.floor(Math.random() * Math.floor(max));}getRandomInt(3);Пошёл на хуй.
>>211086885А теперь глаз в жопе разуй и сделай равновероятный выбор из трех шлюх с помощью getRandom(2);
>>211086814Я так и сделол. Отпиздил шлюху и отправил домой, чтобы разбитым ебалом клиентов не распугивала. Завтра пизжу одну из двух, подбрасывая монетку, отпизженную отправляю домой, а на ее место приходит отпизженная накануне.
>>211086945Мальчик, иди нахуй выше в тред и посмотри, как это делают профессиональные дяди программисты. Это тебе не петон за неделю освоить.
Роллю три раза, получаю комбинацию из трёх бинарных цифр, представляю как десятичное число, 0,1 -- нулевая шлюха, 2,3 -- первая, 4-5 -- вторая. Для любого нечётного N шлюх делаю так же. Результат гарантирован, вероятность одинаковая.
>>211087067Роллить можно только один раз из [0, 1] и из полученного делать выбор, какую сегодня пиздить. Чтобы всегда все были отпизженны равное количество раз.Блядь, да с rand()%3 в вариациях и ромка прыгун решит.
>>211087149Где конкретно в задаче сказано про один раз? Мой алгоритм это не rand()%3, хз где ты это увидел.
>>211087038Соси хуй, животное.uint32_t V8::Random() { static uint32_t a = 0; static uint32_t b = 0; if (a == 0) a = random(); if (b == 0) b = random(); a = 36969 (a & 0xFFFF) + (a >> 16); b = 18273 (b & 0xFFFF) + (b >> 16); return (a << 16) + (b & 0xFFFF);}
>>211087280Какие тебе, нахуй, пруфы? В условиях задачи дано, что выбор бинарный. Т.е. ты монетку ОДИН раз подбрасываешь и по результату решаешь, какую из ТРЕХ шлюх отпиздить.
>>211087428>Где ты там нашел что всего 1 ролл?Ну так это он и есть - БИНАРНЫЙ, БЛЯДЬ, ГЕНЕРАТОР. Один ролл из джвух вариантов.
>>211076174твои три наркоманских условия да ещё с несколькими операциями это дополнительное процессорное время
>>211087499Ну так ролль тогда, пока не нароллишь в двоичном коде jpeg, на котором изображен листок бумаги, на котором написано имя шлюхи, которую сегодня отпиздить.
>>211087274Что это блять за высер?Допустим random() (если я правильно понимаю, что эта функция возвращает 0 или 1) два раза вернула 0.То есть а = 0 и б = 0.Тогда в пятой строчке а станет равно 0, потом б = 0.А вернётся 0а = 0, б = 1а = 0, б = 18273вернёт 0x4761а = 1, б = 0а = 36969, б = 0вернёт 0x90690000а = 1, б = 1а = 36969, б = 18273вернёт 0x90694761Хуета в общем или объясняй как оно работает
>>211074363Делаем 3 броска на каждую из женщин, по очереди. Если выпадает 1 на одной из них, а нули на других, то пиздим её.Если выпадает что-то другое, то повторяем алгоритм. Вроде не очень сложно, в чём подводные?
>>211073376 (OP)На каждую из подруг 10 раз запускаешь генератор, у кого сумма по десяти разам выше та и получает по щам.
>>211078279Эта хуйня работает, только что проверил.За 100000 итераций первая шлюха получила по еблу 33169 развторая 33233Третья 33598