Embedded Expert System Specifications
The expert system uses Descriptors as its basic variables, which are linked and processed in Rules.
DescriptorsThe complete syntax of a descriptor is:
DESCRIPTOR <descriptor_name> A <alias_for_descriptor_name> T <descriptor_type> U <unit> V <range> / <range> / <range> / ... R <rule#> / <rule#> / ... TB <table#> / <table#> / ... F <function> IF <interface function> G <gis_function> <gis_overlay> Q <question> MODEL <model_name> T <model_type> I <input_descriptor> / <input_descriptor> / O <output_descriptor> / <output_descriptor> / ENDMODEL ALTERNATIVE <alternative> <alternative defs> ENDALTERNATIVE LAYOUT X <window x-coordinate> Y <window y-coordinate> WIDTH <window width> HEIGHT <window height> BGCOLOR <window bgcolor> BORDER_WIDTH <window borderwidth> BORDER_COLOR <window bordercolor> FORMAT <value selector format_string> DELTA <value selector increment> HYPER_INFO <hyperinfo path>
A simple example for a descriptor of the reservoir expert system is retention_time:
DESCRIPTOR retention_time T S U days V very_small[ 0, 360] / V small [ 360, 1080] / V medium [1080, 1800] / V large [1800, 3600] / V very_large[3600, 7200] / R 7777007 / Q What is the average retention time, in days, Q for the reservoir ? rtention time is the theoretical Q period the average volume of water spends in the reservoir, Q estimated as the ratio of volume to throughflow. ENDDESCRIPTOR
The simple rule syntax that is used in conjunction with the hybrid numerical and symbolic descriptors is:
IF <condition> THEN <action> <condition> := <condition <logical operator> <condition> := descriptor <comparative operator> <operand> := descriptor <singular operator> := TRUE <action> := descriptor = <assigned value> := descriptor <meta operator> <constant> <assigned value> := <operand> <arithmetic operator> <assigned value> := descriptor := <constant> <logical operator> := AND | OR <comparative operator> := < | > | <= | >= | == | != <singular operator> := EXISTS | NOT_EXISTS <arithmetic operator> := [ | ] | * | / | + | - <meta operator> := INCREASES_BY | DECREASES_BY := BECOMES <operand> := descriptor := <constant> <constant> := string := number
Rules can result in the absolute assignment of descriptor values, their relative, incremental modification, or they can be used to control the inference strategy depending on context. Rules can also include simple formulas; more complex functions can be used through the generic model interface.
An example for a rule used in the reservoir expert system is:
RULE 1020231 IF average_reservoir_depth == small AND retention_time < 30 THEN reservoir_stratification = unlikely ENDRULE
Also, the user can call up a knowledge base browser, that allows to navigate in the tree structure of the knowledge base within the context of individual problems. The browser can descend the inference tree, displaying sets of rules referring to a list of descriptors and allow to inspect individual descriptor definitions.
The possibility to integrate models in place of rules in an expert system and at the same time use embedded rule-based components in models provides a very rich repertoire of building blocks for interactive software systems.
The flexibility to use, alternatively or conjunctively, both qualitative symbolic and quantitative numerical methods in one and the same application allows the system to be responsive to the information at hand, and the users requirements and constraints. This combination of methods of analysis, and the integration of data bases, geographical information systems, and hypertext, allows to efficiently exploit whatever information, data and expertise is available in a given problem situation.
An example for a descriptor of the reservoir expert system with an external model (in this particular case the inflow_model) is mean_annual_inflow:
mean_annual_inflow T S U Mill.m3 V very_small[0,30] / small[30,150] / medium[150,3000] / V large[3000,30000] / very_large[30000,300000] / MODEL inflow_model T local_wait I hemisphere / east_west / longitude / latitude / O mean_annual_inflow / ENDMODEL Q what is the long term average mean annual inflow, Q in Million meter cubed, to the reservoir ENDDESCRIPTOR
A model of human problem solving recursively refines and redefines a problem as more information becomes available or certain alternatives are excluded. This responsiveness to the problem situation and the information available, and the ability to adjust as more information becomes available, that is in a sense, learn, is a characteristic of intelligent systems.