日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

元胞自动机简介(美赛复习一)

發(fā)布時(shí)間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 元胞自动机简介(美赛复习一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為美賽準(zhǔn)備,進(jìn)行元胞自動(dòng)機(jī)的簡單回顧。
本文只是簡單回顧,可能會(huì)進(jìn)行相關(guān)論文復(fù)現(xiàn)。

文章目錄

    • 一、簡介
  • 1.元胞
  • 2.元胞空間
  • 3.元胞鄰居
  • 4.邊界條件
  • 5.規(guī)則
    • 二、簡單例子

一、簡介

元胞自動(dòng)機(jī):是一種時(shí)間、空間、狀態(tài)都離散,空間相互作用和時(shí)間因果關(guān)系為局部的網(wǎng)格動(dòng)力學(xué)模型,具有模擬復(fù)雜系統(tǒng)時(shí)空演化過程的能力。
元胞自動(dòng)機(jī)由元胞元胞空間元胞鄰居元胞規(guī)則四部分組成。

1.元胞

元胞:可稱為單元或基元,是元胞自動(dòng)機(jī)最基本的部分。
元胞狀態(tài):在最簡單的情況下,元胞有兩種可能狀態(tài);較復(fù)雜情況下,具有多種狀態(tài)。元胞的狀態(tài)都按照元胞自動(dòng)機(jī)的動(dòng)力規(guī)則不斷更新。

2.元胞空間

元胞空間:就是元胞在空間分布上的集合。
元胞空間的類型:

3.元胞鄰居

元胞鄰居:某一元胞狀態(tài)更新時(shí)所要搜索的空間域就是該元胞的鄰居。
元胞鄰居類型:

4.邊界條件

理論上,元胞空間是無限的,實(shí)際應(yīng)用中無法達(dá)到這一理想條件。為了給元胞空間邊界上的元胞擁有規(guī)則所需要的鄰居,就需要構(gòu)造出一些虛擬的鄰居。
常用的鄰居邊界條件類型有:固定型周期型絕熱型映射型這四種
(1)固定型邊界

(2)周期型邊界

(3)絕熱型邊界

(4)映射型邊界

5.規(guī)則

根據(jù)元胞當(dāng)前狀態(tài)及鄰居的狀態(tài)決定下一時(shí)刻該元胞狀態(tài)
元胞自動(dòng)機(jī)根據(jù)規(guī)則進(jìn)行局部元胞間的相互作用從而引起全局的變化。
特征:
1.離散型:空間、時(shí)間及狀態(tài)都是離散的
2.同質(zhì)性:服從相同的規(guī)律分布方式相同
3.并行性:元胞的狀態(tài)更新規(guī)則變化是同步進(jìn)行的
4.高維度:元胞自動(dòng)機(jī)是一類無窮維動(dòng)力系統(tǒng)
初等元胞自動(dòng)機(jī)的介紹:
一維元胞自動(dòng)機(jī)的元胞鄰居半徑為1;元胞有且只有兩種狀態(tài)。


二、簡單例子

1.奇偶規(guī)則
元胞有兩種狀態(tài),鄰居之和為奇數(shù)時(shí)中心元胞為1;鄰居之和為偶數(shù),中心元胞變?yōu)?。

奇偶規(guī)則代碼
clc clear all; n=200; Se=zeros(n); Z=zeros(n); Se(n/2-2:n/2+2,n/2-2:n/2+2)=1; Ch=imagesc(cat(3,Se,Z,Z)); %可視化 axis square %加邊框 Sd=zeros(n+2); while(1)Sd(2:n+1,2:n+1)=Se;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);set(Ch,'cdata',cat(3,Se,Z,Z))pause(0.05) endfigure

2.生命游戲
在一個(gè)正方形的棋盤中,每個(gè)小格有兩種狀態(tài),“生”或“死”,每個(gè)小格有8個(gè)鄰居。
①、對(duì)于“生”的格子,若它的8個(gè)鄰居中有兩個(gè)或者三個(gè)為“生”,則該格繼續(xù)保持“生”,否則就變?yōu)椤八馈薄?②、對(duì)于“死”的格子,若它的8個(gè)鄰居中有3個(gè)“生”,則該格變?yōu)椤吧?#xff0c;否則繼續(xù)保持“死”。

生命游戲代碼
clc clear; n=200; p=0.4; z=zeros(n); Se=rand(n)<p; Sd=zeros(n+2);%矩陣初始化 Ph=image(cat(3,Se,z,z));%初始可視化 while(1)Sd(2:n+1,2:n+1)=Se;%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)+Sd(1:n,1:n)+Sd(3:n+2,1:n)+Sd(1:n,3:n+2)+Sd(3:n+2,3:n+2); %鄰居之和(鄰居中生的元胞的數(shù)目)for i=1:nfor j=1:nif Sum(i,j)==3||(Sum(i,j)==2&&Se(i,j)==1)%生的條件Se(i,j)=1;else Se(i,j)=0;endend end set(Ph,'cdata',cat(3,Se,z,z))%更新可視化drawnow end

3.澳洲火災(zāi)
經(jīng)典的森林火災(zāi)元胞自動(dòng)機(jī)模型是由 Drossel 和 Schwabl 在1992年提出。森林火災(zāi)元胞自動(dòng)機(jī)模型定義在正方形網(wǎng)格上,元胞有三種狀態(tài):樹,火和空地。
規(guī)則:

澳洲火災(zāi)代碼
clc clear n = 300; % 定義表示森林的矩陣大小 Plight = 5e-6; Pgrowth = 1e-2; % 定義閃電和生長的概率 UL = [n,1:n-1]; DR = [2:n,1]; % 定義上左,下右鄰居 veg=zeros(n,n); % 初始化表示森林的矩陣 imh = image(cat(3,veg,veg,veg)); % 可視化表示森林的矩陣 % veg = 空地為0 著火為1 樹木為2 for i=1:3000 sum =(veg(UL,:)==1) + (veg(:,UL)==1)+(veg(:,DR)==1) + (veg(DR,:)==1); % 計(jì)算出所有格子有幾個(gè)鄰居是著火的 % 根據(jù)規(guī)則更新森林矩陣:是否樹=是否樹-是否著火的樹+是否新生的樹(0-1運(yùn)算)veg = 2*(veg==2) - ( (veg==2) & (sum>0 |(rand(n,n)<Plight)) ) +2*((veg==0) & rand(n,n)<Pgrowth) ; set(imh, 'cdata', cat(3,(veg==1),(veg==2),zeros(n)) )drawnow % 可視化表示森林的矩陣 end

總結(jié)

以上是生活随笔為你收集整理的元胞自动机简介(美赛复习一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。