第187章 杀!



    187

    在进入第2900题后,程理发现,接下来的90道题,全是跟电子计算机领域息息相关的。

    第2900题:“问,如何使用机械构造可自动计算的机器?”

    第2901题:“问,如何通过逻辑开关,来构建具备逻辑运算的机器?”

    第2902题:“问,数学问题的机械可解性和可计算性的判别方法?”

    ……

    第2910题:“问,是否有丢番图方程可解性的判别。”

    ……

    这90道题涵盖了计算机领域相关的数学问题。

    比如集合论和逻辑学这样至关重要的,还有统计学、矩阵理论、测度理论、微分流形、李群伦、图论、混沌动力学、线性规划……等等。

    其中很多是包括对算法的设计。

    比如第2977到题:“设计算法计算一个问题:一个推销员要去若干个城市推销商品,该推销员从一个城市出发,需要经过所有城市后,回到出发地。问,应如何选择行进路线,以使总的行程最短。”

    这个问题是著名的旅行推销员问题,它是组合优化中的一个np困难问题,在运筹学和理论计算机科学中非常重要。

    从图论的角度来看,该问题实质是在一个带权完全无向图中,找一个权值最小的hailton回路。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸。

    上面这个说法,简单说就是,列举出所有可能存在的路线,并计算出总路程,然后通过比较得出路程最短的路线。

    这个算法思路很简单,但是当城市超过一定数量却行不通。

    因为计算量太大了。

    比如当城市数达到20个的时候,要计算这20个城市所有可能路线中的最短路线,即使一台每秒计算上亿次的计算机,也需要计算几百年的时间。

    “其实这个旅行推销员问题,跟之前我在经脉中计算运转路线图的算法类似,属于同一性质的问题。”

    之前程理在经脉中计算出天级功法的时候,是要从3万个脉环中计算出经过脉环数最少的路线。

    这个问题,实际上比旅行推销员问题的计算量更大。

    因为脉环的改变式,相当于旅行推销员里两个城市间的距离。而脉环改变式的种类繁多,无疑比两个城市间距离更复杂。

    所以当时在计算出天级功法的时候,程理设计的算法,只是限定一个比较优化的尽可能短路线。而没有去遍历这3万个脉环,所有可能存在的路线。

    否则,以乙型算器的计算速度,就算计算1万年,可能也得不出答案。

    后来,涉及到要具体计算出的运转路线图,还需要让灵力流在运转过程中,出现9次幻属性编码。

    毫无疑问,计算的复杂性和计算量又上了一个台阶。

    所以当时程理设计的算法,同样没有去遍历所有可能存在的路线。

    而是让算器每计算出一个符合条件的路线图,就直接输出出来。

    然后再慢慢往下挖掘出新的路线。

    所以,每计算出一个新路线,越往后要挖掘出新算法的计算时间和计算量就越多,并且是指数增加。

    如果要让那个乙型算器一下子计算出3万个脉环里,可能存在的所有符合条件的路线图,可能用上几十万年也不一定能算得完。

    所以当时程理设计的那个算法,并不是用精确算法,而是采用启发式算法。

    “旅行推销员的问题,可供计算的算法很多。”程理一边在光沙上答题,一遍思索道,“早期研究者使用精确算法计算这个问题,常用的算法有:分支定界法、线性规划法、动态规划法等。但是随着城市数量增加,精确算法将变得无能为力。因此在后来的研究中,基本都是用近似算法和启发式算法,比如:遗传算法、模拟退火法、蚁群算法、禁忌搜索算法、贪婪算法和神经网络等……”

    程理一边说着,一边在光沙上快速写下了一个算法的设计思路。

    “我在计算出运转路线图的时候,采用的就是启发式算法。现在也设计一个启发式算法,来回答这个问题好了。”...
    本章未完,请点击下一页继续阅读!