User:Brooks-Iyengar

Brooks-Iyengar algorithm was a work of Richard Brooks and S. Sitharama Iyengar of Louisiana State University in multi-dimensional fault tolerant algorithms in distributed processing of sensor input intervals. To satisfy the requirements of both the inexact-agreement problem and the sensor-fusion problem, the algorithm merged the optimal region algorithm with fast convergence algorithm (FCA) to produce an algorithm that provides the best accuracy possible and increases the precision of distributed decision-making.

Purpose
Approximate-agreement and sensor-fusion algorithms both accept data from many independent sources, where a minority of the data is arbitrarily incorrect, and the correct data does not agree perfectly. Both try to find a result that accurately represents the data from the correct processing element (PE), while minimizing the influence of data from faulty PES. Approximate agreement emphasizes precision, even when this conflicts with system accuracy. For both approximate and inexact agreement, the overall accuracy of the readings remains constant and can decrease for some PES. This approach is justified when processor coordination is more important than the quality of the results. For example, these algorithms are useful for clock synchronization among PES. Sensor fusion, on the other hand, is concerned solely with the accuracy of the readings, which is appropriate for sensor applications. This is true despite the fact that increased precision within known accuracy bounds would be beneficial for coordinating distributed automation systems.

Method
Keith Marzullo proposed a model with abstract sensors, which consist of a range of values returned by a sensor, and concrete sensors, which are the physical devices that return the value. Because all sensors have limited accuracy, the value returned by an abstract sensor consists of a lower bound and an upper bound. The size of this range is the accuracy, $$\delta$$, for that sensor. In this way, sensor inaccuracies can be dealt with explicitly.

The sensor-fusion problem the distributed algorithm addresses is: Given a set of N sensors, all with a limited accuracy and at most $$\tau$$ of the sensors being faulty, what is the smallest value range $$\Delta $$ where the system can be certain to find the correct value?

The data used by this algorithm can take any of the following three forms:

1. Real values, all with the same implicit accuracy.

2. Real values, along with an explicit accuracy value

3. A range consisting of an upper and lower bound.

The table shows an example of the sensor readings S1-S4. The following plot finds the operating ranges (step 3) with the least number of sensors needed $$(N-\tau)$$ to intersect, which is consistent among all the sources.



Efficiency
The asymptotic complexity of this algorithm, like FCA and the sensor-fusion algorithm, is $$O(N \,\lg\, N)$$. This is due to step 2, which requires sorting the input by its lower bounds. Steps 3 and 4 work on ranges where or more values intersect. Since there are at most $$2\tau + 1$$ such ranges, step 3 has complexity $$O(t\, \lg \,\tau)$$, and step 4 has $$O(\tau)$$, both of which are less than $$O(N \,\lg\, N)$$.