| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Разбиение на классы эквивалентности |
| Автор: Dims 14.11.2007, 02:51 |
| Уже задавал похожий вопрос, теперь упрощаю. Пусть есть N объектов, которые можно идентифицировать по номерам: 0, 1, 2, ..., N-1 Требуется по очереди генерировать разбиения на классы эквивалентности (разбиение на классы эквивалентности -- это разделение всех объекты на группы равных или неравных). Возможный алгоритм. Внешний цикл: пробегаем количество классов эквивалентности K от 1 до N Внутренний цикл: генерируем размещения N различимых объектов по K неразличимым "ящикам" Таким образом, вопрос сводится к тому, как генерировать такие размещения? Усложнение: генерировать при условии, что про некоторые объекты известно, что они должны лежать в разных классах эквивалентности. Что-то не могу сообразить: сколько вообще существует размещений N различимых объектов по K неразличимым "ящикам"? |
| Автор: Dims 14.11.2007, 04:10 | ||
| Вроде бы, получилось достаточно просто. Правильно ли*
|