TweetFollow Us on Twitter

Winter 92 - THE VETERAN NEOPHYTE

THE VETERAN NEOPHYTE

SILICON SURPRISE

DAVE JOHNSON

[IMAGE 082-084_Dave's_column_re1.GIF]

Many of the things that are important, many of the phenomena that drive the world, are based on very simple rules. Huge numbers of independent entities interacting in a simple way at their local level can exhibit surprisingly complex behavior. The amazing and endlessly fascinating thing is that the end result is not at all obvious if you look only at the local rules.

Weather, for instance: get a bunch--and I meanlots --of gas molecules and water vapor together, and weather just happens (I've heard that really big closed buildings, like hangars and roofed stadiums, experience "weather" inside). As far as the molecules are concerned, there's no such thing as weather; they just sort of bump around and interact with their neighbors, and the result is wind, or clouds, or rain.

Another good example is evolution (one of my favorite topics): throw a bunch of replicating things into an environment with limited but necessary (for replication) resources, and evolution just happens. As far as the replicators are concerned, there's no such thing as evolution; they simply do their best to replicate, and the result is trees, or dogs, or us.

Chemistry is another example that comes to mind: throw a bunch of atoms together, and chemistry just happens. Again, as far as the atoms are concerned, there's no such thing as chemistry; they simply attract and repel each other, sticking together or flying apart, swapping electrons around, and the result is diamonds, or dynamite, or rust.

The examples go on and on, you can find them almost anywhere you care to look. Scientists call it "emergent behavior": simple, local rules, repeated ad infinitum (in time, or space, or even some other dimension), surprisingly often produce behavior that's unexpected, even unpredictable, from just the rules. One of the things I like so much about computers is that they're superlative tools for exploring emergent behavior.

There are three things in particular that make computers so good for this task: they can do arithmetic unsupervised, once they're told what to do; they can do their arithmetic inside a logical structure; and they can do itreally fast.  This combination is extremely powerful and, more important, is unique to computers. Before computers, no one ever saw good pictures of fractals-- though a few mathematicians knew they were there--and the reason is simply that no one had the patience to slog through the incredibly tedious, repetitive arithmetic needed to generate pictures of them. Computers allowed mathematicians to write a recipe for the math, and then just wait a little while for the results. In this sense, computers are a kind of microscope that allows people to see certain thingsfor the very first time.

Today there's a huge and burgeoning branch of research, often and aptly termed the "sciences of complexity," that has only become possible with the aid of computers. Emergent behavior is just one aspect of this larger field. The study of complexity is suggesting all kinds of brand-new approaches in long-established fields. Medicine, sociology, psychology, economics, biology, neuroscience, mathematics, physics--all have been affected. Computers have also given rise to completely new fields of inquiry: artificial intelligence, artificial life, chaos theory, neural networks, genetic algorithms, even the study of computation itself. The list of applications and repercussions seems to be endless.

It's amazing to me still, and probably always will be, that doing arithmetic inside a logical structure is a necessaryand sufficient condition to simulate anything that can be described precisely. (Even things that can't be described precisely can be "precisely approximated"; a fact that makes engineers rejoice but mathematicians gag.) Simply doing arithmetic very fast and automatically produces a blazing, frothing torrent of diversity, a veritable fire hose of creation.

What's even more fascinating to me is that computers themselves are beginning to exhibit many of the properties that characterize complex systems, including emergence. All they do, really, is arithmetic. (Of course, if you want to get down deep, all they do is shove electrons around, but that's a little too abstract, even for me.) But look at all the things computers are used for today, and think of all the things theycould be used for. Admittedly, this progression and diversification is driven by humans--it wouldn't happen without us--but the number and variety of computers and software that exist have arisen without a grand design, without an overall plan. It has truly begun to evolve.

Early computer programs directly reflected the computer's capabilities. Most were basically number crunchers, since at heart the computer is a number cruncher. Computers were, after all, invented to do long, time-consuming calculations quickly and automatically (it helps a lot during wartime). And that'sstill  all they do, but the programs have changed dramatically.

Programmers soon began to abstract their programs away from sheer arithmetic--and thus from the machine--and began to use the arithmetic to simulate other things, both strange and ordinary. Word processing, computer graphics, spreadsheets, databases: all these arrived on the scene. There was (and still is) a wild divergence away from simply doing arithmetic. In theory, according to mathematical proofs, computers can simulateany logical system. There are certainly plenty of logical systems to go around, and plenty more to invent.

So the progress of computing is a kind of human-driven evolution, with human use being the "fitness function" (that is, the function that determines how well a particular entity is doing). Humans also drive the mutation and recombination, since they're the ones inventing and modifying programs. And that's where programmers come into the picture. If we're dealing with an evolutionary process, and we want it to continue as fast as possible (we do, don't we?), we should provide the things that drive evolution most strongly: diversity, large numbers, and strong selection pressure.

Selection pressure is amply provided by the marketplace; applications that aren't useful, or are too expensive or buggy, die quick ignominious deaths. The large numbers that we need are already there, and getting larger. We can help increase them by moving away from the current tendency toward huge, multipurpose, feature-crammed applications and trying to get closer to the concept of independent, single-purpose tools. (Besides, small programs are easier to develop, easier to support, and easier for people to learn.)

This "granulation" also helps increase diversity, in that it breaks up the different functions of an application into independent entities, with "lives" of their own. But even more effective at increasing diversity is thinking of new things. Only by trying new stuff, by constantly exploring the landscape of possibilities, by endlessly diversifying, do we make progress. Today's applications are only the tiniest subset of what's possible.

