GithubHelp home page GithubHelp logo

imas-mai's Introduction

IMAS-MAI

Introduction to Multiagent Systems project (Master in Artificial Intelligence)

Instructions for executing our system in Windows:

  1. Compile the agents:
    javac -classpath lib\jade.jar;lib\weka.jar -d src\out\production\IMAS_test\ src\src\agents\*.java src\src\behaviours\*.java src\src\utils\*.java

  2. Execute Jade with User Agent (the rest will be created dynamically):
    java -cp lib\jade.jar;lib\weka.jar;src\out\production\IMAS_test\ jade.Boot -gui -agents user:agents.UserAgent

  3. Use the command line to train or predict:
    USAGE: T <config_file> | P
    Example: T imas.settings

Instructions for executing our system in Linux:

  1. Compile the agents from the folder IMAS-MAI:
    javac -cp lib/jade.jar:lib/weka.jar -d src/out/production/IMAS_test/ src/src/agents/*.java src/src/behaviours/*.java src/src/utils/*.java

  2. Execute Jade with User Agent (the rest will be created dynamically):
    java -cp lib/jade.jar:lib/weka.jar:src/out/production/IMAS_test/ jade.Boot -gui -agents user:agents.UserAgent

  3. Use the command line to train or predict:
    USAGE: T <config_file> | P
    Example: T imas.settings

imas-mai's People

Contributors

albertrial avatar danfoa avatar joanllop avatar jordiae avatar kayandtheblack avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

kimmel-

imas-mai's Issues

Classifier Agent

Write the code and interface for the classifier agent.
Define the interface for communication in the wiki.

First theorical delivery

We are tasked with the characterisation of the agent and its environment. It is due the 23/11.

Acceptance criteria:

  • A wiki page is created that explores the possibilities / decisions taken regarding this delivery.
  • A pdf report is written with the information of the wiki page, but more detailed, and is uploaded to the repository.
  • A pdf slideshow is made for the oral presentation.

Manager Agent

Write the code for the Manager agent.
Define the interfaces for communication for the rest of agents.

Dynamical creation of Agents

Find a way to instantiate agents in the code, so as to have a way to call the platform (better if no need to call the GUI).
Create the class / entrypoint, modify the project to set it as the default run mode.

Complement FIPA request protocol

Once Manager is instantiated, both agents should communicate feedback on the correct creation and recipient of the simulation configuration parameters.

The same goes for the classifier agent.

Test System

  • Create different example cases.
  • Test them in order to see the performance of the system and find bugs.

User Agent

Write the code for the User Agent.
Define interfaces for agent communication.
Define interfaces for platform communication (Train and test buttons).

Devise way of using properties

Get a method / way to allow access to the run properties (as defined by the statement) to all the agents.
Manager/Classifier should get access to the properties agent.

Process Training and Prediction results in User Agent

At the moment the User-Agent is not doing anything with the results of the training and prediction, we should consider what to do in both cases:

  • Training Result: User-agent should await for training done confirmation to ask again the human user for another input request.

  • Prediction: The UserAgent could provide:

    • Metrics of performance for each of the classifier
    • Graphs of outcome
    • Something more?

Migrate Simulation Configuration parameters sharing between agents to sharing of a Serializable Object

A new way of propagating the simulation configuration parameter through the agents was developed on the user agent, which uses an instance of the class SimulationConfig as an implementation of the Serializable interface to be communicated with an ACLmessage.

The object can be deserialized from the message instance with the following lines:

SimulationConfig simulationConfig;
try {
    simulationConfig = (SimulationConfig) msg.getContentObject();
} catch (UnreadableException e) {
    myLogger.log(Logger.SEVERE, "Agent "+getLocalName()+"Error with configuration file " +
            e.getMessage());
}

Voting in Manager

Implement voting mechanism to choose the solution sent by the classifiers.

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.