Copycat (software)
Copycat is a model of analogy making and human cognition based on the concept of the parallel terraced scan, developed in 1988 by Douglas Hofstadter, Melanie Mitchell, and others at the Center for Research on Concepts and Cognition, Indiana University Bloomington.[1] The original Copycat was written in Common Lisp and is bitrotten (as it relies on now-outdated graphics libraries for Lucid Common Lisp); however, Java and Python ports exist. The latest version in 2018 is a Python3 port by Lucas Saldyt and J. Alan Brogan.
Description
Copycat produces answers to such problems as "abc is to abd as ijk is to what?" (abc:abd :: ijk:?). Hofstadter and Mitchell consider analogy making as the core of high-level cognition, or high-level perception, as Hofstadter calls it, basic to recognition and categorization. High-level perception emerges from the spreading activity of many independent processes, called codelets, running in parallel, competing or cooperating. They create and destroy temporary perceptual constructs, probabilistically trying out variations to eventually produce an answer. The codelets rely on an associative network, slipnet, built on pre-programmed concepts and their associations (a long-term memory). The changing activation levels of the concepts make a conceptual overlap with neighboring concepts.
Copycat's architecture is tripartite, consisting of a slipnet, a working area (also called workspace, similar to blackboard systems), and the coderack (with the codelets). The slipnet is a network composed of nodes, which represent permanent concepts, and weighted links, which are relations, between them. It differs from traditional semantic networks, since the effective weight associated with a particular link may vary through time according to the activation level of specific concepts (nodes). The codelets build structures in the working area and modify activations in the slipnet accordingly (bottom-up processes), and the current state of slipnet determines probabilistically which codelets must be run (top-down influences).
Comparison to other cognitive architectures
Copycat differs considerably in many respects from other cognitive architectures such as ACT-R, Soar, DUAL, Psi, or subsumption architectures.
Copycat is Hofstadter's most popular model. Other models presented by Hofstadter et al. are similar in architecture, but different in the so-called microdomain, their application, e.g. Letter Spirit, etc.
Since the 1995 book Fluid Concepts and Creative Analogies describing the work of the Fluid Analogies Research Group (FARG) book, work on Copycat-like models has continued: as of 2008 the latest models are Phaeaco (a Bongard problem solver), SeqSee (number sequence extrapolation), George (geometric exploration), and Musicat (a melodic expectation model). The architecture is known as the "FARGitecture" and current implementations use a variety of modern languages including C# and Java. A future FARG goal is to build a single generic FARGitecture software framework to facilitate experimentation.
See also
- Artificial consciousness
- LIDA (cognitive architecture)
- Semantic pointer architecture
References
- Hofstadter, Douglas R. Fluid Concepts and Creative Analogies. ISBN 978-0-465-05154-0.
Further reading
- Mitchell, Melanie. Analogy-Making as Perception. ISBN 0-262-13289-3. (1993)
- Hofstadter, Douglas R. Fluid Concepts and Creative Analogies. ISBN 978-0-465-05154-0.
External links
- A short description of Copycat
- Github repository of copycat implementation (and other FARG projects)
- The Copycat Project: A Model of Mental Fluidity and Analogy-Making (pdf)
- A Python version of Copycat by J. Alan Brogan, 2012
- A Python version of Copycat by Joseph Hager, 2017
- Abhijit Mahabal's Seqsee code in Perl and in Python
- Copycat written in Lucid Common Lisp, hoping that it will be rewritten in a more platform independent way sometime soon
- Eric Nichols' Musicat dissertation
- The Letter Spirit page at the Center for Research on Concepts and Cognition