元胞自动机概念与实例
簡介:元胞自動機(cellular automata,CA) 是一種時間、空間、狀態(tài)都離散,空間相互作用和時間因果關(guān)系為局部的網(wǎng)格動力學模型,具有模擬復雜系統(tǒng)時空演化過程的能力。
主要內(nèi)容:
?
?一、元胞
元胞可以是數(shù)字,字符,字符串等,是多元化的,可理解為一個變量。
二、鄰居
會對元胞下一狀態(tài)產(chǎn)生影響的稱為鄰居,注意:并不是在其周圍就一定是鄰居,必須滿足對其下一狀態(tài)產(chǎn)生影響這一條件
三、元胞空間
理論上元胞空間是無限的,實際應用中無法達到這一理想條件,為了給元胞空間邊界上的元胞擁有特定規(guī)則下所需要的鄰居,就需要構(gòu)造出一些虛擬的鄰居,從而引出了邊界條件的概念。
常用的鄰居邊界條件有四種類型:固定型、周期型、絕熱型、映射型。
1.固定型
?顧名思義,即固定了邊界的數(shù)值
2.周期型
?即按照每行或每列的周期性來決定邊界數(shù)值,比如圖中3位置,該行從左往右按照3、2、4、1、5的順序,所以3位置左邊界數(shù)值為5,該列同理得出3位置下邊界數(shù)值為3。(左下角)
3.絕熱型
?如圖,可理解為復制左下角3位置的數(shù)值
4.映射型
?如同,可理解為3位置按照行對稱得到2,按照列對稱得到5(左下角)
四、規(guī)則
根據(jù)元胞當前狀態(tài)以及鄰居的狀態(tài)來決定下一時刻該元胞的狀態(tài)。元胞自動機根據(jù)規(guī)則進行局部元胞間的相互作用從而引起全局的變化,可理解為正常的游戲規(guī)則等。
五、具體實例:
奇偶規(guī)則:元胞有兩種狀態(tài):0和1
?
?
?代碼實現(xiàn):
clc clear all; n=200; Se=zeros(n); %%設(shè)置200*200的0數(shù)值矩陣 Z=zeros(n) %%設(shè)置200*200的0數(shù)值矩陣 Se(n/2-2:n/2+2,n/2-2:n/2+2)=1; %%設(shè)置行98到102,列98到102為1 Ch=imagesc(cat(3,Se,Z,Z)); %%用圖顯示上述規(guī)則,cat為矩陣合成函數(shù),改變顏色,0為黑色,1為紅色 axis square %%添加方形邊框 Sd=zeros(n+2); %%重新設(shè)置一個0數(shù)值矩陣包圍原矩陣(設(shè)置邊界) while(1) %%設(shè)置死循環(huán),讓它一直變化Sd(2:n+1,2:n+1)=Se; %%將Sd邊界內(nèi)矩陣變?yōu)闈M足規(guī)則下的矩陣sum=Sd(1:n,2:n+1)+Sd(3:n+2,2:n+1)+Sd(2:n+1,1:n)+Sd(2:n+1,3:n+2); %%將元胞上下左右值相加Se=mod(sum,2); %%若相加和為偶數(shù),則元胞為0,呈現(xiàn)黑色:反之則為紅色set(Ch,'cdata',cat(3,Se,Z,Z)) %%Ch為初始化狀態(tài),將Ch變?yōu)镾e,即矩陣的更新pause(0.05) %%間隔0.05s endfigure %%全選代碼后右鍵執(zhí)行運行代碼即可得到結(jié)果(為動態(tài)變化過程)
?
總結(jié)
以上是生活随笔為你收集整理的元胞自动机概念与实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SPSS因子分析案例
- 下一篇: 什么是正则表达式 ?