A logical approach to discrete math
A logical approach to discrete math
Concrete Mathematics: A Foundation for Computer Science
Concrete Mathematics: A Foundation for Computer Science
Program Construction: Calculating Implementations from Specifications
Program Construction: Calculating Implementations from Specifications
Isomorphisms of generic recursive polynomial types
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Left and right adjoint operations on spaces and data types
Theoretical Computer Science - Logic, semantics and theory of programming
The algorithmics of solitaire-like games
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Hi-index | 0.00 |
One-person solitaire-like games are explored with a view to using them in teaching algorithmic problem solving. The key to understanding solutions to such games is the identification of invariant properties of polynomial arithmetic. We demonstrate this via three case studies: solitaire itself, tiling problems and a novel class of one-person games. The known classification of states of the game of (peg) solitaire into 16 equivalence classes is used to introduce the relevance of polynomial arithmetic. Then we give a novel algebraic formulation of the solution to a class of tiling problems. Finally, we introduce an infinite class of challenging one-person games, which we call ''replacement-set games'', inspired by earlier work by Chen and Backhouse on the relation between cyclotomic polynomials and generalisations of the seven-trees-in-one type isomorphism. We present an algorithm to solve arbitrary instances of replacement-set games and we show various ways of constructing infinite (solvable) classes of replacement-set games.