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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

交通流元胞自动机模拟仿真 matlab源码_元胞自动机中的时间反演

發(fā)布時(shí)間:2024/7/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交通流元胞自动机模拟仿真 matlab源码_元胞自动机中的时间反演 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.引言——生命游戲

1970年,英國(guó)數(shù)學(xué)家約翰·何頓·康威提出了生命游戲(Life Game)。生命游戲本質(zhì)是一個(gè)元胞自動(dòng)機(jī)模型,每個(gè)元胞可以看作是一個(gè)細(xì)胞,細(xì)胞的產(chǎn)生、繁衍和死亡擁有3條演化規(guī)則。

1. 如果一個(gè)細(xì)胞周圍有3個(gè)細(xì)胞為生(一個(gè)細(xì)胞周圍共有8個(gè)細(xì)胞),則該細(xì)胞為生(即該細(xì)胞若原先為死,則轉(zhuǎn)為生,若原先為生,則保持不變) 。

2. 如果一個(gè)細(xì)胞周圍有2個(gè)細(xì)胞為生,則該細(xì)胞的生死狀態(tài)保持不變;

3. 在其它情況下,該細(xì)胞為死(即該細(xì)胞若原先為生,則轉(zhuǎn)為死,若原先為死,則保持不變)

元胞空間在給定的初始狀態(tài)下,根據(jù)以上3條規(guī)則,可以演化出千奇百怪的二維生命形式。在游戲的進(jìn)行中,雜亂無序的細(xì)胞會(huì)逐漸演化出各種精致、有形的結(jié)構(gòu);這些結(jié)構(gòu)往往有很好的對(duì)稱性,而且每一代都在變化形狀。一些形狀已經(jīng)鎖定,不會(huì)逐代變化。有時(shí),一些已經(jīng)成形的結(jié)構(gòu)會(huì)因?yàn)橐恍o序細(xì)胞的“入侵”而被破壞。但是形狀和秩序經(jīng)常能從雜亂中產(chǎn)生出來。

Matlab上的生命游戲代碼如下。

%名稱:生命游戲 %作者:Lu Jiancheng clear%清除變量 clc%清屏 %創(chuàng)建GUI界面 h=figure(1); set(h,'Name','Life Game','Position',[500,100,600, 600]);%[左側(cè)位置,下側(cè)位置,寬度,高度] axe=axes('Parent', h); %set(axe,'Box','on','Position',[50,50,300,300]);% txt=uicontrol('parent', h,'Style','text', 'string','Life Game', 'fontsize',12, 'position',[100,750,300,25]); runbutton=uicontrol('parent',h,'Style','pushbutton','string','run','callback','runflag=1;','position',[100,650,50,25]); stopbutton=uicontrol('parent',h,'Style','pushbutton','string','stop','callback','runflag=0;','position',[200,650,50,25]); stepbutton=uicontrol('parent',h,'Style','pushbutton','string','step','callback','runflag=0;step=1;','position',[300,650,50,25]); stepwin = uicontrol('parent', h,'Style','text', 'string','0', 'fontsize',12, 'position',[400,800,100,20]); %生命游戲代碼 %參數(shù) Random=1;%選擇初始化方式 maxtime=300; p=0.3; n=128; %cells=zeros(n,n);%建立一個(gè)平面矩陣 %幾種特定的初始狀態(tài) % % initial_cells=[ 0 0 1; % 1 0 1; % 0 1 1]; % initial_cells=[ 0 1 0; % 1 1 1; % 0 1 0]; initial_cells=[0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0;1 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0;0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0;0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1;0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0;0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0;0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0;1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; if Random %初始化部分for i=1:nfor j=1:nif rand()<pcells(i,j)=1;endendend else %裝載特殊圖形%cells(10:25,10:25)=initial_cells;cells=initial_cells;%cells(49:51,49:51)=initial_cells;[n,~] = size(initial_cells); end %演化部分 pic=imshow(initial_cells,'Parent', axe,'XData',[0,100],'YData',[0,100]);%繪圖 t=0; runflag=1; upside=0; downside=0; leftside=0; rightside=0; step=0; while(t<maxtime)while(t<maxtime&&(runflag==1||step==1))%演化規(guī)則nextcells=cells;for i=1:nfor j=1:n%周期性邊界處理if(i==n)downside=1;upside=i-1;elseif(i==1)downside=i+1;upside=i-1+n;elsedownside=i+1;upside=i-1;endif(j==n)rightside=1;leftside=j-1;elseif(j==1)rightside=j+1;leftside=j-1+n;elserightside=j+1;leftside=j-1;end%邊界處理結(jié)束Sum=cells(upside,leftside)+cells(upside,j)+cells(upside,rightside)+cells(i,leftside)+cells(i,rightside)+cells(downside,leftside)+cells(downside,j)+cells(downside,rightside); if(Sum==3)nextcells(i,j)=1;elseif Sum~=2nextcells(i,j)=0;end endendcells=nextcells;%演化規(guī)則結(jié)束pic=imshow(cells,'Parent', axe,'XData',[0,100],'YData',[0,100]);%繪圖t=t+1;%時(shí)間前進(jìn)1sset(stepwin,'string',t)step=0;pause(0.1);endpause(0.1); end

運(yùn)行這段代碼,隨機(jī)初始化元胞空間,可以看到演化過程中逐漸出現(xiàn)有規(guī)律的形狀。

當(dāng)演化時(shí)間為300步時(shí)的圖像

2.時(shí)間反演

時(shí)間反演的原始思路是這樣。假設(shè)演化時(shí)間為100 step,每一步時(shí)都對(duì)元胞空間的狀態(tài)進(jìn)行一次快照,保存下來。然后從時(shí)間步100開始,一直到第1步。每次載入那一步的元胞空間,如同倒放膠片一樣。這樣從觀察者看來,生命游戲中的時(shí)間就好像在倒流。

原始思路有需要保存每一時(shí)間步的演化狀態(tài),才能實(shí)現(xiàn)時(shí)間的反轉(zhuǎn)。這樣將會(huì)消耗大量的內(nèi)存空間。這樣我們自然會(huì)想到,能不能在不利用額外內(nèi)存空間,而只利用元胞自動(dòng)機(jī)本身的元胞空間,就可以實(shí)現(xiàn)時(shí)間反演?

思路可以是這樣的,可以提出基于生命游戲現(xiàn)有的元胞演化規(guī)則的逆規(guī)則,然后只要將時(shí)間步反過來進(jìn)行演化,就可以實(shí)現(xiàn)時(shí)間反演的現(xiàn)象。

那么存不存在逆規(guī)則呢?生命游戲的逆規(guī)則可能比較難以推導(dǎo),甚至某些情況下是不存在的。

假設(shè)在時(shí)刻t元胞空間內(nèi)只有一個(gè)細(xì)胞,按照生命游戲的三條規(guī)則,時(shí)刻t+1元胞空間內(nèi)將空無一物,沒有一個(gè)細(xì)胞。這樣即使存在逆規(guī)則,也無法實(shí)現(xiàn)時(shí)間反演,因?yàn)槿魏我粋€(gè)空元胞都可能在上一個(gè)時(shí)刻是活細(xì)胞。

