我正在研究一個應用程序,我想要採用M中所有可能的k元素組合的集合C(用|| M | | = m),並用M的子集N_i的k個組的集合覆蓋C,其中|| N_i || = n < m∀N_i算法覆蓋M的子集與M的組合k的集合
所以有(m選擇k)組合覆蓋,並且n個元素的每個集合Q_i將包含(n個選擇k個)組合。
我想是,構建組齊,使得q被最小化的算法(即,儘可能接近(米選擇K)/(N選擇K)越好)
因此,例如,如果m = 100,k = 3,n = 10,我會想要10組元素的最小集合,使得它們各自的3組合集合覆蓋了(100選3)3組合的M.
有趣的問題。僅僅因爲好奇心,你爲什麼想要構建更小的集? – bacchus
@bacchus它實際上是相當複雜的解釋,但要點是,每個M的元素代表了一個布爾事件,所以在M中的一組可能的狀態是2^M。如果我可以將M分解爲N的這些集合,|| N || = n
Tom