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

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

Комментарии • 253

  • @user-lv8et4lx5k
    @user-lv8et4lx5k 5 лет назад +216

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

    • @foo52ru
      @foo52ru  5 лет назад +59

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

    • @mihail_redov
      @mihail_redov 5 лет назад +4

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

    • @PetroBabii
      @PetroBabii 5 лет назад +1

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

    • @vladislavunderoak4323
      @vladislavunderoak4323 5 лет назад +3

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

    • @TEENASPECT
      @TEENASPECT 5 лет назад +2

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

  • @DevilByte
    @DevilByte 4 года назад +16

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

  • @user-yi2id1zg7r
    @user-yi2id1zg7r 5 лет назад +9

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

  • @MsTim159
    @MsTim159 5 лет назад +8

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

  • @milovidov42
    @milovidov42 4 года назад

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

  • @Ponywka
    @Ponywka 4 года назад +64

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

    • @axionet_dev
      @axionet_dev 3 года назад

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

    • @toms_ekb
      @toms_ekb 3 года назад +2

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

  • @SerGsHobby
    @SerGsHobby 5 лет назад +2

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

  • @zealot4325
    @zealot4325 4 года назад

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

  • @MrRoman238
    @MrRoman238 4 года назад +3

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

  • @user-bh6og9dz9z
    @user-bh6og9dz9z 5 лет назад +1

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

  • @portal2x2
    @portal2x2 5 лет назад +1

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

  • @true_xander
    @true_xander 5 лет назад +1

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

  • @DannyPhantom288
    @DannyPhantom288 3 года назад

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

  • @user-sm6kf6qi7u
    @user-sm6kf6qi7u 2 года назад

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

  • @gagogoga794
    @gagogoga794 3 года назад

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

  • @tistaliv1491
    @tistaliv1491 5 лет назад +3

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

  • @DannyPhantom288
    @DannyPhantom288 3 года назад

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

  • @user-lp1is2zq9n
    @user-lp1is2zq9n 5 лет назад +1

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

  • @user-ze7zt1jp7h
    @user-ze7zt1jp7h 5 лет назад

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

  • @xakkep9000
    @xakkep9000 5 лет назад +1

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

  • @DannyPhantom288
    @DannyPhantom288 3 года назад

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

  • @olegafryka9873
    @olegafryka9873 4 года назад

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

  • @user-in4mf3uo9n
    @user-in4mf3uo9n 3 года назад +1

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

  • @OleksandrDanylchenko2k
    @OleksandrDanylchenko2k 5 лет назад +1

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

  • @sheesh1337
    @sheesh1337 4 года назад

    очень круто!

  • @user-zl4lh4mx3c
    @user-zl4lh4mx3c 5 лет назад +3

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

  • @Muchcap
    @Muchcap 5 лет назад +9

    Годно

  • @vrotmnenogi21
    @vrotmnenogi21 4 года назад +1

    божественно

  • @zhivoder915
    @zhivoder915 4 года назад +8

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

  • @user-bc8pr5up2r
    @user-bc8pr5up2r 5 лет назад +2

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

  • @bubinbei
    @bubinbei 5 лет назад +1

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

  • @Twenti_dinamit
    @Twenti_dinamit 2 года назад

    Вы гениус

  • @UFO26
    @UFO26 4 года назад

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

  • @PimezonRu
    @PimezonRu 4 года назад

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

  • @user-du8rw6tb6r
    @user-du8rw6tb6r 5 лет назад

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

  • @user-do1qn1io3r
    @user-do1qn1io3r Год назад

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

  • @Fastereus
    @Fastereus 5 лет назад +49

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

    • @YaShoom
      @YaShoom 5 лет назад

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

    • @portal2x2
      @portal2x2 5 лет назад +7

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

    • @Ma_X64
      @Ma_X64 3 года назад

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

  • @logionthecreator864
    @logionthecreator864 5 лет назад

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

  • @user-ws6je9vj2i
    @user-ws6je9vj2i 10 месяцев назад

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

  • @dragnair2955
    @dragnair2955 5 лет назад +4

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

    • @user-lo5sh4ss6o
      @user-lo5sh4ss6o Год назад

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

  • @LoLSURPRAISE
    @LoLSURPRAISE 4 года назад +3

    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

  • @BlYur
    @BlYur 5 лет назад +2

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

    • @suifutors
      @suifutors 5 лет назад

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

    • @47syorha52
      @47syorha52 4 года назад +1

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

  • @andsoon87
    @andsoon87 4 года назад

    Класс

  • @4arliEdinorog
    @4arliEdinorog 4 года назад

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

  • @DeaD_SteeL
    @DeaD_SteeL 5 лет назад +45

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

    • @unex6859
      @unex6859 5 лет назад +4

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

    • @Zeding_Stuff
      @Zeding_Stuff 4 года назад

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

    • @testman1865
      @testman1865 4 года назад +3

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

    • @Zeding_Stuff
      @Zeding_Stuff 4 года назад

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

    • @testman1865
      @testman1865 4 года назад +3

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

  • @user-hv3tn2rf9g
    @user-hv3tn2rf9g 4 года назад

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

  • @Dyas777
    @Dyas777 5 лет назад +3

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

    • @pihva2828
      @pihva2828 5 лет назад

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

  • @ahtartam
    @ahtartam 5 лет назад

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

  • @user-kl2wj5rt9t
    @user-kl2wj5rt9t 5 лет назад

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

  • @maxim1181
    @maxim1181 5 лет назад +2

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

  • @trvru
    @trvru 4 года назад

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

  • @cheloviek1
    @cheloviek1 Год назад

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

  • @user-kw7cr6ij1o
    @user-kw7cr6ij1o 9 месяцев назад

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

  • @danillatyshev3855
    @danillatyshev3855 5 лет назад

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

  • @AS-uu9uh
    @AS-uu9uh 3 года назад

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

  • @tistaliv1491
    @tistaliv1491 5 лет назад +2

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

    • @foo52ru
      @foo52ru  5 лет назад +1

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

  • @user-ix7hi6iz5n
    @user-ix7hi6iz5n 4 года назад

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

  • @TEENASPECT
    @TEENASPECT 5 лет назад +1

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

    • @N0wsan
      @N0wsan 5 лет назад

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

  • @user-uk4ww6ln7q
    @user-uk4ww6ln7q Год назад

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

  • @user-tj3xm3lc5w
    @user-tj3xm3lc5w 5 лет назад

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

  • @zcbesaba
    @zcbesaba 5 лет назад

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

  • @buryatiazk282
    @buryatiazk282 3 года назад +1

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

  • @yuryrabyshko4837
    @yuryrabyshko4837 3 года назад

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

  • @Rayvenor
    @Rayvenor 5 лет назад

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

    • @foo52ru
      @foo52ru  5 лет назад +1

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

  • @mixailkarpov7898
    @mixailkarpov7898 5 лет назад +1

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

    • @foo52ru
      @foo52ru  5 лет назад +2

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

  • @maximka5868
    @maximka5868 4 года назад +5

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

    • @foo52ru
      @foo52ru  4 года назад +7

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

    • @zmei7mei642
      @zmei7mei642 4 года назад +1

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

    • @NewStoryline
      @NewStoryline 3 года назад

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

  • @Ma_X64
    @Ma_X64 3 года назад

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

  • @xnei4166
    @xnei4166 4 года назад

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

  • @heroesgoadmin6582
    @heroesgoadmin6582 Год назад

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

  • @user-zb5pr4wv8d
    @user-zb5pr4wv8d 5 лет назад +72

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

  • @arslanarslan4823
    @arslanarslan4823 2 года назад

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

  • @alexandersmolyakov1886
    @alexandersmolyakov1886 5 лет назад +27

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

    • @ahtartam
      @ahtartam 5 лет назад +2

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

  • @igorgrischenko6518
    @igorgrischenko6518 5 лет назад +2

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

    • @foo52ru
      @foo52ru  5 лет назад +1

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

  • @pchelavefire
    @pchelavefire 3 года назад

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

  • @alexagordn
    @alexagordn 4 года назад

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

  • @zmei7mei642
    @zmei7mei642 4 года назад

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

  • @vovkarass
    @vovkarass 4 года назад

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

  • @ivanek333
    @ivanek333 4 года назад +1

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

    • @Andymit
      @Andymit 3 года назад +1

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

  • @user-iy9lb5jk6b
    @user-iy9lb5jk6b 5 лет назад +1

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

  • @user-tp9re7fg3j
    @user-tp9re7fg3j Год назад

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

  • @wugu42
    @wugu42 5 лет назад +1

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

    • @foo52ru
      @foo52ru  5 лет назад +1

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

  • @a1ex_sk
    @a1ex_sk 4 года назад +1

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

  • @47syorha52
    @47syorha52 5 лет назад

    А таким образом значит можно и карты сделать?

    • @SIM31r
      @SIM31r 4 года назад

      В майнкрафте смотрите так и делается, бесконечный автогенерируемый мир.

  • @user-lo5sh4ss6o
    @user-lo5sh4ss6o Год назад

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

  • @oleksandrdorogyh5265
    @oleksandrdorogyh5265 4 года назад

    для чисел являющихся степенями двойки деление это сдвиг что вроде известно
    а вот остаток от деление это наложение маски
    мне в одном проекте надо было максимально ускорить некоторые рассчеты
    // 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

  • @user-tf8qy2vi2t
    @user-tf8qy2vi2t 5 лет назад +5

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

  • @user-rq7uw9qb5u
    @user-rq7uw9qb5u 5 лет назад

    Так какой конкретно параметр микросхема считает случайным числом? Напряжение где-то в какой-то момент?

    • @foo52ru
      @foo52ru  5 лет назад +1

      Какая микросхема?

    • @user-rq7uw9qb5u
      @user-rq7uw9qb5u 5 лет назад

      @@foo52ru процессор, допустим. У меня где-то валяется калькулятор Casio и там есть генератор случайного числа. Вот где он берет это число?

    • @albertdantist4516
      @albertdantist4516 5 лет назад

      @@user-rq7uw9qb5u, скорее всего, там либо часы тикают, либо он дополнительно отталкивается от предыдущего вычисления. Во втором случае полнейший рандом получается

    • @user-rq7uw9qb5u
      @user-rq7uw9qb5u 5 лет назад

      @@albertdantist4516 Но это не точно?)

  • @igorgrischenko6518
    @igorgrischenko6518 5 лет назад

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

  • @pinkierar_real
    @pinkierar_real 5 лет назад

    В 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

  • @pataria1520
    @pataria1520 5 лет назад

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

    • @foo52ru
      @foo52ru  5 лет назад

      Я только за.

  • @norhyme8149
    @norhyme8149 4 года назад

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

  • @user-in4mf3uo9n
    @user-in4mf3uo9n 3 года назад

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

  • @igorgrischenko6518
    @igorgrischenko6518 5 лет назад +3

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

    • @foo52ru
      @foo52ru  5 лет назад +6

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

  • @nonamefaceoff6076
    @nonamefaceoff6076 3 года назад

    😘

  • @PetroBabii
    @PetroBabii 5 лет назад +29

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

  • @user-yn7ue1lk6u
    @user-yn7ue1lk6u 2 года назад

    А если включить в состав процессора мини-антенну и снимать с неё данные, то это будет та неприемлимая "воля случая", о которой говорилось в цитате?
    п. с. Подозреваю, что у такого способа будут любимчики, то есть диапазон случайных чисел там будет с разной плотностью вероятности.

    • @nakidai
      @nakidai Год назад

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

  • @heroesgoadmin6582
    @heroesgoadmin6582 Год назад

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

  • @user-ke7nr9dt4s
    @user-ke7nr9dt4s 5 лет назад

    Дайте название трека, пожалуйста

    • @foo52ru
      @foo52ru  5 лет назад

      soundcloud.com
      пользователь foo52ru
      название трека не помню.

  • @bubinbei
    @bubinbei 5 лет назад +3

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

    • @uebyCyka
      @uebyCyka 4 года назад +1

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

  • @albertdantist4516
    @albertdantist4516 5 лет назад +1

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

    • @foo52ru
      @foo52ru  5 лет назад +2

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