Transcript Lecture 9

CSC 599: Computational
Scientific Discovery
Lecture 9: Introduction to
the Scienceomatic
Architecture
Outline

Motivation


CSD thus far
Scienceomatic Architecture
First Trend in CSD
1. Data structures that are more predictive

Single simple equations
BACON, late 1980s

List of mechanisms
MECHEM, mid 1990s

Differential equations
Lagramge, mid 1990s

Process network
IPM, mid 2000's
Second Trend in CSD
2. Better application of domain knowledge
“Better” in the sense that
1. Provides more efficiency for limiting search
2. Provides In scientist-friendly format
Examples:

Ad hoc
BACON, late 1980s

Grammar
Lagramge, mid 1990s

Domain constraints of acceptable solutions
MECHEM, mid 1990s

Abstract processes
IPM, mid 2000's
Emphases of CSD
Predictive data structures:
1. More structurally
complex
2. More embedded in
knowledge scientists
already have
Use domain knowledge
 More “understandable”

3. Integrates simulation
and exhaustive search

2 strengths of computers
But what do scientists do?
Give reasons why!
(explanations)

Templates for solving
problems:

Philosophy of science


Artificial Intelligence


Kuhn's exemplars
Explanation Based Learning
Explanations need:
1. Assertions
2. Reasoning method(s) to
tie them together
About Explanations
Assertions come in (at least) two flavors

What Prolog would call “facts”



What Prolog would call “rules”


Measurements (thermometer1 read 20.6 C at time t0)
Fundamental properties (c = 299,792,458 m/s)
F = ma
Modern philosophers of science don't like this

Thinks it smells too much like logical empiricism
Reasoning comes in several flavors




Deduction: A; A->B; therefore B
Abduction: B; A->B; therefore A
Analogy: f(A); g(a); relates(A,a); f(B); g(b); therefore
relates(B,b)
Maybe Induction: f(1); f(2); f(3); therefore "n: f(n)
Explanation-based Learning
Deductive learning from one training example

Requires:
1. The training example

World provides proof of one legal configuration
2. A Goal Concept

High level description of what to learn
3. An Operationality Criteria

Tells which concepts are usable
4. A Domain Theory


Tells relationship between rules & action in domain
EBL generalizes example to describe goal
concept and satisfy operationality criteria
1. Explanation: remove unimportant details from
training example with respect to goal concept
2. Generalization: generalize as much as can while still
describing goal concept
EBL Applied to Scientific
Reasoning
We have


Newton's Law of gravity: F = GMm/r2 (domain know.)
(Example):





Mass of an apple
Force on apple due to gravity (ie. Its weight)
mass[earth] >> mass[apple]; r = radius[earth]
Force of weight (Goal concept to learn)
Data struct outlining how (Operationality criterion)
weight[apple]=(GM/radius[earth]) *mass[apple]
Generalize data struct to anything fitting criteria:
mass[earth] >> mass[X], r=radius[earth]
weight[X]=GM*mass[X]/radius[earth]
But what else do scientists do?
Remember what has been
tried, and why!


Historical trajectory of
scientific effort
Reason where to put effort

Human science


Artificial Intelligence


Funding agency
Reinforcement learning
Issues:
1. Strategy vs. tactics
2. Tried-and-true vs. brand new
Science under limited
resources
Ranking (priority queue) of operators to try
Funding agencies

Limited resource = money (and time)
Reinforcement learning

Limited resource = CPU time (and memory)
What is Reinforcement
Learning?
Is type of learning



Not particular algorithm!
Agent always acting in environment
Gets reward at end, or as goes along


Can be delay j between action and its payoff
Goal: maximize the payoff
Strategy vs. Tactics (Military)
(Definitions from Compact Oxford English Dictionary)
Strategy:
“a plan designed to achieve a particular long-term aim”

Examples:



“Destroy enemy's forces”
“Destroy enemy's economy/industrial base”
“Destroy enemy's morale”
Tactics:
“the art of disposing armed forces in order of battle and of
organizing operations.”

Examples:




Frontal assault
Siege
Pincer
Hit and run
Strategy (Scientific Discovery)
Strategy:
“What should the long-term process of science
be?”
Topic in contemporary philosophy of science:
Examples:
Lakatos


Minimize number unpredicted phenomena
Cumulatively build upon research programmes' hardcore
Laudan


Maximize number of predicted attributes,
Research traditions less structured, not necessarily
cumulative
Tactics (Scientific Discovery)
Tactics:
“What should this scientist be doing right now?”
Related to inductive bias in machine learning
Examples:



Information gain
Minimize cross-validation error
Maximize conditional independence
Strategy vs. Tactics: related
issues
Tried-and-true vs. Brand new

When does the strategy switch from conventional
tactics to unconventional ones?

Philosophy of science:



Kuhn: Normal science vs. revolution
Lakatos: Progressive vs. degenerate research
programmes
Artificial Intelligence

Exploration vs. exploitation



