Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger...

Post on 05-Apr-2015

107 views 5 download

Transcript of Informationssammler Software Agenten Agenten zur Informationssammlung Tobias Gerke, Andreas Jäger...

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?