2021美赛A题元胞自动机解法(M奖)
距離比賽已經整整一年了,今天突然想整理一下以前比賽的代碼,所以下面是回憶著寫的,可能有錯誤的地方,歡迎大家指正。
主要是建了下面3個模型,一一說明:
Model I
首先要建立多種真菌存在下的分解速率模型,這里我是考慮到單個菌落的分解速度以及菌落之間的競爭作用。這里多種菌落分為強弱菌種,建立的模型中強菌會逐漸覆蓋掉弱菌。而決定菌種生長速度的,則是耐濕性和分解速率(根據題意)。然后我將真菌的相互作用分為了3個階段:無影響、干擾和寄生,具體原因可見后面的reference。每個階段都有對應的解析式,并且我用了一個幾何模型來表示真菌之間的擴散作用。然后是大氣趨勢變化,這里給出了相互作用的短期和長期趨勢。
Model II
這里結合Model I給各種菌做了ranking 然后給出了一些影響ranking的指標,全部是結合文獻而來。
Model III
這里用元胞自動機做的生態系統仿真,時間原因只用了2種菌仿真,主要是多種菌的代碼由于狀態轉換問題求補集容易有bug,當時沒時間調了。并且也用元胞自動機做了Sensitivity Analysis 。
先上摘要和符合說明
The carbon cycle is a significant part of the Earth’s biosphere activities. The
degradation of wood littered by fungi plays a key role in the carbon cycle. Based
on the idea of differential equation and computer simulation, three models were
established by studying fungi and their growth environment, which was helpful to
understand the key parts of carbon cycle.
Model I, A dynamic decomposition model of the interaction of various strong
and weak fungi with environmental impact: we took the growth rate of fungi and
its moisture tolerance as the main factors affecting the decomposition rate. Based
on this, a mathematical representation of the decomposition process of the colony
was constructed. This paper found that the interaction between fungi includes three
stages of non-influence, interference, and parasitism. Then the mathematical
expression of the decomposition rate in each stage was derived. And the dynamic
interaction of any two fungi was shown in a geometric way. The results showed
that the competition between the colonies will not be conducive to the decompo-
sition of both parties. The influence mechanism of atmospheric trend changes on
the interaction was shown. The results showed the short-term and long-term trends
of the interaction between fungi.
Model II, A prediction model of the advantages and disadvantages of fungal
species considering environmental factors: the competition ranking of fungi in
the same environment was quantified. The projection of each fungus on the main
components of the competition ranking was used to quantify their competitive
ability. Then we predicted the influence of other environmental components on the
advantages and disadvantages of each fungus. We used data from Alaska to Puerto
Rico. The data can reflect the adaptability of fungi to different environments. Then
the optimal value of each fungus in each environment from the three aspects of
temperature, humidity, and PH was given. We gave the basis to judge the relative
advantages and disadvantages of each kind of fungi. Finally, data from the refer-
ence was used to obtain the optimum values. The values were about temperature
and humidity for each fungus in different environments, then each fungi’s ad-
vantages and disadvantages could be judged.
Model III, A prediction model for the diversity and importance of fungal com-
munities: we analyzed the mechanism of the decomposition of ground waste and
wood fiber by the fungal community system with biological diversity. Then the
mathematical expression of the system decomposition rate was built. The cellular
automata was used to simulate the evolution process of the system with relatively
high and low biodiversity. The Specific value was given under the impact of the
environment on the three aspects of Model II. Among them, the average value of
system deviations with high population abundance was 27%, and the average value
of system deviations with low population abundance was 29%.
下面就簡單說一下重要的模型部分
分解率定義
地面廢棄物和木材纖維上真菌的分解速度主要與真菌的兩個特性有關: 真菌的生長速度和真菌的抗濕性。因此,主要研究這兩個特性,以建立多種真菌存在時的分解模型。最后,確定了兩者之間的關系如下: 地面廢棄物和木材纖維上的真菌的分解速度取決于菌絲的延伸速度和真菌的抗濕性。菌絲體的擴展速度實質上是真菌的生長速度 ,它是由大氣環境的溫度和濕度決定的,如下圖所示。
要研究真菌對地面廢棄物和木材纖維的分解速率,必須考慮外界環境因素和真菌系統內部的相互作用。為了簡化模型,我們首先忽略了真菌之間的相互作用。在外界環境的作用下,每一種群體都有其最佳的生存環境,包括溫度和濕度。因此,僅考慮外部環境,地面廢棄物和木材纖維的分解是由多種真菌在特定溫度和濕度下的所有單菌落分解地面廢棄物和木材纖維的簡單合成。因此,該問題可以簡化為研究在特定的外部條件下,單個菌落分解地面廢棄物和木材纖維的問題。
對于一個菌落,其地面廢棄物和木材纖維的分解遵循一個指數動態規律如下
如前所述,真菌在地面廢棄物和木材纖維上的分解速率取決于菌絲的延伸速率和菌絲的耐濕性,而菌絲的延伸速率取決于大氣環境的溫度和濕度。因此,應該有以下的形式
然后下面是結合的組織增長模型,因為菌種的規模越大生長速率就越慢,這里就用logistic了,得到下面的規律:
用matlab求解,可以求得該式的解析解:
這樣就可以得到某種菌的生長速率,如上式左邊與r的乘積
那么到這里其實就得到了生長率的解析式了。但是看這個式子,這里的函數還需要具體解釋。
通過查閱文獻資料,我們發現北美37種真菌菌絲伸長率與溫度的關系如下圖所示。研究了菌絲伸長率與濕度的關系,結果表明: 菌絲伸長率隨濕度的增加而增加,隨濕度的增加而增加。根據數據,這里要符合一個倒的對勾函數。
因此可得到以下兩式:
這里的最大值可以求一階導得到,包括
這里符合比較多,不再解釋,可以對照上面的表,不是特別重要。
那么根據上面幾個式子,就可得到
對于單菌落來說,分解木質纖維的速度滿足:
那么對于整個系統,整體的分解速率就是所有菌落的分解速度之和(不考慮相互作用時)
相互作用
這里定義了3個階段,以兩種菌落為例,有接觸前,即將接觸時,接觸后,分別定義為
non-contact area, the interference area, and the parasitic area
兩種真菌在初始階段處于非接觸區,隨后以此為順序進入狀態
代入上方ki的表達式,3個階段的表達式依次是:
特別解釋一下第3個式子,其實就是下面這個圖
該圖顯示了強真菌 j (綠色)侵入弱真菌 i (黃色)的過程。實際上,不同菌群相互接觸后存在以下三種情況,強菌群侵入弱菌群的可能性較大,兩個菌群處于死鎖狀態,弱菌群侵入強菌群的可能性較小,這里不考慮最后一種情況。
面積 G 和 D 分別代表深黃色和深綠色圓形區域中心,E 和 F 分別代表 D 面積以外的兩層圓盤結構,H 面積代表 G 面積以外的圓盤。面積 D 代表強菌群形成的菌落半徑,面積 G 代表弱菌群形成的菌落半徑。
那么弱勢真菌在強勢真菌入侵時的生長區域則為
而表明強菌入侵結束后,強菌群的領地,被粉紅線包圍是
強菌入侵時強菌的生長區域則是
當入侵過程不發生時,表示弱勢真菌在強勢真菌入侵期間的生長面積。
所以下面就只剩一個當入侵過程發生時的生長速度,這里還是根據文獻,提出了一個覆蓋率的概念。
根據這個式子,可以表示上述圖形中的各個參數,公式推導這里就不寫了,直接寫結果:
到目前為止,本文已經得到了關鍵參數的表達式和公式 ,可以把它們放入前面的分解率計算公式中,得到系統的分解速率。
這個模型我覺得比較合理的是,上面的各式正好可以得到一個比較漂亮的結果:
對于弱真菌,下面的公式適用于
而對于強真菌,下面的公式適用于
在菌落分解速率與菌落邊緣周長成正比的前提下,可以得到物理中反映的規律:
這里ki3k_{i3}ki3? 和kj3k_{j3}kj3?代表寄生區較弱真菌和較強真菌的分解速度;ki2k_{i2}ki2? 和kj2k_{j2}kj2?則代表干擾區弱、強真菌的分解速率。
正好是不考慮相互左右的分解率×了一個小于1的衰減系數(為什么小于1可以根據θ1\theta_1θ1?和θ2\theta_2θ2?的表達式證明),而對于強勢菌,則加了一項與衰減量相同系統的增長系數,所以可以得到如下結論:
由于強菌進入寄生區后取代弱菌的速度比弱菌的膨脹速度慢得多,本文認為強菌在環境不發生干燥變化的情況下,不會完全取代弱菌,而是處于侵入與入侵并存的狀態。由于弱勢真菌有膨脹率,當強勢真菌侵入弱勢真菌時,侵入弱勢真菌相應部位的強勢真菌的生長速度低于強勢真菌邊緣其他部位的生長速度。
大氣作用
這項并不是我認為模型中的精彩部分,就不多做敘述了,只放一張思路圖
結合上面的部分,也可以得出解析式(運氣好),正好是個雙曲正切,但是有點復雜。
多菌落分解模型
首先分析了利用真菌群落多樣性分解地表廢棄物的機理,建立了以分段函數描述系統總體分解效率的數學表達式。然后利用元胞自動機模擬了生物多樣性系統和非生物多樣性系統在局部環境具有不同程度變異時的演化過程,給出了環境影響率的三個方面。
這里的分解率公式都是根據上面的模型建立的。
主要考慮了任意兩個群體之間的相互作用,建立了一個動力學模型。在此基礎上,我們繼續研究了不同真菌菌落分解模型的形成,并探討其對系統分解地面垃圾總效率的影響。
如果只有兩種菌的情況下
所以當系統中存在多種菌時,分解率隨時間的變化如下圖所示:
如果 tdisi\ t_{disi}?tdisi? 的數量趨近與無窮,意味著系統中如果存在足夠多個菌落,由上圖可以輕易看出,整體系統的分解速率滿足:
這與上面定義的單菌落的公式完全對應。
元胞自動機仿真
為了簡化計算,本文將某一地區兩種不同真菌的存在視為生物多樣性,將某一地區一種真菌只有兩個亞種的存在視為非生物多樣性。為他們制定規則。本文討論了環境波動對真菌群落的影響。主要表現在三個方面: 某種真菌停止生長和死亡,強真菌的置換率增加,弱真菌轉化為強真菌。我們的工作是量化這三個方面的內容。當一個地區有兩種不同的真菌時,在三種情況下,某種真菌的實際生長率下降50% ,其他真菌不變,弱真菌的實際生長率下降50% ,強真菌的實際生長率上升50% ,強真菌對弱真菌的覆蓋率上升50% ,弱真菌直接被強真菌取代。當一個地區有一種真菌的兩個亞種時,這三種情況分別對應兩種真菌的實際生長率下降50% ,兩種真菌的實際生長率下降50% ,沒有影響。
讓程序進入循環,使分解過程圖像和變量變化過程圖像。分解速率公式以概率的形式給出。具體規則是: 當細胞周圍有 n 個代表木纖維的細胞,可以轉化為代表真菌的細胞時,它就有轉化的可能性N*P,其中 p 與真菌的分解速度相對應。值得注意的是,考慮到弱真菌在直接競爭中弱于強真菌,他們需要改進其他方面,以增加生存的可能性,所以我們讓弱真菌比強真菌生長得更快。
綜上,這部分在matlab里做初始化
m = 500;n = 500; % 元胞自動機的空間大小 % 用1, 2, 3 分別表示 S, E, I, R. 無養分區用 0 表示 % S = 未分解木質纖維 ; E = 弱勢菌 ; R = 強勢菌[S, E, R] = deal(0,1,2); %deal就是匹配輸出 相互對應出來的 使其一一對應 %可能這種代碼意味著初始最多有兩種狀態,就是初始狀態終止狀態和啥也不是態 %rhoN = 0.00008; rhoS = 0.9995; %初始未分解木質纖維密度 rhoE = 0.0004; % 初始弱勢菌密度 rhoR = 0.0001;% 初始強勢菌密度 % X 為每一個元胞的狀態 X = zeros(m,n); % 先建立一個全零矩陣 %X(rand(m,n)<rhoN) = N; X(rand(m,n)<rhoS) = S; % 如果隨機的一個是小于0.96的,就是未分解木質纖維 X(rand(m,n)<rhoE) = E; %也是同上了 先定義上啊 X(rand(m,n)<rhoR) = R; time = zeros(m,n); %計時: 用于計算潛伏時間和治療時間 從 0 開始嗎 ? % 鄰居方位d = {[1,0], [0,1], [-1,0], [0,-1],[1,1], [-1,1], [-1,-1], [1,-1]};%下面是一種狀態轉換為另一種狀態的時間 T = 1; % S-E的時間,對應弱菌的實際生長率 D = 3; % S-R的時間,對應強菌的實際生長率P1 = 0.6; % 弱菌孢子存活率 P2 = 0.5; % 強菌孢子存活率 P3 = 0.05; %強勢菌吃掉弱勢菌的概率 % 每一個元胞的潛伏期和治愈時間服從均值為 T 和 D 的正態分布 Tmn = normrnd(T,T/2,m,n); Dmn = normrnd(D,D/2,m,n); %正態分布的表示方法狀態轉換如下圖:
一開始系統中全部是未分解的木質纖維,隨后大部分被弱勢菌分解并替代,當大部分的地方都被強勢菌和弱勢菌占領后,開始兩種菌之間的競爭作用,最后強勢菌將完全覆蓋掉弱勢菌。
元胞數量變化是這樣的。
狀態轉換規則如上,主要一個狀態如果不變的情況也要考慮。
總結
因為已經過了一年了,只寫了一些當時還記憶深刻的東西,這里有全篇論文和可以直接跑的代碼以及當時比賽時的一些手稿,有寫論文中表述不清的問題可以看看手稿,公式有很多都是手推的,但是論文只寫了結果。由于論文中有篇幅限制,元胞自動機中的狀態轉換圖放在手稿中了。整理不易,希望大家理解。
總結
以上是生活随笔為你收集整理的2021美赛A题元胞自动机解法(M奖)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java dicom查看_验证DICOM
- 下一篇: SubSonic学习(二)