Sunday, November 1, 2009

有趣的数学: Collatz conjecture

今天在TL上看到的讨论, 知道了这么一个猜想, 小研究了一下.

Collatz conjecture (考拉兹猜想) 又叫Kakutani's Problem (角谷猜想), 3n + 1 conjecture (3n + 1猜想). 最早由Lothar Collatz在1937年提出, 因此而得名. Collatz conjecture的主要内容是给一个大于0的数n, 如果n是偶数, 则除以2, 否则乘上3再加1, 也就是3n + 1, 如此循环反复, 最终都能等于1. 用Python代码表示如下:
def CollatzConjecture(n):
    """Collatz Conjecture"""
    t = 0
    while n != 1:
        t += 1
        if n % 2 == 0:
            n /= 2
        else:
            n = n * 3 + 1
    return t

2006年, 这个猜想被证明为recursively undecidable (递归不可判定). 下面是将2~9999代入Collatz conjecture得到的最大步骤的图形:

Collatz conjecture

看着还是有那么点规律的, 不知道什么时候才能被证明出来.

No comments:

Post a Comment