Pull to refresh

Сервис «VK Знакомства» запустил рандомный чат, где собеседника подбирает алгоритм

Reading time 2 min
Views 5.6K
Algorithms *Social networks and communities IT-companies

В сервисе «VK Знакомства» появилась новая функция «Ночной чат», в котором алгоритм подбирает случайного собеседника. Критерий для подбора — похожие интересы и увлечения, это увеличивает вероятность взаимной симпатии, сообщает «ВКонтакте».

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 12

Псевдослучайно vs. По-настоящему Случайно

Reading time 2 min
Views 31K
Algorithms *
Translation
Ниже перевод статьи Бо Аллена отсюда.

Простой наглядный пример

Однажды я наткнулся на Random.org, классный сервис генератора настоящих случайных чисел. Разница между генератором настоящих случайных чисел (ГНСЧ) и генератором псевдослучайных чисел (ГПСЧ) в том, что ГНСЧ использует непредсказуемые физические средства для генерации чисел (например шумы атмосферы), а ГПСЧ использует математические алгоритмы (полностью производимые компьютером). Об этом можно более подробно узнать на Random.org (англ.) и в Википедии (англ.).
Читать дальше →
Total votes 74: ↑62 and ↓12 +50
Comments 96

Генерация случайных чисел с помощью Random.org

Reading time 3 min
Views 138K
Java *
Кто пытается арифметическими методами генерировать случайные числа, тот, конечно, живет во грехе.
— Джон фон Нейман

Есть такой хороший сервис random.org, который уже не раз упоминался на хабре. Основная задача сайта — генерация случайных чисел с использованием атмосферных шумов. На том же сайте можно найти результаты тестов и сравнения случайных и псевдослучайных генераторов с объяснениями что лучше и почему. В данной статье описывается простенькая библиотека для использования API сайта.

Читать дальше →
Total votes 53: ↑51 and ↓2 +49
Comments 82

Random'изация в Python. Так ли она рандомна?

Reading time 2 min
Views 4.7K
Lumber room
Sandbox
image
Доброе время суток, хабравчане. Несмотря на глубокое название поста, суть его состоит в описании борьбы с собственной глупостью в решении уже изученных проблем. Последнее время часто размышлял над темой «случайность». Что же задает эту самую случайность? Ввиду того, что люблю до всего доходить сам — не полез в поисковики, а полез в Python.
Читать дальше →
Total votes 33: ↑8 and ↓25 -17
Comments 14

Генератор случайных котов за 8 шагов

Reading time 8 min
Views 75K
Website development *JavaScript *Game development *HTML *Canvas *
Sandbox

Доброго времени, Хабр!
Я всегда очень любил котов, и любил их рисовать, особенно морды кошачьи. Чуть изменишь форму, линию — и совершенно другое выражение, другое настроение. У меня листы А4 были изрисованы под предел. И тут мне недавно стукнуло в голову — а что если сделать генератор морд котов? Чтобы нажал на кнопочку и тебе выкинется случайная морда кота. Как можно более случайная и интересная. Давайте же посмотрим, как же сделать такую штуку.
Прошу под кат, любители котов.
Читать дальше →
Total votes 194: ↑178 and ↓16 +162
Comments 69

Как Роберт Моррис на 8-ми битах до 10 000 считал

Reading time 3 min
Views 36K
Programming *Java *Algorithms *


Как все знают с помощью n-бит, можно реализовать счетчик считающий до 2n-1, но если у вас очень ограниченные ресурсы, или вам просто хочется поэкспериментировать и объединить в одно целое последовательности, вероятности, рандом и увеличение счетчика, то прошу под кат.

Читать дальше →
Total votes 61: ↑52 and ↓9 +43
Comments 51

Краеугольный камень псевдослучайности: с чего начинается поиск чисел

Reading time 7 min
Views 8.5K
VK corporate blog Cryptography *Programming *Algorithms *C *


(с)


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


Когда речь заходит о генераторах случайных (или псевдослучайных) чисел, рассказ всегда строится вокруг поиска истинной случайности. Пока серьезные математики десятилетиями ведут дискуссии о том, что считать случайностью, в практическом отношении мы давно научились использовать «правильную» энтропию. Впрочем, «шум» — это лишь вершина айсберга.


С чего начать, если мы хотим распутать клубок самых сильных алгоритмов PRNG и TRNG? На самом деле, с какими бы алгоритмами вы не имели дело, все сводится к трем китам: seed, таблица предопределенных констант и математические формулы.


Каким бы ни был seed, еще есть алгоритмы, участвующие в генераторах истинных случайных чисел, и такие алгоритмы никогда не бывают случайными.

Читать дальше →
Total votes 22: ↑17 and ↓5 +12
Comments 6

Почему существует «серый» рынок компьютерных игр

Reading time 4 min
Views 41K
Finance in IT Games and game consoles Cybersport
image

Любой, кто интересовался игровым или околоигровым контентом в сети, будь то видео на youtube, игровые паблики в социальных сетях или просто стримы на Twitch, сталкивался с рекламой площадок G2A.com, gabe-game-easy-и-прочих-сторов.

Этой рекламы, вместе с рекламой различных сервисов ставок и не самых чистоплотных скин-рулеток настолько много, что часть аудитории уже перестала обращать на нее внимание, ведь кто поведется на текст «Купи любимую игру в два раза дешевле!», когда это возможно только в период скидок?