3.物理系統(tǒng)

那么存不存在逆規(guī)則呢?生命游戲的逆規(guī)則可能比較難以推導(dǎo),甚至某些情況下是不存在的。但下面這個(gè)假設(shè)的物理系統(tǒng)的逆規(guī)則還是比較好推導(dǎo)的。

該假設(shè)的物理系統(tǒng)是這樣。

1. 元胞可以看作是一個(gè)有質(zhì)量的點(diǎn),空白表示質(zhì)量為0,否則質(zhì)量為1。

2. 質(zhì)點(diǎn)之間存在吸引力F,F的大小和質(zhì)點(diǎn)之間的距離成反比。

3. 質(zhì)點(diǎn)存在速度,決定質(zhì)點(diǎn)的移動(dòng)方向和每一時(shí)間步的移動(dòng)距離。

4. 作用力F會(huì)產(chǎn)生加速度,加速度決定速度的變化方向和每一時(shí)間步的變化大小。

這樣一個(gè)元胞自動(dòng)機(jī)系統(tǒng)的演化情況如下圖所示。

該系統(tǒng)內(nèi)有兩個(gè)質(zhì)點(diǎn),有沿x方向的初始速度,其Matlab仿真代碼如下。

p1=[1,100]; %位置(x,y) v1=[1,0]; %速度(x,y) p2=[1,1]; %位置(x,y) v2=[1,0]; %速度(x,y) x = [1]; y1 = [100] ; y2 = [1] ; dt = 1; T =[1]; V1L=[0]; V2L=[0]; A1L=[0]; A2L=[0]; for t =2:1:100F =100/(max(p1(2) - p2(2),3.0))^2;a1 = F*sign(p2(2) - p1(2));a2 = F*sign(p1(2) - p2(2));A1L = [A1L,a1];A2L = [A2L,a2];v1(2) = v1(2) +a1*dt;v2(2) = v2(2) +a2*dt;V1L = [V1L,v1(2)];V2L = [V2L,v2(2)];p1 = p1 + v1*dt;p2 = p2 + v2*dt;x = [x,p1(1)];y1 = [y1,p1(2)];y2 = [y2,p2(2)];T = [T,t]; end plot(x,[y1;y2]);

運(yùn)行這段代碼可以看到兩個(gè)質(zhì)點(diǎn)的位置隨著時(shí)間的變化。

