Ontological Logic Programming by

advertisement
Ontological Logic Programming
by
Murat Sensoy, Geeth de Mel, Wamberto Vasconcelos
and Timothy J. Norman
Computing Science, University of Aberdeen, UK
1
Outline
•
•
•
•
•
Introduction
Motivation
OLP Architecture
A Case Study and Performance
Conclusions
2
Logic Programming
•
•
•
•
Based on First-Order Logic (FOL)
Best-known example: Prolog
Adopts closed world semantics – negation by failure
Write down a logical description of problem using
clauses, predicates, and terms. Then, let
computer searches for the answer.
• Predicates can have arbitrary arity.
3
Web Ontology Language (OWL)
•
•
•
•
An ontology is a formal conceptualization of the world
OWL is based on Description Logics (DLs)
Adopts Open World Semantics
Describe a domain using individuals, classes/1, and
properties/2.
• Terms are referred to by Unique Resource Identifiers (URIs).
– The Wine concept is referred to in the W3C wine ontology by
http://www.w3.org/TR/2003/PR-owl-guide20031209/wine#Wine
In short vin:Wine
There are highly optimized DL reasoners for
OWL-based Ontologies (e.g., Pellet, TrOWL).
4
Motivation
Ontological Reasoning
Logic Programming
+ Very Expressive
+ Close World Reasoning through
Negation by Failure
+ Widely used
- Not Decidable
-Requires encoding of domain
knowledge into Logic Programs
-Hard to adopt Open World Reasoning
-Lack of widely accepted standards for
knowledge representation
OLP
+ Decidable Reasoning with efficient reasoners
+ Open World Reasoning
+ Widely Accepted standards to represent
domain knowledge
- Restricted Expressiveness
- Hard to accommodate Closed World Reasoning
-- Used by relatively smaller community
Ontological Logic Programming
(OLP)
Seamlessly integrates Logic
Programming with Ontological
Reasoning
5
OLP Architecture
availableWine(?).
vin:Wine(?)
vin:Wine(vin:GaryFarrellMerlot)
vin:Wine(vin:KalinCellarsSemillon)
vin:Wine(vin:StonleighSauvignon)
…
availableWine(X):vin:Wine(X),
not(soldOut(X)).
not(
soldOut(vin:GaryFarrellMerlot)
)
6
OLP IDE
7
Semantic Knowledge and OLP
OLP may be used to modify semantic knowledge base by
• Importing ontologies
– %import or import_ontology(uri)
• Addition and removal of statements
– assert(istar:'Sensor'(olp:x))
– retract(istar:'Sensor'(olp:x))
• Addition and removal of individuals
– create_individual(uni:murat), assert(uni:'Researcher'(uni:murat))
– remove_individual(uni:murat)
• Addition and removal of concepts
– create_concept(name,{eq|sub},desc).
8
Supported DL Reasoning Services
•
•
•
•
Ontology consistency checking
Concept subsumption/equivalence checking
Instance checking
Concept satisfiability checking
9
OLP Provides
• By enhancing logic programming with
ontological reasoning, OLP offers the following
advantages:
– Expressiveness: Combines the expressiveness of
DL and LP.
– Convenience: Many researchers and developers
are more familiar with LP languages than with DL
formalisms.
– Reuse of Domain Knowledge
– Conciseness
10
Case-study: Asset-Task Matchmaking
• We address the Intelligence, Surveillance,
Target Acquisition and Reconnaissance
(ISTAR) domain.
ISTAR ontology
A task instance example
Tasks have requirements that
are satisfied by the capabilities
of assets.
11
Deployable Configurations
A deployable configuration for a task is
• a minimum set of resource types that satisfies the requirements of the task
• removal of any resource type from this set will leave at least one
requirement unsatisfied.
Operational Requirements:
- Constant surveillance
Reaper
Global Hawk
Global Hawk
EOCamera
IRCamera
Global Hawk
Intelligence Requirements:
- Imagery Intelligence
EOCamera
IRCamera
DaylightTV
Reaper
DaylightTV
12
Matchmaking Mechanism in OLP
Find a deployable
platform.
Find sensors to attach
to this platform
13
Matchmaking Mechanism in OLP
P is an instance of a
platform
P provides all operational
capabilities required by
task T.
Here, nested negation by
failure is used for forall.
14
Matchmaking Mechanism in OLP
We start with an empty set of
sensors, then add a sensor X
to this set if
1. P mounts X.
2. The capabilities provided
by the sensor is required
and not yet provided by
the existing sensors in the
list.
15
Matchmaking Mechanism in OLP
16
Matchmaking Performance
OLP v1.0 is implemented using Java, tuProlog as
Prolog engine and Pellet as DL reasoner.
• Exhaustive Search
– We have empirically compared a matchmaking
algorithm implemented in OLP with an exhaustive
search approach from the literature.
Domain knowledge is
exploited to reduce
search space.
17
OLP Performance
• Modes of OLP
– Offline: every thing in ontology is loaded into
Prolog KB. DL reasoner is not accessed during
execution.
– Online: Nothing from ontology is loaded into
Prolog KB. DL reasoner is accessed during
execution.
• We extended wine ontology by adding
different number of new concepts and axioms.
18
Load time (offline mode) vs. Reasoner
access time (online mode)
DL reasoner is heavily accessed during online mode.
DL reasoner may be accessed for the same axioms, e.g., during backtracking.
Can caching improve the performance?
19
Load time (offline mode) vs. Reasoner
access time (online-cached)
Caching improves reasoner access time dramatically
20
Conclusions
• We have proposed OLP, a novel tool that combines
Logic Programming with Ontological Reasoning.
• Software agents can transparently use ontological
knowledge and reasoning within logic programs.
• Interpretation of ontological predicates delegated to an
ontology reasoner during the execution of logic
programs.
• Agents can take full advantage of both ontological
reasoning and logic programming without compromise
in expressiveness.
OLP is available at http://olp-api.sourceforge.net
OLP v2.0 is on the way. It can integrate various DL reasoners.
21
Thank you…
Questions?
Download