从女儿的桌游想到的两道集合问题
正文文字 797 字约 2 分钟公式 77 处1 图
晚上陪女儿玩了她喜爱的桌游Crazy Matching(疯狂对对对).

核心规则比较简单,就是找出任意两张卡片里的相同图案,玩家人数不同时玩法略有不同.
在玩过几次之后,我发现任意两张卡片上相同的图案恰好是一个,这样能在保证一定难度的同时避免无解的情况出现.于是我想到了一道集合中的经典题目,为了确认自己的想法,我拿出说明书把游戏中的元素重新确认了一遍.
这个桌游中共有57个不同的图案,54张卡片,其中每张卡片上有8个不同的图案.
首先想到的是这样一道题(出自matrix67博客):
题目1 在{1,2,⋯,𝑛}中选取尽可能多的子集,使得任意两个子集的交集有且仅有一个元素.
用一些较小的𝑛简单尝试之后发现此题答案恰好为𝑛.下面进行证明.
展开解答收起解答
证明 考虑每个子集所对应的𝑛维01向量,容易看出,两个子集的交集的元素个数恰为其对应向量的内积.下面证明:满足要求的一组子集所对应的向量一定是线性无关的,从而直接得到向量个数不超过𝑛的结论.
记𝑚个子集𝐴_(1),𝐴_(2),⋯,𝐴_(𝑚)所对应的向量分别为𝑣_(1)^(⃗),𝑣_(2)^(⃗),⋯,𝑣_(𝑚)^(⃗).于是对于𝑖≠𝑗,𝑣_(𝑖)^(⃗)⋅𝑣_(𝑗)^(⃗)=1.以及𝑣_(𝑖)^(⃗)⋅𝑣_(𝑖)^(⃗)=|𝐴_(𝑖)|.
令𝑠^(⃗)=∑_(𝑖=1)^(𝑚)𝑎_(𝑖)𝑣_(𝑖)^(⃗)为𝑣_(1)^(⃗),𝑣_(2)^(⃗),⋯,𝑣_(𝑚)^(⃗)的任意一个线性组合.
于是
当𝑠^(⃗)=∑_(𝑖=1)^(𝑚)𝑎_(𝑖)𝑣_(𝑖)^(⃗)=0时,𝑠^(⃗)⋅𝑠^(⃗)=0.而上式的每一项均为非负,故只能是所有的𝑎_(𝑖)均为0.由此证明这𝑚个向量线性无关.
思考了一会,我发现两个问题其实并不完全一致.一方面,上面的题目中对每个子集的元素个数未作要求,而每张卡片上的图案均为8.是否因为加上了每个子集元素个数均相同这一条件,导致了卡片数量为54(略少于图案数量57)这一结果?于是有了以下的问题.
题目2 有54个8元集合,其中任意两个集合的交集恰有一个元素,则这些集合的并集至少有几个元素?
展开解答收起解答
分析
首先考虑最简单的情况,即所有集合均有一个相同的元素,而其余元素均不同.此时所有集合的并集有1+54×7=379个元素,这显然不是最佳的.
如果存在某个集合(不妨设为𝐴_(0)),有𝑎_(1),𝑎_(2),⋯,𝑎_(𝑘)∈𝐴_(1)(𝑘≥2),使得𝑎_(1),𝑎_(2),⋯,𝑎_(𝑘)还在其它集合中.不妨设𝑎_(1)所在的集合(除𝐴_(0)外)个数是最多的,记为s.下证:𝑠≤7.
设这𝑠个集合为𝐴_(1),𝐴_(2),⋯,𝐴_(𝑠).考虑某个𝑎_(2)所在的集合(不妨设为𝐴_(𝑠+1)).由于𝐴_(𝑠+1)与𝐴_(1),𝐴_(2),⋯,𝐴_(𝑠)均有一个公共元素,而𝐴_(1),𝐴_(2),⋯,𝐴_(𝑠)均不含𝑎_(1)以外的公共元素,𝐴_(𝑠+1)中还有7个剩余元素.于是𝑠≤7.
将除𝐴_(0)外的53个集合按照与𝐴_(0)的公共元素分为8组,每一组的集合个数均不超过7.容易知道其中至少有一组恰好有7个集合.这7个集合与𝐴_(0)有同一个公共元素.
因此这些集合的并集元素个数至少为8+7×7=57.
构造略.




留言
正常留言提交后可直接显示,无需人工审核;仍会经过防刷与垃圾内容过滤。请不要留下手机号等私人信息。解法、疑问都可以说;公式用 LaTeX:行内
$…$,整行$$…$$。