Разделите 100 на 4 случайные части, сумма которых равна ровно 100.
Разделение величины на случайные пропорции — одна из старейших задач теории вероятностей. Представьте, что вы разламываете палку в случайных точках и измеряете получившиеся куски. Математики называют результат такого разбиения случайной композицией, и каждое допустимое разделение 100 на 4 положительных целых частей имеет одинаковую вероятность. Алгоритм этого инструмента размещает 3 уникальных точек разрыва среди 99 возможных позиций, сортирует их и измеряет промежутки. Просто, быстро и доказуемо честно.
Попросите кого-нибудь угадать средний размер наибольшего куска при разламывании палки на 4 равновероятных частей. Большинство людей называют число, близкое к 25%. Реальный ответ значительно больше. Для 4 частей ожидаемый размер наибольшего куска подчиняется формуле гармонических чисел: H(4)/4 от общей величины. Это примерно 52%. Золотая метка E[max] на линии распределения выше отмечает это теоретическое значение. Продолжайте разделять и наблюдайте, как ваши точки группируются вокруг неё.
Геометрически все возможные способы разделить 100 на 4 неотрицательных частей располагаются на фигуре, называемой (3)-симплексом. Для двух частей симплекс — это отрезок. Для трёх — треугольник. Для четырёх — тетраэдр. Алгоритм случайной композиции равномерно выбирает точки на этом геометрическом объекте, то есть каждая точка поверхности имеет одинаковую вероятность. Математики Петер Густав Лежён Дирихле и позднее Дьёрдь По́йа формализовали распределение случайных разбиений, и распределение Дирихле со всеми параметрами, равными 1, описывает именно непрерывный аналог того, что этот инструмент воспроизводит с целочисленным округлением.
Каждое разделение вызывает crypto.getRandomValues() — Web Cryptography API, встроенный в каждый современный браузер. Эта функция использует аппаратные источники энтропии: тепловой шум, электрические флуктуации и другие физические процессы вашего устройства. Случайные точки разрыва выбираются методом отклонённых выборок из этих аппаратных источников, обеспечивая равномерное покрытие всех допустимых позиций. Все вычисления выполняет ваш браузер. Сервер лишь передаёт эту страницу и ничего более. Он никогда не узнает ваш результат.
Случайные пропорции — отличный учебный инструмент для изучения дробей, процентов и распределения ресурсов. Задайте ученикам сценарий: у школы есть бюджет в 100 единиц, который нужно разделить между 4 программами. Пусть каждый ученик перейдёт по ссылке /ratio/4 и выполнит разделение несколько раз. Запишите наибольшую долю каждого разделения. После 20 разделений на ученика вычислите среднее значение наибольшей части по классу. Оно будет стремиться к предсказанию гармонических чисел, демонстрируя, как теория вероятностей предсказывает совокупное поведение, даже когда отдельные результаты сильно различаются.
Для упражнения с круговой диаграммой предложите ученикам сгенерировать разделение с помощью /ratio/5, а затем нарисовать соответствующую круговую диаграмму вручную. Перевод процентов в углы (каждый 1% равен 3,6 градуса) укрепляет связь между дробями, процентами и геометрическим представлением. Инструмент не требует регистрации, не собирает данные учеников и не устанавливает файлы cookie.
Каждое разделение происходит внутри вашего браузера. Сервер передаёт страницу. Ваше устройство генерирует пропорции. Результаты хранятся в памяти браузера и localStorage, полностью под вашим контролем. При отправке этого URL другому человеку передаётся лишь конфигурация инструмента. Его устройство генерирует собственное независимое разделение из собственного источника энтропии. Два человека, перешедшие по одной ссылке, каждый раз получают совершенно разные результаты.
Количество частей указано в URL. Измените его прямо в адресной строке:
Отправьте эту ссылку. Получатель увидит тот же инструмент, но совершенно другой результат.
Ежедневное вдохновение
Работы, отобранные жюри A' Design Award, представленные каждое утро.