The Grand Challenges in Natural Computing Research

12
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:

Transcript of The Grand Challenges in Natural Computing Research

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.