United States Patent5701400
AmadoDecember 23, 1997

Title

Method and apparatus for applying if-then-else rules to data sets in a relational data base and generating from the results of application of said rules a database of diagnostics linked to said data sets to aid executive analysis of financial data

Abstract

A system for applying artificial intelligence technology to data stored in databases and generates diagnostics that are user definable interpretations of information in the database. The diagnostics are stored in a database which can be queried with downdrilling to the associated data which generated the diagnostic. A set of bidirectional links is maintained between selected data items in the first database and the corresponding diagnostics in the second database. The system acts as an information compiler in developing a map of the raw data dimension into the structured dimension of intelligent interpretation of the data in the diagnostic database.


Inventors:Amado; Carlos Armando (Miami, FL)
Appl. No.:400355
Filed:March 8, 1995

Current U.S. Class:706/45 706/47 706/60 
Field of Search:395/52,54,68,76

U.S. Patent Documents
4658370April 1987Erman et al.
4754409June 1988Ashford et al.
4847784July 1989Clancey
4866634September 1989Reboh e tal.
4866635September 1989Kahn et al.
4884218November 1989Agnew et al.
4891766January 1990Derr et al.
4920499April 1990Skeirik
4928236May 1990Tanaka et al.
4930071May 1990Tou
4949278August 1990Davies et al.
4970657November 1990Wolf
5006992April 1991Skeirik
5025392June 1991Singh
5034898July 1991Lu et al.
5043915August 1991Suwa et al.
5103498April 1992Lanier et al.
5121496June 1992Harper
5131087July 1992Warr
5159669October 1992Trigg et al.
5164912November 1992Osborne et al.
5167012November 1992Hayes et al.
5179632January 1993Masui
5191638March 1993Wakami
5193143March 1993Kaemmer et al.
5228116July 1993Harris et al.
5257185October 1993Farley et al.
5284947February 1994Bernstein et al.
5481647January 1996Brody
Other References
Timeworks, "Swift Calc St User's Manual," 1982, pp. 93-97, 108-109..~
Primary Examiner: Hafiz; Tariq R.
Assistant Examiner: Smith; Jeffrey S.
Attorney, Agent or Firm:Fish; Ron Falk & Fish LLP

Claims


What is claimed:
1. An apparatus for providing an expert systems toolkit, comprising:
a memory for storing data;
a computer coupled to said memory and having a video display and an input device;
a program in execution by said computer for controlling operations thereof for receiving user input defining one or more analysis rules to be applied to user specified data from said memory, each said analysis rule being a user defined arithmetic and/or logic test to be applied to user specified items of said data and for controlling said computer to receive and store user entered data defining the alphanumeric text of a diagnostic statement associated with each true result of each said analysis rule, each said diagnostic statement comprised of a user defined alphanumeric text string which the user can program to define the significance of the true result, its relevance or any other expression which provides meaning to the user of the true result of the analysis rule, and for controlling said computer to receive user input controlling which of said analysis rules are to be applied to said data, and for applying said analysis rules so designated to the data designated by said user and returning a true or false result for each analysis rule so applied depending upon the state of the data to which each analysis rule was applied, and for each true result returned by an analysis rule, controlling said computer to store in a file in said memory the user programmed text of a diagnostic statement associated with each true result as a diagnostic in a diagnostic database, and for controlling said computer to receive and store in said memory user input defining one or more expert tests, each expert test comprising a user defined arithmetic and/or logic statement to be applied to one or more diagnostics selected by user input from the diagnostics stored in said diagnostic database, said arithmetic and/or logic statement comprised of mathematical operators and/or logical operators from any logic set such as predicate logic or Boolean logic including at least the AND, OR and NOT functions, each said expert test returning either a true or false result, and for controlling said computer to receive user input defining the text of a super diagnostic statement in the form of an alphanumeric string associated with each true result of one of said expert tests, each said superdiagnostic being an alphanumeric string which the user can program to define the significance of the true result of the expert rule, its relevance or any other expression which provides meaning to the user of the true result of the expert rule, and for controlling said computer to receive user input defining which of said expert tests to execute on user specified diagnostics in said diagnostic database, and for controlling the computer to execute the expert tests so designated, and for controlling said computer to store as a super diagnostic in a super diagnostic file in said memory the super diagnostic statement associated with any true result returned by any said expert test.

2. The apparatus of claim 1 wherein said program also controls said computer to accept user input entered through said input device which defines bidirectional pointer data which associates each said diagnostic statement defined by user input for an analysis rule with one or more user defined items of data to which said analysis rule is to be applied, and for controlling said computer such that when an analysis rule returns a true result, the corresponding one or more items of user defined data mapped to said true result are stored along with the corresponding bidirectional pointer data.

3. The apparatus of claim 1 wherein said diagnostics, the underlying data from which said diagnostics were generated by said analysis rules, and the super diagnostics generated by said expert tests are each stored in a separate table of a relational database, and wherein said program also controls said computer to accept user input entered through said input device which defines bidirectional pointer data which associates each said diagnostic statement defined by user input for an analysis rule with one or more user defined items of data to which said analysis rule is to be applied, and for controlling said computer such that when an analysis rule returns a true result, the corresponding one or more items of user defined data mapped to said true result are stored along with the corresponding bidirectional pointer data, and wherein said program also controls said computer to accept user input entered through said input device which defines bidirectional pointer data which associates each said superdiagnostic statement defined by user input for an expert rule with one or more user defined diagnostics to which said expert rule is to be applied, and for controlling said computer such that when an expert rule returns a true result, the corresponding one or more diagnostics mapped to said true result are stored along with the corresponding bidirectional pointer data.

4. An apparatus for providing an expert systems toolkit implementing diagnostic weighting, comprising:
a memory for storing data;
a computer coupled to said memory and having a video display and an input device;
a program in execution by said computer for controlling operations thereof for receiving user input defining one or more analysis rules to be applied to user specified data from said memory, and for controlling said computer to receive and store user data defining a unique diagnostic statement associated with each true result of each said analysis rule, each said diagnostic statement comprised of a user defined alphanumeric text string, and for controlling said computer to receive user input defining a subjective mathematical statement associated with each said analysis rule, each said subjective mathematical statement being comprised of a user programmable combination of mathematical functions, and each said mathematical statement to be executed only when said associated analysis rule returns a true result, said subjective mathematical statement operating on user specified data from said memory and outputting a numeric result in the form of a weighting number, and for controlling said computer to receive user input controlling which of said analysis rules is to be applied to said data, and for applying said analysis rules so designated to the data in said memory designated by said user and returning a true or false result depending upon the state of the data to which the analysis rule was applied, and for each true result returned by an analysis rule, controlling said computer to store in a file in said memory the diagnostic statement associated with each true result as a diagnostic in a diagnostic database and the corresponding weighting number from the corresponding mathematical statement, and for controlling said computer to receive and store in said memory user input defining one or more expert tests, each expert test comprising a user defined logic statement to be applied to one or more diagnostics selected by user input from the diagnostics stored in said diagnostic database, each said expert test also including an associated user programmable subjective weighting mathematical statement, each said subjective weighting mathematical statement being comprised of a user programmable combination of mathematical functions to be applied to the weighting numbers associated with the diagnostics combined by the logic statement of said expert test, at least one said mathematical function designed to select the maximum of all the weighting numbers associated with diagnostics combined by the corresponding expert test logic statement, and at least one said mathematical function designed to select the minimum of all the weighting numbers associated with the diagnostics combined by the associated expert test logic statement, said logic statement of each said expert test comprised of logical operators from any logic set such as predicate logic or Boolean logic including at least the AND, OR and NOT functions, each said expert test returning either a true or false result, and for controlling said computer to receive user input defining a super diagnostic statement in the form of an alphanumeric string associated with each true result of one of said expert tests, and for controlling said computer to receive user input defining which of said expert tests to execute and for executing the expert tests so designated, and for controlling said computer to store as a super diagnostic in a super diagnostic file in said memory the super diagnostic statement associated with any true result returned by any said expert test in addition to the numeric result of the associated weighting mathematical statement.

5. The apparatus of claim 4 wherein said subjective weighting mathematical statements associated with each said analysis rule and each said expert test are user defined.

6. The apparatus of claim 4 wherein each said mathematical function forming part of any said subjective mathematical statement has a predetermined rule of operation for operating on the weighting numbers associated with the data or diagnostics operated on by said analysis rules or said expert tests, respectively, said rule of operation not being definable by the user.

7. The apparatus of claim 4 wherein said numeric result of each said subjective weighting mathematical statement defines the degree, expressed as a percentage, to which said user believes the diagnostic associated width said true result is or is not included in a subjective class of diagnostics believed by the user to share a similar property or meaning, and wherein the rule of operation for each said mathematical function forming a part of any said mathematical statement associated with any said expert test is predefined, and wherein all logical AND operators forming part of any user defined logic statement of any expert test are assigned the mathematical minima rule of operation which selects the minima of the weighting numbers associated with the diagnostics being combined by the logic statement of the expert test, and wherein all logical OR operators forming part of any user defined logic statement forming part of an expert test is assigned the mathematical maxima rule of operation which selects the maxima of the weighting numbers associated with the diagnostics being combined by the logic statement of the expert test, and wherein all NOT logical operators forming part of any user defined logic statement of any expert test are assigned thereto a 1-x mathematical operator where x is the weighting number of the diagnostic which is negated by the NOT logical operator, such that a logical expression of A AND NOT(B), where A had a weighting number of 40% and B had a weighting number of 70% would result in a weighting number of minima{40%:(1-70%)}=30%.

8. The apparatus of claim 4 wherein said program also controls said computer to accept user input entered through said input device which defines bi-directional pointer data which associates each said diagnostic statement defined by user input for an analysis rule with any user defined data in said memory, and for controlling said computer such that when an analysis rule returns a true result, the corresponding diagnostic mapped to said true result is stored along with the corresponding bi-directional pointer data.

9. The apparatus of claim 4 wherein said diagnostics and the associated weighting numbers, the underlying data from which said diagnostics were generated by said analysis rules, and the super diagnostics generated by said expert tests and the associated weighting numbers derived by said mathematical statement associated with each said expert test are each stored in a separate table of a relational database.

