We broke the Cookie Cutter problem into a number of subproblems. First,
we considered the problem of optimally fitting together the copies of
a cookie shape. Second, once an appropriate grouping of cookie copies
has been arranged, we focussed our efforts on making the cluster of
cookie copies conform to the restrictions placed upon the cookie dough
dimensions. Third, in a parallel fashion, we broke the domain of cookies
into convex and concave shapes. Hopefully, these subproblems would be
more manageable than the problem of placing each copy of each cookie
template.
Besides simplifying the overall problem, we also did not want to rely upon
the CPU to do what some mathematics could probably calculate in constant
time. For example, computing the optimal rotation of a copy of a cookie
to fit with its counterparts could be done without iterating through
the discrete divisions of the range of . Since we are merely
trying to tile a shape, we believe that there should be a measurable
relationship between a cookie's shape, its corners, and its edges.
Estimating this relationship should allow our player to make fewer
rotations and translations to arrive at a near optimal solution.
``Famous Frugal Amos,'' (FFA) the submitted implementation of our Cookie Cutter player, met limited success when pitted against the likes of the formidable ``Pillsbury Doughboy,'' its cousin, ``Modified Pillsbury Doughboy,'' and the deceptively named, ``Dumb and Dumber.'' With the completion of some modules integral to our overall strategy, we would have signically enhanced our performance.