【发布时间】:2011-03-17 02:17:27
【问题描述】:
考虑一个由 n 个有限集合组成的集合 A,其成员不一定是不相交的。令 P={P[1], P[2], ..., P[m]} 是 A 的一个分区,并且对于 1..m 中的每个 i,令 U[i] 是所有的并集P[i] 的元素。所以 U={U[1], U[2], ..., U[m]}。我想要一个算法来找到一个 P 使得对应的 U 是一个分区,并且使得 U 的最小和最大元素之间的基数(即大小)差异最小化。
数据特征:
- m 小(2 到 5),n
- 通常,A 中有很大比例的一元集
- A 中的集合对之间的交点通常很小或为空
【问题讨论】:
-
这是大学作业吗?
-
"我想要一个算法来找到一个P使得对应的U是一个分区"一个分区是什么?据我所知,U[i] 的成员是 P[i] 和 A 的成员的成员......你能举一个具体的例子来说明你在说什么吗?
-
@jswolf U 的所有元素并集的分区。这个并集实际上与 A 的所有元素的并集相同。更简单地说,我可以说“ U 的元素是成对不相交的”。举一个具体的例子,考虑一盒项链,每条项链上都有一个或多个珠子,一些项链可能在一个或多个点上相互系在一起。我想将项链分成几堆,而不是将它们分开或切割,以便这些堆包含相等数量的珠子,或尽可能接近相等数量的珠子。希望有帮助!
标签: algorithm discrete-mathematics