Skip to content

Swarm Intelligence

Miguel Tomas Silva edited this page Nov 6, 2023 · 28 revisions

index >> Swarm Intelligence


Swarm intelligence was first introduced by Gerardo Beni and Jing Wang [14] in 1989, in their work “Swarm Intelligence in Cellular Robotic Systems” to define a branch of computational intelligence based on the principles of decentralized self-organization, where a multitude of autonomous machines interact locally and dynamically within their environment and among themselves to achieve emergent, coherent behaviors. Inspired by the intricate patterns observed in the natural behaviors of social organisms like ants, bees, and birds [13,60], swarm intelligence emphasizes the absence of central control and the reliance on simple machine-level rules that lead to the emergence of sophisticated and adaptive collective behaviors. This phenomenon encompasses concepts of adaptability, resilience, and scalability, as it enables the system to effectively respond to environmental changes while maintaining robustness in the face of individual machine perturbations. Five key characteristics that define swarm intelligence are:

  1. There is no central control or master device directing the actions of individual machines. Instead, each machine follows simple rules based on local information.
  2. Complex behaviors and patterns emerge from the interactions between individual machines, without any global plan or pre-determined structure.
  3. Swarm systems are often capable of adapting to changes in their environment or task requirements by adjusting their behaviors based on local feedback.
  4. Swarm systems are generally resilient to failures of individual machines, as the collective behavior can still function effectively even if some machines are removed or compromised.
  5. Swarm systems can be scaled up or down easily, as they do not require centralized coordination and can maintain their efficiency as the number of machines changes.

Swarm intelligence draws upon the idea that complex and intelligent behaviors can emerge from the interactions of simple, individual entities. This concept has inspired various computational and algorithmic approaches that seek to harness the power of collective decision-making and problem-solving. Applications of swarm intelligence can be found in various fields, including robotics, optimization, computer science, and engineering.

The proposed data acquisition hardware electronics, SDAD, is able to connect among each other, in a swarm-like manner using Bluetooth or WIFI mesh communication protocols. The mode of operation is based on the simple principles mentioned above where the collective common objective is the one of doing UFPID validation and authentication using data redundancy and sharing of computational resources.

4.1 Swarm Network Infrastructure

An important consideration to make when prototyping a smart data acquisition device is the network structure, and how smart devices connect and transmit collected sensor data measurements to a database (DB), in particular time dependency in measurements, and how it affects the parameters in an experimental setup when need to be related by time proximity.

When requesting data measurements through a network, there is a time delay known as latency. This delay starts with the time it takes for a smart device's microcontroller unit (MCU) to process the request for sensor measurement and acquire a digital or analog sensor value (Data Acquisition, DAQ). Latency also occurs during the transmission through the RF transmitter to another device (a gateway, access point, or any other) and when the data packet is forwarded over an IP network until delivered to the end-user application for processing. A. Pötsch et al. [16] found end-to-end delays of 400 ms for low transmission distances, and above one second for long transmission distances above 15 km. This poses an additional challenge when synchronizing experimental sensor data values among devices connected to the swarm network.


4.2 Time Synchronization[1]

The two-way method treats the two systems that use it as equal partners in the message exchange. In principle, either partner can initiate the message exchange or both can transmit asynchronously. In practice, digital networks are generally configured in a client-server mode; one system always initiates the exchange and the other responds. The remote client generally initiates the conversation in packet-switched networks. The following discussion will use a client-server model in which the client initiates the conversation. However, the basic method would be unchanged if the roles of the client and the server were interchanged.

The client initiates the conversation by sending a request to the server at time t1 as measured by its local clock. The message is received by the server when its time is t2 and it sends a reply at time t3, where both of these times are measured by the clock on the server. The response reaches the client at time t4 as measured by its clock. The round-trip travel time is given by

$$Δ = (t_4 - t_1)-(t_3 - t_2) (1)$$

where the first term is the total elapsed time for the round-trip message exchange as measured by the client and the second term is the time delay in the server, as measured by its clock, between when it received the request and when it responded. The method assumes that the one-way transmission delay, d, is the same in both directions so that the one-way delay in either direction is given by

$$d=Δ/2 (2)$$

Substituting eq. 1 into eq. 2 and then eq. 2 into eq. 3, the time difference between the client and the server is given by

$$T_CS=(t_1-t_2)/2+(t_4-t_3)/2 (3)$$

where the first term on the right-hand side is the time of the client when the outbound message was received by the server, and the second term is the time of the server at that instant. A positive value implies that the client system time is fast with respect to the time of the server.

[1] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4821719/



Clone this wiki locally