The Role of Intelligent Systems in the National Information Infrastructure, страница 13

2.2.3 Knowledge Discovery Services

The rapid growth of data and information has already created both a need and an opportunity for extracting knowledge from databases and ensuring their consistency. Because the development of the NII will release a flood of new databases, these needs and opportunities will surge. The sheer quantity of available information will preclude manual tracking. Automated tools, however, could scan databases; check consistency; produce summaries; support logical inference and abduction; facilitate browsing, question answering, explanation and justification; and discover new connections between data that were previously unconnected.

The problem of consistency checking illustrates why knowledge discovery is difficult in general. The process is inherently intractable--algorithms take time that is exponential in the size of the database. Furthermore, consistency is unattainable in a large multisourced system that is being updated continually. Heuristic techniques can help by focusing attention on the most likely sources of inconsistency and suggesting plausible alternatives for dealing with inconsistencies when they are detected.

To date, knowledge discovery applications have been developed for astronomy, biology, finance, insurance, marketing, medicine, and many other fields. Next-generation systems could benefit from advances in knowledge representation (Subsection 3.1), techniques for the estimation of the quality and reliability of information (Subsection 3.4), the ability to exploit previous knowledge (Subsection 3.7), unsupervised machine-learning algorithms (Subsection 3.2), machine perception (Subsections 3.8 and 3.9), and statistics.

2.3 System Development and Support Environments

System development and support environments provide the tools and environments to build advanced user interfaces and network-resident systems like those needed for National Challenge applications. The objective is a set of tools for making specification, design, adaptation, construction, and evaluation straightforward in spite of the complexity and diversity of the underlying architectures, languages, protocols, applications, and systems. In the following subsections, we discuss three such facilities: rapid prototyping systems, intelligent project-management aids, and synthetic environment testbeds.

2.3.1 Rapid System Prototyping

It is commonly acknowledged that software carefully designed to satisfy someone’s needs (for example, the designer’s) often fails to satisfy everyone else’s. In many cases, determining what other people want means letting them try it out, but the sheer cost of constructing and reworking complex software systems calls for using prototypes that give the feel of the nominal product but can be constructed quickly at low cost. That is, designers formulate tentative, possibly partial, specifications of a desired system and then repeatedly test and revise the formulation until they obtain a satisfactory specification for postprototype versions. Facilities for rapid prototyping of systems are an essential infrastructure for the NII. AI can contribute to two aspects of prototyping systems: facilities for specifying and refining systems, and facilities for sharing and reusing designs and software.

2.3.1.1 Specification and Refinement Support Services

The process of rapid prototyping demands tools for specifying, testing, and revising prototypes. Specification calls first for formal languages (such as logical specification languages) in which to formulate descriptions. Once a tentative specification is in hand, the behavior it entails should be vividly rendered to the designer. Subsequent testing and design validation processes demand efficient algorithms. However, specification and refinement environments must support more activities than simple construction of an executable design; they must also facilitate revision and modification of descriptions, because any specification of a massively complex system will evolve with experience. Furthermore, support environments could leverage specification encodings to semiautomatically generate documentation, tutorial, and online help systems for the software under construction.