Collatz猜想,是德國漢堡大學一個名叫Lothar Collatz的大學生在1937年提出的問題。說的是一個遞推數列,從一個初始正整數a出發,如果是偶數就除以2,如果是奇數就乘以3再加1;那麽最後總會落入4,2,1的循環。
問題闡述如此簡單,小學生都明白。我經常把它作循環數列的例子講給小學生聽;沒有想到,其證明卻很難。許多大數學家對此都束手無策。有人甚至用分布式計算機去驗算,算到了2的70次方,結論都是對的。我看呢,大家都是走錯了方向。
就把上述運算稱作一個C運算吧:C(n)= n/2,若n為偶數;C(n) = 3n + 1,若n為奇數。顯然,當初始值a為2的冪時,結論成立。下麵對區間I(k) = [2^k, 2^(k+1))用歸納法證明。K = 0時顯然。假設當初始值a在區間I(k)中時,結論成立;我們隻要證明,區間I(k+1) 中的任何數b, 經過若幹次C運算,結果必定落在I(k)或更小的I(j)上。
當b為偶數時,一次C運算就落在了I(k)中;對於奇數b, 把它寫為二進製(2的冪次之和),在逐步驗算之後,便可知結論成立。我隻是驗算了幾個數,結果都對。
直接計算也是可行的。為此我搞出了一個混合(2, 3)進位製的表數法,為了乘3及除2計算的方便。我們知道有6進製,係數在0到5之間;把6的冪拆為2的冪與3的冪之積,任何一個正整數都可唯一表示為形如a(i,j)2^i 3^j 的一些數之和,其中,係數a(i,j)取值0或1,指數i與j之差小於或等於1,或者i = j+ 2. 有此便可直接證明了。
另外一個有趣的等價提法是,考慮C的逆運算;即從任何一個正整數出發,如果它是6m + 4的形式,就減1再除以3,否則都乘以2. 最後結果有兩種:如果是從1,2,或4開始,那就落入循環;其它都是一個等比數列:(3^k)(2^n),n = 1, 2, 3, …。這也可以用混合(2,3)進位製來驗算。
這類問題還可以作推廣。搞出個(a, b)混合進位製的表數法,遠比解決一個具體問題有意義得多。計算機的驗證,純粹是無聊人的遊戲。