the scienceomatic 7b environment for scientific representation, reasoning and discovery joseph...
Post on 22-Dec-2015
215 Views
Preview:
TRANSCRIPT
The Scienceomatic 7bEnvironment for Scientific Representation, Reasoning
and Discovery
Joseph Phillipsjphillips@cdm.depaul.edu
2008 November
Overview
Motivation Computational Scientific Discovery System Overview SciRep and Scienceomatic 7b details Applications Conclusion
Computers need tounderstand science!
Little problem ==>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
Computers need tounderstand science! (2)
Big problem ==> Big consequenceUnderstanding mortgage-backed securities mess
Computational 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.
AI 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”
ML 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!
BiasData + => Model
BiasData + => Model
Our Approach
The Scienceomatic 7b Designed to answer question “What is object What is object OO's 's
value for attribute value for attribute AA given context given context CC??” 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
System Overview Diagram
Implement Lisp in Java (?)
Autonomous and Distributed
Extendable Open Architecture
System Features (1)
Object oriented architecture into scientific and meta-scientific entities
System 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
System 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!
System 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( <mean>, <twice_std_dev> ) Uniform( <low>, <high> )
System Features (5)
Stochastic Computation
Can take 3 paths:(1) Case p(A) < p(B)(2) Case p(A) = p(B)(3) Case p(A) > p(B)
3 different justification traces
Decision is memorized in context for consistency
System Features (6)
Preference for symbolic computation over comparison computation
Box.chocolateSet.setSizeAttr <= 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
How to the Scienceomatic computes
Issue #1:
There is There is more than one waymore than one way to to compute something.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
Dealing 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.
Dealing with Issue #1, cont'd
Second, search by knowledge type:
abInitio: define/expect, theory, analyticreadData: define/expect, data, analytictheorize: define/expect, theory, generalize,
data, analyticempiricize:define/expect, data, generalize,
theory, analyticgiven: define/expect, analytic
define/expect always first: consistency w/cultureanalytical always last: recast problem
How 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
Dealing 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
Application 1: Reasoning
Query:“What's Joe Phillips' weight on 28 Sept 2008?”1) Any active processes? No process specified.2) Any active stases? Yes, assume on Earth3) 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_type=empiricize, stasis_set =
{contemporaryEarthSurfaceGravitation})
Application 1 (1)
Application 1 (2)
Application 1 (3)
Application 1 (4)
Application 1: justification trace
Application 2: Explanation Documentation
Why is the Sky Blue?Why is the Sky Blue?Traditional computational approach
1. Measure solar output above Earth's atmosphere (e.g. by satellite or very high-altitude balloon)
2. Measure composition of Earth's atmosphere (molecules, particles, etc.)
3. Measure interactions of photons by wavelength on molecules, particles (refraction, scatter, absorption)
4. Do a simulationGives you everything . . .
Blue skyBlue sky and . . . Clouds, fog, smog, rainbows, yellow sunsets/rises
Application 2: Explanation Documentation
Why is the Sky Blue?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
Application 2: Explanation Documentation
Why is the Sky Blue?Why is the Sky Blue?How humans explain this to other humans:
Philips Gibbs, 1997 http://math.ucr.edu/home/baez/physics/General/BlueSky/blue_sky.html
1. Sunlight has (among other things) the colors: red+orange+yellow+green+blue+violet
2. The shorter the wavelength, the higher the probability of scatter upon hitting air molecule:
p(red)<p(orange)<p(yellow)<p(green)<p(blue)<p(violet)3. Photons scattered by object determine its color
Application 2: Explanation Documentation
Why is the Sky Blue?Why is the Sky Blue?
HOWEVER, the sky is not violet because:a) There are less violet photons than blue onesb) Violet photons are absorbed more than blue onesc) Our eyes are more sensitive to blue than violet
Overall justification story . . .1. “Both blue and violet scatter more than red, orange,
yellow, and green”2. “Violet scatters more than blue, but violet is less
prevalent because violet is absorbed, less numerous, and we're less sensitive”
3. “The sky appears blue”
Tracing Explanations for Humans
One notation to cover it all:
<howExplainPred>(<whatExplained>,[predArgs],<author>)
<howExplainPred> Tells which explanatory approach was used
<whatExplained> Assertion that was explained
[<predArgs>] List of arguments need by <howExplainPred>
to compute <whatExplained> <authorship> (optional)
Who gave us the raw data? Who said to use the reasoning approach? When? Why?
Tracing Explanations for Humans
Why is the Sky Blue?Why is the Sky Blue?
I.e.: (sky.color == blue)
ifThen (sky.color == blue, [<ifObjScattersColoredPhotonsThenIsThatColor>, <dominantScatteredPhotonColorOfSkyIsBlue>] )
Tracing Explanations for Humans
Why is the dominant scattered photon Why is the dominant scattered photon color of the sky Blue?color of the sky Blue?
I.e. <dominantScatteredPhotonColorOfSkyIsBlue>
thisButThatTherefore* (<dominantScatteredPhotonColorOfSkyIsBlue>, [<violetAndBlueScattersMoreThanRedOrangeEtc>, <violetLessPrevalent>] )
* (No, I am not happy with this predicate's name)
Tracing Explanations for Humans
Why do blue and violet photons scatter Why do blue and violet photons scatter more than red, orange, more than red, orange, etcetc.?.?
I.e. <violetAndBlueScattersMoreThanRedOrangeEtc>
ifThen (<violetAndBlueScattersMoreThanRedOrangeEtc>, [<ifWavelengthIsSmallerThenHigherProbOfScatter>, <violetAndBluePhotonsHaveSmallerWavelengths>] )
Tracing Explanations for Humans
Why do blue and violet photons have Why do blue and violet photons have smaller wavelengths than other colors?smaller wavelengths than other colors?
stated (bluePhoton.wavelen<redPhoton.wavelen AND bluePhoton.wavelen<orangePhoton.wavelen AND . . ., [ ] )
All proper explanations have stated() predicates at leaves
Grounding explanation in computation
For most people one can stop at the assertion
<ifWavelengthIsSmallerThenHigherProbOfScatter>
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 theoryRayleigh and Raman scattering
Plug wavelens and particle sizes in the eqns
Supporting other reasoning approaches
There are several ways of explaining . . . Logic Schematic (e.g. Structure mapping engine) Bayesian Networks Neural networks
Example: Logic
Resolution Proof Resolution Outlined in SciRep
Example: Neural Nets
Conclusion
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
top related