POTM: Programmer of the Month: Nuts: The Details

In the past, a complete collection of legalistic rules were provided. For these new POTM problems, a set of long rules is first suggested via the forums. After discussion, the final version is posted below. In general, if you have a question the simplest choice is usually the right choice - the goal being to encourage participation. If you have questions - please post them to the forum.
Any change made after September 11 is marked in red.
Deadline for NUTS is November 30th, 2004.

errata
  • POTM is pronounced "PAH-TUM"
  • The M stands for Month - but problems are posed irregularly
  • Squirrels may not carry guns, erect walls, beat up other squirrels, or do anything but walk around and collect nuts.
  • Yes, I know that real squirrels can't carry very many nuts at once - these POTM squirrels have little suitcases.
  • Flying squirrels will be disqualified.
  • I don't know if acorns are nuts, nor do I care.
    squares and squirrels
  • No more than ONE nut per square
  • Any number of squirrels may share a square
  • All squirrels start on the center square
  • When one or more squirrels enter a square with a nut on it, the nut disappears
  • you will know how many squirrels are on each square at each move
  • the location of YOUR squirrel will be known, but all other squirrels will be anonymous
    squirrel movement
  • in the main area of the grid, you may move to any one of EIGHT adjacent squares
  • on a side, FIVE moves are possible (no wrap-around)
  • in a corner, you may move to any of THREE squares (no wrap-around)
  • Sep 12: As the result of forum vote, resting will be allowed in the multi-squirrel POTM: your output MAY be your current location. No resting in single-squirrel POTM.
  • If a squirrel makes an illegal move, it will be eliminated from that round and receive a zero score
    the grid
  • Grid will be square with an odd number of squares per side
  • Grid will be at least 5x5 and at most 25x25 (finalized)
    winning
  • The same entry CAN win both POTMs with the same program
  • A program may have different algorithms depending on number of squirrels (but only one executable)
  • A "round" is based on a single starting grid and player (or players)
  • A round continues until all nuts are gone or some maximum number of moves occurs
  • scores will be evaluated including all fractional (shared) nuts.
  • Oct 29: Details on the final runs are found in this forum link.
  • one entry per forum login
  • multiple submissions of the same algorithm by the same person or team will NOT be tolerated - please don't do this - it will be obvious in the end and only cause pain for the other participants
  • Sep 28: Your official entry must be submitted by the deadline (23:59 Eastern time on November 30, 2004) using the sandbox tools.
    consolation awards and other fun stuff
    The POTM is for fun. In that spirit, there are generally awards for things like best program name and the like ... basically anything that I feel like at the end of a contest. Your code will be publicly available via the website (if you are worthy) and the top finishers are usually given an opportunity to make their code "pretty". Participants are also encouraged to post an exposition on their algorithm after the deadline passes ... these posts are often the most fun to read and offer insights into the foibles and quirks of the participants.
    running the rounds - the POTM-MASTER's job
  • I will subject all entries to a "system test" to qualify them for the actual event
  • Scores on the system test problem will be public
  • Challenges may be issued via the boards for one-on-one practice rounds or especially tricky nut layouts (thinking about details)
  • Disqualified entries will cease to appear on the board and the round will continue with the remaining squirrels
  • Results of all POTM rounds will be posted
  • Sep 20: Programs should expect a maximum of 999 squirrels in the MULTI-SQUIRREL run. The intent is to have all entries that successfully pass system testing participate in the same MULTI-SQUIRREL round.
    programming stuff
  • Input will be provided as a full path argument to your executable, as in
         nut_muncher /tmp/inputfile
  • Your output goes to stdout
  • You may "save" information from move to move in a small temp file (at present there is no enforced size limit)
  • At the beginning of a round, there will be no temp file; at each turn you will find the file (if any) you left behind last turn
  • You may name the temp file whatever you wish but it must be in the local directory
  • You may NOT save information round to round
  • Sep 20: Finalized: there will be a per move time limit (60 sec. sys+user time as measured by /usr/bin/time). Entries that exceed the time limit will receive a zero score and be removed from the board.
  • there will be no signal on a timeout ... if you're concerned about the limit keep your own timer
  • any attempt to do anything whatever outside of your personal run directory will be cause for disqualification
  • Sep 19: Per forum discussion, C and C++ programs will be compiled with only the math library added to the standard libraries and no optimization.
  • Sep 26: There will be NO output to stderr and NO additional output to stdout other than the two comma-separated numbers.


  • The POTM is unsponsored and just for fun.       Tuesday 04:45:03 AM      Copyright © 2004-6 - Fred Hicinbothem