## Abstract

The travelling salesman problem (TSP) is a well known and challenging combinatorial optimisation problem. Its computational intractability has attracted a number of heuristic approaches to generate satisfactory, if not optimal, candidate solutions. Some methods take their inspiration from natural systems, extracting the salient features of such systems for use in classical computer algorithms. In this paper we demonstrate a simple unconventional computation method to approximate the Euclidean TSP using a virtual material approach. The morphological adaptation behaviour of the material emerges from the low-level interactions of a population of particles moving within a diffusive lattice. A ‘blob’ of this material is placed over a set of data points projected into the lattice, representing TSP city locations, and the blob is reduced in size over time. As the blob shrinks it morphologically adapts to the configuration of the cities. The shrinkage process automatically stops when the blob no longer completely covers all cities. By manually tracing the perimeter of the blob a path between cities is elicited corresponding to a TSP tour. Over 10 runs on 20 randomly generated datasets consisting of 20 cities this simple and unguided method found tours with a mean average tour length of 6.41 % longer than the minimum tours computed by a TSP solver (mean best performance was 4.27 % longer and mean worst performance was 9.22 % longer). We examine the insertion mechanism by which the blob constructs a tour, note some properties and limitations of its performance, and discuss the relationship between the blob TSP and proximity graphs which group points on the plane. The method is notable for its simplicity, novelty and the spatially represented mechanical mode of its operation. We discuss similarities between this method and previously suggested models of human performance on the TSP and suggest possibilities for further improvement.

### Similar content being viewed by others

### Explore related subjects

Discover the latest articles, news and stories from top researchers in related subjects.## References

Adamatzky A (2007)

*Physarum*machine: implementation of a Kolmogorov–Uspensky machine on a biological substrate. Parallel Process Lett, 17(4):455–467Adamatzky A (2008) Developing proximity graphs by

*Physarum polycephalum*: does the plasmodium follow the Toussaint hierarchy. Parallel Process Lett, 19:105–127Adamatzky A (2010) Slime mould logical gates: exploring ballistic approach. Arxiv preprint arXiv:1005.2301

Adamatzky A (2011) Slime mould computes planar shapes. Arxiv preprint arXiv:1106.0305

Adamatzky A, Jones J (2010) Programmable reconfiguration of

*Physarum*machines. Nat Comput, 9(1):219–237Al-Mulhem M, Al-Maghrabi T (1998) Efficient convex-elastic net algorithm to solve the euclidean traveling salesman problem. IEEE Trans Syst Man Cybern B Cybern, 28(4):618–620

Aono M, Hara M (2007) Amoeba-based nonequilibrium neurocomputer utilizing fluctuations and instability. In 6th International Conference on UC 2007, vol 4618 of LNCS, August 13–17. Springer, Kingston, pp 41–54

Aono M, Hara M (2008) Spontaneous deadlock breaking on amoeba-based neurocomputer. BioSystems, 91(1):83–93

Aono M, Hirata Y, Hara M, Aihara K (2009) Amoeba-based chaotic neurocomputing: combinatorial optimization by coupled biological oscillators. New Gener Comput, 27(2):129–157

Applegate D, Bixby R, Chvatal V, Cook W (2006) Concorde tsp solver. http://www.tsp.gatech.edu/concorde. Accessed 20 March 2013

Best BJ (2005) A model of fast human performance on a computationally hard problem. In Proceedings of the 27th annual conference of the cognitive science society, pp 256–262

de Lacy Costello B, Ratcliffe N, Adamatzky A, Zanin AL, Liehr AW, Purwins HG (2004) The formation of Voronoi diagrams in chemical and physical systems: experimental findings and theoretical models. Int J Bifurcation Chaos Appl Sci Eng, 14(7):2187–2210

Dorigo M, Bonabeau E, Theraulaz G (2000) Ant algorithms and stigmergy. Future Gener Comput Syst, 16(8):851–871

Dry M, Lee MD, Vickers D, Hughes P (2006) Human performance on visually presented traveling salesperson problems with varying numbers of nodes. J Probl Solving, 1(1):4

