從決策樹、狀態機到我對平行宇宙的一點想像。

我總是喜歡在一開始把限制或警告放在不論是報告或是演講的開頭,這樣可以讓我自己或是想要接著討論的人,預先建立哪些是我想要討論的範圍,哪些是我也不確定的,哪些是可以討論/確定/知道的的。

我不是數學專業、物理專業、資訊專業,更不是哲學專業。這篇文章僅僅是紀錄我在閱讀過一些科普書籍、科學論文、以及一些科學家或是哲學家的訪談後,對於「平行宇宙」這個概念的想像與思考。
以下所出現專有名詞僅作為整理直覺使用的類比工具,在我還沒有找到更適合描述的詞彙下,「決策樹」、「狀態機」是既有且更直覺對應的概念,而非旨在提出新的理論框架。 特別是以下討論的「平行宇宙」也不是嚴格物理假說討論的概念,而是做為一個對日常用語的想像。

以下正文開始

前些日子,在網路上看到一個說法「程式就是一種決策樹」。
當時沒有多想,只覺得這個比喻應該滿適合一般民眾理解程式的運作方式。雖然會有迴圈、函式呼叫等概念,但如果只觀察一段有限的執行路徑,將不同條件下的結果展開,或許確實可以用一棵樹來比喻程式的運作邏輯。
經過了兩週,腦袋突然又閃過這句話。回頭一想,不對阿?雖然程式的運作邏輯可以用決策樹來比喻,但仍然是使用「狀態機」的概念來描述程式的運作更加精準。
或許在現代生成式人工智慧發達的情況下,對於非資訊背景的人想要入門來說,程式本身可能可以簡化比喻成一種決策樹。因為多數一般使用者的想要實作程式需求,相對容易用「輸入」到「輸出」的映射關係來理解,這個過程就像是從決策樹根到葉節點的決策過程。而這些功能的程式建立與驗證相對容易,相對適合非資訊背景人作為讓生成式人工智慧來建立程式輔助日常需求的入門練習。
然而,對於有實際參與程式開發的人來說,許多程式的運作邏輯更適合用「狀態機」的「狀態」與「狀態轉移」的概念來描述。我們不僅有輸入、輸出的需求,更多的存在物件處理、函式呼叫、事件觸發等其他方式,甚至存在多執行緒等過程,讓系統從一個狀態轉移到另一個狀態,並根據不同的狀態做出不同的行為,而不是單純的決策樹。
也就是說:決策樹比較適合描述程式的局部判斷路徑,而狀態機的狀態與狀態轉移觀點則更廣泛地描述了程式的行為模式。這種差異在複雜的系統中尤為明顯,因為程式的行為不僅僅取決於當前的輸入,還取決於過去的狀態和事件的歷史。

上面這些想法,都只是計算機概論可以理解的層次,對於程式的運作邏輯,還有更深層的理解。
但是在這層的反思之下我突然想到,還有什麼是常常被拿來做為比喻的概念,但其實可能不完全正確的呢?

這個時候我想到在一些科幻作品中,常常會提到在我們的各種不同的決定,可能產生不同的平行宇宙分支(為此窮盡穿越時空等方法就為了改變過去的決定)。
當前,人類對於平行宇宙的概念有非常多的詮釋與想像,特別是許多理論都跟量子力學有關,依我目前程度是完全搞不懂的。
所以,在這裡不考慮這些複雜世界層級的理論,只是借用這個詞彙。

我曾經認為的平行宇宙的想像是:

每一個選擇都可能導致一個不同的結果,而這些結果可能會在不同的平行宇宙中同時存在。  
這些選擇大則可能是人生的重大決定,小到某些我們目前只能以機率描述的物理事件等等。因此,選擇與決策只是理解分支的直覺描述,非產生分支的必要條件。  
這些平行宇宙彼此之間可能只有微小的差異,也可能有著截然不同的歷史與未來,甚至是不同的物理定律與世界觀。  
而我只是在其中的一個宇宙中,經歷著我所做出的選擇所帶來的結果。

在我原先的想像中,這就像是一個無限延伸的樹狀結構,從不論是大爆炸早期狀態或是任何一個還無法理解或觀察到的起點開始,總之它迅速的分岔成無數的分支,每一個分支都代表著一個可能的宇宙。這些分支不斷地延伸,形成了一個龐大而複雜的網絡,就像是決策樹一樣,每一個分支都代表著不同的選擇與可能有不同的結果。
在這個情形下,我們所經歷的宇宙只是這個龐大樹狀結構中的一個分支,而其他的分支則代表著我們未曾選擇或未曾經歷的可能性。
就像我們在下達人生/投資決策時,需反覆思考機會成本與風險一樣。

