第187章 杀!-《程序员修真之路》
第(2/3)页
这个问题,实际上比旅行推销员问题的计算量更大。
因为脉环的改变式,相当于旅行推销员里两个城市间的距离。而脉环改变式的种类繁多,无疑比两个城市间距离更复杂。
所以当时在计算出天级功法的时候,程理设计的算法,只是限定一个比较优化的尽可能短路线。而没有去遍历这3万个脉环,所有可能存在的路线。
否则,以乙型算器的计算速度,就算计算1万年,可能也得不出答案。
后来,涉及到要具体计算出《天幻功》的运转路线图,还需要让灵力流在运转过程中,出现9次幻属性编码。
毫无疑问,计算的复杂性和计算量又上了一个台阶。
所以当时程理设计的算法,同样没有去遍历所有可能存在的路线。
而是让算器每计算出一个符合条件的路线图,就直接输出出来。
然后再慢慢往下挖掘出新的路线。
所以,每计算出一个新路线,越往后要挖掘出新算法的计算时间和计算量就越多,并且是指数增加。
如果要让那个乙型算器一下子计算出3万个脉环里,可能存在的所有符合条件的《天幻功》路线图,可能用上几十万年也不一定能算得完。
所以当时程理设计的那个算法,并不是用精确算法,而是采用启发式算法。
“旅行推销员的问题,可供计算的算法很多。”程理一边在光沙上答题,一遍思索道,“早期研究者使用精确算法计算这个问题,常用的算法有:分支定界法、线性规划法、动态规划法等。但是随着城市数量增加,精确算法将变得无能为力。因此在后来的研究中,基本都是用近似算法和启发式算法,比如:遗传算法、模拟退火法、蚁群算法、禁忌搜索算法、贪婪算法和神经网络等……”
程理一边说着,一边在光沙上快速写下了一个算法的设计思路。
“我在计算出《天幻功》运转路线图的时候,采用的就是启发式算法。现在也设计一个启发式算法,来回答这个问题好了。”
程理快速的在光沙写下了一个算法的设计思路。
而当他写完的那一刻,光点就重新组合出“正确”两个字,程理得以前往下一层。
就这样,程理在2901层-2900层中,快速前进着。
作为一名精研过数学的程序员,程理正好对这些都不陌生,甚至可以说十分熟悉。
所以在进入最后100题冲刺的这头90道题,程理答得飞快。
第(2/3)页