- 在线时间
- 1 小时
- 最后登录
- 2015-11-4
- 注册时间
- 2015-10-21
- 听众数
- 9
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 4
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 2
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 3
升级   80% 该用户从未签到 - 自我介绍
- w
 |
请教各位大神一个组合数学的问题:, X" ~8 Q# G' ^8 w" P" ]
2 W! P8 B5 L8 Y# `) T3 z1:在m个样本中(45<=m<=54),随机选出n个样本(7<=n<=25)。从刚才这n个样本中,再随机选出k个样本(4<=k<=7)组成一些组合,那么这些组合有S1(也就是C(n,k))个。再从n个样本中选出s个样本(3<=s<=7),这样就有S2(也就是C(n,s))个组合。# |3 ?3 k5 M: T) D( n" s; m( q' ?
/ Y; q( A8 X7 ` V5 U' c0 {& t2:我们知道,S1的组合当中,某些组合中的元素,覆盖了S2的组合当中某一个或者某几个组合的所有元素。
) Q1 @7 F9 L0 l. }& O4 }例如:S1的组合当中有一个组合是a1(a,b,c,d,e),S2的组合当中有一个组合是b1(b,d,e),另一个组合是b2(a,c,d)。那么a1中的元素就覆盖了b2,b3中的所有元素,这样相当于覆盖了两个S2中的组合。
1 C' R9 @* l% I* d
2 H% G! W' v/ t0 I现在,要求S1的组合当中最少要有多少个像a1这样的组合,就能覆盖S2中的所有元素。并列出这些组合。
' Y) `5 X5 H2 {+ j0 x* M2 X# ~) ^" H) H0 A6 D
举例:" q$ ?+ ]) e4 E7 g
假设从m=45个样本中,随机抽取n=7个样本(假设这些样本是A,B,C,D,E,F,G),k=6,s=5,那么S1=C(7,6)=7,S2=C(7,5)=21。在S1当中,只需要最少如下6个组合,就可以覆盖S2中组成所有组合的元素。
. a. v$ }, A: y7 a( H, }. b4 \: [! A3 t! z
1. A,B,C,D,E,G 2. A,B,C,D,F,G 3. A,B,C,E,F,G
/ M x: e8 Y3 W3 C" W4 z4. A,B,D,E,F,G 5. A,C,D,E,F,G 6. B,C,D,E,F,G
' q$ r3 ]1 g) u! D. k# Z, j( `( U! t, V# ~3 W& P
8 U3 Z& X3 O' r
小弟想知道怎么编程解决这个问题?或者有没有什么数学方法,能直接找出这些最小的组合?
$ O, \7 k$ k& j4 d; |6 o: {
. ^7 L/ U! @- y) z原题是英文的,如附件:* w( z' G8 q; P0 m, {
英语原文.pdf
(283.04 KB, 下载次数: 1)
8 Q/ N0 `9 s- x' ?" d
2 C* Y4 p* n6 n
1 `1 C* m8 a& V) f, q t' @% S# G3 ^, _5 c/ Z9 V7 O
3 A$ q5 j; b! J* o0 o# _. q- ` |
zan
|