1541-1672/05/$31.00 © 2005 IEEE
Published by the IEEE Computer Society
Systems, Systematically Speaking
The children's television show Sesame Street has a famous segment that displays several objects on the screen and then challenges the viewer to figure out which "one of these things is not like the others." The test is whether a child can find the abstract concept that relates together all the objects except one. In this issue of Intelligent Systems, we pose a similar challenge to you: find the theme or themes that relate all these articles together. Why? Because they're all good examples of what intelligent systems are, yet they have little in common prima facie.
How did this unusual, nonthemed issue come about? As the incoming the editor in chief, I realized I should write an editorial about our magazine's focus. A good way to start seemed to be to center on the title, Intelligent Systems, and explore what it meant. I was tempted to tackle the "intelligent" part. However, philosophers and scientists far more profound than I have debated the meaning of that for nearly two millennia, and I believe it will continue to be argued two millennia hence (although it's amusing to imagine that a pair of robots might be having that debate).
Instead, I decided to turn my more meager philosophizing to the second part of our title and explore what in the world a "system" might be. After all, "system" is a word widely used across scientific pursuits, engineering disciplines, and application development, with profoundly different uses in all these contexts. Think of the difference between the system of equations describing computation, the computing system hardware designed to bring those to reality, and the operating system software that makes the whole thing run.
These different meanings are connected to a problem we computer scientists face when explaining what we do to those outside our field. We're terrible at delineating the differences between computer science as
• a theoretical pursuit exploring the principles of computation,
• an engineering field concerned with developing algorithms and technologies, and
• the development of applications for specific purposes.
We haven't done a good job of explaining to our funding agents, for example, the difference between a mathematical analysis of queuing math, the architectural principles of designing a multithreaded computational infrastructure, and the operating system running on your parents' computer. Is it any wonder that the powers that be sometimes are confused as to why they should fund academic computer science research or that industry often expects academia to produce tools at a level beyond the typical scope of a small team of grad students?
Where does this confusion come from? I think the word "systems" is partly to blame. It entered our field through our roots in cybernetics and control, before the computer, as we know it today, came into existence. As a result, we refer to "systems" at virtually every level of our endeavor from "systems administrator" to "systems theory." On the research side, just look at some of the well-known journals in our field. ACM Transactions on Computer Systems mentions in its statement of purpose that "the term 'computer systems' is interpreted broadly and includes systems architectures, operating systems, distributed systems, and computer networks." IEEE Transactions on Parallel and Distributed Systems asks for papers on architectures, software, algorithms, applications, models, and performance measures. Elsevier's Journal of Computer and System Sciences publishes papers "with attention to the relevant mathematical theory" but adds that "applications-oriented papers may also be accepted." And our own magazine doesn't make things any clearer; our statement of purpose claims that we cover "new tools, techniques, concepts, and current research and development activities in intelligent systems."
Building this issue of IS
So how does that relate to this issue? I asked our staff to work with me to pick a set of articles from our queue that would create an issue without a narrow theme, where instead the theme would be "Intelligent Systems" per se. I identified those articles that would be exemplars of the diversity of articles we publish. In particular, I looked for examples of what I think an intelligent systems article is about.
The articles in this issue are just some of the many I could have picked. Yet, as you can see, they span a wide variety of areas:
• data mining algorithms,
• utilizing information from traffic cameras,
• agent-based distributed computing,
• AI in bioinformatics, and
• AI techniques for generating Chinese calligraphy.
Some of these articles focus on applications and some on techniques. Some describe theory and some practice. Yet each one is clearly an example of an intelligent systems article.
So, I ask again, what do these articles have in common? Does a theme emerge regarding what a system is, or must I simply quote the famous decision of Justice Potter Stewart, who said in a US Supreme Court ruling on obscenity, "I shall not today attempt further to define the kinds of material I understand to be embraced within that shorthand description. … But I know it when I see it."
We can do better than that, however; if we look closely at these articles, at least one theme emerges. It arises from the understanding that a system is, as dictionary.com defines it, "A group of interacting, interrelated, or interdependent elements forming a complex whole." In each article, we see not the explicit interaction of these parts but the demonstration of techniques that can be used not just in the system being described but also more widely. The "systems" nature of the work we present in these pages is that which can be shared between the work in the articles you read and the projects you pursue. The focus of a good systems article is in developing, validating, or demonstrating that a technique has merit and, perhaps more important, outlining that technique in such a way that you can understand what it does and how to use it for some other project. Good systems articles not only show a project's inherent interest but also explain the processes and results in a way that you can, if interested, get a jump on using the technique elsewhere.
I am fond of quoting something that Tim Berners-Lee, the inventor of the World Wide Web (the most successful computer system of our time, by just about any measure) told me in helping me shape a project I was working on. He said the trick was to "build small, but viral." And that's the heart of what I look for in an article for IEEE Intelligent Systems: an idea that's simple enough to be shared and powerful enough that people will use it. If we do our job right as editors and staff, an issue of this publication should give you some ideas of new things to try and new ways to try them.
With that in mind, I look forward to your submissions, showing the rest of us new and exciting techniques that we can use whether in formulating theories, engineering algorithms, or developing applications.