更改

跳到导航 跳到搜索
第27行: 第27行:  
<br>元胞自动机通常是在有限网格上模拟的,而不是在无限网格上。在二维空间中,整个网格将是一个矩形而不是一个无限平面。有限网格最大的问题就是如何处理边缘的单元格。处理它们的方式将影响网格中所有单元格的值,一种方法是允许这些单元格中的值保持不变;另一种方法是为这些单元格定义不同的邻域。
 
<br>元胞自动机通常是在有限网格上模拟的,而不是在无限网格上。在二维空间中,整个网格将是一个矩形而不是一个无限平面。有限网格最大的问题就是如何处理边缘的单元格。处理它们的方式将影响网格中所有单元格的值,一种方法是允许这些单元格中的值保持不变;另一种方法是为这些单元格定义不同的邻域。
   −
<br>虽然可以认为边缘单元格的邻域较少,但是必须为其定义新规则。这些单元格通常以环形排列处理: 当一个单元格无上邻域时,将该单元格相应位置的网格底部单元格作为上邻域,当一个单元格无左邻域时,将该单元格相应位置的网格右侧单元格作为右邻域。(这实质上模拟了无限周期的拼接,在偏微分方程领域有时被称为周期边界条件。)这可以想象为用胶带把矩形的左右边缘粘在一起形成一个管状,然后把管的顶部和底部边缘粘在一起形成一个圆环(甜甜圈形状)。其他维度的网格也是这样处理的。这种方法不仅解决了邻域的边界问题,而且易于通过使用模块化计算功能编程。例如,在一维元胞自动机中,单元格 x<sub>i</sub><sup>t</sup> 的邻居是{ x<sub>i-1</sub><sup>t-1</sup>,x<sub>i</sub><sup>t-1</sup>,x<sub>i+1</sub><sup>t-1</sup>} ,其中 t 是时间步长(纵轴),i 是一代中的索引(横轴)。
+
<br>虽然可以认为边缘单元格的邻域较少,但是必须为其定义新规则。这些单元格通常以环形排列处理: 当一个单元格无上邻域时,将该单元格相应位置的网格底部单元格作为上邻域,当一个单元格无左邻域时,将该单元格相应位置的网格右侧单元格作为右邻域(这实质上模拟了无限周期的拼接,在偏微分方程领域有时被称为周期边界条件)。这可以想象为用胶带把矩形的左右边缘粘在一起形成一个管状,然后把管的顶部和底部边缘粘在一起形成一个圆环(甜甜圈形状)。其他维度的网格也是这样处理的。这种方法不仅解决了邻域的边界问题,而且易于通过使用模块化计算功能编程。例如,在一维元胞自动机中,单元格 x<sub>i</sub><sup>t</sup> 的邻居是{ x<sub>i-1</sub><sup>t-1</sup>,x<sub>i</sub><sup>t-1</sup>,x<sub>i+1</sub><sup>t-1</sup>} ,其中 t 是时间步长(纵轴),i 是一代中的索引(横轴)。
 
<br>[[File:圆环.png|150px|thumb|center|圆环:甜甜圈形状]]
 
<br>[[File:圆环.png|150px|thumb|center|圆环:甜甜圈形状]]
  
1,526

个编辑

导航菜单