Duckham M, Kulik L, Worboys M, Galton A (2008) Efficient generation of simple polygons for characterizing the shape of a set of points in the plane. Pattern Recognit, 41(10):3224–3236

Durbin R, Willshaw D (1987) An analogue approach to the travelling salesman problem using an elastic net method. Nature 326(6114):689–691

Edelsbrunner H, Kirkpatrick D, Seidel R (1983) On the shape of a set of points in the plane. IEEE Trans Inform Theory, 29(4):551–559

Flood MM (1956) The traveling-salesman problem. Operations Res, 4(1):61–75

Galton A, Duckham M (2006) What is the region occupied by a set of points? Geogr Inf Sci 81–98

Golden B, Bodin L, Doyle T, Stewart W (1980) Approximate traveling salesman algorithms. Operations Res, 28(3-Part-II):694–711

Graham SM, Joshi A, Pizlo Z (2000) The traveling salesman problem: a hierarchical model. Mem Cognit, 28(7):1191–1204

Gunji Y-P, Shirakawa T, Niizato T, Yamachiyo M, Tani I (2011) An adaptive and robust biological network based on the vacant-particle transportation model. J Theor Biol, 272(1):187–200

Hasegawa M (2011) Verification and rectification of the physical analogy of simulated annealing for the solution of the traveling salesman problem. Phys Rev E, 83(3):036708

Hirtle SC, Gärling T (1992) Heuristic rules for sequential spatial decisions. Geoforum, 23(2):227–238

Hopfield JJ, Tank DW (1986) Computing with neural circuits: a model. Science, 233(4764):625

Jones J (2010a) Characteristics of pattern formation and evolution in approximations of

*Physarum*transport networks. Artif Life, 16(2):127–153Jones J (2010b) The emergence and dynamical evolution of complex transport networks from simple low-level behaviours. Int J Unconv Comput, 6(2):125–144

Jones J (2011a) Towards programmable smart materials: dynamical reconfiguration of emergent transport networks. Int J Unconv Comput, 7(6):423–447

Jones J (2011b) Influences on the formation and evolution of

*Physarum polycephalum*inspired emergent transport networks. Nat Comput 10(4):1345–1369Jones J, Adamatzky A (2010) Towards

*Physarum*binary adders. Biosystems, 101(1):51–58Kurz ME (2011) Heuristics for the traveling salesman problem. In: Wiley Encyclopedia of Operations Research and Management Science. Wiley, Hoboken

Larranaga P, Kuijpers CMH, Murga RH, Inza I, Dizdarevic S (1999) Genetic algorithms for the travelling salesman problem: a review of representations and operators. Artif Intell Rev, 13(2):129–170

Lihoreau M, Chittka L, Raine NE (2010) Travel optimization by foraging bumblebees through readjustments of traplines after discovery of new feeding locations. Am Nat, 176(6):744–757

Lobovkina T, Dommersnes PG, Tiourine S, Joanny JF, Orwar O (2008) Shape optimization in lipid nanotube networks. Eur Phys J E, 26(3):295–300

MacGregor JN, Chu Y (2011) Human performance on the traveling salesman and related problems: a review. J Probl Solving, 3(2):2

MacGregor JN, Ormerod T (1996) Human performance on the traveling salesman problem. Atten Percept Psychophys, 58(4):527–539

MacGregor JN, Ormerod TC, Chronicle EP (2000) A model of human performance on the traveling salesperson problem. Mem Cognit, 28(7):1183–1190

Nakagaki T, Guy RD (2007) Intelligent behaviors of amoeboid movement based on complex dynamics of soft matter. Soft Matter, 4(1):57–67

Nakagaki T, Kobayashi R, Nishiura Y, Ueda T (2004) Obtaining multiple separate food sources: behavioural intelligence in the Physarum plasmodium. R Soc Proc Biol Sci, 271(1554):2305–2310

Nakagaki T, Saigusa T, Tero A, Kobayashi R (2007) Effects of amount of food on path selection in the transport network of an amoeboid organism. In Proceedings of the international symposium on topological aspects of critical systems and networks. World Scientific

Nakagaki T, Yamada H, Toth A (2000) Intelligence: maze-solving by an amoeboid organism. Nature, 407:470

