老樣子,先簡單介紹一下數學問題,再講點這個project的故事,最後再來點深入的數學吧!

組合中的線性代數方法裡,最入門的應用大概就是Eventown跟Oddtown問題了,先來個問題敘述:

Oddtown問題: 有個奇怪的小鎮裡面有nn個人跟一堆俱樂部,其中俱樂部裡可以有重複的成員。假設每個俱樂部都有奇數個人,且兩兩的交集都是偶數個人,請問最多有幾個俱樂部?

既然說是線性代數方法,那我們就把每個俱樂部看作是一個00–11向量,第ii個位置表示第ii個人在不在這個俱樂部裡面。假設有mm個俱樂部,我們就會得到mm個向量v1,…,vmv_1,\dots,v_m。既然題目是mod 22,那我們就把這些向量看作是F2n\mathbb{F}_2^n裡的向量吧。那從題目條件不難發現

vi⋅vi=1v_i\cdot v_i=1,

vi⋅vj=0v_i\cdot v_j=0, if i≠ji\neq j

熟悉線代的小夥伴就知道,這保證了這些向量線性獨立,於是必須有m≤nm\leq n。而這個上界是可以達到的:考慮標準基底(也就是每個俱樂部恰好對應一個人)。

而在我們的文章中,我們關心的是,如果把mod 22換成mod ℓ\ell,也就是以下問題

ℓ\ell-Oddtown問題: 有個奇怪的小鎮裡面有nn個人跟一堆俱樂部,其中俱樂部裡可以有重複的成員。假設每個俱樂部裡人數都不是ℓ\ell的倍數,且兩兩的交集人數都是ℓ\ell的倍數,請問最多有幾個俱樂部?

這問題在ℓ\ell是質數的時候,做法跟上面一模一樣,但ℓ\ell是合數的時候這問題就難了,也是我們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。感覺離開匹茲堡一切都好起來了。

———-數學時間———-

好啊,上面提到ℓ\ell是質數的時候,我們知道答案一樣是最多nn個。實際上,如果ℓ\ell是質數冪次的話一樣有這個結論,只是需要稍微仔細一點線代技巧,這個我們後面再一起證。

那當ℓ=p1α1…pωαω\ell=p_1^{\alpha_1}\dots p_{\omega}^{\alpha_\omega}的時候怎麼辦呢?有個直接的bound是你考慮令Ai\mathcal{A}_i是那些人數mod piαip_i^{\alpha_i}不是00的俱樂部所成的集合,那我們知道根據質數冪次的結論,會有∣Ai∣≤n|\mathcal{A}_i|\leq n,所以總共至多有ωn\omega n個俱樂部。但so far人類知道的構造都不超過nn個QQ。

實際上,上界可以做得比ωn\omega n稍微再好一點。在我們的paper中,我們證明了

定理 1: 若ℓ\ell有至少兩個質因數,則我們會有上界ωn−2ωlog⁡2n+11\omega n-2\omega \log_2 n+11。

定理 2: 若ℓ\ell有至少兩個奇質因數,且當nn(相較於ℓ\ell)足夠大時,我們會有上界ωn−(2ω+ε)log⁡2n\omega n-(2\omega +\varepsilon)\log_2 n。

我們先暫時不要管定理 1的+11+11,這只是為了讓小數字也會對所加的常數。而定理 2裡面的ε\varepsilon是個跟ℓ\ell有關的正的量,但重點不是他的大小,而是他引申出來的問題,我們後面會稍微提到。

那我們就先來證定理 1吧!首先觀察到,∣Ai∣≤n|\mathcal{A}_i|\leq n這個界其實有點鬆,原因如下。令Bi\mathcal{B}_i為所有不在Ai\mathcal{A}_i裡的俱樂部所成的集合。那如果∣Ai∣=n|\mathcal{A}_i|= n的話,你會發現你沒辦法有任何俱樂部在Bi\mathcal{B}_i裡,所以Ai\mathcal{A}_i跟Bi\mathcal{B}_i的大小會有個trade-off。事實上呢,我們會有以下引理。

引理 1: 令u1,…,uk,w1,…,wmu_1,\dots,u_k,w_1,\dots,w_m是一些Zn\mathbb{Z}^n中的向量,並令dd是w1,…,wmw_1,\dots,w_m over Fp\mathbb{F}_p的維度。假設

ui⋅ui≢0(modpα)u_i\cdot u_i\not\equiv 0\pmod{p^\alpha}

ui⋅uj≡0(modpα)u_i\cdot u_j\equiv 0\pmod{p^\alpha}, if i≠ji\neq j

