|
Projects
Spring 2012 Older Courses Fall 2011 Spring 2011 Fall 2010 Spring 2010 Fall 2009 Spring 2009
Fall 2008
Spring 2008
Fall 2007 HOWTOs |
Mind-ReadingMachineMatt Fielding OverviewMind-Reading Machine is a game similar to the classic game of odds and evens. The computer makes a prediction, based on previous inputs, as to what your next choice will be out of two possible choices of 0 or 1. If the computer is correct it advances toward the goal, otherwise you stumped the computer and you advance. Screenshot![]() Concepts Demonstrated
External TechnologyIn order to represent the data to the player in a pleasing way, I used the sgl library which opens up Scheme to the power of OpenGL rendering. I also used Jay McCarthy's gl2d library for some useful wrappers for 2 dimensional graphics. Due to the nature of the sgl library, it also required that I used PLT-Scheme's scheme/gui windowing library to create a window with an OpenGL enabled canvas. InnovationMy project takes what is a simple algorithm to reproduce in a procedural language like C or an object-oriented language like C++ and envisions it under a new lens using Scheme's functional paradigms. Such things such as 3 dimensional arrays, state, and simply running through a program in the correct order to achieve the desired output are realized in vastly different ways than they would be in a language of a different kind. Technology Used Block Diagram![]() Additional RemarksThis particular manifestation of this algorithm was originally developed by Claude E. Shannon. He verbally describes how one would go about creating a "mind-reading machine", and includes circuit wirings for a much more developed physical version of the game. I had to take those written down notes and transcribe them into Scheme code, and it was quite fun. His original write up can be found on page 688 of Bell Laboratories Memorandum from March 18, 1953. A copy can be provided via e-mail if you wish. I can be contacted at mfieldin |-at-| cs.uml.edu. |