Conference PaperPDF Available

Evolutionary Structural Optimization in Shells Design

Authors:

Abstract and Figures

In the paper the application of a GA evolutionary algorithm to the structural optimisation of free-form architectural shell structures, as large concrete roofs, is shown. The attention is focused on the need of different computational tools and on the problems involved in multidisciplinary design, as the communication and information exchange. The procedure herein described can be applied to more general problems, involving not only the structural performance, but even functional and constructive requirements. The proposed implementation of the algorithm is efficient, robust and particularly capable to avoid local minimum convergence.
Content may be subject to copyright.
1
Evolutionary Structural Optimization
in Shells Design
Mario SASSONE1, Alberto PUGNALE2
1Department of Structural and Geotechnical Engineering
Politecnico di Torino
Viale Mattioli 39, I-10125 Torino, Italy
E-mail: mario.sassone@polito.it
2Department of Architectural and Industrial Design
Politecnico di Torino
Viale Mattioli 39, I-10125 Torino, Italy
E-mail: alberto.pugnale@polito.it
Abstract. In the paper the application of a GA evolutionary algorithm to the structural
optimisation of free-form architectural shell structures, as large concrete roofs, is
shown. The attention is focused on the need of different computational tools and on the
problems involved in multidisciplinary design, as the communication and information
exchange. The procedure herein described can be applied to more general problems,
involving not only the structural performance, but even functional and constructive
requirements. The proposed implementation of the algorithm is efficient, robust and
particularly capable to avoid local minimum convergence.
1 Introduction
The interest architects show for free-form structures has had a unexpected growth in
last years, as many new buildings testify, due mainly to their plastic capabilities and to
their similarity with organic shapes (Figure 1).
From the structural point of view free-form shells belong to the typology of shape-
resistant structures, in which the mechanical behavior is strictly related to the global
structural spatial configuration, rather than to the properties of individual members (as
for instance in the case of truss structures).
2
Figure 1: Example of free-form architecture
As a consequence, the search of the optimal shape requires a global, we could say
multidisciplinary, optimization process in which the structural performance, as well as
the architectural shape, the lighting control, the acoustic behavior, and all the
architectural problems involved in the project can find a suitable answer. During the
whole design process, starting from the early concept until the final construction in the
building site, architects and engineers need to work interactively on the project.
The organization of the design process involves architects, engineers and other
different professional figures into a continuous share of their specific skills, frequently
generating problems in communication and information exchange, due to the specific
education and professional approach to problems.
Nowadays architects usually work with the aid of three-dimensional CAD modelers,
and with design tools featured by powerful and user-friendly graphic interfaces, so that
creation and manipulation of architectural shapes becomes easy and intriguing. On the
other hand, for structural engineers the global shape is just the first step of a more
complex process of analysis of the structural behavior, usually performed with the aid of
computational tools as finite elements solver.
Same things can be said for other specific problems, like acoustics or construction
problems, in which the architectural shape needs to be analyzed, decomposed and
transformed in something real. Thus, the trial from the architectural concept to the
evaluation of the structural behavior and to construction is not a continuous, say ‘fluid’
process, but it involves many steps, interruptions and feedback, characterized by a
reinterpretation, a kind of ‘translation’ of the information produced at each stage.
Starting from this conceptual frame, the paper describes a process of structural
optimization of shell structures based on the application of an evolutionary algorithm.
The optimal shape is obtained iteratively as a converging sequence of intermediate
solutions. The attention is focused both on the efficiency of the algorithm and on the
problems related to the communications and information exchange required at each
iteration, pointing out the role of the architect in guiding the iterative process and in
checking the solution from the formal and architectural point of view.
3
2 NURBS Representation of Free Form Shell Structures
In free-form structures the global architectural or structural shape can not generally
described in terms of simple geometrical shapes. If one way to overcome this problem is
represented by substituting the desired surface with a discrete geometrical triangular
mesh, a more powerful and refined design tool consists in the approximation of the
desired surface in terms of Non Uniform Rational B-Splines (NURBS). This
mathematical formulation of surfaces has his antecedents in the Rational and Non-
Rational B-Splines and in the Bézier curves and surfaces, that represented an interesting
examples of intersection between different disciplines, if we consider that the
engineering problem of tracing suitable curves for automotive design found his solution
into an abstract topic of analysis, the so called Bernstein basis polynomials.
The NURBS belong to the category of parametric curves and surfaces, and they
become the standard for describing and modelling free-form shapes in computer aided
design (CAD) and in computer graphics. The surfaces represented by NURBS are
mainly defined by a control polyhedron (Figure 2), which vertices are called control
points, but there are also other parameters affecting the surface shape in its mathematical
definition: the basis functions, the degree, and the knots matrix.
Figure 2: Domain and control points of a surface NURBS representation.
This method of mathematically describing shapes allows an excellent local and
global control of free-form shapes, in all design problems where both aesthetic and
functional requirement are indispensable and the resulting curves or surfaces need to
agree with previously defined geometric boundary conditions.
What is of particular interest in this geometrical tool is the fact that a complex shape,
with variable Gaussian curvature, imposed borders, even self-intersections and specific
topological properties can be parametrically described by a finite set of real numbers.
This set of numbers contains all the information necessary to completely describe the
surface, even tough in a kind of coded form: the local and global geometrical properties
of the surfaces can not be directly inferred from the parameters. From this point of view
a parametric representation of a geometric entity is already analogous to the genotype of
4
a living being: more a rule from which the corresponding phenotype can be build rather
than a simple synthetic description. As it will shown in the sequel, the translation from
the shape to a parametrical representation (coding) and the translation from the code
back to the shape (decoding), are basic operations in genetic algorithm theory.
3 GA Heuristic Optimisation
After almost thirty year they have been described for the first time [HOLLAND 1975],
and after a large diffusion of theoretical studies and applications, the status of Genetic
Algorithms (GA) in the scientific research still does not seem to be well defined. As
many other mathematical models, starting from neural networks, going through fuzzy
logic, simulated annealing techniques, and arriving to particle swarm optimization, ant
colony optimization and the 'shuffled frog leaping' algorithm, all these approaches to the
solution of mathematical problems were born as a tentative to explain, or at least to
imitate, some natural phenomena related to the world of life. The history of neural
networks is quite interesting from this point of view: when they were described for the
first time [RUMELHART AND MC LELLAND, 1988] the contest was cognitive psychology
and the interest to the parallel microstructure of thought was in opposition with a more
synthetic "higher level" approach [MINSKY, 1985]. Only a few years after the
enthusiasm fade away, when scientists understood that having a local model of neuronal
behavior is quite different from being able to simulate the parallel interactions between
many billions of neurons.
In scientific literature we find papers on genetic algorithms under different branches:
in Operation Research (OP) they are classified as a heuristic or semi-heuristic technique
for combinatory optimization; in biology they are considered as a suitable model for
living beings natural evolution. In architecture and structural engineering we are mainly
concerned with their capability to explore a dominion of possible configurations looking
for the best one, form a specific point of view defined in the so called fitness function.
4 The Genetic Algorithm
The algorithm adopted in this work is based on a binary 8-bits coding of the control
point coordinates of a NURBS surface. If the surface has n control points, his coded
representation, the 'chromosome' is a binary vector of nx3x8 bits, being 3 the spatial
components of the control point position. A 8-bit representation of a real number,
included into a specific interval, means that the interval is discretised into 256 discrete
values. Each surface, assumed as the geometry of a free-form structure, is associated
with a fitness value, representing the structural performance of the surface itself. The
fitness can be evaluated by means of a structural analysis: depending on the kind of
problem a local (max displacement, max stress) or integral (elastic potential energy, or
some other measure of the global behaviour) value can be chosen.
If a coding criterion has been defined as well as a suitable fitness function, the
genetic algorithm can be implemented. It is important to focus that genetic algorithms
do not require any restrictions on the kind of problem they have to solve: the algorithms
do not know what is the entity represented by the code, the ‘signification’ of the code, as
well as they do not know what is the meaning of the fitness function. All that is required
by the algorithm is a correspondence between each chromosome and its fitness value.
5
Initially a set of m geometrical shapes is randomly generated, as the starting point of
the optimization process. Each shape is called 'individual' and the whole set is called
'population'. Starting from the initial random population the iterative procedure is made
of these steps:
each individual is coded, it means that from the geometric nx3 coordinates
representing the control point of the NURBS description of the shape, the nx3x8
binary vector is build;
the fitness off each individual is calculated: a finite element model of the structure
represented by each shape is build automatically, the analysis is performed and
the fitness value is calculated following the adopted criterion;
staring from the population and the fitness values at step i, a new set of shapes, it
means a new population, is generated for step i+1.
The procedure of creation of the new set of shapes at each step of the iterative
process is the core of the algorithm: the classical techniques are based on the crossover
procedure, the random mutation and the elitism method, but many combinations or
variations of these criteria can be adopted, in order to improve the convergence of the
algorithm.
It is important to know that the evolutionary optimization strategy is particularly
suitable when the function to be maximised is not regular and it is necessary to avoid
that the solution converges to a local maximum. This problem is very important in
optimisation theory and the largest part of classical algorithms, as the ones based on
gradient method, can not avoid this risk. At each iteration the evolutionary strategy
selects the best solutions, recombines them together by means of a binary coding
process (crossover and mutation), and creates a new generation of individuals. The
whole domain of solutions is explored (at each iteration) and the performance of each
generation of shapes improves, approaching to the optimal one.
5 Design Automation
The process of optimisation above described requires a set of computational tools:
first the NURBS, representing the architectural end structural shape, need to be managed
inside a graphic mathematical environment, as the one offered by a CAD software. The
commercial application adopted in this work is the McNeel Rhinoceros™ three-
dimensional graphic modeller, largely diffused both in the architects and designers
communities. Secondly a Finite Element structural solver is necessary for the
optimization process: the Ansys™ commercial application has been used. Finally a
generic programming environment in which develop the genetic algorithm is required.
The main task of this tool is to elaborate information and to exchange it with the
commercial applications: the real time communication between different software
applications is the most important problem to be solved. In order to simplify the
problem, the built-in Visual Basic interpreter Rhinoscript™, which is included in the
Rhinoceros™ CAD application, has been chosen. The interface between the visual basic
code and the graphic database of the CAD is managed by an object oriented language
included in the interpreter itself and integrated with the visual basic language. So that
half of the problem is solved. The communication with Ansys™ is made possible by
6
using text files exchanging, even though that is not the most efficient way, and by a
procedure of launching and synchronization that allow the VB code to call and to handle
the FEM solver.
Operating in this way the core of the optimisation process is the VB code
implemented in Rhinoscript language, that only deals with the parametric representation
of shapes and generates the geometrical description of finite element models (the
structural mesh and al the FEM input data), meanwhile the CAD operates with the
NURBS, generating them from parameters and allowing to extract from them all the
required information, and the FEM solver just receive at each iteration and for each
individual in the population an input data file and a call from the code, producing the
correspondent output result file.
At each iteration and for each individual all the information are available: the shapes
generated by the algorithm are of interest for the architect, who can follow the process
from his own aesthetic point of view; the engineer is concerned with structural
behaviour and can check the solutions iteratively generated trying to understand the
influence of the global shape on displacements, stress distributions, stability.
6 Tests, Applications and Results
The algorithm efficiency depends mainly on three factors: the fitness function, the
recombining strategy of the individuals (elitism, roulette wheel, crossover) and the
mutations ratio. No general calibration criteria are allowable for these parameters: but in
each single case is opportune to test some times the whole algorithm and analyze its
results to modify at best its configuration values. A bad definitions of them could cause
a ‘genetic drift’, that means all the individuals have the same genetic features and it is
not possible an evolution yet, a long time to find the optimal solution, a result that is not
the optimal one but a little lower (stopped by a local maximum). The numbers of
individuals, the number of generations and the encoding method are other important
parameters.
After some launches of the genetic algorithm based on this first test configuration, it
is possible to evaluate advantages and disadvantages of these parameters for this specific
case. The fitness function is the most important parameter to be defined for a good
evaluation and an efficient selection of the individuals. In this first test, the typology of
the evaluated shape belongs to the form resistant structures, therefore it was chosen as
fitness value the inverse of the maximum displacement among all the structural model
nodes. The algorithm builds an input file for the finite elements analysis that meshes all
the surface and defines an array of shell elements. Thus, the fitness function could be
better represented in future tests by the elastic potential energy.
The random crossover operator, for recombining among them the best half of
individuals, is not sufficient in order to obtain the optimal solution. In a quite number of
generation, always between the fifth and the tenth, the procedure fall in a genetic drift.
The crossover operator is indispensable to improve the medium performance of each
generation, but it is difficult that it is able to increase the maximum fitness value at each
step.
The efficiency of the computing time is not important for this architectonic
application, on the contrary it could be interesting to follow the evolutionary procedure
that generates a wider range of shapes, to select then visually the preferred one.
7
Keeping the best shape of each generation to build the next one is a good technique
in order to improve the fitness value during the process without any regression course.
In fact, in the worst case the maximum fitness value will remain the same of the
previous iteration.
A calibrated numbers of genetic mutations, that means a local variation of the genetic
structure of an individual, is necessary to avoid to fall in local maximums (genetic drift).
It is important that they are in a little percentage of the population, otherwise the
individuals will probably get worse than their parents. In nature, for example, the
genetic evolution is done by little steps, greater ones often found the death.
Figure 3: Domain and control points of a surface NURBS representation.
The secondary parameters, as the numbers of individuals and generations and the
encoding method, have been found as less influent after many launches of different
configurations of the same algorithm. The number of individuals have been established
in a range of ten to twenty shapes. The number of generations is always not less than
ten, however over this value there is not any significant improve of the maximum fitness
in this case. The encoding method is an eight bit binary codification, that is good for
every numeric variable case.
It is very important to launch many times the whole algorithm, because the first
random set of individuals can evolve more or less just for the different structural
behaviour of the starting phenotypes.
The algorithm searches an optimum solution by exploring a domain of potential
configurations. From the computational point of view, the choice of the domain, in
particular of its wideness, affects the direction of the solution research and the speed of
convergence. From the architectural point of view the domain of the design variables
represents the field of shapes, the range of spatial configurations from which the final
solution will be elaborated. Therefore, the designer must known what are the
implications of his choices, when he defines a specific domain .
8
Fitness tre nds at each algorithm
10000
11000
12000
13000
14000
15000
16000
17000
18000
19000
20000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Gene ration
Fitness
Algorithm 1
Algorithm 2
Algorithm 3
Algorithm 4
Algorithm 5
Algorithm 6
Algorithm 7
Algorithm 8
Algorithm 9
Algorithm 10
Fitness tre nds at each gene ration
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
1 2 3 4 5 6 7 8 9 1011121314 151617 18192021
Individual
Fitness
Generation 1
Generation 2
Generation 3
Generation 4
Generation 5
Generation 6
Generation 7
Generation 8
Generation 9
Generation 10
Generation 11
Generation 12
Generation 13
Generation 14
Generation 15
Fitness tre nds at each gene ration
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
1 2 3 4 5 6 7 8 9 1011121314 15161718192021
Individual
Fitness
Generation 1
Generation 2
Generation 3
Generation 4
Generation 5
Generation 6
Generation 7
Generation 8
Generation 9
Generation 10
Generation 11
Generation 12
Generation 13
Generation 14
Generation 15
Figure 4 : Algorithm efficiency: best individual for each generation,
crossover mutations, only crossover.
9
Figure 5: Rhinoceros™ screenshot: the shapes generated by the algorithm
(each row is a generation of 21 individuals).
Two different approaches can be adopted. In the first, a small domain of the design
variables is assumed : the optimal solution is then researched into a small range of
potential configurations, all close to a reference configuration initially defined. From the
architectural point of view the reference shape corresponds to the conceptual idea that
has to be preserved in the design process . The genetic algorithm can improve the
structural behaviour of the initial spatial configuration, by applying little variations on
the coordinates of the original control points, but the optimising process is limited by the
reduced extension of the domain. This approach can be called a form-improving
process. A large part of the real design situations are like this, because the architects, or
in general the designers, start the design process with by defining and drawing a
conceptual reference shape. As an example, one can think to the Toyo Ito’s
crematorium or the Arata Isozaki’s cultural centre in Japan, in order to cite only some
recent important projects.
Following the second approach, a larger range of values is chosen, so that the design
domain is not representative of a previously defined shape or configuration to be
improved, but it only constitutes a wide field of potential solution for the algorithm.
Thus, a true form-finding process is performed and unexpected new shapes can be
obtained. The designer has to be careful in choosing the degrees of freedom of the
design process, because in some cases the optimal solutions found by the algorithm are
not interesting or appropriate. A situation where a larger domain can work well is in the
design of the roof for a concert hall: the ground plan and all the perimeter walls are
defined, so that unexpected ceiling shapes with optimal structural and acoustic
behaviour are well accepted. This second approach can be considered as a form-finding
process.
10
The sequence of the algorithm operations starts from the parametric definition of the
domain of solutions, by means of a set of design variables. . At the beginning, the
genetic algorithm has been tested with a very simple shape, of which it is well known
the optimal configuration. It is a square defined by four vertices with the x and y
coordinates fixed, and the z coordinate free to change on a small domain. In this case,
the best form resistant shape is known and corresponds to the saddleback configuration.
Figure 6: Rhinoceros™ screenshot: the shapes generated by the algorithm
(each row is a generation of 17 individuals).
The optimization procedure searches the optimal solution inside the four-dimensional
domain, of all the possible configurations. It starts from a set of random variations based
on the defined domain and on the reference architectural shape. For this test, the domain
is a range of z coordinates and the architectural reference is a shape, a cover, inscribed
in a box.
This optimization method needs the synchronization of Rhinoceros and Ansys, for
the coordinated definition and evaluation of every generated shape. Rhinoceros takes
care of the form description, then the algorithm is able to read it and write an input file
for Ansys, in order to launch the structural analysis. The mathematical definition of a
NURBS surface is here translated from the Rhinoceros language to the correct syntax of
the Ansys one, for the automatic reading and reconstruction of the model inside this
software. Therefore the passage between the modelling and the evaluation do not require
any user participation, and it is possible to repeat it for all the shapes that will come
generated by the algorithm. At the end of this step, the code have only more to read the
required result value from the output log file produced by the finite elements analysis, in
order to assign a fitness coherent with the structural behaviour.
11
7 Conclusions
A general procedure for form-improvement and form-finding of architectural shell-
based shapes is presented in this paper. The procedure is based on the application of a
genetic algorithm as the optimizing algorithm and the performance required to the shell
structures is the best mechanical behavior. In order to handle the optimization process
three different software applications need to be linked: the genetic algorithm
formulation, implemented by the authors in the VB programming language; a geometric
NURBS based CAD environment, necessary to describe the structures from the
geometric point of view; and finally a FEM solver, in order to evaluate the mechanical
behavior of the solutions. The procedure has been tested on a simple case of study,
revealing the robustness and the reliability of the algorithm. The differences between the
form-improving and the form-finding optimization approaches have been described with
particular attention to the implications on the architectural design process.
It is important to underline that this approach, can be applied in a quite general way
to many architectural and engineering problems, enhancing the control and the check of
the project during the design process, provided that the problems are well formulated in
terms of the solution domain and the required performance.
References
[1] Cerchi L., Invece del corpo una nuvola. Casabella, 752: 30-37, 2007.
[2] Ciammaichella M., Architettura in NURBS: il disegno digitale della deformazione.
Testo&Immagine, Torino, 2002.
[3] Dawkins R., L’orologiaio cieco: Creazione o evoluzione?. Mondadori, Milano, 2003
(1986).
[4] Floreano D., Mattiussi C., Manuale sulle reti neurali. Il Mulino, Bologna, 2002 (1996).
[5] Maffei A., Razionalità delle forme organiche. Casabella, 752: 40-45, 2007.
[6] Minsky M., La società della mente. Adeplhi, Milano, 1989 (1987).
[7] Piegl L., Tiller W., The NURBS book, 2nd edition. Springer, Berlin, 1997 (1966).
[8] Rogers D. F., An introduction to NURBS: with historical perspective. Academic Press, San
Diego, San Francisco, 2001.
[9] Rumelhart D., McLelland J., Parallel Distributed Processing. Explorations in the
Microstructure of Cognition. The MIT Press, Cambridge, 1986.
[10] Sasaki M., Flux Structure. TOTO, Tokyo, 2005.
... All surfaces in Rhino are free-form surface models created using the curve modeling method (NURBS or Non-Uniform Rational Basis Spline). The NURBS belong to the category of parametric curves and surfaces, and they become the standard for describing and modeling free-form shapes in computer-aided design (CAD) and computer graphics [37]. It should be noted that Rhino is not only a simulation software, but it is also possible to perform calculations in it. ...
Article
Full-text available
Shape optimization, as one of the types of structural optimization problems, is an important process in the design of shells, since it contributes to the creation of a structure with fine performance characteristics, expansion of design variations and knowledge base to obtain high-quality results. To solve the problems associated with determining the shape and creating more advanced structures, software packages include a special optimization module, which can be based on one or more mathematical methods, the purpose of which is to provide the best solution in the shortest possible time. The research is focused on the process of shape optimization in three well-known universal software packages: Ansys Mechanical, COMSOL Multiphysics and Simulia Abaqus, as well as in Rhinoceros modeling software with a special visual Grasshopper plugin. The purpose of the study is to analyze the technology of shape optimization in four software packages and to compare them with each other in terms of the problem-solving process, user interface, the fullness of libraries, accessibility for educational purposes and system requirements for a computer. The authors specify and describe the characteristic features of each software package. It was found that all the software packages under consideration are equipped with great opportunities for shape optimization of structures and have a variety of functionality for solving this type of tasks. The development of optimization technology in calculation and modeling software packages will allow obtaining the most effective solutions in the process of designing shells of complex shapes.
... When reviewing methods and software packages for shape optimization, the following studies were found on optimizing free-form shells in the program Rhino+Grasshopper, with the use of the Natural Force Density Method (NFDM) [6] and evolutionary algorithm [7]. Article [8] mentions a variety of plug-ins for optimization in Rhino, which shows the versatility of the program. ...
Article
Full-text available
Optimization calculations are currently an actual and in-demand direction of computer-aided design. It allows not only the identification of the future characteristics of an object, but also the implementation of its exact model using a set of various optimization algorithms. The advent of digital modeling has significantly facilitated the approach to optimization and its methods. Many software systems are equipped with capabilities not only for calculating the design, but also for finding its optimal variant. The calculation programs can include a special optimization module that can be based on one or more mathematical methods. The purpose of the present study is to explore a process of shape optimization through the calculation of two shells: the simple one (spherical dome) and complex one (helicoid) in Comsol Multiphysics using three optimization methods: MMA, SNOPT and IPOPT. Additionally, special attention is paid to the construction of a mesh for calculations and two types of selected element sizes: finer and fine. Then, the important task is to compare the obtained results and to find the most optimal method and most effective design solution for each shell. When calculating the sphere, the most suitable solution was obtained using the IPOPT method, with the help of which it was possible to achieve an optimal reduction in the dome along the z-axis. When calculating the helicoid, all methods showed approximately the same values and equally changed the angle of inclination of the surface relative to the horizontal plane.
Article
Le reti neurali sono sistemi di elaborazione dell'informazione i cui meccanismi di funzionamento si ispirano ai circuiti nervosi biologici. Le reti neurali, grazie alle loro caratteristiche per molti versi simili a quelle dei sistemi nervosi biologici, sono state protagoniste di una vera e propria rivoluzione nel modo di concepire e studiare la mente e nella realizzazione di sistemi di intelligenza artificiale. Da un lato, esse forniscono al ricercatore uno strumento per verificare le proprie ipotesi costruendo modelli adattivi della mente sul proprio calcolatore; dall'altro, hanno fatto il loro ingresso anche in una vasta serie di applicazioni pratiche in ambiti che spaziano dall'informatica, all'ingegneria, alla medicina. Questo volume, qui presentato in una nuova edizione, introduce alla comprensione del funzionamento delle reti neurali e fornisce inoltre, grazie all'ausilio di numerose illustrazioni ed esempi pratici, gli elementi necessari per la simulazione e la sperimentazione al calcolatore dei modelli principali.
Invece del corpo una nuvola. Casabella
  • L Cerchi
Cerchi L., Invece del corpo una nuvola. Casabella, 752: 30-37, 2007.
Architettura in NURBS: il disegno digitale della deformazione
  • M Ciammaichella
Ciammaichella M., Architettura in NURBS: il disegno digitale della deformazione. Testo&Immagine, Torino, 2002.
Razionalità delle forme organiche. Casabella
  • A Maffei
Maffei A., Razionalità delle forme organiche. Casabella, 752: 40-45, 2007.
Creazione o evoluzione
  • R Dawkins
Dawkins R., L'orologiaio cieco: Creazione o evoluzione?. Mondadori, Milano, 2003 (1986).
  • M Sasaki
  • Flux Structure
Sasaki M., Flux Structure. TOTO, Tokyo, 2005.
La società della mente
  • M Minsky
Minsky M., La società della mente. Adeplhi, Milano, 1989 (1987).