wi⋅wi≡0(modpα)w_i\cdot w_i\equiv 0\pmod{p^\alpha}

wi⋅wj≡0(modpα)w_i\cdot w_j\equiv 0\pmod{p^\alpha}, if i≠ji\neq j

ui⋅wj≡0(modpα)u_i\cdot w_j\equiv 0\pmod{p^\alpha}

則k+2d≤nk+2d\leq n。

先來直觀解釋一下這東西為什麼該對。我們先想像一下α=1\alpha=1,那u1,…,uk,w1,…,wmu_1,\dots,u_k,w_1,\dots,w_m跟w1,…,wmw_1,\dots,w_m互相垂直。前者維度是k+dk+d,後者想成線性條件有dd維,所以解應該是n−dn-d維。也就是說k+d≤n−dk+d\leq n-d。

那我們實際上來證明吧!我們從w1,…,wmw_1,\dots,w_m裡選dd個over Fp\mathbb{F}_p線性獨立的向量,不失一般性假設是w1,…,wdw_1,\dots,w_d。我們不失一般性假設w1,…,wdw_1,\dots,w_d投影到前dd個entries是線性獨立的,也就是說如果你把w1,…,wdw_1,\dots,w_d作為行向量排成一個矩陣,那前dd列是full rank的。

這樣的話在Fp\mathbb{F}_p中有一個線性變換把w1,…,wdw_1,\dots,w_d變成w1′,…,wd′w'_1,\dots,w'_d使得w1′,…,wd′w'_1,\dots,w'_d的前dd列是單位矩陣。我們可以把這些線性變換的係數以及w1′,…,wd′w'_1,\dots,w'_d視作整數以及整數向量,則w1′,…,wd′w'_1,\dots,w'_d的前dd列是個對角矩陣,且對角線上的值都不被pp整除。我們再把w1′,…,wd′w'_1,\dots,w'_d乘上個係數得到w1∗,…,wd∗w^*_1,\dots,w^*_d,使得這個對角上都mod pαp^\alpha餘11。注意到把w1,…,wdw_1,\dots,w_d換成w1∗,…,wd∗w^*_1,\dots,w^*_d並不會改變引理中的那些性質。

再來我們clean up u1,…,uku_1,\dots,u_k。注意到我可以把uiu_i換成ui+cwj∗u_i+cw^*_j都不會改變引理中的性質,所以我們可以透過加上一些wj∗w^*_j使得uiu_i的前dd個entries都是00,假設得到的是ui∗u^*_i。

現在我們知道了u1∗,…,uk∗,w1∗,…,wd∗u^*_1,\dots,u^*_k,w^*_1,\dots,w^*_d的前dd個entries長怎樣了。令u1−,…,uk−,w1−,…,wd−u^-_1,\dots,u^-_k,w^-_1,\dots,w^-_d是扔掉了前dd個entries後的向量,則我們會有

ui−⋅ui−≢0(modpα)u^-_i\cdot u^-_i\not\equiv 0\pmod{p^\alpha}

ui−⋅uj−≡0(modpα)u^-_i\cdot u^-_j\equiv 0\pmod{p^\alpha}, if i≠ji\neq j

wi−⋅wi−≡−1(modpα)w^-_i\cdot w^-_i\equiv -1\pmod{p^\alpha}

wi−⋅wj−≡0(modpα)w^-_i\cdot w^-_j\equiv 0\pmod{p^\alpha}, if i≠ji\neq j

ui−⋅wj−≡0(modpα)u^-_i\cdot w^-_j\equiv 0\pmod{p^\alpha}

既然u1−,…,uk−,w1−,…,wd−u^-_1,\dots,u^-_k,w^-_1,\dots,w^-_d是n−dn-d維的整數向量,如果k+d>n−dk+d>n-d的話,則u1−,…,uk−,w1−,…,wd−u^-_1,\dots,u^-_k,w^-_1,\dots,w^-_d是over Q\mathbb{Q}線性相依的,也就是說有

a1u1−+⋯+akuk−=b1w1−+⋯+bdwd−a_1u^-_1+\dots+a_ku^-_k=b_1w^-_1+\dots+b_dw^-_d

且我們可以不失一般性假設a1,…,ak,b1,…,bda_1,\dots,a_k,b_1,\dots,b_d都是整數且最大公因數是11。把上式跟wi−w^-_i內積可以得到−bi≡0(modpα)-b_i\equiv 0\pmod{p^\alpha}。所以有

