560 likes | 717 Views
Schwerpunkt-Seminar im SS2001. Verteiltes Planen und Lösen von Problemen. Motivation für verteiltes Planen und Lösen. Erhöhte Verarbeitungsgeschwindigkeit durch Parallelbearbeitung Aufteilen von Kompetenzen und Problemlösungsfähigkeiten (Spezialisierung)
E N D
Schwerpunkt-Seminar im SS2001 agent based computational economics
Motivation für verteiltes Planen und Lösen • Erhöhte Verarbeitungsgeschwindigkeit durch Parallelbearbeitung • Aufteilen von Kompetenzen und Problemlösungsfähigkeiten (Spezialisierung) • Gemeinsame Nutzung von verteilten Datenbeständen • Leichtere Aufteilung der Ergebnisse der Verarbeitungsprozesse möglich
Beispielprobleme • Tower of Hanoi (ToH) • Distributed Sensor Network Establishment (DSNE) • Distributed Vehicle Monitoring (DVM) • Distributed Delivery (DD)
Verteile Aufgabenlösung • Zerlegung • Zuweisung • Erledigung • Ergebnissynthese
Aufgabenzerlegung beim ToH–Problem II Rekursive Zerlegung: • Stochastische Zuweisung der Teilaufgaben an freie identische Agenten • Zerlegung des Problems beendet, wenn Start- und Zielzustände gleich • Ergebnis liegt vor, wenn alle Teilaufgaben an den Start-Agenten zurückgegeben wurden • Mittel zum Zweck Heuristik reduziert die Komplexität drastisch von bn auf O(log n)
Aufgabenzerlegung beim ToH–Problem III Zerlegung ist nur effektiv, wenn: • Teilprobleme unabhängig lösbar sind • Hierarchische Annäherung optimale Lösung garantiert • Zahl der Abstraktionsebenen mit Problemgröße wächst • Verhältnis von Abstraktionsebenen zueinander log k beträgt • Problem in gleichgroße Unterprobleme zerlegt werden kann • Mindestens so viele Agenten wie Unterprobleme existieren • Problemzerlegung und Ergebniszusammenfassung vernachlässigbar wenig Zeit beanspruchen
Aufgabenzerlegung in heterogenen Systemen • Aussenden der Kontraktbereitschaft an alle Teilnehmer • Wiederholung des Kontraktangebots nach einiger Zeit • Ankündigung der Änderung des Kontraktangebots falls erforderlich • Alternative Zerlegungen sollten vom Kontraktbroker erarbeitet werden
Aufgabenzerlegung für das DSNE–Problem • Übertragung mit Contract-Net Protokoll • Spezifikation nach Eignung für die Aufgabe • Aufgabenabstraktion • Angebotsspezifikation • Regionale Differenzierung
Zerlegung für interdependente Aufgaben • Agent koordiniert Unteraufgaben • Untergeordnete Aufgaben werden in Abhängigkeit vom Gesamtfortschritt ausgelöst • Auflösen der strengen Zeitabhängigkeiten durch das Erzeugen von Aufgabenklassen und das Erkennen und Ausnutzen von Parallelität
Gemeinsame Verwaltung der Ergebnisse I Erhöhen der Gruppenleistung durch • Zuverlässigkeit • Vollständigkeit • Genauigkeit • Pünktlichkeit • Funktionell exakte Zusammenarbeit • Wiederholter Austausch von Teillösungen durch die Agenten • Partialhypothesen konkurrieren miteinander: z.B. Tafelsysteme • Iterative Verbesserung der Teillösungen
Gemeinsame Verwaltung der Ergebnisse II Probleme • Agenten tendieren zu den selben Lösungsansätzen • Sehr hoher Kommunikationsaufwand
Gemeinsame Ressourcennutzung und verhandlungsbasierte Suche I • Gemeinsamer Aufbewahrungsort für Teillösung • Agenten bewerten vorgeschlagene Teillösungen nach verschiedenen Kriterien • Verwandtschaft zum „Verteilten Bedingungserfüllungsproblem“ (DCSP = Distributed Constraint Satisfaction Problem) • Zwei Unterschiede • Agenten kennen nicht die Zuordnung: Agent/Restriktion • Restriktionen können von Agenten in Maßen relaxiert werden
Gemeinsame Ressourcennutzung und verhandlungsbasierte Suche II Lösungsansatz: Verhandelte Suche mit den Operatoren • Lösung initialisieren • Lösung erweitern • Lösungen kritisieren • Lösungsanforderungen lockern
Verteilte beschränkte heuristische Suche (DCHS) I Wettbewerb der Agenten um Ressourcen • Marktorientierte Programmierung • Berechnung der aggregierten Kapazitäten der Ressourcen und Konfliktlösung mit DCHS
Verteilte beschränkte heuristische Suche (DCHS) II Ablauf von DCHS • Aufstellen einer Problemtopologie durch den Agenten • Bei Auftreten von Konflikten: Rückverfolgung der Ursachen, sonst Berechnen und Senden eines Ressourcenanforderungsprofils • Bei Start oder bei Änderung: Senden des Ressourcenanforderungsprofils • Ressource berechnet aggregierten Bedarf und informiert nachfragende Agenten
Verteilte beschränkte heuristische Suche (DCHS) III • Agent benutzt aggregierte Nachfrage um seinen Ressourcenbedarf nach Präferenzen zu ordnen • Agent fordert Reservierung für Zeitintervall bei Ressource an • Ressource garantiert Reservierung falls möglich und aktualisiert Ressourcenbelegungsplan, anderenfalls erfolgt Ablehnung • Agent verarbeitet Antwort der Ressource: Erneute Anfrage bei anderen Ressourcen oder Einplanung der aktuellen Ressource für die Aufgabenbearbeitung
Organisatorische Strukturierung verteilten Planens • Agententopologie sollte mit Kommunikationsstruktur übereinstimmen • Vermeiden von sich überschneidenden Verantwortlichkeiten • Vermeiden von unnötiger Kommunikation durch Hierarchisierung • Strukturierungsproblem: Komplexes Suchproblem bzw. Top–Down Entwurfsproblem
Kommunikationsstrategien • Nicht statisch wie Organisationsstruktur • Timing ist entscheidend für den Wert der Kommunikation • Intensität der Kommunikation • Zu gering: Redundanzen entstehen • Zu hoch: Blockierung der Aktivitäten • Abwägung zwischen angeforderter Kommunikation und unangeforderten Nachrichten • Strategie zur Vermeidung von Überkommunikation: Abschätzung der Wirkung einer Nachricht durch den Agenten
Aufgabenstruktur Aufgabenstruktur beeinflusst • Topologie des Agentensystems • Informationsstruktur
Verteiltes Planen I • Zentrales Planen für verteilte Pläne • Verwandtschaft zu verteiltem Problemlösen • Verteiltes Planen für zentrale Pläne • Verteiltes Planen für verteilte Pläne
Verteiltes Planen II Verteiltes Planen für zentrale Pläne • Vorgehen • Erstellen des Grundplans unter Berücksichtigung Planziels, Initialisierungszustands, der Menge von Lösungsoperatoren • Zerlegung des Grundplans in Teilpläne • Einführen von Synchronisation für die Teilpläne • Zuweisung der Teilpläne an Agenten • Grad der Zerlegung hängt von den Interdependenzen des Plans, Synchronisations- und Kommunikationsbedarf ab
Verteiltes Planen III Verteiltes Planen für verteilte Pläne • Planzusammenfügung • Verschiedene Agenten erzeugen unabhängig ihre Teilpläne • Pläne werden auf die Erreichbarkeit aller Systemzustände hin überprüft
Verteiltes Planen IV Verteiltes Planen für verteilte Pläne • Analyse der Interdependenzen der Teilpläne A und B durch Sicherheitsanalyse der Planungssituation, jeweils für die parallelen Aktionen A i und B j • Der Beginn der Ausführung einer Aktion A i und B j ist unsicher, wenn eine der vorausgehenden Aktionen unsicher ist • Der Beginn von Aktion A i und das Beenden von Aktion B j ist unsicher, wenn die Beendigung von Aktion A i und B j unsicher ist • Das Beenden von Aktion A i und B j ist unsicher, wenn für beide dir Vorgängersituationen unsicher sind.
Verteiltes Planen V Verteiltes Planen für verteilte Pläne • Unterteilung der Teilpläne in synchronisations-bedürftige und nicht synchronisationsbedürftige Sequenzen • Synchronisierung der Teilpläne A und B zu einen Gesamtplan
Verteiltes Planen VI Iterative Planerstellung • Vorgehen: • Zuweisung von Zielen an die Agenten • Agenten erstellen lokale Pläne • Austausch und Kombination der lokalen Pläne • Festlegen von Zeitzielen für Aufgabenbearbeitung und Kommunikation zur Auflösung von Interdependenzen • Wiederholen des Prozesses und verbessern der Teilpläne bei geänderten Umweltbedingungen
Verteiltes Planen VII Kombinatorische iterative Planerstellung • Vorgehen: • Erstellung einer Menge anwendbarer Planvorschläge • Sortieren und bewerten mit der A*–Heuristik • Auswählen der besten Lösung • Wiederholen des Prozesses, wobei von den Agenten neue Planvorschläge basierend auf der besten Lösung gemacht werden
Verteiltes Planen VIII Verteiltes hierarchisches Planen • Vorgehen: • Untersuchen der Teilpläne auf Gemeinsamkeiten durch einen Kritiker-Agenten • Repräsentation von Teilplänen durch Alternativpfade in einer Netz-Planrepräsentationsstruktur • Kritiker-Agent entscheidet welcher Teilplan angewendet wird
Verteiltes Planen IX Hierarchische Verhaltensraumsuche • Vorgehen: • Äußere Schleife: • Entscheidung auf welchem Abstraktionsniveau geplant wird • Entscheidung ob Konfliktlösung auf diesem oder einem anderen Niveau erfolgen soll • Innere Schleife: • Vorgehen nach DCSS zur Konfliktauflösung
Verteiltes Planen X Beispiel: Distributed Delivery • R1 und R2 suchen nächsten Weg durch die Tore • Konflikt an oberen Tor (nächster Weg für R1 und R2, evtl. treffen beide gemeinsam an Tor ein)
Verteiltes Planen XI Lösung: • Bearbeitung des Problems auf verschiedenen Hierarchiestufen • Zeitliche Zerlegung • Örtliche Zerlegung
Verteiltes Planen XII Verhandlungslösung für verteiltes Planen • Entscheidungsproblem der Agenten: • Strategien zur Bestimmung von Plankonflikten • Festlegen der Restriktionen zur Konfliktvermeidung • Voraussetzung: • Zusammenarbeit der (eigennützigen) Agenten
Verteiltes Planen XIII Darstellungsformen verteilten Planens I • Fähigkeit über Aufgaben, Lösungen und Ziele zu kommunizieren • Protokolle: z.B. KQML, KIF, Contract-Net • Sprechaktbasierte Hochsprachen: Trennung von Inhalt und Protokolldefinition • Plandefinitionssprachen: z.B. STRIPS, SRI
Verteiltes Planen XIV Darstellungsformen verteilten Planens II • Zusammensetzung eines Definitionsfeldes zur Planbeschreibung (ACT) in SRI • Name: Bezeichnung des Plans • Aufruf: Ziele die ACT für den Plan erfüllen kann • Vorbedingungen: Eigenschaften des Weltzustands die für den Plan erfüllt sein müssen • Einstellungen: Eigenschaften des Weltzustandes die an ACT Variablen gekoppelt sind
Verteiltes Planen XV Darstellungsformen verteilten Planens III • Zusammensetzung eines Definitionsfeldes zur Planbeschreibung (ACT) in SRI • Ressourcen: Werden während der Ausführung von ACT gebraucht • Eigenschaften: Andere benötigte Definitionen zur Ausführung von ACT • Kommentar: Informationen zur Dokumentation • Entwurf: Teilweise geordnete Sequenzen von Zielen und Aktionen
Verteiltes Planen XVI Darstellungsformen verteilten Planens IV • Andere Planungssprachen basierend auf Temporärlogik und operationalen Formalismen: z.B. Petri Netze
Verteiltes Planen XVII Verteiltes Planen und verteilte Aufgabenausführung • Koordination von Nachplanungsprozessen • Auslöser • Umweltänderungen während der Ausführungszeit • Fehlgeschlagene Ausführung von Einzelprozessen • Planung für Notfälle • Ausweichpläne • Zyklisches Planen, Koordinieren, Ausführen • Schadensbehebung auf unteren Hierarchieebenen
Verteiltes Planen XVIII Verteiltes Planen und verteilte Aufgabenausführung • Koordination von Planungsvorbereitungsprozessen • Definition von sozialen Richtlinien • Abwägung: Anreiz, Inhibition • Anleitung zur Zusammenarbeit: Kooperative Zustandsänderungsregeln
Verteiltes Planen XIX Verteiltes Planen und verteilte Aufgabenausführung • Gemischte Planungs-, Koordinations- und Ausführungsphasen I • Verteiltete Gesamtpläne (Partial Global Plans) • Aufgabenzerlegung: hierarchisch und redundant • Formulierung von lokalen Plänen: kein Agent hat Gesamtüberblick • Abstraktion der lokalen Pläne: keine unnötigen Details • Kommunikation: Kommunikationswissen ist auf Metaebene vorhanden
Verteiltes Planen XX Verteiltes Planen und verteilte Aufgabenausführung • Gemischte Planungs-, Koordinations- und Ausführungsphasen II • Ziele des verteilten Gesamtplans identifizieren: was muss welcher Agent wissen um das Gesamtziel zu erreichen (Erfolgt durch iteratives und rekursives Ordnen der Teilziele) • Erstellung und Modifikation von verteilten Gesamtplänen: Aufstellen einer Zielereichungsfunktion und iteratives optimieren der erstellten Teilpläne mit Hilfe der Evaluierungsfunktion • Kommunikationsplanung: Erstellen eines Kommunikationsbaums, wobei der für die Synthese des Endergebnisses zuständige Agent in der Wurzel sitzt
Verteiltes Planen XXI Verteiltes Planen und verteilte Aufgabenausführung • Gemischte Planungs-, Koordinations- und Ausführungsphasen III • Handeln nach verteilten Gesamtplänen: Sortieren der parallelen Prozesse auf den Hierarchieebenen und transformieren auf die unterste Ebene • Permanente Modifikation von verteilten Gesamtplänen: Überwachen der Planausführung auf Abweichungen und reagieren auf verschiedenen Hierarchieebenen (Problem: Sensitivität) • Neuverteilung von Aufgaben: Neuverteilung der Lasten bei Fehlallokation durch Ausfällen oder Umweltänderung
Verteiltes Planen XXII Verteiltes Planen und verteilte Aufgabenausführung • Ablaufplanungskoordination ohne Kommunikation • Beobachtungsbasierte Plankoordination • Beobachtung der Aktionen der anderer Agenten • Hypothesenbildung über ihre Pläne aus der Beobachtung • Mittelpunktsbasierte Planung • Agenten machen sich ein Bild von der Ratio anderer Agenten • Aus der Ratio werden Rückschlüsse auf deren Pläne gezogen
1. Thema: Charakterisierung von Software-Agenten • Anforderungen an einen Agenten • Differenzierung zwischen Softwareprogramm und Agent • Lernfähigkeit von Agenten • Erstellung einer Taxonomie von Agenten
2. Thema: Charakterisierung von Agenten in der ökonomischen Theorie • Spannungsfeld: Neoklassiker Neo-Keynesianer • Informationsbündel werden auf Preise abgebildet • Intermediation des Preises als zentrale Rolle in allen ökonomischen Prozessen • Lernfähige Agent in einem Informationsdiffusionsmodell • Hayeks philosophische Sicht auf die Verteilung von Kenntnissen • Andere ökonomische Sichtweisen auf Wissensrepräsentation
3. Thema: Multiagentensysteme auf Basis ökonomischer Theorien • Distributed Artificial Intelligence (DAI): • Multiagentensysteme bestehen aus Agenten als in Software realisierten, autonom planenden Artefakten • Ökonomische Theorie: • Multiagentensysteme bestehen aus ökonomischen Agenten mit individuellen Nutzenfunktionen • Ähnlichkeit der beiden Gebiete ist deutlich • Wie können ökonomische Theorien die Gestaltung von Multi(software)agentensystemen beeinflussen • Welchen Einfluss besitzt die Spieltheorie bei der Entwicklung von Verhandlungsprotokollen in Multi(software)agentensystemen?
4. Thema: Konzipierung und Implementierung eines Agenten • Agentenplattform SWARM bietet Möglichkeit emergente Agentensysteme relativ einfach zu Implementieren • Bereits bestehende ökonomische Simulationen mit SWARM sollen analysiert und dargestellt werden • Eine einfache Applikation sollte in SWARM programmiert und die Erfahrungen damit den anderen Seminarteilnehmer nahegebracht werden