Несколько раз натыкалась на задачу подсчета числа всех возможных разбиений множества. Похоже, простой формулы там нет. Но, может, хотя бы асимптотика известна? Точная формулировка такая. Множество из n элементов можно разбить на подмножества, причем произвольным образом. Возможны разбиения из любого числа подмножеств:как n (все одноэлементные), так и 1 (множество берется целиком). Порядок самих подмножеств не важен. задан 23 Ноя '12 0:44 DocentI |
отвечен 24 Ноя '12 20:02 AlexGolovnev Большое спасибо! Очень ценная информация! Я чувствовала, что там что-то порядка факториала или $%(n/a)^n$%. В общем, достаточно, чтобы исключить полный перебор.
(24 Ноя '12 20:13)
DocentI
|
Простую формулу вывести пока не смог, за то могу предложить рекурсивную. отвечен 23 Ноя '12 2:46 chameleon подозреваю, что там не степенная зависимость, а факториальная. Уж больно много случаев.
(24 Ноя '12 1:48)
DocentI
Там, насколько я знаю, асимптотика имеет порядок $$\left(\frac{Cn}{ln n}\right)^n,$$ то есть это меньше факториала, хотя и близко. Верхнюю оценку $%B_n\le n!$%, как я сейчас осознал, легко вывести прямо из определения. Если есть разбиение, то выпишем в каждой группе числа в порядке возрастания, а группы упорядочим по их наименьшим элементам. Это приводит к перестановке, по которой прообраз однозначно восстанавливается. А вот хорошую верхнюю оценку было бы интересно получить. Типа, скажем, $%n^{n/2}$%, начиная с некоторого номера.
(28 Янв '13 21:02)
falcao
|
Насчёт получения оценки снизу можно применить следующее соображение. Рассмотрим числа Белла с чётным номером $%2n$%. Ясно, что множество всех разбиений включает в себя множество разбиений на $%n$% пар. Для последней задачи ответ хорошо известен, и получается неравенство $$B_{2n}\ge(2n-1)(2n-3)\cdot\,\cdots\,\cdot3\cdot1.$$ Отсюда становится понятно, что числа Белла растут весьма быстро -- порядка корня из факториала, как минимум. отвечен 29 Янв '13 0:00 falcao |
элементы множества всегда разные?
Ну да! На то оно и множество. Эта задача возникла у меня, когда я рассказывала студентам о своей работе в КБ, где мы рассчитывали маршруты развозки молока и хлеба. Надо было разбить все заказы на подмножества (с учетом грузоподъемности машин), а потом еще указать оптимальный объезд в каждом. Вот я и хотела показать, что просто перебрать все разбиения на подмножества - нереально за короткое время.
Кстати, в приведенном примере имеется 15 вариантов разбиения. Кроме уже написанных, такие:
{1, 2}, {3, 4};
{1, 3}, {2, 4};
{1, 4}, {2, 3}.
Точно, 15! Я чувствую, что чего-то не хватает, потому что со студентами вроде получили больше!