150 likes | 285 Views
74.419 Artificial Intelligence 2004 - Description Logics -. Background and Motivation for DL Relation between DL and FOPL (extensional Semantics) Example Definitions The horrible truth of DL T-Box, A-Box LOOM. Description Logics - Background.
E N D
74.419 Artificial Intelligence 2004 - Description Logics - • Background and Motivation for DL • Relation between DL and FOPL (extensional Semantics) • Example Definitions • The horrible truth of DL • T-Box, A-Box • LOOM
Description Logics - Background • Prevent flaws of Semantic Networks; provide clear semantics of nodes and links • Derived from Inheritance Hierarchies (IS-A hierarchies; taxonomies; terminologies) and Frame Systems Concepts, Roles, Features • Series of KR Languages starting with KL-ONE, later KL-TWO, LOOM, CLASSIC, ... • Relate to FOPL via extensional semantics • Applied e.g. in Semantic Web Languages (DAML+OIL)
Description Logics - Overview • DL provide language constructs to define concepts. • Concepts are interpreted as sets of individuals (extensional semantics). • Concept definitions are linear expressions, combiningconcepts, roles, etc. to express constraints on the fillers of the concept. • The IS-Ahierarchy is reflected in the subsumption relation (super-class–sub-class relation), interpreted through set-inclusion.
Description Logics – Basic Elements • Concepts • Roles • Features / Attributes • Definition of concepts • e.g.father(AND (Parent Man)), Biped(AND (Animal (exactly 2 has-legs Legs))) • Primary / Atomic Concepts and Roles (not completely defined) • Individual Concepts (define singletons) • Instances (entities)
Description Logics – Principles Concepts • correspond to unary predicates or sets Roles • correspond to binary predicates / relations Features • correspond to functions Concept-Definitions • constrain filler-sets • composed of concepts, roles, role restrictions using AND, OR, min-number, max-number etc. • (Human (AND (Animal Biped Featherless))
Concept Definitions - Example (defconcept Person primary-concept) I (Person) D (defrole gender atomic-role) I (gender) DD (defconceptParent (AND Person (has-child.Person)) I (Parent) I (Person) {xD | y: (x,y) I (has-child) yI (Person) } (defconceptMan (AND Person (gender.Male)) I (Man) I (Person) {xD | y: (x,y) I(gender) y I (Male)}
Basic Architecture and Functions • T-Box – terminological knowledge (definition of concepts) • A-Box – assertional knowledge (statements about instances, concrete objects) • Classification - insert concept into hierarchy based on it's description / definition • TELL– insert knowledge into KB, e.g. define new concept or assert instance info • ASK– querying KB, e.g. ask about existence of instance
LOOM - T-Box Example T-Box (Concept Definitions) (defconcept Person) (defrelation has-child :domain Person :range Person) (defconcept Male) (defconcept Person-with-Sons :is (:and Person (:at-least 1 has-child Male))) (defconcept Person-with-Two-Sons :is (and Person (:exactly 2 has-child Male)))
LOOM - A-Box Example A-Box (Assertions, Statements) (tell (Person Fred)) (tell (has-child Fred Sandy)) (tell (Male Sandy))
LOOM - Example KB (defconcept Person) (defrelation has-child :domain Person :range Person) (defconcept Male) (defconcept Person-with-Sons :is (:and Person (:at-least 1 has-child Male))) (defconcept Person-with-Two-Sons :is (and Person (:exactly 2 has-child Male))) (tell (Person Fred)) (tell (has-child Fred Sandy)) (tell (Male Sandy))
LOOM - Example Reasoning (defconcept Person) (defrelation has-child :domain Person :range Person) (defconcept Male) (defconcept Person-with-Sons :is (:and Person (:at-least 1 has-child Male))) ... (tell (Person Fred)) (tell (has-child Fred Sandy)) (tell (Male Sandy)) Conclude: (Person-with-Sons Fred)
LOOM - Program: definitions > (defconcept air-base :is-primitive (and Military-Installation (exactly 1 name) (at-least 1 runway-length) (exactly 1 service-branch))) |C|AIR-BASE > (defrelation name :range string) |R|NAME > (defrelation runway-length :domain air-base :range number) |R|RUNWAY-LENGTH
LOOM - Program: tell > (tellm(createab-1 air-base) (name ab-1 "Atlanta NAS") (runway-length ab-1 12050))) Recognition changes at agent time 1: entry: AB-1 |C|MILITARY-INSTALLATION entry: AB-1 |C|AIR-BASE > (tellm (createab-2 air-base) (name ab-2 "Mainland NAS") (runway-length ab-2 9000)) Recognition changes at agent time 2: entry: AB-2 |C|MILITARY-INSTALLATION entry: AB-2 |C|AIR-BASE infered
LOOM - Program: retrieve > (retrieve?p (air-base ?p)) ( |I| AB-1 |I| AB-2) > (retrieve?p (and (air-base ?p) (for-some (?l) (and (runway-length ?p?l) (> ?l 10000))))) (|I| AB-1) Instances AB-1, AB-2 Instance AB-1
References • Ian Horrocks and Ulrike Sattler: Description Logics - Basics, Applications, and More • J. Heinsohn et al.: An Empirical Analysis of Terminological Representation Systems, Artificial Intelligence 68(2):367-397, 1994 • LOOM (Bob McGregor, USC) http://www.isi.edu/isd/LOOM/LOOM-HOME.html see course web page for links