Как вообще подобные площадки существуют столько лет и чем они занимаются?
Читать дальше →
Total votes 36: ↑27 and ↓9 +18
Comments 77

Случайные числа и децентрализованные сети: практическое применение

Reading time 10 min
Views 4.8K
Decentralized networks *Information Security *Cryptography *

Введение


«Генерация случайных чисел слишком важна, чтобы оставлять её на волю случая»
Роберт Кавью, 1970


Эта статья посвящена практическому применению решений, использующих коллективную генерацию случайных чисел в недоверенной среде. Если кратко — как и для чего используется рандом в блокчейнах, и немного про то, как отличить “хороший” рандом от “плохого”. Генерация действительно случайного числа является крайне непростой проблемой даже на отдельном компьютере, и давно изучается криптографами. Ну а в децентрализованных сетях генерация случайных чисел еще более сложна и важна.


Именно в сетях, где участники не доверяют друг другу, возможность сгенерировать неоспоримое случайное число позволяет эффективно решать множество важнейших задач и значительно улучшить уже существующие схемы. Причем азартные игры и лотереи тут вовсе не являются целью номер один, как сначала может показаться неискушенному читателю.

Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 17

Как превратить квантовый компьютер в идеальный генератор случайных чисел

Reading time 8 min
Views 4.9K
Mathematics *Quantum technologies
Translation

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




Скажите на любом собрании специалистов по информатике «квантовое превосходство», и вы, вероятно, увидите, как они закатывают глаза. Эта фраза относится к идее о том, что квантовые компьютеры скоро перейдут рубеж, за которым они станут с относительной лёгкостью выполнять задачи, чрезвычайно сложные для классических компьютеров. И до недавнего времени эти задачи считались малополезными для реального применения – отсюда и закатывание глаз.

Но теперь, когда, как говорят, процессор от Google близок к этой цели, у неизбежного квантового превосходства может появиться важное применение: генерирование чистой случайности.

Случайность важна практически для всего, что происходит в инфраструктуре вычислений и коммуникаций. В частности, её используют для шифрования данных, защищающей всё, от обычных разговоров до финансовых транзакций и государственных секретов.
Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Comments 14

BlessRNG или проверяем ГСЧ на честность

Reading time 10 min
Views 10K
Playgendary corporate blog Game development *Unity3D *Reading room


В геймдеве часто нужно что-нибудь завязать на рандоме: у Unity для этого есть свой Random, а параллельно с ним существует System.Random. Когда-то давно на одном из проектов сложилось впечатление, что оба могут работать по-разному (хотя должны иметь равномерное распределение).

Тогда в детали углубляться не стали — хватило того, что переход на System.Random исправил все проблемы. Сейчас решили разобраться подробнее и провести небольшое исследование: насколько «предвзяты» или предсказуемы ГСЧ, и какой выбрать. Тем более, я не раз слышал противоречивые мнения об их «честности» — попробуем разобраться, как реальные результаты соотносятся с заявленными.
Читать дальше →
Total votes 21: ↑19 and ↓2 +17
Comments 20

Фальсификация случайности и и преобразование сортировкой псевдослучайных последовательностей

Reading time 3 min
Views 4.6K
Entertaining tasks Algorithms *C# *Big Data *Studying in IT
Recovery mode

Фальсификация случайности и и преобразование сортировкой псевдослучайных последовательностей


Цель: доказать возможность фальсификации случайности и реальность преодоления фальсификации случайности.

Случайность натуральная, разделённая на интегральные логарифмические спектры, предсказуемо показывает короткие дистанции повторов и дистанции повторов длинные массово отсутствуют, зато сортировка последовательности приводит спектры разделения в вид теоретический.

Пробел Просвещения России и СССР и СНГ: интеграл и логарифм в младших классах не изучают и впоследствии считают простейшее якобы сложным.
Total votes 35: ↑8 and ↓27 -19
Comments 150

Вся соль непредсказуемости: ценность рандомизации при разработке игр

Reading time 9 min
Views 3.1K
Издательский дом «Питер» corporate blog Programming *Game development *Algorithms *Unity3D *
Translation

Научитесь внедрять рандомизацию в создаваемую игру, чтобы игроки оставались вовлечены в процесс и стремились перейти к следующей сцене. Это второй пост Кристо Ноббса, посвященный разработке систем, основанный на авторском вкладе Кристо в книгу The Unity game designer playbook. В данной книге подробнее рассказано о том, как прототипировать, собирать и тестировать игровой процесс (геймплей) в Unity.

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

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 0

Непредсказуемые инвестиции с Python

Reading time 13 min
Views 5.7K
Abnormal programming *Python *Programming *API *Venture investment
Sandbox

О чем эта статья: В основном, о том, как создать рандомайзер биржевых активов используя данные Московской и Питерской бирж на Python.

Кому не важна реализация то вот готовый код с минимальными инструкциями по запуску. Ну или можно воспользоваться телеграмм ботом для всего-того же самого, но в удобном формате (если он не работает, то скорее всего я перестал платить за админку 😞). А в самом низу есть небольшое подведение итогов.

Читать далее
Total votes 12: ↑12 and ↓0 +12
Comments 6