Giter Club home page Giter Club logo

ss22_fp_mapc_gruppe3's Introduction

Mehrschichtige und dezentrale Entscheidungsprozesse in Agentensystemen

Fachpraktikum Künstliche Intelligenz: Multiagentenprogrammierung SS 2022 Gruppe 3
Artificial Intelligence Group, FernUniversität in Hagen, Deutschland

Teilnehmer Gruppe 3:

  • H. Stadler
  • M. Betz
  • P. Heger
  • B. Wladasch

Motivation:

Der Multi-Agent Programming Contest 2022 bildet die thematische Grundlage für die in diesem Repository enthaltenen Agentensysteme. Es handelt sich um zwei Varianten, basierend auf der BDI-Architektur, die das menschliche Denken und Schlussfolgern abstrahiert bzw. nachbildet. Beide Konzepte (Agentensystem V1 bzw. V2) unterscheiden sich konzeptionell durch unterschiedlich stark zentralisierte Entscheidungsprozesse. Ziel des dualen Ansatzes soll sein, die Leistungsfähigkeit beider Varianten zu prüfen und verschiedene Lösungsansätze zu erhalten, die zwischen den Systemen ausgetauscht werden können.

Voraussetzungen:

Die Agentensysteme wurden in der Programmiersprache JAVA implementiert. Um die Agentensysteme auszuführen wird ein JDK >= 17 benötigt.

Programmstart:

Um eine Simulation zu starten wird ein Simulationsserver benötigt. Die Agentensysteme können mittels java -jar group3-2022-1.0-jar-with-dependencies.jar gestartet werden. Es ist darauf zu achten, dass sich im aktuellen Arbeitsverzeichnis ein Konfigurationsordner befindet. Eine Beispielkonfiguration kann dem conf Ordner im Hauptverzeichnis dieses Repositories entnommen werden.

Nachdem das Agentensystem gestartet wurde, kann die Agentenversion gewählt werden. Es stehen folgende Agenten zur Auswahl:

  • BdiAgentV1
  • BdiAgentV2

Eine Beschreibung der Agenten kann dem Projektpaper entnommen werden.

Inhalt Repository:

ss22_fp_mapc_gruppe3's People

Contributors

melinda5 avatar h1modeling avatar phil-32 avatar methos76 avatar minimiri avatar

Stargazers

Benjamin avatar

Watchers

 avatar  avatar

ss22_fp_mapc_gruppe3's Issues

Aktuelle Position des Agenten herausfinden falls der move ein "partial-success" war

Hat der Agent eine Maximalgeschwindigkeit < 3, kann die aktuelle Position sicher vorhergesagt werden.
Ist die Maximalgeschwindigkeit >= 3 müssen Thing-Informationen aus dem letzten Step mit den Infos aus dem aktuellen Step verglichen werden. Alternativ können auch andere Agenten zur Problemlösung hinzugezogen werden.

Zu ergänzen in der update Methode der Beliefs Klasse

Navigation Klasse implementieren

Supervisor hält Referenz auf Instanz der Navigation Klasse

  • Agenten schicken Supervisor aktuelle Things, RoleZones und GoalZones percepts
  • Supervisor entpackt percepts und updated Karte über Navigator

Nach Erhalt der Daten aller Agenten in der Gruppe filtert Navigator "Points of interest" und stößt Pathfinding der Punkte an
Resultat wird zurück an Supervisor übermittelt
Supervisor schickt Nachrichten mit dem Ergebnis an alle Agenten in der Gruppe

Logging

Logging implementieren
evtl. getrenntes logging für bestimmte Objekte (z. B. Agenten oder GoupSupervisor) in eigene log-Dateien

Debuggen

evtl. grafischer Debugger (zweite Map)
Java-Lösung vs Erweiterung Servermonitor

Datenstruktur zum Speichern der sichtbaren Karte erstellen

Benötigte Funktionalität:

  • Karten mergen
  • Informationen eines nicht mehr vertrauenswürdigen Agenten löschen
  • Karte mit aktueller Sicht updaten
  • Bereitstellung Informationen für Path-Finding
  • Veränderung initialer Kartengröße nachdem tatsächliche Kartengröße durch Agenten herausgefunden wurde
  • Schnelle Zugriffsoptionen auf Landmarks (Dispenser, Zielregionen, Rollenregionen)

JUnit über Maven einbinden

JUnit wurde über Eclipse eingebunden und ist IDE-Abhängig.
Sollte über Maven eingebunden werden um Arbeit in anderen IDEs zu ermöglichen

Testfolder auch in src verschieben (Standardpfad)

Javadoc in Maven einrichten

Da die Dependencies über Maven verwaltet werden sollte/muss die Javadoc auch über Maven erstellt werden um Zugriff auf die Dependencies zu bekommen

ReachableDispensers verlieren Einträge

Wenn ein Agent neben einem Dispenser steht, verschwindet diese Zelle aus den ReachableDispensers.

Wenn ein Block auf einem Dispenser erscheint, oder ein Agent auf einem Dispenser steht. Dann verschwindet der ganze Dispenser, also alle vier ReachableDispenser-Zellen dieses Dispensers.

Validierung von neuen CellReports

Ist in der Zelle bereits ein Report eines Agenten aus dem gleichen Step mit anderen Informationen enthalten, hat ein Agent eine nicht korrekte Position.

Beide Agenten müssen überprüft werden, am besten mittels einem dritten Agenten.

Zu ergänzen in addReport in GameMap

Kollisionsverhinderung

Methoden zum Freischaufeln
Wann werden Clear-Aktionen ausgeführt
Rettungsaktionen
Fliehen vor Clear-Aktionen

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.