24 June 2014

The great salmon run algorithm

How to solve engineering problems by swimming against the stream and avoiding the grizzlies.

Solving complex problems is rarely a straightforward process, there are often many variables and countless plausible solutions each one of which has its pros and cons. Mechanical engineers at the Babol University of Technology in Mazandaran, Iran, have turned to nature to devise an algorithm based on the survival trials faced by salmon swimming upstream to the spawning grounds to help them fish out the optimal solution to a given problem. They provide details in the International Journal of Computer Applications in Technology.

Bio-inspiration has been widely used in problem solving, with so-called genetic algorithms plucking the best, or fittest, solutions from possible answers to a complex problem, modifying the answers slightly a random and then testing them again. Repeating the process allows problem solvers to find an optimal answer through a process akin to survival of the fittest in nature. Other problems, such as the travelling salesperson problem have been approached by mimicking how ants forage for food and create the shortest paths between nest and food source. Similarly, the flight of the honeybee from hive to floral patch and back has been emulated in computer algorithms. There are also so-called particle swarm optimization algorithms that mimic social behavior of flocking birds or schooling fish. These approaches have their benefits but they are also unsuitable for certain engineering problems.

The selective pressure on the upstream struggle of salmon offered alternative natural inspiration for Alireza Fathi and Ahmad Mozaffari. The pair realized that genetic algorithms would not cope well with certain engineering problems where many constraints on plausible solutions must be applied.

The team explains that the annual salmon run sees millions of fish migrating through mountain streams to the spawning area where the fish themselves originated. The upstream swim is fraught with hazards not least high waterfalls and people hoping to hook the fish as well as hungry Grizzly bears. Grizzlies themselves follow cooperative swarm intelligence rules for seeking out and fishing for the plumpest salmon navigating the waters of their territory. Humans too will scout a large area and then congregate where the fishing is best. There are also salmon sharks to avoid.

On the part of the salmon, they too split into groups as they head inland along the waterways and, through instinct and observation, find a navigable route upstream. Some will pass through more lakes and ponds others will opt for forested waterways and waterfalls. Grizzlies and sharks hunt the forested streams, humans tend to fish the open water, each with varying degrees of success. The team has codified the various hazards facing the salmon, and the salmon themselves thus become individual solutions to a problem fed into the computer algorithm. The great salmon run (TGSR) algorithm therefore becomes a simulation of the actual salmon run, but allows the team to home in on specific solutions to a problem that are optimal in the sense of reaching the spawning grounds unfettered by grizzly, shark or human.

The team has now successfully applied their algorithm to 25 standard benchmarking problems in engineering and to finding the best setup for a new type of laser. They compared the results with those obtainable using the conventional and more well-known genetic algorithms, particle swarm optimization techniques and artificial bee colony approaches. “In most cases, the TGSR algorithm worked better than the other methods,” the team says. “Moreover, for some problems it was quicker at converging on an optimal solution.

Fathi, A. and Mozaffari, A. (2014) ‘TGSR: the great salmon run optimisation algorithm’, Int. J. Computer Applications in Technology, Vol. 49, Nos. 3/4, pp.192–206.

The great salmon run algorithm is a post from: David Bradley's Science Spot

via Science Spot http://ift.tt/1v0FxYF

No comments: