The Nature of Code閱讀心得與Python實作:Chap. 7 Cellular Automata

更新於 發佈於 閱讀時間約 1 分鐘

這一章介紹的是細胞自動機(cellular automaton),一種不是植基於物理定律的複雜系統。

有別於第五章中所看到的植基於物理定律的複雜系統,構成細胞自動機這種複雜系統的基本單元是位元(bit)。在細胞自動機的術語當中,位元就稱為細胞(cell),而位元的值,也就是0、1,就稱為細胞的狀態(state)。利用細胞和一些無關物理定律的規則,就可以展現出複雜系統的樣貌。

avatar-img
15會員
137內容數
寫點東西自娛娛人
留言
avatar-img
留言分享你的想法!
ysf的沙龍 的其他內容
物理引擎裡頭有許多已經寫好的程式,可以用來模擬物理現象。例如,先前幾章中我們所模擬的物體的運動、單擺、彈簧等等,都可以在物理引擎中找到相關的程式,不需要自己從頭寫到尾;這就好像我們不自己寫,而會呼叫python的math模組中的許多數學函數如sin、cos等一樣。
在模擬群聚行為時,隨著boid的數量越來越多,需要的計算量也會越來越多,導致程式的執行速度也跟著越來越慢,最後甚至於動彈不得。要克服這個問題,在寫程式時使用效率比較好的演算法,就是個不錯的主意。
到目前為止,我們所設計出來的自主代理人都是孤鳥,既不知道有其他自主代理人的存在,也不會跟其他自主代理人有任何互動。在這一節,我們將讓自主代理人能感知到其他自主代理人的存在,並且與其他自主代理人互動,最後形成由自主代理人所組成的複雜系統(complex system)。
不同於用來找出兩點間最短距離演算法的路徑搜尋(path finding),路徑循行(path following),指的是依循已經設定好的路徑來移動的轉向行為。這一節就要來研究Reynolds所設計的路徑循行轉向行為。
接下來要來看看Reynolds所設計的「流場循行(flow-field following)」轉向行為。
轉向行為(steering behaviors)是Craig W. Reynolds所提出來的,其主要的目的,是要讓電腦動畫及互動媒體如電玩、虛擬實境中,能夠自主行動的角色,可以利用許多的策略,在他們的世界中,以更逼真、更像具有生命般的方式移動。
物理引擎裡頭有許多已經寫好的程式,可以用來模擬物理現象。例如,先前幾章中我們所模擬的物體的運動、單擺、彈簧等等,都可以在物理引擎中找到相關的程式,不需要自己從頭寫到尾;這就好像我們不自己寫,而會呼叫python的math模組中的許多數學函數如sin、cos等一樣。
在模擬群聚行為時,隨著boid的數量越來越多,需要的計算量也會越來越多,導致程式的執行速度也跟著越來越慢,最後甚至於動彈不得。要克服這個問題,在寫程式時使用效率比較好的演算法,就是個不錯的主意。
到目前為止,我們所設計出來的自主代理人都是孤鳥,既不知道有其他自主代理人的存在,也不會跟其他自主代理人有任何互動。在這一節,我們將讓自主代理人能感知到其他自主代理人的存在,並且與其他自主代理人互動,最後形成由自主代理人所組成的複雜系統(complex system)。
不同於用來找出兩點間最短距離演算法的路徑搜尋(path finding),路徑循行(path following),指的是依循已經設定好的路徑來移動的轉向行為。這一節就要來研究Reynolds所設計的路徑循行轉向行為。
接下來要來看看Reynolds所設計的「流場循行(flow-field following)」轉向行為。
轉向行為(steering behaviors)是Craig W. Reynolds所提出來的,其主要的目的,是要讓電腦動畫及互動媒體如電玩、虛擬實境中,能夠自主行動的角色,可以利用許多的策略,在他們的世界中,以更逼真、更像具有生命般的方式移動。
你可能也想看
Google News 追蹤
到目前為止,我們所模擬的萬有引力,是一個物體吸引另一個物體,或者是一個物體吸引多個物體。然而,在真實世界中,每個物體都會互相吸引,所以在這一節中,就來把模擬的情境,擴展成多個物體互相吸引。
Thumbnail
模擬世界是我們寫程式造出來的,我們就是模擬世界的主宰,所以各種作用力要長什麼樣子、要怎麼個作用法,都由我們決定。不過,如果希望這些作用力看起來像真實世界的作用力一樣,那在寫程式的時候,套用這些作用力在真實世界中的物理公式,會是比較省時省力的做法。
在真實世界中有各式各樣的作用力影響著我們,那在模擬世界中呢?要怎麼在本來無一物的模擬世界中,製造出作用力呢?
Thumbnail
控制論(Cybernetics)是一個跨學科的科學領域,致力於研究控制和通信在各種系統中的應用,無論是動物、機器還是組織系統。這門學科由美國數學家諾伯特·維納(Norbert Wiener)在20世紀40年代創立,其核心目標是理解和設計複雜系統的行為和功能。
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
量子計算,這個聽起來有點科幻的技術,正逐漸成為現實,而且它有可能徹底改變我們處理信息的方式。
Thumbnail
1. 凡所有相皆是虛妄,若見諸相非相,即見如來 2. 能量看不到,卻統籌物理世界(形而上統籌形而下) 3. 數學與物理的不同:數學「定理」:絕對真理,不因時空轉換;物理「定律」:找到自然背後的律,而非證明 4. 數學的本質:建立在不能再問的「公理」上 5. 歐式平
Thumbnail
●量子世界與量子電腦的基本概念   1.量子理論描述的是量子世界(微觀世界) ,而非宏觀世界。   2.量子世界(薛丁格方程式)只有在量子態(沒有外在干擾的狀態)下存在。   3.宏觀世界因其構成的微觀粒子(量子),經長期相互干擾,導致量子態消失, 故生是生死是死,不會存在薛丁格貓既是
Thumbnail
『宇宙編程碼』源自接收宇宙信息,將其信息碼轉換成可閱讀的文字,因此運用『編程碼』一詞。 宇宙編程碼的運用,是藉由啟動大腦發出每一個思想的波動現象=(能量振動頻率),以雙手為媒介輕觸身體,透過念頭將"編程碼文字"=(宇宙信息波)傳遞至肌肉所儲存的能量訊息波相互抵銷,幫助身體釋放與清理因情緒、壓力、能
到目前為止,我們所模擬的萬有引力,是一個物體吸引另一個物體,或者是一個物體吸引多個物體。然而,在真實世界中,每個物體都會互相吸引,所以在這一節中,就來把模擬的情境,擴展成多個物體互相吸引。
Thumbnail
模擬世界是我們寫程式造出來的,我們就是模擬世界的主宰,所以各種作用力要長什麼樣子、要怎麼個作用法,都由我們決定。不過,如果希望這些作用力看起來像真實世界的作用力一樣,那在寫程式的時候,套用這些作用力在真實世界中的物理公式,會是比較省時省力的做法。
在真實世界中有各式各樣的作用力影響著我們,那在模擬世界中呢?要怎麼在本來無一物的模擬世界中,製造出作用力呢?
Thumbnail
控制論(Cybernetics)是一個跨學科的科學領域,致力於研究控制和通信在各種系統中的應用,無論是動物、機器還是組織系統。這門學科由美國數學家諾伯特·維納(Norbert Wiener)在20世紀40年代創立,其核心目標是理解和設計複雜系統的行為和功能。
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
量子計算,這個聽起來有點科幻的技術,正逐漸成為現實,而且它有可能徹底改變我們處理信息的方式。
Thumbnail
1. 凡所有相皆是虛妄,若見諸相非相,即見如來 2. 能量看不到,卻統籌物理世界(形而上統籌形而下) 3. 數學與物理的不同:數學「定理」:絕對真理,不因時空轉換;物理「定律」:找到自然背後的律,而非證明 4. 數學的本質:建立在不能再問的「公理」上 5. 歐式平
Thumbnail
●量子世界與量子電腦的基本概念   1.量子理論描述的是量子世界(微觀世界) ,而非宏觀世界。   2.量子世界(薛丁格方程式)只有在量子態(沒有外在干擾的狀態)下存在。   3.宏觀世界因其構成的微觀粒子(量子),經長期相互干擾,導致量子態消失, 故生是生死是死,不會存在薛丁格貓既是
Thumbnail
『宇宙編程碼』源自接收宇宙信息,將其信息碼轉換成可閱讀的文字,因此運用『編程碼』一詞。 宇宙編程碼的運用,是藉由啟動大腦發出每一個思想的波動現象=(能量振動頻率),以雙手為媒介輕觸身體,透過念頭將"編程碼文字"=(宇宙信息波)傳遞至肌肉所儲存的能量訊息波相互抵銷,幫助身體釋放與清理因情緒、壓力、能