a1u1−+⋯+akuk−≡0(modpα)a_1u^-_1+\dots+a_ku^-_k\equiv 0\pmod{p^\alpha}

由於假設了最大公因數是11,我們知道有某個aia_i跟pp互質。考慮把上式跟ui−u^-_i內積,得到aiui−⋅ui−≡0(modpα)a_iu^-_i\cdot u^-_i\equiv 0\pmod{p^\alpha},這跟ui−⋅ui−≢0(modpα)u^-_i\cdot u^-_i\not\equiv 0\pmod{p^\alpha}矛盾!

注意到,這個引理同時給出了上面提及的∣Ai∣≤n|\mathcal{A}_i|\leq n:考慮令u1∗,…,uk∗u^*_1,\dots,u^*_k是Ai\mathcal{A}_i裡面俱樂部對應到的向量們,然後ww的部分就只取一個零向量。

有了這個引理之後,下個問題就是:我假設知道w1,…,wmw_1,\dots,w_m都是00–11向量,那dd可以多大。如果你考慮取dd個entries然後令w1,…,wmw_1,\dots,w_m是所有在這以外都是00,在這dd個entries可以是00或11的向量,這樣d=log⁡2md=\log_2 m。而實際上這是我們可以做得最好的。

引理 2: 令V⊆FnV\subseteq \mathbb{F}^n是一個dd維的子空間,則∣V∩{0,1}n∣≤2d|V\cap\{0,1\}^n|\leq 2^d。

這個相對好證,你可以不失一般性假設VV投影到前dd個entries是full rank的,那VV裡面的向量dd個entries決定,所以至多2d2^d個。

有了這兩個引理,我們就能來證定理 1了。為了省略一些technical details我會忽略計算。首先,我們知道總共俱樂部數量至多是∣Ai∣+∣Bi∣|\mathcal{A}_i|+|\mathcal{B}_i|,所以如果有一個ii使得∣Bi∣≤n|\mathcal{B}_i|\leq n我們就做完了(除了ω=2\omega=2的時候要把nn換成n/2n/2之類的,但我們先忽略這個小細節XD),因為我們還知道∣Ai∣<=n|\mathcal{A}_i|<=n,也就是總共至多2n2n。

那當∣Bi∣>n|\mathcal{B}_i|>n的時候,由引理 1我們知道,假設dd是Bi\mathcal{B}_i對應的向量們over Fp\mathbb{F}_p的rank,那∣Ai∣+2d≤n|\mathcal{A}_i|+2d\leq n。由引理 2我們還知道∣Bi∣≤2d|\mathcal{B}_i|\leq 2^d。所以有

∣Ai∣+2log⁡2∣Bi∣≤n|\mathcal{A}_i|+2\log_2 |\mathcal{B}_i|\leq n

配上∣Bi∣>n|\mathcal{B}_i|>n,我們知道∣Ai∣≤n−2log⁡2n|\mathcal{A}_i|\leq n-2\log_2 n。由於總共的俱樂部數量也可以用∑i∣Ai∣\sum_i|\mathcal{A}_i| upper bound,所以至多有ωn−2ωlog⁡2n\omega n-2\omega\log_2 n個。(常數的那個+11+11來自一些上面忽略的edge case)

好啊,那我們要怎麼從2ωlog⁡2n2\omega\log_2 n再多擠一點到(2ω+ε)log⁡2n(2\omega+\varepsilon)\log_2 n呢?雖然引理2是緊的,但我們可以在那附近多擠出一點。首先,引理二有個等價敘述:

引理 2’: 令MM是一個行向量不重複的00–11矩陣,假設d=rankF(M)d=\text{rank}_{\mathbb{F}}(M),則MM至多有2d2^d列。

而在我們的問題中,我們(忽略一些technical details後,大約)可以得到一個∣Bi∣|\mathcal{B}_i| by nn的00–11矩陣MM,其中MM的行向量不重複,列向量也不重複。而問題是d=rankF(M)d=\text{rank}_{\mathbb{F}}(M)能有多小,其中F=Fpi\mathbb{F}=\mathbb{F}_{p_i}。

假設MM有rr列cc行的話,我們會有如下表格:

其中construction代表存在構造,trivial bound就是上述的引理 2’,這告訴我們說那以外的都不可能。而我們透過一些基礎的傅立葉變換加上一些組合引理可以得到斜線那塊也不可能,而這也幫我們從2ωlog⁡2n2\omega\log_2 n多擠一點到(2ω+ε)log⁡2n(2\omega+\varepsilon)\log_2 n。細節請參考paper XD