The Grand Challenges in Natural Computing Research:
The Quest for a New Science
Abstract: The fundamental premise of Natural Computing is that nature computes,
and that computing capability has to be understood, modeled, abstracted and used for
different objectives and in different contexts. Therefore, it is necessary to propose a
new language capable of describing and allowing the comprehension of natural
systems as a union of computing phenomena, bringing an information processing
perspective to nature. To develop this new language and convert the Natural
Computing in a new science is imperative to overcome three specific Grand
Challenges in Natural Computing Research will be detached: Transforming Natural
Computing into a Transdisciplinary Discipline, Unveiling and Harnessing Information
Processing in Natural Systems, Engineering Natural Computing Systems.
Keywords: natural computing, natural computing systems, computer science,
information processing, natural science, transdisciplinarity.
1 Computing: Now and Then
Since the early days of computing, by the 1940s, researchers have been interested in tracing
parallels and designing computational models and abstractions of natural phenomena. A
pioneer example in this direction was the work performed by McCulloch and Pitts (1943),
in which they proposed a logical model of how neurons process information. With the
advent of computers, this type of research became even broader and deeper. New,
interdisciplinary areas of investigation emerged based on efforts combining a natural
science, e.g., Biology, Physics and Chemistry, with Computing. Examples include the
Artificial Neural Networks, Evolutionary Algorithms, Artificial Immune Systems, and
many others.
Not so long ago these research fields existed by themselves in a disconnected fashion, but
by the early to mid 2000, the first volume of the pioneer Natural Computing journal was
released (Rozenberg, 2002) and the first textbook of the field was published (de Castro,
2006). With these initiatives, the field became more consistent and gained the status of
discipline.
Computing promoted a major revolution in all sciences and life as a whole. Its capability of
automatically and quickly processing information gave birth to various solutions and
discoveries, from genome sequencing to weather forecasting. Computing is now ubiquitous
and the way we interact with computers is changing rapidly as well. People relate, check-in
to places, talk, share data, etc., all via networked computers. Even the interface is changing,
computers no longer need to have a keyboard and a mouse, they can be used to synthesize
Nature, to design algorithms for solving complex problems, and many other functions. It is
now time to raise an important question:
What is the future of computing?
A deep exploration of such question in any science, beyond computing, gives rise to what
can be called the Grand Challenges. The advancement of all areas, including computing,
requires a deep thinking about its current status and what are the main challenges to be
transposed, so that major breakthroughs can be achieved. Over the World, Grand
Challenges have been discussed in areas such as Global Health (e.g., The Grand Challenges
in Global Health – http://www.grandchallenges.org), but have received a lot of attention in
Computer Science (e.g., the USA CRA Conference on Grand Research Challenges in
Computer Science and Engineering – http://www.cra.org; the UK Grand Challenges in
Computing Research – http://www.ukcrc.org.uk; and the Brazilian Grand Challenges in
Computer Science – http://www.sbc.org.br).
The Grand Challenges aim at defining research questions that will be important for science
and technology in the long term, identifying and characterizing grand research problems.
These will allow the formulation of R&D projects capable of producing major scientific
advancements, with practical applications for society and technology. For a theme to be
considered a Grand Challenge it has to satisfy some premises, such as an emphasis in
advancing science, a vision beyond specific projects, a clear and objective success
evaluation, and it has to be ambitious and visionary. Examples of Grand Challenges in
Computing include the management of information in massive volumes of distributed,
multimedia data, the computational modeling of complex systems, an investigation into the
impact of the transition from silicon to other technologies, a more participatory and
universal access to knowledge and information, and a high quality technology development
(http://www.sbc.org.br).
The discussion addressed in this text is more related to the Grand Challenges in Natural
Computing Research than to specific topics within the field. This is primarily motivated by
two perceptions. Over the past years, an uncountable number of natural computing
approaches, for instance, algorithms based on fireworks (Tan & Zhu, 2010), cockroaches
(ZhaoHui & HaiHan, 2010) and many others, have been proposed (de Castro, 2007; Kari &
Rozenberg, 2008; Johnson, 2009). Computer Science by itself is changing rapidly, also
pushed by the Natural Computing contributions. Therefore, and bearing in mind the focus
on Natural Computing of this work, the previous question can be narrowed down to:
What is the future of Natural Computing?
Before trying to answer this particular question, there is a more fundamental one to be
discussed: What is computing? There have been tentative answers to this question in
various contexts and, thus, computing is leaving the Computer Science domain to broader
perspectives. Among them, there are the ones fully related to the understanding of Nature
within the Natural Computing context (de Castro, 2006). An important conclusion of this
research is that Nature computes; in other words, Nature is an Information Processor.
Several researchers have already started to investigate Nature as an information processing
system, providing some insights into how natural phenomena occur (Cohen, 2009;
Schwenk et al., 2009; Denning, 2007; Brent & Buck, 2006; de Castro, 2006).
A straightforward, though, important conclusion is that computing is not a human
invention; it already exists in the Universe and is responsible for its very origin. Thus, there
is natural and artificial computing. And artificial computing makes use of Nature itself to
work, but in a way that is manipulated by humans. The hypothesis, thus, becomes “Is
Computer Science a Natural Science?” (Denning, 2007). This hypothesis rises another
question “Why studying natural systems and what are the advantages and benefits of this
study?” The answer to this question becomes clearer with the maturation of Natural
Computing over the past decades. It is now evident that Nature is, in essence, a problem
solver and transposing Nature’s methods to computing and engineering makes it possible to
solve challenging problems found in these and virtually any other area.
This context paves the ground to present Natural Computing within a New Computing
Paradigm. We feel that it is time to move forward and start thinking about a New Science
based on Natural Computing. To do so, it is necessary to have some further advancements
in the field and, more importantly, to break some paradigms. These will be called here The
Grand Challenges in Natural Computing Research. Section 2 briefly reviews and extends
the Natural Computing scope, and Section 3 introduces the Grand Challenges in Natural
Computing Research. The work is concluded in Section 4 with a critical discussion of what
has been proposed here.
2 What is Natural Computing?
Computing can be found in three different contexts within Natural Computing: complex
problem solving, synthesis of natural phenomena, and computing with novel natural
materials (de Castro, 2007). In all cases, a proper understanding of natural phenomena is
the basis for new ideas and for the understanding of how computing is realized. Such
understanding is often obtained through the use of computer modeling, for instance, planet
dynamics (Cohen, 2000), immunology (Hart et al., 2007), chemical reaction networks
(Bersini et al., 2006), bacteria (Xavier et al., 2011), species diversity (Gavrilets & Vose,
2005), among many others (e.g. Bersini & Lenaerts, 2009; Cohen, 2009; De Aguiar et al.,
2009; Cohen & Harel, 2007; Gotelli & Kelley, 1993). These models have become so
important in the understanding of nature that a new natural computing branch is proposed
here to incorporate computer modeling of natural phenomena. Thus, natural computing can
now be defined as (Figure 1):
1. Computer modeling of natural phenomena: this branch investigates natural
phenomena by means of computer modeling;
2. Computing inspired by nature: it makes use of nature as inspiration for the
development of problem solving techniques. The main idea of this branch is to
develop computational tools (algorithms) by taking inspiration from nature for the
solution of complex problems.
3. Computational synthesis of natural phenomena: it is basically a synthetic process
aimed at creating life-like patterns, forms, behaviors, and organisms. Its products
can be used to mimic various natural phenomena, thus increasing our understanding
of nature and insights about “life-as-we-know-it” and “life-as-it-could-be”.
4. Computing with novel natural materials: this branch focuses on the use of natural
materials, different from silicon, to perform computation, thus constituting a true
novel computing paradigm that comes to complement or supplement the current
silicon-based computers.
Figure 1: Natural Computing and its four branches.
The fundamental premise of Natural Computing is that nature computes, and that
computing capability has to be understood, modeled, abstracted and used for different
objectives and in different contexts. Therefore, it is necessary to propose a new language
capable of describing and allowing the comprehension of natural systems as a union of
computing phenomena, bringing an information processing perspective to nature. This
introduces the following definition for Natural Computing:
Natural computing is a science concerned with the investigation and design
of the information processing in natural and computational systems.
Based on Biology, Physics, Chemistry, Engineering and Computer Science, it emerges as a
new science with transdisciplinary concepts aimed at understanding computing in nature
and applying it in several different contexts, from a better comprehension of nature to the
design of novel complex problem solving tools. This aim and scope give rise to the Grand
Challenges in Natural Computing Research.
3 The Grand Challenges in Natural Computing Research
If one is to pursue the maturity of the field and a position that reflects its broadness of scope
and applications, Natural Computing would necessarily become a New Science. To reach
that maturity level, three specific Grand Challenges in Natural Computing Research will be
detached: Transforming Natural Computing into a Transdisciplinary Discipline, Unveiling
and Harnessing Information Processing in Natural Systems, Engineering Natural
Computing Systems.
Natural
Computing
Computer
Modeling
of Nature
Nature-
Inspired
Computing
Computer
Synthesis
of Nature
Computing
with New
Materials
3.1 Transforming Natural Computing into a Transdisciplinary Discipline
As with all major research areas, Natural Computing is maturing. Its maturation can be seen
in the disciplinary approaches (Jantsch, 1972): multi- and interdisciplinary, throughout
time, from the past to the present and until the stage Natural Computing should be:
transdisciplinarity. But, before delving into the need to transform Natural Computing into a
transdisciplinary science, it is important to understand its multi- and interdisciplinary
natures.
Multidisciplinarity, which refers to knowledge associated with more than one discipline,
has been the basis for the proposal and existence of Natural Computing. The literature is
permeated with Natural Computing works based on Biology, Physics, Chemistry and
Computer Science. Algorithms inspired by how the immune system responds to pathogens,
how evolution occurs in nature, how brains process information and how insects solve
foraging and other problems form part of the core of the field. In all cases, knowledge
specific from one field, for instance entomology, has to be acquired and used in conjunction
with knowledge from another field (e.g., computer science) so that new algorithms are
designed.
Interdisciplinarity, that is, new knowledge extensions between or beyond disciplines, or the
combination of disciplines into a new single one, has also been part of the origins for
Natural Computing. Artificial Neural Networks, Evolutionary Algorithms, Artificial
Immune Systems, Swarm Intelligence, Artificial Life, Fractal Geometry, Molecular
Computing and Quantum Computing are all interdisciplinary approaches by themselves
that are part of Natural Computing. As a single discipline, it was formalized in 2006 (de
Castro, 2006) and later on in 2007 (de Castro, 2007) with the publication of the first
textbook of the field, though there were already some initiatives around the world
concerning courses and journals dedicated to the subject. Thus, this new discipline
borrowed concepts from the natural and computer sciences to introduce computing related
to nature, incorporating several interdisciplinary proposals already available.
The next step in Natural Computing Research corresponds to the Grand Challenge
proposed here: to reach the unicity of knowledge in a single language and, thus, formalize
natural computing as a science that has as main goal to understand computing in natural
phenomena and use it for diverse applications. As such, the fundamental sciences no longer
exist as we know them, but within the Natural Computing context. The meaning and
complexity of this challenge reside in the following question:
How to transpose Natural Computing into a transdisciplinary context?
To illustrate the role of natural computing and this Grand Challenge, Figure 2 depicts how
the inter-, multi- and transdisciplinarity maturation of Natural Computing has occurred.
(a)
(b)
Natural
Computing
Biology
Physics
Chemistry
Computer
Science
Natural
Computing
Biology
Physics
Chemistry
Computer
Science
Figure 2: Relationships among the various fundamental disciplines and Natural Computing
computing uses ideas from Biology, Physics, Chemistry and Computer Science in a multidisciplinary
approach. (b) Knowledge is exchanged among disciplines so as to promote Natural Computing.
Science emerges uniting knowledge from variou
not present specific boundaries among disciplines
A transdisciplinary research requires
with a common goal: to create a more holistic
means that, instead of a collaboration of disciplines
that lies within a context beyond the
introduced by Jean Piaget in 1970, defines
be assumed a core element in the Natural Computing concept as a new science, aggregating
the proposition of a new language
Its fundamentals reside in the knowledge available from nature in Physics, Chemistry,
Biology, Engineering and Computer Science.
Computing umbrella, Natural Computing
Computer Science does not directly
steps towards the understanding of computing in nature,
from the continuous universe of Nature
methodology currently employed
3.2 Unveiling and Harnessing
In 1983, Richard Feynman told his Caltech students: “Computer science differs from
physics in that it is not actually a science. It does not study natural objects. Neither is it
Computer
Science
(c)
Relationships among the various fundamental disciplines and Natural Computing
computing uses ideas from Biology, Physics, Chemistry and Computer Science in a multidisciplinary
approach. (b) Knowledge is exchanged among disciplines so as to promote Natural Computing.
Science emerges uniting knowledge from various disciplines, thus creating a more holistic approach
not present specific boundaries among disciplines.
research requires the use of knowledge from two or more disciplines
with a common goal: to create a more holistic, boundary-free, approach. Transdisciplinarity
a collaboration of disciplines, it is a unicity of organized thinking
that lies within a context beyond the individual disciplines themselves. The term
1970, defines well the idea of what we are looking for
be assumed a core element in the Natural Computing concept as a new science, aggregating
the proposition of a new language to the understanding of computing in natural phenomena.
in the knowledge available from nature in Physics, Chemistry,
and Computer Science. Under the transdisciplinary Natural
, Natural Computing is itself a Natural Science. The knowledge within
directly explain natural phenomena, but gives birth
steps towards the understanding of computing in nature, aiding, for instance,
from the continuous universe of Nature to the discrete universe of C
employed by all algorithms and models from Natural C
Unveiling and Harnessing Information Processing in Natural Systems
In 1983, Richard Feynman told his Caltech students: “Computer science differs from
physics in that it is not actually a science. It does not study natural objects. Neither is it
Natural
Computing
Biology
Physics
Chemistry
Computer
Science
Relationships among the various fundamental disciplines and Natural Computing. (a) Natural
computing uses ideas from Biology, Physics, Chemistry and Computer Science in a multidisciplinary
approach. (b) Knowledge is exchanged among disciplines so as to promote Natural Computing. (c) A New
, thus creating a more holistic approach that does
the use of knowledge from two or more disciplines
Transdisciplinarity
a unicity of organized thinking
The term, originally
we are looking for, and can
be assumed a core element in the Natural Computing concept as a new science, aggregating
to the understanding of computing in natural phenomena.
in the knowledge available from nature in Physics, Chemistry,
the transdisciplinary Natural
The knowledge within
birth to the first
aiding, for instance, the moving
Computers, the
Computing.
Information Processing in Natural Systems
In 1983, Richard Feynman told his Caltech students: “Computer science differs from
physics in that it is not actually a science. It does not study natural objects. Neither is it
mathematics. It’s like engineering – about getting to do something, rather than dealing with
abstractions.” (Feynman, 1996). This concept of Computer Science was consistent with
how researchers from other fields understood computers and computing. However, some
researchers saw computing as a natural science, for information processing had been
observed in the realm of various phenomena, in different fields of investigation.
Nobel Laureate and Caltech President David Baltimore commented: “Biology is today an
information science.” (Denning, 2001). The classic definition of computing is obsolete:
computer science is, in essence, the study of natural and artificial information processes
(Denning, 2007). However, if computing is concerned with information processing, either
natural or artificial, it is necessary to first answer the following question: What is
information?
According to Seth Lloyd, information is a measure of order, a universal measure applicable
to any structure or system (Lloyd, 2006). Thus, information quantifies the instructions
necessary for the production of an organization. This concept of information naturally leads
to the perspective of Nature as an information processor: from a set of information one
obtains, by means of processing, a different set of information.
Natural sciences research has, for long, described Nature based on informational events that
occur in the Universe. Thus, one can suggest that these sciences are, in essence, particular
languages continuously built to describe and understand information processing
(Computing) that guides Natural Systems. Natural Sciences are, therefore, endowed with
many languages to describe the same fundamental principles, to elucidate the same
fundamental phenomenon: information processing – computing.
An example of computing going on in nature is related to bacteria colony behavior.
Bacteria colonies behave like multicellular organisms, with cell differentiation, task
allocation, memory, and, in some cases, even modules that act like reproduction organs
(Xavier et al., 2011). Thus, each bacterium must be able to sense and communicate with
other units in the colony to perform its task in a coordinated manner. The cooperative
activities carried out by members of the colony generate a social intelligence, which allows
the colony to learn from their environment. In other words, bacterial intelligence depends
on the interpretation of chemical messages and distinction between internal and external
information. Then a colony can be viewed as a system that analyzes contextual information
from its environment, generates new information and retrieves information from the past
through a process on two levels:
1. The processing performed by a molecular network of individual bacteria, and
2. The processing of information carried out by the network of molecular
communication that forms the colony and its interaction with the environment.
From a classical perspective of a computer system, based on Von Neumann’s architecture,
a colony of bacteria represents a computer system with memory and a control/processing
unit with input-output processes. The main conceptual difference between the classical
view and a bacteria colony is that in the latter processing occurs in distinct levels of
abstractions, in a hierarchical and distributed manner.
This example, which presented in a basic form the information processing in a colony of
bacteria, was built based on the following sequence of steps:
1. A proper understanding of the natural phenomenon;
2. The identification of the information processes of the natural phenomenon; and
3. The formalism of the natural system as a computational one.
The first and second steps are related to the Grand Challenge of consolidating Natural
Computing as a transdisciplinary science: the first step requires a strong involvement with
the basic science of the natural system under investigation, whilst the second step requires
the observation of the natural system behavior under a computational perspective. The third
step involves defining the computational architecture of the natural system. Altogether,
these three steps represent one of the Grand Challenges in Natural Computing Research: to
unveil and harness information processing in natural systems.
An important question has to be raised here:
What is the Natural Computing role in this Informational Natural Sciences era?
Overcoming this challenge will bring two important benefits to Computing and Nature:
1. A Rethinking (and probably Redesign) of Computing: since the early days of
computing, most computational devices are based on Turing Machines (TM) and
the Von Neumann (VN) architecture. More recently, computing with molecules,
photons, and other types of natural materials has been considered. In some cases,
data representation, storage and processing are performed in completely different
forms from those currently known to most of us. The question is: Why do we still
compute using the same, old-fashioned, TM/VN paradigms? As far as we properly
understand how information is processed in Nature and learn how to use it for
computing, a completely new perspective on computing may arise.
2. A New Form of Interacting With and Using Nature: the way humans interact with
Nature has gone from the extraction and cultivation of animal and food to the
observation of phenomena for the design of novel complex problem solving
algorithms. The former has been the basis of our very existence so far, and the latter
has been broadly used by Natural Computing researchers to innovate and solve
problems in various knowledge domains. Unveiling and harnessing the information
processing of Nature will inevitably force us to go one level up in the evolutionary
scale; we will be able to interact with Nature more organically, symbiotically, not
only for providing us shelter and food in a sustainable manner, but for helping us to
harness its power for computing.
3.3 Engineering Natural Computing Systems
Natural Sciences (Ledoux, 2002) are concerned with the study and formalism of natural
phenomena. Mathematical and computer models of these phenomena are designed, either
for a better understanding of nature, or for being applied to problem solving. In order to
develop such models, it is necessary to gather knowledge about the structure, dynamics and
metadynamics present in natural phenomena, and these have to be incorporated in the
models.
The level of knowledge about the natural phenomenon to be modeled will be defined by the
specialization level required by the goal defined. If the goal is solving a specific problem, a
low fidelity may be sufficient to provide the model with the necessary characteristics for
solving that specific problem. However, if the goal is to synthesize, e.g. simulate in
computers, the very phenomenon, the fidelity to Nature must be high, compatible with the
accuracy required by the model.
The dynamics in a natural phenomenon is normally described by mathematical models
(Monteiro, 2006), often involving complex equations. This may compromise its
understanding, interpretation and minimize the involvement of researchers from natural
sciences within Natural Computing. In a natural phenomenon, dynamics presents itself in
several forms of chemical, physical and biological signaling, and these are usually control
parameters in diverse levels of a natural phenomenon.
Self-organization, present in natural phenomena, adjusts these parameters aiming at
maintaining an optimal environment for the occurrence and/or maintenance of the
phenomenon as a whole. Dynamically adjusting parameters presents itself as a challenge in
the construction of computer models (Astrom, 1977; Back, T. & Schwefel, 1993; Lavesson
& Davidsson, 1999), independently of their complexity. By contrast, computational models
allow researchers to tune parameters as required by a given investigation.
Natural Computing faces the challenge of building computational models of natural
phenomena that are comprehensible and plausible for natural science researchers, at the
same time they are in accordance with software engineering concepts. The one responsible
for building the computer model is the communication channel between the natural and
computing sciences. The question raised here is:
How to appropriately engineer Natural Computing systems and devices?
When building a computational model based on nature it is necessary to bear in mind how
the features present in natural phenomena, such as parallelism, distributivity, self-
organization and emergent behavior will be computationally modeled (de Castro, 2006). At
the same time, software engineering questions such as modularity, usability, reusability,
storage, input and output of data (Pressman, 2001) must be considered so that the system or
device developed is effective in relation to its main goal.
4 Discussion
From a global perspective, Natural Computing represents an environment of intellectual
synergy that instigates the scientific community to reflect and rethink ideas and proposals
in a transdisciplinary way. To build this environment, the following questions must be
constantly revisited and updated:
What is information?
What is computing?
How computing can limit our knowledge?
How computing in natural systems can expand our knowledge?
The exploration of these questions can be the departure point for the development of
Natural Computing as a robust science that serves the purpose of representing a common
language for scientists to discuss the computational processes of natural systems. It is
necessary to establish this two-way road between natural and artificial systems, having
Natural Computing as a transdisciplinary bridge for new discoveries and interactions.
This work raised the question “what is the future of Natural Computing research”. This
question is relevant, because what has been seen over the past years is a number of
publications in the field which, in some cases, boil down to the same approach designed
with a different metaphor. Also, the field has matured and grown, but still lacks a more
coherent analysis and more consistent guidelines of where to go and how to grow and
mature. Based on these, it has been proposed three Grand Challenges in Natural Computing
Research: Transforming Natural Computing into a Transdisciplinary Discipline, Unveiling
and Harnessing Information Processing in Natural Systems, Engineering Natural
Computing Systems. The final goal is a single one: To transform Natural Computing into a
New Science.
References
Astrom, K.J.; Borisson, U.; Ljung L.; & Wittenmark, B. (1977), Theory and applications of
self-tuning regulators, Automatica, vol. 13, no.5, pp. 457-476.
Back, T.; & Schwefel, H. (1993). An Overview of Evolutionary Algorithms for Parameter
Optimization, Evolutionary Computation, vol. 1, no.1, pp. 1-23.
Bersini, H., Lenaerts T. and Santos, F. (2006). Growing Biological Networks: Beyond the
Gene Duplication Model, Journal of Theoretical Biology, vol. 241, no.3, pp. 488-505.
Brent R. and Bruck, J. (2006), Can computers help to explain biology?, Nature, vol. 440,
no. 23, pp. 416-417.
Cohen, I. R., & Harel, D. (2007), Explaining a complex living system: dynamics, multi-
scaling and emergence, Journal of Royal Society Interface, vol. 4, pp. 175-182.
Cohen, I. R. (2009). Real and artificial immune systems: computing the state of the body,
Nature Reviews: Immunology, vol.7, pp. 569-574.
Cohen, I. R. (2000), Tending Adam’s garden: evolving the cognitive immune self. London,
UK, Academic Press.
De Aguiar, M. A. M.; Barange, M.; Baptestini, E. M.; Kaufman, L., & Bar-Yam, Y. (2009).
Global patterns of speciation and diversity, Nature, vol 460. no. 16, pp. 384-387.
De Castro, L. N. (2007), Fundamentals of natural computing: an overview, Physics of Life
Review, vol. 4, pp. 1-36.
De Castro, L. N. (2006), Fundamentals of natural computing: basic concepts, algorithms,
and applications, CRC Press.
Denning, P. J., ed. (2001), The invisible future: The seamless integration of technology in
everyday life. New York: McGraw Hill, 45.
Denning, P. J. (2007), Computing is a Natural Science, Communications of the ACM, vol.
50, no. 7, pp. 13-18.
Feynman, R. P. (1996), The Feynman Lectures on Computation, edited by A. J. G. Hey and
R. W. Allen (Reading, MA: Addison-Wesley).
Gavrilets, S. e Aaron Vose, A. (2005), Dynamic patterns of adaptive radiation, PNAS, vol.
12, no. 50, pp. 18040-18045.
Gotelli, N. J.; Kelley, W. G. (1993), A General Model of Metapopulation Dynamics Oikos,
vol. 68, no. 1, pp. 36-44.
Hart, E.; Bersini, H. & Santos, F. (2007). How affinity influences tolerance in an idiotypic
network, Journal of Theoretical Biology, vol. 249, no. 3, pp. 422-436.
Johnson, C. (2009), Teaching Natural Computation, IEEE Computational Intelligence
Magazine, vol. 4, no. 1, pp. 24-30.
Kari, L.; Rozenberg, G. (2008). The Many Facets of Natural Computing, Communications
of the ACM, vol. 51, pp.72–83.
Lavesson, N.; Davidsson, P. (1999). Quantifying the Impact of Learning Algorithm
Parameter Tuning, AAAI'06 Proceedings of the 21st national conference on Artificial
intelligence , pp. 1165-1173.
Ledoux, S. F. (2002). Defining Natural Sciences, Behaviorology Today, vol. 5, no. 1, p. 34-
36.
Lenaerts, T., & H. Bersini (2009). A Synthon Approach to Artificial Chemistry, Artificial
Life, vol. 15, no. 1, pp. 89-103.
Lloyd, S. (2006). Programming the universe: a quantum computer scientist takes on the
cosmos, Knopf, New York.
McCulloch, W. and Pitts, W. H. (1943), A Logical Calculus of the Ideas Immanent in
Nervous Activity, Bulletin of Mathematical Biophysics, vol. 5, pp. 115–133.
Monteiro, L. H. A. (2006), Dynamic Systems, 2nd
Ed., Livraria da Física.
Pressman, R. S. (2001). Software Engineering: A Practitioner's Approach, 5th Ed.,
McGraw-Hill Press.
Rozenberg, G. (2002). Natural Computing: An International Journal, Springer.
Schwenk, K., Padilla, D.K., Bakkenand, G.S, e Full, R. J. (2009). Grand challenges in
organismal biology, Integrative and Comparative Biology, vol. 49, no. 1, pp. 7–14.
Tan, Y. & Zhu, Y. (2010), Fireworks Algorithm for Optimization, In. Advances in Swarm
Intelligence, LNCS, vol. 6145, no. 2010, pp. 355-364.
Xavier, R. S., Omar N., & de Castro, L. N. (2011). Bacterial Colony: Information
Processing and Computational Behavior, In Third World Congress on Nature and
Biologically Inspired Computing (NaBIC2011), pp. 446-450.
ZhaoHui, C. & HaiYan, T. (2010), Cockroach Swarm Optimization, In Second
International Conference on Computer Enginnering and Technology, vol. 6, pp. 652-655.