Jean-Pierre Appel has authored 3 sequences.
A364503
Sprague-Grundy values for Heat-Charge Toggle on paths from A364489 where paths with an even number of vertices are odious, or paths with an odd number of vertices are evil.
Original entry on oeis.org
0, 2, 1, 3, 2, 2, 3, 4, 5, 3, 7, 3, 4, 4, 6, 5, 5, 6, 4, 7, 6, 3, 10, 4, 16, 18, 16, 32, 32, 32, 32, 32, 36, 32, 36, 32, 33, 36, 32, 33, 32, 32, 32, 35, 33, 34, 34, 36, 35, 33, 33, 32, 36, 32, 33, 32, 36, 34, 34, 37, 37, 34
Offset: 1
a(2) = 2, which is odious. So the second term of A364489 is an even number.
- E. R. Berlekamp, J. H. Conway, and R. K. Guy, Winning Ways for Your Mathematical Plays, Vol. 1, CRC Press, 2001.
A364489
Values of n for which the Sprague-Grundy value of Heat-Charge Toggle on an (n+2)-vertex path with initial weights -1,1^n,-1 is evil for odd n or odious for even n.
Original entry on oeis.org
1, 4, 6, 9, 14, 22, 27, 30, 35, 41, 58, 59, 72, 84, 87, 89, 103, 105, 108, 124, 129, 141, 171, 258, 284, 407, 458, 11770548, 25146268, 27690032, 41693544, 55788270, 74838555, 86120064, 89811321, 95580294, 119784327, 139336981, 158776090, 160066751, 161102638, 181691114, 186919128
Offset: 1
For n = 4, the Sprague-Grundy value for a 6-vertex path is 2.
Note that n = 4 is even and 2 is odious (see A000069).
- E. R. Berlekamp, J. H. Conway, and R. K. Guy, Winning Ways for Your Mathematical Plays, Vol. 1, CRC Press, 2001.
A363934
Table read by ascending antidiagonals. T(n,k) is the Sprague-Grundy value for the Heat Toggle game played on an n X k grid where each vertex has initial weight 1.
Original entry on oeis.org
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 1, 0, 2, 0, 3, 1, 1, 3, 0, 3, 1, 3, 0, 3, 1, 3, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 2, 0, 2, 0, 2, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 3, 2, 2, 3, 1, 1
Offset: 1
The data is organized in a table beginning with row n = 1 and column k = 1. The data is read by ascending antidiagonals. T(2,3)=2.
The table T(n,k) begins:
[n/k] 1 2 3 4 5 6 ...
---------------------------------
[1] 1, 1, 1, 2, 2, 0, ...
[2] 1, 1, 2, 0, 3, 1, ...
[3] 1, 2, 1, 1, 3, 0, ...
[4] 2, 0, 1, 0, 1, 0, ...
[5] 2, 3, 3, 1, 2, 0, ...
[6] 0, 1, 0, 0, 0, ...
- E. R. Berlekamp, J. H. Conway, and R. K. Guy, Winning Ways for Your Mathematical Plays, Vol. 1, CRC Press, 2001.
-
SG_value_hash = {}
def MEX(S):
i = 0
while True:
if i not in S:
return i
i += 1
def SG_value(G):
global SG_value_hash
SG_value_hash = {}
ons = set(G.vertices())
offs = set()
return SG_value_helper(G, ons, offs)
def SG_value_helper(G, ons, offs):
ons_orig = ons.copy()
offs_orig = offs.copy()
child_SG_values = set()
for v in ons_orig:
vNeighborhood = set(G.neighbors(v))
neighNowOff = ons_orig.intersection(vNeighborhood)
neighNowOn = offs_orig.intersection(vNeighborhood)
if len(neighNowOff) >= len(neighNowOn):
ons.remove(v)
offs.add(v)
ons.update(neighNowOn)
offs -= neighNowOn
offs.update(neighNowOff)
ons -= neighNowOff
result = -1 # placeholder
encoded_position = str(offs)
if encoded_position in SG_value_hash:
result = SG_value_hash[encoded_position]
else:
result = SG_value_helper(G, ons, offs)
SG_value_hash[encoded_position] = result
ons.add(v)
offs.remove(v)
ons -= neighNowOn
offs.update(neighNowOn)
offs -= neighNowOff
ons.update(neighNowOff)
child_SG_values.add(result)
return MEX(child_SG_values)
for sum_of_both in range(2,11):
antidiagonal = []
for n in range(1, sum_of_both):
G = graphs.Grid2dGraph(n, sum_of_both-n)
antidiagonal.append(SG_value(G))
print(antidiagonal)
Comments