How I Make My First P.O.C

Everything is going really fast since the start of this project. But after only two months of hard work, I start the development of (kind of) the Proof Of Concept (P.O.C) !

I will not explain here what is a Proof Of Concept or what is it for, but I will try to explain how I proceed in my very specific case.

1. State of the art

Since I consider a DCOP algorithm as part of my solution for a long time, I first reviewed a lot of different algorithm, trying to find the best one for my project. I take a look on ADOPT, DPOP, even some specific ones like CoCoA. Finally, I choose the DPOP algorithm (Dynamic Parameters Optimization Problem) which gives me more advantages :
  • It is one of the fastest in the execution time. It is always a nice advantage.

  • All agents are ranked with a DFS Tree which allow agents to organize themselves during the process. 

  • Also, the DPOP algorithm is a 100% decentralized method since all agents executes the same code : there are no “intelligent mediator” to manage them. This is really convenient since the system does not rely on a central process.
Coupled with this research phase, I made my own inquiries about the medical field, and more precisely, nurses work. My objective was to gain enough information about their process to define a clear purpose for my project. And to do so, I needed to understand their needs.

2. Mathematical aspect

With this first step, I define the main goal of my system :
Avoid syringe pump to ring without involving nurses too often”
Now that it was said, it was time to start the tough part : I needed to translate my constraints in a mathematical language in order to transcribe it inside the DPOP algorithm. This is required because the algorithm optimize constraints through a (mathematical) minimizing function. Therefore, I need to describe my constraints as functions. Above are some examples.  
image
For Mi = {m1, …, ml} the set of devices linked to the agent i, if the agent has no devices, then there is no need to call the nurse.
image
This next function transcribe the following constraint : If two agents are in the same geographical area (= they are neighbors), they can eventually synchronize themselves in order to avoid two interventions in a t_synchro laps of time.
To understand those functions, notes that vi is the hypothetical time that remains before the next nurse passage in the room. For instance, if vi = 5, it means that the next passage of the nurse is encouraged in the next 5 minutes. Thus, the algorithm try to find the best vi affectations for each agent i of the system depending on those constraints (by trying to minimize their results).  

3. Hands on keyboard

With those constraints, I finally start to code ! Here is a photo of the current installation.
IMG_1046
I am working with two raspberry pi : each one of them is an agent – which mean that my DPOP algorithm is running on both of them in the same time.
I also have an AVNET Linux server which run a “server” specific code. This process is here to give a kind of Let’s go! signal to all agents. This Let’s go! allow all agents to start the DPOP algorithm in the same time. This is just for implementation. Maybe I will remove it later, when my agents will be more advanced.
For those who are interested, I code this algorithm in Python 3, and my agents/server are communicating with an MQTT Protocol.

3 Things That Inspired Me After #SIdO18

The 4th and the 5th of April 2018, I attented a french IoT Showroom : the SIdO in Lyon. At this occasion, I was able to fall deeper in the IoT World, and the place of the Artificial Intelligence in it. Here is 3 breaknews that I will try to keep in mind :

1. AI & IoT to upgrade our process


Nowadays, Lean Management is a well known method in the industry. It surely helps a lot of companies in their development and in their organisation. But we are now at the beginning of the 4th industrial revolution. This leads to the creation of  “smart factories” over the Internet of Things.

Following that path, it appears that every company is now on its way to the 4.0, but no one has anything concret to show yet. This disability to run projects in production shows a problem in the analysis phase. The new services that those projects will create needs to be considered wisely. The key here is to focus on concrete uses cases that will give real benefits to consumers. This is a trending topic : even in the industrial world, all is about "services" rather then the product itself (customers prefer to use uber instead of their cars for instance !). Take this idea in consideration is part of the challenge !

Therefore, the 4.0 Industry gives two main values for companies :
  • Lower costs and predictive maintenance
  • Improvement of process quality (by using cognitives services that aggregates unstructured and structured datas). For instance, the sound is something becoming more and more important and there are lots of opportunities to explore.
In a way, this mix between IoT and Artificial Intelligence offers a computer science solution in addition with the Lean Management. We can take examples from the Edge AI (e.g. when we get AI directly on devices), which allows us to get better results than the combination Machine Learning - Cloud. Yet we can also take inspiration in the Asset Intelligence which allows us to focus on real industry expert instead of meaningless datas.

The success of industrial projects using those kind of unexpected technologies, is based, once again, on how clearly use cases are defined. The idea is to know exactly to which question we need to answer (through KPI). Also, it’s vital not to forget the human factor. Because bringing Artificial Intelligence (and IoT) in industry is a sensitive task which requires specific attention on a Human and Social aspect (to give a concret example : it needs to be explained to the staff properly, otherwise, the human factor will lead to the reject of the technology which can result in a complete failure for the entire project).

2. AI & IoT : it’s a match !


The Artificial Intelligence is a smart way to revolutionize every business. Not only it can bring more autonomy in connected objects process, but it will mostly give them the ability to adapt themselves to situations with no human interventions.

I believe that the couple AI - IoT can change our lives because their are opening new opportunities : we are now able to solve (previously unsolvable) problems with Artificial Intelligence. We are already seeing it in fields were AI was not expected : construction of aircrafts, fridges, tractors, and so on… Those successful examples happened with a good collaboration between customers and developpers.

The main goal of IoT here, is to provide to Artificial Intelligence good datas. By “good datas” I mean : a qualitative data that can be potentially usefull now or in the future. On a technical perspective, sensors are smaller every day and can retrieve more and more datas. Therefore, the question is not “What information can I get ?” but “How can I get this information”. Thus, we only need to focus on the data management (storage, cleaning, …).

In any project, it is clear that the data is very valuable because it helps algorithms/AI to understand specific scenarios. But to obtain sustainable results, we need to be sure that our datas doesn’t provide too much bias, which is very difficult and can lead to unexpected costs.

3. AI & Medical, is the new sexy !


In a different context, the medical field interests me since the beginning of my new project. Nowadays, integrating Artificial Intelligence to that field can seem quite difficult considering the current political and ethical climate. But it’s also a domain that inpires a lot ! A lot of little (r)evolutions are on their way. We can classify medical innovations in 5 technological groups :
  • The telemedecine (Artificial Intelligence prescribing medications, medical web forums, …)
  • The Big Data use (Which gives a better understanding of the patient and his environment)
  • The augmented reality
  • The augmented patient (with an artificial heart for instance)
  • The augmented surgeon (example)
Those fields are encouraging for the improvement of cares. For instance, human relations can be an obstacle to the diagnosis just because the patient doesn’t use the same vocabulary as the doctor. Also, doctors and nurses can be overwhelmed in their duty. We can find many other problems that shrink patient cares services !

As a response to all those issues, a first idea is to try to use datas in combination with Artificial intelligence (through Machine Learning and Data Science). If this solution is quite “basic” and common, it can surely improve the doctor’s listening time, which will lead the domain to a more human direction. 

Conclusion


I will say that we already are in a self-appropriation process with Artificial Intelligence, and it is no longer an utopian subject. There are more and more intelligent systems around us (Siri, Self-Drive Cars, Machine Learning marketing process, …). But in the end, those programs need to be a smarter mix between intrustion and the interest it brings in our lives. Indeed, the integration of Artificial Intelligence in our products/services is a quite sensitive aspect that we need to focus on.

IoT and Artificial Intelligence are a great match together, but it surely raises more and more difficulties that we need to keep in mind if we want to bring more evolutions to our lives. 

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...