creative logic programming simon colton computational bioinformatics laboratory imperial college...

27
Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Upload: eunice-bradley

Post on 25-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Creative Logic Programming

Simon ColtonComputational Bioinformatics

LaboratoryImperial College London

Page 2: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

A Grand Challenge

• A mathematical/computational/scientific– Theory of creative reasoning

• Not unimaginable– Think about the theory of deductive

reasoning

• Challenge for the machine creativity community as a whole

Page 3: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

First Challenge

• Re-unite “Automated Reasoning”– Learning and deduction have been separated– And many other forms of reasoning…

• Aims:– Build creative programs to find things in data

that you didn’t know you were looking for• I’m interested in the application to

mathematics/biology

– Demystify some notions associated with creativity

Page 4: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

“I didn’t know I was looking for that!”• Goal-based approach unlikely to deliver

– Predictive Inductive Logic Programming• Know what you’re looking for (concept)

– But don’t know what it looks like

– Similar: Automated Theorem Provers– Answer may be surprising and interesting

• But you knew what you wanted

• Descriptive Logic Programming perhaps better– Find association/classification rules– Designed to explore the domain– E.g., WARMR, CLAUDIEN, HR

Page 5: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Example #1 From HR

• Hypothesise something interesting about:– Dividing two numbers!

• An answer: – Odd refactorable numbers are perfect

squares

• Invention and calculation:– Odd, even, square and refactorable numbers

• Induction:– Odd & refactorable implies square

Page 6: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Example #2 From HR

• Prove me something interesting about:– QG3-quasigroups (Latin squares + axioms)

• Answer: they are Anti-Abelian– If x*y = y*x then x=y– Very useful constraint for CSPs

• Invention and Calculation: Anti-Abelian• Induction: True for all• Deduction: Proved true from Axioms

– Uses Otter theorem prover to do this

Page 7: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Moving on from HR

• HR may be a good start…?– But it is surely just the tip of the iceberg

• What other forms of reasoning can be harnessed for creative discovery?

• Approach I’ve taken:– Give a framework for progress– Look at terms associated with creativity

• Build up a catalogue of how an agent could reason

– Look at a case study (mutilated grid)– Think of combination/conglomeration of

reasoning

Page 8: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

General Framework

• Start with a seed knowledge base– Represented as logic programs

• Use forms of reasoning to add new knowledge– Interesting and novel information

• Hopefully the user didn’t know they were looking for it

• Why logic programs?– I’m in Stephen Muggleton’s group!!– But really:

• Rich, flexible, well known representation schema• Deductive, inductive, abductive methods already known• Possibility to implement techniques in Prolog• Cut down representation has it’s advantages

Page 9: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

What Forms of Reasoning to Look At• Take inspiration from terminology

associated with creative thought– E.g., deduction, induction, serendipity, etc.

• Present situations with an agent adding knowledge to the KB– So that it is difficult to argue that the particular

word we’re looking at does not apply to the agent’s actions

• Important: I’m not saying only in these situations does the word apply– Just identifying some concrete situations

• Added bonus: demystification of terminology

Page 10: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Word 1: “Experimentation”

• Suppose an agent is looking at this LP:– a(X) :- b(X), c(X,X,Y).– a(X) :- b(Y), c(X,Y,X).

• It may wish to determine whether this is in fact true of the data in the KB– Repeatedly look at constants, k, for which a(k) is

true (in the success set for a(X))• And check that one or both of these is also true:

– b(k), c(k,k,Y) or b(Y), c(k,Y,k)

• Agent is experimenting to show that the statement is false (cannot show true like this)– Can do this in the general case for an LP

Page 11: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Words 2 & 3: Deduction and Proving• Applying a deductive rule of inference

– Such as Modus Ponens, Resolution, etc.– Will create new logic programs

• Proving (deductive)– Have a logic program for which the agent doesn’t

know the truth– Have a set of LPs which are known to be true– Find a set of LPs, which form a chain via deductive

steps from the true LPs to the unknown LP

• Proving (exhaustive experimentation)– Know that there is only a finite set of examples– Check all possibilities for an unknown LP– Show there are no counterexamples

Page 12: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Word 4: Induction

• Use success sets of LPs– To find empirical relationships between

them– Induce a generalised hypothesis

• In HR:– (Near)Equality of success sets – (Near)Subsumption of success sets– (Near)Non-existence of success sets

• In ILP:– (Near)Match of success set to target

concept

Page 13: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Word 5: Serendipity

• Not just random chance– Given a novel artefact, A, need to

construct a problem solvable only by A

• Situation:– A new LP, X, has been added to the KB– Agent constructs an LP, T, such that

• T is entailed by X and the knowledge base• T is not entailed by the knowledge base

alone

– So, X solves the problem of proving T• But T was invented for this reason

Page 14: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Word 6: Invention

• HR’s concept production rules• Example: given

– a(X) :- b(X), c(Y,Y,X)– d(X) :- b(X), e(X,X)– Generate:

