Multi agent system using social theories


Keywords
Ovomaltino, artifical-intelligense, data-science, machine-learning, pypi-package, python3, research
License
GPL-3.0+
Install
pip install Ovomaltino==0.0.15

Documentation

Ovomaltino

Latest Version LGPLv3 License Build Status Codecov

What is it?

ovomaltino is a multi-agent system model capable of evolving through sociological concepts and the exposure to an external, unknown and uncontrolled system without the need for a training, standard or previously established objective. It is intended to be a fully integrable and standalone machine learning block, providing a simple and scalable model. it’s born from a scientific research and can be (found here)[https://www.fatecsaocaetano.edu.br/fascitech/index.php/fascitech/article/view/183/142](found here).

Where to get it

The source code is currently hosted on GitHub at: https://github.com/Ovomaltino/Ovomaltino

Binary installers for the latest released version are available at the Python Package Index (PyPI) and on Conda.

# conda
conda install ovomaltino

# or PyPI
pip install ovomaltino

License

GPL-3.0

Getting Help

For usage questions, the best way is to see the Velh-IA Project, which implemented Ovomaltino or search on StackOverflow. In addition, general questions and discussions can also be sent to maintainers.

Usage

Read scientific research article to understand how it really works. However, after to install Ovomaltino, you need to import on your code:

from ovomaltino.ovomaltino import Ovomaltino

So, the next step is to create an ovaltine object passing information from the API. The Ovomaltino organization makes a template API using MongoDB available for use.

mas = Ovomaltino("localhost", 3005, "v1")

Now we have all settings done. So, the next step is load Ovomaltino.

mas.load(
	5, # Number of agents in MAS (Multi Agent System)
	[0, 1, 2, 3, 4, 5, 6, 7, 8], # List of request values of the external environment
	# Dict with all external environment response and 
  # its consequence to the MAS's agents
	{  
	  'WINNER': {'consequence': 0},
		'DRAW': {'consequence': 0},
		'LOSER': {'consequence': -1}
	}
)

Send values to Education social fact on MAS

mas.observe(
	# request values passed to other users of the external environment
	[-1,-1,-1,-1,-1,-1,-1,-1,-1],
	# response passed to other user users of the external environment 
	4,
	# Old value to search
	1,
	# New value to set
	0
)

Interacting with the multi-agent system

# Send a status of external environment to get a action
mas_action = mas.process([-1, -1, -1, 1, -1, 0, 1, -1, 0])

# Save the MAS status
mas_action['save']()

# Rollback if something wrong happened
mas_action['rollback']()

Discussion and Development

Most development discussions take place on GitHub in this repo.

Contributing to pandas

All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome.

A detailed overview on how to contribute can be found in the contributing guide.

If you are simply looking to start working with the pandas codebase, navigate to the GitHub "issues" tab and start looking through interesting issues. There are a number of issues listed under Docs and good first issue where you could start out.