日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sperner定理及其证明

發布時間:2025/3/15 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sperner定理及其证明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Sperner定理及其證明

額,最近看到了一個十分有趣的定理——Sperner定理。其實這個定理在OI中沒什么用處,因此我都沒把這篇文章放到我的OI標簽里(不知道在MO中是否有用?)但是覺得它很有趣于是就過來寫一下。

由于博主太弱不會用LaTeX寫取整符號,本文中用\([x]\)表示\(x\)下取整。

問題: 有一個\(n\)元集合\(S_n\),從中選出若干個子集,滿足沒有任何兩個子集之間存在包含關系,問最多能選出多少個?

首先結論是很好猜的。如果把所有\(k\)元子集全部選出,那么顯然不會包含,一共能選\(n\choose k\)個子集。顯然這個數在\([\frac{n}{2}]\)時取到最大值,我也構造不出來什么更優的選法,我猜答案就是\(n\choose [\frac{n}{2}]\)

正確答案就是\(n\choose [\frac{n}{2}]\). 但這個結論的精彩之處在于它的證明:

證明: 對于選出的每一個子集\(S\),我們定義它的生成排列(好吧這個名字是我自己瞎起的)為一些\(1\)\(n\)的排列,這個排列應當滿足前\(|S|\)個元素構成的集合為\(S\), 后\(n-|S|\)個元素構成的集合為\(S_n-S\). 不難發現一個集合\(S\)的生成排列有\(|S|!(n-|S|)!\)個。

例如: \(n=5\),集合\({1,3,4}\)的生成排列有以下\(12\)個:

1 3 4 2 5 1 3 4 5 2 1 4 3 2 5 1 4 3 5 2 3 1 4 2 5 3 1 4 5 2 3 4 1 2 5 3 4 1 5 2 4 1 3 2 5 4 1 3 5 2 4 3 1 2 5 4 3 1 5 2

然后我們考慮題目中子集互不包含的限制,在這里轉化成了,從任何兩個子集的各任取一個生成排列,這兩個生成排列不相等。也就是所有的子集的生成排列是沒有重復的。因為如果某個排列\(p\)同時是兩個不相等的子集\(A,B\)的生成排列,若\(|A|=|B|\)則有\(A\)\(B\)都是排列\(p\)的同一前綴構成的集合,\(A,B\)相等,矛盾;否則不妨設\(|A|<|B|\), 則\(A\)集合內元素的一個排列是\(B\)內元素的一個排列的前綴,顯然有\(A\in B\)。同樣地,我們可以證明如果\(A\)包含\(B\), 則一定存在排列\(p\)滿足\(p\)同時是\(A\)\(B\)的生成排列。

因此,原題條件等價于,選出盡量多的集合,使得所有集合的生成排列沒有重復。而設選出了\(m\)個集合,第\(i\)個集合的大小是\(S_i\), 因為所有生成排列沒有重復,所有生成排列的個數不超過\(n!\), 也就是\[\sum^m_{i} |S_i|!(n-|S_i|)!\le n!\]\(n!\)除過去\[\sum^m_{i=1} \frac{1}{n\choose S_i}\le 1\]根據簡單的二項式系數性質可得\(m\le {n\choose [\frac{n}{2}]}\)

(非常抱歉我把如此簡單的東西講復雜了QAQ)

不過以上過程雖然很容易理解,但是確實很難想啊……據說數學界研究了十幾年才得到這個證明QAQ

另外還聽說這個定理可以推廣到可重集。

發表于 2019-01-25 18:18 suncongbo 閱讀(...) 評論(...) 編輯 收藏 刷新評論刷新頁面返回頂部

總結

以上是生活随笔為你收集整理的Sperner定理及其证明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。