10. The apparatus of claim 9 wherein said program controls said computer to receive user input that defines first and second sets of analysis rules, said first set of analysis rules for acting upon user designated data from a first data file and said second set of analysis rules for acting upon user designated data from a second data file, and for controlling said computer to receive user input data that defines diagnostic statements and mathematical statements relating subjective weighting numbers, each of said diagnostic statements and mathematical statements associated with true results from each said analysis rule in said first and second set of analysis rules, and for controlling said computer to store diagnostics generated by said first set of analysis rules in a first diagnostic database and to store diagnostics generated by said second set of analysis rules in a second diagnostic database, and for controlling said computer such that said logical statements and subjective, user defined mathematical statement associated with each said expert test may be applied to user designated combinations of diagnostics from either or both of said first and second diagnostic databases.

11. The apparatus of claim 9 wherein said program controls said computer to receive user input that defines first and second sets of analysis rules, said first set of analysis rules for acting up on user designated data from a first data file and said second set of analysis rules for acting upon user designated data from a second data file, and for controlling said computer to receive user input data that defines diagnostic statements and mathematical statements relating subjective weighting numbers, each of said diagnostic statements and mathematical statements associated with true results from each said analysis rule in said first and second set of analysis rules, and for controlling said computer to store diagnostics generated by either said first or second set of analysis rules in a single diagnostic database.

12. An apparatus for providing an expert systems toolkit, comprising:
a memory for storing data including at least first and second database files;
a computer coupled to said memory and having a video display and an input device;
a program in execution by said computer for controlling operations thereof for receiving user input defining a first set of one or more analysis rules to be applied to user specified data from said first database file, and for controlling said computer for receiving user input defining a second set of one or more analysis rules to be applied to user specified data from said second database file, each said analysis rule in said first and second set of analysis rules returning either true or false results depending upon the state of the data to which the analysis rule was applied, and for controlling said computer to receive and store user data defining a unique diagnostic statement associated with each true result of each said analysis rule in said first and second set of analysis rules, each said diagnostic statement comprised of a user defined alphanumeric text string which the user can program to define the significance of the true result, its relevance or any other expression which provides meaning to the user of the true result of the analysis rule, and for controlling said computer to receive user input controlling which of said analysis rules in each of said first and second sets of analysis rules are to be applied to said data of said first and second database files and for applying the analysis rules so designated from said first and second sets of analysis rules, and for applying said analysis rules so designated to the data designated by said user and returning a true or false result for each analysis rule so applied, and for each true result returned by an analysis rule in said first set of analysis rules, controlling said computer to store in said memory the diagnostic statement associated with each true result as a diagnostic in a first diagnostic database, and for each true result returned by an analysis rule in said second set of analysis rules, controlling said computer to store in said memory the diagnostic statement associated with each true result as a diagnostic in a second diagnostic database, and for controlling said computer to receive and store in said memory user input defining one or more expert tests, each expert test comprising a user defined logic statement to be applied to one or more diagnostics selected by user input from the diagnostics stored in either or both of said first and second diagnostic databases, said logic statement comprised of logical operators from any logic set such as predicate logic or Boolean logic including at least the AND, OR and NOT functions, each said expert test returning either a true or false result, and for controlling said computer to receive user input defining a superdiagnostic in the form of an alphanumeric string associated with each true result of one of said expert tests each said superdiagnostic being an alphanumeric string which the user can program to define the significance of the true result of the expert rule, its relevance or any other expression which provides meaning to the user of the true result of the expert rule, and for controlling said computer to receive user input defining which of said expert tests to execute and for executing the expert tests so designated, and for controlling said computer to store as a superdiagnostic in a superdiagnostic file in said memory the superdiagnostic statement associated with any true result returned by any said expert test.

Description

BACKGROUND OF THE INVENTION

The invention as a whole relates to the fields of artificial intelligence, decision-support software and expert systems.

More specifically, the invention relates to computer software based on artificial intelligence and rule-based systems for the development of an executive information system.

The invention can perform information analysis via captured expertise and the generation of diagnostics using a combination of artificial intelligence techniques such as expert systems, neural nets, fuzzy logic and others.

Current software implementations do not address directly the need for a system integrating (a) report analysis via an EIS system incorporating the generation of diagnostics using a combination of artificial intelligence techniques, (b) storage of said diagnostics in a database related to the original information in the reports, and (c) a query system, empowering the user to search for any information in both reports and diagnostics in a coordinated manner.

Heretofore, no instruments have been involved in a similar idea as that dealt with in the invention. However, its individual elements respond to prior art in the following areas: decision-support software and executive information systems, expert systems and expert system building tools, fuzzy systems, weighting schemes in expert systems, neural networks, tools integrating expert systems and neural networks, genetic algorithms and classifier systems, tools integrating expert systems and databases, intelligent databases and object-oriented databases, intelligent user interfaces, and knowledge acquisition and automatic discovery tools such as database miners.

1. Referring to DECISION-SUPPORT SOFTWARE,

existing tools do not address the specific functionality of this invention. These systems allow managers to see very simple summary reports from huge amounts of information stored in databases. In other words, EIS are tools allowing programmers to build simple reporting applications for managers. A few tools will be now discussed as good examples of the current state of prior art.

The DECISION PAD (V.2.0).TM. decision-support tool, by Apian Software of Menlo Park, Calif.; the DECISIONMAKER.TM. and the MAXCIM DECISION SUPPORT SYSTEMS II.TM. decision-support tool, by ASK Computer Systems, Inc. of Mountain View, Calif.; the EIS.TM. (Executive Information Services.TM.) decision-support tool, by Boeing Computer Services of Seattle, Wash.; the Business Insight.TM. decision-support tool, by Business Resource Software of Austin, Tex.; the Decision Support System.TM. (DSS.TM.) decision-support tool, by Definitive Software Inc. of Bloomington, Ind.; the EIS Tool Kit.TM. decision-support tool, by Executive Performance Systems of Glendale, Ariz.; the EIS Toolkit.TM. decision-support tool, by Ferox Microsystems, Inc. of Alexandria, Va.; the Executive Information System.TM. decision-support tool, by Global Software, Inc. of Raleigh, N.C., the Forest & Trees.TM. decision-support tool, by Channel Computing Inc. of Newmarket, N.H.; the LightShip.TM. decision-support tool, by Pilot Executive Software, of Boston, Mass., all of these described in patent pending No. 08/102,581.

The KEE Knowledge Engineering Environment.TM. decision support tool by IntelliCorp Inc. of Mountain View Calif. builds knowledge-based end-user systems from prototype through finished product. Provides environment that helps user understand how system uses its knowledge to solve problems and make decisions.

The EISPak.TM. executive information system building tool distributed by Microsoft Corporation of Redmond Wash. is a set of macro routines developed under Microsoft Excel.TM..

The Corporate Vision.TM. decision support tool by IntelligenceWare Inc. of Los Angeles Calif. is a spreadsheet program that helps user visually analyze facts and graphically see corporate data. Merges data from several sources, filters and extracts facts and provides user with key information on demand. Displays information in 3D graphics, tables and hypertext in exchangeable format.

The Iconic Query.TM. decision support tool by IntelligenceWare Inc. of Los Angeles Calif. is a graphical query tool which allows users to visually create queries on-screen. Supports graphics, reporting features and query capabilities. Replaces query language used by developers with icons to get information from databases. Includes Paradox and dBase drivers. Provides support for hypertext help and ability to incorporate 3D graphics into applications. Includes WYSIWYG reporting and label generation.

The Intellect.TM. decision support system by AICorp Inc. (now Trinzic) of Waltham Mass. is an AI-based natural language system allowing management access to production databases for English language query, ad hoc analysis, report formatting and database updates. Generates presentation-quality graphs or downloads data to PC. Intellect 400 provides simultaneous multiple database access and supports IBM mainframe databases and 4GL systems including DB2, SQL/DS, IMS, IDMS, ADABAS and Focus. Operates standalone or integrates with AICorp's KBMS.

The Spreadbase.TM. decision support tool by Objective Software Inc. of Redwood City Calif. is a category-based modeling software. Designed to complement existing spreadsheets. Enables users to perform data analysis. Handles items with similar characteristics as categories and establishes one-to-one correlation between data contained in cells and underlying data record. Allows for multiple views of same data. Enables user to generate what-if scenarios.

Of all executive information systems and decision support tools examined, none provides the specific functionality of this invention.

2. Referring to EXPERT SYSTEMS and expert systems building tools,

Expert Systems are computer programs that capture human expertise in problem solving in a small area, to provide automatic solutions to similar problems. Usually, these are written in a set of if/then rules, called a rule base or knowledge base. Expert systems building tools typically consist of (a) an interpretive language where the user may write his or her program statements and the conditions associated with those statements, (b) an inference engine, which provides the mechanism through which the expert rules are interpreted and fired, and (c) an executive front-end or expert shell, that helps users write application programs using the language, and that helps them run the expert applications developed, and that also helps them develop and query reports or the generated diagnostics.

The following paragraphs have been adapted from the Interim Final "Practice Paper" on Expert Systems for Life Cycle Management in EPA's Office of Solid Waste and Emergency Response (OSWER), November, 1988. This document was publicly circulated in the U.S.

Expert systems are a specialized subset of DSSs (decision-support-systems) that employ symbolic reasoning to manipulate data and produce reports. If the judgment employed by the users is procedural in nature (i.e., requires a set number of steps to reach a predetermined conclusion), then a conventional DSS should be developed. However, if the user reaches a conclusion based on a variety of factors that cannot be captured using an algorithm, then an expert system could be developed.

The ability of expert systems to reason about rules as well as input data makes them particularly adept at handling many different types of problems, such as diagnosis and classification, data analysis and interpretation, design and synthesis, prediction and simulation, monitoring, instruction, planning, control and repair.

(i) Diagnosis and classification expert systems select an answer from a fixed set of alternatives on the basis of information input to the system while it is reasoning. For example, the MYCIN.TM. expert system by Stanford University of Stanford, Calif. diagnoses bacterial infections in humans. Another diagnosis and classification expert system, the MUDMAN.TM. expert system diagnoses problems with "mud" used in NL Baroid's oil well drilling and recommends new compositions.

(ii) Data analysis and interpretation systems select a hypothesis based on measurement data and corollary information. They infer situation descriptions from accumulated sensor data. For example, the DENDRAL.TM. expert system by Stanford University analyzes molecular structures based on mass spectrogram data. The PROSPECTOR.TM., developed at Stanford Research Institute, is used to interpret data about ore-grade deposit sites. Expert systems can deal with incomplete or contradictory data. Expert systems are often good at assisting managers in managing complex and incompatible data sources in order to consistently reach a known range of conclusions.

