老樣子,先簡單介紹一下數學問題,再講點這個project的故事,最後再來點深入的數學吧!
組合中的線性代數方法裡,最入門的應用大概就是Eventown跟Oddtown問題了,先來個問題敘述:
Oddtown問題: 有個奇怪的小鎮裡面有n個人跟一堆俱樂部,其中俱樂部裡可以有重複的成員。假設每個俱樂部都有奇數個人,且兩兩的交集都是偶數個人,請問最多有幾個俱樂部?
既然說是線性代數方法,那我們就把每個俱樂部看作是一個0–1向量,第i個位置表示第i個人在不在這個俱樂部裡面。假設有m個俱樂部,我們就會得到m個向量v1,…,vm。既然題目是mod 2,那我們就把這些向量看作是F2n裡的向量吧。那從題目條件不難發現
vi⋅vi=1,
vi⋅vj=0, if i=j
熟悉線代的小夥伴就知道,這保證了這些向量線性獨立,於是必須有m≤n。而這個上界是可以達到的:考慮標準基底(也就是每個俱樂部恰好對應一個人)。
而在我們的文章中,我們關心的是,如果把mod 2換成mod ℓ,也就是以下問題
ℓ-Oddtown問題: 有個奇怪的小鎮裡面有n個人跟一堆俱樂部,其中俱樂部裡可以有重複的成員。假設每個俱樂部裡人數都不是ℓ的倍數,且兩兩的交集人數都是ℓ的倍數,請問最多有幾個俱樂部?
這問題在ℓ是質數的時候,做法跟上面一模一樣,但ℓ是合數的時候這問題就難了,也是我們paper主要關心的問題。先來個連結,然後開始講這個project的故事XD
Paper連結:https://arxiv.org/abs/2509.00586
———-故事時間———-
今年四月泽宇跑來波士頓玩,然後跟我提了這個問題中,Boris跟他有個線性代數問題不會做,然後跟我敘述了一下。於是我們就在晚餐前在common room想這個問題。
晚餐吃一吃,我越想越不對勁(?)。回想起丘賽學到的技巧:遇事不決,方的矩陣Jordan form,長的矩陣SVD(亂講)。於是發現我只要線性組合把其中一塊變成單位矩陣,然後做點線性變換,就可以化成好做的case了。於是我就在晚餐吃到一半開始跟他講怎麼做XD(對不起了好吃的somenya以及一起吃飯的他的另一個朋友)。
於是我跟Boris就久違的再次開始了一個project,感覺還蠻神奇的。之前在CMU後兩年覺得我們style很不合,所以沒有繼續合作,但實際上再次work就覺得還行,其實就只是匹茲堡這地方太糟糕,我沒有心力做些對我來說是支線任務的數學問題吧XD。感覺離開匹茲堡一切都好起來了。
———-數學時間———-
好啊,上面提到ℓ是質數的時候,我們知道答案一樣是最多n個。實際上,如果ℓ是質數冪次的話一樣有這個結論,只是需要稍微仔細一點線代技巧,這個我們後面再一起證。
那當ℓ=p1α1…pωαω的時候怎麼辦呢?有個直接的bound是你考慮令Ai是那些人數mod piαi不是0的俱樂部所成的集合,那我們知道根據質數冪次的結論,會有∣Ai∣≤n,所以總共至多有ωn個俱樂部。但so far人類知道的構造都不超過n個QQ。
實際上,上界可以做得比ωn稍微再好一點。在我們的paper中,我們證明了
定理 1: 若ℓ有至少兩個質因數,則我們會有上界ωn−2ωlog2n+11。
定理 2: 若ℓ有至少兩個奇質因數,且當n(相較於ℓ)足夠大時,我們會有上界ωn−(2ω+ε)log2n。
我們先暫時不要管定理 1的+11,這只是為了讓小數字也會對所加的常數。而定理 2裡面的ε是個跟ℓ有關的正的量,但重點不是他的大小,而是他引申出來的問題,我們後面會稍微提到。
那我們就先來證定理 1吧!首先觀察到,∣Ai∣≤n這個界其實有點鬆,原因如下。令Bi為所有不在Ai裡的俱樂部所成的集合。那如果∣Ai∣=n的話,你會發現你沒辦法有任何俱樂部在Bi裡,所以Ai跟Bi的大小會有個trade-off。事實上呢,我們會有以下引理。
引理 1: 令u1,…,uk,w1,…,wm是一些Zn中的向量,並令d是w1,…,wm over Fp的維度。假設
ui⋅ui≡0(modpα)
ui⋅uj≡0(modpα), if i=j
wi⋅wi≡0(modpα)
wi⋅wj≡0(modpα), if i=j
ui⋅wj≡0(modpα)
則k+2d≤n。
先來直觀解釋一下這東西為什麼該對。我們先想像一下α=1,那u1,…,uk,w1,…,wm跟w1,…,wm互相垂直。前者維度是k+d,後者想成線性條件有d維,所以解應該是n−d維。也就是說k+d≤n−d。
那我們實際上來證明吧!我們從w1,…,wm裡選d個over Fp線性獨立的向量,不失一般性假設是w1,…,wd。我們不失一般性假設w1,…,wd投影到前d個entries是線性獨立的,也就是說如果你把w1,…,wd作為行向量排成一個矩陣,那前d列是full rank的。
這樣的話在Fp中有一個線性變換把w1,…,wd變成w1′,…,wd′使得w1′,…,wd′的前d列是單位矩陣。我們可以把這些線性變換的係數以及w1′,…,wd′視作整數以及整數向量,則w1′,…,wd′的前d列是個對角矩陣,且對角線上的值都不被p整除。我們再把w1′,…,wd′乘上個係數得到w1∗,…,wd∗,使得這個對角上都mod pα餘1。注意到把w1,…,wd換成w1∗,…,wd∗並不會改變引理中的那些性質。
再來我們clean up u1,…,uk。注意到我可以把ui換成ui+cwj∗都不會改變引理中的性質,所以我們可以透過加上一些wj∗使得ui的前d個entries都是0,假設得到的是ui∗。
現在我們知道了u1∗,…,uk∗,w1∗,…,wd∗的前d個entries長怎樣了。令u1−,…,uk−,w1−,…,wd−是扔掉了前d個entries後的向量,則我們會有
ui−⋅ui−≡0(modpα)
ui−⋅uj−≡0(modpα), if i=j
wi−⋅wi−≡−1(modpα)
wi−⋅wj−≡0(modpα), if i=j
ui−⋅wj−≡0(modpα)
既然u1−,…,uk−,w1−,…,wd−是n−d維的整數向量,如果k+d>n−d的話,則u1−,…,uk−,w1−,…,wd−是over Q線性相依的,也就是說有
a1u1−+⋯+akuk−=b1w1−+⋯+bdwd−
且我們可以不失一般性假設a1,…,ak,b1,…,bd都是整數且最大公因數是1。把上式跟wi−內積可以得到−bi≡0(modpα)。所以有
a1u1−+⋯+akuk−≡0(modpα)
由於假設了最大公因數是1,我們知道有某個ai跟p互質。考慮把上式跟ui−內積,得到aiui−⋅ui−≡0(modpα),這跟ui−⋅ui−≡0(modpα)矛盾!
注意到,這個引理同時給出了上面提及的∣Ai∣≤n:考慮令u1∗,…,uk∗是Ai裡面俱樂部對應到的向量們,然後w的部分就只取一個零向量。
有了這個引理之後,下個問題就是:我假設知道w1,…,wm都是0–1向量,那d可以多大。如果你考慮取d個entries然後令w1,…,wm是所有在這以外都是0,在這d個entries可以是0或1的向量,這樣d=log2m。而實際上這是我們可以做得最好的。
引理 2: 令V⊆Fn是一個d維的子空間,則∣V∩{0,1}n∣≤2d。
這個相對好證,你可以不失一般性假設V投影到前d個entries是full rank的,那V裡面的向量d個entries決定,所以至多2d個。
有了這兩個引理,我們就能來證定理 1了。為了省略一些technical details我會忽略計算。首先,我們知道總共俱樂部數量至多是∣Ai∣+∣Bi∣,所以如果有一個i使得∣Bi∣≤n我們就做完了(除了ω=2的時候要把n換成n/2之類的,但我們先忽略這個小細節XD),因為我們還知道∣Ai∣<=n,也就是總共至多2n。
那當∣Bi∣>n的時候,由引理 1我們知道,假設d是Bi對應的向量們over Fp的rank,那∣Ai∣+2d≤n。由引理 2我們還知道∣Bi∣≤2d。所以有
∣Ai∣+2log2∣Bi∣≤n
配上∣Bi∣>n,我們知道∣Ai∣≤n−2log2n。由於總共的俱樂部數量也可以用∑i∣Ai∣ upper bound,所以至多有ωn−2ωlog2n個。(常數的那個+11來自一些上面忽略的edge case)
好啊,那我們要怎麼從2ωlog2n再多擠一點到(2ω+ε)log2n呢?雖然引理2是緊的,但我們可以在那附近多擠出一點。首先,引理二有個等價敘述:
引理 2’: 令M是一個行向量不重複的0–1矩陣,假設d=rankF(M),則M至多有2d列。
而在我們的問題中,我們(忽略一些technical details後,大約)可以得到一個∣Bi∣ by n的0–1矩陣M,其中M的行向量不重複,列向量也不重複。而問題是d=rankF(M)能有多小,其中F=Fpi。
假設M有r列c行的話,我們會有如下表格:
其中construction代表存在構造,trivial bound就是上述的引理 2’,這告訴我們說那以外的都不可能。而我們透過一些基礎的傅立葉變換加上一些組合引理可以得到斜線那塊也不可能,而這也幫我們從2ωlog2n多擠一點到(2ω+ε)log2n。細節請參考paper XD