Introducing Natural Algorithms A passionate affair I started it ! Nature and Numbers – Friends for ever! Describing nature with mathematics The universe is written in the language of mathematics, and its characters are triangles, circles, and other geometric figures Describing nature with computation The universe is written in the language of Cellular Automata, and its characters are tiny cells with discrete states. How about describing computation with natural phenomena? … Let Nature be your teacher. - Wordsworth Natural laws can evoke “computational” effects Soap bubbles minimize the amount of surface area for a given volume Molecules of a metal arrange themselves in the minimal energy state, when annealed Meandering rivers: ratio between actual length of rivers from source to mouth and their direct length as the crow flies = π Shortest path between cities E (Destination) Shortest path D A C B (Source) As the source, destination nodes in the physical graph-model are stretched apart, the shortest path forms a straight line between them. Average of quantities l1 l2 l3 (l1 + l2 + l3 ) / 3 Water finds the same level in all limbs due to atmospheric pressure. Graph Connectivity Problem - Solved with an analog electrical network* Given a graph G = (V, E) and two distinguished vertices s, t in V, is there a path in G from s to t? s t i V amperes volts *A. Vergis, K. Steiglitz, B. Dickinson. The complexity of analog computation, Mathematics and Computers in Simulation 28, 1986, 91-113. Location Allocation Problem - Solved using motion of charged particles* Given a set of facilities, each of which can serve a certain number of nodes on a graph, the objective is to place the facilities on the graph so that the average distance between each node and the facility that serves it is minimized. police-station 3 1 resident home 2 4 5 17310309456440 possible location allocations exist when 10 police stations have to be allocated in a city with 100 homes. *R. Simha, W. Cai, V. Spitkovsky. Simulated N-body: A new particle physics-based heuristic for a Euclidean location allocation problem, J. Heuristics 7, 1 , 2001, 23-36. Location Allocation (cont’d) charged particles that repel each other boundary of repulsive force Travelling Salesman Problem Given a set of points, either nodes on a graph or cities on a map, the objective is to find the shortest possible tour that visits every single point exactly once and then returns to its starting point. G ABCDEFG A ACBDEFG A ACBEDFG A . . . F A E D B C No. of possible tours = (n-1)! / 2 for a (complete) graph with n vertices. For a 16-city problem, there are 653, 837, 184, 000 possible solutions. Travelling Salesman Problem - Solved using interaction between charged particles* positively charged particle elastic band cities (negatively charged particles) a possible tour *Z. Zhang, S. Bai, G. Li. Emergent collective computational abilities in interacting particle systems, Evo Workshops, 1994, 61-72. Maximum Clique Problem A clique is a graph such that any two of its vertices are connected by an edge. For a given graph G with n vertices, the MCP asks for the maximum number k, such that G contains a subgraph of k vertices that forms a clique. 1 1 3 6 2 5 3 2 4 Maximum Clique Problem - Solved using liquid flow* 1 Subgraphs (wells) {} 3 2 {1} {2} Edges (reservoirs) (1,2) {1,2} {3} {1,3} (1,3) {2,3} (2,3) {1,2,3} *D. T. Chiu, E. Pezzoli, H. Wu, A. D. Stroock, and G. M. Whitesides. Using three-dimensional microfluidic networks for solving computationally hard problems, Proceedings of the National Academy of Sciences USA 98, 2961 - 2966 (2001). Ring-Sort ! rings whose radii represent positive integers (dropped in any order) rings fall down in sorted order The Maze Problem - Can it be solved using an electrical circuit? destination source What is a natural algorithm? (Prose version) Natural Algorithm: a “free” means to an anticipated end Traditionally, when computists solve problems, they try to achieve the desired end by painstakingly developing a suitable means---an “algorithm”. On the other hand, when natural computists solve problems, they try to discover a natural (computing) system, one that is bound to produce the desired end (or something “close” to such an end) and whose capacity to produce such an end is innate. (That is, the system’s ability to reach the desired end is not something the computist deliberately assigns to it, but something which the system has been endowed with.) The means by which natural systems realize an end is something that comes “for free”; the computist need not bother to know the exact means by which the system would achieve the desired end, but simply be aware of the fact that such an end will somehow be achieved. What is a natural algorithm? (Poem version) "What, my dear Sir, is a Natural Algorithm?" So asked Boswell. "Bah, that is but a simple idea", said Dr. Johnson. An algorithm is nothing but a means, Not as hard as it seems; One which humans so meticulously design--And all that, my friend, Is for the computer---to achieve an 'end'. A natural algorithm is also a means, But one that you get “for free”: All you need, my dear Boswell, is to seek For when you seek, you shall find That piece of nature's machinery which does what you want Be it sorting, be it searching or solving SAT! It's right there, neat and clean--The end you seek; Just take a peek. "But, Sir, by what means does nature reach its end?" Why bother, my dear Boswell, When nature does it well. The means is but free, and For us (and for nature), it's the end that matters. What matters for starters, Though, is by one means or the other Will it reach its end!