Starting
in this issue, I will be offering a series of articles on the
subject of Computers and Creativity. It is a concept that simultaneously
embraces the concepts of different and better.
The topic needs a short introduction. For us to be able to discuss
the broad questions, we need to share some common experiences.
So I am inviting you to share a journey through some problems
that call out for nontraditional solutions. These problems will
give birth to observations and ideas that address the topic.
The problems are trivial and easy to state, but the lessons are
scalable. The problems will frame issues, and the value will
be in the lessons learned and not the solutions to the specific
problems. Each section will explore a different problem and each
will add a little to our understanding of the creative process.
In 1964, I asked Manny Piore, Chief Scientist
of IBM what is creativity? His quick answer: That
which a machine can not do. He went on to say that people
can be creative, machines can not. With this perspective we might
just drop the subject right now. Yes, there are many things which
a computer can not do, but also many things that it can. More
interesting to us is that boundary that divides what is possible
from what is not. Whether Dr. Piore was more right or wrong you
will get to decide, but first we will have to start with fundamentals.
Computer programs, such as Photoshop, Garage
Band, and Maya, and even Word, are powerful creative tools in
the hands of the right people. One might think that this article
would talk about how such tools help people become more creative,
because they certainly do. But we know that already, and that
is not what we are here for. We want to look at how the computer
can be considered more than just a tool in the whole
creative process.
Here is the first problem
Part 1: Designing a Ballistic Missile
Our journey starts in 1956 at the Ramo-Wooldridge
Corporation, in Los Angeles. I had learned about computers from
articles in Fortune Magazine during the early 50s. (Colleges
would not have computer science departments for several more
years.) One article mentioned that Ramo Wooldridge Corporation
in Los Angeles had one and was looking for applications. So I
asked for a job and was hired.
I was assigned to the Guided Missile Research
Division. We would be using computers to build Intercontinental
Ballistic Missiles ICBMs. Forget, please, that today these
things are also known as weapons of mass destruction.
The computer was a room-sized vacuum tube, ERA 1103A Scientific
Computer, with electrostatic storage tubes, steel magnetic tape,
and a paper-tape reader from Electronic Research Associates of
St. Paul, Minnesota, and a card reader-punch from Compagnie des
Machines Bull in France. I think it was one of three such systems
in the United States, and predated the arrival of the IBM 704
by about a year.
After learning about ballistic missiles,
I was given an assignment to establish the feasibility of building
a missile that would carry a payload of x pounds
a distance of y miles. It would use solid propellant
and would probably require three stages, that is, three rockets
in tandem. My task was to design one with the least possible
liftoff weight.
I was just out of college, you understand. The first goal was
to design one that would go the distance. Luckily, I was allowed
to use a computer program that would build a missile based on
my inputs and simulate a rocket flight on a spherical, rotating
earth with atmospheric drag. All I had to do was select the key
parameters. Finding the design that would go the distance took
only a few trials.
Finding the least weight, was more challenging.
One key was to find the correct balance of fuel for each of the
three stages. Other questions included the diameter of the rocket,
which would affect both its total weight and the aerodynamic
drag. Also, the efficiency rocket engines depend on nozzle design
and atmospheric pressure, which in turn is determined by the
actual trajectory. All of these would interact to affect the
weight.
The task was to find proper values for
nine interacting variables that determined the distance and weight
of the missile. In the afternoon I would prepare small changes
to the input parameters for each of the nine variables. The computer
would simulate several flights every night. The next morning
I would review the simulation results, and make note of how much
each of the changes affected the weight and the distance. Then
I would select a new design by changing in one direction those
parameters which reduced the weight with the least impact on
the distance, and change in the opposite direction those that
most affected distance with the least change in weight. It was
a process of constant rebalancing, with the goal to reduce the
weight and keep the distance. After a few weeks, nothing would
reduce the weight any further. Using this method, we cut about
25 per cent out of the weight of the original design.
The principle lesson here is to describe
why the problem was solvable, and how the computer assisted in
the solution. A well-structured optimization problem consists
of three elements:
- A measurable performance objective;
- A set of variables that can be used to
affect performance; and
- A means of calculating performance as
a function of the variables.
For our missile problem:
- The objective was the least weight for
a ballistic missile of given
range and payload.
- The variables were the amount of fuel
in each of the three stages,
the diameter of each stage, and the expansion ratio of the engine
nozzle.
- The means to evaluate was a computer simulation
of the design and
flight of a ballistic missile on a spherical, rotating earth
with atmosphere.
The problem was easy to solve using the
flight simulator. Each mission took about ten minutes of computer
time, and I was using the computer about ninety minutes almost
every night.
It has been 48 years since the missile
design. Now there is a computer on almost everybodys desk.
The whole job, which took me several weeks, would take just a
few minutes today. So why bring up such old ideas now? The answer
lies in the fact that the computer of today is still similar
in concept and design to the ones of fifty years ago, only faster
with more storage. The fundamental computer design ideas havent
changed. The basic nature of problems havent changed either.
We can still learn from these examples.
Key to solving the missile problem was
the flight simulator. It provided rapid (over night) feedback
on the value of each design. It was a groundbreaking achievement
for its time. I didnt write it; it was given to me, written
in binary machine language without the use of any programming
aids like compilers or assemblers. In fact, it took several others
with various Ph. D.s to do it: specialists in trajectories,
thermodynamics, aerodynamics, weight and structures, systems
design, and a computer programmer who pulled it all together.
I recall telling my wife, on the way home from work one evening
I dont have a masters degree, but I have six Ph.D.s
working for me tonight. That moment was an epiphany. I
realized then how computers could be used to magnify human intellect.
But was our
solution creative?
No. The decision to build the flight simulator
was creative, but my use of it was not. Even if my part of the
operation was programmed so that the computer could run until
the problem was solved, we could not say that the computer performed
a creative act. Instead, it was an optimization. We followed
a smooth and continuous path from the original solution to the
optimum solution. However, we did employ three basic elements
of creative problem solvingan objective, a means of generating
trial solutions, and a means of measuring the quality of those
solutions against the objective. This is the basic formula for
everything that follows. The differences are in the details.
So what is the distinction between optimization
and creativity? Creative solutions are characterized by discontinuity.
The missile design process was continuous. For example, we could
take a tiny amount of fuel out of one stage and put it in a different
stage, then fly the missile again. If the missile went farther,
we could continue to do more, and if it it fell short, we could
reverse the process. When adjusting fuel would not make a difference,
we could assume that we had found the right balance. When finished,
we did recognize that finally we might have found a local
optimum but considering the nature of the problem, we dismissed
that possibility.
When you have found a local optimum, you
can look at nearest neighbor solutions and find that
none of the neighbors is as good as the one you have selected.
That doesnt prove that there is not some better solution
in a totally different neighborhood. For many problems excellent
solutions may be very different from one another in significant
ways.
When you only explore your own neighborhood,
you keep coming back to where you started. Somehow, you must
find a way to cross the gulch that separates one solution from
a better solution. In other words, our process must be able to
jump over a discontinuity.
Discontinuities can be big or little. A
big one is to discover how a different statement of the problem
opens up a whole
new set of possible solutions. Smaller discontinuities can also
be challenging when there is not a connected path from where
you are to where you want to be.
The next problems we will look at contain
discontinuities and local optima, so we will need nontraditional
ways of finding solutions. The first example of such a problem
is to create a magic square.
When I was ten years old, my big brother
showed me the magic square, a 3-by-3 array of the numbers from
1 to 9, so that the rows, columns, and diagonals all added up
to the same number: 15. He gave me a method for creating such
a square, so that I could take it to school and dazzle my friends.
8 1 6
3 5 7
4 9 2
Having mastered this exercise, my brother
challenged me to come up with a magic square that was 4 x 4 rather
than 3 x 3. I tried, but I couldnt, even though I knew
it exists.
To conclude this section, Im going
to give you a challenge. Develop a computer method that will
find a magic squares of any dimension, starting at 4 x 4 and
moving to larger dimensions from there. Use the same principles
shown in the missile design problem. If you solve the problem,
you will discover that it is both difficult and easy at the same
time, and you will also discover some useful insights about the
creative process, whether by computer or human being.
|