# Adaptive Behaviour for a Self-Organising Video Surveillance System Using a Genetic Algorithm
## 7 Run-Time Adaptation and Real-World Considerations  
One salient feature of our genetic algorithm framework is that it is not designed for offline multi-objective optimisation, but intended as a run-time method to improve the performance of an integrated video surveillance system \"on-the-fly\". This includes the ability to respond to disruptive events, such as the failure of cameras, by adaptively reorganising the schedule of other devices so as to compensate for the loss of coverage consecutive to the fault.  
To demonstrate this ability, we ran a separate batch of simulations, using the best identified weighting parameter values (\(\alpha=\beta=\frac{1}{2}\), \(\gamma=0\)), in which 8 randomly chosen cameras (out of 64) are \"deactivated\" at generation 10,000, and the system is allowed to recover for another 10,000 generations after the event (during which the impacted devices remain permanently offline), see Figure 9.  
As expected, the sudden failure results in a sharp rise in the value of variable \(B\) (\"blind spots\"). This boosts the relative fitness of genomes/schedules in which other cameras are activated more often, leading to a temporary rise in variables \(A\) and \(C\), following a sharp drop of the latter consecutive to the disappearance of overlap with faulty devices (note that these are still consuming resources in our scenario, so variable \(A\) is unaffected). After a few hundred to a thousand generations though, the system has successfully adapted and all variables have resumed a downward trend, albeit the fact that variable \(B\) is necessarily converging to a higher plateau (this is _necessarily_ so because some of the new \"blind spots\" are out of coverage for all surviving cameras).  
We argue that our method, although clearly perfectible, is already suitable for real-world deployment \"as is\" and offers immediate benefits. It is straightforward and not particularly computationally intensive to evaluate one generation per second (in our simulations, we do over 40 over the same period), so for a system of the size envisaged (64 cameras, 32 s periodic time window), identifying a suitable schedule would take a few minutes to a few hours. More importantly, the system would respond to a disruptive event over a similar time-scale, making run-time adaptation very feasible.  
In terms of resource-saving performance, the benefit is roughly a \(\frac{2}{3}\)rd reduction compared to an \"always-on\" schedule. This obviously means that for the same disk storage capacity, archived footage would cover a period three times longer, e.g., 72 h instead of a single day. By way of contrast, the loss of coverage resulting from this adaptation  
Figure 9: Response to a disruptive event (failure of 8 out of 64 cameras at generation 10,000). The curves show the evolution over time of the three global variables for the fittest individual of each generation (averaged over 180 independent realisations).  
only represents about 10% of the monitored area (note that this does not mean that these additional 10% are _never_ monitored, only that they are filmed _less often_). Although we fully acknowledge that these results are sensitive to the value of the parameters used for the numerical experiment (number of cameras, field of view, etc.), there is no reason to believe that they would be qualitatively different in other scenarios.