SMART Systems (Vorlesung: KI & XPS)
Beim vorigen Mal:
Grundideen zum qualitativen Schließen ...
am Beispiel von Intervall- und topologischen Relationen
Inhalt heute:
Anwendungen im Kontext von verteilten Systemen
Agenten, Semantic Web, Kommunikation und Inferenz
Lernziele:
Verstehen der Anwendung von Inferenzdiensten
Zusammenspiel von Repräsentationsformalismen
Ralf Möller, Univ. of Applied Sciences, FH-Wedel
Qualitative zeitliche Beziehungen: Allen-Rel.
13 Basisrelationen,
disjunkt, erschöpfend
Semantik
Tupel reeller Zahlen
Konsistenz von Allen-CSPs
Pfadkonsistenz (Pruning durch Anwendung der
Kompositiontabelle)
Backtracking über Kombinationen von Basisrelationen
Qualitative räumliche Relationen: RCC-8
8 Basisrelationen, disjunkt, erschöpfend
Semantik: (haben wir nicht näher behandelt!)
Offene, reguläre, nicht zusammenhängende Mengen im R2
Konsistenz von RCC-8-CSPs
Pfadkonsistenz
(Pruning durch Anwendung der Kompositiontabelle)
Backtracking über Kombinationen von Basisrelationen
Kombination mit Beschreibungslogiken
Beschreibungslogik ALCRP(D)
ALC + Konkrete Domäne D +
(RP)
Acknowledgments
Auf den Folien zu ALCRP(D) wird an einigen Stellen Material von Carsten Lutz
(RWTH-Aachen) verwendet.
Beispiel für den allgemeinen Fall
Verwendung im Existenzquantor
Verwendung im Allquantor
Konkrete Domäne RCC
Testprädikat: is_region, is_no_region
Basisprädikate: dc, ec, po, tpp, ntpp, ntppi, tppi, eq
2
8Prädikate für alle möglichen Disjunktionen von Basisprädikaten
Beispiel: tpp-ntpp-tppi-ntppi-eq
Name für Disjunkt. aller Basisprädikate: spatially-related
Negationen für alle Prädikate
Beispiel: neg(dc-ec) = tpp-ntpp-ntppi-tppi-eq
Beispiel: neg(spatially-related): inconsistent-relation
Anwendungsbeispiel
City-1 wird von city-2 subsumiert
Warum?
Visualisierung der möglichen Modelle
city-3 wird von
city-1 subsumiert
Negativresultat: ALCRP(D) ist unentscheidbar
Diskussion der Einschränkungen
Anwendungsbeispiel: Verteilte Systeme
Wir haben verschiedenen Logiken für verschiedene Anwendungen kennengelernt
ALCQHIR+ (DAML+OIL-Approximation)
ALCQHIR+(D)- (für XML-Schema + Erweiterungen)
ALC(D) erlaubt Attributketten bietet aber keine QHIR+-Operatoren
ALCRP(D) mit syntaktischen Einschränkungen
Die Eierlegendewollmilchsaulogik gibt's nicht!
Sicht: Einsatz der Logiken bei verschiedenen Spezialisten
Betrachtung eines konkreten Beispiels: TV-Assistent
Ein einfaches Beispiel-Szenario: TV-Auskunft
Charakterisierung des Szenarios
Spezialisten (Agenten)
hier: statische Auffassung von Agenten,
d.h. Agenten wandern nicht, sondern bieten Dienste im Web für andere an (als Agentur)
Annahme: Dienstbeschreibung durch Inferenzdienste
Vermittler (Broker)
Zentrale Anlaufstation für Clients
Organisation des Zugriffs auf Spezialisten
Verwaltung einer Registratur für die angebotenen Dienste von Spezialisten
Annahmen im Szenario...
Jeder Agent hat ein eigenes Beschreibungsschema für Daten (TBox) und Informationen (ABox)
TV-Web-Software generiert Anfragen nach Programminformation mit Bezug auf
Broker-Schema
Filmtypen in einem Zeitfenster (z.B. Action-Filme heute abend)
Zusätzlich: Menge von Konzepten zur
Filmcharakterisierung (z.B. zur Einblendung von filmspezifischer Werbung)
Zu lösende Aufgaben im Szenario:
Finden eines "zuständigen" Spezialisten
Beispiel: Recherche (Retrieval) für Filme an Programmagent delegiert
Umwandlung der "Anfrage", so daß der Spezialist sie "versteht"
Transformation der "Anfrage", so daß nur Namen aus dem Schema des Spezialisiten verwendet werden
Transformation eines Konzepttermes (Refinement)
Ggf. Transformation einer ABox (Abstraktion)
Der GIS-Agent
Annahme: Verwendung der Logik ALCRP(RCC)
Registrierung beim Broker durch:
individual-instance (i, C [, A ])
concept-instances (C [, A ])
TBox des GIS-Agenten
ABox des GIS-Agenten
Die TBox enthält:
Der Programmagent
Annahme: Verwendung der Logik ALN(D)
- Restrierung beim Broker durch:
concept-instances(C)
sub-abox(i)
TBox des Programmagenten
Einschub: Least-Common-Subsumer (LCS) für ALN-TBoxen
LCS(pirate-movie, titanic-movie)
-> (and movie (all has-main-character captain) (all has-location ship))
ABox des Programmagenten
Der Broker
Annahme: Verwendung der Logik ALCQHIR+
Vereinigung der Schemata der registrierten Spezialisten
Trennung der Einzelschemata durch Namensräume
Realisierung durch Präfix
In unserem Beispiel: ba:, ga: und pa:
Broker hat auch eine TBox
(hier zur Veranschaulichung stark vereinfacht)
Inter-Schema-Axiome zur Korrelation der Namen aus den Einzelschemata (ga: und pa:) zu den Namen im Broker-
Schema (ba:)
(bei Registrierung zu erstellen)
Zusätzliche Axiome in der Broker-Tbox (1)
Zusätzliche Axiome in der Broker-Tbox (2)
Annahme im Szenario
Konkrete Anfrage nach Programminformation wird an Broker gestellt
(concept-instances C)
sub-abox(i)
C repräsentiert die Suchanfrage
Beispiel: C = pa:action-movie
Wir abstrahieren hier von den Zeitinformationen!
Sub-abox(i) wird für Filme zur Bestimmung von
Zusatzinformationen aufgerufen
Zu lösende Aufgabe
Umwandlung der Suchanfrage ins jeweilige Vokabular der registrierten Spezialisten
Verfeinerung der Suchanfrage, so daß nur noch Namen aus dem Namensraum der Spezialisten verwendet werden
Suchkonzept in Terminologie einfügen
Nach "unten schauen" (einschließlich des
Suchkonzepts) und entsprechenden Namen suchen
Programm-Agent: pa:action-movie
GIS-Agent: bottom
Annahmen im Szenario:
Programm-Agent wird konsultiert
Programm-Agent liefert ABox mit Informationen zu "The World is not Enough".
Abox A wird an TV-Assistent übermittelt
TV-Assistent will Werbung anbringen
Anfrage bzgl. A nach Zusatzinformation an Broker
Beispiel: Flugreise nach Asien
(instance? the-world-is-not-enough-1
, A) -> Yes! (kann der Broker selbst bestimmen)
Nicht immer kann der Broker allein entscheiden....
Beispiel: Anfrage
(instance? the-world-is-not-enough-1
, A) -> No!
(instance? the-world-is-not-enough-1
, A) -> No!
Broker hat nicht genügend Information:
-> Don't know?
Idee: Abox A wird an GIS-Agenten gesandt
(instance? the-world-is-not-enough C A)
Zu lösende Aufgabe für den Broker
Abox und Query-Konzept (in Broker-
Terminologie) müssen ins Vokabular des GIS- Agenten transformiert werden
Notwendige Operationen:
ABox-Abstraktion (Verallgemeinerung)
Query-Verfeinerung (Verschärfung)
Problem für GIS-Agenten:
(instance? the-world-is-not-enough C' A')
Warum macht das Sinn?
Beispiel: ABox-Abstraktion (1)
Neue ABox A'
Beispiel: ABox-Abstraktion (2)
Beispiel: Query-Refinement
Neues spezielleres Query-Konzept C' =
Was sagt der GIS-Agent?
(instance? the-world-is-not-enough C' A') -> Yes!
Was macht der Broker daraus?
(instance? the-world-is-not-enough C A) -> Yes!