Conference PaperPDF Available

Genetic Programming in Wireless Sensor Networks

Authors:

Abstract and Figures

Wireless sensor networks (WSNs) are medium scale mani- festations of a paintable or amorphous computing paradigm. WSNs are becoming increasingly important as they attain greater deployment. New techniques for evolutionary computing (EC) are needed to address these new computing models. This paper describes a novel eort to develop a series of variations to evolutionary computing paradigms such as Genetic Programming to enable their operation within the wireless sensor net- work. The ability to compute evolutionary algorithms within the WSN has innumerable advantages including, intelligent-sensing, resource opti- mized communication strategies, intelligent-routing protocol design, nov- elty detection, etc to name a few. In this paper we first discuss an evolu- tionary computing algorithm that operates within a distributed wireless sensor network. Such algorithms include continuous evolutionary com- puting. Continuous evolutionary computing extends the concept of an asynchronous evolutionary cycle where each individual resides and com- municates with its immediate neighbors in an asynchronous time-step and exchanges genetic material. We then describe the adaptations re- quired to develop practicable implementations of evolutionary computing algorithms to eectively work in resource constrained environments such as WSNs. Several adaptations including a novel representation scheme, an approximate fitness computation method and a sucient statistics based data reduction technique lead to the development of a GP imple- mentation that is usable on the low-power, small footprint architectures typical to wireless sensor motes. We demonstrate the utility of our for- mulations and validate the proposed ideas using a variety of problem sets and describe the results.
Content may be subject to copyright.
Genetic Programming in Wireless Sensor
Networks
Derek M. Johnson, Ankur M. Teredesai, and Robert T. Saltarelli
{dmj3538,amt,rts9020}@cs.rit.edu
Computer Science Department
Rochester Institute of Technology, Rochester NY 14623, USA
Abstract. Wireless sensor networks (WSNs) are medium scale mani-
festations of a paintable or amorphous computing paradigm. WSNs are
becoming increasingly important as they attain greater deployment. New
techniques for evolutionary computing (EC) are needed to address these
new computing models. This paper describes a novel effort to develop a
series of variations to evolutionary computing paradigms such as Genetic
Programming to enable their operation within the wireless sensor net-
work. The ability to compute evolutionary algorithms within the WSN
has innumerable advantages including, intelligent-sensing, resource opti-
mized communication strategies, intelligent-routing protocol design, nov-
elty detection, etc to name a few. In this paper we first discuss an evolu-
tionary computing algorithm that operates within a distributed wireless
sensor network. Such algorithms include continuous evolutionary com-
puting. Continuous evolutionary computing extends the concept of an
asynchronous evolutionary cycle where each individual resides and com-
municates with its immediate neighbors in an asynchronous time-step
and exchanges genetic material. We then describe the adaptations re-
quired to develop practicable implementations of evolutionary computing
algorithms to effectively work in resource constrained environments such
as WSNs. Several adaptations including a novel representation scheme,
an approximate fitness computation method and a sufficient statistics
based data reduction technique lead to the development of a GP imple-
mentation that is usable on the low-power, small footprint architectures
typical to wireless sensor motes. We demonstrate the utility of our for-
mulations and validate the proposed ideas using a variety of problem sets
and describe the results.
1 Introduction
Amorphous or paintable computers are very large arrays of low powered comput-
ers. Computers with a few hundred kilobytes of RAM and short range wireless
communications are deployed with a density of tens to hundreds of elements
per square centimeter. These computers are unreliable and have no global ad-
dressing scheme. This new genre of computing poses many new and interesting
problems to the programmer and algorithm designer. How do you take advan-
tage of a massively distributed computer whose individual elements are very
resource constrained? How do you write distributed algorithms without a global
addressing scheme or predictable topology? William Butera, V. Michael Bove,
and James McBride of the MIT Media Lab proposed a series of algorithms
for performing media processing and storage on paintable computers [1]. Their
paintable computer architecture is the basis for the one used in this research.
A paintable computing element runs process fragments (pfrags), containing
code and data used as part of a global program. These fragments have read-write
access to the home-page of the processor they are running on. A home-page con-
tains key value pairs and is somewhat analogous to a tuple space. Process frag-
ments have read-only access to the home-pages of proximal processing elements.
Process fragments can migrate to neighboring processing elements.
Currently, no known implementations of paintable computing exist except
validated simulations. On the other hand there is the wireless sensor network
technology that has been gaining tremendous importance in recent years. Several
problems that theoretically present themselves in paintable computing often can
be manifested as challenges in wireless sensor network environments due to their
similarity in terms of being highly resource constrained. In this paper we de-
velop genetic programming solutions that effectively work in the wireless sensor
network environment and demonstrate the utility of continuing this direction of
research to realize the goals towards paintable computing.
There are innumerable technological hurdles that must be overcome for ad-
hoc sensor networks to become practical. A single unit of WSNs is often termed
as a ‘mote’. The individual motes are incredibly resource constrained. They
are characterized by a limited processing speed, storage capacity, and commu-
nication bandwidth. Moreover, their lifetime is determined by their ability to
conserve power. Everything we take for granted in personal computing at the
PC or desktop level comes at a huge premium in WSNs. All things considered,
such constraints demand new hardware designs, network architectures, software
applications, and therefore new learning algorithms that maximize the motes
capabilities while keeping them inexpensive to deploy and maintain.
Developing GP solutions to work in WSNs is the primary focus of this work.
Specifically, we describe the following contributions:
A novel framework for performing genetic programming on a wireless sensor
mote.
A continuous algorithm to effectively evolve an in-network GP solution.
This paper is organized as follows: In the next section we outline the neces-
sity for developing effective evolutionary computing solutions for wireless sensor
networks. In section 3 we outline the changes and adaptations required to de-
velop small-footprint GP. In section 3.1 we outline the details for developing a
continuous algorithm that asynchronously computes a symbolic regression solu-
tion along with the distributed architecture it follows to do this computation.
We then demonstrate the utility of our proposed algorithms by conducting ex-
periments on a variety of problem sets and present the results. A brief discussion
of these results concludes the paper.
2 Background and Related Work
There is significant interest within the GP community to derive effective formu-
lations that help solve real world problems. The domain of wireless sensor net-
works and amorphous computing is one such real world domain that is gaining
tremendous importance. GP solutions have been previously proposed for several
problems that manifest themselves in sensory computing systems. Seok et al de-
scribe a technique to perform calibration of sensors using Genetic Programming
on evolvable hardware [7]. Ziegler and Banzhaf proposed to use evolutionary
techniques to develop a sensory nose for a robot [9]. The Mate system proposed
by Levis is a tiny virtual machine for sensor networks [2]. The contribution in
this paper is geared more toward adapting the GP system to work in a resource
constrained environment and make decisions on the sensory data. For example,
consider the problem of determining correlation between light and temperature
signals in a sensor network. It is known within the signal processing community
that these two parameters display similar variations under most environmen-
tal conditions. By adapting GP to work on an intelligent sensor node (termed
mote) one can compute the exact correlation function that best describes the re-
lationship between sensory attributes based on input data. Another example of a
problem the proposed architecture can help address is the problem of optimized
routing to save communication costs in WSNs. In this case, the proposed system
can be instructed to compute an optimal routing path computed locally using
the signal strength as an input parameter. Distributed systems that compute an
optimization problem have been studied extensively and GP solutions have been
proposed to solve problems in those domains [8]. Along similar lines, effective
decision making using multi-agent teams was proposed by Luke et al [3]. From
a computation environment perspective, Nordin et al explore ways to evolve
machine code for embedded systems [6]. Our work extends these efforts and fo-
cuses on developing a GP system that effectively works in resource constrained
environments.
With the MEMS revolution, micro-sensors are now following manufactur-
ing curves that are at least related to Moore’s Law. Such current trends in
paintable or spray computing are summarized by Mamei [4]. They also high-
light the need for intelligent in-network processing architecture such as the one
we propose in this paper. Nagpal et al present a programming methodology
for self-assembling complex structures from vast numbers of locally-interacting
identically-programmed agents, using techniques inspired by developmental bi-
ology [5]. Our work is inspired by this effort to develop a GP paradigm that can
later be extended to include self-assembly type optimization problems.
Basic and Parallel Evolutionary Algorithm
The basic evolutionary algorithm (BEA) is the most common model for evolu-
tionary computation, however, it is clearly innapropriate for a wireless sensor
network. If each mote were running a BEA they would likely take too long to
converge to be effective, nor would the algorithm exploit the parallel nature of
a WSN.
Evolutionary algorithms tend to be highly parallelizable and many specific
algorithms have been developed which take advantage of this. Two signifant
models of parallel algorithms for evolutionary computing are the island model
and the cellular evolutionary model:
Island Model has a separate evolutionary algorithm running on each available
processing node. If the initial populations on each node are sufficiently ran-
domized, the algorithm will explore different parts of the search space in
parallel. Every few generations, one or more of the potential solutions in the
population of each node is copied to one or more of the other neighboring
nodes. These individuals are chosen using selection. This technique shares
the best solutions, which usually contain good partial solutions, with other
nodes in the same parallel algorithm. The good partial solutions are either
introduced to different gene pools or, if already present, reinforce the good
partial solution by increasing their influence. This model not only efficiently
distributes the work of the evolutionary algorithm, it has been shown to pro-
duce better results then a single basic evolutionary algorithm with a greater
population size.
Cellular Model1places each potential solution on a separate processing node.
Each individual node can choose potential mates from neighboring nodes us-
ing some selection method. A typical cellular evolutionary algorithm chooses
one population member each generation to participate in selection, crossover,
and mutation and this member is replaced by its offspring. The cellular model
is very effective on massively parallel computers such as vector computers.
3 Evolutionary Algorithms on a Mote
WSNs are an excellent target for distributed evolutionary computing. WSNs
require learning algorithms that are capable of learning independent of the op-
eration of other motes, but are also capable of using information available glob-
ally within the network to better optimize for local conditions. A distributed
evolutionary algorithm can achieve both of these goals. Each mote can indepen-
dently evolve, yet recombine genetic information from the surrounding motes to
improve its suitability to the local environment.
In addition, evolutionary algorithms or learning algorithms in general must
be designed to address the resource constraints present in a wireless sensor net-
work, while taking advantage of the unique properties of a wireless network.
Specifically, the ability to wirelessly broadcast information is a feature of wireless
sensor motes not generally used in traditional distributed computing systems.
The parallel evolutionary algorithm described in this paper is based on tradi-
tional parallel algorithms like the Island Model [2], but modifications are made
1The cellular model is so named because it has been shown to simulate a certain class
of cellular automata
to allow the algorithm to operate in a resource constrained wireless sensor net-
work. Because wireless sensor motes are capable of broadcasting data, rather
than point-to-point communication, we make use of this by distributing genetic
information in a broadcast manner. This reduces the total bandwidth require-
ments, as well as converves the limited battery power of the wireless modes, as
wireless transmitting is generally the most power hungry mode of these devices.
3.1 Broadcast-Distributed Parallel Genetic Programming
The Broadcast-Distributed Parallel genetic programming model (BDP) runs si-
multaneously on each mote in the network. The primary phases of the algorithm
are fitness evaluation, genetic reproduction with local and remote genetic infor-
mation and broadcast of genetic information. See Figure 1.
Random Initial Generation
Evaluate Fitnesss
Perform Local Genetic Operations
Perform Crossover
on Local Population
and Mates from
Neighbors if
Available
Broadcast
Random Individual
Mate List
Fig. 1. Broadcast-Distributed Parallel Algorithm
The broadcast-distrbuted parallel evolutionary algorithm (BDP) is based on
an island parallel model. Each mote carries its own population, and distributes
genetic information in an asynchronous fashion. There is no need to have any
physical clock on the motes running the algorithm. Exchanges of genetic infor-
mation are made when the mote completes the computation of a each generation,
which involves local reproduction, reproduction with local and remote genetic
information, and finally calculating the fitness for the entire population. Con-
ceptually, if the motes in a WSN running the BDP algorithm are too far apart
to be able to communicate, each will operate as if they were running the BEA
because they are unable to inject any external genetic information.
After each generation of the BEA on a mote Mba random member of the
population {Mpi
b|i < |Mp
b|} is selected and broadcast to remote motes2. The
entire individual is sent. However, the size of any given individual is particularly
small, on the order of a few bytes.
Each mote Mrwithin wireless range of a broadcasting mote (henceforth re-
ferred to as neighbors) receives the broadcast Mpi
band appends it to a list of
incoming genetic information (the mate list), Mm
r. When enough genetic mate-
rial is received by a mote, that is when |Mm
r|> a, where ais some arbitrary
constraint based on the available memory on the mote, a selection is performed
on Mm
rand the internal population Mp
rand a crossover operation is performed.
crossover(Mpj
r, M mk
r) for some j < |Mp
r|, k < |Mm
r|
No data is exchanged in the reverse direction from Mrto Mbas a result of
this crossover operation. However, at the end of the next internal generation,
mote Mrwill broadcast a random mote as described above. Because Mrwas
a neighbor of Mbso that it received Mpi
bduring a broadcast transmission, it
is likely that Mbwill remain a neighbor when their roles are reversed. Thusly,
crossover will generally be equilibrious as exchanges will likely occur in both
directions, although not necessarily in the same discreet generation.
It is worth noting that some motes will have an advantage if they have more
neighbors. They will not only exchange more of their own genetic information,
but they also will receive more genetic information, therefore they may exhibit
quicker fitness improvements when compared with lone mote that lacks many
neighbors.
The number of neighbors may vary within the set of motes with time. This
modifies the chance a particular member is selected given its current position and
the current time. This makes an examination of the survivability of a particular
member in time difficult and has not yet been addressed but the overall result of
selection is not affected. That is, the most fit member of a motes population is
selected and its partial solutions survive. This maintains the selective pressure of
the algorithm which causes the overall fitness of the population to improve. Since
the individuals involved in crossover depend entirely and only on the results of
selection then, as selection is fundamentally the same in a BDP and an BEA,
crossover is also comparable.
3.2 Resource Constraints
The motes in a wireless sensor network are typically very low power compared
to traditional PCs. They generally have have far less total storage, perhaps no
secondary storage (i.e. disk storage), and may rely on the operating system,
software and data all fitting in a small amount of solid-state primary storage.
2Mbis a broadcasting mote, Mris a receiving mote, Mpis the population on a mote,
Mmis the mate list on a mote
Many enhancements can be made to reduce the space requirements of both the
evolutionary algorithm software binary, as well as the data representation and
run-time memory requirements.
There are obvious memory usage improvements acheivable by using a steady
state algorithm with an in place replacement strategy instead of a generational
algorithm that replicates the entire population with each generation, before re-
placing the old population with the new; roughly half the amount of memory is
needed when using a steady state algorithm.
The encoding strategy for individuals can significantly alter the memory
requirements for a single mote in a BDP network. Particularly for evolutionary
algorithms such as genetic programming, where the size of an individual is not
fixed. It is necessary to set reasonable upper bounds on the allowable size of an
individual, this is achieved by adding a limit to the allowable tree depth of a
candidate solution.
It is also necessary to weigh the differences in using an interpreted language
versus a compiled language to develop an implementation. An interpreted lan-
guage (e.g. Perl, Lisp or Java) requires an entire virtual machine to be running
on a mote; this would lead to a very sizeable increase in the memory footprint
as well as executable code size. However a compiled language has the advan-
tage of being customized and run to a specific platform, and therefore omits any
penalties introduced by having a virtual machine present.
The obvious approach in a language offering dynamic memory allocation
such as C is to store individuals as trees of dynamically allocated nodes in the
program heap. Under this scheme each node is composed of a datum and two
pointers to its left and right children. On the target system in question this
solution weighs in at nine bytes per node.
Maintaining the program trees in blocks of statically allocated memory is
attractive because the code for dynamically allocating memory (malloc and
free in C) can be omitted from the final binary, provided dynamically allocated
memory is not used elsewhere. Dynamic functionality is not available at all in the
standard libraries of the smallest conceivable target platforms; it would require
a significant increase in source code size.
The most compact memory usage for program tree storage is to using a
constant size for each operator or terminal in the program tree. The offset of the
left sub-tree is therefore constant, and can be used to form the structure of the
tree. The offset for the right sub-tree is related to the size of the left sub-tree
and can be calculated by recursing down the left sub-tree. Since most operations
already involve an in order traversal of the program tree this representational
scheme requires little additional code. This method is essentially a form of prefix
notation. Because operators and terminals are well defined and each operator
requires exactly two operands it is possible to evaluate the tree without any
additional structure other than order.
The downside of this strategy is that any operation such as mutation or
crossover which adjusts the size of the tree at anything other that the right most
leaf node will require a resizing of the entire data structure. This is a reasonable
tradeoff in severely memory constrained motes.
By using a prefix notation and reducing the size of symbols in the program
tree, we can reduce the memory requirements to just 5.6% of the memory con-
sumed by most traditional GP representations using dynamic memory alloca-
tion. In terms of computation this method is no more expensive than any other
representation for operations which otherwise require a traversal of the tree.
3.3 Memory Usage Requirements
By using the techniques described the memory requirements of the basic and
parallel algorithms was significantly reduced. Equation 1 shows the total memory
requirements for each node3.
mem =b+v+p+i(1)
where:
b'6kB program binary
v=|vars| × sizeof(float) input variables
p=|pop| × (2depthmax 1)
×sizeof(tree node) + (2 ×sizeof(uint)) population
i=|mates| × (2depthmax 1)
×sizeof(tree node) + (2 ×sizeof(uint)) mate list
For typical parameter sizes the memory requirements of the algorithm are
tenable even on very low-powered WSN devices. The memory requirements are
even more impressive when compared with parallel GP implementations that
make little or no attempt to restrict memory usage. See Table 1.
population typical parallel GP BDP percentage of
on mote memory usage4memory usage typical
50 187kB 14.4kB 7.7%
100 296kB 20.4kB 6.8%
200 514kB 32.5kB 6.3%
500 1168kB 68.9kB 5.9%
4for a standard parallel GP implementation with pro-
gram binary 80kB and using 9B per tree node
Table 1. Typical Memory Requirements
3For the TinyOS architecture: sizeof (float) = 32 bits, sizeof(tree node) = 4 bits,
sizeof(uint) = 16 bits
3.4 Improving Training Efficiency
The major impediment to compute an evolutionary algorithm over large datasets
is the the amount of data required to be present in-memory while training. We
attempt to alleviate this problem by reducing the amount of training data neces-
sary to achieve converge. This involves reducing the training set to a minimal set
of variant data. The training set must be diverse enough to encompass the en-
tire search space, but also sparse enough to avoid over training on any particular
area of the search space.
In an attempt to minimize memory usage due to training data storage while
maintaining speed and scalability we examined a clustering approach to train-
ing data sampling. Test data was generated by choosing cluster centroids and
creating a random set of points within a certain distance of those centroids. The
number of points per cluster and the number of clusters are variable.
Figure 2 shows a visualization of the full data from one test run, consisting
of 500 training data points over four variables. In creating the three dimensional
image the fourth value and correct answer are ignored, however the images serve
to represent both the clustered nature of the training data and the significant
reduction in the number of points thanks to the clustering approach.
Fig. 2. Result of Clustering to Reduce Training Data
4 Performance Analysis
Both the BEA and BDP algorithms were run with a variety of equations, ranging
from simple 3 variable to large 10 variable symbolic regression problems. The
convergence properties of both algorithms were experimentally measured. The
number of motes in the network was varied as well as the population on each
mote.
It is clear that the broadcast distribution does not have a negative effect
on the ability of the algorithm to converge on a solution. The evolutionary
pressure is still sufficient, and the distributed algorithm significantly outperforms
a single BEA running with the same population size indicating that the effect
of broadcast distribution is positive.
Because generations is no longer a valid term when referring to a BDP we
instead refer to the count of genetic operations (mutation and crossover) either
on a single mote or all of the motes in the network.
10 20 30 40 50 60 70 80 90 100
800
1000
1200
1400
1600
1800
2000
Number of Motes
Genetic Operations to Convergence
Fig. 3. Varying the Number of Motes in Network
Figure 3 shows that more genetic operations are performed before converging
on the solution when the number of motes in the network is increased. This
is intuitive; when there are more motes in the network, each is independently
computing, resulting in a greater number of genetic operations as a whole, before
a solution is found. This does not mean that the time required for the network
to converge increases, because as more motes are added, more of the genetic
operations are being done in parallel.
10 20 30 40 50 60 70 80 90 100
1000
1200
1400
1600
1800
2000
2200
Population on Mote
Genetic Operations to Convergence
Fig. 4. Varying the Population on Each Mote
The same effect is also observed with the population size is increased on each
mote. Figure 4 shows this behavior.
Figure 5 show the convergence properties of the BEA and BDP. The graphs
are an aggregate of the run results of several different problems. The BDP is
slower to improve fitness, but makes more steady progress towards an optimal
solution.
0 1 2 3 4 5 6 7 8 9
x 104
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
x 104
Genetic Operations
Best Fitness
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2
x 104
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2 x 104
Genetic Operations
Best Fitness
Fig. 5. Convergence of the BEA and BDP Algorithms
Problem BEA BDP
P1 6692 8350
P2 7207 9208
P3 84942 18828
P4 130759 23649
P5 315275 43997
P6 DNF 45756
P7 DNF 99893
Table 2. Aggregate Genetic Operations Until Convergence Over Various Symbolic
Regression Problems
It is also worth noting that we observed the BDP algorithm with total pop-
ulation size pwhere each mote has a population of |M|/p to be less prone to
stagnation than a population of size prunning the BEA algorithm. This is due
to the propensity of good solutions to distribute slowly throughout the network,
this mitigates factors that can occasionally over-emphasize highly fit solutions
in the BEA. The effect of this is shown in Table 2, the problems that could not
be solved by the BEA in a reasonable amount of time were due to over-emphasis
of highly fit but sub-optimal solutions.
5 Conclusions and Future Work
In this work we argue that broadcast-distributed parallel genetic programming
shows promise as a model for evolutionary computing on wireless sensor net-
works. We show empirically via simulations that it is possible to use the broad-
cast nature of communication between motes to improve the ability of single
motes to find a solution via exchange of genetic information across the network.
It is also possible to build GP implementations that are practicable on resource
constrained WSN motes.
Future work will attempt to determine how well BDP will allow motes to
evolve solutions that are ideal for their local conditions, and whether such motes
will benefit from the receipt of genetic information for neighboring motes that
likely share similar conditions. These experiments will also focus on obtaining
data from actual motes in real environments.
References
[1] William Butera, V. Michael Bove Jr., and James McBride. Extremely distributed
media processing. In Proceedings of SPIE Media Processors, 2002.
[2] P. Levis and D. Culler. Mate: A tiny virtual machine for sensor networks. In
International Conference on Architectural Support for Programming Languages and
Operating Systems, San Jose, CA, USA, Oct. 2002. To appear.
[3] Sean Luke and Lee Spector. Evolving teamwork and coordination with genetic pro-
gramming. In John R. Koza, David E. Goldberg, David B. Fogel, and Rick L. Riolo,
editors, Genetic Programming 1996: Proceedings of the First Annual Conference,
pages 150–156, Stanford University, CA, USA, 28–31 July 1996. MIT Press.
[4] Marco Mamei and Franco Zambonelli. Spray computers:
Frontiers of self-organization for pervasive computing. Web:
http://polaris.ing.unimo.it/Zambonelli/spray.html.
[5] R. Nagpal, A. Kondacs, and C. Chang. Programming methodology for biologically-
inspired self-assembling systems. In AAAI Spring Symposium on Computational
Synthesis, March 2003., 2003.
[6] Peter Nordin, Wolfgang Banzhaf, and Francone Francone. Efficient evolution of
machine code for CISC architectures using instruction blocks and homologous
crossover. In Lee Spector, William B. Langdon, Una-May O’Reilly, and Peter J.
Angeline, editors, Advances in Genetic Programming 3, chapter 12, pages 275–299.
MIT Press, Cambridge, MA, USA, June 1999.
[7] Ho-Sik Seok and Byoung-Tak Zhang. Evolutionary calibration of sensors using ge-
netic programming on evolvable hardware. In Proceedings of the 2001 Congress on
Evolutionary Computation CEC2001, pages 630–634, COEX, World Trade Center,
159 Samseong-dong, Gangnam-gu, Seoul, Korea, 27-30 May 2001. IEEE Press.
[8] Ivan Tanev and Katsunori Shimohara. On role of implicit interaction and explicit
communications in emergence of social behavior in continuous predators-prey pur-
suit problem. In Genetic and Evolutionary Computation GECCO-2003, volume
2724 of LNCS, pages 74–85, Berlin, 12-16 July 2003. Springer-Verlag.
[9] Jens Ziegler and Wolfgang Banzhaf. Evolving a ”nose” for a robot. In Evolution
of Sensors in Nature, Hardware, and, pages 226–230, Las Vegas, Nevada, USA, 8
July 2000.
... Another line of work consists in using distributed EAs (including GP) to evolve some elements of the network, e.g. through distributed GP [24,25] to evolve the nodes' parameters and functioning logics of WSNs, or through distributed optimization algorithms, including EAs and single-solution algorithms, such as simulated annealing, as in [26], and other optimization paradigms [27][28][29]. ...
Conference Paper
The Transmission Control Protocol (TCP) protocol, i.e., one of the most used protocols over networks, has a crucial role on the functioning of the Internet. Its performance heavily relies on the management of the congestion window, which regulates the amount of packets that can be transmitted on the network. In this paper, we employ Genetic Programming (GP) for evolving novel congestion policies, encoded as C++ programs. We optimize the function that manages the size of the congestion window in a point-to-point WiFi scenario, by using the NS3 simulator. The results show that, in the protocols discovered by GP, the Additive-Increase-Multiplicative-Decrease principle is exploited differently than in traditional protocols, by using a more aggressive window increasing policy. More importantly, the evolved protocols show an improvement of the throughput of the network of about 5%.KeywordsGenetic programmingNS3TCPNetwork protocols
... As for online methods, an interesting bio-inspired (distributed) learning approach was introduced in (Su & Van Der Schaar, 2010), where each node observes the other nodes' behavior and forms internal conjectures on how they would react to its actions, to then choose the action that maximizes a local utility function: the authors demonstrated, analytically and through numerical simulations, that this method reaches Nash equilibria corresponding to optimal traffic fairness and throughput. Other works have investigated distributed EAs (Iacca, 2013) and distributed GP (Johnson et al., 2005;Valencia et al., 2010) to evolve the nodes' parameters and functioning logics of WSNs, or distributed optimization in multiagent network systems. Finally, two notable online methods are STEM-Net (Aloi et al., 2014) and Fraglets (Yamamoto et al., 2007). ...
Article
Full-text available
With the advent of cheap, miniaturized electronics, ubiquitous networking has reached an unprecedented level of complexity, scale and heterogeneity, becoming the core of several modern applications such as smart industry, smart buildings and smart cities. A crucial element for network performance is the protocol stack, namely the sets of rules and data formats that determine how the nodes in the network exchange information. A great effort has been put to devise formal techniques to synthesize (offline) network protocols, starting from system specifications and strict assumptions on the network environment. However, offline design can be hard to apply in the most modern network applications, either due to numerical complexity, or to the fact that the environment might be unknown and the specifications might not available. In these cases, online protocol design and adaptation has the potential to offer a much more scalable and robust solution. Nevertheless, so far only a few attempts have been done towards online automatic protocol design. These approaches, however, typically require a central coordinator, or need to build and update a model of the environment, which adds complexity. Here, instead, we envision a protocol as an emergent property of a network, obtained by an environment-driven Distributed Hill Climbing (DHC) algorithm that uses node-local reinforcement signals to evolve, at runtime and without any central coordination, a network protocol from scratch, without needing a model of the environment. We test this approach with a 3-state Time Division Multiple Access (TDMA) Medium Access Control (MAC) protocol and we observe its emergence in networks of various scales and with various settings. We also show how DHC can reach different trade-offs in terms of energy consumption and protocol performance.
... For instance, a bio-inspired distributed learning approach was introduced in [Su, Yi and Van Der Schaar, Mihaela 2010], where each node observes the other nodes' behavior and forms internal conjectures on how they would react to its actions, in order to choose the action that maximizes a local utility function: the authors demonstrated, analytically and through numerical simulations, that this method reaches Nash equilibria corresponding to optimal traffic fairness and throughput. Other works have investigated distributed EAs [Iacca, Giovanni 2013] and distributed GP [Johnson, Derek M. and Teredesai, Ankur M. and Saltarelli, Robert T. 2005;Valencia, Philip and Lindsay, Peter and Jurdak, Raja 2010] to evolve the nodes' parameters and functioning logics (at the application layer) of Wireless Sensor Networks. Finally, two notable online methods are STEM-Net [Aloi, Gianluca and Bedogni, Luca and Felice, Marco Di and Loscri, Valeria and Molinaro, Antonella and Natalizio, Enrico and Pace, Pasquale and Ruggeri, Giuseppe and Trotta, Angelo and Zema, Nicola Roberto 2014] and Fraglets [Tschudin, Christian 2003;Yamamoto, Lidia and Schreckling, Daniel and Meyer, Thomas 2007]. ...
... For instance, a bio-inspired distributed learning approach was introduced in [Su, Yi and Van Der Schaar, Mihaela 2010], where each node observes the other nodes' behavior and forms internal conjectures on how they would react to its actions, in order to choose the action that maximizes a local utility function: the authors demonstrated, analytically and through numerical simulations, that this method reaches Nash equilibria corresponding to optimal traffic fairness and throughput. Other works have investigated distributed EAs [Iacca, Giovanni 2013] and distributed GP [Johnson, Derek M. and Teredesai, Ankur M. and Saltarelli, Robert T. 2005;Valencia, Philip and Lindsay, Peter and Jurdak, Raja 2010] to evolve the nodes' parameters and functioning logics (at the application layer) of Wireless Sensor Networks. Finally, two notable online methods are STEM-Net [Aloi, Gianluca and Bedogni, Luca and Felice, Marco Di and Loscri, Valeria and Molinaro, Antonella and Natalizio, Enrico and Pace, Pasquale and Ruggeri, Giuseppe and Trotta, Angelo and Zema, Nicola Roberto 2014] and Fraglets [Tschudin, Christian 2003;Yamamoto, Lidia and Schreckling, Daniel and Meyer, Thomas 2007]. ...
Article
Routing plays a fundamental role in network applications, but it is especially challenging in Delay Tolerant Networks (DTNs). These are a kind of mobile ad hoc networks made of, e.g., (possibly, unmanned) vehicles and humans where, despite a lack of continuous connectivity, data must be transmitted while the network conditions change due to the nodes’ mobility. In these contexts, routing is NP-hard and is usually solved by heuristic “store and forward” replication-based approaches, where multiple copies of the same message are moved and stored across nodes in the hope that at least one will reach its destination. Still, the existing routing protocols produce relatively low delivery probabilities. Here, we genetically improve two routing protocols widely adopted in DTNs, namely, Epidemic and PRoPHET, in the attempt to optimize their delivery probability. First, we dissect them into their fundamental components, i.e., functionalities such as checking if a node can transfer data, or sending messages to all connections. Then, we apply Genetic Improvement (GI) to manipulate these components as terminal nodes of evolving trees. We apply this methodology, in silico, to six test cases of urban networks made of hundreds of nodes and find that GI produces consistent gains in delivery probability in four cases. We then verify if this improvement entails a worsening of other relevant network metrics, such as latency and buffer time. Finally, we compare the logics of the best evolved protocols with those of the baseline protocols, and we discuss the generalizability of the results across test cases.
... For instance, a bio-inspired distributed learning approach was introduced in [Su, Yi and Van Der Schaar, Mihaela 2010], where each node observes the other nodes' behavior and forms internal conjectures on how they would react to its actions, in order to choose the action that maximizes a local utility function: the authors demonstrated, analytically and through numerical simulations, that this method reaches Nash equilibria corresponding to optimal traffic fairness and throughput. Other works have investigated distributed EAs [Iacca, Giovanni 2013] and distributed GP [Johnson, Derek M. and Teredesai, Ankur M. and Saltarelli, Robert T. 2005;Valencia, Philip and Lindsay, Peter and Jurdak, Raja 2010] to evolve the nodes' parameters and functioning logics (at the application layer) of Wireless Sensor Networks. Finally, two notable online methods are STEM-Net [Aloi, Gianluca and Bedogni, Luca and Felice, Marco Di and Loscri, Valeria and Molinaro, Antonella and Natalizio, Enrico and Pace, Pasquale and Ruggeri, Giuseppe and Trotta, Angelo and Zema, Nicola Roberto 2014] and Fraglets [Tschudin, Christian 2003;Yamamoto, Lidia and Schreckling, Daniel and Meyer, Thomas 2007]. ...
Preprint
Full-text available
Routing plays a fundamental role in network applications, but it is especially challenging in Delay Tolerant Networks (DTNs). These are a kind of mobile ad hoc networks made of e.g. (possibly, unmanned) vehicles and humans where, despite a lack of continuous connectivity, data must be transmitted while the network conditions change due to the nodes' mobility. In these contexts, routing is NP-hard and is usually solved by heuristic "store and forward" replication-based approaches, where multiple copies of the same message are moved and stored across nodes in the hope that at least one will reach its destination. Still, the existing routing protocols produce relatively low delivery probabilities. Here, we genetically improve two routing protocols widely adopted in DTNs, namely Epidemic and PRoPHET, in the attempt to optimize their delivery probability. First, we dissect them into their fundamental components, i.e., functionalities such as checking if a node can transfer data, or sending messages to all connections. Then, we apply Genetic Improvement (GI) to manipulate these components as terminal nodes of evolving trees. We apply this methodology, in silico, to six test cases of urban networks made of hundreds of nodes, and find that GI produces consistent gains in delivery probability in four cases. We then verify if this improvement entails a worsening of other relevant network metrics, such as latency and buffer time. Finally, we compare the logics of the best evolved protocols with those of the baseline protocols, and we discuss the generalizability of the results across test cases.
... One field of application of this concept is Wireless Sensor Networks (WSNs), for which previous works have proposed e.g. CA [15,16], distributed EAs [17,18] and distributed Genetic Programming (GP) [19,20] to evolve the sensor nodes' parameters and functioning logic. However, robotics is the area where distributed EAs have shown their greatest potential so far. ...
Preprint
Full-text available
In several network problems the optimum behavior of the agents (i.e., the nodes of the network) is not known before deployment. Furthermore, the agents might be required to adapt, i.e. change their behavior based on the environment conditions. In these scenarios, offline optimization is usually costly and inefficient, while online methods might be more suitable. In this work, we use a distributed Embodied Evolution approach to optimize spatially distributed, locally interacting agents by allowing them to exchange their behavior parameters and learn from each other to adapt to a certain task within a given environment. Our results on several test scenarios show that the local exchange of information, performed by means of crossover of behavior parameters with neighbors, allows the network to conduct the optimization process more efficiently than the cases where local interactions are not allowed, even when there are large differences on the optimal behavior parameters within each agent's neighborhood.
... GP has been applied to a wide range of problems, including symbolic regression, image classification, pattern recognition, software development, automated learning, information retrieval, finance, and medicine. Program generation for sensor nodes [134] and parallel evolutionary computing models in WSN [60] are examples of GP applications in networking. ...
Article
Full-text available
In this paper, a comprehensive survey of evolutionary computation (EC) methods for cybersecurity of mobile ad hoc networks (MANETs) is presented. Typically, EC methods are named based on the natural processes inspiring them, such as swarm intelligence (e.g., ant colony optimization, artificial bee colony, and particle swarm optimization), evolutionary algorithms (e.g., genetic algorithms, genetic programming, grammatical evolution, and differential evolution), artificial immune systems, and evolutionary games analyzing strategic interactions among different population types. We introduce these methods with their typical applications, and commonly used algorithms to improve cybersecurity within the scope of MANETs. Ongoing and speedy topology changes, multi-hop communication, non-hierarchical organization, and power and computational limitations are among the intrinsic characteristics of MANETs causing cybersecurity vulnerabilities. We describe basic defense mechanisms in MANETs for vulnerability detection, attack deterrence, prevention and recovery, and risk mitigation. We classify principal applications of EC as intrusion detection, trust management, and cryptography in cybersecurity systems to counter measure adversarial activities.
... Evolutionary computation is also an emerging research area for wireless sensor networks. The first study on this area (Johnson et al., 2005) investigates a suitable framework for performing genetic programming on a wireless sensor nodes. EC could be a good candidate for many NP-hard problems in the field. ...
Chapter
Full-text available
Intrusion detection is an indispensable part of a security system. Since new attacks are emerging every day, intrusion detection systems (IDS) play a key role in identifying possible attacks to the system and giving proper responses. IDSs should adapt to these new attacks and attack strategies, and continuously improve. How to develop effective, efficient and adaptive intrusion detection systems is a question that researchers have been working on for decades. Researchers have been exploring the suitability of different techniques to this research domain. The evolutionary computation inspired from natural evolution is one of the approaches increasingly studied. Some characteristics such as producing readable outputs for security experts, producing lightweight solutions, providing a set of solutions with different trade-offs between conflict objectives, make these techniques a promising candidate for the problem. In this study, we survey the proposed intrusion detection approaches based on evolutionary computation techniques found in the literature. Each major research area on intrusion detection is investigated thoroughly from the evolutionary computation point of view. Possible future research directions are also summarized for researchers.
... In this method, environment clustering and finding an optimum CH are done by GA. Of other presented methods, we can refer to BEA(BA)method [16]. In this method, clustering is based on GA. ...
Article
Full-text available
In this paper, we present a method by which we can significantly reduce energy consumption in sensor networks. In the proposed method, finding an optimum Cluster Head (CH) is performed by Genetic Algorithm (GA) and clustering the network environment is done by k-means algorithm. The results of simulation show that at the end of some certain part of running the proposed algorithm, the number of alive nodes increases, comparing with the same previous methods and this can lead to an increase in sensor network lifetime.
Chapter
The ease of use and re-configuration in a wireless network has played a key role in their widespread growth. The node deployment problem deals with an optimal placement strategy of the wireless nodes. This paper models a wireless sensor network, consisting of a number of nodes, and a unique sink to which all the information is transmitted using the shortest connecting path. Traditionally the systems have used Genetic Algorithms for optimal placement of the nodes that usually fail to give results in problems employing large numbers of nodes or higher areas to be covered. This paper proposes a hybrid Genetic Programming (GP) and Genetic Algorithm (GA) for solving the problem. While the GP optimizes the deployment structure, the GA is used for actual node placement as per the GP optimized structure. The GA serves as a slave and GP serves as master in this hierarchical implementation. The algorithm optimizes total coverage area, energy utilization, lifetime of the network, and the number of nodes deployed. Experimental results show that the algorithm could place the sensor nodes in a variety of scenarios. The placement was found to be better than random placement strategy as well as the Genetic Algorithm placement strategy.
Conference Paper
Full-text available
Some problems can be solved only by multiagent teams. In using genetic programming to produce such teams, one faces several design decisions. First, there are questions of team diversity and of breeding strategy. In one commonly used scheme, teams consist of clones of single individuals; these individuals breed in the normal way and are cloned to form teams during fitness evaluation. In contrast, teams could also consist of distinct individuals. In this case one can either allow free interbreeding between members of different teams, or one can restrict interbreeding in various ways. A second design decision concerns the types of coordination-facilitating mechanisms provided to individual team members; these range from sensors of various sorts to complex communication systems. This paper examines three breeding strategies (clones, free, and restricted) and three coordination mechanisms (none, deictic sensing, and name-based sensing) for evolving teams of agents in the Serengeti world, a simple predator/prey environment. Among the conclusions are the fact that a simple form of restricted interbreeding outperforms free interbreeding in all teams with distinct individuals, and the fact that name-based sensing consistently outperforms deictic sensing.
Article
Full-text available
This chapter describes recent advances in genetic programming of machine code. Evolutionary pro- gram induction of binary machine code is one of the fastest GP methods and the most well studied linear approach. The technique has previously been known as Compiling Genetic Programming System (CGPS) but to avoid confusion with methods using an actual compiler and to separate the system from the method, the name has been changed to Automatic Induction of Machine Code with Genetic Programming (AIM-GP). AIM-GP stores individuals as a linear string of native binary ma- chine code, which is directly executed by the processor. The absence of an interpreter and complex memory handling allows increased speed of several orders of magnitudes. AIM-GP has so far been applied to processors with a fixed instruction length (RISC) using integer arithmetics. This chapter describes several new advances to the AIM-GP method which are important for the applicability of the technique. Such advances include enabling the induction of code for CISC processors such as the most widespread computer architecture INTEL x86 as well as JAVA and many embedded processors. The new technique also makes AIM-GP more portable in general and simplifies the adaptation to any processor architecture. Other additions include the use of floating point instructions, control flow in- structions, ADFs and new genetic operators e.g. aligned homologous crossover. We also discuss the benefits and drawbacks of register machine GP versus tree-based GP. This chapter is meant to be a directed towards the practitioner, who wants to extend AIM-GP to new architectures and application domains.
Conference Paper
Full-text available
We present the result of our work on use of genetic programming for evolving social behavior of agents situated in inherently cooperative environment. We use predators-prey pursuit problem to verify our hypothesis that relatively complex social behavior may emerge from simple, implicit, locally defined, and therefore - robust and highly-scalable interactions between the predator agents. We propose a proximity perception model for the predator agents where only the relative bearings and the distances to the closest predator agent and to the prey are perceived. The instance of the problem we consider is more realistic than commonly discussed in that the world, the sensory and moving abilities of agents are continuous; and the sensors of agents feature limited range of "visibility". The results show that surrounding behavior, evolved using proposed strongly typed genetic programming with exception handling (STGPE) emerges from local, implicit and proximity-defined interactions between the predator agents in both cases when multi-agents systems comprises (i) partially inferior predator agents (with inferior moving abilities and superior sensory abilities) and with (ii) completely inferior predator agents. In the latter case the introduction of short-term memory and explicit communication contributes to the improvement of performance of STGPE.
Conference Paper
Full-text available
In order to retain some degree of decision-making ability in a complex and dynamic environment, there have been many attempts to build autonomous mobile robots. However, conventional methods pay little attention to the unreliability of sensors. Because of corruption by noise and differences in sensitivity, even the same kinds of sensors show different observations under the same conditions. This causes a problem in that a minor change to the environment of the sensor system has a great influence on the perceptual ability of the robot. To improve the reliability of the sensors, we present a method for the evolutionary calibration of sensors using genetic programming as the calibration mechanism. In our approach, the sensor calibration logic is implemented on evolvable hardware. Therefore, as the learning goes on, the sensor interpretation circuit reconfigures itself to a more suitable form at run-time. Through two experiments on different tasks, we confirmed that our method significantly improved the correctness of interpretation
Article
We present the result of our work on use of genetic programming for evolving social behavior of agents situated in inherently cooperative environment. We use predators-prey pursuit problem to verify our hypothesis that relatively complex social behavior may emerge from simple, implicit, locally defined, and therefore - robust and highly-scalable interactions between the predator agents. We propose a proximity perception model for the predator agents where only the relative bearings and the distances to the closest predator agent and to the prey are perceived. The instance of the problem we consider is more realistic than commonly discussed in that the world, the sensory and moving abilities of agents are continuous; and the sensors of agents feature limited range of "visibility". The results show that surrounding behavior, evolved using proposed strongly typed genetic programming with exception handling (STGPE) emerges from local, implicit and proximity-defined interactions between the predator agents in both cases when multi-agents systems comprises (i) partially inferior predator agents (with inferior moving abilities and superior sensory abilities) and with (ii) completely inferior predator agents. In the latter case the introduction of short-term memory and explicit communication contributes to the improvement of performance of STGPE.
Article
We envision a future in which clouds of microcomputers can be sprayed in an environment to provide, by spontaneously networking with each other, an endlessly range of futuristic applications. However, beside the vision, spraying may also act as a powerful metaphor for a range of other scenarios that are already under formation, from ad-hoc networks of embedded and mobile devices to worldwide distributed computing. After having detailed the different spray computers scenarios and their applications, this paper discusses the issues related to the design and development of spray computer applications, issues which call for novel approaches exploiting self-organization and emergent behaviors as first-class tools. Finally, this paper presents the key research efforts being taken in the area and attempt at defining a rough research agenda. ########: Spray Computers, Bottom-up Software Engineering, Self-organization, Emergent Behaviors. 1.
Article
The Object-Based Media Group at the MIT Media Laboratory is developing robust, self-organizing programming models for dense ensembles of ultra-miniaturized computing nodes which are deployed by the thousands in bulk fashion, e.g. embedded into building materials. While such systems potentially offer almost unlimited computation for multimedia purposes, the individual devices contain tiny amounts of memory, lack explicit addresses, have wireless communication ranges only in the range of millimeters to centimeters, and are expected to fail at high rates. An unorthodox approach to handling of multimedia data is required in order to achieve useful, reliable work in such an environment. We describe the hardware and software strategies, and demonstrate several examples showing the processing of images and sound in such a system.
Conference Paper
We envision a future in which clouds of microcomputers can be sprayed in an environment to provide, by spontaneously networking with each other, an endlessly range of futuristic applications. However, beside the vision, spraying may also act as a powerful metaphor for scenarios such as ad-hoc networks and P2P computing. In this paper we: detail the different spray computers scenarios and their applications; discuss the issues related to the design and development of spray computer applications, calling for novel approaches exploiting self-organization and emergent behaviors as first-class tools; present the key research efforts being taken in the area; try to define a research agenda.