187
在進入第900題後,程理發現,接下來的90道題,全是跟電子計算機領域息息相關的。
第900題:“問,如何使用機械構造可自動計算的機器?”
第901題:“問,如何通過邏輯開關,來構建具備邏輯運算的機器?”
第90題:“問,數學問題的機械可解性和可計算性的判別方法?”
……
第910題:“問,是否有丟番圖方程可解性的判別。”
……
這90道題涵蓋了計算機領域相關的數學問題。
比如集合論和邏輯學這樣至關重要的,還有統計學、矩陣理論、測度理論、微分流形、李群倫、圖論、混沌動力學、線性規劃……等等。
其中很多是包括對算法的設計。
比如第977到題:“設計算法計算一個問題:一個推銷員要去若幹個城市推銷商品,該推銷員從一個城市出發,需要經過所有城市後,回到出發地。問,應如何選擇行進路線,以使總的行程最短。”
這個問題是著名的旅行推銷員問題,它是組合優化中的一個NP困難問題,在運籌學和理論計算機科學中非常重要。
從圖論的角度來看,該問題實質是在一個帶權完全無向圖中,找一個權值最的Hailn回路。由於該問題的可行解是所有頂點的全排列,隨著頂點數的增加,會產生組合爆炸。
上麵這個法,簡單就是,列舉出所有可能存在的路線,並計算出總路程,然後通過比較得出路程最短的路線。
這個算法思路很簡單,但是當城市超過一定數量卻行不通。
因為計算量太大了。
比如當城市數達到0個的時候,要計算這0個城市所有可能路線中的最短路線,即使一台每秒計算上億次的計算機,也需要計算幾百年的時間。
“其實這個旅行推銷員問題,跟之前我在經脈中計算《幻功》運轉路線圖的算法類似,屬於同一性質的問題。”
之前程理在經脈中計算出級功法的時候,是要從萬個脈環中計算出經過脈環數最少的路線。
這個問題,實際上比旅行推銷員問題的計算量更大。
因為脈環的改變式,相當於旅行推銷員裏兩個城市間的距離。而脈環改變式的種類繁多,無疑比兩個城市間距離更複雜。
所以當時在計算出級功法的時候,程理設計的算法,隻是限定一個比較優化的盡可能短路線。而沒有去遍曆這萬個脈環,所有可能存在的路線。
否則,以乙型算器的計算速度,就算計算1萬年,可能也得不出答案。
後來,涉及到要具體計算出《幻功》的運轉路線圖,還需要讓靈力流在運轉過程中,出現9次幻屬性編碼。
毫無疑問,計算的複雜性和計算量又上了一個台階。
所以當時程理設計的算法,同樣沒有去遍曆所有可能存在的路線。
而是讓算器每計算出一個符合條件的路線圖,就直接輸出出來。
然後再慢慢往下挖掘出新的路線。
所以,每計算出一個新路線,越往後要挖掘出新算法的計算時間和計算量就越多,並且是指數增加。