Upload
minnie-heisner
View
107
Download
5
Embed Size (px)
Citation preview
Informationssammler
Software Agenten
Agenten zur Informationssammlung
Tobias Gerke, Andreas Jäger
nach Craig A. Knoblock & José Luis Ambite (1997)
Informationssammler
Einführung
Schwerpunkte von Arbeiten über Agenten:
• Definition von Modellen über die Intention, die
Fähigkeit und den Bedarf von Agenten
• Planung von Multi-Agenten-Systemen
• Entwicklung von Agenten zur
Informationssammlung
Informationssammler
Einführung
Gegenwärtige Situation:
• Riesige, ständig wachsende, inhomogene Informationsmengen
• Fehlen eines Mittels zum Auffinden, Kombinieren, Verarbeiten und Organisieren von Informationen
Verwaltung der Informationen in einem Netz von Informations-Agenten
Informationssammler
Gliederung
1. Organisation der Informationssammler
2. Wissensbasis der Agenten
3. Kommunikation der Agenten
4. Bearbeiten von Anfragen
5. Der Lernprozess
6. Fazit
Informationssammler
Organisation der Informationssammler
Grundgedanke:
• Stellen Informationen zu einem speziellen Fachgebiet zur Verfügung
• Beziehen Informationen von anderen Agenten
• Dienen anderen Agenten als Informationsquelle
Informationssammler
Organisation der Informationssammler
Begriffliche Konventionen:
• Informations-Agent: Dient als Informations-quelle, stellt aber selbst auch Anfragen
• Data-Repository: Stellt nicht aktiv Anfragen
• Wrapper: Schnittstelle, die jeder Agent des Systems gebildet haben mussGemeinsame Sprache
Informationssammler
Organisation der Informationssammler
Informationssammler
Wissensbasis der Agenten
Jeder Agent beinhaltet:
• Abbild seines Fachgebiets
= domain model
• Modelle der Agenten, die er als Quelle nutzt
= information-source model• Beziehungen zwischen den Modellen
Informationssammler
Wissensbasis der Agenten
Beispiel:
SeaAgent
PortAgent
HarborAgent
NavalAgent
• domain model
• source model des Naval Agent
• source model des Harbor Agent
• source model des Port Agent
Informationssammler
Wissensbasis der Agenten
Teil des domain model vom Sea_Agent:
Informationssammler
Wissensbasis der Agenten
information-source und domain model:
Informationssammler
Wissensbasis der Agenten
information-source und domain model:
Informationssammler
Kommunikation der Agenten
Agenten nutzen einheitlich
• Sprache
• Protokoll
Loom knowledge representation language
KQML
Informationssammler
Kommunikation der Agenten
Loom als einheitliche Abfragesprache keine teuren Unterabfragen
KQML als einheitliches Protokoll Einfache Rückgabe von Ergebnissen
RecipientAgent
SubsourceAgent
SourceAgent
KQML-Message
mit Loom-Query
KQML-Message
mit Loom-Query
KQML- Message mit Informatione
n
KQML- Message mit Informatione
n
Informationssammler
Kommunikation der Agenten
(retrieve (?port_name ?ship_type)(:and (seaport ?port)
(port_name ?port ?port_name)(has_channel ?port ?channel)(channel_depth ?channel ?depth)(ship ?ship)(vehicle_type ?ship ?ship_type)(max_draft ?ship ?draft)(> ?depth ?draft)))
Beispiel einer Loom-Abfrage:
Parameterliste
Beschreibung der gewünschten Information
Informationssammler
Bearbeiten von Abfragen
• Keine umgehende Ausführung von Anfragen
• Vorgehen:
• Auswahl der Informationsquellen
• Erstellen eines Abfrage-Plans
• Abfrageoptimierung
• Ausführung der Anfrage
Informationssammler
Bearbeiten von Abfragen
Unterteilung der Verarbeitung von Anfragen:
• Ziel
• Anfangszustand
• Operatoren
Informationssammler Beispiel eines Planungsziels in Loom:
(available output sims(retrieve (?port_name ?ship_type)
(:and (seaport ?port)(port_name ?port ?port_name)(has_channel ?port ?channel)(channel_depth ?channel ?depth)(ship ?ship)(vehicle_type ?ship ?ship_type)(range ?ship ?range)(> ?range 10000)(max_draft ?ship ?draft)(> ?depth ?draft))))
Bearbeiten von Abfragen
Informationssammler
Bearbeiten von Abfragen
((source-available Naval_Agent isd12.isi.edu) (source-available Harbor_Agent isd14.isi.edu) (source-available Port_Agent isd14.isi.edu))
Beispiel eines Anfangszustandes in Loom:
Bearbeiten von Abfragen
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
• Agent benutzt Operatoren zur Auswahl der Informationsquellen:
• Operator der Informationsquellenauswahl
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
Domain–Level Query:
(retrieve (?port_name ?depth)(:and (seaport ?port)
(port_name ?port ?port_name)(geoloc_code ?port ?geocode)(channel ?channel)(geoloc_code ?channel ?geocode)(channel_depth ?channel ?depth)))
Source-Level Query:
(retrieve (?port_name ?depth)(:and (harbor_agent.harbor ?port)
(harbor_agent.port_nm ?port ?port_name)(harbor_agent.glc_cd ?port ?geocode)(harbor_agent.channel ?channel)(harbor_agent.glc_cd ?channel ?geocode)(harbor_agent.ch_depth_ft ?channel ?depth)))
Anwendung des Auswahloperators in Loom:
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
• Agent benutzt Operatoren zur Auswahl der Informationsquellen:
• Operator der Informationsquellenauswahl
• Konzept-Verallgemeinerungsoperator
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
• Agent benutzt Operatoren zur Auswahl der Informationsquellen:
• Operator der Informationsquellenauswahl
• Konzept-Verallgemeinerungsoperator
• Definitions-Ersetzungs-Operator
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
(retrieve (?port_name ?ship_type)(:and (seaport ?port)
(port_name ?port ?port_name)(geoloc_code ?port ?geocode)(channel ?channel)(geoloc_code ?channel ?geocode)(channel_depth ?channel ?depth)(ship ?ship)(vehicle_type ?ship ?ship_type)(range ?ship ?range)(> ?range 10000)(max_draft ?ship ?draft)(> ?depth ?draft)))
Anwendung des Ersetzungsoperators in Loom:
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
• Agent benutzt Operatoren zur Auswahl der Informationsquellen:
• Operator der Informationsquellenauswahl
• Konzept-Verallgemeinerungsoperator
• Definitions-Ersetzungs-Operator
• Konzept-Spezialisierungsoperator
Informationssammler
Bearbeiten von Abfragen- Auswahl der Informationsquellen -
Informationssammler
Bearbeiten von Abfragen- Erstellen eines Abfrageplans -
• Planerstellung vor Ausführung einer Abfrage
• Hierzu: Datenmanipulations-Operatoren
• Move
• Join
• Retrieve
• Select
• Compute
• Durch Schätzfunktion Plan geringster Kosten
Informationssammler
Bearbeiten von Abfragen- Erstellen eines Abfrageplans -
(retrieve harbor_agent (?port_name ?depth) (and (harbor ?port) (port_nm ?port ?port_name) (select (move (glc_cd ?port ?glc_cd) harbor_agent harbor_agent (channel ?channel) isd12.isi.edu) local) (glc_cd ?channel ?glc_cd) (ch_depth_ft ?channel ?depth)))
(join (< ?draft
?depth)(retrieve naval_agent (?ship_type ?draft) (and (ship ?ship) (select (move (sht_nm ?ship ?ship_type) naval_agent naval_agent (range ?ship ?range) isd14.isi.edu) local) (> ?range 10000) (max_draft ?ship ?draft)))
Beispiel eines Bearbeitungsplanes in Loom:
Informationssammler
Bearbeiten von Abfragen- Gleichzeitiges Planen und Ausführen -
Der Agent kann gleichzeitig Prozesse ausführen und andere Prozesse planen.Hierzu notwendig:interne Liste aller laufende Aktionen
Aktion beendet
wenn korrekt, als fertig markieren
wenn fehlerhaft, Plan neu erstellen
Informationssammler
Bearbeiten von Abfragen- Gleichzeitiges Planen und Ausführen -
Der Agent kann...
• Anfragen annehmen und planen, während er andere ausführt.• bei Fehlern den Plan umstellen ohne laufende Abfragen zu unterbrechen.• selbstständig weiter Informationen für den Abfrageprozess einholen.
Informationssammler
Bearbeiten von Abfragen- Semantische Abfragenoptimierung -
• Es existiert eine Reihe semantischer Regeln.• Diese stellen Wissen dar, mit dem Abfragen verändert werden können.• Ziel:
• Zahl der Unterabfragen minimieren
• Zwischendaten gering halten
Kosten senken
Informationssammler
Bearbeiten von Abfragen- Semantische Abfragenoptimierung -
Ursprüngliche Abfrage:
(retrieve (?ship-type ?draft)(:and (naval_agent.ship ?ship)
(naval_agent.sht_nm ?ship ?ship-type)(naval_agent.max_draft ?ship ?draft)(naval_agent-range ?ship ?range)(> ?range 10000)))
Semantische Regel:
(:if (:and (naval_agent.ship ?ship)(naval_agent.range ?ship ?range)(naval_agent.fuel_cap ?ship ?fuel_cap)(> ?range 10000)
(:then (< ?draft 12)))
Umformulierte Abfrage:
(retrieve (?sht-type ?draft)(:and (naval_agent.sht_nm ?ship)
(naval_agent.sht_nm ?ship ?ship-type)(naval_agent.max_draft ?ship ?draft)(> ?draft 12)))
Informationssammler • Steigert Genauigkeit und Effizienz
• 3 Arten der Lernens:
• Speicherung häufig gebrauchter oder teuer zu bekommener Informationen
• Ableitung semantischer Regeln
• Abgleich der Agentenmodelle
Der Lernprozess
Informationssammler • Erhaltene Daten sowie Abfrage (als
Beschreibung) werden lokal im Agenten gehalten
• Beschreibung neues Unterkonzept
• Daten Instanzen des Unterkonzepts
• Automatische Berücksichtigung der neuen Informationsquelle bei späteren Abfragen
• Speicherung nur genereller, einfacher Abfragen mit statischem Inhalt
Der Lernprozess- Cachen erhaltener Daten -
Informationssammler • Ausgangspunkt: Auftreten einer teuren
Abfrage
• Selbständige Informationseinholung in nächster Ruhephase des Systems:
• Abfrage wird in äquivalente umformuliert
• Bei Effizienzsteigerung: Ableitung von Regeln
• Übernahme der Regeln in das domain-model
Der Lernprozess- Lernen semantischer Regeln -
Informationssammler
Der Lernprozess- Abgleichen der Agentenmodelle -
Annahme bisher:
vollständige Abstimmung der Modelle auf einander
Aber:
Modelldesigner hatte kein komplettes Verständnis über Semantiken der Informationen.
Autonomie der Agenten bewirkt stetige dynamische Veränderung der Konzepte.
Informationssammler
Der Lernprozess- Abgleichen der Agentenmodelle -
Lösung:
Abgleichen bei Inkonsistenz in drei Schritten.
• Prüfung auf Differenzen
• neue Klassen in domain model aufnehmen
• wenn möglich, durch Lernalgorithmus Beschreibungen des neuen Konzepts ermitteln.
Informationssammler
Der Lernprozess- Abgleichen der Agentenmodelle -
Beispiel:
Ausgangssituation: gleiche Informationen über Seehäfen in Harbor_Agent.Harbor und Port_Agent.Port
Erweiterung des Port_Agent um Informationen über kleine Fischerhäfen.
Jetzt ist Harbor_Agent eine Teilmenge von Port_Agent.
Informationssammler
Der Lernprozess- Abgleichen der Agentenmodelle -
Beispiel - Ausgangssituation:
Informationssammler
Der Lernprozess- Abgleichen der Agentenmodelle -
Beispiel - Angeglichenes Model:
Informationssammler
Fazit
Eigenschaften des Systems
• Modularität
• Erweiterbarkeit
• Flexibilität
• Effizienz
• Anpassungsfähigkeit
Informationssammler
The End
... noch Fragen?