首页 > 编程语言 >学习常用模型及算法4.元胞自动机

学习常用模型及算法4.元胞自动机

时间:2022-10-10 22:14:18浏览次数:112  
标签:常用 模型 网格 veg 算法 元胞 自动机


title: 学习常用模型及算法4.元胞自动机
excerpt: 学习数学建模常用模型及算法
tags: [数学建模, matlab]
categories:


一维元胞自动机。给出任意一个状态,都能知道下一时刻的状态。规则已给出,总共有2^3 = 8种可能。

二维元胞自动机——生命游戏

元胞的状态是有限的——不是有车就是无车,不是死就是活。
可以用简单的规则来模拟复杂的问题。

1.元胞自动机的构成要素

左图可用来模拟疾病传播情况

最常用的就是正方型网格,其次是六边型网格。三角型网格几乎不出现。

最常用的为左数两种邻居,但具体按照题目要求决定。

边界处理总共有四种类型。其中汽车交通就采取的是吸收型(汽车经过以后就会消失不见)
右侧采取的是周期型,相当于将相同的网格拼在一起。

总和型是合法型的一种特殊情况

2.例 森林火灾模型

火灾在森林中蔓延的模型。元胞总共有三种状态:空格、树、火。
其中如果树的任一邻居是火(或者树遭雷劈),它的下一阶段就会变成火。再下一阶段就变成了空格。会以极小概率再次变成树。

系统稳定条件:着火的密度和由空格转化而成的树的密度应该是相等的。
时间尺度分离条件:遭雷劈的概率<<空格转化成树的概率<<树被火烧完的时间尺度

用切片重拼的方法表示上下左右邻居。

这里用RGB分别表示着火、树和空格。

    % simulate forest fire with cellular automata
    % zhou lvwen: [email protected]
    % August 15 2010
    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 = empty=0 burning=1 green=2
    for i=1:3000
        %nearby fires?
        sum =            (veg(UL,:)==1) + ...
            (veg(:,UL)==1)     +      (veg(:,DR)==1) + ...
                         (veg(DR,:)==1);
        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

参考文章

标签:常用,模型,网格,veg,算法,元胞,自动机
From: https://www.cnblogs.com/baixf-xyz/p/16777605.html

相关文章

  • LeetCode算法笔记 350. 两个数组的交集 II
    importjunit.framework.TestCase;importjava.util.Arrays;importjava.util.HashMap;publicclassLeetCode03extendsTestCase{/***350.两个数组......
  • Class3 GMM以及EM算法
    title:Class3GMM以及EM算法excerpt:想让张宇老师教我机器学习!!!tags:[语音识别,ASR]categories:[学习,语音识别]index_img:https://picture-store-repository.......
  • AcWing算法提高课 容斥原理
    容斥原理的复杂度是2^n,一般n不会很大形如:  由于容斥原理一共有2^n中选法,可以用二进制枚举,1表示选择某个条件。然后将偶数个1的状态加起来,奇数个1的状态减去例题:ht......
  • qt容器与常用算法
    容器这些容器的使用方式和stl学的基本结构,使用方式是一样只要是数据就要使用容器,程序中的数据放在容器中方便增删改查。Qt库提供了一组通用的基于模板的容器类(contain......
  • 禁忌搜索算法实现经典VRP问题
    1.问题描述:        人工智能算法解决VRP问题。。        用禁忌搜寻算法实现VRP问题或者用启发式算法实现VRP问题只要不是GA算法约束任意只要是VRP问......
  • 深度学习/机器视觉/数字IC/FPGA/算法手撕代码目录总汇
    目录​​FPGA/数字IC手撕代码总汇​​​​常用算法手撕代码总汇​​​​FPGA工程师经典面试题​​​​数字IC经典面试题​​​​深度学习/人工智能/机器学习面试题​​​​......
  • COPE协议、RLNCBR算法功能实现
    1)接收节点数N变化,各节点丢包率P1=P2=…=Pn=0.08,节点数从2变化到10,增量为1,重传时间间隔为100Δt,作出平均传输次数随接收节点数变化的曲线图2)P1=P2=…=Pn且变化,从0.02变化到0.......
  • 从源码分析 MGR 的新主选举算法
    MGR的新主选举算法,在节点版本一致的情况下,其实也挺简单的。首先比较权重,权重越高,选为新主的优先级越高。如果权重一致,则会进一步比较节点的server_uuid。server_uuid......
  • 基于Qlearning的倒立摆控制算法matlab程序
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clc;clearallcloseall%flops(0);%holdoff%%=====================......
  • 蚁群聚类算法
    1.问题描述:2.部分程序:clc;clf;clear;%X=测试样本矩阵;X1=load('data.txt');X=X1(:,1:2);[N,n]=size(X);%N=测试样本数;n=测试样本的属性数;K=4;......