Ormerod TC, Chronicle EP (1999) Global perceptual processing in problem solving: the case of the traveling salesperson. Atten Percept Psychophys, 61(6):1227–1238

Pizlo Z, Stefanov E, Saalweachter J, Li Z, Haxhimusa Y, Kropatsch WG (2006) Traveling salesman problem: a foveating pyramid model. J Probl Solving, 1(1):8

Reyes DR, Ghanem MM, Whitesides GM, Manz A (2002) Glow discharge in microfluidic chips for visible analog computing. Lab Chip, 2(2):113–116

Shirakawa T, Adamatzky A, Gunji Y-P, Miyake Y (2009) On simultaneous construction of Voronoi diagram and Delaunay triangulation by

*Physarum polycephalum*. Int J Bifurcation Chaos, 19(9):3109–3117Stepney S (2008) The neglected pillar of material computation. Phys D, 237(9):1157–1164

Toussaint GT (1980) The relative neighbourhood graph of a finite planar set. Pattern Recognit, 12(4):261–268

Tsuda S, Aono M, Gunji Y-P (2004) Robust and emergent Physarum logical-computing. BioSystems, 73:45–55

Zauner KP, Conrad M (1996) Parallel computing with DNA: toward the anti-universal machine. In: Parallel Problem Solving from Nature PPSN IV, pp 696–705

## Acknowledgements

This authors AA and JJ were supported by the EU research project “Physarum Chip: Growing Computers from Slime Mould” (FP7 ICT Ref 316366) and JJ was supported by the SPUR Grant award for the project “Developing non-neural models of material computation in cellular tissues” from UWE.

## Author information

### Authors and Affiliations

### Corresponding author

## Appendix: Shrinking blob particle model description

### Appendix: Shrinking blob particle model description

The multi-agent particle approach to generate the behaviour of the virtual material blob uses a population of coupled mobile particles with very simple behaviours, residing within a 2D diffusive lattice. Lattice size was 200 × 200 pixels. The lattice stores particle positions and the concentration of a local diffusive factor referred to generically as chemoattractant. Collective particle positions represent the global pattern of the blob. The particles act independently and iteration of the particle population is performed randomly to avoid any artifacts from sequential ordering.

### 1.1 Generation of emergent blob cohesion and shape adaptation

The behaviour of the particles occurs in two distinct stages, the sensory stage and the motor stage. In the sensory stage, the particles sample their local environment using three forward biased sensors whose angle from the forwards position (the sensor angle parameter, SA), and distance (sensor offset, SO) may be parametrically adjusted (Fig. 13a). The offset sensors generate local coupling of sensory inputs and movement to generate the cohesion of the blob. The SO distance is measured in pixels and a minimum distance of 3 pixels is required for strong local coupling to occur. During the sensory stage each particle changes its orientation to rotate (via the parameter rotation angle, RA) towards the strongest local source of chemoattractant (Fig. 13b). After the sensory stage, each particle executes the motor stage and attempts to move forwards in its current orientation (an angle from 0–360°) by a single pixel forwards. Each lattice site may only store a single particle and particles deposit chemoattractant into the lattice only in the event of a successful forwards movement. If the next chosen site is already occupied by another particle move is abandoned and the particle selects a new randomly chosen direction.

### 1.2 TSP problem representation

Twenty datasets were generated, each consisting of 20 randomly chosen data points within a circular arena. A condition was added that a minimum distance of 25 pixels must exist between data points. This gives a more uniform distribution of node points, preventing clustering of node points often found in real-world TSP instances, for example those based on real city locations. This was done partly to aid visual tracking of the tour path but also because a less clustered node distribution is known to provide more challenging problem instances (e.g. in human performance on TSP (Hirtle and Gärling 1992)) since there is less likelihood of providing pre-existing cues to intuitive solutions (for example nearest neighbour grouping). Each dataset was saved to a text file. TSP city data points for each dataset were loaded from the text files and were represented by projection of chemoattractant to the diffusion lattice at locations corresponding to a 3 × 3 window centred about their *x*, *y* position. The projection concentration was 1.275 units per scheduler step. If a node was covered by a portion of the blob (i.e. if the number of agents in a 3 × 3 window surrounding the node was >0) the projection was reduced to 0.01275 units. Suppression of projection from covered sites was necessary to ensure a uniform concentration within the blob at internal data points. Uncovering of the data points by the shrinking blob acted to increase concentration at exposed nodes, causing the blob to be anchored by the nodes. Diffusion in the lattice was implemented at each scheduler step and at every site in the lattice via a simple mean filter of kernel size 3 × 3. Damping of the diffusion distance, which limits the distance of chemoattractant gradient diffusion, was achieved by multiplying the mean kernel value by 0.95 per scheduler step.

