什麼是遞歸?
一個事物由這個事物本身所構建,那麼在理解這個事物的時候,就需要先理解事物的構成,于是就回到理解這個事物本身,從而再次需要理解這個事物的構成……這個不斷循環理解的過程就形成了遞歸。(這個解釋本身也是遞歸的)
而從字面意思來看,遞——是傳遞,歸——是回歸。那麼從傳遞開始回歸到傳遞的開始,就是從一個地方出發,回到了出發的地方,就完成了一次循環,而不斷重複這個循環,就是遞歸。
這裡有一個耳熟能詳的故事:從前有一座山,山裡有一座廟,廟裡有一個老和尚和一個小和尚,他們在說故事,故事是什麼呢?從前有座山,山裡有座廟,廟裡有一個老和尚和一個小和尚,他們在說故事,故事是什麼呢?從前有座山,山裡有一座廟……等等……
由此可見,遞歸有兩個要素,循環嵌套和自身構建。循環嵌套,就是一遍又一遍的重複同樣的過程,且每次重複都嵌套在上一次的重複之中。自身構建,就是在循環嵌套的過程中,每次重複的過程和内容,都是由同一個“自身”——代表着結構和模式——所構成的。
比如上面那個耳熟能詳的故事中,循環嵌套的就是老和尚和小和尚在廟裡說故事,其代表了上層循環的故事,也引出了下層循環的故事;而自身構建的就是這個故事的内容,其具有相同的結構和模式,有趣的是這同樣也是——老和尚和小和尚在廟裡說故事。
于是這裡可以看到,老和尚和小和尚在廟裡說的故事就是——老和尚和小和尚在廟裡說故事。所以,這個故事是遞歸的,因為故事循環嵌套,且故事是由其故事自身相同的結構和模式,所嵌套而構成的。
那麼繼續展開來說,這裡有以下幾點需要注意,并值得細細體會一番:
第一,自身構建,雖然其基本構成有相同的結構和模式,但不代表其内容和内涵是相同的。比如,“老和尚和小和尚在廟裡說故事” 是相同的結構和模式,但在每次循環中,都是不同的老和尚和小和尚,而這個說的故事,則包含了其後所有嵌套的故事的總和——也就是說每次循環中老和尚說的故事,都是其後所有故事的總和,且其後的每一個故事都有一個不同的老和尚和小和尚。
那麼, “一個事物由這個事物本身所構建,那麼在理解這個事物的時候,就需要先理解事物的構成,于是就回到理解這個事物本身” ——這裡,其實每次回到理解這個事物本身的時候,這個事物就已經不是原來的那個事物了,隻是這些事物擁有相同的結構和模式,但不具有相同的内容和内涵。
第二,結構和模式相同,内容與内涵不同,意思就是說,結構和模式不變,但結構和模式所承載的數據變得不同了。那麼,“從傳遞開始回歸到傳遞的開始,就是從一個地方出發,回到了出發的地方”——就是說,其實地方還是原來開始的地方,但這個地方的環境數據,卻發生了變化,與之前變的不同了。
于是很自然的,我們就會問,那在遞歸中的環境數據怎麼就不同了?為什麼會不同了?不同在哪裡了?
事實上,老和尚、小和尚、廟、故事,就是數據。在每層的循環中,老和尚、小和尚、廟都對應着當前的故事——這是每層循環都不一樣的一個故事,雖然結構和模式是一樣的,但卻是另外的時間、地點和人物,隻不過同名同姓又同地(相同環境)。而老和尚和小和尚在說的故事,則指向了下一個同樣結構和模式的故事。
由此,我們可以看到,環境數據——不同的老和尚、小和尚、廟,存儲在了上下文中的結構之中。這個結構擁有相同的模式——就是老和尚和小和尚在廟裡說故事,其中老和尚、小和尚、廟、故事都是結構的組成,可以替換成任意其它的同類型對象(比如不同的老和尚1,老和尚2……等等,以此類推),所以它們都是變量——存儲着不同的數據。
第三,在遞歸的循環嵌套中,其任意局部的循環嵌套部分,也是遞歸的。比如說,在任意嵌套深度,局部的來看,重複嵌套的結構和模式都是——老和尚和小和尚在廟裡說的故事,那麼單看這些循環嵌套的局部,也亦是遞歸。所以,在整體上的遞歸,在局部也存在着遞歸,甚至有時候——遞歸是由遞歸所構建而成的。
第四,在遞歸中的自身構建,其相同的結構和模式,是可以擁有任意複雜度的。也就說這個結構和模式,可以是由簡單形式組合而成的複雜形式的。什麼意思?
舉一個例子,讓我們來擴展一下那個耳熟能詳的故事:從前有一座山,山裡有一座廟,廟裡有一個老和尚和一個小和尚,他們在說故事,故事是什麼呢?從前有一座山,山裡有一座庵,庵裡有一個老尼姑和一個小尼姑,她們在說故事,故事是什麼呢?從前有一座山,山裡有一座廟,廟裡有一個老和尚和一個小和尚,他們在說故事,故事是什麼呢?從前有一座山,山裡有一座庵……等等……
我們可以看到,循環嵌套的故事變成了——老和尚和小和尚在說故事,老尼姑和小尼姑在說故事。所以,自身構建中,相同的結構和模式也就變成了——老和尚和老尼姑一起說對方的故事。當然,可想而知,我們可以通過組合的方法,無限複雜化自身構建中的結構和模式,甚至複雜到,讓身處在遞歸中的智能生命體,無法感知到自己身處在遞歸的結構和模式之中。
第六,遞歸是可以擁有出口的,也就是說遞歸可以跳出并終止。什麼意思呢?
就是說,老和尚和小和尚的故事可以一直說下去,此時遞歸就是沒有出口——無限循環嵌套下去的。但如果老和尚和小和尚某次說的故事,其内容并沒有繼續說下一個故事——比如老和尚和小和尚在探讨遞歸的奧秘,不在說自身模式的那個故事——那麼,此時遞歸就結束終止了。于是,這一次的老和尚和小和尚就成為了最後一次的循環——也就是遞歸的出口。
于此同時,遞歸終止就會開始回溯,從最後一次循環開始逐層返回到上一層,這代表着“故事”的層層回歸。要知道,在遞歸結束之前,我們并沒有任何一個完整的故事,因為每個故事都沒有說完,每一個故事都有下一層的老和尚和小和尚在說,但還沒說完的故事。
最終,回溯會收斂到最開始,就是第一次老和尚和小和尚在說故事,同時我們也會得到一個最完整的故事,其内容就是第一次循環到最後一次循環之間所有的(相同結構不同内涵的)故事總和。那麼這個故事就包含了,各種不同的老和尚、小和尚、廟,直到最後老和尚和小和尚在遞歸終止處探讨遞歸的奧秘,這些所有的數據。
那麼顯然,如果遞歸沒有出口,就不會有回溯和收斂,所有的一切都是不完整的,一切都是局部的,數據會散落在結構的各處——存儲在上下文之中,結構的模式相同——并形成嵌套,而重複的結構會一直延伸到循環的無限處。
在計算機程序中,循環有兩種,叠代循環與遞歸循環。其中,叠代循環隻需要固定數量的寄存器即可,而遞歸循環則需要輔助的堆棧結構,來存儲遞歸過程中的上下文信息。那麼,遞歸收斂(收縮)的過程,其實就從遠離結果的抽象,向着結果的具體,逐漸逼近的過程。當遞歸從出口跳出終止的時候,遞歸程序就獲得了最終想要的結果了。(可參看遞歸程序,比如遞歸求解斐波那契數列,就是在跳出遞歸循環的時候,層層回溯,得到最後的結果)
而在計算機程序中,遞歸一定需要出口,否則就會變成一個無限遞歸的死循環——從而導緻程序出現無法響應的情況。(同理,叠代循環也需要有明确的終止條件,否則也會形成死循環)
那麼遞歸程序,之所以需要一個堆棧結構來存儲上下文信息,是因為遞歸程序也會把過程信息存儲在一個重複相同的結構模式之中,隻不過這個結構模式是用程序所構建的數據結構——就是代碼中的函數。而這個函數結構是一種虛拟的信息結構,其本身也需要一個存儲結構——就是堆棧結構,而這個堆棧結構,其實是一個通用的抽象結構模型,其本身也需要一個具體的結構實現——就是在最底層的計算機物理硬件結構。
事實上,在程序和編程語言之中,遞歸是習以為常與無處不在的模式。而計算機程序是用來模拟和映射現實問題的,那麼可以想象,被遞歸程序所描述模拟的現實世界,也應該是充滿了遞歸的模式的。然而,或許現實世界不僅僅是充滿了遞歸,更或許現實世界本身就是遞歸的,甚至連整個宇宙都是遞歸的。
如果宇宙是遞歸的,那麼遞歸收斂的方向,就是宇宙的方向。而時間所描述的變化——質量轉變成能量——代表着熵值增大的方向,這也是目前被确認的宇宙演變的方向。那麼可見,時間的變化,其實也就代表了宇宙的方向,其指向了宇宙遞歸的出口,且揭示了宇宙遞歸的收斂——逐漸逼近宇宙熵值無限大的那個時刻。
而宇宙遞歸的出口——收斂到熵值無限大的時刻,就代表着宇宙的終點——此時宇宙整體,質量為0、信息量也為0、但信息的可組合數卻是無限大的(信息量與信息可組合數是此消彼長的互相轉換)。那麼宇宙所有的信息,也将會隐藏在這無限的信息可組合數之中。所以,在終點處才會揭曉宇宙遞歸的全部信息,并且或許遞歸的出口,也就是另一個新遞歸的開始。
由此可見,在宇宙遞歸收斂的過程中,時間揭示了所有數據的變化,而所有的物質其實就是宇宙的數據,其存儲在宇宙結構的上下文之中。
然而事實上,結構與數據之間又是可以互相轉化的,那麼結構與數據就可以理解為,是物質的兩種不同的狀态。那麼,這個宇宙遞歸收斂的過程,其實也就是結構向數據的轉變(數據越多越無序,信息可組合性就越多),亦是質量向能量的轉變(微觀運動,代表着信息的可組合性)。(詳細解讀:數學的本質是什麼?數學與物理有什麼内在的關聯?(修訂版))
所以,理論上我們可以精準的推導出過去(曆史)的發展與演變,隻不過上下文中的數據過于龐大,會制約我們無限精确的對曆史數據,進行篩選與過濾,從而得到某個精度範圍内的結論。要知道科學的觀察和總結,其實都是對曆史數據的觀察和總結,然後去推理出未來。
但無論如何,我們都無法精準的推導未來,其中一個原因就是,宇宙遞歸的收斂還未抵達未來,也就是說未來的數據是不完整的(或不存在的)。因而處在局部過程之中的我們,對未來的推演都是模拟和預測,這就涉及到了數據量、量子計算與量子概率的問題。
而從圖靈的角度來看,為什麼我們無法知道量子的全部确切狀态?這是因為測量狀态的機器,是由量子所構成(一切物質在最底層都是由所量子構成),這就形成了一個循環不可計算的遞歸,讓被計算實體與計算實體發生了糾纏。就像老和尚無法計算出,在他的故事裡一共有多少個廟一樣,除非遞歸終止。
那麼我們是宇宙的一部分(局部),我們在試圖理解宇宙(整體),那麼我們最終能理解宇宙嗎?如果能理解,這是否就意味着,宇宙自己能理解宇宙自己呢?
于是,這裡就引出了一些有趣的視角——這關乎人與宇宙之間的關系:
如果說宇宙是遞歸的,那麼就可以說,宇宙是由宇宙本身所構建的,而人類顯然是宇宙遞歸過程的中間産物,其中人類的智能發展,所産生的對宇宙的認知和理解,就可以看成是在加深理解——宇宙遞歸這個嵌套層級的深度,同時也可以看成是宇宙在試圖進化出可以理解自身的産物——就是智人。
但在宇宙遞歸結束之前,其本身都是不完整的,那它又如何去構造一個可以理解完整自己的結構(産物)呢?
這就像,通過一幅畫上的一個色塊,如何去理解,作畫人的想法和意義一樣。通過這個色塊可以看到色塊的構成、種類、屬性、或者其它的色塊。但這些都隻是一些局部零碎的數據和信息,與色塊構成的畫卷相距甚遠。
那麼,想象一幅畫就是宇宙,作畫人就是上帝,色塊就是人類。那麼上帝又是誰的色塊呢?依然是遞歸,瘋狂的遞歸,遞歸把信息存儲在了上下文中,這就是環境信息——其中就包含了人類和人類認知本身。
可見,如果理解宇宙是一個謎題,那麼遞歸的視角告訴我們,理解本身也是一個謎題,隻有理解了理解才能真正理解,但每次理解都會引出一個不理解的理解,接着進入到循環的下一個層級。
那麼,從宏觀來看,既然宇宙起源于奇點,黑洞的中心也是奇點,黑洞來自于超大質量天體的塌縮,再把宇宙看成一個更大的超大質量的天體,于是這就顯現出了遞歸模式——可以推想每個黑洞裡都有一個宇宙,而我們的宇宙就是處在一個黑洞之中的。
而從微觀來看,如果一個有智能的生物創造了一個和自己智能一樣機制的“事物”,并且這個“事物”可以繼續創造和自己一樣機制的“事物”,那麼這就是遞歸。如果宇宙是遞歸的,那麼宇宙肯定能遞歸出一個子宇宙,那麼現在宇宙有了人類,人類就是這個遞歸機制的一部分,可想,人類應該就可以遞歸出一個子人類——就是和人類智能一樣的“事物”,就像宇宙創造人類一樣。
于是我們看到,宇宙創造了基因,接着基因依靠蛋白質來控制生命體,然後基因升級創造出了可以産生智能的器官——大腦——這是一個可以動态吸收數據信息,并時時決策的器官。而這個器官大腦,可以産生和消費數據和信息——這正是宇宙遞歸過程的産物,接着大腦所承載智能,因為吸收環境信息而升級,變得可以去理解宇宙本身,并開始創造一種被稱為“人工智能”的程序。那麼,很自然的人工智能的升級,就會開始去試圖理解人類本身,于是這個遞歸的模式,也就已經顯現出來了。(人工智能的本質和意義:未來機器終将覺醒)
而從遞歸的模式中,我們可以看到,在宇宙之中重要的不是生命與智人,而是智能——這代表的是信息數據的排列組合,是能量的轉換,這是宇宙熵增的方向。至于為什麼宇宙的方向是熵增的,因為這是目前觀測到的客觀現實。
當然,宇宙是不是遞歸的,我們并不能判斷,隻不過宇宙遞歸很自然的解釋了很多現象。要知道,就如前面所說的——“遞歸的自身構建,甚至可以複雜到,讓身處在遞歸中的智能生命體,無法感知到自己身處在遞歸的結構和模式之中。”
根據已知,我們可以推理出未知,如果邏輯鍊清晰明确,就會讓我們非常相信推理的結論——産生不證自明的虛幻确定感。所以,推理和邏輯鍊,就構成了我們相信的基石。
什麼是分形?分形,通常被定義為一個粗糙或零碎的幾何形狀,可以分成數個部分,且每一部分都(至少近似地)是整體縮小後的形狀,即具有自相似的性質。
比如,雪花、晶體、彎彎曲曲的海岸線、起伏不平的山脈、粗糙不堪的斷面、變幻無常的浮雲、九曲回腸的河流、縱橫交錯的血管、令人眼花缭亂的滿天繁星,等等。它們的特點都是,極不規則,或極不光滑,直觀而粗略地說,這些對象都是分形。
事實上,在最微觀處,萬事萬物都是由相同的基本粒子所構建而成的,甚至可以說是遞歸構建而成的,因為由微觀到宏觀的過程,充滿了嵌套循環與自身構建。前面也說了,如果整體是遞歸的,那麼局部也會充滿了遞歸,那麼如果宇宙是遞歸的,那麼宇宙之中也将會是充滿了局部遞歸的。
而通過觀察宏觀與微觀的物質構成,我們很容易發現,分形模式——很好的配合了遞歸的循環自構建模式。由此可以想象,難道宇宙不僅僅是遞歸的,還是分形遞歸的?
接下來,就讓我們利用分型遞歸的視角,來看待一個問題:
如果說,人類作為一個部分,被包含在宇宙之中,是無法完全了解宇宙的。但是,從人是由細胞構成,細胞内的基因藍圖擁有人的全部遺傳信息來看,基因藍圖是可以克隆出一個完整的人的(但除了記憶和思維,因為這些是大腦通過環境信息學習和訓練出來的)。那麼,我們可能也擁有宇宙全部的信息。
其中的原理就在于,通常我們認為,整體大于其任意一部分,但是在無限領域内,部分可以和整體等勢。這有點像全息宇宙理論,每一個部分都包含了整體的全部信息。那麼利用無限理論,我們雖然被包含在宇宙之中,但卻可以擁有宇宙全部的信息并與其等勢——也就是說能找到一一對應的數據。
偶數是正整數的真子集,但正整數集和偶數集等勢,也就是包含的數可以一一對應,這是與整體大于其任意部分相矛盾的,但在無限領域内卻是成立的。
如果宇宙是分形遞歸的,那麼人類就可以通過自身了解到整個宇宙的秘密。那麼每個量子就會有宇宙的全部信息,那麼量子就是無限小與無限大的交彙點。于是這樣,我們就可以像宇宙那樣,創造和我們自己模式一樣的智能——或許就是人工智能,而這些智能還能夠遞歸的創造自己。
原子内部,原子核隻有很小的體積,大部分是虛無和按軌道運行的電子所構成的概率雲,這像極了我們的宇宙,在星球之外大部分是“虛無”和按軌道運行的星球。如果把原子看成一個宇宙,那麼可以想象,原子中的量子就是極大與極小的交彙點,也對應了分形遞歸中的基礎結構和模式。
量子:一個物理量如果存在最小的不可分割的基本單位,則這個物理量是量子化的,并把最小單位稱為量子。通俗地說,量子是能表現出某物質或物理量特性的最小單元。
循環在程序中,循環有兩種形式,叠代循環與遞歸循環,并且叠代與遞歸可以互相轉化。隻不過,叠代需要結構之外提供額外的變量和條件判斷,而遞歸則隻需要自身結構的上下文。由此可見,一個系統内部的循環,可以由遞歸實現,如果想要将這個循環轉變為等價的叠代,則需要系統外部提供相應的輔助條件才能完成。
而我們也可以将這種循環的概念,推廣到萬事萬物的宇宙層面。
事實上,循環就是我們的世界和這個宇宙的本質所在,遞歸是循環的一種形式,叠代則是在上層循環觀察到下層循環的一種形式。那麼矛盾,則代表着遞歸過程中,同一個的事物本質,在結構與數據之間的轉化過程——因為矛盾的事物之間是可以相互轉化的。
另外,在宏觀上,我們總是能夠看到各種對稱性,而對稱性又分為:重複性對稱和遞歸性對稱,其實這兩者都是分形自構建所産生的表現。那麼在微觀,我們可以看到對稱性的破缺,這其實是遞歸過程——循環層級加深,所帶來的效應。
因為在物理上認為,對稱性原理均根植于“不可觀測(變)量”的理論假設之上,而不可觀測就意味着對稱性,任何不對稱性的發現必定意味着存在某種可觀測量。這些不可觀測量中,有一些隻是由于我們目前測量能力的限制,當我們的實驗技術得到改進時,我們的觀測範圍自然就要擴大,因而,完全有可能到某種時候,我們就能夠探測到某個假設的不可觀測量,而這正是對稱性被破壞的根源所在。
以上正是對應了,遞歸層級加深,人類的認知能力(包括技術和工具)就會加深,從而讓對稱性變得破缺了。
然而更進一步:曾經,在生活中,我們都會遇到過這樣一種情況:"就是任何一個問題,你給我一個答案,我總能往後問一步為了什麼,這樣無窮無盡。"
但其實, 如果這個遊戲的一個問題和答案形成了循環,這個遊戲也就結束了。比如,最後一個問題的答案,即是第一問題的開始——那麼,開始就是結束,結束就是開始,問題的終結,其實就是循環的開始——可見,分形遞歸即是終極答案。
而一種語言——包括人類語言、數學語言、編程語言等等,能夠擁有遞歸,其實就是擁有了描述這個世界和宇宙的能力。
所以,人類語言是在描繪一個故事的世界,數學語言是在描繪一個抽象的世界,編程語言在描繪一個虛拟的世界,而一切都是遞歸的——由此可見宇宙的外面,也必定是上一層的宇宙——而我們的世界和宇宙并沒有無限,隻有循環,而循環就是一種無限。
事實上,人類存在的意義,也是依賴于一個系統内部,人類之間的相互循環證明的。其模式就在于,我存在的意義是你,你存在的意義是我,于是我們的存在就都有意義了。但跳出這種循環來看,對宇宙來說,人類的存在并沒有什麼特别或特殊的意義——人類僅僅是宇宙遞歸過程中,無數随機副産物中的一種。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!