#случайные_числа — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #случайные_числа, aggregated by home.social.
-
Случайность как следствие открытости систем и черного ящика
Пока программа остается замкнутой системой, в ней нет истинной случайности. Она появляется как только программа становится открытой и начинает получать данные извне. При этом источник данных должен выступать для программы непредсказуемой и неподдающейся контролю внешней системой, то есть быть черным ящиком. С другой стороны, в самой программе может быть псевдослучайность, когда каждое следующее значение является вычисляемым и предсказуемым, но сторонний наблюдатель, тот, кто получает данные из программы, воспринимает их случайными, потому что не знает внутреннюю логику ее работы. В таком случае на уровне системы, объединяющей все остальные и не получающей внешние данные, случайности быть не может. Подробнее
https://habr.com/ru/articles/973894/
#случайность #случайные_числа #псевдослучайные_числа #программирование #python #numpy #гипотезы #чёрный_ящик #открытая_система
-
Как устроен генератор случайных чисел в VBA Excel Ч.3
В предыдущих частях работы ( Часть 1 , Часть 2 ) мы разобрали, что такое линейный конгруэнтный метод (ЛКМ), и как на его основе работает функция Rnd(), вшитая в скриптовый язык VBA, созданный Microsoft. Именно эта функция и "ответственна" за генерацию псевдослучайных чисел. Мы поняли, как ведет себя функция, если в качестве ее аргумента ввести число меньшее либо равное 0. Также мы выяснили, что эта функция работает с мнимым и реальными значениями своих аргументов, также мы поняли, как соотносятся некоторые мнимые значения аргумента функции с их реальными значениями. В третьей части исследования речь пойдет в основном о том, каким образом функция Rnd() взаимодействует с аргументами в виде дробных чисел, а также о том, как ведет себя функция, при вводе в качестве ее аргумента больших (по модулю) чисел. Как оказалось – обе эти темы взаимосвязаны. Итак – поехали! Все случайное неслучайно...
https://habr.com/ru/articles/940480/
#случайные_числа #генераторы_случайных_чисел #excel #vbaмакросы #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #ieee754 #microsoft_office
-
(Не)случайные числа в VBA Excel Ч. 2
Вторая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft. Читать далее!
https://habr.com/ru/articles/933472/
#случайные_числа #vba #vbaмакросы #excel #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #модульная_арифметика #ieee754
-
(Не)случайные числа в VBA Excel Ч. 1
Первая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft. Погрузиться в мир псевдослучайных чисел!
https://habr.com/ru/articles/932850/
#случайные_числа #vba #excel #линейный_конгруэнтный_метод #случайности_не_случайны #модульная_арифметика #псевдослучайные_генераторы #псевдослучайные_числа
-
Математика бэкдора в Dual EC DRBG
Dual EC DRBG - нашумевшая схема генератора псевдослучайных чисел, который был стандартизован, несмотря на потенциальный бэкдор. Математическая часть данного бэкдора интересна и сама по себе, но особенно - как важная веха в истории современной криптографии. Статья посвящена математической части бэкдора и в деталях объясняет то, почему он работает. Для понимания потребуется хотя бы минимальное знакомство с основными понятиями алгебры и криптографии.
https://habr.com/ru/articles/920752/
#бэкдор #криптография #случайности_не_случайны #случайные_числа #эллиптические_кривые
-
[Перевод] Находим случайный seed, решающий задачу с LeetCode
У меня есть хобби — решать задачи LeetCode непредназначенным для этого образом, часто при помощи запутанных однострочников. Такие самостоятельно накладываемые ограничения делают задачки интереснее и заставляют искать нестандартные решения. Одним из ежедневных челленджей LeetCode была такая задача (я немного упростил её для понятности): Есть список из уникальных строк битов, каждая из которых имеет длину . Сгенерировать новую строку длиной , отсутствующую в этом списке. Например, если у нас есть список "010", "110", "111" , то возможным решением будет "001" . Задача с LeetCode имеет большой набор тестов — 183 тестовых сценариев с , а точную формулировку задачи можно найти здесь . Я решил её, подобрав такое случайное порождающее значение (seed), что случайно генерируемые строки битов проходили бы все тестовые сценарии. Вот код решения: class Solution:
def findDifferentBinaryString(self, nums: List[str]) -> str:
random.seed((69299878 + sum(ord(c)*(i*j+111) for (i, n) in enumerate(nums) for (j, c) in enumerate(n))) % 999999999)
return ''.join(random.choice('01') for _ in nums) Можете попробовать это решение самостоятельно (оно должно работать, если LeetCode не обновил свой набор тестов. Если это произошло, сообщите мне об этом). Ниже я расскажу, как это сделал.https://habr.com/ru/companies/ruvds/articles/832748/
#ruvds_переводы #leetcode #челлендж #нестандартные_решения #задачи_для_программистов #случайные_числа #хэшфункции
-
[Перевод] Находим случайный seed, решающий задачу с LeetCode
У меня есть хобби — решать задачи LeetCode непредназначенным для этого образом, часто при помощи запутанных однострочников. Такие самостоятельно накладываемые ограничения делают задачки интереснее и заставляют искать нестандартные решения. Одним из ежедневных челленджей LeetCode была такая задача (я немного упростил её для понятности): Есть список из уникальных строк битов, каждая из которых имеет длину . Сгенерировать новую строку длиной , отсутствующую в этом списке. Например, если у нас есть список "010", "110", "111" , то возможным решением будет "001" . Задача с LeetCode имеет большой набор тестов — 183 тестовых сценариев с , а точную формулировку задачи можно найти здесь . Я решил её, подобрав такое случайное порождающее значение (seed), что случайно генерируемые строки битов проходили бы все тестовые сценарии. Вот код решения: class Solution:
def findDifferentBinaryString(self, nums: List[str]) -> str:
random.seed((69299878 + sum(ord(c)*(i*j+111) for (i, n) in enumerate(nums) for (j, c) in enumerate(n))) % 999999999)
return ''.join(random.choice('01') for _ in nums) Можете попробовать это решение самостоятельно (оно должно работать, если LeetCode не обновил свой набор тестов. Если это произошло, сообщите мне об этом). Ниже я расскажу, как это сделал.https://habr.com/ru/companies/ruvds/articles/832748/
#ruvds_переводы #leetcode #челлендж #нестандартные_решения #задачи_для_программистов #случайные_числа #хэшфункции
-
[Перевод] Находим случайный seed, решающий задачу с LeetCode
У меня есть хобби — решать задачи LeetCode непредназначенным для этого образом, часто при помощи запутанных однострочников. Такие самостоятельно накладываемые ограничения делают задачки интереснее и заставляют искать нестандартные решения. Одним из ежедневных челленджей LeetCode была такая задача (я немного упростил её для понятности): Есть список из уникальных строк битов, каждая из которых имеет длину . Сгенерировать новую строку длиной , отсутствующую в этом списке. Например, если у нас есть список "010", "110", "111" , то возможным решением будет "001" . Задача с LeetCode имеет большой набор тестов — 183 тестовых сценариев с , а точную формулировку задачи можно найти здесь . Я решил её, подобрав такое случайное порождающее значение (seed), что случайно генерируемые строки битов проходили бы все тестовые сценарии. Вот код решения: class Solution:
def findDifferentBinaryString(self, nums: List[str]) -> str:
random.seed((69299878 + sum(ord(c)*(i*j+111) for (i, n) in enumerate(nums) for (j, c) in enumerate(n))) % 999999999)
return ''.join(random.choice('01') for _ in nums) Можете попробовать это решение самостоятельно (оно должно работать, если LeetCode не обновил свой набор тестов. Если это произошло, сообщите мне об этом). Ниже я расскажу, как это сделал.https://habr.com/ru/companies/ruvds/articles/832748/
#ruvds_переводы #leetcode #челлендж #нестандартные_решения #задачи_для_программистов #случайные_числа #хэшфункции
-
Как устроен генератор случайных чисел в VBA Excel Ч.3
В предыдущих частях работы ( Часть 1 , Часть 2 ) мы разобрали, что такое линейный конгруэнтный метод (ЛКМ), и как на его основе работает функция Rnd(), вшитая в скриптовый язык VBA, созданный Microsoft. Именно эта функция и "ответственна" за генерацию псевдослучайных чисел. Мы поняли, как ведет себя функция, если в качестве ее аргумента ввести число меньшее либо равное 0. Также мы выяснили, что эта функция работает с мнимым и реальными значениями своих аргументов, также мы поняли, как соотносятся некоторые мнимые значения аргумента функции с их реальными значениями. В третьей части исследования речь пойдет в основном о том, каким образом функция Rnd() взаимодействует с аргументами в виде дробных чисел, а также о том, как ведет себя функция, при вводе в качестве ее аргумента больших (по модулю) чисел. Как оказалось – обе эти темы взаимосвязаны. Итак – поехали! Все случайное неслучайно...
https://habr.com/ru/articles/940480/
#случайные_числа #генераторы_случайных_чисел #excel #vbaмакросы #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #ieee754 #microsoft_office
-
Как устроен генератор случайных чисел в VBA Excel Ч.3
В предыдущих частях работы ( Часть 1 , Часть 2 ) мы разобрали, что такое линейный конгруэнтный метод (ЛКМ), и как на его основе работает функция Rnd(), вшитая в скриптовый язык VBA, созданный Microsoft. Именно эта функция и "ответственна" за генерацию псевдослучайных чисел. Мы поняли, как ведет себя функция, если в качестве ее аргумента ввести число меньшее либо равное 0. Также мы выяснили, что эта функция работает с мнимым и реальными значениями своих аргументов, также мы поняли, как соотносятся некоторые мнимые значения аргумента функции с их реальными значениями. В третьей части исследования речь пойдет в основном о том, каким образом функция Rnd() взаимодействует с аргументами в виде дробных чисел, а также о том, как ведет себя функция, при вводе в качестве ее аргумента больших (по модулю) чисел. Как оказалось – обе эти темы взаимосвязаны. Итак – поехали! Все случайное неслучайно...
https://habr.com/ru/articles/940480/
#случайные_числа #генераторы_случайных_чисел #excel #vbaмакросы #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #ieee754 #microsoft_office
-
Как устроен генератор случайных чисел в VBA Excel Ч.3
В предыдущих частях работы ( Часть 1 , Часть 2 ) мы разобрали, что такое линейный конгруэнтный метод (ЛКМ), и как на его основе работает функция Rnd(), вшитая в скриптовый язык VBA, созданный Microsoft. Именно эта функция и "ответственна" за генерацию псевдослучайных чисел. Мы поняли, как ведет себя функция, если в качестве ее аргумента ввести число меньшее либо равное 0. Также мы выяснили, что эта функция работает с мнимым и реальными значениями своих аргументов, также мы поняли, как соотносятся некоторые мнимые значения аргумента функции с их реальными значениями. В третьей части исследования речь пойдет в основном о том, каким образом функция Rnd() взаимодействует с аргументами в виде дробных чисел, а также о том, как ведет себя функция, при вводе в качестве ее аргумента больших (по модулю) чисел. Как оказалось – обе эти темы взаимосвязаны. Итак – поехали! Все случайное неслучайно...
https://habr.com/ru/articles/940480/
#случайные_числа #генераторы_случайных_чисел #excel #vbaмакросы #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #ieee754 #microsoft_office
-
(Не)случайные числа в VBA Excel Ч. 2
Вторая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft. Читать далее!
https://habr.com/ru/articles/933472/
#случайные_числа #vba #vbaмакросы #excel #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #модульная_арифметика #ieee754
-
(Не)случайные числа в VBA Excel Ч. 2
Вторая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft. Читать далее!
https://habr.com/ru/articles/933472/
#случайные_числа #vba #vbaмакросы #excel #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #модульная_арифметика #ieee754
-
(Не)случайные числа в VBA Excel Ч. 2
Вторая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft. Читать далее!
https://habr.com/ru/articles/933472/
#случайные_числа #vba #vbaмакросы #excel #линейный_конгруэнтный_метод #псевдослучайные_числа #псевдослучайные_генераторы #генератор_случайных_чисел #модульная_арифметика #ieee754