(iii) Design and synthesis expert systems configure objects such as computer systems on the basis of a set of alternate possibilities. The expert system incorporates constraints that the system must meet as well as guidance for steps the system must take to meet the user's objectives. Design expert systems are used in configuring large mainframe computers, in designing circuit boards, and in preparing large annual budgets. Expert systems permit the exploration of the consequences of proposed design changes prior to implementing them. They also facilitate the subdivision of large problems into smaller ones and simplify coordination among the subsets.

(iv) Prediction and simulation expert systems forecast what will happen on the basis of current information by depending on experience or employing models or simulation. Situations involving prediction are well suited to expert systems. Crop management and weather forecasting are two areas of current interest. Predictor systems must be able to model the ways actions change over time and to manipulate events that are ordered in time. They must also be able to deal with incomplete information, generate multiple scenarios, and use diverse data sources. For example, the COMAX.TM. expert system by the U.S. Department of Agriculture advises farmers on irrigation, fertilization, and when to harvest. The GRAIN MARKET ADVISOR.TM. expert system by Purdue University helps farmers determine the best way to market the grain they produce.

(v) Monitoring expert systems obtain data on an ongoing situation following its predicted or intended progress and alerting the user or system if there is a departure from the expected or usual. Expert systems capable of monitoring their environments compare observations to desired outcomes and report discrepancies. They must recognize alarm conditions in real time and avoid false reports of problems or emergencies. Note that "real time" expert systems are significantly different than those which allow the luxury of reflection. Because of varying environmental factors, monitoring systems must vary their anticipation of alarm conditions with time and situation. Air traffic control and nuclear power plant management are two current fields of application. Additionally, NASA's NAVEX monitors controls on space shuttle flights.

(vi) Instruction expert systems are built depending on user needs to give advice, furnish information, or perform various subtasks. Expert systems that can serve as an on-line tutorial aid to students and diagnose areas of deficiency involve the automation of instruction. These systems construct a hypothetical description of a student's knowledge in order to interpret the student's behavior. They identify remedial courses of action and develop tutorial modes of communicating the remedial action to the student. They can be used to tutor novices and to advance the development of human experts. For example, the DOPPLER DIAGNOSIS.TM. expert system, by Dr. Evlin Kinney, helps train doctors in the use of non-invasive echo effect equipment. The CBT ADVISOR.TM. expert system, by Courseware, helps determine the suitability of instructional units for computer based training.

(vii) Planning expert systems select a series of actions from a complex set of alternatives to meet a user's goals. Priorities must be established in order to resolve conflicts among goals and subgoals may need to be established to simplify complex interactions. The UNIT COMMITMENT ADVISOR.TM. expert system by IBM Corporation assists in the shut down of power plants.

(viii) Control is a combination of monitoring a system and taking appropriate actions. Control systems interpret, predict, repair, and monitor system behavior. Problems addressed by control systems include business management.

(ix) Debugging and repair systems specify remedial plans and apply them in limited areas. Computer programming is the most obvious area of application, but medical diagnostic systems also have debugging aspects.

Many expert system building tools are available to the public, such as the VP-EXPERT.TM. expert shell by Paperback Software, the CLIPS.TM. expert system development tool and language by NASA, Nexpert Object.TM. expert system development tools by Neuron Data, and the KnowledgeMaker.TM. development system by Knowledge Garden. A few tools will be now discussed as good examples of the current state of prior art.

The Kappa-PC.TM. expert system building tool by IntelliCorp Inc. of Mountain View Calif. develops problem-solving, knowledge-based systems for business, scientific and engineering applications. Combines techniques for knowledge representation and reasoning including functional programming, object-oriented programming, rule-based reasoning and graphical representation. Creates GUI components including list boxes, radio buttons and check boxes. Interfaces to numerous application and in-house programs.

The KEELINK.TM. expert systems building tool by IntelliCorp Inc. of Mountain View Calif. allows user to build connection between knowledge-based application and one or more databases. Allows KEE applications developers to build applications that communicate with databases on mainframes, read data from tables and translate data into KEE unit structures and write data from KEE unit structures to update database tables.

The GBB for Windows.TM. expert system building tool by Blackboard Technology Group Inc. of Amherst Mass. provides a generic Blackboard-Based development framework for AI applications. Provides blackboard database facility, modular, independent knowledge sources, control capabilities and graphics system for developing applications that allow multi-level problem representation and incremental solution development. Applications uses include scheduling, planning, and simulation and command. This is a Windows-compatible toolkit for developing blackboard-based AI applications. It consists of a blackboard data base facility, knowledge-source representation languages, control shells and an interactive blackboard-examination graphics tool. Operates as an extension of Common Lisp and CLOS and inherits the programming environment and development tools provided by the host implementation. A blackboard data base facility provides a blackboard representation that supports hierarchical nesting to any depth. Blackboard objects reside in spaces that make up the blackboards. Each space can be defined as a highly structured, multidimensional volume, with blackboard objects that occupy some multidimensional extent within the space. Utilizes objects called units that are structured CLOS objects and fully support CLOS class inheritance and the use of generic functions and methods.

The M.4.TM. expert systems building tool by Cimflex Teknowledge Corp. of Palo Alto Calif. is an expert system tool for embeddable applications. Allows inference services to be requested on demand and output and be channeled through I/O or user interface code. Includes kernel library that consists of more than 90 callable subroutines and 110 built-in function modules. Allows user to link kernel library into C-language application. Enables user to remove and modify individual commands and built-in functions.

The Nexpert Object.TM. for Windows expert system building tool by Neuron Data Inc. of Palo Alto Calif. is a graphics-based expert system tool. Provides AI functions including knowledge acquisition, interviewing and elicitation, multi-dimensional scaling, repertory grids and hierarchical clustering. Includes open architecture that allows for integration of expert systems with conventional programs, databases, networks/and languages. Run-time version available.

It would be very complicated to program to do a function equivalent to the claimed invention (automatically creating an integral database of diagnostics that can be queried simultaneously and in a synchronized manner with the original data) using any of the expert systems, expert system building tools or neural network building tools in the prior art. The same could be said of existing languages that are particularly oriented to the development of expert systems other artificial intelligence products and technologies, such as LISP, PROLOG and others.

3. Referring to FUZZY SYSTEMS,

"Fuzzy Systems--A Tutorial", by James F. Brule, 1985, contains a formal definition of fuzzy systems. The following paragraphs contain an adaptation of this definition.

Fuzzy systems is an alternative to traditional notions of set membership and logic that has applications for Artificial Intelligence. The notion central to fuzzy systems is that truth values (in fuzzy logic) or membership values (in fuzzy sets) are indicated by a value on the range [0.0, 1.0], with 0.0 representing absolute Falseness and 1.0 representing absolute Truth.

Fuzzy systems are different from probability. There is a distinction to be made between the two statements: The probabilistic approach yields the natural-language statement, "There is an 80% chance that this car is old," while the fuzzy terminology corresponds to "This car's degree of membership within the set of old cars is 0.80." Fuzzy terminology supposes that the car is "more or less" old.

The next step in establishing a complete system of fuzzy logic is to define the operations of EMPTY, EQUAL, COMPLEMENT (NOT), CONTAINMENT, UNION (OR), and INTERSECTION (AND).

Definition 1: Let X be some set of objects, with elements noted as x. Thus, X={x}.

Definition 2: A fuzzy set A in X is characterized by a membership function mA(x) which maps each point in X onto the real interval [0.0, 1.0]. As mA(x) approaches 1.0, the "grade of membership" of x in A increases.

Definition 3: A is EMPTY iff for all x, mA(x)=0.0.

Definition 4: A=B iff for all x: mA(x)=mB(x) [or, mA=mB].

Definition 5: mA'=1-mA.

Definition 6: A is CONTAINED in B iff mA.rarw.mB.

Definition 7: C=A UNION B, where: mC(x)=MAX(mA(x), mB(x)).

Definition 8: C=A INTERSECTION B where: mC(x)=MIN(mA(x), mB(x)).

Expert systems have been the most obvious recipients of the benefits of fuzzy logic, since their domain is often inherently fuzzy. Examples of expert systems with fuzzy logic central to their control are decision-support systems, financial planners. Another area of application, akin to expert systems, is that of information retrieval. There are already many products in the market implementing fuzzy logic techniques.

4. Referring to WEIGHTING SCHEMES IN EXPERT SYSTEMS,

In the Interim Final "Practice Paper" on Expert Systems for Life Cycle Management in EPA's Office of Solid Waste and Emergency Response (OSWER), November, 1988, it is stated that expert systems accommodate uncertainty through weighting schemes. These weighting schemes calculate certainty levels by determining if a piece of information is correct or valid and increment the level of certainty accordingly. The inability to process uncertain data confines the power of conventional systems to linear programming tasks, that is, tasks where steps are performed in sequence regardless of the inputs, and which are number- or text-intensive.

In the documentation of the Neuroshell.TM. neural network tool, by Ward Systems Group of Woodside, N.Y., it is stated that NeuroShell includes two versions of the main program, called Binary and Analog. Analog requires the use of CONFIDENCE FACTORS along a scale. For example, zero might mean "NO", ten might mean "YES", five might mean "MAYBE", and nine might be interpreted as "ALMOST DEFINITELY".

5. Referring to NEURAL NETWORKS,

Neural nets are tools that attempt to mimic the human brain by "learning" different sets of stimulus patterns (such as medical symptoms) and their associated responses (diagnoses). In order for a neural network to learn, it must first receive a lot of sets of input and output variables so as to discover the relationship between them. A few tools will be now discussed as good examples of the current state of prior art.

The Brainmaker Professional.TM. neural network tool by California Scientific Software of Nevada City Calif. is a neural network development system which includes suite of automatic and semi-automatic development tools for network optimization. Supports over 25,000 independent variables, graphics output and training.

The Neuralyst for Windows.TM. neural network tool by Epic Systems Corp of Sierra Madre Calif. is a general-purpose neural network engine with Microsoft Excel integration. Provides serf-programming neural network. Allows user to act as coach by providing data and setting goals for program to learn. Reports continuously on performance. Allows user to develop expert systems, pattern recognizers, outcome predictors and risk evaluators. Uses Excel macros.

The NeuralWorks Professional II/Plus.TM. neural network development tool by NeuralWare Inc. of Pittsburgh Pa. includes 25 network types plus ability to define own network, 14 learning rules, 10 transfer functions and 11 summation functions. Incorporates iconic user interface, supports 31 network types and several variations and interfaces with standard ASCII files produced by Lotus 1-2-3, dBase III and Excel.

