Giter VIP home page Giter VIP logo

tokyramarozaka / mimosa-iriela-extension Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 2.0 15.43 MB

This extension aims to allow agent-based models to account for norms. During plan generation, agents must be able to represent and reason about norms. The end-goal is to be able to describe a planning problem with norms endowed by its organizations through the various roles that the agent must fulfill, and see how it affects its plans.

Java 100.00%
agent-based-modeling agent-based-simulation automated-planning multi-agent multi-agent-systems

mimosa-iriela-extension's Introduction

๐Ÿ–‹ Overview

This extension aims to allow agent-based models to account for norms. During plan generation, agents must be able to represent and reason about norms. The end-goal is to be able to describe a planning problem with norms endowed by its organizations through the various roles that the agent must fulfill, and see how it affects its plans.

A few good lectures on how automated planning works and its core concepts :

Weld, D. S. (2011). AAAI-10 classic paper award: systematic nonlinear planning a commentary. AI Magazine, 32(1), 101-101.

Chapman, D. (1987). Planning for conjunctive goals. Artificial intelligence, 32(3), 333-377.

McAllester, D., & Rosenblatt, D. (1991). Systematic nonlinear planning.

โš™ Tools

This extension requires the following tools :

Java 11 or higher

Maven

Lombok

JUnit 5

The tool is based upon the Partial-Order Planner (POP), which refines a plan until it becomes executable and fulfill all the agent's goals. We start off by having a plan with just the initial and final situation, which will be improved by resolving its "flaws". In addition to the standard types of flaws, we propose three other types of flaws relative to regulativeNorms, and their resolvers.

Missing obligation

Missing prohibition

Missing permission

This will allow agents to have a clear mean to comply / circumvent / violate a norm.

๐Ÿงช Test model

To illustrate the type of problem this tool can solve, we propose a planning problelm for a single agent, named IRIELA, whose goal is to feed his family but is part of a lot of organizations : village.member, exploitation.farmer.

Its possible actions are defined by the organizations it is a part of :

  • move
  • cut
  • fish
  • getLicense

alt text

๐ŸŒ Institutions

In the IRIELA planning problem, a norm MUST belong to some institution. It is then acquired by playing some role inside that institution by organizing which object plays which role and acquire which norms. This is called organization and is the core of our description about norms.

Using a simple, but verbose Kotlin-like syntax, all the institutions inside of the IRIELA planning problem.

alt text

๐Ÿ‘โ€๐Ÿ—จ Syntax overview

To showcase a better grasp of how a planning problem might look like through our upcoming Domain-Specific Language (DSL) which allow to craft such planning problems, here is a snippet of the whole planning problem, including all those who acuquire roles and the norms from the aformentionned institutions.

alt text

๐ŸŽค Contributions

Feel free to reach out to [email protected] or [email protected] if you have any feedback or comments on the current tool. Documentation is coming soon.

mimosa-iriela-extension's People

Contributors

tokyramarozaka avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

ylannaly nyh1409

mimosa-iriela-extension's Issues

POP : total order plan generation is needed

In Pop, when the agent has an executable plan, it still needs to output an instance of that partial order plan. Meaning : a plan respecting all the constraints presented within the plan.

Toy model spatial representation needs discussion

The simplified representation of space in the toy model needs to be discussed. Maybe a grid based spatial system will do ? as of right now I just need something to detect the agent's position and its surroundings for the **move()**action.

evaluateFlaws : flaw resolver byCodenotation does not solve the flaw.

Context

While testing the validation model : we noticed that some open conditions can be resolved only by adding new codenotation constraints. While the operator works as expected, the flaw does not disappear from the flaw set.

What to do ?

Therefore, we must find a way to tweak plan.evaluateFlaws to be able to mark those open conditions as solved.

Example use case

The inRiver(x) can be resolved by selecting any river in the map. Therefore you can add the codenotation that the current x could be equal to some constant (zone), and then the flaw disappears.

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.