OFFSET
1,1
COMMENTS
For n>0, an (n+1,n) pebbling move involves removing n+1 pebbles from a vertex in a simple graph and placing n pebbles on an adjacent vertex.
A two-player impartial (n+1,n) pebbling game involves two players alternating (n+1,n) pebbling moves. The first player unable to make a move loses.
REFERENCES
E. R. Berlekamp, J. H. Conway, and R. K. Guy, Winning Ways for Your Mathematical Plays, Vol. 1, CRC Press, 2001.
LINKS
Kayla Barker, Mia DeStefano, Eugene Fiorini, Michael Gohn, Joe Miller, Jacob Roeder, and Tony W. H. Wong, Generalized Impartial Two-player Pebbling Games on K_3 and C_4, J. Int. Seq. (2024) Vol. 27, Issue 5, Art. No. 24.5.8. See p. 4.
Eugene Fiorini, Max Lind, Andrew Woldar, and Tony W. H. Wong, Characterizing Winning Positions in the Impartial Two-Player Pebbling Game on Complete Graphs, Journal of Integer Sequences, (2021) Vol. 24, Issue 6, Art. No. 21.6.4.
EXAMPLE
For n=1, a(1)=7 is the least number of pebbles for which every (2,1) game on K_5 is a next-player winning game regardless of assignment.
MATHEMATICA
Do[remove = k + 1; add = k;
(*Given n and m, list all possible assignments.*)
alltuples[n_, m_] := IntegerPartitions[m + n, {n}] - 1;
(*Given an assignment, list all resultant assignments after one pebbling move; only work for n>=3.*)
pebblemoves[config_] := Block[{n, temp},
n = Length[config];
temp = Table[config, {i, n (n - 1)}] +
Permutations[Join[{-remove, add}, Table[0, {i, n - 2}]]];
temp = Select[temp, Min[#] >= 0 &];
temp = ReverseSort[DeleteDuplicates[ReverseSort /@ temp]]];
(*Given n and m, list all assignments that are P-games.*)
Plist = {};
plist[n_, m_] := Block[{index, tuples},
While[Length[Plist] < n, index = Length[Plist];
AppendTo[Plist, {{Join[{1}, Table[0, {i, index}]]}}]];
Do[AppendTo[Plist[[n]], {}]; tuples = alltuples[n, i];
Do[If[Not[IntersectingQ[pebblemoves[tuples[[j]]],
If[i > (remove - add), Plist[[n, i - (remove - add)]], {}]]],
AppendTo[Plist[[n, i]], tuples[[j]]]], {j, Length[tuples]}],
{i, Length[Plist[[n]]] + 1, m}]; Plist[[n, m]]];
Do[m = 1; While[plist[n, m] != {}, m++]; Print[" k=", k, " m=", m], {n, 5, 5}],
{k, 1, 21}]
CROSSREFS
KEYWORD
nonn,more
AUTHOR
Kayla Barker, Mia DeStefano, Eugene Fiorini, Michael Gohn, Joe Miller, Jacob Roeder, Wing Hong Tony Wong, Jul 09 2021
STATUS
approved