Generative Creativity - lecture 16:
Copycat

Introduction

Melanie Mitchell and Douglas Hofstadter are developers of the Copycat system.

This solves solves problems such as

by finding analogies between letter sequences.

At least three good answers

For the analogy problem abc -> abd, ijk -> ?, common answers are

Copycat tends to produce all three types of solution reinforcing Hofstadter's claim that it models creative analogy in humans.

Overview of Copycat

Hofstadter's approach relies on the use of a database of built-in rules rather than examples. (Hofstadter calls them `codelets').

In order to discover an answer to an analogy problem such as abc : abd; iijjkk : ?, codelets work to build up a mapping between the initial string abc and the target string iijjkk, and also between the initial string abc and the modified string abd.

Codelets can also build hierarchical groups within strings. For example, in the string iijjkk, codelets might build the groups ii, jj, and kk, and then a higher-level 'successorship' group comprised of these three groups encompassing the entire string.

Bridges

A mapping for Copycat consists of a set of bridges between corresponding letters or groups that play respectively similar roles in different strings.

For example, a bridge might be built between a in abc and the group ii in iijjkk, supported by the concept-mappings leftmost => leftmost and letter => group.

Once a mapping has been built between the initial string and the modified string (i.e., between abc and abd), a rule based on this mapping must be created that captures the way in which the initial string changes.

Copycat in action

See applet version at http://www.itee.uq.edu.au/~scottb/_Copycat/

Local version at crs/gc/copycat/index.html

http://www.christhornton.eu/crs/gc/copycat/index.html

Try abc -> zyx as ace goes to ?

The abc->abd problem should load up automatically. Use the Step button to step through the sequence. The stop button returns to the start.

Copycat screenshot (if applet fails)

Another way of viewing the analogy

Summary

Exercises

  abc -> bbbcccddd, bca -> ?
  abc -> abd, iijjkk -> ?
  abc -> abd, kji -> ?
  abc -> abd, jffwww -> ?
  abced -> abcde, ppqqrrss -> ?
  abcdfeg -> abcdefg, onmlkij -> ?
  abc -> axc, nnn -> ?
  aqc -> abc, pqc -> ?
  abcc -> abcd, xyzz -> ?
  pgzlrb -> pgzmrb, sizcq -> ?
  pgzlrb -> pgzmrb, sicjz -> ?
  pqr -> rqp, a -> ?
  a -> pqr, z -> ?
  a -> z, pqr -> ?
  eqe -> qeq, abbbc -> ?

Solving a Bongard problem involves finding a rule which fits all six images on the left page, but none of the images on the right page. Go to http://www.cs.indiana.edu/~hfoundal/res/bps/bpidx.htm and work through at least 10 such problems. Then write a list of the similarities and differences between Bongard problems and sequence-analogy problems.

Resources


Page created on: Wed Mar 3 11:01:35 GMT 2010
Feedback to Chris Thornton