在這樣的世界觀下,對我來說算是很有激勵作用的。因為在這個情況下,每一個決定都可以當作是一個新的起點,而且未來存在無限的分支可能性。
跟過去 從一棵樹開始的熵的思考 的想法有點像,都是在思考「分岔」的概念。

這幾天就突然想到,有沒有可能過去的我就只是還不理解這個世界的運作方式,所以受限於以決策樹的思維來理解這個世界的運作邏輯。然而,這個世界的底層運作邏輯其實是「狀態機」的概念?

假設存在這樣一個模型:

整個完整的宇宙就是一個複雜系統,而其可能具有的所有狀態可以構成一高維度的狀態空間。  
這些狀態包含了現在正處理的資訊、需要做出的決策等訊息,甚至可能包含世界的運作狀態等。  
在這個狀態空間中的任一點與它所存在的一定距離區塊中,其基本參數相近。  
因此,一般意義上理解的平行宇宙本身在這裡並不視為完全獨立的宇宙容器,而同樣是一種狀態散在這個狀態空間中的不同的區塊,並且存在某種距離。  
而我們相似於狀態機上的一個指針,而現在只是在這個狀態空間中位於某一條狀態演化軌跡上的其中一個狀態。  
我們在這個狀態機的演化路徑,是所有過去的決策與事件所導致的結果。  
而這個狀態機的規則則描述了不同狀態在各種決策與事件下,可以如何轉移到其他狀態。以前所設想的決策樹世界只是在每個狀態下展開的規則集合。  
其中,絕大多數的狀態機規則存在某種局部性,使我們難以跨越狀態空間區塊間的距離,轉移到截然不同的區塊。  
在這裡稍微擴展一下傳統意義上的狀態機。在這個狀態空間裡面,可以不僅只有一個指針演化的軌跡,同時也支援許多的指針在同一套狀態空間下運作。  
每一個指針的運作既是一個可以運行的狀態機在空間中進行演化,又共同耦合、疊加於同一個狀態空間中。

在這樣的世界觀下,進一步擴展了我原本用決策樹的觀點來描述這個我想像中的世界。
在這樣的想像中,不再是以樹狀的角度對世界進行觀測,而是以圖(Graph)的方式呈現在我們面前。在這個意義下,狀態機可以用圖(Graph)來表示,而所有可能的狀態則構成一個狀態空間。
而且更優雅的改善了一些過去沒有察覺的決策樹觀點:

  • 在決策樹的模型中,不同分支不會重新匯合到同一個節點。因此,不同歷史會一直保留為不同的分支。
    然而在狀態機的視角,就算做了不同的決策,依然有可能回到相同狀態。
    也就是說,在這個情況下,即使狀態或走向有偏差,仍可能存在回到理想狀態的路徑。
    當然,這裡所說的「相同狀態」取決於如何定義,如果狀態包含越多資訊,『兩次狀態完全相同』的判定條件就越嚴格。
    而決策樹當然也可以在不同分支可能描述出「相同狀態」,但在樹的表示法中,它們會是兩個截然不同的節點。
  • 在狀態機的視角中,支援同時考慮許多條不同的狀態演化軌跡。這些軌跡可能彼此獨立,也可能因為共享環境或其他狀態變數而帶來外部的衝擊(無論好壞)。
  • 在這個類比裡,仍然可以容納「不同宇宙可能具有不同物理規則」的想像。 若進一步假設這世界的運作規則也作為更高階模型中狀態空間的參數。
    那在極早期的事件(甚至有可能是整個狀態機的起點)不論是我們所理解的大爆炸早期狀態,或是假設存在某個更根本的初始條件,都可以想像成讓系統從整個狀態空間中的不同區域開始演化。而我們通常只在這個相對小的空間區域內經歷變化。同時存在無數多不同的區域的概念,則仍可以容納不同的參數存在。
    因為狀態空間不必局限於我們直覺上的一維或二維結構,而可以包含非常多甚至無法直觀想像的維度。
  • 在狀態機的視角下,不需要再為每一個可能性建立一個彼此完全獨立的世界容器,而可以讓許多可能性共享同一個狀態空間。
    使用樹狀的模型,只是把歷史當作節點的一部分;基於圖的觀點則允許不同的歷史重新凝聚,而讓不同歷史共享狀態與轉移結構。

透過思考了這樣子的世界觀,似乎比單純的決策樹結構更能描繪我對於「平行宇宙」的想像與直覺。


以上,只是一個微小的我,嘗試走在更理解這個世界運作的路上的想法,轉作網路上的閒聊。
存在一個系統裡的我當然難以窺見系統的全貌。