1 / 22

Ontological Logic Programming

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.

ewa
Download Presentation

Ontological Logic Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Outline • Introduction • Motivation • OLP Architecture • A Case Study and Performance • Conclusions

  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.

  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#Wine In short vin:Wine There are highly optimized DL reasoners for OWL-based Ontologies (e.g., Pellet, TrOWL).

  5. Motivation • 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 community • 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 Ontological Logic Programming (OLP) Seamlessly integrates Logic Programming with Ontological Reasoning

  6. OLP Architecture availableWine(?). vin:Wine(vin:GaryFarrellMerlot) vin:Wine(vin:KalinCellarsSemillon) vin:Wine(vin:StonleighSauvignon) … vin:Wine(?) availableWine(X):- vin:Wine(X), not(soldOut(X)). not( soldOut(vin:GaryFarrellMerlot) )

  7. OLP IDE

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

  9. Supported DL Reasoning Services • Ontology consistency checking • Concept subsumption/equivalence checking • Instance checking • Concept satisfiability checking

  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

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

  12. 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 Global Hawk Reaper Intelligence Requirements: - Imagery Intelligence Reaper Global Hawk Global Hawk EOCamera IRCamera IRCamera EOCamera DaylightTV DaylightTV

  13. Matchmaking Mechanism in OLP Find a deployable platform. Find sensors to attach to this platform

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

  15. Matchmaking Mechanism in OLP We start with an empty set of sensors, then add a sensor X to this set if P mounts X. The capabilities provided by the sensor is required and not yet provided by the existing sensors in the list.

  16. Matchmaking Mechanism in OLP

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

  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.

  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?

  20. Load time (offline mode) vs. Reasoner access time (online-cached) Caching improves reasoner access time dramatically

  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.

  22. Thank you… Questions?

More Related