Collatz problem是隐式图的一个很好的例子。如果n是偶数,则Collatz函数c(n)定义为n/2;如果n是奇数,则定义为3n +1。例如,c( 32 ) = 32/2 = 16,因为32是偶数,而c(5) = 3*5 +1= 16,因为5是奇数。
问题是,如果您选择一个数字n开始,并继续应用c,它最终会达到1吗?例如,从5开始,c(5) = 16,然后c(16) = 8,然后c(8) = 4,然后c(4) = 2,然后c(2) = 1。
这可能有助于可视化函数c执行的by drawing a graph操作,其中每个数字n到c(N)都有一条边:
将其视为一个图,Collatz猜想指出每个节点都有一条到节点1的路径。但是要研究这个问题,不需要将图存储在内存中;我们只需使用函数c(n)来计算n中的边到哪里。相反,如果我们想知道另一个方向的边,那么n总是有来自2n的边,并且当n-1可被3整除时,它具有来自(n - 1)/3的边。