This is a javascript version of the Copycat program developed by Douglas Hofstadter and Melanie Mitchell.
Copycat is a computer model of human analogy-making. It tries to solve letter puzzles of the form "abc is to abd as ijk is to what?"
It's internal workings are described in great detail in the books Fluid Concepts and Creative Analogies, and Analogy-Making as Perception.
I got interested in Copycat after reading the Fluid Concepts and Creative Analogies book, but I couldn't find a demo that was easy to install and use ... hence this project.
The original Copycat code was written in lisp, which I am not fluent in, so I based this port (except for the UI) mainly on the python version by Lucas Saldyt, occasionaly referring to the lisp version when something was unclear.
The look of the UI is based on that of James Marshall's Metacat (which is an extension of Copycat).