L'intelligence distribuée désigne la mise en commun de la capacité de raisonnement de plusieurs individus afin d'atteindre un but qu'il est impossible ou plus difficile de résoudre sans cette coopération.
Ce concept n'est pas né de l'intelligence artificielle, malgré la part qu'il joue dans ce domaine. Les programmes informatiques à intelligence artificielle distribuée existent, mais ils doivent leur existence à un concept similaire de la nature, comme beaucoup d'inventions humaines.
Le cas le plus flagrant est la colonie de fourmis. Lorsqu'un objet (une pierre, par exemple) apparaît sur le chemin habituel d'une colonie de fourmis, ses individus doivent trouver le moyen le plus simple (et souvent le plus rapide) de contourner ce nouvel obstacle. Les fourmis n'ont ni l'intelligence, ni la taille nécessaire pour savoir s'il vaut mieux passer à droite ou à gauche. Les premières fourmis choisissent alors un côté au hasard. Lorsque ces fourmis arrivent de l'autre côté, les fourmis venant d'en face trouvent statistiquement plus de fourmis venant du côté le plus court (le temps de trajet étant moins long), et grâce à un marqueur odorant, choisissent ce chemin.
Le terme " intelligence en essaim " (en anglais " swarm intelligence "), a été énoncé dans le contexte de systèmes artificiels par Gerardo Beni en 1989 (Proceedings of the Seventh Annual Meeting of the Robotics Society of Japan).
Le concept était alors défini de la manière suivante : " Swarm Intelligence is a property of systems of non-intelligent robots exhibiting collectively intelligent behavior. ". En d'autres termes, " L'intelligence en essaim est une propriété de systèmes de robots non-intelligents qui montrent collectivement un comportement intelligent ".
Dans un réseau ambiant, les processeurs et leurs logiciels se diffusent dans les objets au-delà de la notion conventionnelle de nos ordinateurs actuels. Ces objets potentiellement minuscules, devront être capables d’exploiter de grandes quantités de données, peu structurées et tout cela dans un contexte de connexions de moins en moins figées -hyper-mobilité oblige- voire peu sûres.
Ces systèmes d’information exigent une nouvelle approche de la programmation sur laquelle pèsent de nouvelles contraintes (extrême variété des équipements, mobilité, format de données radicalement nouveaux, fonctionnements dégradés des connexions, obligation de certification du logiciel,...).
Les fondements des codes de demain, c'est-à-dire les programmes des applications d'intelligence distribuée reposent sur trois principes :