The blob was initialised by creating a population of particles and inoculating the population within the bounds of a Convex Hull formed by the data points, generate at the start of the experiment by a conventional algorithm. Why choose the Convex Hull as the initial blob pattern? It is possible to select any pattern for the blob shape, for example a circular blob. However, selecting any arbitrary pattern to cover the points might leave a large portion of the blob overlapping vacant space. This could result in shrinkage in one part of the blob taking place over vacant space with shrinkage in other parts over city points and would bias the output result. The Convex Hull was thus chosen as a simple representation of the perimeter of the data points. The exact population size differed depending on the area of the Convex Hull but the initial blob was typically composed of between 10,000 and 15,000 particles. Particles were given random initial positions within these confines and random initial orientations. Any particles migrating out of the bounds of the Convex Hull region were deleted. Particle sensor offset (SO) was 7 pixels. Angle of rotation (RA) and sensor angle (SA) were both set to 60° in all experiments. Agent forward displacement was 1 pixel per scheduler step and particles moving forwards successfully deposited five units of chemoattractant into the diffusion lattice. Both data projection stimuli and agent particle trails were represented by the same chemoattractant ensuring that the particles were attracted to both data stimuli and other agents’ trails. The collective behaviour of the particle population was cohesion and morphological adaptation to the configuration of stimuli.

### 1.3 Shrinkage mechanism

Adaptation of the blob size is implemented via tests at regular intervals as follows. If there are 1–10 particles in a 9 × 9 neighbourhood of a particle, and the particle has moved forwards successfully, the particle attempts to divide into two if there is a space available at a randomly selected empty location in the immediate 3 × 3 neighbourhood surrounding the particle. If there are 0–80 particles in a 9 × 9 neighbourhood of a particle the particle survives, otherwise it is deleted. Deletion of a particle leaves a vacant space at this location which is filled by nearby particles, causing the blob to shrink slightly. As the process continues the blob shrinks and adapts to the stimuli provided by the configuration of city data points. The frequency at which the growth and shrinkage of the population is executed determines a turnover rate for the particles. The frequency of testing for particle division was every five scheduler steps and the frequency for testing for particle removal was every ten scheduler steps. Since the shrinking blob method is only concerned with the reduction in size of the population it might be asked as to why there are tests for particle division at all. The particle division mechanism is present to ensure that the adaptation of the blob sheet is uniform across the sheet to prevent ‘tears’ or holes forming within the blob sheet, particularly at the start of an experiment when flux within the blob is initially established.

### 1.4 Halting mechanism

The shrinkage of the blob was halted when all data points were partially uncovered by using the following calculation. At each data point the number of particles surrounding the point in a 5 × 5 window was sampled. If the number of particles in this window was <15 the node was classified as partially uncovered. When all nodes are uncovered the model is halted and a greyscale representation of the diffusive lattice is saved to disk to read the result of the blob tour. The calculated tour path was saved in a text file and tour distance was calculated. The exact minimum tour path for each dataset was calculated for comparison by loading the data point configuration files into the Concorde TSP solver (Applegate et al. 2006).

## Rights and permissions

## About this article

### Cite this article

Jones, J., Adamatzky, A. Computation of the travelling salesman problem by a shrinking blob.
*Nat Comput* **13**, 1–16 (2014). https://doi.org/10.1007/s11047-013-9401-x

Published:

Issue Date:

DOI: https://doi.org/10.1007/s11047-013-9401-x