The NeuroShell.TM. neural network tool by Ward Systems Group Inc of Frederick Md. is a shell program for applying neural networks to decision making, problem diagnosis, data classification and other applications where previously only rule-based expert systems were considered. Mimics biological learning process.

The Braincel for Excel.TM. neural network tool by Promised Land Technologies Inc of New Haven Conn. is an Add-in for MS Excel. Neural network add-on package for Microsoft Excel. Studies historical data until it produces reliable forecasts for various areas.

The AUTONET.TM. neural network by Peak Software Corporation of Denver, Colo. is a neural network software program that automatically constructs neural networks from training data sets of input variables and expected results. Autonet determines the most appropriate network architecture for calculating the expected result. The constructed network can then be used to calculate new results from user entered input variables. Autonet is based on close to 30 years of research into adaptive modeling procedures. One of the earliest researchers in this area was A. G. Ivakhnenko, a Ukrainian cyberneticist who examined what he called a Group Method of Data Handling, or GMDH. Autonet is based on some of these ideas and incorporates many improvements which allow construction of networks for problems with a wider variety of data types.

The NASA/COSMIC NETS.TM. neural net software is available from NASA COSMIC. This is a general-purpose expert system building shell, developed in portable C code.

Other examples of popular and easily accessible neural networks are the NEURAL NETWORK APPLICATION PROGRAMMING LANGUAGE (NNAPL).TM., and TANN.TM. (The Artificial Neural Network), both by Tom Bensky of Sepulveda, Calif.

It would be very complicated to program to do a function equivalent to the claimed invention (automatically creating an integral database of diagnostics that can be queried simultaneously and in a synchronized manner with the original data) using any of the expert systems, expert system building tools or neural network building tools in the prior art. The same could be said of existing languages that are particularly oriented to the development of expert systems other artificial intelligence products and technologies, such as LISP, PROLOG and others.

6. Referring to TOOLS INTEGRATING EXPERT SYSTEMS AND NEURAL NETWORKS,

several products have implemented such integration, since this neural nets can learn and they can even generate new rules from existing data. This allows expert systems to grow automatically.

In the documentation of the AUTONET.TM. neural network tool, by Peak Software Corporation of Denver, Colo., it is stated that neural networks have been constructed for a variety of purposes, including economic modeling and forecasting, marketing research, pattern and character recognition, language processing, RULE DEVELOPMENT IN EXPERT SYSTEMS, and many other areas.

In the documentation of the Neuroshell.TM. neural network tool, by Ward Systems Group of Woodside, N.Y., it's stated that NeuroShell includes two versions of the main program, called Binary and Analog. Binary is USEFUL FOR "YES/NO" EXPERT SYSTEMS.

7. Referring to GENETIC ALGORITHMS AND CLASSIFIER SYSTEMS,

Genetic Algorithms (GAs) represent, in general, a method for developing algorithms that perform optimally. These are called "genetic" because other basic ideas closely parallel the principles of biological genetics: reproduction, crossover of genes, mutation, and survival of the fittest.

In the documentation for "The Portable AI Lab", developed under Swiss National Research Programme PNR 23 on AI and Robotics by IDSIA Lugano in collaboration with IFI, University of Zurich and the Laboratoire d'IA at the EPFL, Lausanne, it is stated that the best-known example of evolutionary teaming is Genetic Algorithms (GA's). GA's are powerful search algorithms based on the mechanics of natural selection and natural genetics. They evolve a good point in the search space through a `survival of the fittest` process, which selects among a population of strings, and an exploration of the search space through random mutation and recombination of the search strings. These algorithms are computationally simple yet powerful in their search for improvement. Furthermore, they are not fundamentally limited by restrictive assumptions about the search space (assumptions concerning continuity, existence of derivatives, unimodality and other matters). GA's are theoretically and empirically proven to provide robust search in complex spaces.

Theoretical considerations show that genetic techniques provide a highly efficient heuristic for information gathering in complex search spaces. A number of experimental studies have shown that GA's exhibit impressive efficiency in practice. While classical gradient search techniques are more efficient for problems which satisfy tight constraints (e.g., continuity, low dimensionality, unimodality, etc.), GA's consistently outperform both gradient techniques and various forms of random search on more difficult (and more common) problems, such as optimizations involving discontinuous, noisy, high dimensional, and multimodal objective functions. GA's have been applied to various domains, including numerical function optimization, adaptive control system design, and artificial intelligence task domains.

Classifier systems are a kind of rule-based systems with general mechanisms for processing rules in parallel, for adaptive generation of new rules, and for testing the effectiveness of existing rules. Classifier systems provide a framework in which a population of rules encoded as bit strings evolves on the basis of intermittently given stimuli and reinforcement from its environment. The system "learns" which responses are appropriate when a stimulus is presented. A classifier system consists of the following components: detector and effect, message system, role system, apportionment of credit system, and genetic procedure.

A few tools will be now discussed as good examples of the current state of prior art.

The Genesis.TM. GA system is a generational GA system written by John Grefenstette. As the first widely available GA program GENESIS has been very influential in stimulating the use of GAs, and several other GA packages are based on it.

The Evolver.TM. GA system by Axcelis, Inc of Seattle Wash. is a spreadsheet add-in which incorporates the first commercially available genetic algorithm to search for solutions. Evolver can be customized through the macro language, and is available for the Microsoft Excel.TM. spreadsheet program by Microsoft Corporation of Redmond, Wash., the WingZ.TM. spreadsheet program by Informix Software Inc. of Menlo Park, Calif. and other spreadsheet programs.

The Omega.TM. Predictive Modeling System, marketed by KiQ Limited, is a powerful approach to developing predictive models. It exploits advanced GA techniques to create a tool which is "flexible, powerful, informative and straightforward to use". Omega is geared to the financial domain, with applications in Direct Marketing, Insurance, Investigations and Credit Management. The environment offers facilities for automatic handling of data; business, statistical or custom measures of performance, simple and complex profit modeling, validation sample tests, advanced confidence tests, real time graphics, and optional control over the internal GA.

8. Referring to TOOLS INTEGRATING EXPERT SYSTEMS AND DATABASES,

in "Nothing artificial about expert systems (MIS)", by John Soat, Information Week, Aug. 21, 1989 n233 p33(2), it is stated that there are four expert system processing categories:

1. Systems that run on microcomputers, intended for sales support, product diagnosis and customer service

2. Midsized standalone systems run on workstations and appropriate for manufacturing applications

3. Expert systems run on mainframes, particularly suited to MIS. These systems involve a large central data base and are developed from expert shells

4. The high-end category consists of `strategic` expert systems developed using LISP, custom written for long-range planning and complex scheduling problems for specific applications

In "EXPERT SYSTEMS AND DATABASES: how using a knowledge base and an inference engine adds intelligence to a database application", by P. L. Olympia, DBMS, October 1992 v5 n11 p100(3), it is stated that Expert systems have been predicted to become a major application area for several years, but it has not happened yet. This is doubly curious considering the benefits expert systems could provide organizations, particularly in the area of database development.

In "The End of The Beginning," AI EXPERT February 1990, pp. 65-67, Harvey Newquist mentioned the trend toward incorporating AI technology more directly into mainline data-processing products). This trend will increase dramatically in the database area, among others, in the near future. Ingres Corp. has already announced its version of the smart database supporting very right integration of rules and objects. IBM's TIRS release places a knowledge-based system squarely in the heart of its SAA AD/Cycle framework, meaning IBM will support a closer link than ever before between knowledge bases, databases, and application-development strategies.

In "KADBASE: interfacing expert systems with databases", IEEE Expert, Fall 1989 v4 n3 p65(12), H. Craig Howard and Daniel R. Rehak describe the KADBASE.TM. expert tool, an instrument consisting of a knowledge base that includes procedures for processing requests and specific declarative knowledge regarding data spaces of components to be integrated. The prototype is a network database interface for data base management systems (DBMS) and knowledge based systems in the computer-aided engineering (CAE) environment.

In "KADS tool: too cool!", AI Expert, October 1993 v8 n10 p44(1), a product announcement by Ilog Inc. of Mountain View, Calif., this company describes the KADS Tool.TM. software tool. KADS Tool is a software tool that models cycles of complex activities and automatically generates the specifications of applications for decision-making systems, diagnosis, planning, design, and process control. KADS (knowledge acquisition and design support) Tool is a high-end CASE tool implementation of the Common KADS.TM. by Ilog Inc. methodology that standardizes modeling techniques and expertise and generates reusable models in a language-independent manner. With KADS Tool, users can analyze complex activities using Common KADS's model-directed analysis. Once a task is modeled, it is stored as a library element, or knowledge database, and customized for plug-and-play reuse by knowledge workers on an enterprise-wide level within the organization. Features of KADS Tool include an application manager and a protocol manager, expert interviews transcripts, dictionaries, expertise model editors, libraries, hypertext facilities, a documentation generator, and model variation.

In "Implementing KADS expertise models with Model-K (the Knowledge Acquisition and Design Structuring system)", IEEE Expert, August 1993 v8 n4 p74(8), Angi VoB and Werner Karbach briefly describe the Knowledge Acquisition and Design Structuring (KADS) system.TM., a complete knowledge-engineering methodology. KADS.TM. guides knowledge engineers through use of a series of models, each of which has its own structure and vocabulary: organizational models, task models, expertise models, cooperation models, and design models. The four-layer expertise model is used by many European researchers to describe expert systems. The Model-K.TM. Knowledge Acquisition and Design Structuring software system follows the modeling spirit of KADS but joins the expertise model and its implementation more closely without prescribing any fixed development sequence. Model-K represents a system's dynamic states explicitly during problem solving by using an agenda with the stack of pending tasks, as well as metaclasses that have the variable data manipulated by the knowledge sources.

In "Intelligent databases and object-oriented languages," Computer Language, October 1989 v6 n10 p67(8), Mark H. Chignell discusses the integration of expert systems and databases within an object-oriented framework. Such integration is appealing because the user can directly manipulate the database's semantics. In such an intelligent database system, expert rules dealing with data can be programmed in the same environment without using any external expert system tool. Ordinary database applications (such as data entry and report and application generation) and intelligent processing of data can be mixed.

The key to integrating expert systems and databases is a knowledge-based approach to relations; access to relational databases should occur as an integral part of inference processes. Expert system shells and relational databases may be closely integrated using relational predicates and objects. The method and notation described here are implemented in the Intelligence/Compiler expert system shell (IntelligenceWare, Los Angeles, Calif.). The basis of the implementation is a transformation of relational constructs into objects and predicates that can be embedded within a knowledge base.