在這樣的一個(gè)系統(tǒng)里只要將時(shí)間步改為-1,就可以實(shí)現(xiàn)時(shí)間的反演,而不用采用逆規(guī)則。反演的圖像如下,在前100時(shí)間步正向演化,在101時(shí)間步到200時(shí)間步逆向演化。

可以用以下的代碼實(shí)現(xiàn)。

dt = -1; for t =101:1:200F =100/(max(p1(2) - p2(2),3.0))^2;a1 = F*sign(p2(2) - p1(2));a2 = F*sign(p1(2) - p2(2));v1(2) = v1(2) +a1*dt;v2(2) = v2(2) +a2*dt;p1 = p1 + v1*dt;p2 = p2 + v2*dt;x = [x,p1(1)];y1 = [y1,p1(2)];y2 = [y2,p2(2)];T = [T,t]; End

基于規(guī)則反演的圖像

4.結(jié)論

在元胞自動(dòng)機(jī)可以實(shí)現(xiàn)一些物理系統(tǒng),實(shí)現(xiàn)基于逆規(guī)則的時(shí)間反演。這種逆規(guī)則甚至可以和原來的規(guī)則相同,只需要改變時(shí)間步長(zhǎng)為負(fù)值即可。而生命游戲這種系統(tǒng),則無法實(shí)現(xiàn)基于逆規(guī)則的時(shí)間反演。

基于逆規(guī)則的反演是不需要快照方式,不用記錄每一時(shí)間步的狀態(tài),更符合真實(shí)物理實(shí)際的情形。如果這種逆規(guī)則等同于原規(guī)則,我們可以認(rèn)為該系統(tǒng)的物理規(guī)則具有時(shí)間對(duì)稱性。

總結(jié)

以上是生活随笔為你收集整理的交通流元胞自动机模拟仿真 matlab源码_元胞自动机中的时间反演的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 男人在线天堂 | 免费黄色在线网址 | 少妇久久久久 | 一个人看的视频www 色就是色网站 | 亚洲二区在线 | 欧美日韩乱 | 国内黄色片 | 翔田千里x88aⅴ | 国产精品视频一区二区三区在3 | 国产精品久久亚洲7777 | 人妻互换一二三区激情视频 | 国产精品久久久久久久久久久久 | 国产精品swag | 超碰在线98 | 波多在线观看 | 少妇精品导航 | 日本成人一区 | 欧美一区影院 | 上原亚衣在线观看 | 黄色91免费| 激情播播网 | 欧美大片免费 | 成人在线观看一区 | 日本免费高清一区二区 | 97国产精东麻豆人妻电影 | 中文字幕一区2区3区 | 自拍av在线| 91视频精选| 欧美s码亚洲码精品m码 | 日韩在线视屏 | 一本一道久久综合狠狠老精东影业 | 蜜臀av色欲a片无码精品一区 | 国产黄色av | 丁香婷婷在线 | 欧美一区二区三区的 | 成年人免费毛片 | 成人免费毛片果冻 | 国产成人精品综合久久久久99 | 在线播放成人av | 亚洲一区二区三区免费 | 9l视频自拍九色9l视频成人 | 看av免费毛片手机播放 | 亚洲精品美女网站 | wwwxxx在线观看 | 青青草久 | 中文字幕在线观看第一页 | 无码精品人妻一区二区三区影院 | 久久综合一本 | 在线高清观看免费观看 | 日日操影院 | 香蕉视频黄在线观看 | 亚洲永久在线观看 | 国产凹凸一区二二区 | 国产亚韩 | 18禁免费无码无遮挡不卡网站 | 激情五月激情 | 国产精品天干天干 | 献给魔王伊伏洛基亚吧动漫在线观看 | 丰满的女人性猛交 | 成年人黄色录像 | 日韩av三级在线观看 | 羞羞动态图 | 亚洲一级中文字幕 | 亚洲天堂av片 | 在线看片福利 | 天天色一色| 少妇被躁爽到高潮无码人狍大战 | 日本免费在线观看视频 | 亚洲国产极品 | 日韩一级伦理片 | 涩里番在线观看 | 一区二区三区资源 | 伊人青青 | 在线观看亚洲一区 | 精品日韩一区 | 久久网一区 | av在观看 | 狠狠的干狠狠的操 | 亚洲欧洲中文 | 人人人人爽 | 亚洲欧美日韩精品一区 | 黄色一级片视频 | 亚洲久草| 捆绑凌虐一区二区三区 | 久久精品99国产精品日本 | 久久精品国产99精品国产亚洲性色 | 日本a级片免费 | 91香蕉在线看 | 久草大 | 天天色天天插 | 海角社区在线视频播放观看 | 91国产免费看 | 99自拍视频在线观看 | 亚洲日本中文字幕 | 潘金莲一级淫片a.aaaaa播放 | 在线观看福利电影 | 免费午夜视频在线观看 | 福利小视频 | 四虎8848 |