random. Генерация псевдослучайных чисел на компьютере

Ғылым және технология

Описывается линейный конгруэнтный метод генерации псевдослучайных чисел. Это один из самых популярных методов, используемых в компьютерах.
Моя группа ВКонтакте electronics_nn
Выражаю благодарность тем, кто поддерживает меня финансами.
Реквизиты для финансовой поддержки можно найти в
/ foo52ru

Пікірлер: 253

  • @user-lv8et4lx5k
    @user-lv8et4lx5k5 жыл бұрын

    Я до сих пор жду продолжение искусственной жизни.

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    Я частично написал код второго мира, реализована только часть задуманных команд, но уже можно запускать и смотреть на бегающих ботов. Но это отбирает слишком много времени, пока забросил. Виноват. Всё собираюсь дописать, но другие идеи покоя не дают. Обещаю исправиться.

  • @mihail_redov

    @mihail_redov

    5 жыл бұрын

    Богдан, ты ни один) Хотя я уже начал забывать об этом)

  • @PetroBabii

    @PetroBabii

    5 жыл бұрын

    спасибо што читаеш и отвичаеш жду делай на славу

  • @vladislavunderoak4323

    @vladislavunderoak4323

    5 жыл бұрын

    @@foo52ru, спасибо, что делишься с нами такой увлекательной информацией.

  • @TEENASPECT

    @TEENASPECT

    5 жыл бұрын

    @@foo52ru а тема с клеточными автоматами по типу life не привлекает?

  • @DevilByte
    @DevilByte4 жыл бұрын

    Классный урок, очень доступное объяснение, понятно что криптография - это очень емкая тема, но нужно уметь говорить просто о сложно что и делает автор! Спасибо

  • @user-yi2id1zg7r
    @user-yi2id1zg7r5 жыл бұрын

    У вас очень интересные ролики, пожалуйста снимайте их почаще! Лайк, подписка само собой.

  • @MsTim159
    @MsTim1595 жыл бұрын

    Все круто, у вас очень годный ламповый контент👍

  • @milovidov42
    @milovidov424 жыл бұрын

    Спасибо вам за видео, всегда очень интересно и все понятно объясняете!

  • @SerGsHobby
    @SerGsHobby5 жыл бұрын

    Спасибо за старания, весьма интересно!

  • @Ponywka
    @Ponywka4 жыл бұрын

    08:17 "Если в интернете не врут, то сейчас мне должны лайки ставить" Орнул в голос и поставил лайк

  • @axionet_dev

    @axionet_dev

    3 жыл бұрын

    Я поставил лайк и сразу же у слищел об этом.

  • @toms_ekb

    @toms_ekb

    3 жыл бұрын

    А я ещё вначале ролика заметил среди мелькающих цифр слово "ШОК!". Даже ткнул паузу, и нашёл этот кадр, чтобы убедиться, что не показалось. Поэтому в конце ролика совсем не удивился, когда среди мелькающих цифр увидел повторяющиеся "LIKE", "LIKE", "LIKE" :)

  • @user-bh6og9dz9z
    @user-bh6og9dz9z5 жыл бұрын

    очень рады видеть. Как же я жду продолжение искусственной жизни....

  • @tistaliv1491
    @tistaliv14915 жыл бұрын

    Последние видосы топ, удачи)))))

  • @true_xander
    @true_xander5 жыл бұрын

    Мегакрутой канал, респект автору!

  • @zealot4325
    @zealot43254 жыл бұрын

    Большое спасибо за ваши видео

  • @MrRoman238
    @MrRoman2384 жыл бұрын

    Ну а я точно знаю, что может генерировать поток лайков и подписку на канал - твой годный контент. Спасибо большое, очень интересно.:)

  • @gagogoga794
    @gagogoga7943 жыл бұрын

    Делаешь уникальный контент, продолжай!

  • @DannyPhantom288
    @DannyPhantom2883 жыл бұрын

    Спасибо за видео очень интересно и полезно

  • @portal2x2
    @portal2x25 жыл бұрын

    Просто и понятно, как и сам алгоритм. Жаль тема не была продолжена для ГСЧ и выше.

  • @user-sm6kf6qi7u
    @user-sm6kf6qi7u2 жыл бұрын

    Огромное спасибо, очень полезно.

  • @DannyPhantom288
    @DannyPhantom2883 жыл бұрын

    Качественно и интересно супер спасибо класс

  • @user-ze7zt1jp7h
    @user-ze7zt1jp7h5 жыл бұрын

    Это было мозгосшибательно но суть уловил струдом ) Спасибо) хотелось бы продолжение с подводной лодкой, даёшь 20 тыс. лье под водой)

  • @user-lp1is2zq9n
    @user-lp1is2zq9n5 жыл бұрын

    Спасибо за подробные разъяснения! Теперь имею представление, что не всё, что называется рандомом в программировании, рандомно

  • @xakkep9000
    @xakkep90005 жыл бұрын

    объяснил всё как бог

  • @DannyPhantom288
    @DannyPhantom2883 жыл бұрын

    Отличное качество видео супер класс

  • @olegafryka9873
    @olegafryka98734 жыл бұрын

    Спасибо, интересно...

  • @Muchcap
    @Muchcap5 жыл бұрын

    Годно

  • @sheesh1337
    @sheesh13374 жыл бұрын

    очень круто!

  • @OleksandrDanylchenko2k
    @OleksandrDanylchenko2k5 жыл бұрын

    Очень интересно и поняио

  • @user-in4mf3uo9n
    @user-in4mf3uo9n3 жыл бұрын

    6:15 как все просто оказывается. вот спасибо два слова и я прозрел, как после прочтения энциклопедии)

  • @vrotmnenogi21
    @vrotmnenogi214 жыл бұрын

    божественно

  • @user-bc8pr5up2r
    @user-bc8pr5up2r5 жыл бұрын

    спасибо! и отдельное спасибо тому маньяку.

  • @user-zl4lh4mx3c
    @user-zl4lh4mx3c5 жыл бұрын

    Интересное видео😀. Сделай пожалуйста визуализацию гспч

  • @PimezonRu
    @PimezonRu4 жыл бұрын

    В интернете не врут! Как раз в этот момент лайк ставил))

  • @Twenti_dinamit
    @Twenti_dinamit2 жыл бұрын

    Вы гениус

  • @andsoon87
    @andsoon874 жыл бұрын

    Класс

  • @DeaD_SteeL
    @DeaD_SteeL5 жыл бұрын

    Как говорила одна черепаха: "Случайности не случаны!"...

  • @unex6859

    @unex6859

    5 жыл бұрын

    Альберт Тлюкабиров этой черепахой был Альберт Энштейн

  • @Zeding_Stuff

    @Zeding_Stuff

    4 жыл бұрын

    @@unex6859 кстати да, Энштейн рили был детерминистом и срался в переписке с Бором и Планком по поводу абсолютных случайностей в квантовой физике. Как выяснилось, Энтшейн был не прав и, например, период полураспада ядер урана абсолютно ни от чего не зависит. Он просто происходит сам по себе. Абсолютная случайность.

  • @testman1865

    @testman1865

    4 жыл бұрын

    И правильно срался :) Случайность - это событие без причины. То, что мы не в состоянии детерминировать квантовый мирок, не означает, что там всё происходит беспричинно.

  • @Zeding_Stuff

    @Zeding_Stuff

    4 жыл бұрын

    ​@@testman1865 ну, круто. Энивей каждый останется при своём мнении. Я тоже хотел бы, чтобы всё происходило из-за причинно-следственных связей, но, увы, это не так. Законы макро-мира не работают в микро-мире. Однако, если двигаться ещё глубже, то всё, что происходит в макро-мире основывается на событиях микро-мира. Любой физический закон всегда несет в себе вероятностный характер. Даже F=ma в теории может не произойти. В теории даже все молекулы твоей комнаты могут банально сжаться в одной точке и ты просто задохнешься, но этого никогда произойдет как минимум за всё время существования нашей вселенной. Просто потому что вероятность всех этих событий стремится к нулю. Там реально вероятность где-то 10^(-26), может еще меньше, не помню. Иными словами, физические законы нашего макроскопического мира работают только потому, что все микроскопические штуки случайно происходят, но при этом происходят с бесконечно большой вероятностью, как я уже упоминал про воздух. Подробнее об этом писал, кажется, Мякишев в учебнике физики за 10 класс, стр 265, второй закон термодинамики. А вообще, касательно случайностей, я советую к просмотру небольшую вырезку из лекций Александра Чирцова, кандидата физ.мат наук про случайности в квантовой физике: kzread.info/dash/bejne/p3hoy9yudLC7gaQ.html Там всё довольно понятно. На самом-то деле я также как и вы считал, что весь наш мир детерминирован. Но просто нужно принять то, что в мире существуют абсолютно случайные события.

  • @testman1865

    @testman1865

    4 жыл бұрын

    @@Zeding_Stuff При помощи математики возможно описать всё реальное, и не реальное. Точно так же, как при помощи слов. То, что физика упёрлась в невозможность практически детерминировать события микро-мира, и приходиться использовать инструменты вероятности, не означает, что события происходят там случайным образом. Очень тонкая уловка, в которую многие, увы, попадают.

  • @maxim1181
    @maxim11815 жыл бұрын

    Чувак,я нихрена не понял что ты сказал ! Но ты мне близок,ты заговорил и достучался до сердца...!

  • @zhivoder915
    @zhivoder9154 жыл бұрын

    Может это и имелось в виду под выражением "Случайности не случайны" ?=))

  • @ahtartam
    @ahtartam5 жыл бұрын

    Навёл мышку на лайк, не успел нажать, а ты сказал "сейчас мне должны лайки ставить". ))) Нажал.))

  • @user-se2gf7em6d
    @user-se2gf7em6d5 жыл бұрын

    на сколько я знаю для генерации случайных чисел в ЭВМ СССР использовали шумящий p-n переход

  • @dragnair2955
    @dragnair29555 жыл бұрын

    Тебя замечательно смотреть на 1.5 скорости. Была бы дикция как у журналиста, можно было бы даже х2 Тема знакомая, даже очень, но интересно узнать про "крипто-стойкие" генераторы.

  • @user-lo5sh4ss6o

    @user-lo5sh4ss6o

    Жыл бұрын

    уже собрали все что можно...

  • @Dyas777
    @Dyas7775 жыл бұрын

    Я помню в своё время очень удивился, когда в универе нашёл толстенную книгу Кнута, посвящённую ГСПЧ. Не понимал тогда почему эта тема так важна.

  • @pihva2828

    @pihva2828

    5 жыл бұрын

    Dyas Dark все еще не понимаю 🤔

  • @BlYur
    @BlYur5 жыл бұрын

    В микроконтроллере AVR можно наловить случайных чисел с пустого пина порта, настроенного на вход без подтяжки, его значение будет метаться. между 1 и 0 в зависимости от помехи.

  • @suifutors

    @suifutors

    5 жыл бұрын

    Помехи тоже не случайны.

  • @47syorha52

    @47syorha52

    4 жыл бұрын

    @@suifutors Да, но они труднопредсказуемы

  • @alexandersmolyakov1886
    @alexandersmolyakov18865 жыл бұрын

    В интернете врут, но лайк поставил

  • @ahtartam

    @ahtartam

    5 жыл бұрын

    А я поставил лайк, а через долю секунды услышал про "лайки ставить". Улыбнуло. ))

  • @Fastereus
    @Fastereus5 жыл бұрын

    Автор , этот алгоритм иназывается "псевдо случайным", его проблема в размерности так называемой SEED , то есть разрядностью этого счетчика , если бы разрядность была бесконечна то и алгоритм бы работал без повторов но у вы в первом вшем примере на равна Int 32 бита , в втором char 8 бит вот от туда и повторы, можно этот алгоритм серьезно улучшить , в качестве SEED (srand команда) использовать прямо независящие параметры привысокой разрядности числа например 64 бита , например секунды с запуска в степени загруки процессаора корень текущая мили секунда + счетчик... и так далее тогда эта функция будет работат , я делал рандом генератор который в приделах int64 не повторялся не в одном из int64 запусков ... но отдельные короткие последовательности иногда в 4 многда в 6 чисел в последовательности имели повтор, меня в общем то удовлетварила такая реализация (для рандомногогереатора ключей в алгоритме шифрования RSA использовал) вообще в криптографических процессорах используется аппаратный генератор белого шума для получения тогосамогоинициализирующего значения , причем как парвило не с одного канала, я както тестировал по пояс китайскую микруху ставил их 8 в ряд сливал все данны ена комп ипытался найтикак в нутри так и между каждй совпадения , в общем вылазило межмикрухами 1 в несколько миллиардов и причем не разу в одних итех же ... а естьвесьма серьёзные микросхемы ...

  • @YaShoom

    @YaShoom

    5 жыл бұрын

    +Fastereus в качестве ЗЕРНА.

  • @portal2x2

    @portal2x2

    5 жыл бұрын

    Так в видео об этом сказано. Что вообще ждать от ГПСЧ?

  • @Ma_X64

    @Ma_X64

    3 жыл бұрын

    Расово верный рандом должен давать еще расово верное распределение.

  • @user-kl2wj5rt9t
    @user-kl2wj5rt9t5 жыл бұрын

    Насколько помню из юности, *случайность* определяется вероятностью выпадения одинаковых комбинций в битовом потоке. Для белого шума равномерно падает в завимости от числа бит. Т.е чем болше бит в комбинации тем ниже их вероятность. По окончании цикла (разрядность) все повторятся, но другой задачи в этих функциях и не ставилось.

  • @yuryrabyshko4837
    @yuryrabyshko48373 жыл бұрын

    Для проверки случайности на случайность существует автокорреляционная функция. Мы ее использовали для обнаружения цели на фоне коррелированных и псевдослучайных помех.

  • @heroesgoadmin6582
    @heroesgoadmin6582 Жыл бұрын

    Афигеть!!!! Так вот как это решается... 1. Никак раньше не мог понять программу на ассемблере кр58080вм (вектор 06ц)как в двоичной система производилось деление. 2. Незнал как сгенерировать случайные числа в заданном диапазоне, да так чтобы числа не повторялись, а перебрались полностью.... афигеть. (Пример заполнение (прорисовка) картинки пикселями в случайном порядке)

  • @user-kw7cr6ij1o
    @user-kw7cr6ij1o8 ай бұрын

    Можно на дату и время завязаться тогда в каждую новую секунду будет уникальная последовательность. Но всё же можно предсказать и её

  • @user-tj3xm3lc5w
    @user-tj3xm3lc5w5 жыл бұрын

    Я школьником ещё на Spectrum'e пробовал, чтобы компьютер "сам" писал музыку. С помощью RND, задавалась высота, продолжительность звука и паузы между ними. После недолгой отладки (на бейсике всё разумеется) программа успешно работала. Но мелодией это не являлось. Иногда что-то угадывалось, не более. Но, блин, тогда это было интересно.

  • @LoLSURPRAISE
    @LoLSURPRAISE4 жыл бұрын

    x(n)=1-2*x*(n-1)^2 вот быстрый алгоритм. последовательность зависит только от х(0), хЄ(-1,1) если описать его быстрее в виде группы преобразований: mul x,x mul x,-2 inc x

  • @LoLSURPRAISE

    @LoLSURPRAISE

    4 жыл бұрын

    хороший быстрый рандом, быстрее чем вызов рандом функции встроенной

  • @user-yy7bq1zx8r

    @user-yy7bq1zx8r

    4 жыл бұрын

    Может это глупый вопрос, но откуда брать х?

  • @nakidai

    @nakidai

    Жыл бұрын

    @@user-yy7bq1zx8r 1

  • @TEENASPECT
    @TEENASPECT5 жыл бұрын

    Потому аналог - наше всё)) в мк тяну постоянно данные с АЦП если нужна более корректная случайность)

  • @N0wsan

    @N0wsan

    5 жыл бұрын

    Слушай, а наводки от сети 50 Гц не влияют разве?

  • @user-zb5pr4wv8d
    @user-zb5pr4wv8d5 жыл бұрын

    Всякий, кто питает слабость к арифметическим методам получения случайных чисел, грешен вне всяких сомнений. (Джон фон Нейман)

  • @47syorha52

    @47syorha52

    5 жыл бұрын

    Привет.

  • @generalpashon

    @generalpashon

    4 жыл бұрын

    Привет.

  • @AV4444

    @AV4444

    4 жыл бұрын

    Привет.

  • @dimazahaiko1803

    @dimazahaiko1803

    4 жыл бұрын

    Привет.

  • @ponny256

    @ponny256

    4 жыл бұрын

    Привет.

  • @UFO26
    @UFO264 жыл бұрын

    Михаил, здравствуйте. А если при создании своего генератора, при генерации нового числа, создать указатель *ptr на последнее случайное число например? Далее, в return генератора пишем: return ptr++; таким образом указатель укажет на следующую ячейку памяти в которой уже другое число. И так при каждом вызове генератора.

  • @user-du8rw6tb6r
    @user-du8rw6tb6r5 жыл бұрын

    В том примере, который ты показал на 3.40, повторение последовательности связано с тем, что последняя цифра была 0, так ведь?

  • @user-do1qn1io3r
    @user-do1qn1io3r Жыл бұрын

    Здравствуйте! Что за музыка играет в ролике?

  • @user-iy9lb5jk6b
    @user-iy9lb5jk6b5 жыл бұрын

    Блин какой умный мужик. Походу он бога скоро подвинет) а че, жизнь и естественный отбор он уже создал и смоделировал

  • @Ma_X64
    @Ma_X643 жыл бұрын

    В MCU делал случайные числа, основываясь либо на шуме АЦП, либо на компараторе, к которому подключен резистор примерно в мегаом и два куска провода в качестве антенны. На компараторе мне больше понравилось -- реально полная белиберда получается. Плохо только, что это всего один бит, и приходится генерацию во времени размазывать, собирая биты. Конечно, для шифрования такой рандом не подойдет.

  • @maximka5868
    @maximka58684 жыл бұрын

    0:13 там вместе с числами появилось слово ШОК! и еще разные появляются

  • @foo52ru

    @foo52ru

    4 жыл бұрын

    это 25 кадр. Откуда вы думаете у меня столько подписчиков?

  • @zmei7mei642

    @zmei7mei642

    4 жыл бұрын

    @@foo52ru вот и новая тема для следующего видео, работает ли 25 кадр.

  • @NewStoryline

    @NewStoryline

    3 жыл бұрын

    и ещё на 0:16 есть и т.д.

  • @nonamefaceoff6076
    @nonamefaceoff60763 жыл бұрын

    😘

  • @user-ws6je9vj2i
    @user-ws6je9vj2i9 ай бұрын

    Добрый вечер подскажи пожалуйста если что то знаешь. Есть генератор случайных чисел в Гугле там может быть такое что что энное количество чисел может повторятся через несколько ходов по заводским настройкам.

  • @logionthecreator864
    @logionthecreator8645 жыл бұрын

    может брать результат первой генерации и заменять на какую либо константу и потом снова брать результат и снова подставлять? Так можно или да?

  • @ivanek333
    @ivanek3334 жыл бұрын

    Думал что пришёл посмотреть как работает функция рандом, а оказалось что я пришёл на математику)

  • @Andymit

    @Andymit

    3 жыл бұрын

    так шо ты хотел?) думал, что компьютер кости бросает, чтобы случайное число получить?)

  • @tistaliv1491
    @tistaliv14915 жыл бұрын

    Привет, хотел спросить в c++11 появился рандом mt19937, можешь рассказать про этот алгоритм?

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    Если буду для себя разбирать другие алгоритмы, то возможно сделаю видео. Данный ролик получился спонтанно, после спора. Решил проверить на практике, повторяется ли последовательность, стал копать глубже, так всё это и вылилось в ролик. Видел другие алгоритмы, но пока их не разбирал.

  • @zmei7mei642
    @zmei7mei6424 жыл бұрын

    Научу машину, "Настоящей случайность", я так пароли себе делаю, главное в блокноте делать, чтобы знать. Закрываешь глаза 10 раз крутишься, хаотично и беспорядочно жмёшь накнопки. Можно провести опыт, что бы узнать повторяется ли результат. Надо всего лишь 2^32х10 раз покрутится.

  • @lidanit0191

    @lidanit0191

    Жыл бұрын

    Как успехи?

  • @4arliEdinorog
    @4arliEdinorog4 жыл бұрын

    Возможно сделать не псевдослучайные последовательности используя математику?.. т.е. с криптографической стойкостью или типа того.

  • @user-ix7hi6iz5n
    @user-ix7hi6iz5n4 жыл бұрын

    Моя дипломка по этои теме. Посоветуйте что нибудь...

  • @zcbesaba
    @zcbesaba5 жыл бұрын

    а если написать генетический алгоритм на OpenCL вместо случайных чисел использовать то, который поток карта взяла на выполнение первым, и вообще интересно запускать такие миры без графической оболочки, как бы это странно не звучало, на GPU

  • @cheloviek1
    @cheloviek1 Жыл бұрын

    Можно ли сгенерировать случайное число?

  • @enderbeat8878
    @enderbeat88785 жыл бұрын

    1:40 ха, 228, ржомба бомба, прикол работает

  • @vovkarass
    @vovkarass4 жыл бұрын

    давай следующий ролик про дискретное логорифмирование или про элептические кривые на конечных полях или про sha2 шифрование. Что нибудь на тему биткоина?

  • @xnei4166
    @xnei41664 жыл бұрын

    Прошу! Скиньте музыку из видео

  • @user-hv3tn2rf9g
    @user-hv3tn2rf9g4 жыл бұрын

    Хмм, а возможно ли брать случайное число из белого шума (аналового)

  • @heroesgoadmin6582
    @heroesgoadmin6582 Жыл бұрын

    Афигеть автор, ты гений!!! Есть в России люди с мозгами!!! Дайте им дорогу !!!

  • @user-lo6hg3np8s

    @user-lo6hg3np8s

    Жыл бұрын

    уже дали, на фронт.

  • @alexagordn
    @alexagordn4 жыл бұрын

    А можно как то предугадать когда нужный предмет появится в том месте где нужно? Количество вариаций предмета известно. Количество мест тоже известно. Сами предметы сменяют свои места каждый день рандомно

  • @AS-uu9uh
    @AS-uu9uh3 жыл бұрын

    Слушай а вот от 1 до 20 шаг повтора должен быть мелкий да?

  • @buryatiazk282
    @buryatiazk2823 жыл бұрын

    Гсч кастлот говорят не получается сделать обход. И наипать людей

  • @user-uk4ww6ln7q
    @user-uk4ww6ln7q Жыл бұрын

    А как на счет настоящего рандома? Придумать как его создать.. например на основе какого нибудь аналогового датчика шумящего

  • @trvru
    @trvru4 жыл бұрын

    тоесть нужно сбивать ему последовательность раз в N ходов ? прошло N ходов и меняем алгоритм ?

  • @danillatyshev3855
    @danillatyshev38555 жыл бұрын

    Пожалуйста, где мне найти этот минус, играющий на фоне??? Очень прошу

  • @mixailkarpov7898
    @mixailkarpov78985 жыл бұрын

    А если a, c, m занести случайным образом в массив от 1 до 256 и их последовательно брать? Наверное это сильно рандомизирует полученные результаты.

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    Последовательность, выдаваемая алгоритмом из ролика проходит тесты на случайность, вряд ли они станут более "случайные". Но период, до начало повторения, наверно, резко возрастёт. Если есть необходимость в большом периоде, то, возможно, это имеет смысл. Я не математик, возможно ошибаюсь.

  • @arslanarslan4823
    @arslanarslan48232 жыл бұрын

    Доброго времени суток! Как с вами связаться??

  • @pchelavefire
    @pchelavefire3 жыл бұрын

    очень круто! Жаль что обычному человеку, далекому от программирования ничего не понятно. А можно тоже самое, но с "примеркой" к конкретным фактам из жизни, где это можно эффективно применить, владея подобными знаниями? Ну например лотерея, игры, или еще где-то....

  • @user-tp9re7fg3j
    @user-tp9re7fg3j Жыл бұрын

    Рондомное повторение на повторение в безконечность, они будут повторяться постоянно система закрыта, она конечна и дублируется постоянно, есть код возможно искусственная симуляция!

  • @igorgrischenko6518
    @igorgrischenko65185 жыл бұрын

    Пересмотрел видео второй раз. Немного стало доходить. Но я серавно не всё понял, ибо я не работал на ассемблере!

  • @igorgrischenko6518
    @igorgrischenko65185 жыл бұрын

    4:43 ты показал список "Константы для линейных конгруэнтных генераторов", а где полный их список? Откуда ты взял а = 5, с = 1, m = 256? Явно же не наугад? Или есть какой-то способ их составления, чтобы они были удачными?

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    В статье в википедии есть правила выбора констант, но они не гарантируют хороший результат. Константы 5, 1, 256 взял из книги про AVR. Точнее не константы, а сам код и только делая этот ролик до меня дошло, что это и есть метод, про который ролик делаю.

  • @norhyme8149
    @norhyme81494 жыл бұрын

    Пересмотри вступление. Там мелькают забавные (или не очень) слова. Да-да, среди чисел. Типа:"МИР В ШОКЕ!" и "ОТ НАС СКРЫВАЛИ..."

  • @a1ex_sk
    @a1ex_sk4 жыл бұрын

    Никогда не понимал, почему просто не использовать для базиса генератора "шум" от аналоговых датчиков или неизбежны колебания питающего напряжения (тысячные доли вольта)? Шум всегда присутствует, он действительно случайный и гарантирует уникальность выходной последовательности... Изменено: глянул в вике про алгоритмы гпсч, там пишут, что внешние шумы используют редко потому, что: "Время и трудозатраты при установке и настройке по сравнению с программными ГПСЧ" - утверждение не выглядит обоснованным, или как минимум не раскрыто "Дороговизна" - опять таки, не понятно что тут дорогого? "Генерация случайных чисел происходит медленнее, чем при программной реализации ГПСЧ" - считать значение с аналового входа как минимум сопостовимой по сложности с выполнением нескольких математиматических операций, а в идеале может быть реализовано и дешевле "Невозможность воспроизведения ранее сгенерированной последовательности случайных чисел" - хм... Разве не в этом смысл случайных последовательностей? По приколу запилил алгоритм генерации случайных чисел на ардуинке на основе шума от аналогового входа, на который подключён операционный усилитель с уже его входом, весящим в воздухе. Работает практически так же быстро, как и "стандартный" rand(), повторяющиеся последовательности больше 20 чисел обнаружить не удалось, распределение, более или менее равномерное, с оговоркой на то, что значения все таки случайные и время от времени попадаются несколько одинаковых или очень близких чисел подряд, но вроде так и должно быть:)

  • @wugu42
    @wugu425 жыл бұрын

    А зафигачь Rule 30 в кольце с визуализацией и генерацией псевдо-случайных чисел, для которой биты берутся из произвольной колонки. Очень наглядно можно сделать: и показать влияние единственного бита инициирующей последовательности на все получаемые значения, и как влияет длина кольца на длину цикла (можно даже численный эксперимент организовать и сравнить результаты с расчетными значениями), и про одномерные клеточные автоматы просветить публику. Чем не тема для выпуска? :)

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    Спасибо за наводку, почитаю на досуге.

  • @oleksandrdorogyh5265
    @oleksandrdorogyh52654 жыл бұрын

    для чисел являющихся степенями двойки деление это сдвиг что вроде известно а вот остаток от деление это наложение маски мне в одном проекте надо было максимально ускорить некоторые рассчеты // this hack works only with power-of-2 values // how we get 0x3F mask for 64 int value // 0100 0000 = 64 // set all higher bits to 1 // 1100 0000 // and invert them // 0011 1111 = 0x3F // // for example for mod16 we get next mask // 16 = 0001 0000 // set higher = 1111 0000 // invert = 0000 1111 // mask = 0x0F // so val % 16 == val & 0x0F

  • @Rayvenor
    @Rayvenor5 жыл бұрын

    При поиске повторений последовательности из 15-ти сколько совпавших подряд идущих встречал? Я имею ввиду последовательность начинает повторяться, но это ещё не повторение, а совпадение. Сколько чисел совпадали до настоящего повторения?

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    Первых два числа из запомненой последовательности повторялись. Это кстати, на видео видно. Вроде было, что и два раза первые два числа повторялись. Последовательности из 3 и более чисел не было.

  • @user-lo5sh4ss6o
    @user-lo5sh4ss6o Жыл бұрын

    на волю слу. аю? тогда вот самый простой генератор простых чисел. длина окружности с точностью до стальки чисел сколько сама длина окружности. если длина 123см значит точность до 123 чисел. и 33 последних числа будут всегда случайны. при длине окружности. измени длину и будет другой результат.

  • @user-in4mf3uo9n
    @user-in4mf3uo9n3 жыл бұрын

    обалдеть более 2000 строк кода. может все таки пайтон использовать? там готовые библиотеки есть. и учить его говорят проще) ну не проще пиксель ленг но все же

  • @user-tf8qy2vi2t
    @user-tf8qy2vi2t5 жыл бұрын

    Спасибо! понял одно, компьютер не генерирует случайные числа. Компьютерная рулетка не случайна, а просчитывается спинами )))

  • @Twenti_dinamit
    @Twenti_dinamit2 жыл бұрын

    Искал рандомно, нашёл золото

  • @user-se2gf7em6d
    @user-se2gf7em6d5 жыл бұрын

    ваши ролики безумны, я вас считаю маньяком, информационным маньяком, решил написать это тут, сложно держать в себе

  • @uebyCyka

    @uebyCyka

    4 жыл бұрын

    Этот комментарий - проявление эмоциональной слабости

  • @nezhinHizZ
    @nezhinHizZ3 жыл бұрын

    О лайках не соврали!

  • @albertdantist4516
    @albertdantist45165 жыл бұрын

    Как мне казалось, алгоритмы вычисления рандома всегда засекречивают...

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    Если все алгоритмы популярных систем шифрования в открытом доступе, открытость рандома не удивляет.

  • @PetroBabii
    @PetroBabii5 жыл бұрын

    я жду искуственую жызнь

  • @alienonairivanov1868
    @alienonairivanov1868 Жыл бұрын

    Врут, но лайк!

  • @pinkierar_real
    @pinkierar_real5 жыл бұрын

    В PHP интересно, как генерируется

  • @undefinedundefined5924

    @undefinedundefined5924

    5 жыл бұрын

    Вот так: github.com/php/php-src/blob/623911f993f39ebbe75abe2771fc89faf6b15b9b/ext/standard/random.c github.com/php/php-src/blob/master/win32/winutil.c *например для win

  • @NDCSA
    @NDCSA Жыл бұрын

    эволюционная часть днк, разделенная квантованием, не смотря на непреодолимый пространственный рубеж, все еще зарезервирована для манипуляций

  • @igorgrischenko6518
    @igorgrischenko65185 жыл бұрын

    4:15 "два раза здвиг, что равноценно умножению на 4" это ты про двоичную систему?

  • @foo52ru

    @foo52ru

    5 жыл бұрын

    операция сдвига в ассемблере, это все биты в регистре сдвигаются, в данном случае влево, а крайний правый бит становиться равным 0. Это как умножение на два. В десятичной системе это выглядит бы так: было 0056, стало 0560. То есть умножение на десять. В младших микроконтроллерах нет инструкции умножения, поэтому применяются подобные конструкции. Ну и пример переполнения. Есть 4-разрядная ячейка памяти (десятичная). В ней записано 1234. Делаем сдвиг влево, получилось 2340. Первая единичка выпала. Получилось (1234*10) mod 1^4

Келесі