|
Simon Colton sgc@doc.ic.ac.uk Imperial College, London
180 Queens Gate, London, SW7 2BZ. United Kingdom
Abstract
The standard machine learning paradigm is to find something that users
know they are looking for, with the discovered artefact defined in
terms of given background knowledge. We propose to extend this to
automating the task of finding novel and interesting information --
also based on the background knowledge -- that the users do not
know they are looking for. We sketch various methods for
introducing knowledge to a knowledge base which are inspired by
notions from the study of creativity. We attempt to determine
situations where it is possible to project certain words from the
creativity literature onto an agent (human, machine or otherwise), as
it undertakes the task of adding information to a knowledge base. This
study has enabled us to suggest a road-map for the development of
creative logic programming systems, which extends inductive logic
programming approaches to discovery tasks.
Introduction
An accepted view of machine learning is given in
[mitchell:machine_learning]:
An [agent] is said to learn from experience E with
respect to some class of tasks T and performance measure P, if its
performance at tasks in T, as measured by P, improves with experience E.
Usually, the tasks in T are prediction tasks. That is,
machine learning programs are given some background information, and a
categorisation of a set of examples. They are then required to
determine a method for predicting into which category an unseen
example should be placed. The learned method will normally involve
aspects of the background information (experience), and may be any
number of things: a classifying concept, a set of rules, or a
mathematical function such as a neural network. In this general
setting, if we think of the task as learning a target function, then
it is clear that, in some respects, while the exact details of the
target are not known, at least something is known about it: the way it
categorises the given examples. Hence, in many respects, the user
knows what they are looking for, but they do not know what it looks
like.
As an example, suppose the Progol [muggleton:progol] machine
learning program was given a single background concept: of one integer
dividing another. Suppose also that it is given positive examples of
the target concept as 1, 4 and 9 and negative examples of the target
concept as 2, 3, 5, 6, 7 and 8. It would very easily learn the concept
of square numbers to explain why 1, 4 and 9 are positive examples and
the other numbers are negative. This is an illustrative example where
the user knew what they were looking for, and so it was possible to
use a goal-based approach such as Inductive Logic Programming
(ILP) which underpins Progol, as discussed in
[muggleton:ilp]. ILP systems specifically designed for this task
are said to be performing predictive ILP.
We are interested here in a more general task than prediction, namely,
to start with a given background knowledge base and use this as a seed
from which to build a larger knowledge base. This will be done in such
a way that the learned knowledge base will contain a high proportion
of information which is both novel and interesting to
the user. In this way, we want to extend the task of finding things
the user knew they were looking for into the task of finding novel and
interesting things (facts, concepts, artefacts, etc.) that the user
did not know they were looking for. ILP systems such as CLAUDIEN
[deraedt:claudien] and WARMR [dehaspe:warmr] perform what is
known as descriptive ILP. These aim to discover association
rules, which relate predicates from the background knowledge. Hence,
these are more likely to find something the user didn't know they were
looking for than predictive ILP systems. However, the user often
specifies a language bias which effectively restricts the format of
the rules which can be found. So, the user may not know what, if any,
task the rules found by the system will solve, but they will know the
format the rules will take. Hence, these systems still have some way
to go before being able to truly approach the kinds of discovery tasks
we are proposing.
The HR system [colton:atf_book] also undertakes descriptive ILP,
but its output is a theory, which will contain concepts
(classification rules in ILP terminology), conjectures (association
rules), constants and proofs which were not present in the background
knowledge. HR has mostly been used for applications in mathematical
domains, but we have recently applied it to other scientific datasets,
in particular the mutagenesis data [colton:bcwob03]. HR differs
in many ways with other predictive ILP systems, most notably because
it interacts with third party systems, including automated theorem
provers such as Otter [mccune:ottermanual], model generators such
as MACE [mccune:macemanual] and computer algebra systems such as
Maple [abell:maple]. HR has been used for prediction tasks, such
as those described in [colton:icml00] and
[meier:calculemus02]. However, it is has mainly been designed to
perform exploration of a domain in order to build up a theory, i.e.,
to find facts, examples, hypotheses, etc., about the background
knowledge that the user did not necessarily know they were looking
for.
For instance, given only the divisors concept as background
information, HR invents concepts such as refactorable numbers, which
are such that the number of divisors is itself a divisor. Moreover, HR
finds interesting conjectures about these new concepts: for example,
HR makes the conjecture that odd refactorable numbers are always
square numbers, a fact we prove in [colton:rfami]. As another
example, in experiments described in [colton:atf_book], we gave
HR just the axioms of various algebraic domains, which usually
amounted to just two or three lines in a background knowledge file.
HR then used MACE to generate models for the axioms, and used Otter to
prove theorems about them, which led to HR forming rich theories about
the algebraic structures. In a later application, a similar approach
was used to discover implied constraints in order to reformulate
constraint satisfaction specifications for quasigroup existence
problems [colton:cp01].
Of course, exploration such as that undertaken by HR may lead to very
dull information being discovered. Hence the aim of automated theory
formation, as expounded in [colton:atf_book], is to find novel,
interesting facts about the domain concepts supplied by the user. This
is exactly how we have phrased the extension of machine learning tasks
above. However, we make no claim that the HR system covers every
possible way in which an agent could build a knowledge base from a
seed of background information. Indeed, the work presented here shows
that the techniques used by HR are only a small part of a much larger
set of techniques which it could potentially employ. However, we do
take HR as a role model in two respects. Firstly, it is able to
discover different types of artefact: as we've mentioned, the
interesting output from a theory formation session might be a concept
such as refactorable numbers, or a rule (conjecture) such as odd
refactorable numbers being square or an example such as 2, which is
the only prime refactorable number. Secondly, HR combines various
forms of reasoning. It uses invention and induction itself to produce
concept definitions and make hypotheses about them. It also uses
deduction and calculation when it appeals to Otter and MACE to
prove/disprove a hypothesis that it has made. With an extension
described in [colton:ijcai03_agents], HR is also able to use
abduction to fix faulty hypotheses.
Note that standard prediction tasks fit into our extended
framework. In this case, while the agent may come into contact with a
large number of concepts and hypotheses as it searches, the output is
usually only a single way of completing the precise task set down,
such as a single neural network, or a small set of rules governing the
prediction task. The interestingness of the learned knowledge is
tested with respect to the original task, and the new knowledge may be
uninteresting if it has a low predictive accuracy when assessed by a
method such as 10-fold cross validation. Also, knowledge learned for
prediction tasks may be uninteresting if it can be shown to be
overfitting (memorising) the data, as described in
[mitchell:machine_learning]. Note that boosting machine
learning approaches aim to combine many learned prediction methods in
order to better achieve prediction of unseen examples
[schapire:boosting_overview]. However, the combined method is
still assessed in terms of overfitting and accuracy with respect to
the single prediction task.
Our extended task specification covers other intelligent tasks which
may be of interest to a user who has some data. Such tasks include the
generation of puzzles [colton:aisb02], which we argue in
[colton:etai00] is difficult for a goal-based machine learning
approach. Such tasks also include ``proactive'' rather than
``reactive'' machine learning. Proactive machine learning involves
learning possible answers to machine learning questions before the
details of the actual question are given. For instance, in
[colton:aaaiworkshop00], we propose the following task, based on
Michalski's train problem [michalski:trains_original]: given a
set of 20 trains -- described using concepts such as carriages,
contents of carriages, wheels, etc., -- and given, say, an hour,
prepare to answer with no hesitation a classification task. The
classification task will involve being told that a particular set of
10 trains are going East and 10 trains are going West, and the
question is to determine why the trains are going in their respective
directions. As the 10 Eastbound trains are not known beforehand, the
learning agent has to invent and solve possible classification tasks
in the hour it is given, in preparation for the actual test supplied
later. This is therefore a fundamentally different problem to the
original trains problem, which is a standard classification/prediction
task.
In the remainder of the paper, we will look at various possible
methods by which an agent (human, machine or otherwise) could add
information to a knowledge base in order to possibly identify
something the user did not know they were looking for. Our inspiration
comes from notions of creativity: we will look at a word or phrase
(such as deduction, induction, serendipity) and attempt to give at
least one situation where it would be possible to project the
word/phrase onto the actions taken by an agent to add new information
to the growing knowledge base. We hope to do so in such a way that it
is difficult to argue that the notion does not apply to an agent
performing in the way prescribed. For example, if we look at the word
``deduction'', often mentioned in creativity studies, it is
uncontroversial to say that an automated theorem prover using the
Modus Ponens rule of inference to generate new knowledge has reasoned
deductively.
Note that we do not intend to say that only if an
agent performs in a certain way can a particular notion associated
with creative behaviour be projected onto it. Rather, we want to be
certain that we have identified a situation in which the notion
applies. It is for this reason that we have chosen to undertake this
study via a cut-down representation language such as logic
programs. By giving particular simple instances where the amount and
type of information is clear, we hope to approach the study of
creativity from the bottom up. This is in contrast with other
approaches to the study of creativity, which have approached from the
top-down, by characterising various thought processes, especially in
ad-hoc case studies, such as Kekule's discovery of the benzene-ring
structure [boden:tcm]. We hope that our bottom-up approach will
compliment these top-down approaches and go some way to de-mystifying
various notions from the study of creativity, bringing a more concrete
understanding of this topic.
In section the lp_framework section, we present some techniques for
introducing new knowledge to a knowledge base. The techniques are
presented as situations where an agent takes existing knowledge,
represented as logic programs, and generates new knowledge. Moreover,
the techniques are inspired from notions arising from the study of
creativity, and the situations are designed so that it is possible to
project certain words from the creativity literature (induction,
serendipity, etc.) onto the agent as it carries out the technique.
Note that it is not our intention to provide acute details of how new
knowledge may be introduced. This is planned for the next stage of our
study into creative logic programming, where we analyse various
techniques such as ILP, resolution proving, constraint satisfaction,
etc. in order to interpret them within the same framework. Given that
we intend this framework to use logic programs as its underlying
representation, it is important that we use logic programs in our
study here, so that we maintain consistency.
In the worked_example section, we supply a worked example
-- the mutilated checkerboard problem -- and give four scenarios in
which a program might use the techniques presented in
the lp_framework section to solve this problem automatically. We use the
scenarios to determine the extent to which we can project the word
creativity onto an agent. We conclude by presenting a road-map for
future work in creative logic programming, based on the framework
presented and using the Mutilated Checkerboard as an inspiring example
[colton:iccbr01].
Generating New Information
The purpose of this first report about creative logic programming is
to give an overview of many methods which could be applied, rather
than to go into the technical details of a few techniques, some of
which is covered elsewhere (for instance in the various descriptions
of inductive logic programming). In later reports, we intend to
provide more specific details of these methods, using the formality
afforded by logic programs.
At present, it suffices to say that we are proposing a situation
whereby a user has some background knowledge expressed as logic
programs, as they would in an inductive logic programming
application. The task of the agent is to introduce new knowledge into
the knowledge base in the hope that something introduced will be novel
and interesting to the user, and embody some piece of useful
information they did not know they were looking for. We do not look in
detail here at the notion of interestingness. However, it should be
noted that the methods detailed below are inspired by notions from the
creativity literature. Hence it is likely that these methods (or
something similar to them) have been identified as techniques which
have, at some stage, been used for the introduction of something
interesting as part of a creative process.
We present below distinct situations in which an agent could add
knowledge to a knowledge base. It is important to note two points: (i)
these situations are not meant to constitute an exhaustive list of all
the ways in which a creative agent could add information to a
knowledge base and (ii) we are in no way attempting to characterise
the creative notions given below, rather we simply want to present
situations in which it is possible to argue that the word applies to
the agent's actions. At present, the situations are sketches, but in
future, we hope to appeal more to the formal aspects of logic
programming in order to make the framework more concrete.
Logic programs are a subset of first order predicate logic, where a
logic program is a set of Horn clauses. A Horn clause can be thought
of as an implication conjecture where a conjunction of body
literals imply a single goal literal. A literal can either be
a predicate, a function or a constant. In the discussion below, we
often use the word `hypothesis' for a Horn clause, as this is used in
many logic programming contexts. Also, we use the word `concept' for a
clause of the form: 
These define a property
of tuples of constants. We say that one logic program entails
another if the latter is a logical consequence of the former.
Suppose an agent has a Horn clause H and it
doesn't know whether H is true or false. However, it does know the
types of the variables in H, and knows how to generate examples of the
types, so can generate test tuples for the Horn clause. Note that this
generation process might be as simple as looking them up in the
knowledge base. Suppose further that the agent tests H against these
test tuples in order to find a tuple for which the body of the clause
is true, but the head is false. Such a tuple would show that H is
false, and we say that the agent is performing experimentation.
Suppose an agent has a Horn clause H which
it knows to be true, either because it is an axiom, or it has proved
it (see below). In this case, there are various logic program which
are entailed directly from H. These can be obtained by passing
H -- possibly along with other Horn clauses known to be true --
through one of many rules of deduction, such as Modus Ponens, Modus
Tollens, Resolution, etc. The resulting Horn clause is also known to
be true because deductive rules of inference only produce true clauses
(if they are supplied with true clauses). We can define a deduction
step as comprising a set of Horn clauses known (or at least
temporarily assumed) to be true, a rule of inference and a Horn clause
derived by applying the rule to the true clauses. Such steps comprise
the operators in the search carried out by automated theorem provers,
and an agent using them can certainly be thought of as performing
deduction.
Suppose an agent has a Horn clause H and it
doesn't know whether H is true or false. Suppose further that it finds
a series of deduction steps where the final one outputs H from a rule
of inference. Note that the inputs to the inference rule may have also
been the output from a previous step, but that each step was based on
Horn clauses known to be true (either because they are axioms, or they
were deduced from something known to be true). The series of deduction
steps comprises a proof of H, and the output from each can be thought
of as adding new knowledge to the knowledge base. Note that there are
alternative ways to prove H, most notably by negating H and using the
resolution method to derive a False clause.
In another situation, suppose the agent knows that the set of examples
to which H applies is finite, and it exhaustively checks whether the
hypothesis is true of every example in the list. If the hypothesis is
true of every example, then the hypothesis cannot possibly be false,
hence it must be true. We call this technique proving by
exhaustive experimentation. Any agent which finds proofs of
unknown hypotheses can be thought of as performing the act of proving.
Suppose an agent invents a new concept and
then proceeds to check each known concept in the knowledge base to see
whether it has exactly the same success set as the new concept. Note
that the success set of a concept is the set of tuples of ground
instances which satisfy the definition of the concept. If the agent
finds such a match, then it could make the hypothesis that the
equality is true in the general case, rather than just a coincidence
due to the limitations of the knowledge base it was supplied with. An
equivalence conjecture between two concepts could be represented as a
set of Horn clauses, by looking at the two implication conjectures
embedded in the equivalence and extracting Horn clauses by taking the
left hand side to imply the first literal of the right hand side, then
the second literal, and so on.
This kind of inductive reasoning is similar to that carried out by the
HR system. HR can also make implication hypotheses if it notices that
the examples of one concept are all examples of another, and
non-existence hypotheses when it finds that an invented concept has no
examples. Similar kinds of inductive reasoning occur in the Progol ILP
system. In this case, a set of positive and negative examples are
generated and rules of inductive inference are used to generalise
hypotheses. Each generalised hypothesis is checked to see if it
explains why the positives are positive and the negatives are
negative. If the hypothesis is a perfect match, then the system
induces the rule that this is true in the general case, and returns
this answer to the user.
There are various interpretations of
abduction. We shall think of it as a special case of induction,
whereby a possible explanation for a phenomenon is not so much
generated as found within the information it has available
already. Hence, suppose we have a situation where an agent has found a
hypothesis, H, for which it does not know the truth. The agent then
looks through a set of hypotheses it already has (not necessarily just
the true ones), and finds a hypothesis, G, which entails H. In this
case, it has abduced G as a possible explanation of H. There are
abductive logic programming systems [kakas:abductive], and we are
currently extending HR to use abduction [colton:ijcai03_agents].
Suppose, rather than a set of examples, an
agent was given a logic program able to generate examples. One way in
which we could possibly project the word exploration onto the agent
was if it used this generation method to produce a set of examples in
order to provide empirical evidence for inducing various
hypotheses. Note that there are many more ways in which an agent could
perform exploration, for example the successive use of invention (see
below) can be deemed exploration of a search space. Also, exploratory
creativity is characterised by Boden [boden:tcm].
The phrase `necessity is the mother of
invention' is certainly true in many cases. Suppose an agent takes two
Horn clauses G and H, and passes them through the intra or
inter-construction rule of inductive inference as described as
described in [muggleton:progol]. These rules perform predicate
invention, which introduces a new predicate symbol. In this case, the
purpose of the invention is to determine a Horn clause from which G
and H would follow using a resolution inference.
Possibly curiosity is not as closely related to invention as necessity
is, but it is certainly possible to invent things for no apparent
reason at the time of invention, then explore any implications or
applications of the invention. Such invention is performed by genetic
algorithms, and we can use this observation to propose the scenario
where an agent takes two Horn clauses, G and H, and randomly chooses
literals from the body of G and literals from the body of H to form
the body of a new Horn clause, with the head of the new clause chosen
randomly also. Such crossover techniques are integral to genetic
algorithms, and there are now some genetic logic programming
implementations [kokai:glp]. Note that genetic techniques also
include mutation, which is another inventive technique.
Invention for curiosity alone can be done in a more principled way
than randomly producing new Horn clauses. The HR system implements
such a principled approach through a set of 12 production rules, which
take old concepts and produce new ones. For instance, thinking of the
old concepts as Horn clauses, HR's compose production rule produces
the Horn clause obtained by taking all the literals from two old Horn
clauses, discarding any repetitions. Note that the compose rule can
also perform unification steps while combining the Horn clauses. Such
invention steps are performed purely in order to explore the domain,
and not for any particular problem-solving reason (except the
overriding one -- to find something interesting in the domain). For a
more detailed discussion of the production rules, see
[colton:icml00].
The word innovation has some loose notion
of quality associated with it: many things can be invented/discovered,
but if they are not of value, or do not improve upon the state of the
art, it is difficult to project the word innovative onto the process
which produced them. We can see that such innovation occurs in genetic
algorithm approaches, where the measure of value is the fitness
function. Similarly, HR has many measures of interestingness which it
uses to assess the value of inventions, in order to know when an
innovation has occurred and to exploit that innovation (by building
new concepts using it -- a heuristic which is intended to increase the
value of the theory as a whole).
Hence the following situation is one in which an innovation occurs:
suppose an agent has a measure of value, M, for a concept, and invents
a new concept D, where D is based on old concepts B and C. If D is
measured to be of higher value with respect to M than both B and C,
then D is an innovation. We can also supply a more concrete situation:
suppose an agent has a Horn clause, H, which it is trying to prove. H
is not entailed by the current knowledge base, but the agent invents a
new concept and induces a hypothesis, T, about the new concept, which
it proves. T now makes it possible to prove H. Clearly, T is an
innovation, because the ability of the agent to prove H is increased
by the discovery of T.
We want to capture here the notion of
making use of a chance occurrence. Such situations occur in human life
when people have many tasks to perform (or problems to solve) and,
while in the pursuit of completing one task, something arises which
allows them to complete another task. If we say that in the task of
adding to the knowledge base, one problem faced by an agent is to
determine the truth of Horn clauses, then we can suggest the following
situation: the agent has a set, S, of Horn clauses for which it does
not know the truth. While experimenting in order to disprove a
particular hypothesis, H, from S, it generates an example which may or
may not disprove H. However, it checks whether the example falsifies
the other Horn clauses in S, and finds one for which it does. We say
that the agent has exploited the introduction of a new example in this
situation. Note that the HR program performs this kind of
exploitation: whenever it generates a counterexample to a false
conjecture, it checks to see whether the same counterexample breaks
any other open conjectures. A similar situation may occur if the agent
first deduces something new, then checks whether the knowledge base
including this new addition entails one of the unknown Horn clauses in
S.
If a situation is said to be serendipitous,
this is often mis-interpreted to simply mean lucky, which is a
simplification of the true meaning of the word. In particular,
serendipity involves not just exploiting a new piece of knowledge, but
rather creating a situation in which a new piece of knowledge may be
exploited. This knowledge may be found by chance (invention, etc.) or
it may come from a reasoning process (deduction, etc.). Hence we
believe that in the following situation, it is possible to say that an
agent has acted serendipitously. Suppose an agent has recently found a
Horn clause, H, which it knows to be true. Suppose further that there
is a set, A, of Horn clauses known to be true, which contains H. It then
constructs a hypothesis X, which is entailed by A, but which is
not entailed by A/ H , i.e., set A with H removed. That is,
X can only be proved true if H is known to be true. Here, given the
(partial) solution H, it has constructed the problem of proving a
hypothesis X, and has thus acted serendipitously.
Suppose an agent has invented a concept for
which it can find no examples. It then introduces a new ground term,
T, (or set of ground terms) and states as an axiom, A, that T
satisfies the definition of the concept. It continues by using A in
various deduction steps in order to determine which other concepts, if
any, are satisfied by T. In this situation, we can say that the agent
has imagined T and determined some additional properties of T. Note
that this may generate a contradiction, leading to the proof that such
a T does not exist. For instance, the field of complex numbers in
mathematics is based on such an imaginative step, namely the
imagination of a number which multiplies by itself to give
-1. Appropriately, this number is symbolised by the letter i, and is
called an imaginary number.
In another situation, suppose an agent has a hypothesis, H, for which
it does not know the truth. If it then assumes the truth of H, and
either deduces something from it directly, or uses H in the proof of
another hypothesis, then we could say that it has imagined the
consequences of H being true. A similar situation would occur if the
agent assumed the falsity of a theorem/axiom it knew to be true, or
vice-versa.
The treatment of analogy will probably be
better served by a situation in which an agent is working in two
domains, or multiple agents are working in different domains,
etc. However, for consistency, we will use the situation where a
single agent is aiming to develop a knowledge base. Suppose that a new
Horn clause, G, has been produced. Then, the agent looks through the
set of proved Horn clauses and chooses one, H, which looks most
similar in some respect to G. It then proceeds to carry out the same
set of deductive steps as those used to prove H, perhaps applying
similarity tests where necessary to decide which clauses to use in the
deductive steps. We would say here that the agent has used analogy
with a known result to suggest a way to proceed in a new situation.
Suppose an agent found a Horn clause, H, for
which it could find a small set of counterexamples. It then altered H
-- effectively producing a new hypothesis H' -- in such a way that
none of the counterexamples to H were counterexamples to H' (and none
could be found elsewhere). In this sense, the agent has repaired
H. Note that such techniques for fixing faulty conjectures are
prescribed by Lakatos in
[lakatos:proofs_and_refutations]. Moreover, there is a project
underway to add such abilities to a multi-agent version of the HR
system [pease:iat01].
The Mutilated Checkerboard Problem
In [mccarthy:aisb99], John McCarthy presents the Mutilated
Checkerboard Problem as a Drosophila for studying creative
solutions to problems. The problem is stated as follows:
Two diagonally opposite corner squares are removed from a
checkerboard. Is it possible to cover the remaining squares with
dominoes? A domino is a 1 2 rectangle that can cover two
rectilinearly adjacent squares.
This problem has a long history in AI, as discussed in
[mccarthy:aisb99]. On a checkerboard, diagonally opposite corners
have the same colour, so on a mutilated checkerboard, the number of
squares of one colour is 32, while the number of squares of the other
colour is 30. Humans usually solve the problem with the realisation
that a domino covers both a black and a white square. That means that,
no matter how many dominoes are put on the board, the number of
uncovered black squares will always be different to the number of
uncovered white squares. Hence, it is not possible to cover the entire
board, because this would lead to the situation where the number of
uncovered black squares equals the number of uncovered white squares
(both equalling zero).
In [mccarthy:aisb99], McCarthy proposes an informal definition
for creative solutions:
- Definition (informal) A solution to a problem is
creative if it involves concepts not present in the statement of the
problem and the general knowledge surrounding it.
He further asserts that the standard solution to the mutilated
checkerboard problem is creative because it involves concepts not
present in the formulation of the problem, namely the concept of black
and white squares.
We suppose that a user is employing a creative logic programming agent
to solve this problem. We supply four scenarios in which an agent
attempts to solve the problem. This enables us to provide overviews of
different ways for the creative techniques described above to be
fruitfully employed. The actions of the creative agent in each
scenario are described in terms of the framework presented in
the lp_framework section. In each scenario, we pose and attempt to answer
two questions: has the problem been solved, and how creative has the
agent been?
Scenario 1
In this scenario, an agent is given logic programs which represent
rules for (a) (virtually) placing dominoes on a board (b) stopping
when it cannot place any more on the board and (c) checking whether
all the squares have been covered or not. It is also given a
hypothesis that it is not possible to cover the board with
dominoes. It then exhausts all possible ways of placing a set of
dominoes on a mutilated board, and in each case it observes that some
squares remain uncovered, and reports this to the user.
It has clearly performed experimentation with respect to
the hypothesis that it is not possible to cover the board with
dominoes, because it has tried to find a counterexample to the
hypothesis. This has resulted in proving the hypothesis
via exhaustive experimentation. There is no doubt that the program has
solved the problem: it has demonstrated that no covering
exists. However, it is difficult to project the word creative onto the
agent's actions. Part of the reason for this is that the agent hasn't
found something the user didn't know they were looking for. McCarthy
would point out that in the solution, no new concept has been
invented. Also, the only novel things produced are examples of boards
with dominoes on, which is unlikely to be seen as quality output, and
certainly not something that is interesting to the user. Another part
of the reason may be the nature of the calculation, which was fairly
routine, involving only three processes. The user would probably
believe that, if they had enough time, they could easily solve the
problem in the same way, and the agent has not told them anything
interesting other than a verification that the hypothesis they made
was indeed true.
Scenario 2
It is possible to argue that the problem is posed in such a way that
it enables people to abduce the creative part of the
solution. Because the word checkerboard is stated in the problem
formulation, this obviously brings to mind actual checkerboards. Of
course, most people solve this problem without ever resorting to
physically putting dominoes on a checkerboard. However, they are aware
that a checkerboard (as opposed to an 8 8 grid) is coloured
with black and white squares. Hence, it is not implausible to believe
that the concept of black and white squares is part of what McCarthy
calls the general knowledge surrounding the problem, and that humans
do not invent the concept of black and white squares.
In light of this observation, in this second scenario, a creative
agent is supplied with a plethora of background information about
checkerboards and dominoes. This information would include concepts
(such as black and white squares) and axioms, such as the fact that a
domino always covers both a black and a white square. The agent would
also be supplied with information about possible solutions to the
covering problem, including the fact that if a full covering existed,
there would be no uncovered white squares and no uncovered black
squares. Finally, the agent is given the hypothesis that the board
cannot be covered by dominoes.
Suppose the agent used rules of deductive inference to reason from the
axioms to the hypothesis that the board cannot be covered by dominoes,
hence proving by deduction that it is not
possible. Clearly, the problem has been solved by a classical
automated reasoning approach to the problem. This approach is possibly
similar to what McCarthy had in mind when he originally posed the
problem (in a Stanford AI memo entitled ``A Tough Nut for Theorem
Provers'').
One could argue that the agent in this scenario has been more creative
than that in scenario 1, because (a) it has produced something novel
and of value, namely the set of deduction steps comprising the proof
and (b) it is probable, although not certain, that the amount of
calculation performed by the agent in this scenario is less than that
performed by the agent in scenario 1 in amount, but greater in
complexity. That is, the amount of choice of both what to deduce
something new from and of which rule of deduction to perform the
inference with is often quite high in automated theorem
provers. Hence, it is possible that some users may decide that they
could not have found the proof themselves. That does not mean,
however, that the program has found something the user did not know
they were looking for: clearly, by providing the agent with axioms and
a hypothesis, they expected the program to find a proof. Moreover, the
key concept in the proof -- black and white squares -- was also
supplied by the user. Hence, under McCarthy's criteria, as no new
concept has been introduced, the agent's solution in this scenario
would not be called creative.
Scenario 3
In this scenario, the agent starts with an ability to put dominoes on
a board and check whether the resulting board state covers all the
squares. It is also given very limited background knowledge, in
particular, it is not given the concept of black and white
squares. It is also given an axiom about a full covering of the board,
namely that the number of uncovered squares is zero. Furthermore, it
is supplied with both the hypothesis that such a covering can
be derived by putting dominoes on the board, and the hypothesis that
this is not possible.
In this scenario, the agent begins by exploring the space
of board states, by putting dominoes on the board and recording the
board states produced. It then performs invention to
produce new concepts based on the background concepts, and eventually
invents the concepts of black and white squares and the concept of
boards where the number of uncovered black squares equals the number
of uncovered white squares. Using the evidence of the board states it
has produced by placing dominoes on the board, it then
induces the hypothesis that this new concept is not true
of any board state possible by putting dominoes on the board. It then
imagines a consequence that would follow if this induced
hypothesis was true, in the following manner: it proves
that, given the axiom about full coverings having no squares
uncovered, the hypothesis that a covering exists is inconsistent with
the induced hypothesis (i.e., it deduces the false
clause).
The agent reports that it has invented the concepts of black and white
squares, and the concept of board states where the number of uncovered
black squares is equal to the number of uncovered white squares. It
reports that it has used empirical evidence to make the hypothesis
that board states gained by putting dominoes on the board never
satisfy the definition of the concept. Finally, it reports the proof
that, if the induced hypothesis is true, then the hypothesis that a
full covering can be derived by putting dominoes on a board is false.
Despite the fact that most users would immediately realise that the
induced hypothesis was true, and hence the agent had found the correct
answer, we cannot say that the agent has fully solved the problem,
because it did not prove the induced hypothesis. However, it seems
much more likely that the user would project the word creative onto
the agent, because (a) the computations involved invention, induction,
imagination, deduction and proving, and it is possible that the user
might conclude that he/she would not have found a similar solution and
(b) the solution contains novel things that the user did not know they
were looking for, namely the concept of black and white squares, the
hypothesis that the number of black squares uncovered is always
different to the number of white squares uncovered, and the
demonstration that this disproves the hypothesis that a covering can
be found by putting dominoes on the board (remember that the user
provided both the hypothesis that a covering is possible and that one
is not possible, hence they did not know which one was true).
Scenario 4
In this scenario, the agent starts with the same information as in
scenario 3, and again explores the space of board states
achievable by putting dominoes on a board, and invents the
concept of black squares and the concept of white squares and the
concept of board states where the number of uncovered black squares is
equal to the number of uncovered white squares. It makes the empirical
conjecture that no board state exists which satisfies the latter
concept.
Looking at the board states before and after putting a domino on it,
the agent induces the hypothesis that putting a single
domino on the board covers up 1 black square and 1 white square. It
then proves this fact by exhaustive
experimentation. That is, it tries every possible way of
putting a single domino on the board and on each occasion, it covers
up a single white square and a single black square. Note that there
are fewer than 64*4=256 distinct ways of putting a single domino on
the board.
The induced hypothesis has therefore become a proved theorem, and from
this new fact, the agent deduces that the hypothesis that
the concept of board states which have an equal number of black and
white states does indeed have no examples. Finally, it
exploits this new fact to prove that the
hypothesis that a covering can be derived by putting dominoes on a
board is false, as in scenario 3. It reports to the user that it has
proved that this supplied hypothesis is false.
Note that, in this scenario, the problem has been fully solved,
because the falsity of the user's hypothesis has been shown, with the
proof ultimately resting on the truth of an induced hypothesis which
was proved via exhaustive experimentation. Moreover, it is difficult
not to project the word creative onto the agent in this
scenario. This is because (a) it has used seven different techniques
associated with creativity and (b) it has invented many new,
interesting things that the user did not know they were looking
for. Moreover, in McCarthy's view, because it contains concepts not
present in the problem formulation, the solution is creative.
Conclusions and Future Work
We have discussed some techniques for knowledge generation within an
extended machine learning framework where the task to improve upon
from experience is to find something novel and interesting that the
user didn't know they were looking for. The inspiration for these
techniques came from creativity studies. We believe it is important to
study the plethora of terms found in the creativity literature from
the bottom up. To this end, we chose a set of creativity notions, and
related them to knowledge generation procedures. Using a reduced
representation (logic programs), we then presented some situations in
which we believe the word could be projected onto an agent. In this
way, we hope to have been fairly concrete about these creativity
notions.
We presented the Mutilated Checkerboard problem as a case study, in
response to McCarthy proposing this as a Drosophila for creativity
studies. We presented four hypothesised scenarios where the background
knowledge given to the agents, and the techniques they employed varied
as they worked towards solving the problem. In three scenarios, we
concluded that the problem had been fully solved, in two scenarios, we
argued that the agent had acted creatively, and in only one scenario
did we believe that the agent had fully solved the problem in a
creative way. We came to a tentative conclusion that it was easier to
project the word creative onto the agents which used more varied
knowledge generation techniques (induction, deduction, imagination,
etc.). We believe that the assessment of creative programs in terms of
the variety of reasoning techniques they employ is worthy of further
study.
Our choice of the term `creative logic programming' is due both to the
fact that the techniques involved are inspired by notions from
creativity, and because, when phrased in the representation language
of logic programs, the framework adds to the domain of automated logic
programming (of which inductive logic programming is a
sub-domain). Thus, the initial study presented here not only adds to
the volume of work aimed at de-mystifying various words from the
creativity literature, but also sketches a new framework for logic
programming. This enables us to present the following road-map for the
development of creative logic programming.
Firstly, more notions from the study of creativity need to be
identified and used to inspire possible ways for an agent to add
information to a knowledge base. Some possibilities, which we haven't
had space to cover here, include: reflection, explanation, evaluation,
interpretation, discovery, abstraction, observation, calculation,
synthesis, expansion, metaphor and argumentation.
Secondly, more situations in which knowledge generation techniques
associated with each of these terms need to be derived. As we have
stressed, this will help us gain a more concrete understanding of the
creative terms themselves, and the situations should be constructed in
such a way that it is possible to argue that the creative term applies
to the way in which the agent has acted. Ideally, for each of the
creative notions we have introduced, including those only briefly
mentioned above, there will be numerous techniques, situations and
scenarios to which the word will apply.
Thirdly, in order to make the framework more concrete, we should take
advantage of the formality afforded by the theory of logic
programming. We originally chose logic programs as the reduced
representation language because (a) we could possibly implement our
ideas in Prolog (b) we could draw on the inductive, deductive and
abductive techniques which are already well developed in AI and (c)
there is a wealth of formal concepts and results associated with logic
programs which we could draw from.
Finally, we need to identify more problems like the Mutilated
Checkerboard problem. These should require a multitude of creative
techniques to fully solve, and we should similarly identify scenarios
wherein we can propose how an agent would solve them creatively. As
another example of a mathematics problem requiring at least invention,
induction and deduction, see Zeitz's plug and chug problem as
discussed in [colton:calculemus00]. Implementations will need to
be made which carry out some or all of the techniques highlighted
above. The implementations will need to not only solve the inspiring
examples, like the Mutilated Checkerboard problem, but also solve
unseen problems in such a way that the user is happy to project the
word creative onto the program.
To implement a truly creative logic programming system, one
possibility we aim to pursue is to extend the functionality of the HR
system (which has been developed for the task of finding things the
user didn't know they were looking for). This extension will be in
terms of equipping HR with abilities that are currently missing from
its toolbox. We have identified areas such as inductive logic
programming, genetic programming, constraint solving, automated
theorem proving and model generation, as possible avenues of research
to draw from. At present, HR can carry out some of the techniques
presented in scenario 3 above. In particular, it could be argued that
the invention of the concept of board states with the same number of
black and white squares uncovered is the most creative part of the
solving process in scenario 3 above. After some experimentation, we
have found that HR can invent this concept from very little background
information. In fact, HR needs to be only supplied with two background
concepts, namely the concept of the set of coordinates (squares) not
covered by dominoes in a partially covered board, and the concept of
the parity of a number.
The parity of an integer is taken to be 0 if it is even and 1 if it is
odd. From this concept, HR invents the concept of coordinates which
share the same parity, e.g., (0,0), (1,3), (0,4), etc. It then uses
its negate production rule to invent the concept of coordinates with
different parities. These two concepts equate to the notion of a black
and a white square on the checkerboard. From these concepts, HR user
the size production rule to invent the concept of the number of black
coordinates (squares) not covered by a domino on a partially covered
board, and does similar for the white squares. Finally, it uses it's
compose production rule to invent the concept of partially covered
board states which have an equal number of uncovered black and
uncovered white squares. This concept turns out to have no positive
examples, as all the board states have an unequal number of uncovered
black and white squares. It therefore induces the non-existent
conjecture that no board state is possible where this is
true. Outputting this conjecture constitutes the same near-solution as
that proposed in scenario 3. We hope to use this as a springboard for
the production of a full solution such as that suggested in scenario
4. We find it very encouraging that HR can make the `Eureka' step in
solving this problem. In future, we hope to demonstrate that HR can
fully solve this problem, given only minimal information about the
domain. If it acts in a similar manner to the agent in scenario 4,
using many techniques associated with creative behaviour, we will
certainly argue that the program has been creative.
This paper is, we hope, the first of many exploring the notion of
creative logic programming as an extension to inductive logic
programming. We have already begun the second stage of this study,
which has been to express the way HR operates in terms of constructing
a clausal (logic program) theory, using a background theory as a
seed. We intend to do likewise for other machine learning and
automated reasoning systems. Following this, we will endeavour to
build a formal framework within which the functioning of many systems
can both be described and integrated. This will enable the
construction of agents which can take something like a relational
database verbatim and act creatively in order to discover interesting
knowledge that the user did not know they were looking for.
Acknowledgements
We would like to thank Huma Lodhi, Stephen Muggleton, Marcus Pearce,
Alison Pease, Oliver Ray, and Alireza Tamaddoni Nezhad for insightful
contributions to this research. We would also like to thank the
organisers of the UKCRC grand challenges exercise (in particular, the
participants of Panel D at the associated workshop), as this work grew
out of a submission to that exercise. We are very grateful to the
anonymous reviewers for their interesting and pertinent comments.
References
[abell:maple]
M. Abell and J. Braselton.
Maple V by Example.
Associated Press Professional, 1994.
[boden:tcm]
M. Boden.
The Creative Mind.
Weidenfeld and Nicolson, 1990.
[colton:rfami]
S. Colton.
Refactorable numbers - a machine invention.
Journal of Integer Sequences, 2, 1999.
[colton:etai00]
S. Colton.
An application-based comparison of automated theory formation and
inductive logic programming.
Linkoping Electronic Articles in Computer and Information
Science (special issue: Proceedings of Machine Intelligence 17), 2000.
[colton:aaaiworkshop00]
S. Colton.
Assessing exploratory theory formation programs.
In Proceedings of the AAAI-2000 workshop on new research
directions in machine learning, 2000.
[colton:calculemus00]
S. Colton.
Automated plugging and chugging.
In M. Kerber and M. Kohlhase, editors, Proceedings of the Eighth
Symposium on the Integration of Symbolic Computation and Mechanized
Reasoning, 2000.
[colton:aisb02]
S. Colton.
Automated puzzle generation.
In Proceedings of the AISB'02 Symposium on AI and Creativity in
the Arts and Science, 2002.
[colton:bcwob03]
S. Colton.
Automated theory formation applied to mutagenesis data.
In Proceedings of the 1st British-Cuban Workshop on
BioInformatics, 2002.
[colton:atf_book]
S. Colton.
Automated Theory Formation in Pure Mathematics.
Springer-Verlag, 2002.
[colton:icml00]
S. Colton, A. Bundy, and T. Walsh.
Automatic identification of mathematical concepts.
In Machine Learning: Proceedings of the 17th International
Conference, 2000.
[colton:cp01]
S. Colton and I. Miguel.
Constraint generation via automated theory formation.
In Proceedings of CP-01, 2001.
[colton:ijcai03_agents]
S. Colton and A. Pease.
Lakatos-style methods in automated reasoning.
In Proceedings of the IJCAI'03 workshop on Agents and
Reasoning, 2003 (forthcoming).
[colton:iccbr01]
S. Colton, A. Pease, and G. Ritchie.
The effect of input knowledge on creativity.
In Proceedings of the ICCBR'01 Workshop on Creative Systems,
2001.
[deraedt:claudien]
L. De. Raedt and L. Dehaspe.
Clausal discovery.
Machine Learning, 26:99--146, 1997.
[dehaspe:warmr]
L. Dehaspe and H. Toivonen.
Discovery of frequent datalog patterns.
Data Mining and Knowledge Discovery, 3(1):7--36, 1999.
[kakas:abductive]
A. Kakas, R. Kowalski, and F. Toni.
Abductive logic programming.
Journal of Logic and Computation, 2(6):719--770, 1992.
[kokai:glp]
G. Kokai.
{G}e{L}og - a system combining genetic algorithms with inductive
logic programming.
In Proceedings of the International Conference on Computational
Intelligence, 2001.
[lakatos:proofs_and_refutations]
I. Lakatos.
Proofs and Refutations: The logic of mathematical discovery.
Cambridge University Press, 1976.
[mccarthy:aisb99]
J. McCarthy.
Creative solutions to problems.
In Proceedings of the AISB'99 Symposium on AI and Scientific
Creativity, 1999.
[mccune:ottermanual]
W. McCune.
The {O}{T}{T}{E}{R} user's guide.
Technical Report ANL/90/9, Argonne National Laboratories, 1990.
[mccune:macemanual]
W. McCune.
A {D}avis-{P}utnam program and its application to finite first-order
model search.
Technical Report ANL/MCS-TM-194, Argonne National Laboratories, 1994.
[meier:calculemus02]
A. Meier, V. Sorge, and S. Colton.
Employing theory formation to guide proof planning.
In Proceedings of the Tenth Symposium on the Integration of
Symbolic Computation and Mechanized Reasoning, LNAI 2385. Springer, 2002.
[michalski:trains_original]
R. Michalski and J. Larson.
Inductive inference of {V}{L} decision rules.
In Proceedings of the Workshop in Pattern-Directed Inference
Systems (Published in SIGART Newsletter ACM, No. 63), 1977.
[mitchell:machine_learning]
T. Mitchell.
Machine Learning.
McGraw Hill, 1997.
[muggleton:ilp]
S. Muggleton.
Inductive {L}ogic {P}rogramming.
New Generation Computing, 8(4):295--318, 1991.
[muggleton:progol]
S. Muggleton.
Inverse entailment and {P}rogol.
New Generation Computing, 13:245--286, 1995.
[pease:iat01]
A. Pease, S. Colton, and A. Smaill.
A multi-agent approach to modelling interaction in human mathematical
reasoning.
In Proceedings of Intelligent Agent Technology, 2001.
[schapire:boosting_overview]
R. Schapire.
The boosting approach to machine learning: An overview.
In Proceedings of the MSRI Workshop on Nonlinear Estimation and
Classification, 2002.
© 2002 Simon Colton
|