深度學習入門

2021-10-24 04:45:35 字數 3020 閱讀 6960

元胞自動機實質上是定義在乙個具有離散、有限狀態的元胞組成的元胞空間上,並按照一定的區域性規則,在離散的時間維度上演化的動力學系統。

元胞又可稱為單元、細胞,是元胞自動機的最基本的組成部分。

乙個標準的細胞自動機由元胞、元胞狀態、鄰域和狀態更新規則構成。用數學表示為:

a=(l,d,s,n,f)

其中l為元胞空間;d為元胞自動機內元胞空間的維數;s是元胞有限的、離散的狀態集合;n為某個鄰域內所有元胞的集合;f為區域性對映或區域性規則。

元胞空間是元胞所分布的空間網點的集合。理論上元胞空間在各個維向上是無限延伸的,為了能夠在計算機上實現,而定義了邊界條件,包括週期型、反射型和定值型。

1)元胞自動機最基本的單元。

2)元胞有記憶貯存狀態的功能。(元胞的總狀態數有限,所有元胞在各狀態中轉換)

3)所有元胞狀態都按照元胞規則不斷更新。(元胞的狀態隨照元胞鄰接的元胞的狀態由一定的條件發生改變)

元胞空間:元胞所分布在歐幾里得空間上的網格點的集合。最常見的為二維元胞空間,通常可按三角形、四邊形和六邊形三種網格排列。(不同的鄰接關係,最常見的為四邊形鄰接)

鄰居:元胞自動機的演化規則是區域性的,對於指定元胞的狀態進行更新時只需要知道其臨近元胞的狀態。某一元胞狀態更新時要搜尋的空間域叫做該元胞的鄰居。

鄰居的劃分:在四方網格劃分下的二維元胞自動機的鄰居通常有以下幾種形式:

von neuman型

moore型

擴充套件的moore型

元胞空間一般為二維或者三維,該方法主要用於模擬一些實際的有物理形體的問題,如火災,交通,延伸到有可能可以用於傳染病。

用森林中火災來展現元胞自動機的原理及原始碼

森林火災的元胞自動機模型有三種狀態:空位,燃燒著的樹木及樹木。則某元胞下一時刻狀態由該時刻本身的狀態和周圍四個鄰居的狀態以一定的規則確定,規則如下:

1)如果某樹木元胞的4個鄰居有燃燒著的,那麼該元胞下一時刻的狀態是燃燒著的。

2)乙個燃燒著的元胞在下一時刻變成空位。

3)所有樹木元胞以乙個低概率開始燃燒(模擬閃電引起的火災)

4)所有空元胞以乙個低概率變成樹木(以模擬新的樹木的生長)

close;

clear;

clc;

n = 300; %元胞矩陣大小

plight = 0.000001; %雷擊概率

pgrowth = 0.001; %新樹生成概率

ul = [n 1:n-1]; %n加上1到n-1

dr = [2:n 1];

veg = zeros(n,n); %初始化

% the value of veg:

% empty == 0

% burning == 1

% green == 2

imh = image(cat(3,veg,veg,veg));

m=annotation('textbox',[0.1,0.1,0.1,0.1],'linestyle','-','linewidth',1,'string','123');

for i = 1:100000

sum = (veg(ul,:) == 1) + (veg(:,ul) == 1) + (veg(dr,:) == 1) + (veg(:,dr) == 1);%計算**點,若該點上下左右有一處為著火狀態,該點變為著火狀態 veg(ul,:)所有行下移一格

%根據規則更新森林矩陣:樹 = 樹 - 著火的樹 + 新生的樹

veg = 2 * (veg == 2) - ( (veg == 2) & (sum > 0 | (rand(n,n) < plight)) ) + 2 * ( (veg == 0) & rand(n,n) < pgrowth);%更新veg

a=find(veg==2);

b=find(veg==1);

aa=length(a);

bb=length(b);

shu(i)=aa;

fire(i)=bb*30;

if (bb>=0&&bb<=10)

str1='森林正常';

elseif (bb>10&&bb<=100)

str1='火災發展';

elseif (bb>100)

str1='森林大火';

endif ((aa>48000)||(bb>=10))

str2='火災預警:紅色預警';

elseif (aa>42000&&aa<=48000)

str2='火災預警:黃色預警';

elseif (aa>35000&&aa<=42000)

str2='火災預警:藍色預警';

elseif (aa>=0&&aa<=35000)

str2='火災預警:安全';

end

str=[str1 10 str2];

set(imh, 'cdata', cat(3, (veg == 1), (veg == 2), zeros(n)) )

drawnow

figure(2)

delete(m)

plot(shu);

hold on

plot(fire);

legend(['綠樹的數量',num2str(aa)],['火的數量',num2str(bb)]);

title(['時間t=',num2str(i),'天']);

m=annotation('textbox',[0.15,0.8,0.1,0.1],'linestyle','-','linewidth',1,'string',str);

hold off

% pause(0.0001)

end

深度學習入門

generative adversarial network gan 生成對抗網路 梯度消失 梯度擴散 gradient diffusion deep learning i.e.unsupervised feature learning 目的是讓機器自動學習良好的特徵,而免去人工選取過程 深度學習是...

深度學習入門

1 人工智慧 1956年,幾位科學家相聚在達特茅斯會議提出了人工智慧的概念。當時計算機剛剛出現不久,他們希望通過用計算機來構造複雜的,擁有與人類智慧型具有同樣本質的機器。然後幾十年,人工智慧一直在兩極分化,有些人認為這個是改變人們未來生活的乙個大的方向 但是有的人認為人工智慧是一種噱頭,或者是一種泡...

Python深度學習 01深度學習入門

深度學習是機器學習與神經網路 人工智慧 圖形化建模 優化 模型識別和訊號處理等技術融合後產生的乙個領域。簡單來說,深度神經網路是一種用多層抽象來表示概念或者特徵的方式。深度學習使用多層機器學習模型對資料進行有監督學習或者無監督學習。在學習深度學習核心思想時,採取如圖所示的的通用方法 注意 單隱藏層神...