cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

Showing 1-1 of 1 results.

A320030 Automaton sum similar to A102376 but using mod 3 instead of mod 2.

Original entry on oeis.org

1, 4, 13, 4, 16, 52, 13, 52, 121, 4, 16, 52, 16, 64, 208, 52, 208, 484, 13, 52, 121, 52, 208, 484, 121, 484, 1093, 4, 16, 52, 16, 64, 208, 52, 208, 484, 16, 64, 208, 64, 256, 832, 208, 832, 1936, 52, 208, 484, 208, 832, 1936, 484, 1936, 4372, 13, 52, 121, 52
Offset: 1

Views

Author

Nathan M Epstein, Dec 10 2018

Keywords

Comments

The automaton that generates this sequence operates on a grid of cells c(i,j). The cells have three possible values, 0, 1, and 2. The next generation in the CA is calculated by applying the following rule to each cell: c(i,j) = ( c(i+1,j-1) + c(i+1,j+1) + c(i-1,j-1) + c(i-1,j+1) ) mod 3.
Start with a single cell with a value of 1, with all other cells set to 0. For each generation, the term in this sequence c(n) is the aggregate values of all cells in the grid for each discrete generation of the automaton (i.e., not cumulative over multiple generations).
The cellular automaton that generates this sequence has been empirically observed to repeat the number of active cells (4 in this case) if the iteration number N is a power of the modulus + 1. The modulus in this case is 3.
This has been observed to occur with any prime modulus and any starting pattern of cells. I'm picking this particular implementation because it's the same as the one used in A102376.
Counting the active (nonzero) cells instead of taking the sum also creates a different but related sequence. This sequence is the sum of each iteration, and cells in this automaton have values 0, 1, or 2. Only for mod 2 are both the sum and active cell counts the same.

Crossrefs

Cf. A096053.
Cf. A102376 (mod 2), A320100 (mod 5).

Programs

  • Python
    import numpy as np
    from scipy import signal
    frameSize = 301
    filter = [[0,1,0],[1,0,1],[0,1,0]] # this defines the CA neighborhood
    frame  = np.zeros((frameSize,frameSize))
    frame[frameSize//2,frameSize//2] = 1
    mod = 3
    sequence = [1]
    for j in range(140):
        frame = signal.convolve2d(frame, filter, mode='same')
        frame = np.mod(frame, mod)
        sequence.append(int(np.sum(frame.reshape(1,-1))))

Formula

a(3^n) = A096053(n).
Showing 1-1 of 1 results.