Калькулятор числа Белла

Введите количество различимых элементов n от 0 до 1000. Калькулятор найдёт число всех разбиений множества.

Количество элементов, n

B20 равно:

5172415823 5372

Цифр в результате: 14

Что считает число Белла

Разные способы разбить четыре различимых элемента на группы

Число Белла Bₙ показывает, сколькими способами можно разбить множество из n различимых элементов на непустые неупорядоченные группы. Элементы различаются, а сами группы не имеют названий и порядка. Для трёх карточек A, B и C существует пять разбиений: одна общая группа, три варианта с парой и одиночкой, а также три отдельные группы. Поэтому B₃ = 5.

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

Числа Белла связаны с числами Стирлинга второго рода. S(n, k) фиксирует ровно k групп, а Bₙ складывает варианты для всех допустимых k:

Bn=k=0nS(n,k),B0=1\displaystyle B_n=\sum_{k=0}^{n}S(n,k),\qquad B_0=1

Определение и это равенство приведены в NIST DLMF, §26.7. Для n = 4 строка чисел Стирлинга равна 0, 1, 7, 6, 1. Сумма даёт B₄ = 15. Калькулятор считает то же значение напрямую через треугольник Белла, не строит рекурсию в стеке и сохраняет все цифры в BigInt.

Как работает треугольник Белла

Начальная строка состоит из единицы. Каждая следующая строка начинается последним числом предыдущей. Остальные ячейки получают сложением числа слева и числа сверху слева. Первый элемент строки с номером n равен Bₙ. Так появляются первые значения: 1, 1, 2, 5, 15, 52, 203, 877.

Для B₃ построение выглядит коротко. После строки [1] получаем [1, 2], затем [2, 3, 5], затем [5, 7, 10, 15]. Первый элемент последней строки равен 5. Остальные числа нужны для перехода к следующей строке, но интерфейс показывает только искомый ответ.

Алгоритм выполняет примерно n² / 2 сложений. При n = 1000 это около 500 000 операций с большими целыми. B₁₀₀₀ содержит 1928 цифр. Ограничение защищает браузер не от математической неопределённости, а от лишнего объёма вычислений и отрисовки. Результат остаётся точным, без экспоненциальной записи и округления.

Где полезно считать разбиения множества

🧩 Три детали в совместимых наборах. Детали A, B и C можно оставить вместе, отделить одну из трёх деталей или разнести все по отдельности. Получается B₃ = 5 конфигураций. Этот пример быстро проверяет, что порядок групп не учитывается.

👥 Четыре участника в рабочие команды. Если команды не имеют номеров и каждая должна получить хотя бы одного человека, существует B₄ = 15 вариантов. Команда Анны и Бориса рядом с командой Веры и Глеба считается тем же разбиением после перестановки двух команд.

🗂️ Пять разных задач по пакетам. Пять подписанных задач можно объединить в непустые пакеты 52 способами, если порядок пакетов не важен. B₅ = 52 учитывает и один общий пакет, и пять одиночных, и все смешанные варианты между ними.

🎵 Четыре строки со схемой рифмовки. Если одинаковые буквы обозначают рифмующиеся строки, количество абстрактных схем равно B₄ = 15. Записи AABB и BBAA описывают одну структуру после переименования рифм, поэтому названия классов не считаются.

🔬 Шесть различимых образцов по кластерам. Без заранее заданного числа кластеров существует B₆ = 203 разбиения. Число перечисляет возможные структуры группировки, но не выбирает лучшую: для выбора всё равно нужен критерий сходства образцов.

🧪 Десять тестовых случаев по классам поведения. Число возможных неименованных группировок равно B₁₀ = 115 975. Такой рост объясняет, почему полный перебор разбиений быстро становится дорогим даже при скромном n.

Почему Bₙ не равно числу разбиений p(n)

Число Белла разбивает множество различимых объектов. Число p(n) разбивает само целое n на положительные слагаемые без учёта порядка. При n = 4 это две разные задачи. B₄ = 15 считает группировки четырёх меток, а p(4) = 5 считает суммы 4, 3 + 1, 2 + 2, 2 + 1 + 1 и 1 + 1 + 1 + 1.

Если в условии фигурируют люди, файлы, карточки или другие различимые объекты, обычно нужен Bₙ либо S(n, k) с фиксированным числом групп. Если требуется записать целое как сумму, используйте калькулятор числа разбиений p(n). Одно слово «разбиение» без указания объекта недостаточно для выбора формулы.

Границы и проверки результата

Пустое множество имеет одно разбиение, поэтому B₀ = 1. Для одного элемента также существует один вариант: единственная группа с этим элементом. Затем рост ускоряется: B₂ = 2, B₃ = 5, B₄ = 15, B₅ = 52, B₁₀ = 115 975, B₂₀ = 51 724 158 235 372.

У большого ответа пробелы делят цифры на группы только на экране. При копировании сохраняется непрерывное целое. Для программной проверки удобно сравнить первые значения с последовательностью OEIS A000110, а затем отдельно проверить B₀, B₃ и B₁₀. Если любое из них отличается, чаще всего перепутана нумерация строки или первый элемент новой строки.

Важно! Число Белла считает только структуру групп. Если группы подписаны, имеют разные роли, ограничены по размеру или обязаны содержать конкретные элементы, одной величины Bₙ уже недостаточно.

Вопросы о числах Белла

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

Чему равно B₀?

B₀ = 1. У пустого множества есть одно разбиение: пустое семейство групп. Это базовое значение сохраняет общие формулы без отдельного исключения.

Почему B₁ равно 1?

Один различимый элемент можно поместить только в одну непустую группу. Другого состава групп не возникает, поэтому B₁ = 1.

Учитывается ли порядок групп?

Нет. Разбиения {A, B} и {C} либо {C} и {A, B} совпадают. Группы не имеют позиций, а порядок элементов внутри каждой группы тоже не важен.

Что изменится, если нужно ровно k групп?

Тогда используется число Стирлинга второго рода S(n, k). Число Белла получается суммой S(n, k) по всем k от 0 до n.

Что делать, если группы имеют названия?

Для k подписанных непустых групп каждое неименованное разбиение можно назначить группам k! способами. Поэтому при допустимых n и k количество равно S(n, k) × k!.

Почему B₄ равно 15, а не 5?

Четыре элемента различимы, поэтому разные составы пар и троек считаются отдельно. Пять относится к p(4), то есть к разбиениям целого 4 на положительные слагаемые.

Округляет ли калькулятор большие числа Белла?

Нет. Вычисления выполняются с BigInt, а результат показывается полностью. Пробелы добавляются только для чтения и удаляются при копировании.

Почему максимальный индекс равен 1000?

B₁₀₀₀ содержит 1928 цифр, а треугольник требует около 500 000 сложений. Предел удерживает вычисление и длинную выдачу в разумных рамках браузера.

Похожие калькуляторы

Возможно вам пригодятся ещё несколько калькуляторов по данной теме:

Есть что добавить?

Напишите своё мнение, комментарий или предложение.