Node Reduction using an Expert System
Michael J. Betts
Manager, Spatial Integration Services
Stoner Associates, Inc., P.O. Box 86
Carlisle, PA 17013
Phone: 717-243-1900
FAX: 717-243-5564
Email: mike.betts@stoner.com
Introduction
Utilities today are increasingly interested in interfacing their Geographic Information Systems
(GIS) with engineering modeling software. One of the biggest problems faced when doing this
is reconciling the different levels of granularity required by the different systems.
In a utility, one of the primary uses of a GIS is to perform Automated Mapping / Facilities
Management (AM/FM). In order for an AM/FM system to do its job accurately, it requires that
all facilities be stored and broken at every place where two facilities come together. Examples of
this are breaking each conductor in an electrical system at each pole, vault, cable splice, or piece
of equipment; or in a gas or water system, breaking each pipe at a fitting, valve or piece of
equipment.
A piece of modeling software, on the other hand, only needs to have the facilities broken at
points that are significant to the modeling software. An example of this in an electrical system is
at conductor changes, phasing changes, or at a piece of equipment that is taken into account in
the electrical analysis, but not at distribution transformers.
In a GIS, as well as modeling software, the point where the facilities are broken is called a node.
To an engineering model, the extra granularity in an AM/FM system is considered an artificial
break, and is a burden to the model by requiring many extra calculations in order to reach a
solution - without increasing the accuracy of the model. One approach to creating an optimal
model is to reduce the number of nodes in the data thus creating a skeleton of the GIS data that is
suitable for the modeling software. This process is called node reduction.
Historically, utilities were faced with one of two solutions to this problem. One was to digitize
the model using the GIS data as a backdrop. This in essence is re-digitizing the data, requiring
the utility to enter basically the same information into two systems. In this case, the node
reduction was accomplished by a human expert who could look at the problem and define an
optimal engineering model based on his knowledge of the two systems.
The second option is to create a piece of software that does the work of the human expert. This
requires taking the rules that the human expert applied to the data and writing a piece of software
to apply those rules to that data. This software was either a custom application written by or for
the utility or a piece of commercial "off the shelf" software (COTS), both requiring that the rules
be hard coded into them.
Both of these options have problems. Re-digitizing requires the utility to spend time and
resources creating data in two systems, updating changes across both systems, as well as
maintaining experts for creating the same data in both systems thus being very expensive.
However, this option is highly customizable and is not bound to the data. The software solution,
on the other hand, requires the utility to maintain a piece of software that must be changed every
time the reduction parameters change or if the data itself changes. This option allows the utility
to maintain the data in one place and save money by not having the human expert involved every
time a model is created.
Node Reduction Engine
The prototype system that this paper discusses addresses all of the aforementioned problems by
incorporating an external rule based decision-making system (expert system) along with a
topological network package to create a node reduction engine. This system relies on the
topological network package to maintain the connectivity of the facilities while the expert system
gives the user a rich environment for defining the node reduction decision-making rules.
These rules are expressed using Boolean statements, which if met, tell the node reduction engine
to delete the node from the model. The use of a general language based expert system means
that the user is not limited to a set of pre-defined rules but has the option of expressing an
unlimited set of rules, which are only limited by the language itself. These rules are stored in an
external file separate from the software. Both of these features allow the user to experiment with
different reduction scenarios without having to change the software itself.
The components of the rule in the expert system are expressed in the following form:
The salience keyword represents the priority of the rule. Priorities represent the order in which
competing rules will execute, a higher number executing before a lower number. For example, if
two rules with a priority of 2 and 4 are set to execute, the one with a priority of 4 will execute
before the one with 2.
The pattern is the IF part of the IF … THEN construct. Each rule can be made up of multiple
patterns. The => symbol that follows the pattern is called the arrow and represents the beginning
of the THEN part of the rule