“ 真的能一次性全部通過嗎?”
01—全體艦隊通過第二個拉格朗日點
很快,艦隊來到了一片天體密度較之前大幾倍的空間,艦長迅速指揮探測人員測量前方是否存在拉格朗日點。
在緊張的七八小時的探測以後,探測人員給出了探測結果:前方有幾個高度疑似拉格朗日點的位置,但是因爲前方天體密度較大,不是十分確定具體的位置;另外還在距離疑似拉格朗日點的位置約0.005光年的位置探測到了另一個引力密集區。
大家明白,引力密集區意味着天體遍佈,極有可能是引力走廊的第二個拉格朗日點。衆人歡欣鼓舞;同時艦長迅速組織技術人員成立攻堅小組,力求定位第一個拉格朗日點的具體位置,但是隨着探測的深入,他們逐漸發現一個奇怪的現象:有一個點基本可以確定拉格朗日點,其周圍是三個超大天體,通過給艦船一定的初始速度,艦船可以幾乎不依賴任何能量順利通過這一片天體密集區,還可以依賴三個超大天體的引力糾纏效應將飛船以10倍光速拋射到出去;但是經過計算,這個拉格朗日點單次只允許通行一艘母艦或者1艘巡航艦,這是因爲三個超大天體的強大引力交疊在一起,將這個通道壓縮地十分狹窄;而且每當有物體通過這個拉格朗日點,三個天體之間的引力會以光速發生一次擾動,表現爲這個拉格朗日點位置出現振盪,需要139個開普勒星日才能恢復如初,而且振盪期間引力極不穩定,艦船無法通過(就是每次只能通過一艘艦船,然後通道失效139個開普勒日);這就產生了一個難題:要麼尋找其他辦法,使得艦隊的所有母艦、巡航艦、補給艦等一次性全部通過這片區域,同步通過拉格朗日點,以10倍光速去往引力走廊的下一個拉格朗日點;要麼,只通過一艘母艦或者巡航艦作爲探測先鋒,繼續探尋引力走廊的下一個起跳點,但是後者顯然風險極大,因爲前方未知的任何一個狀況都有可能將探險艦摧毀。
看清當前的形式之後,工程人員繼續深入探測,以求挖掘出其他可以通行的點;艦長則與其他艦隊人員評估方案二——冒險通過一艘巡航艦——的風險!
在討論和評估的過程中,出現了這麼三種觀點:
(1)支持冒險:母星開普勒452b危在旦夕,通過一艘起碼還有繼續尋找鉻源的希望,也就意味着開普勒452b還有希望,不能輕易放棄,至於由哪些隊員出征探險,那是後話了。
(2)拒絕冒險:從前面的經歷來看,如果沒有母艦和巡航艦、補給艦之間的相互配合,很難克服遇到的狀況;很多大型設備無法在巡航艦上搭載,而母艦也無法具備巡航艦的機動靈活性,更無法在兩難的情況下“犧牲小我成就大我”,母艦不容有失,單艘艦船通行實爲下下策,需要從長計議。
(3)相信工程人員的能力,相信隨行科學家的能力,我們能夠找到使得整個艦隊一次性順利通過的方法,但是到底需要等多久或者母星開普勒452b允許我們等多久,這個問題無法逃避;還有,除了探測,還有沒有其他辦法也尚未可知
BIT也陷入了思考。
但是很快事情再次出現了轉機:前方探測人員發回新的探測結果,在最明顯的那個拉格朗日點附近,仍然存在多個三體星系統,每個三體星系統圍成的區域內也有高度疑似拉格朗日點的存在;同時,在這片密集天體背後,在引力糾纏點之前,存在一片引力真空區,同樣地,也是由於附近超大天體,導致了這個神奇的引力真空區域的存在。
於是BIT很快有了方案:
既然有這樣一片區域,那麼艦隊可以兵分幾路,待到通過拉格朗日點掙脫密集天體的引力束縛之後,通過短暫航行,在引力真空區匯合,然後再次出發前往引力糾纏點,藉助密集天體的引力糾纏效應,獲得10倍光速的星際旅行速度,前往下一個引力出發點!
可問題來了,怎麼確定哪些三體星之間存在可通行的拉格朗日點呢?
BIT說:思路很簡單,但是需要大家的配合。
首先,根據探測人員的數據,確定一個100%確定的可以通過的拉格朗日點,母艦首先通過此點穿過密集天體;那麼此時,這個點也就失去了作用,至少在139個開普勒星日之內毫無作用,因爲他已經產生了擾動,不允許任何一個巡航艦通過;但是,在母艦通過拉格朗日點的時候,會進行記錄,確定到底什麼樣的三體星系統才能產生如此的拉格朗日點,然後每個三體星系統在是否具備一個可以通行的拉格朗日點這個角度上,都可以被記錄的數據進行刻畫和表徵,比如每個三體星系統有5個關鍵特徵:(1)三體星之間的距離平均值、(2)三體星的引力大小、(3)三體星周圍是否存在小衛星、(4)三體星的自傳速度及(5)三體星的平均擾動
然後就可以把每一個三體星系統表示爲特徵空間的一個點,假定待判別的這個三體星系統是a-b-c系統,我們就找在特徵空間上距離a-b-c系統最近的K個三體星系統,認爲這K個最近的三體星系統在是否具有可通過的拉格朗日點這個問題上具有相似的屬性,簡單點,近朱者赤近墨者黑,如果這K個三體星系統當中的多數都具備可以通行的拉格朗日點,那麼這個a-b-c系統也有可通行的三體星系統;那麼...
BIT還沒來得及繼續說,星牛就打斷道:從現在的結果來看,只有一個疑似拉格朗日點基本確定可以通過,像你說的,就算真的找到了這樣的K個星體系統,這K個也很可能都無法判斷他們是否有拉格朗日點,也就沒法通過這種類似“投票表決”的方式判斷這個a-b-c系統...
BIT哈哈一笑:可以通過虛線脈衝(虛線脈衝就像它的名字一樣,是斷斷續續的一段脈衝,可以通過計算使得一段脈衝在經過三體星系統的時候恰好處於無脈衝的區間,這樣可以避免這個三體星系統真的存在拉格朗日點,卻因爲察覺到有脈衝通過而發生擾動的情況)在這個點附近的幾個三體星系統進行測量,但是由於每次發射虛線脈衝需要消耗大量能量,我們沒辦法通過這種方式覆蓋更大的範圍從而找到足夠多的副拉格朗日點讓整個艦隊一次性通過;通過發射幾次虛線脈衝,比方說找到10個三體星系統,他們是否具備讓巡航艦或者母艦通行的拉格朗日點對我們來說就是已知的了,然後我們就可以在這幾個已經判斷出來的星體系統所在的區域內,通過剛纔的方法找到哪些系統還有拉格朗日點,找到足夠多個具有可通行拉格朗日點的三體星系統直到能夠滿足我們的所有艦隊一次性通過爲止。
星牛思忖很久,欲言又止。
BIT看透了星牛心中疑慮,補充解釋道:隨便指定一個K,誰也無法保證這個數能不能判斷準確,可能K個三體星系統裡面有或者沒有拉格朗日點的三體星系統數量一樣,甚至是多數沒有,但是K+1或者K+2就變成多數都有了,那也說不定。
星牛聽完認同地點點頭。
BIT :這個問題的確存在,所以,爲了將這個可能性儘量減小,我們並不是只進行一輪就直接讓密集三體星區域另一側大部分巡航艦直接通過,而是進行多次調整:通過五到十次確認,增大或者減小K的值。
具體來說怎麼調整呢?一個問題就是我們利用十個已知星體系統當中的一個作爲假想的待判別星體,利用其它九個作爲我們的參照星體,我們就不斷地調整K,也就是說判斷K個星體裡面的多數是有還是沒有;進而判斷這個假想星體,因爲我們實際上知道他到底有沒有拉格朗日點(通過虛線脈衝測量得到),那麼我們就可以看出每次的K的效果,到底能不能判斷準確,我們進行十次甚至更多次,找到一個讓所有已知星體的判定結果都準確或者準確率最高的一個K,然後再拿這個K值以及上面的方法去判定未知星體系有無拉格朗日點,這時候的K是一個相對靠譜的值,當然了,理論上進行的調整次數越多以及我們已知的星體系統越多,我們找到的這個K才越準確。但是...我們的補給沒有那麼多,在保證未來艦隊可能面臨一些棘手的問題時不至於被動,我們只能先進行十次虛線脈衝的測量。
不過有個風險就是,既然是預測,肯定就會有一定的風險,如果哪個三體星系統判斷失誤,那就意味着從這裡通行的巡航艦...
大家都明白了,這時候艦長經過短暫的思考,下達了按照BIT的方案執行的命令。
實際的結果如何呢?
02—掉書袋
【1】 上述情節是對K-近鄰(KNN)分類算法的一個通俗演義。
【2】 K-近鄰非常容易理解:在特徵空間中,若一個樣本附近的k個最近(即特徵空間中最鄰近)樣本的大多數屬於某一類別,則該樣本也屬於該類別。
【3】 K-近鄰與聚類的思想上有些類似,但是K-近鄰是監督算法,需要知道類別標籤,然後對特徵空間中與對應類別相近的點統一打上此標籤。
【4】這裡強調一下K值的選取:如果K值選擇的較小,模型容易過擬合;如果K值過大,那麼模型就過於簡單:
下圖展示了不同的K值對分類效果的影響,其中紅色五邊形是待分類點,也即不知道該點屬於黑色圓圈類還是藍色方塊類。若K=1(紅圈),意爲待分類點(紅色五邊形)與最近的1個點類別相同,應該劃分爲黑色圓圈類;若K=8(藍圈),意爲五邊形與最近的8個樣本點的多數類相同,應該劃分爲藍色方塊類;若K=20(綠圈),意爲五邊形與最近的20個樣本點的多數類相同,再次被劃分爲黑色圓圈類。實際結果是該點劃分爲藍色方塊類更合適,所以K值不能太大也不能太小。
【5】既然是“近鄰”,那麼需要有一個刻畫遠近的尺度標準,在實際應用過程中,通常採用歐氏距離作爲刻畫遠近的標準
03—參考文獻
1. 關鍵字:《統計學習方法》、李航
2. 關鍵字:《機器學習》、西瓜書、周志華
3. 關鍵字:coursera、K-近鄰