Wolfram Alpha的加载界面上显示的细胞自动机是什么?

8

在输入Wolfram Alpha的查询时,通常会在显示结果前显示动画几秒钟。它似乎是一个具有三个不同状态的元胞自动机。

我想知道这个特定的自动机叫什么,以及在哪里可以找到关于它的信息。谢谢!

3个回答

14

这是一个有5个状态的细胞自动机。规则是使用Golly记号3457/357/5

它有5种状态:01234。在每一步中,细胞的行为如下:

  • 0:如果8个邻居中有3、5或7个是1,则变为1,否则变为0
  • 1:如果8个邻居中有3、4、5或7个是1,则保持1,否则变为2
  • 2:变为3
  • 3:变为4
  • 4:变为0

这里有一个周期为15的振荡器:

enter image description here

这里有一个周期为24的喷气器:

enter image description here


就是这样!Golly的链接非常有帮助。以前从未听说过! - Askaga
2
这是我用JavaScript实现Wolfram特定动画的jsfiddle。不得不截取其中一个帧的屏幕截图来初始化它,哈哈。我截取的那个很简单,但我很想知道他们使用的绝对起点。https://jsfiddle.net/iAmMortos/espncctd/ - Taylor Lopez

1

这里是 Wolfram Alpha 细胞自动机的一个非常快速的 Matlab 实现:

rng(38); % 31 lasts a while / 38 has two oscillators / 39 lasts longer /42 lasts muuuuch longer
X = randi([0 4],30,40);

[a,b] = size(X);

initialFig = figure('toolbar','none','menubar','none');
[x,y]      = meshgrid(1:b,1:a);
scathandle = scatter(x(:),y(:),20*X(:)+1,X(:)+1,'filled');
colormp    = linspace(1,0.4,5)'*[1 1 1]; colormap(colormp);
axis([0 b+1 0 a+1]); axis off; set(gca,'position',[0 0 1 1]); set(gcf,'toolbar','none','menubar','none','color','w','numbertitle','off','name',''); axis equal;

n = [a 1:a-1]; % The previous row
s = [2:a 1];   % The next row
e = [2:b 1];   % The next column
w = [b 1:b-1]; % The previous column

[A,B,C] = meshgrid(1:a,1:b,[0 1]);

Xnew = X;
while 1
    N = (X(n,:)==1) + (X(s,:)==1) + (X(:,e)==1) + (X(:,w)==1) + (X(n,e)==1) + (X(n,w)==1) + (X(s,e)==1) + (X(s,w)==1); % Look for the total number of nieghbours == 1

    Xnew(X>=2) = mod(X(X>=2)+1,5); % if state is greater or equal to 2, increment 1 modulo 5
    Xnew(X==0) = (N(X==0)==3 | N(X==0)==5 | N(X==0)==7); % if state is 0, turn to 1 when neighbours equal 3,5 or 7. Leave 0 otherwise.
    Xnew(X==1) = 2 - (N(X==1)==3 | N(X==1)==4 | N(X==1)==5 | N(X==1)==7); % if state is 1, turn to 2 unless neighbours equal 3, 4 or 5. In the latter case, leave 1.
    X = Xnew;
    set(scathandle,'cdata',X(:)+1,'sizedata',20*X(:)+1);
    drawnow;

    if ~ishandle(initialFig)
        return
    end
end

我猜,随时都会有人发现这个对编程有用(以某种方式)。


-2
这是康威生命游戏。关于它有一篇非常好的维基百科文章,建议你去那里看看。

1
这不可能是真的,因为康威的生命游戏只有两种可能状态:死亡和存活。然而,在WA的加载页面上显示的自动机具有3个状态:空、小圆和大圆。也许这是生命游戏的某种变体?如果是这样,您能指向一种描述/特定实现它的方法吗? - Askaga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接