In "Merging expert systems and databases," AI Expert, February 1989 v4 n2 p22(8) Benjamin Cohen states that in a logic database application, derived values may also be computed using the full power of a backward- and forward-chaining logical inference engine with access to both the knowledge base and database.

The overall architecture of a logic database application includes at least the following components: logic database application program, data model stored in an active data dictionary, database access and storage, rule base (and knowledge network) access and storage, inference engine, user dialogue input, database transactions, and screens and reports.

Access to the inference engine and knowledge base from inside a database application can be explicit, using a procedure call interface, or implicit, through an active data dictionary. An explicit call to the credit authorization inference engine might look like this:

In the implicit approach, the application itself does not explicitly call the rule-based system. Instead, all access to the inference engine is through the same query interface used to access data. Behind the scenes, an active repository triggers the knowledge base. Thus, given an innocent-looking query such as: select amount, recommendation from credit approval where custid#=10 the repository knows that amount and recommendation are derived and triggers the knowledge base. If the knowledge base uses an object-oriented representation scheme, the values of amount and recommendation would be determined by triggering rules and compiled procedures attached to (corresponding) objects in the knowledge base. One advantage of the implicit approach is a form of data independence: users and applications need not know which values are determined by the rule-based system and which are stored.

Most logic database applications will likely be developed on top of relational database technology. The declarative access offered by relational systems is a major advantage for them. Without it, database access would require much more programming, and dynamic queries would be virtually excluded. In the future, object-oriented databases (for example, the Vbase.TM. object-oriented database by Ontologic) will also likely be used, particularly in the CAD, CASE, and engineering fields. Even here, SQL will be available as the standard interface language.

9. Referring to INTELLIGENT DATABASES AND OBJECT-ORIENTED DATABASES,

A practical definition of the concept of INTELLIGENT DATABASES may be found in "Intelligent databases," AI Expert, March 1990 v5 n3 p38(10) by Kamran Parsaye, Mark Chignell, Setrag Khoshafian and Harry Wong.

It is stated that Intelligent Databases handle information rather than simple data. Intelligent databases consist of high-level tools, a high-level user interface (hypertext, with multiple linked nodes), and an intelligent database engine.

The three main categories of intelligent database tools are automatic discovery programs, which approximate the scientific method of inquiry and use statistical techniques; automatic error detection via rules that find anomalous data items and enforce constraints; and flexible query processing, which can solve queries involving inexact values.

The intelligent database engine supports object orientation and features global query optimization while closely integrating data access and inference.

Thus, it can be seen that intelligent databases represent the evolution and merger of several technologies, including automatic discovery, hypermedia, object orientation, expert systems, and traditional databases.

Thus, it can be concluded that intelligent databases represent a collection of tools that altogether help users better understand and visualize their data. These tools are usually knowledge extraction tools as described elsewhere in this document, graphic query systems, and embedded executive information and reporting systems. Object-oriented databases development tools employ object-oriented techniques to substitute the fields, records and pointers scheme of relational databases with a far more flexible approach of definable classes of objects with inheritance. Where database dictionaries in relational databases show a regular structure, those dictionaries of object-oriented databases closely follow the object database structure. This allows the development of expert and artificial intelligent systems within object databases, simply associating expert rules and specific algorithms to particular elements in the dictionaries. Intelligent databases can help us make discoveries automatically.

A few tools will be now discussed as good examples of the current state of prior art.

The Intelligence Compiler.TM. object-oriented database by IntelligenceWare Inc. of Los Angeles Calif. is a powerful tool, allowing the development of expert systems and artificial intelligence systems embedded in object database applications.

The XShell.TM. object-oriented database system by Expersoft of San Diego Calif. is a distributed object-oriented system development environment. Allows user to construct large-scale systems of cooperating programs distributed across networks of computers. Encapsulates software programs as software objects with abstract interface. Allows systems architects to handle programs as extensible building blocks with standard interfaces.

The XFuzzy.TM. object-oriented database system add-on by Expersoft of San Diego Calif. is an XShell add-on module. Allows user to create rule-based systems using fuzzy logic and applied fuzzy set theory. Combines evidence from several rules. Allows continuously graded levels of certainty to be considered. Supports machine teaming, allowing sets of rules to be learned from training data and simulated problem models.

The XGenetic.TM. object-oriented database system add-on by Expersoft of San Diego Calif. is an XShell add-on module. Programming toolkit that supports genetic algorithms. Automatically organizes modules for parallel evaluation of objective functions.

The Smart Elements for Windows.TM. object-oriented tool by Neuron Data Inc. of Palo Alto Calif. is an object-oriented development environment for creating strategic knowledge-based applications with GUIs. Integrates object and Me-oriented elements of Neuron Data's Nexpert Object V.3.0 with cross-platform GUI design element of Neuron Data Open Interface. Integrates elements using extensible Script language that lets developers define behavior of application interface and link screen elements to application objects. Provides a superset of interface objects, called widgets, available across all native windowing environments.

10. Referring to INTELLIGENT USER INTERFACES,

the user interface is critical to any application or environment. The human mind is inherently associative. Associative structuring is provided to users by hypertext. Hypertext can be defined as the creation and representation of links between discrete pieces of information. When this information can be in the medium of graphics or sound as well as text or numbers, the resulting structure is referred to as hypermedia. For intelligent databases, hypertext serves two purposes. First, it is an information-structuring technique supplementing traditional text and record-oriented databases. Second, it structures the interface that adds associative links to the hierarchical ones found in menus.

Links are between nodes. Some link types that provide the basic functionality required for intelligent databases are: (ii) Pan links move to a related node. They allow one to move around or navigate through hypermedia. (ii) Zoom-in links expand the current node into a more detailed account of the information. Zoom-out links return to a higher-level view of the current object. (These links are particularly useful in browsing facilities.) (iii) Hierarchy links allow the user to view any hierarchies in which the current object is embedded. If more than one hierarchy is involved, the user chooses the appropriate context. (iv) Broaden links display the parents of the current object for the hierarchies it is embedded within. Specialize links display the children of the current object as defined by the hierarchies in which it is embedded. (v) Conditional links. The availability or activation of these links depends on the stated interests or purposes of the user. Conditional links are hidden unless of interest or a particular user has access to them. (vi) Index links move the user from an indexed node to the corresponding index entry for that node. The index can be used to enter the relational database or to find documents sharing a particular index term. Indexing hypertext is a good way of controlling the proliferation of links between nodes.

Links are important in hypertext, but nodes are also needed for storing and displaying information. Basic node types include: (i) Text nodes, which consist of text fragments. The text itself may be a document, define the object represented by the node, or represent base-level information, such as that provided in a document. (ii) Picture nodes. Pictures may be embedded within text nodes, or they may be nodes in their own right. A picture and text may be mutually documenting, as when you use a painting to illustrate a biography of Leonardo da Vinci or pursue biographic details of the artist after viewing a picture. (iii) Sound nodes. Like pictures, sounds may be embedded within text or exist as nodes in their own right. Sounds may be treated in a way similar to pictures but are less likely to be zoomed. Sounds represent uninterpreted information as well. (iv) Mixed-media nodes. These nodes contain some combination of text, pictures, and sounds. In many cases the same information may be represented in a combination of linked nodes or as a single mixed-media node. (v) Buttoned text or mixed-media. The distinction between buttons and links is that a link connects a pair of nodes, whereas a button executes a procedure.

11. Referring to KNOWLEDGE ACQUISITION AND AUTOMATIC DISCOVERY TOOLS SUCH AS DATABASE MINERS,

knowledge acquisition tools, also called knowledge extraction tools and, sometimes, database miners, perform various forms of statistical, mathematical and probabilistic analysis on whole databases. These tools first find general correlations between data in the database, then they generate a set of rules representing those correlations, and then, in some cases they find all numbers that prove to be exceptions to the set of rules. Some of these tools also include query, graphic and presentation tools to allow easier observation of their results.

It has been published that, in most businesses, workstations are usually switched off for about 16 hours a day-nearly 70% of its lifetime. Thus, most professionals possess two commodities in excess: data that requires analysis and unused processing power. And the risk-benefit ratio for automatic discovery is very attractive. A discovery system has to discover just a few unexpected relationships to pay for itself.

A query language can handle queries but it can't automatically form hypotheses since it doesn't know what to ask for. To discover knowledge we must: (i) form hypotheses, (ii) make some queries, (iii) view the results and perhaps modify the hypotheses, (iv) repeat this cycle until a pattern emerges.

The technology for extracting knowledge from large databases may be viewed as a merger of statistics and AI. However, although discovery programs utilize statistics heavily, their output is not in purely statistical form. They produce rules rather than equations. Users (and expert systems) may be unfamiliar with statistics but can read through a set of rules easily.

In "KNOWLEDGE ACQUISITION WITH NETS", by Rodger Knaus, AI Expert, September 1992 v7 n9 p17(5), it is stated that extensions of neural networks can be used to encode expert knowledge. The results can then be implemented as a rule-based system. A neural network is a dataflow diagram that informs users about data that is being used and sent from each part of the computation. The high-connectedness of neural networks indicates to the expert that some of the outputs and intermediate results are influenced by a variety of inputs. When using a neural net system for this application: (i) Expert knowledge determines the architecture of the network. (ii) Each node corresponds to a variable or statement the expert told us about. (iii) Edges in the network represent data flows the expert has told us about. (iv) The network generally has more than three layers, usually N+1 if the expert breaks the computation into N stages.

If we loosen the definition of neural net a bit, we can incorporate this information of a dataflow diagram into it: Instead of putting numerical weights on the edges, let's put on the edge from node[underscore]i to node[underscore]j a description of how node[underscore]i influences node[underscore]j:

Implies (or causes): set the output of node[underscore]j to at least the output of node[underscore]i, at least when node[underscore]i is near the value true

Necessary for: set the output of node[underscore]j to no more than the output of node[underscore]i

Evidence for: increment node[underscore]j slightly when node[underscore]i is turned on

Evidence against: decrement node[underscore]j slightly when node[underscore]i is turned on

Formula input: the output of node[underscore]i is used as input to a numerical computation performed at node[underscore]j; for example, if node[underscore]j computes speed, distance and time are formula inputs

Summand input: an input to a weighed sum, as found in standard neural networks.

In "Intelligent databases", AI Expert, March 1990 v5 n3 p5(2), Philip Chapnick stated that Hecht-Nielsen Neurocomputers Inc. of San Diego, Calif.--one of the premier neural-network companies trademarked the term "database mining" and is working to move their R&D technology that uses neural networks to explore hidden relationships in large data sets into commercial products.

