Think Fast, Think Distributed !

Since I need to implement an Artificial Intelligence program to complete my next project, I decided, quite quickly, to turn myself towards Multi-Agent Systems.
Of course, I could go for Machine Learning and other connexionist possibilities. Those are possibilities that I do not exclude, but here is the thing : I want to achieve this project as soon as possible. I can not wait years to obtain enough data from devices to perform a Data Science model. Also, the main idea is to provide a system able to “manage” a possible important number of devices at the same time. To do so, I need a more solid approach then a statistic algorithm. Therefore, I opted for a Multi-Agent system.

What is a Multi-Agent System ?

The idea of a Multi-Agent System (MAS), is, like the name is suggesting it, to create a set of agents, to put them in a specific environment and to define their interactions amongst themselves or within the environment.
The entity that we call agent, is the major actor of our system. Despite appearances, an agent can be self-sufficient or not. (Keep in mind that the agent can be a robot, a process, or even a human ! This is the global system that matters.)
MAS has already prove it efficacity in the modelling of Collective and Distributed Intelligence : this field is directly inspired by studies of social behaviors and Bio-Inspired Systems (like ants or bees).

Why should I distribute the Intelligence ?

If we speak about intelligence, it is quite easy to end up talking about knowledge. Following this notion, how do we inject knowledge in a simple program ? Different ways have proved their worth using for example the semantics of the knowledge.
The distribution of the intelligence is made through the creation of a social organization inside the system. This lies on the idea that knowledge is not just cognitive, but also social
Therefore, distribute intelligence gives two main advantages :
  • It gives the system a kind of multi-expertise aspect that can resolve problems through various means.
  • It allows the system to deconstruct a big problem into several little ones that will be resolved in parallel. This makes the resolution easier in addition to makes it faster.

The real application

Since my project is to put intelligence in a medical device network, I want to incorporate a distributed intelligence for reasons explain above. More precisely, I want to include a Distributed Contraint Optimization Problem (DCOP).
This DCOP choice is quite simple.
Every device within the hospital’s network is connected to a patient (or a room) and add series of specific constraints to the system. The intelligent way to think here, is to detect every room in the medical service that needs an intervention, and then prioritize them (to define which intervention is more important). To do so, the system will include an agent for each room. Each agent will focus on the question “should I call the nurse ?” and will take a decision on its own. Then, all agents of the system will communicate with each other in order to optimize their decision (“should we call the nurse together to limit her moves ?”, “should I wait before calling here since you are in more critical state then me ?”, [and so on …]). Conditions to satisfy are defined as mathematical constraints. That way, the problem can be brought back to a classic constraint optimization problem.











A Pleasant Way To End Up A Double Degree

Almost a year ago, I took the risk to begin a new Artificial Intelligence degree while finishing my Computer Science Engineering one. Not only it was a challenge for me, but it was also an opportunity for me to get closer to this innovative field.
After hard work and no regrets, I end up starting my final internship for VISEO Technologies in Lyon (France). Today, the company (should I say Vincent ?), is giving me the opportunity to challenge myself on an innovative project mixing IoT and Artificial Intelligence.
The idea of this project is to create an intelligent computer system able to manage medical eletronic devices in a hospital departement. More specificly, I focus my study on the simplest devices (like a syringe pump).

But, For What Purpose ?

A nurse can spend between 5 and 10% of her day managing those devices. This is a really huge amount of time since a single patient can use up to 7 syringe pump at the same time (!). Every device is configured to work for a specific time depending on its function, on the patient’s condition, … .  The nurse’s job is then to check and refill those devices periodically.
When one of those devices malfunction or if has almost finish its program, it produces a really loud sound in the patient’s room in order to call the nurse for intervention.
Devices sound really often and can then stress them and stress the patient who’s resting. Besides, the nurse needs to come over the patient’s room, notices what is wrong with the device, and sometimes go fetch some medicine in another room and then comes back in the room. This is amplified by the lack of a centralisation system for devices informations (about their states, about the end of their program, and so on…).
Therefore, the main purpose of my project is to combine all the devices informations (and Artificial Intelligence) in order to warn nurses about futur actions.

Do You Really Need Artificial Intelligence For That ?

I think it is just the right approch.
Indeed, those kind of devices are full of underused data just waiting to help nurses in their job ! The Artificial Intelligence will help us to achieve two main goals :
  • First things first, the AI can manage a huge amount of data in addition to be really fast in decision making.
  • Second point, I have a good feeling on the idea that a system like that will be easily improved and complexified (which could lead us to a really powerful system).

So, What’s Next Step ?

After a month of work, I have a better vision of the project But I still need to keep myself updated about what is happening on the Artificial Intelligence planet, but also in IoT (which is not my strenght, for now).
I am really excited about this new mission, that I intend to accomplish ! To do so, I am working in collaboration with M. Vincent THAVONEKHAM in VISEO, M. Samir AKNINE and M. Huan VU who both are researchers in the LIRIS. My goal for now is to find the best AI solution (i.e : the algorithm) to solve this problem and find an optimal way to use it.




Improve the Configuration of Docker Compose with Environment Variables

I recently started working on a new python project (yeah!). This project is really interesting, but the first lines of code are at least a d...