22
Ontological Logic Programming by Murat Sensoy, Geeth de Mel, Wamberto Vasconcelos and Timothy J. Norman Computing Science, University of Aberdeen, UK 1

Ontological Logic Programming

  • Upload
    ewa

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

Ontological Logic Programming. by Murat Sensoy , Geeth de Mel, Wamberto Vasconcelos and Timothy J. Norman Computing Science, University of Aberdeen, UK. Outline. Introduction Motivation OLP Architecture A Case Study and Performance Conclusions. Logic Programming. - PowerPoint PPT Presentation

Citation preview

Page 1: Ontological Logic Programming

1

Ontological Logic Programming

byMurat Sensoy, Geeth de Mel, Wamberto Vasconcelos

and Timothy J. NormanComputing Science, University of Aberdeen, UK

Page 2: Ontological Logic Programming

2

Outline

• Introduction• Motivation• OLP Architecture• A Case Study and Performance• Conclusions

Page 3: Ontological Logic Programming

3

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.

Page 4: Ontological Logic Programming

4

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-guide-20031209/wine#WineIn short vin:Wine

There are highly optimized DL reasoners for OWL-based Ontologies (e.g., Pellet, TrOWL).

Page 5: Ontological Logic Programming

5

Motivation

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

Ontological Reasoning+ 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 communityOL

P

Ontological Logic Programming(OLP)

Seamlessly integrates Logic Programming with Ontological Reasoning

Page 6: Ontological Logic Programming

6

OLP Architecture

availableWine(X):- vin:Wine(X), not(soldOut(X)).

availableWine(?).

vin:Wine(?) vin:Wine(vin:GaryFarrellMerlot)vin:Wine(vin:KalinCellarsSemillon)vin:Wine(vin:StonleighSauvignon)

not(soldOut(vin:GaryFarrellMerlot))

Page 7: Ontological Logic Programming

7

OLP IDE

Page 8: Ontological Logic Programming

8

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).

Page 9: Ontological Logic Programming

9

Supported DL Reasoning Services

• Ontology consistency checking• Concept subsumption/equivalence checking • Instance checking• Concept satisfiability checking

Page 10: Ontological Logic Programming

10

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

Page 11: Ontological Logic Programming

Case-study: Asset-Task Matchmaking• We address the Intelligence, Surveillance,

Target Acquisition and Reconnaissance (ISTAR) domain.

11

Tasks have requirements that are satisfied by the capabilities of assets.

A task instance example

ISTAR ontology

Page 12: Ontological Logic Programming

Deployable ConfigurationsA 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

Global HawkReaper

ReaperDaylightTV

Global HawkEOCamera IRCamera

Global Hawk

EOCamera IRCamera DaylightTV

Intelligence Requirements:- Imagery Intelligence

12

Page 13: Ontological Logic Programming

Matchmaking Mechanism in OLP

13

Find a deployable platform.

Find sensors to attach to this platform

Page 14: Ontological Logic Programming

Matchmaking Mechanism in OLP

14

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.

Page 15: Ontological Logic Programming

Matchmaking Mechanism in OLP

15

We start with an empty set of sensors, then add a sensor X to this set if1. P mounts X.2. The capabilities provided

by the sensor is required and not yet provided by the existing sensors in the list.

Page 16: Ontological Logic Programming

Matchmaking Mechanism in OLP

16

Page 17: Ontological Logic Programming

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.

17

Domain knowledge is exploited to reduce

search space.

Page 18: Ontological Logic Programming

18

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.

Page 19: Ontological Logic Programming

19

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?

Page 20: Ontological Logic Programming

20

Load time (offline mode) vs. Reasoner access time (online-cached)

Caching improves reasoner access time dramatically

Page 21: Ontological Logic Programming

21

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.

Page 22: Ontological Logic Programming

Thank you…

Questions?