Exploration (revolution: look for the brand new)
Exploitation (normal science: get what can from known structure)
Issue studied in reinforcement learning community
Can Implement each object
separately
Assertion data structure

Directly uses assertions
Explanation data structure

Gives explanations
Historical data structure

Gives historical context to
justify what to do next
Assertion Usage Object
Sample of important
methods:

Retrieve assertion a1



Predict object o1's
attribute attr1



Show assertion
Edit assertion
Plot these values
Compare predicted and
recorded values
Justify (e.g. logical
resolution) assertion a1
Explanation Usage Object
Sample of important methods:

Predict o1's attribute attr1


Satisfy with assertion usage obj
Satisfy with solved problem library





Philosophy of science justification
 Kuhnian exemplar: what scientists do
Artificial Intelligence justification:
 EBL: cheaper than de novo reasoning
Give trace why object o1's attribute
attr1 is value v1.
Give trace how assertion a1 is
justified (e.g. derived)
Refine reasoning method
“I like traces like this over traces like
that because . . .”
Historical Trajectory Object
Sample of important methods:

Predict o1's attribute attr1




Show vs. edit (assertion object)
De novo vs. exemplar (explanation)
Why this trace? Previous traces?
Change strategy


Lakatos, Laudan or other?
Change tactics



Change operator library


Add/delete/modify operators
Examine history



Which inductive bias
When to use operator op1
How well do ops work, and when?
Selectively erase history
Change priority queue

Reorder operator instances
Three objects under
Manual or Autonomous Control
Ontology
Is-a hierarchy

Single inheritance (except for processes)
Instance-of leaves

Each instance only belongs to one class
Inherited properties from classes

Override-able at instance or derived class level
Assertion Usage Object
Types of assertions
“Assertions of state”


“Facts” (in the Prolog sense)
“Rules” (in the Prolog sense)


Relations (e.g. equations)
 Numeric computation
Decision trees
 Symbolic computation
“Assertions of motion”


Process classes
Process instances


analogous to “facts”
Rules


Numeric relations for processes
Decision trees for processes
About assertions
Assertions have:






Name
List of entities (things they interrelate)
Conditions (when they hold)
Expression
<entity,attribute> pair that they define (optional)
Authorship




Who is responsible for putting them in kb
When placed in?
Where they came from (Operator? User edit?)
List of assertions that they depend on (if created by
operator)
Numeric Relation example
Numeric relation: Ideal gas law

Name:


ideal_gas_law
List of entities (things they interrelate)

[gas_ent, container_ent, molecule_ent]




gas_ent is the gas sample being described
container_ent is the container holding the gas sample
molecule_ent is the
Conditions (when they hold), ex:
“Gas phase molecules are not attractive or repulsive”

Expression


PV = nRT
<entity,attribute> pair that they define (optional)

Gas's thermal energy = PV = nRT (?)
Numeric Relation Example (2)

Authorship

Of discovery



Who discovered it
 person(some_scientist)
 operator(bacon3)
When it was discovered
 date(century19)
 date(1990)
On inclusion


Who included it
 person(joseph_perry_phillips)
When it was included
 date(2008,may,27)
Processes
Describe changes over time

Process classes





Langley et al call them “abstract processes”
Whole class of similar events
Arranged hierarchically
Have assertions associated with them
Process instances



Instance of process class
Single event
May be decomposed into finer process instances
Processes example
Motion

Very abstract
1-D motion


Specifies that motion
along one dimension only
abstract means “fnc to
be given in derived class”
1-D uniform acceleration


Specifies uniform accel.
abstract_const means
“constant to be given in
derived class”
1-D gravitational accel.

Gives conditions
Process assertion example
Decision tree to
stochastically
compute child's
genotype form
parents

Non-leaves are
tests


Some are random
Leaves are answers
Explanation Usage Object
Returns traces of reasoning




Akin to resolution refutation traces
Given: A; B; AB -> C (or not(A)
not(B)∨C)
Prove: C
Method:



Assume not(C)
Show contradiction
C must be true!
Explanation Usage Object (2)
Can look up in library

If not found calls
assertion usage
object
Works for:


Justifying single
values
Justifying whole
assertions
Optionally allow more
than deduction
History Trajectory Object
Does several things:
1. Decides which operator to do next based on:
a) How successful they have been (operator id)
b) Type of data (data id)
c) Tactics
d) Strategy
2. Keeps track of what's been tried before
a) operator/data
b) success/failure
c) “by how much”
d) who/when/why/etc.
3. Modifiable
a) Learns best operators on for given data
b) PROGRAMMABLE?!? (Under these conditions
create an operator that does this . . .)
Next time
1. More detail about kb structure




A “culture” for science
Value hierarchy
States and time
Java/C++ simulators
2. Writing programs in Scienceomatic
architecture

Dynamically configured discovery operators in
history trajectory object
3. Scienceomatic in action
a) What might “normal science” look like?
b) What might “revolution” look like?