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 Definition Of Facts In the expert system, the node reduction engine sets variables called facts through a process called assertion. Patterns then evaluate whether facts are satisfied. The list of facts asserted by the node reduction engine, which are available for use in the rules, are:
Node The Name is the unique identifier of the node being checked. The Modeling Parameters That Are Industry Specific are any facts, which the rules need in order to determine whether the node can be reduced. (Examples are flow or pressure for a gas system.) The Valence is the number of facilities connected to the node. The Parent Facility the name of the up stream facility if the network is radial. The List of Children Facilities is the list of facilities that are attached to the node. If the system is a radial system, these are the facilities that are downstream of the node. The Load is the system load attached to the node. Facilities The Name is the unique identifier of the facility. The Modeling Parameters That Are Industry Specific are any facts, which the rules need in order to determine whether the node can be reduced. (Examples are pipe diameter, roughness, or material for a gas system; conductor name, phasing, or spacing for an electrical system.) The Load is the system load attached to the facility. Engine Operation The node reduction engine is made up of two parts: a topological network engine and the rule based expert system. In order to reduce the facility data, the data needs to be arranged in a parent-child connectivity model. In other words, each facility needs to know the facilities that are upstream and downstream from it. Most GIS's support a facility-node based connectivity model, but if the GIS does not support that connectivity model, it can be built based upon the coordinates of the facilities. The node reduction engine takes the GIS data and feeds it into the network engine. The network engine transforms the facility-node based data into a parent-child model that is stored in memory. At this point the node reduction engine uses the network engine to walk the model, asserting facts from the GIS data for each node. As the node reduction engine visits each node, it calls the expert system to determine whether the node can be reduced or not. The expert system returns TRUE or FALSE based upon the evaluation of the rules. If the expert system returns TRUE, the node reduction engine then removes the node from the data turning the node into vertices of the new facility. If the expert system returns FALSE, the node is left in memory. Once the node reduction engine has finished processing the data, it is either re-imported into the GIS for use there or exported to the engineering modeling software. Summary Node reduction is a vital part of any GIS to Engineering Modeling integration effort. Creating a piece of "open" and "customizable" software is the best solution. It allows the utility to maintain the corporate record of their facilities using their GIS and leveraging the data for use in their engineering modeling software. It also gives the utility the opportunity to produce consistent skeletons of their GIS data with minimal human intervention. | ||||||||||||||
| © GISdevelopment.net. All rights reserved. |