亲,双击屏幕即可自动滚动
关灯 特大 直达底部
《程序员修真之路》正文 第187章 杀!
    187

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

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

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

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

    ……

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

    ……

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

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

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

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

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

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

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

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

    因为计算量太大了。

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

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

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

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

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

    所以当时在计算出天级功法的时候,程理设计的算法,只是限定一