187.
在进入第2900题后,程理发现,接下来的90道题,全是跟电子计算机领域息息相关的。
第2900题:“问,如何使用机械构造可自动计算的机器?”
第2901题:“问,如何通过逻辑开关,来构建具备逻辑运算的机器?”
第2902题:“问,数学问题的机械可解性和可计算性的判别方法?”
……
第2910题:“问,是否有丢番图方程可解性的判别。”
……
这90道题涵盖了计算机领域相关的数学问题。
比如集合论和逻辑学这样至关重要的,还有统计学、矩阵理论、测度理论、微分流形、李群伦、图论、混沌动力学、线性规划……等等。
其中很多是包括对算法的设计。
比如第2977到题:“设计算法计算一个问题:一个推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。问,应如何选择行进路线,以使总的行程最短。”
这个问题是著名的旅行推销员问题,它是组合优化中的一个NP困难问题,在运筹学和理论计算机科学中非常重要。
从图论的角度来看,该问题实质是在一个带权完全无向图中,找一个权值最小的Hamilton回路。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸。
上面这个说法,简单说就是,列举出所有可能存在的路线,并计算出总路程,然后通过比较得出路程最短的路线。
这个算法思路很简单,但是当城市超过一定数量却行不通。
因为计算量太大了。
比如当城市数达到20个的时候,要计算这20个城市所有可能路线中的最短路线,即使一台每秒计算上亿次的计算机,也需要计算几百年的时间。
“其实这个旅行推销员问题,跟之前我在经脉中计算《天幻功》运转路线图的算法类似,属于同一性质的问题。”
之前程理在经脉中计算出天级功法的时候,是要从3万个脉环中计算出经过脉环数最少的路线。
这个问题,实际上比旅行推销员问题的计算量更大。
因为脉环的改变式,相当于旅行推销员里两个城市间的距离。而脉环改变式的种类繁多,无疑比两个城市间距离更复杂。
所以当时在计算出天级功法的时候,程理设计的算法,只是限定一个比较优化的尽可能短路线。而没有去遍历这3万个脉环,所有可能存在的路线。
否则,以乙型算器的计算速度,就算计算1万年,可能也得不出答案。
后来,涉及到要具体计算出《天幻功》的运转路线图,还需要让灵力流在运转过程中,出现9次幻属性编码。
毫无疑问,计算的复杂性和计算量又上了一个台阶。
所以当时程理设计的算法,同样没有去遍历所有可能存在的路线。
而是让算器每计算出一个符合条件的路线图,就直接输出出来。
然后再慢慢往下挖掘出新的路线。
斗罗书:(www.douluoshu.com)