Several tools and techniques have been developed to deal with knowledge acquisition in databases. One good example is Rough Sets. In "Rough sets: working with imperfect data," AI Expert, July 1993 v8 n7 p36(6) by Adam Szladow and Wojciech Ziarko, founders of Reduct Systems Inc., a software company in Regina, Saakatchewan, Canada, which specializes in development of products in knowledge acquisition and decision support, the concept and applications of rough sets are described.

Rough sets provide a series of tools for data analysis and knowledge discovery from imprecise and ambiguous data. The rough sets methodology is based on the premise that lowering the degree of precision in data makes data patterns more visible. Rough sets have been successfully applied for knowledge acquisition, forecasting and predictive modeling, decision support, EXPERT SYSTEM BUILDING, and more recently, "mining" of knowledge in databases.

The primary issues addressed by rough sets are the discovery, representation, and analysis of data regularities. In the rough sets approach, knowledge is defined as the ability to classify objects belonging to the domain of interest into two or more categories. Such a classification process generally involves two steps: query (for example, reading the values of attributes of the objects) and decision (for example, classifying objects into categories based on the information expressed in the attributes).

Rough sets-based computational techniques address the acquisition of explicit classification knowledge from data. The knowledge acquired from data can then be used as the basis for an experience-based decision support system or to understand a phenomenon or relationship in question better.

The end product of a rough sets analysis is a set of classification rules for classifying objects into two or more categories. The rules form a description of each category, typically in terms of an open formula of predicate calculus, combining simple relational conditions expressing some observable properties of objects.

As it has been already said, the rough sets methodology is based on the premise that lowering the degree of precision in data makes data patterns more visible. However, since decreasing precision too much may lead to a loss of information and the reduction of our ability to differentiate between objects, the theory of rough sets has developed rigorous mathematical methods to analyze and evaluate the effect of data representation on our ability to discern patterns in data.

A few tools will be now discussed as good examples of the current state of prior art.

The Acquire.TM. knowledge extraction tool by Acquired Intelligence Inc. of Victoria BC, Canada, is a Knowledge-based system. It provides a structured approach to knowledge acquisition. It helps the user to scope the problem, decompose the problem, elicit and structure expertise, identify meaningful patterns in the knowledge, identify the consequences of those patterns, and deal with uncertainty and ensure completeness. Using this system, people with domain knowledge can build significant knowledge-based systems. Guides knowledge acquisition throughout the development of a knowledge-based system including the critical, upfront task of acquiring and structuring the knowledge. The person is led through the task of eliciting and structuring the expertise, then through the development of an operational model of that expertise implemented in the program's representation, ready for testing and refinement. The person with the domain knowledge is given complete control over the development of the system. This program handles knowledge engineering. Implements a model of knowledge acquisition based on pattern recognition. Handles uncertainty by qualitative, non-numerical procedures. Provides the structure of the knowledge in graphic displays for browsing. Incorporates machine learning techniques. Represents knowledge as objects, production rules and decision tables. Provides an explanation and an exploration of what the system is doing and why. Provides reports for a wide variety of uses, from working messages to detailed reports informal documents.

The Discover-it!.TM. knowledge extraction tool by Sourcecode Inc. of Chicago Ill., reads large databases and produces understandable "rules".

The Esteem.TM. knowledge extraction tool by Esteem Software Inc. of Cambridge City, Ind. is a development tool for building decision making and problem solving applications which use reasoning on prior experience. Provides guidance in Case-Based Reasoning application development. Includes variety of similarity assessment and case retrieval facilities. Provides DDE interface functions for calls to/from other Windows applications. Includes hypertext help and guide facilities, import/export facilities for ASCII case files and CBR application templates to assist developers.

The Database Mining Workstation.TM. (DMW.TM.) knowledge extraction tool by HNC Inc. of San Diego Calif. is a decision modeling system that solves complex operational problems. Consists of seven modules including Relationship Discovery, Modeling, Explanation, Automatic Variable Selection, Performance Evaluation, Sensitivity Analysis and Data Manipulation.

The ExploreNet 3000.TM. knowledge extraction tool by HNC Inc. of San Diego Calif. provides development and delivery of neural network applications. Includes data transformation, file, pipe, display and network modules.

The Auto-Intelligence.TM. knowledge acquisition tool by IntelligenceWare Inc. of Los Angeles Calif. generates expert systems for heuristic decision-making tasks by interactively interviewing human expert. Generates rules which can be embedded in LISP, Prolog, Guru, TI and Intelligence/Compiler. Interviews make process of capturing knowledge in structured decision-making areas systematic. Includes diagnosis, financial investments, loan approval and risk analysis.

The Database Supervisor.TM. (DBS.TM.) knowledge extraction tool by IntelligenceWare Inc. of Los Angeles Calif. analyzes databases and identifies suspicious data items and patterns which are out of sync. Detects errors which violate statistical or logical integrity constraints. Integrated with intelligenceWare's IXL, Neural/Query and Intelligence Compiler.

Database Visualization Tool.TM. (DVT.TM.) knowledge extraction tool by IntelligenceWare Inc. of Los Angeles Calif. contains algorithm that evaluates data and suggests graph types that best illustrate database. Offers variety of graph and chart types including 2D line graphs, histograms, pie charts, bar charts, box plots and surface diagrams. Allows user to display numeric and non-numeric information. Includes 3D box graph which illustrates all of company's ongoing projects.

The Information Discovery System.TM. (IDIS.TM.) knowledge extraction tool by IntelligenceWare Inc. of Los Angeles Calif. analyzes databases, automatically generates hypotheses, discovers hidden and unexpected patterns, rules of knowledge, graphs and anomalies. Displays results within hypermedia environment. Combines automated data analysis, graphics, statistics, induction and hypermedia. Analyzes data without requiring user to formulate and test hypotheses. Formulates questions, executes them and collects data.

The IXL.TM. (also called Discovery Machine.TM. or Induction on Extremely Large Databases.TM.) knowledge extraction tool by IntelligenceWare Inc. of Los Angeles Calif. uses statistical and AI techniques to analyze and discover knowledge hidden in large databases. Discovers rules, patterns and correlations that help user to analyze database without knowing specific search parameters. Interfaces to ASCII, dBase, Lotus and DB2.

The DataLogic/R.TM. knowledge extraction tool by REDUCT Systems Inc. of Regina, SK, Canada, is a tool to reason from data, a professional tool for knowledge acquisition, classification, predictive modeling, expert systems building, and database "mining". This product is a decision support and database mining software that provides data analysis and knowledge discovery based on the methodology of rough sets. It analyzes logical patterns in data, including theories of knowledge representation, inductive logic and rough sets. It provides forecasting and decision making from imprecise, incomplete and ambiguous data. It discovers simple knowledge rules from data and provides full auditability of rules and decisions. With the Missing Data Module, the program can also process incomplete databases without filling in missing values. It generates rules at different levels of knowledge representation and rule precision. It provides several reports. The Rule Report describes significant logical patterns/rules in the database. The Rule Support Report describes pattern strength, and data which support the patterns. The Validation Report describes accuracy of the uncovered patterns and rules. The Expert Report describes recommended decisions for new cases, and the Decision Report describes how decisions were made.

The DataQuest.TM. knowledge extraction tool by REDUCT Systems Inc. of Regina, SK, Canada, data analysis software package based on the theory of rough sets and is used as an introductory learning tool for this methodology. Designed for business, industry and research, this product assists user in learning and understanding basic concepts of rough sets. This product uncovers logical patterns in data and predicts outcomes of new cases. It performs logical analyses of user's databases and provides user with expert rules for decision making. It uses logic to recognize patterns in data and can discover knowledge which is inaccessible to statistical methods. The analysis does not require information on data distribution and can be performed on incomplete and/or limited data. It measures data dependencies and significance of variables. It provides selection of data fields for analysis, elimination of irrelevant information, and prediction of outcomes for new cases. Its results can be saved in a report, including rules generated from the data, list of variable subsets and the quality of these subsets for data analysis, and measures of data dependencies and attribute significance.

LIMITATIONS OF PRIOR ART AND DIFFERENCES WITH THE INVENTION

In the following paragraphs I will discuss the LIMITATIONS OF PRIOR ART AND DIFFERENCES WITH THE INVENTION described hereof.

As it has already been said, using any and all the prior art tools described in sections it would be very complicated to program to do a function equivalent to the claimed invention. To do such a thing would require a fair degree of sophistication in the user, and to do what the claimed invention does is not at all suggested by these tools in the prior art. The teachings of the prior art's instruments are very general. Only with the benefit of hindsight and a great deal of programming skill would one skilled in the art appreciate that what is done by the claimed invention could be done with the existing programming tools.

The following paragraphs have been adapted from the Interim Final "Practice Paper" on Expert Systems for Life Cycle Management in EPA's Office of Solid Waste and Emergency Response (OSWER), November, 1988. This document was publicly circulated in the US.

Management information systems do not typically have symbolic reasoning capabilities. The graphic displays are static in the sense that there is no [explanation] or interpretation facility. The user must know how to format queries; the system cannot reformat queries if the user is not sufficiently specific. Vague or uncertain information contained in a management information system query may result in computer resource intensive processing caused by extensive database [searches]).

Expert systems provide valuable new capabilities, but they also have dear limitations. Because expert systems emulate human performance in decision making, they may be incorrectly thought of as having the capacity to make independent judgments. Expert systems are capable of communicating advice that has been coded into them. They are not capable of producing independent decisions. Their application is limited to strictly defined domains (i.e., areas of expertise where boundaries on what expertise should be included in the system can be defined); their performance degrades dramatically when dealing with information that is beyond those boundaries.

OBJECTS AND ADVANTAGES OF THE INVENTION

Accordingly, the following paragraphs describe several OBJECTS AND ADVANTAGES of the invention.

In "Intelligent databases," AI Expert, March 1990 v5 n3 p5(2), Philip Chapnick stated that there is a major area of commercial opportunity for AI technology in this decade: the information contained in corporate databases is viewed more and more often as a corporate asset and will ultimately be managed like one.

In "Merging expert systems and databases," AI Expert, February 1989 v4 n2 p22(8) Benjamin Cohen states that `when asked why he robbed banks, Willie Sutton said, "Because that's where the money is!" The same reply can explain why rule-based expert systems are merging with database and information systems: that's where the money is.` Combining the technologies of rule-based expert systems with relational database applications can enable people to build smarter, more powerful applications. For expert system people, management information systems (MIS) departments are a large, untapped market. From the MIS person's point of view, building smarter information systems means the right information will get to the right people at the right time.

