An introduction to natural algorithms

advertisement
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!
Download