Farmer
Klaus and the Mouse:
- Overview:
Farmer Klaus and the Mouse is a team game
of chance played by young children in
Germany, with the children teaming up
to get the grain into the barn before
the mice get it. The object of this project
is to determine the frequency with which
the children can expect to win the game,
approximately (via simulation) and if
possible exactly (via dynamic programming).
Mathematical and Computing Concepts: Dynamic
programming, simulation
Programming Language: C++, Mathematica
suggested. The language of choice for
dynamic programming is Mathematica, which
can be used as a functional programming
language that can return any kind of object,
and which can automatically store previously-found
solutions to subproblems.
Prerequisites: CS 195.
Status: Jason Green is working
on this, Spring 2001.
Maverick
Solitaire:
Overview:
In an episode of the old Maverick television
show, Brett Maverick claims that 49 times
out of 50 you can arrange 25 drawn cards
into 5 pat poker hands. The object of
this project is to confirm or disconfirm
this claim by designing a program that
tries to find 5 pat poker hands in 25
cards, then simulating draws of 25 cards.
Mathematical and Computing Concepts: Simulation
Programming Language: open
Prerequisites: CS 195.
Status: Not started
back
to top of page
Vess
and Other Matching Puzzles
Overview:
Various popular puzzles require the
solver to place 9 pieces in a 3-by-3 grid
so that the side of one piece matches
(in head-and-tail fashion) the adjoining
sides of the adjacent pieces (see first
figure below). How many essentially different
such puzzles are there? Generalizations
involve other shapes (triangular or lozenge-shaped
pieces, etc.-see second figure below)
or symmetry of heads and tails (e.g.,
just colors). Such puzzles can be solved
by brute force with backtracking, but
is there a more efficient strategy, in
terms of max/expected number of comparisons
of potential fits of adjacent sides? How
can information special to the puzzle
best be used? For example, the cereal-box
puzzle below features on each small square
the front or the back part of each of
four German houses; 6 of the small squares
have the tops of all roofs pointing CCW,
3 squares have one exceptional house half
pointing CW. Such information should narrow
the search space considerably; here, each
square can fit against a given side of
another square in at most 1 way. In particular,
is it efficient to build up the solution
to a larger puzzle be built up by dynamic
programming from smaller collections of
fitted-together pieces?
Mathematical and Computing Concepts:
Dynamic programming
Programming Language: Mathematica.
The language of choice for dynamic programming
is Mathematica, which can be used as a
functional programming language that can
return any kind of object, and which can
automatically store previously-found solutions
to subproblems.
Prerequisites: CS 195, Math 200.
Status: Not started.
back
to top of page
Headlamp Direction:
Overview:
I once uncritically accepted the diagram
and caption below (from a book I am intimately
familiar with) about how a headlamp works:
Caption:
"In an automobile headlight, a parabola
directs rays of light outward in parallel
lines: straight out, for the high beam
source located at the focus, and down
and to the right, for the low beam source
located above and to the left of the focus."
This
claim is not true, as Eileen Fernandez
and students at Montclair State University
brought to my attention. It is not hard
to find rays that leave the headlamp in
an upward direction. Nevertheless, the
figure shows the design of headlamps.
What is the actual geometry of distribution
of the light rays when the light source
is placed away from the focus, and what
effect does it have that the light source
is not a point source?
Mathematical and Computing Concepts:
Analytic geometry of a parabola
Programming Language: Mathematica.
Prerequisites: Math 115, CS 111.
Status: Not started.
Basketball:
Overview:
In basketball, the backboard provides
an invaluable aid, helping some shots
to go in that would otherwise not and
allowing easy almost-sure lay-up shots.
When, if ever, should a player in fact
aim for the backboard instead of the hoop?
Previous research suggests how the player
should shoot if aiming at the hoop: Shoot
high, and (for a free throw) shoot underhanded.
Mathematical and Computing Concepts:
Analytic geometry
Programming Language: Programming
may or may not be desirable; if used,
it would be for simulation.
Prerequisites: College physics,
preferably including Dynamics; perhaps
mathematical probability.
Status: Not started.
|
|