Admittedly, there are very real practical limits: computers are only so fast (so far); developers need to make a living, so their programs have to sell (excepting, of course, those of you lucky enough to work in research and academia: you can't use this excuse); and, probably most important, programming computers well turns out to bereally hard!  But none of these limits are insurmountable. Computers are getting faster at an incredible rate, new markets are opening up as the number and diversity of computer users increase, and programming is getting easier. (Obviously the joy of programming has very little to do with the mechanics of communicating with the machine: just look at all the assembly hackers and UNIX folks in the world. Come to think of it, maybe a lot of the fun is figuring out how to say what you want with a painfully limited vocabulary.)

A characteristic trait of complex systems is their sensitive dependence on initial conditions. Ask any meteorologist. A tiny whisper of change can cascade into a complete transformation of the system. The evolution of computing is careening along at a very high speed, with a lot of inertia, and in a lot of directions; but a gentle shove in just the right place might profoundly affect the outcome. Where's the right place to push? If I knew, I wouldn't be working for a living. But if we all just start pushing everywhere we can think of, as often as we can, then we're helping computing reach its next incarnation, whateverthat  may be. I can't wait to find out.

RECOMMENDED READING

  • Artificial Life,  edited by Christopher G. Langton (Addison-Wesley, 1989).
  • Chaos  by James Gleick (Penguin Books, 1987).
  • Great Mambo Chicken and the Trans-Human Condition  by Ed Regis (Addison-Wesley, 1990).
  • The Tenth Good Thing About Barney  by Judith Viorst (Atheneum, 1971).

DAVE JOHNSON once spent the better part of a day at the public library researching rock skipping (a.k.a. gerplunking or dapping). He found two official organizations, one annual event, and a handful of articles in various magazines. Although he sent very nice letters to the organizations asking for further information, he never heard from them. The currently recognized world record is 29 skips. Rock skipping is still poorly understood by scientists. *

Dave welcomes feedback on his musings. He can be reached at JOHNSON.DK on AppleLink, dkj@apple.com on the Internet, or 75300,715 on CompuServe.*

 
AAPL
$530.38
Apple Inc.
+0.00
GOOG
$600.40
Google Inc.
+0.00
MSFT
$29.27
Microsoft Corpora
+0.00
MacNews Search:
Community Search:
view counter

view counter
view counter
view counter
view counter
view counter
view counter
view counter
view counter

This Week at 148Apps: May 14-18
This week at 148Apps.com, Kevin Stout examined the question more than a few of us are asking: Why won’t Nintendo release any games for iOS? Stout writes, “Nintendo recently reported its first annual loss, showing that perhaps 3DS isn’t enough of a success. Nintendo hasn’t even released its legacy games on mobile platforms where others like Sega... | Read more »
Mega Tic-Tac-Toe Review
Mega Tic-Tac-Toe Review By Jason Wadsworth on May 18th, 2012 Our Rating: :: AN EXPANDED CLASSICUniversal App - Designed for iPhone and iPad It’s like tic-tac-toe, but more of it.   Developer: Noam Studios | Read more »
Time to Check Out Classic-Style RPG Alph...
The Japanese developer KEMCO has been developing iOS games for some time; most of them bring epic RPGs (some might call them JRPGs) in the classic 16-bit style. Alphadia, one of their more popular titles, is described by the developer as a classic Japanese style role playing game. It follows the adventures of the small town resident and young hero... | Read more »
TockDown Review
TockDown Review By Kevin Stout on May 18th, 2012 Our Rating: :: USEFULiPad Only App - Designed for the iPad TockDown is a timer app for the iPad.   Developer: Retrobit Price: $0.99 Version Reviewed: 1.0 Device Reviewed On: iPad (third-generation) | Read more »
Why Can’t I Play Pokemon On My iPhone?
Nintendo recently reported its first annual loss, showing that perhaps 3DS isn’t enough of a success. Nintendo hasn’t even released its legacy games on mobile platforms where others like Sega have (Sonic the Hedgehog). While current CEO of Nintendo, Satoru Iwata, is in charge, it’s unlikely that Nintendo will acknowledge its mistake. | Read more »
Rage Comic Generator Review
Rage Comic Generator Review By Jennifer Allen on May 18th, 2012 Our Rating: :: CREATIVE FUNUniversal App - Designed for iPhone and iPad A fun way to create your own RageGuy memes.   | Read more »
FREEday 5/18/12 – “FREE Your Mind for th...
Free games again? Man, I’m really starting to get tired of–who am I kidding? Games! For free! Isn’t that awesome?? This week we’re a little all over the place with genres and content. Something for almost everybody, and it’s all free. | Read more »
Circus Atari Review
Circus Atari Review By Jennifer Allen on May 18th, 2012 Our Rating: :: BASICUniversal App - Designed for iPhone and iPad A modern day re-interpretation of a classic arcade game.   Developer: Atari Price: $0.99 Version Reviewed: 1.0 Device Reviewed On: iPhone 4 | Read more »
Create Personalized Cases With CaseApp A...
The iPhone looks pretty attractive the moment it’s purchased but sometimes it’s nice to add that personal touch. It’s easy enough to adjust the home screen image and general background, but how about a whole new personalized cover for the device? That’s what CaseApp provides. | Read more »
Grabbit Review
Grabbit Review By Angela LaFollette on May 18th, 2012 Our Rating: :: RIBBETING FUNUniversal App - Designed for iPhone and iPad Grabbit is a fast-paced arcade game that tests users’ reflexes.   | Read more »
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.