Title: The Scienceomatic 7b Environment for Scientific Representation, Reasoning and Discovery
1The Scienceomatic 7bEnvironment for Scientific
Representation, Reasoningand Discovery
- Joseph Phillips
- jphillips_at_cdm.depaul.edu
- 2008 November
2Overview
- Motivation
- Computational Scientific Discovery
- System Overview
- SciRep and Scienceomatic 7b details
- Applications
- Conclusion
3Computers need tounderstand science!
- Little problem gt
- Big consequence
- Mars Climate Orbiter
- NASA asked for thrust in Newton-seconds
- Lockeed Martin gave thrust in pound-seconds
- Spacecraft burned up in Mars' atmosphere
- 327.6 million wasted
4Computers need tounderstand science! (2)?
- Big problem gt Big consequence
- Understanding mortgage-backed securities mess
5Computational Scientific Discovery
- Computational Scientific Discovery combines
- Artificial Intelligence (Machine Learning,
Knowledge Representation and Reasoning, KDD)? - Science
- Philosophy of Science
- Q Why not use conventional Artificial
Intelligence and Machine Learning techniques? - A Because AI and ML see the world differently
than science.
6AI vs. CSD
- Artificial Intelligence (and logicians) like nice
consistent knowledge bases - Science is happily inconsistent
- Relativity
- Newton p mv
- Einstein p mv/sqrt(1-v2/c2)
- Quantum mechanics
- Rumford, Coriolis, Poncelet, Mohr, et al
- The energy of a particle varies with velocity
and potential - Niels Bohr
- The energy of an electron varies with velocity
and potential . . . and it is quantized
7ML vs CSD
- ML emphasizes the data
- CSD emphasizes the bias
- Q ML folks consider this cheating, why do it?
- A Because that's what scientists do!
Data
Model
Bias
gt
Bias
Model
Data
gt
8Our Approach
- The Scienceomatic 7b
- Designed to answer question What is object O's
value for attribute A given context C? - Knowledge bases written in SciRep
- Compiled to Lisp
- Supports deductive, stochastic reasoning
- Queries return justification objects that trace
reasoning and contextualize it in a story. - Open architecture, future modules can support
- Inductive, abductive, and analogical reasoning
- Scientific visualization
- Model modification
- Model comparison
9System Overview Diagram
10Implement Lisp in Java (?)?
11Autonomous and Distributed
12Extendable Open Architecture
13System Features (1)?
- Object oriented architecture into scientific and
meta-scientific entities
14System Features (2)?
- Justification Traces
- Trace through knowledge base of path taken to
answer question - Gives you
- An explanation of the answer (if one is found)?
- A Lisp program that computes an answer (may be
stochastic)? - Justification Stories
- For comparison among justification traces
- To argue why one trace is better than others
15System Features (3)?
- Automatic conversion and unification of units and
dimensions - 100 cm 1 meter 2 meters
- (100 cm 1 meter) true
- (101 cm 1 meter) false
- 100 cm 1 second Error!
- (100 cm 1 second) Error!
16System Features (4)?
- Values as distributions
- object.length 3.97, 3.99, 4.00, 4.00, 4.01 cm
- Integers, ratios, floats and symbols are
represented as bags - Like sets they are unordered
- Like lists they may contain the same item more
than once - By convention, distribution members are listed in
ascending order - Two unsampled, analytical distributions exist
- Normal( ltmeangt, lttwice_std_devgt )?
- Uniform( ltlowgt, lthighgt )?
17System Features (5)?
- Stochastic Computation
- Can take 3 paths
- (1) Case p(A) lt p(B)?
- (2) Case p(A) p(B)?
- (3) Case p(A) gt p(B)?
- 3 different justification traces
- Decision is memorized in context for consistency
18System Features (6)?
- Preference for symbolic computation over
comparison computation - Box.chocolateSet.setSizeAttr lt
Box.binSet.setSizeAttr - (The number of chocolates in a box is less than
or equal to the number of bins in the same box)? - No need to compute with number of chocolates or
number of bins
19How to the Scienceomatic computes
- Issue 1
- There is more than one way to compute something.
- Example What is the weight of Joe Phillips?
- Empirical scientist
- Weigh him!
- Theoretical scientist
- Apply the proper formula to get ab initio value
- ?(particles p in JoePhillips) ?
mass(p)gravitationalAcceleration
20Dealing with Issue 1
- First, label knowledge by type
- define For cultural definitions
- There are 100 cm in 1 meter.
- expect Like define, but for we only expect
- As a biologist, I believe H. sapiens is one of
many species. - data For measurements.
- Tycho Brahe's astronomical observations.
- generalize Generalized data explained by theory
- Kepler's Laws
- theory Explains generalizations
- Newton's Laws of Motion and Gravitation
- analytical True by mathematics.
- Pythagorean theorem.
21Dealing with Issue 1, cont'd
- Second, search by knowledge type
- abInitio define/expect, theory, analytic
- readData define/expect, data, analytic
- theorize define/expect, theory, generalize,
data, analytic - empiricize define/expect, data, generalize,
theory, analytic - given define/expect, analytic
- define/expect always first consistency w/culture
- analytical always last recast problem
22How to the Scienceomatic computes (2)?
- Issue 2
- There are multiple sources of knowledge
- Example What is the weight of Joe Phillips?
- We can answer base on . . .
- what Joe Phillips is undergoing
- Joe Phillips' environment's
- by virtue of who and what Joe Phillips is
23Dealing with Issue 2
- For each search-by-knowledge type search in this
order - Processes
- Returns an dynamic answer
- Based on what Joe Phillips is undergoing
- Stases
- Returns a static answer
- Based on Joe Phillips' environment
- Object
- Returns a identity answer
- Based on who and what Joe Phillips is
24Application 1 Reasoning
- Query
- What's Joe Phillips' weight on 28 Sept 2008?
- Any active processes? No process specified.
- Any active stases? Yes, assume on Earth
- Search type? Empiricize (favor weighing him
over computing the mass of all of his particles)? - Full query
- What's Joe Phillips' weight on 28 Sept 2008?
- Context (search_typeempiricize, stasis_set
contemporaryEarthSurfaceGravitation)?
25Application 1 (1)?
26Application 1 (2)?
27Application 1 (3)?
28Application 1 (4)?
29Application 1 justification trace
30Application 2 Explanation Documentation
- Why is the Sky Blue?
- Traditional computational approach
- Measure solar output above Earth's atmosphere
(e.g. by satellite or very high-altitude
balloon)? - Measure composition of Earth's atmosphere
(molecules, particles, etc.)? - Measure interactions of photons by wavelength on
molecules, particles (refraction, scatter,
absorption)? - Do a simulation
- Gives you everything . . .
- Blue sky and . . .
- Clouds, fog, smog, rainbows, yellow sunsets/rises
31Application 2 Explanation Documentation
- Why is the Sky Blue?
- But it's not how humans explain it to each other!
- We want
- An approach that mirrors how humans explain to
each other - An approach that can be expanded to the fuller
computational approach - An approach that can support multiple explanation
approaches
32Application 2 Explanation Documentation
- Why is the Sky Blue?
- How humans explain this to other humans
- Philips Gibbs, 1997
- http//math.ucr.edu/home/baez/physics/General/Blue
Sky/blue_sky.html - 1. Sunlight has (among other things) the colors
- redorangeyellowgreenblueviolet
- 2. The shorter the wavelength, the higher the
probability of scatter upon hitting air molecule - p(red)ltp(orange)ltp(yellow)ltp(green)ltp(blue)ltp(viol
et)? - 3. Photons scattered by object determine its color
33Application 2 Explanation Documentation
- Why is the Sky Blue?
- HOWEVER, the sky is not violet because
- There are less violet photons than blue ones
- Violet photons are absorbed more than blue ones
- Our eyes are more sensitive to blue than violet
- Overall justification story . . .
- Both blue and violet scatter more than red,
orange, yellow, and green - Violet scatters more than blue, but violet is
less prevalent because violet is absorbed, less
numerous, and we're less sensitive - The sky appears blue
34Tracing Explanations for Humans
- One notation to cover it all
- lthowExplainPredgt(ltwhatExplainedgt,predArgs,ltautho
rgt)? - lthowExplainPredgt
- Tells which explanatory approach was used
- ltwhatExplainedgt
- Assertion that was explained
- ltpredArgsgt
- List of arguments need by lthowExplainPredgt to
compute ltwhatExplainedgt - ltauthorshipgt (optional)?
- Who gave us the raw data? Who said to use the
reasoning approach? When? Why?
35Tracing Explanations for Humans
- Why is the Sky Blue?
- I.e. (sky.color blue)?
- ifThen
- (sky.color blue,
- ltifObjScattersColoredPhotonsThenIsThatColorgt,
- ltdominantScatteredPhotonColorOfSkyIsBluegt
- )?
36Tracing Explanations for Humans
- Why is the dominant scattered photon color of the
sky Blue? - I.e. ltdominantScatteredPhotonColorOfSkyIsBluegt
- thisButThatTherefore
- (ltdominantScatteredPhotonColorOfSkyIsBluegt,
- ltvioletAndBlueScattersMoreThanRedOrangeEtcgt,
- ltvioletLessPrevalentgt
- )?
- (No, I am not happy with this predicate's name)?
37Tracing Explanations for Humans
- Why do blue and violet photons scatter more than
red, orange, etc.? - I.e. ltvioletAndBlueScattersMoreThanRedOrangeEtcgt
- ifThen
- (ltvioletAndBlueScattersMoreThanRedOrangeEtcgt,
- ltifWavelengthIsSmallerThenHigherProbOfScattergt
, - ltvioletAndBluePhotonsHaveSmallerWavelengthsgt
- )?
38Tracing Explanations for Humans
- Why do blue and violet photons have smaller
wavelengths than other colors? - stated
- (bluePhoton.wavelenltredPhoton.wavelen AND
- bluePhoton.wavelenltorangePhoton.wavelen AND
- . . .,
-
- )?
- All proper explanations have stated() predicates
at leaves
39Grounding explanation in computation
- For most people one can stop at the assertion
- ltifWavelengthIsSmallerThenHigherProbOfScattergt
- Physicists might want an explanation of this too!
- SciRep can either
- Represent the assertion as stated() (from the
generalizations)? - Further explain it in terms of theory, like
- Lorenz-Mie-Debye theory
- Rayleigh and Raman scattering
- Plug wavelens and particle sizes in the eqns
40Supporting other reasoning approaches
- There are several ways of explaining . . .
- Logic
- Schematic (e.g. Structure mapping engine)?
- Bayesian Networks
- Neural networks
41Example Logic
Resolution Proof
Resolution Outlined in SciRep
42Example Neural Nets
43Conclusion
- The Scienceomatic 7b is . . .
- Designed for scientific models through support
for - dimension and units unification and conversion
- explicit, normal or uniform distributions
- Deterministic and stochastic
- Prefers symbolic computation over numeric
- Extendable, open architecture
- Supportive of different types of queries
- Ab-initio, empirical, theoretical, etc.
- Supportive multiple reasoning approaches
- Able to represent . . .
- Models
- Explanations of answers
- Stories about which justifications are preferred