OFFSET
1,3
COMMENTS
Each vertex of this tree has degree 4. If a vertex has at least 4 chips, the vertex fires and one chip is sent to each neighbor. The root sends 1 chip to its three children and one chip to itself.
The order of the firings doesn't affect the number of firings.
The corresponding sequence for a binary tree is in A376131.
The corresponding sequence for a ternary tree is in A378724.
LINKS
Dillan Agrawal, Selena Ge, Jate Greene, Tanya Khovanova, Dohun Kim, Rajarshi Mandal, Tanish Parida, Anirudh Pulugurtha, Gordon Redwine, Soham Samanta, and Albert Xu, Chip-Firing on Infinite k-ary Trees, arXiv:2501.06675 [math.CO], 2025. See p. 13.
Wikipedia, Chip-firing game.
EXAMPLE
Suppose we start with 12 chips at the root. Then the root will fire 3 times, 12 chips in total, 3 of which return to the root. The stable configuration will have 3 chips at the root and every child of the root. Thus, a(4) = 3.
Suppose we start with 15 chips at the root. Then the root will fire 3 times, sending away 9 chips. After that, the root can fire again, sending away 3 chips and keeping 3 chips. Now, each child of the root has four chips, and they can also fire. Firing them returns 3 chips to the root. Thus, the root can fire one more time. The stable configuration will have 3 chips at the root and 1 chip at each child and grandchild. The root fires 5 times, and each child fires three times. Thus, a(5) = 8.
PROG
(Python)
from math import floor, log
def to_base(number, base): # Converts number to a base
digits = []
while number:
digits.append(number % base)
number //= base
return list(digits)
def c(m, k, convert): # Calculates the c function
try:
num = to_base(convert, k)[m]
except:
num = 0
return num+1
def F(N, k): # Calculated the F function
n = floor(log(N*(k-1)+1)/log(k))
convert = N - int((k**n-1)/(k-1))
ans = 0
for m in range(1, n):
ans += (m*(k**(m+1))-(m+1)*(k**m)+1)*c(m, k, convert)
return int(ans/((k-1)**2))
seq = []
for i in range(1, 3*100+1, 3): # Change this number to get more terms in the sequence
seq.append(F(i+1, 3))
print(', '.join(map(str, seq)), end='\n\n')
CROSSREFS
KEYWORD
nonn
AUTHOR
Tanya Khovanova and the MIT PRIMES STEP senior group, Dec 05 2024
STATUS
approved