We will remember 2017 as an appalling year for natural disasters. The US has endured its most expensive hurricane season, amounting to over $200 billion (£151 billion) of damage. Mexico City experienced a terrible earthquake that killed over 200 people, while severe tropical storms forced tens of thousands of evacuations in Macau, Hong Kong and Tokyo.
It comes months after the UN’s head of disaster planning warned that the world is not adequately preparing for disasters. This, he said, risks “inconceivably bad” consequences as climate change makes disasters more frequent and severe.
In such circumstances, modern technologies like smartphones, sensors and drones could help enormously, particularly if we can get them to act like an intelligent network. But first, we software engineers have to figure out how to make this viable. The good news is there are signs of progress – with a little help from some completely different areas of expertise.
When an area is hit by a hurricane, earthquake or volcanic eruption, a functioning communications system is vital. Good communications can be the difference between life and death when it comes to coordinating rescue efforts; relaying public information about things like shelters and supplies; and enabling inhabitants to communicate with family and friends.
Disasters go hand in hand with communications outages, of course. The next best thing is ad hoc networks of multiple devices that gather and relay information. This could soon regularly include sensors dropped from planes to sample the environment; swarms of drones looking for victims; and clean-up robots. The potential is for all these to work together, alongside people sending information on smartphones.
And it might go further still: devices still need power, and the main electricity sources are likely to be offline, too. The grid will probably be pulling in temporary power from small devices ranging from small generators to solar panels – all ideally coordinated in real time.
Making this ecosystem work in unison requires several levels of organisation. At one level, each class of devices needs to interact. The bandwidth of the temporary communications network will probably be very limited, for example, creating the complex problem of deciding which transmissions to prioritise and how to route them efficiently through the network.
The broader network also has to organise, responding to new events as appropriate. A relatively simple current example is this online flooding platform in Jakarta. It pools information for inhabitants based on feeds from a network of street sensors and people on smartphones.
To build a more complex system and make it run smoothly, it becomes harder and harder to rigidly pre-engineer software: no centralised control is possible, especially in a wide disaster area where communications between devices are too slow or multi-layered.
Software engineers have yet to develop such a system – despite significant advances in algorithms. Our best pre-programmed efforts tend to quickly unravel, coming up against unforeseen variables. Improving these systems is challenging to say the least.
Neither is it just an issue for disaster areas. The world is increasingly instrumented with interconnected devices, each running with some form of algorithmic intelligence. They are managing city traffic light systems, for example. They are managing electricity supply and demand across the grid.
Some programmers have looked beyond computer science to improve such systems. One inspiration is the American political economist Elinor Ostrom. Her Nobel Prize winning work identified how communities in places as diverse as Kenya, Guatemala, Turkey, Nepal and Los Angeles self-govern and share resources while leaving enough for future generations.
Ostrom discerned eight common characteristics, and derived principles that could be applied anywhere. One was that you must ensure those affected by the rules can participate in modifying them, for example. Another was the need for a system for monitoring community members’ behaviour carried out by the members themselves.
The German-American philosopher Nicholas Rescher is also helping programmers. Rescher argued that when deciding how to distribute rewards/punishments fairly, seven “canons” should be taken into account: equality, need, ability, effort, productivity, social utility and supply and demand. The idea is to identify which canon is most appropriate in a given situation. Programmers are using these principles to help networks make judgements about allocating scarce resources, for example, and resolving conflicts between different devices.
Jeremy’s recent co-authored work has shown how Ostrom and Rescher’s ideas could be expressed as algorithms for managing device networks. The benefits have been demonstrated in a relatively static environment where the population and number of devices is generally stable or predictable – distributing energy and protecting against overloads within a local community, say. But in a disaster scenario where the number, location and availability of devices is continually changing and almost completely unpredictable, the model needs extending.
To solve this, the final piece of the jigsaw comes from biology, where different animals adapt to changes in their environment. Individual creatures learn over their lifetimes, while a species adapts over many generations through evolution – more successful traits becoming dominant while less successful ones are bred out.
Emma was involved, for example, in creating a system for robotic swarms that handle change far better than alternative approaches. It enables the robots both to “learn” from experience and adapt the parameters of their algorithm, and “evolve” completely new behaviours where the environment has changed so much that existing algorithms won’t suffice.
We recently outlined how these three strands from political theory, social science and biology could be brought together to develop a new paradigm for complex device networks. We see encouraging signs that such thinking is starting to catch on among researchers.
These ideas should enable us to develop new approaches that will underpin and enhance a wide variety of human activities – not least when the next disaster strikes. It might even mitigate the effects of climate change, making us better at foreseeing catastrophes and taking steps to avert them.