Merging rule-based expert systems or logic data base applications relational data base systems allows programmers to develop smarter, more powerful applications. A logic data base application is distinguished from an ordinary data base application by its inference engine and rule base. The advantages of these new applications include reduction of expenses, increased competitive strength, increased productivity and higher profits.

In "Principles for applying intelligent databases", by Mark H. Chignell and Karoran Parsaye, AI Expert, October 1991 v6 n10 p34(6), it is stated that if we are to master information and survive in today's world of information glut and systemic complexity, we need to access and use information and develop intelligent database applications that provide more people with better access to needed information. In most situations, people want information quality rather than quantity. They need to know which resources are available for a task, or why products are faulty. Information quality can be attained by making specific types of information systems for different kinds of applications. Thus, we need to replace information quantity with information quality, selecting what people need and showing it to them in a form that they can easily assimilate. Intelligent databases let people control and exploit information, rather than passively react to it.

Better information access requires systems that: (i) Provide high-level intelligent tools such as automated discovery that give new insights into the contents of a database by extracting knowledge from data. (ii) Improve the decision-making process involved in using information after it has been retrieved by involving higher-level information models. From this perspective, intelligent databases serve as decision or executive support systems.

The current information glut and the growth of new markets and investment opportunities has created enormous management challenges. U.S. business managers dedicate a large share of their time to meetings and reviewing reports. They need information quality rather than quantity. Thus, we need to replace information quantity with information quality, selecting what people need and showing it to them in a form that they can easily assimilate.

Huge capital investments are now being funneled to Latin American countries, but the resulting economic growth has generated an additional shortfall of skilled managers. Thus, many business and development opportunities are lost at the recipient countries because of inappropriate and uninformed managerial and strategic decisions.

In response to these needs, the invention represents a new AI technology allowing managers to control and exploit information, rather than passively react to it. Executives using the invention may also immediately share their experience with other managers.

The invention would let any manager turning on a powerful graphic AI-enhanced EIS system to see what actions, reviews and priority assignments the software suggests based on learned experiences, and on the manager's own criteria and that of other consultants and managers in similar positions. With the invention it's also very easy to develop an application showing a menu with the following customizable options incorporated in most standard executive information systems: priorities, memorandums, people responsible in the organization, interpretation of data exceptions and trends. When the user chooses any one of these options, the system will then show relevant data, full interpretations, suggested actions, and memorandums that could be sent immediately to the corresponding people.

The invention may run as a stand-alone product, or integrated and embedded into other EIS-executive information systems.

To offer the best possible interpretations of the data, the invention's user-definable functions in the tests language may easily incorporate different Artificial Intelligence technologies such as fuzzy logic, expert systems role-processing, neural nets, genetic algorithms and classifier systems.

Experienced managers receive a continual stream of information and analyze it almost by instinct. They wade through standardized reports, select relevant information, compare numbers from different sources, estimate a number of indexes and finally generate conclusions.

Other spreadsheets or executive information systems produce financial ratios and reports, and some provide simple interpretations of these indexes. The invention adds extra power and agility because it offers sophisticated advice in very flexible formats and lets you easily adjust the criteria for making these recommendations. The invention gives users the tools to create and analyze specific expert diagnostics in a straightforward manner.

Currently, decisions are defined in terms of data. With the invention, decisions will be defined in terms of structured databases of diagnostics. The invention maps all data into a new, qualitative dimension.

The invention can process data and expert tests and generate in just seconds large structured databases of diagnostics to be queried immediately. The invention allows data organization by function, action and end-user preferences, rather than by type of data.

The invention is ideal for managers, and it should not be compared to other products that simply show a note or a red flag when a number reaches a certain value. The invention learns and its knowledge base grows as the organization's database and their experience base grow, too. No other product can do this. The invention will be used to collect and distribute knowledge and expertise within the firm.

The invention lets managers concentrate in action and strategy, that is, in their final goals and results. It executes all repetitive report analysis, ratios and number comparisons, signals for dangers, menaces, strengths and opportunities. With other state-of-the-art technologies, data integration has meant easy access to all data. All this translates to data accumulation and proliferation, and makes data handling ever more complicated. The invention immediately shows priorities according to the managers' own needs, preferences and criteria. The invention enhances current executive information systems (EIS) and data analysis technologies, helping managers determine which information they should review.

Consulting expertise, managerial expertise and technical expertise in many fields is often lost as soon as the person responsible leaves the firm and the organization. The invention is able to store that knowledge and expertise and grow with it. The invention can also be applied to strategic planning, organizational analysis, decision-analysis, manufacturing control, quality control, and many other fields.

In the long term, the invention could incorporate a parallel, interactive diagnostics database into every database application.

The invention is a simple tool to use. It incorporates downdrilling techniques to navigate through the data. It is flexible and customizable: it lets the user develop tailored Expert System applications easily. Analytical criteria may be added or modified instantly and it does not require expert programmers because it incorporates a 4GL interface. The user can easily browse through the data and develop menus, reports, graphs and help screens.

Applications developed with the invention can offer advice in areas such as inventory management, debt structuring, marketing penetration, financial or organizational analysis and project control.

The invention can be used for: (1) Auditing daily operations at companies with pre-defined measurable goals for each business unit. Examples: (i) total quality control and reengineering processes, (ii) organizational and financial auditing. (2) Decision-making and operational guidance where management by exception, reengineering or total quality programs are in process. (3) Continuously generating management guidelines for subsidiary institutions such as newly created business branches or institutions dependent on external funding. Examples: (i) management of individual fast-food branches or gas stations, (ii) smaller rural institutions dependent on funds from USAID agencies. (4) Routine labor auditing and coaching at institutions with deficient labor performance. Examples: public institutions, large manufacturing firms. (5) On-the-job instruction at institutions where managerial continuity and training is a problem. Examples: public institutions, firms with high labor mover ratios. (6) Those who need to review lengthy reports in less time, or follow on a large number of projects. Examples: public institutions, stock trading. (7) Analysis of extremely complex bodies of knowledge, such as monetary policy, social development, economic analysis. (8) Tutoring tool at educational institutions such as management schools.

First Sample Application: Sales and inventories control for a pharmaceutical products manufacturer. Over two hundred products, seven line managers in charge of fifteen product groups, four hundred pages of weekly reports to be analyzed by management. With the invention, management can follow all sales, inventory stocks and problem cases for each manager, product and market. With other systems, the manager must "manually" review all information, or be satisfied with aggregate totals and averages for the whole operation. The invention unmasks situations where apparently appropriate averages are hiding specific efficiency, inventory or sales problems.

Second Sample Application: Financial analysis and client account follow-up for a financial institution. Expertto identifies dangers and opportunities in the financial condition of the firm and each of its clients, and classifies these by priority and responsible individual. In less than a week, users may implement customized expert systems capable of analyzing the balance sheet, results, and cost controls for each division and client.

Third Sample Application: Quality control at a Consulting Firm. Supervision at a consulting services division with more than a thousand clients and specialized attention to two hundred clients on a daily basis. Expertto is capable of generating detailed and annotated quality control reports for each case and client, by condition and type of problem, responsible person, department or service.

Finally, it's important to state that THE INVENTION CAN LEARN AND IT CAN BE AUTONOMOUS. The invention is an extensible system that can be configured in many ways so as to fulfill all requirements of an intelligent system.

The general requirements of an intelligent system have been described in many publications. However, there is a good "working definition" of intelligence in the Internet message posted by Philip Nettleton of the University of New England, Armidale, Australia, on Jun. 24, 1991. According to this working definition, there are four basic requirements to intelligence: (1) The system MUST be able to learn. (2) It SHOULD be able to learn by instruction. (3) The system MUST be autonomous. (4) The system MUST be able to reason. In more detail:

(1) The system MUST be able to learn. This implies that the system MUST have a memory for learning to be maintained. Also learning comes in a number of varieties: (a) It MUST be able to learn from its own experiences. These can be broken down into further groupings: learning through trial and error, learning through observation, learning through active reasoning. (b) It SHOULD be able to learn by instruction, but this is not necessary. At the very least the system MUST have preprogrammed instincts. This is a boot strap for the developing intelligence. Without a starting point, the system cannot progress.

(2) The system MUST be autonomous. That is to say, it MUST be able to do things by itself (however may choose to accept aid). This can be dissected as: (a) The system MUST be able to affect its environment based on its own independent conclusions. (b) The system MUST be its own master first and foremost, and therefore not require operator intervention to function. This does not necessarily rule out the taking of orders from another system, but the choice to obey MUST be made by the system itself. (c) The system MUST be motivated. It must have needs and requirements that can be satisfied by its own actions.

(3) The system MUST be able to reason. That is to say, it must use some form of reasoning, based on known facts and capable of producing insights which later become known facts. It should be noted that the degree of certainty about the truth of a known fact is also an important concept and some way of dealing with uncertainty MUST be provided.

(4) The system MUST be able to develop self awareness. This is related to autonomy, reasoning and learning, but also embodies the need for internal and external senses. Without these senses there is no way of appreciating the difference between "me" and "outside of me". Sensations of pain and pleasure can provide motivation.

The invention's unique combination of neural network technology and usage, expert systems and database intelligence makes it into an extensible system capable of fulfilling all requirements of an intelligent system as previously described.

ORIGIN OF THE INVENTION'S CONCEPT: PROVIDING CONTINUITY TO GOVERNANCE IN DEVELOPING COUNTRIES. In a completely different note, it's important to mention now that the invention's original concept sprang from needs clearly identified in governments in Latin America. Democracy is supposed to be very important for freedom, justice and development. But, in less developing countries--a case in example: Latin America--, pronounced differences in power invariably reduce democracy to a facade. The solution lies elsewhere. Education is the first basic step. Then comes institutional development. It will take many years, but developing countries need to start developing more and more institutions capable of uniformly representing all their peoples interests. The public and private sectors could be respectively compared to the skeleton and the muscles of every nation. Every country needs a capable steering government providing strong direction to the changes that come, otherwise the motions initiated from the private sector will only benefit a few and will disrupt everything else.

The invention is capable of providing continuity in governments. Ministers and managers change so frequently, they often come with no previous similar experiences, and have no-one to train them. Expertto will store previous management experience, and call upon it as situations demand.

The invention is capable of providing cross-learning from other countries and other institutions with similar experiences. Expertto will also store these experiences for all to share, and it will show them when appropriate.

