将此作为家庭作业,并不确定从哪里开始!
给定集合{1,2,3,4}
,您可以从该集合中形成长度为2的六种组合,即:
{1,2},{1,3},{1,4},{2,3},{2,4},{3,4}
如果我要选择其中一种组合,例如({1,2}
),我怎么能分辨出其中有多少组合并没有脱节呢?在这种情况下,它是四:{1,3},{1,4},{2,3}{2,4}
不确定如何以数学方式解决这个问题,我们非常感谢任何正确方向的指针。
答案 0 :(得分:1)
可以从一组n
个项r
项中形成的子集数量
total = P(n, r) = n! / (r! * (n - r)!)
让s
成为所选组合。要查找与s
不相交的子集数量,我们首先查找与s
不相交的子集数量 - s
中没有任何项目的那些集合(让我们拨打该号码k
)。因此,k
是可以从一组n - r
项中形成的子集数量,一次只能r
。
k = P(n - r, r) = (n - r)! / (r! * (n - r - r)!)
= (n - r)! / (r! * (n - 2r)!)
因此,与所选集合不相交的子集数量为:
total - k = P(n, r) - P(n - r, r)
请记住,这包括所选的子集s
。从中减去一个以获得s
的不相交集的数量。
考虑以下示例:
//Let n = 6 and r = 2
total = P(n, r) = n! / (r! * (n - r)!) = 6! / (2! * 4!) = 15
k = P(n - r, r) = (n - r)! / (r! * (n - 2r)!) = 4! / (2! * 2!) = 6
answer = 15 - 6 = 9;
answer excluding the selected set s = 8
//Super set:
{123456}
//Possible sub sets:
{12,13,14,15,16,23,24,25,26,34,35,36,45,46,56} //15 items
//Let the selected set be {12}, then sets without 1 and 2:
{34,35,36,45,46,56} //6 items
//9 sets (including the selected set) are not disjoint with the selected set
答案 1 :(得分:0)
也许首先阅读combinatorics上的一些书籍或文章。
如果你可以编程,this library会帮助你。
答案 2 :(得分:0)
我会做这样的事情:
For each item in my combination ( 1 then 2 ) do the following
* For each item in the set (1, 2, 3, then 4) do the following
** if set item is different from both combination item 1 and 2
*** print out combination item and print out set item
答案 3 :(得分:0)
答案 4 :(得分:0)
如果 a <, X = { a , b }和 Y 的集合是不相交的/ em>和 b 都不会出现在 Y 中。因此,如果在 Y 中出现 a ,那么 X 和 Y 不不相交em> b 出现在 Y 。
中要了解有多少其他集与{ a , b }不相交,请考虑所有可能性:通常所有具有两个元素的集合都不是与{ a , b }不相交的格式为{ a , x }或{ b , x },用于原始集合中的任何 x 。如果原始集合具有 n 元素,那么{ a , x }和另一个 n 的可能性< em> n 代表 { b , x },共计2 * n *。
但是,{ a , b }的格式均为{ a , x }(适用于 x = b )和{ b , x }形式(对于 x > = a ),所以我们算两次。我们必须将它计为零次,因为{ a , b }与我们开始时的设置相同。所以我们减去2,总共2 * n * - 2.
但我们仍在计算{ a , a }( x = a )和{ b , b }(对于 x = b )。但那些只包含一个元素({ a , a } = { a }和{ b ,< em> b } = { b }),所以我们不应该算它们。因此我们减去2,总共2 * n * - 4。
对于您的示例,{1,2,3,4}给出n = 4,因此与{1,2}不相交的元素数量为2 * 4 - 4 = 4.