Self-organized and complex patterns of behavior are common in many biological networks, where no single agent is in command and yet forms of self-organization and decentralized intelligence are evident. Examples include fish joining together in schools, birds flying in formation, bees swarming towards a new hive, and bacteria diffusing towards a nutrient source. While each individual agent in these biological networks is not capable of complex behavior, it is the combined coordination among multiple agents that leads to the manifestation of sophisticated order at the network level. The study of these phenomena opens up opportunities for collaborative research across several domains including economics, life sciences, biology, and information processing, in order to address and clarify several relevant questions such as: (a) how and why organized behavior arises at the group level from interactions among agents without central control? (b) What communication topologies enable the emergence of order at the higher level from interactions at the lower level? (c) How is information processed during the diffusion of knowledge through the network? And (d) how does mobility influence the learning abilities of the agents and the network? Several disciplines have been concerned in elucidating different aspects of these questions including evolutionary biology, animal behavior studies, physical biology, and even computer graphics. In the realm of signal processing, these questions motivate the need to study and develop decentralized strategies for information processing that are able to endow networks with real-time adaptation and learning abilities. This tutorial examines several patterns of decentralized intelligence in biological networks, and describes powerful diffusion adaptation and learning strategies that are able to model and reproduce these kinds of behavior.
Although biological networks provide inspiration for the design of powerful engineered networks, the resulting theory and algorithms will be applicable to a broader context including machine learning applications, distributed optimization problems, and cooperative processing designs. The material presented in this tutorial can be used to design general cognitive networks that possess adaptation and learning abilities. Cognitive networks are defined as consisting of spatially distributed agents that are linked together through a connection topology. The topology may vary with time and the agents may also move. The agents cooperate with each other through local interactions and by means of in-network processing. Diffusion adaptation strategies are embedded into the nodes and allow them to perform various distributed tasks rather effectively. Such cognitive networks are well-suited to perform decentralized information processing and inference tasks. They are also well-suited to model complex behavior encountered in nature and in social and economic networks. While it is generally possible to find centralized or hierarchical processing mechanisms that can be more accurate in performing a given task, cognitive networks are generally more robust, scalable, adaptable, and resilient. Biological networks provide an excellent example of how resilient cognitive and adaptive networks can be.