• n1(X) :- b(X), c(Y,Y,X), e(X,X) [compose]• n2(X) :- b(X), c(Y,Y,X), \+ e(X,X) [negate]• n3(X) :- b(X), c(Y,Y,X) => e(X,X) [forall]

• Also W-operator in ILP systems• See Colton and Muggleton (ILP’03)

– “ILP for Mathematical Discovery”

Page 15: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Word 7: Reparation

• Scenario: start with a LP which is not entirely true (few counterexamples)

• Possibilities– Specialise the body of the clause

• Simple way to do this: exception barring

– Monster-barring• Say that the counterexample shouldn’t be there

• Lakatos-style methods– Studied by Alison Pease – See Colton and Pease (IJCAI’03

agents+reasoning)• “Lakatos-style Methods in Automated Reasoning”

Page 16: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

More Words

• Exploitation• Exploration• Abduction• Innovation• Analogy• See paper

Page 17: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Case Study: Mutilated Checkerboard

• John McCarthy’s famous memo• At AISB’99 he proposed it as a

– `Drosophilia’ for creative reasoning– “A solution is creative if it contains concepts

not present in the problem statement (informal defn)”

• Point is not to solve the problem– But rather to beat McCarthy– i.e., to show creativity in the program which

solves the problem– Time is ripe to finish this problem off…

Page 18: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Mutilated Checkerboard and Grid

• Can an 8x8 checkerboard with two opposite corners removed be covered by dominoes?

• Can an 8x8 grid be covered?– We’ll look at four scenarios for solving this problem

Page 19: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Solving Scenario 1

• Agent is given: ability to place dominoes on a mutilated grid

• Then exhausts all possible ways to put a set of dominoes on the board– And reports that there are always some

squares which remain uncovered• Hence the board cannot be covered

• Two questions:– Problem solved – Agent acted creatively

• Techniques: – proof by exhaustive experimentation

Page 20: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Solving Scenario 2

• Agent is given plethora of information– Including concept of black and white squares– And solution has no uncovered black and no

uncovered white squares

• Given the hypothesis that there is no solution

• Proceeds to prove deductively that the hypothesis is correct

• Two questions:– Problem solved – Agent acted creatively

• Techniques employed– Deductive proving and possibly abduction

Page 21: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Solving Scenario 3• Given ability to put dominoes on board• Very limited background knowledge

– Not given concept of black and white squares– Given both hypothesis (covering poss. & not)– Axiom that no squares are uncovered in a solution

• Explores possible board states– Then invents concept of black & white squares– And concept of boards where number of black and

number of white uncovered is equal– Induces the hypothesis that this concept is never

true– Imagines consequence of this induced rule:

• Proves that hypothesis is inconsistent with the axiom

• Problem solved: Agent creative: (poss)

Page 22: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Solving Scenario 4• Same background as scenario 3• Invents same concepts as before

– And induces same hypothesis as before

• Also induces the hypothesis that a domino always covers both a black & white square– Proves this fact by exhaustive experimentation– (Another possibility: mathematical induction)

• Exploits the new fact:– Proves that the new fact, the hypothesis that a

board can be covered and the axiom are inconsistent (hence board cannot be covered)

• Problem solved: • Agent acted creatively:

Page 23: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

HR and Mutilated Checkerboard

• We’ve been running experiments• Given coordinates of board squares

– And examples of partially covered boards

• Able to invent concept of black and white squares (using equal parity of coords)– And induces the hypothesis that the number

of uncovered black is never equal to the number of uncovered white squares

• Need to give it the ability to perform exhaustive experimentation (+ lots more)

Page 24: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Next Steps: Interesting Questions

• Can this study help us to:– Assess the creativity of systems?– Build more creativity into existing

systems?

• Which creativity words cannot easily be interpreted within this framework?– And what extensions to LPs are needed– Possible extensions:

• Meta-level, multiple KBs, distance metrics

Page 25: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Next Steps: Combination

• HR’s standard cycle of activity:– Invent, calculate, induce, deduce, assess

• Predictive ILP standard cycle of activity:– Invent, assess, induce

• What other cycles are there?• But I believe we shouldn’t be thinking

of combination, but conglomeration– Induce with an eye to deducing & vice-

versa

Page 26: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

Next Steps: Creative Prolog?

• Why should a Prolog system be idle– Between queries it can search for

interesting facts in the ways prescribed• About the current Prolog database

• Can respond to user queries– User: ?- mammal(X).– Program says:

• Mammal(X) :- covering(X,fur)?• Covering(X,fur) :- mammal(X)?

• Here the user doesn’t even know s/he is looking for something!

Page 27: Creative Logic Programming Simon Colton Computational Bioinformatics Laboratory Imperial College London

For Discussion…

• Does this framework have application to the creative construction of artefacts– In arts/literature etc?

• Which of the situations do you agree that the particular words fit to?– What alternative situations are there?

• Which other words should we look at?• Are there other scenarios for solving the

mutilated checkerboard problem?• Is Creative Prolog a good idea???