The invention is capable of providing appropriate information for real government managers and policy makers. More than everybody else, governments produce enormous mounts of information, and this information is processed by lots of people without really knowing its purpose. The information finally provided to decision-makers is usually skimpy, badly processed and difficult to interpret. Expertto will allow top-level managers to have access to masses of pre-interpreted information, classified by degree of urgency, the people responsible, and supplemented by suggestions and references to similar experiences and situations in the past or elsewhere.

The invention is capable of aiding institutional development. Institutional development requires management skills. Usually, salaries are low and qualified and experienced managers are in a short-fall in this area, where tasks are the most difficult of all. Expertto will present strategic alternatives and criteria based on the work of coordinating institutions (based on international organizations) and thus empower young managers to do the task.

And, of course, the invention is also useful to other business purposes and to the private sector. For example, the invention has already been applied to auditing, quality control, inventory control, inter-company coordination, project follow-up, and brand management.

As described in "Brainmakers", a book by David H. Freedman, published by Simon & Schuster in 1994, Marvin Minsky, one of the fathers of the Artificial Intelligence movement, spent ten years developing and refining a theory published in 1986 in a carefully but oddly constructed book--each page holds a self-contained minichapter that is broadly linked, neuron-style, to those around it--called the Society of Mind: many programs incorporating several ways for doing each thing.

The reasoning for such a book is that only the "intelligent" and collaborative integration of several AI technologies will be able to solve today's and tomorrow's practical problems. By themselves, even the best AI reasoning programs are idiot savants. Though they may be crammed with highly specialized knowledge, they know virtually none of the things that even a child knows about the real world: what a chair is, that an object cannot be in two places at the same time, etc. This deprives reasoning systems of two of the key techniques humans use to think their way out of new situations: turning them from specialized to general knowledge, and analogizing to seemingly unrelated situations.

A TOOLKIT OF AI TECHNOLOGIES. The invention may also be interpreted as a toolkit of AI technologies, where users may integrate the use of logical tests, expert systems, neural nets, fuzzy logic, genetic algorithms, classifier systems and many other AI technologies and applications to analyze the contents and meaning of whole databases of information. It takes two concepts that users are totally comfortable with: those of spreadsheets and databases, and works with the information contained in both formats developing by small steps, sets of diagnostics that may reach higher and higher levels of knowledge as the system grows. The similarity of learning the building of these applications with the way we all learn (first the simple concepts, then higher and higher level thinking until we reach synthetic thinking processes), brings great ease of operation to all users. The invention could open up a whole new class of AI instruments, applications and the intelligent integration between different tools to solve specific problems.

Further objects and advantages of the invention will become apparent in the consideration of the drawings and ensuing description.

SUMMARY OF THE INVENTION

Definition

The following paragraphs describe the SUMMARY DEFINITION of the invention.

The invention is a computer program that applies intelligence to interpret all data stored in whole relational databases: it extracts the meaning of the data, effectively translating data to their associated interpretations and actions.

The invention combines an EIS building tool and expert system building tools with database management instruments (a) applying expert knowledge to any information contained in databases and reports, (b) linking the expert system results, hereby called diagnostics, with selected related data on the databases and reports, as defined by the user, and (c) presenting a query interface capable of structuring and showing the resulting diagnostics and the original linked data according to user preferences such as actions and priorities.

The invention applies tests (rules) to generate interpretations, and then it organizes all interpretations by user-definable categories and stores them in a relational database.

Categories may represent persons responsible in the organization, regions, types of products, or priorities. Specific categories of interpretations usually suggest actions such as: "urgent call", "high priority", "customer problem", "responsibilities of the CEO", etc.

The invention also generates bi-directional pointers between the diagnostics database and the original data. Thus, users may query any data and see all the related diagnostics, or they may query any diagnostics and see the related data.

The invention also incorporates a fast-development graphical EIS with downdrilling tools. This is really an AI/Enhanced EIS, because these graphical reports may simultaneously show diagnostics and data.

The Invention as an Information Compiler

The invention could be described as an INFORMATION COMPILER. As far as the prior art research for this application has shown, this term hasn't been used in the industry yet. If so, a definition for an INFORMATION COMPILER should be attempted here. An INFORMATION COMPILER is a software tool applying logic tests and AI technologies such as inference engines, neural nets, fuzzy logic and genetic algorithms to data resident in a first database in order to build a second database containing diagnostics, and developing and maintaining a set of bi-directional links between selected data items in the first database and the corresponding diagnostics in the second database. In this way, an INFORMATION COMPILER develops a map of the raw data dimension into the structured dimension of intelligent interpretation of the information.

The invention's preferred embodiment also adds three concepts to that of the Information Compiler: (a) the ability to allow VISUAL development of MULTIPLE applications, (b) intelligent QUERY systems appropriate for rapid development of decision support systems for business managers, and (a) the ability to identify and even execute specific actions as soon as particular diagnostics are generated or activated.

And, finally, the invention clearly indicates the way the Information Compiler may be integrated with other programs and applications such as decision-support tools, completely reconfiguring their interfaces according to the intelligence conveyed by the underlying data.

The following paragraphs explain the previous ideas in more detail.

An INFORMATION COMPILER develops a map of the raw data dimension into the structured dimension of intelligent interpretation of the information.--The invention incorporates an expert applications development system. Thus, any capable user can very quickly develop sets of linked and even recursive logical tests and associated messages, in essence knowledge or expert systems, using the development tools provided in the invention. The invention, with the appropriate knowledge logic, can be used to operate on the data stored in all existing databases (databases in businesses, in governments, etc.), in order to generate new databases of structured diagnostics. These diagnostics represent the intelligence stored in existing databases. In essence, a rigorous mathematical mapping process may be performed, where a complicated function (the invention's logical processes) is applied on existing data to generate a corresponding set of diagnostics.

Developing and maintaining a set of bi-directional links between selected data items in the first database and the corresponding diagnostics in the second database.--After generating the diagnostics, the user will need the bi-directional links in order to reap the benefits of the mapping process. Selecting any specific diagnostics should immediately direct the user to the underlying data associated to them, and selecting any specific data items should immediately activate the corresponding diagnostics.

Applying logic tests and AI technologies such as inference engines, neural nets, fuzzy logic and genetic algorithms.--AI techniques work best when used in combination. Binary neural nets, genetic algorithms and even classifier systems may be applied on the data in order to generate specific diagnostics. Fuzzy logic can be used in the development of a weighting system for the resulting diagnostics.

The ability to identify and even execute specific actions as soon as particular diagnostics are generated or activated.--Each diagnostic may have an associated set of actions. Suggested actions are generated the very same instant the diagnostics are generated. Suggested actions are presented to the user whenever he queries the resulting diagnostics. An additional example of executable actions is the memorandums option in the preferred embodiment. Whenever particular diagnostics are generated, their associated memorandums may be automatically printed or even sent by E-Mail to the people responsible, those who must take action.

Intelligent QUERY systems appropriate for rapid development of decision support systems for business managers.--An Information Compiler doesn't need a query system: after the diagnostics database is generated, any existing query system (even those particularly designed as visual and easy to use such as the Iconic Query.TM. query system by IntelligenceWare, of Los Angeles, Calif.) may be used. However, the preferred embodiment of the invention also incorporates its own query system. This system is user configurable but it has already been prepared to concurrently show the data and the diagnostics, in numerical graphical and even iconic form.

VISUAL development of MULTIPLE applications--The user should be able to easily build intelligent applications by visually linking the data to develop key diagnostics. To further facilitate use and ease the analysis metaphor, the preferred embodiment's interface has been designed to be as similar as possible to the concept of spreadsheet programs. Also, the preferred embodiment's interface incorporates a long and a short menu. When a password is activated, only the short (and easier) menu is activated, and this doesn't allow the modification of existing applications.

Integration with other programs and applications such as decision-support tools, completely reconfiguring their interfaces according to the intelligence conveyed by the underlying data.--Existing decision support systems show a predefined set of screens and graphics. They sometimes incorporate downdrilling, so that users may point at specific graphs and immediately get more information on the desired topics. The invention substitutes that concept with that of automatically-configurable decision support systems. In these systems, the information is conveyed by order of importance. Unnecessary information, graphics, etc., are automatically deleted.

The invention's preferred embodiment described in this document has been built using MS FoxPro (both MS DOS and MS Windows versions), a relational database development tool. A full expert system has been emulated using these tools and storing the knowledgebase (all rules in the rulebase, data and diagnostics) in several relational tables.

Multidimensionality and Flexibility in the Structure of Data

The following sections and paragraphs deal with MULTIDIMENSIONALITY AND FLEXIBILITY IN THE STRUCTURE OF DATA.

REAL TIME RESPONSE AND DATA UPDATING

The invention is different from existing diagnostic EIS tools. Typical prior art EIS diagnostics tools such as the Analyst.TM. decision-support software by Information Resources Inc. of Walthan Mass. displaying output contain "hyperlinked" slide shows of ordinary presentation screens containing graphic reports of the data (numbers and graphics). However, the user may associate particular logic tests to certain data items. If a logical test rams TRUE, then a message shows next to the corresponding data item. These systems perform all logical tests "on the fly". That is, whenever a particular screen is called, the information is first read, then interpreted, then the logical test or tests are run and the screen is built altogether. There are no databases for storing any diagnostics, there are no links, and there is no mapping process. Each diagnostic is generated one-at-a-time.

With the invention, the underlying information needs to be "compiled". That is, the invention takes a certain mount of time to process all logical tests and generate the diagnostics. After that, it runs more tests on the existing diagnostics, generating more diagnostics.

The main advantages of existing EIS systems providing very few diagnostics "on the fly" is that these systems can work with existing databases and provide all information and diagnostics instantly. No intermediate steps need to be taken. Information is always live. Even if all data changed, users would get the whole new data set immediately, maybe a fraction of a second later. The invention most probably will require a few years to reach that level of integration with ever-changing data. The invention's larger applications usually require five to fifteen minutes to query the database, select a data view, select the data to be integrated into the querying system, replicate the data into the invention's own data database (the data.dbf file), run all tests, write all diagnostics and then query the new resulting information set. Thus, existing systems prove to be easier to implement in a totally integrated form with current databases and, the selling point usually is the ease of integration with all live data in the database: they act as "enhanced" query tools of the information stored in current databases.

If the invention were only used on very fast computers such as upper-level workstations, then it could work just as a query system, generating all data and diagnostics every time the system is queried, just like other existing systems do today. However, since it frequently will operate on slower computers, it should either generate its own extract and copy of t