You are on page 1of 8
ARTIFICIAL INTELLIGENCE SUPPORTABILITY Capt. Kyp A. Carlton Air Force Acquisition Logisties Center Embedded Computer Division ABSTRACT a Anificial Intelligence is rapidly expanding field of Com- puter Science tht offers tremendous benefits in the ares of ‘weapon systems development and support. However, with these benefits come the added difficulties of supporting new software technology unlike any the Air Force has sup- ported in the past. This paper will acquaint the reader with e Artificial Intelligence in general and Knowledge Based ‘Systems in particular, and will describe the expected benefits, outline potential applications, and assess the impact ‘on AFLC of supporting Artifical Intelligence technology. Several problem areas are identified; potential solutions are e. proposed for some areas, others are Teft for future resolution, INTRODUCTION ‘The Handbook of Artificial Intelligence by Avron Barr and Edward A. Feigenbaum states: “Artificial Intelligence is the part of com- puter seience concerned with designing in- telligent computer systems, that is, systems that exhibit the characteristics we associate with intelligence in human behavior — a understanding language, learning, reasoning, solving problems, and so on.”” ‘The areas of study generally accepted to comprise the field of Artificial Intelligence include Based ona presenti at NAECON 1987 wi 085945 8/1200.0025 5.00 © 1988 TERE [EEE AES Mogasne, December 188 Problem Solving — This area of study is concerned ‘with game theory and the areas of problem reduction and search techniques. Logical Reasoning — This area is concerned primarily with theorem proving and other areas that requite ra- tional though. Language — This field of study is concerned with understanding natural languages and speech. Programming ~ This area studies self ot automatic programming, Learning — Learning is concerned with the process of automatically acquiring and evaluating kaowledge. Expertise — Expertise deals primarily with the process: ing and representation of knowledge. Knowledge Base ‘Systems are the best known application in this area of study. This is currently the most popular and successful area of AL Robotics and Vision — This area is concerned with computer software that manipulates robotic deviees and allows them to perceive and understand their Systems and Languages — This field of Al is concerned with development of software tools. Some of the best kknoven contributions ofthis area are time-sharing, lst Processing, and interactive debugging. Development of fnew machine languages is also a major part of this field of study. Expertise isthe area of Artificial Intelligence concerned ‘he collection, representation, and manipulation of, knowledge. Since knowledge based systems, which includes 2s both expert and knowledge systems, currently show the most promise of providing the greatest near term gains, this paper is limited to a discussion of knowledge based systems ‘A knowledge based system is @ computer program that uses knowledge and inference procedures to solve problems that require significant human experise for ther solution. Knowledge necessary to perform at such level, and the in- ference procedures. can be thought of as a model ofthe ex- erie of the best practitioners inthe field, ‘The knowledge of a knowledge based system consists of facts, heuristics, and models. The acts” constitute infor mation that is widely shared, publicly available, and agreed upon by most experts in the field. The “heuristics” are ‘mostly private rules of thumb that characterize expert-level decision making in the field. Models ae descriptions of physical systems that allow the knowledge based system t0 reason about the system based on the physical laws that determine its behavior. The performance level of an expert system is primarily a function ofthe size and quality of the Knowledge base it possesses ‘The Promise of Knowledge Based Systems ‘Knowledge based systems have the potenti t yield great benefits to the Air Force. By encoding the knowledge of ex pert personnel in a knowledge based system, computers will be able to solve many complex problems that previously could only be solved by human experts. Knowledge based systems also have the ability to concentrate the expertise of several experts in a single device. Ina time of dwindling ‘manpower, increasing training costs, and greatly increasing weapon system complexity, this ability will be a tremendous boon to less experienced personne. ‘The maintenance field provides one example of an area in Which this merger of expertise and computer shows great potential, Through the use of knowledge based systems the Air Force will beable to provide every technivian in every ‘maintenance shop the expertise ofthe best maintainers inthe [Air Force. This expertise sharing offers a variety of benefits to the Air Force: first it wll gealy increase the ability of technicians to maintain weapon systems and allow the Air Force to avoid delays when expertise is needed, since crises, rarely occur at the same time and place the experts are in Second, using knowledge based systems in the maintenance process wil allow us to retain knowledge of decisions and ‘ctons taken in times of crises. Thied, by providing our maintainers with the expertise ofthe best experts in the field Wwe will free our expert to pursue more complex tasks wor- thy of their experience and training. Finally, in the longer term, knowledge based systems will allow the Air Force to retain corporate knowledge by trapping and encoding the knowledge and experiences of our best maintainer, Applications “Application of knowledge based systems isnot limited to the maintenance field, there are uses for knowledge based systems in areas as diverse as inventory management, ‘weapon system acquisition, weapon system conteo, and ada target emifiation (.e. IPF). There are no hard and fast rules for deciding where to apply knowledge based systems; however the best potential candidates for im 6 plementation as knowledge based systems display the follow ing characteristics 4. Symbolic inference as opposed to numerical calculation Knowledge based systems are primarily symbol ‘manipulation programs. Ifa solution to the problem primatily requires numerical calculations then conven- tional algorithmic solutions should be considered, . Combinatorial nature ofthe problem. The problem should involve combining a large nurmber of elements in ‘many possible ways, ‘© Bounded domain. The problem area should be limited to ‘a narrow, well defined field of study. There should be & fixed set of terms that describe the problem's world 4. The concepts sed to describe the domain ofthe prob: lem should be limited to few hundred. This makes developing the knowledge base manageable ce Problem takes a human expert afew hours 10 solve. If the problem takes a human expert a few minites to solve itis probably of a trivial nature. Unless there are ‘overriding considerations, the knowledge required to solve the problem is probably not worth the effort 0 ‘build into'& knowledge based system. On the other hand. if the problem requires more than a few hours to solve the knowledge required 10 solve the problem is probably beyond the sate of the art to encode into a Knowledge based system, 1, General agreement about knowledge. Since knowledge based systems are not yet very good at knowledge base conflict resolution there should be general agreement on the accuracy of the dita that comprises the knowledge base 1g Data and test cases available. Due to the complexities of testing a knowledge based system there is a need for a large number of solved eases to test the knowledge based system's performance agains. h, Incremenal progres should be possible. The knowledge tsed system should show improvement in incremental steps since the knowledge base is implemented in steps. Ualike conventional programs, knowledge based systems are not built as a complete structure; rather they are ‘designed to grow as new knowledge becomes available land is encoded into the system, ‘The organization developing the knowledge based system should be willing t0 make a commitment to the effort and realize the effort will require the commitment of a human expert for 6 months to I year for small systems and as long 8.3 to 4 years for very large systems, Knowledge Based System Structure Figure | isa digram of a simple knowledge based system. The system consists of tWo major pats, the in ference engine and the knowledge base. The inference engine isthe portion of the knowledge based system that contains the inference strategies and controls that tll the system how to process the facts and heuristics in the knowledge base. (REE ABS Masri, December 988 =| Figure 1. From Expert Systems: Artificial Intelligence in Business ‘The knowledge base contains the facts and heuristics about the problem domain. Working memory isthe space for holding intermediate results of the current run. The ‘knowledge acquisition subsystem, explanation subsystem, and user interface combine to allow the user to interact with the inference engine and provide explanations about what is hap- pening and why particular decisions have been made. ‘There are several ways of classifying knowledge base systems; one of the most common is structure. The structural Scheme classifies knowledge base systems based on the struc- ture of the knowledge representation. In this paper, we have limited our discussion wo the structure based classification scheme. From a structural perspective there ae three dif- Terent types of knowledge based systems: rule based, frame based, and model based. Rule based systems, also called production systems, use knowledge bases composed of premises and conclusions in the form of if — then satements as shown below. If gyt0 inoperative ‘Then check vacuum source These rules, or productions, constitute the facts and heuristics ofthe knowledge base. The system tres to achieve 1 solution by either assuming a hypothesis and looking for data to confirm it or by collecting data and working forward through the productions to a solution. The process of a knowledge based system working from a hypothesis and looking for data that confiems or denies the hypothesis is called backward chaining (or goal directed). Backward chain- ing isthe most common type of knowledge based system: the medical diagnostic system, MYCIN, is probably the best known example. Backward chaining is most efficient when the possible number of solutions is limited; however, when the goal is indeterminable due to the large number of possi- ble solutions a goal-directed system becomes an impractical approach. In these cases a forward chaining or data-driven system is required. Ina forward chaining system an initial se of conditions are input to the knowledge based system. From this set of initial data, the production premises of the knowledge base are examined and the system attempts to determine whether the premise is trae or false from the input {ERE AES Mogane, December 188 ata, Ifthe premise is true the conclusion is added to work ing memory and used, in conjunction with the input data, to see if any more premises can be asserted as true. Once the System reaches @ point where no more premises are aserted to be true, the conclusions in working memory are the result of the knowledge base system consultation, Frame based systems use data structures called frames to represent facts about objets, Each frame consists of slots that contain entries to describe the object the frame is con- cerned with, as shown in Figure 2, COMPUTER Stas: Enis: Owner: Watson ‘Type: IBM 5150 Processor nel 8088, Clock Speed: 4.77Mhe Memory Size: 640Kb ‘Memory Speed: 150s Mass Storage: 20Mb Fixed Disk Access Time: Length Breadth: Height: 3.15) Sofware: needed, Then retrieve from database Repair If needed, Then ex cute diagrostc advisor. Figure 2. Frame for Watson's Computer AAs can be seen, a frame may contain many different kinds ‘of knowledge; this knowledge may be represented as declared facts, production rules of other knowledge represen: tation schemes. Frames may also contain calls to algorithmic routines as procedural attachments. These are instructions on how the system can derive the required information. These procedures may execute simple algorithms or may execute other knowledge based systems. Frames give knowledge based systems greater flexibility in the way they can repre- sent and manipulate knowledge. ‘Model based systems, instead of using rules to reason, use causal models of the domain in question, incorporating all the physical laws that determine its behavior. For exam ple, instead of containing a rule that says Low voltage on 1R2 means short in ICI2, there would be # model that in- cludes the electronic behavior of each of the elements of the circuit. Depending on how well the behavior has boen for- mulated, the model will correspond more oF less to the behavior of the circuit in the real world. Conventional vs Knowledge Based Systems ‘The programming techniques, languages, and environments used to develop and support knowledge based systems are n fundamentally different from those in wide spread use in the Air Force today. Conventional programs use algorithms to process data Algorithms, when correct, are step by step procedures that guarantee the right results will be reached when the proper data is entered, Most knowledge based systems, on the other hand, use heuristics to process data. Heuristics are rules of {good judgment (hunches) that a human expert might apply 10 8 given situation to resolve the problem. These rules may be learned by being told (school) or may be learned through ex- perience. Heuristics. unlike algorithms, do not necessarily ‘guarantee the right results will be reached when the correct ata is entered. Since heuristics are rules of good judgment, they provide a solution, but not necessarily the best solution AAs the knowledge base becomes more complete, the occur ences of less than optimal results will diminish ‘A second area where knowledge based systems differ from conventional software is that of database access and ‘manipulation, For the most part, data bases of conventional programs are accessed by either computing a numerical ad- dress or sequentially stepping through every entry in the data base, Access to a conventional data base is limited, by good programming techniques, to one, of at most, a few subroutines. Knowledge based systems use a symbolically structured knowledge base in a global working memory. The ‘knowledge base is accessible directly by every routine in the system (global). Data manipulation in conventional systems is oriented towards numerical processing (number erunch- ing). The ultimate purpose of most conventional programs is to accept large amounts of numeric data and either store the data or process the data and reduce it, by sumerical calcula- tions, to @ form acceptable to humans. Knowledge based system processing, on the other hand, is largely symbolic. ‘The knowledge base contains entities that are symbolic of the information they contain a$ opposed to numeric data, inter pretable by the computer, that represents specific unam- ‘iguous information In addition to the differences in design, the mechanics of developing knowledge based systems differ from conven- tional software. For example, rapid-prottyping, « common technique used in conventional software development as an enhancement, is absolutely essential for knowledge based system development. Rapid-prototyping is used as a tool to define the knowledge based system requirements and deter- ‘mine the ability ofthe knowledge system to duplicate the ex pertse of the human expert. In conventional software, rapid- prototyping generally oceurs in the preliminary design phase In knowledge based applications, rapid-protoyping begins in the software requirements phase and continues until the system is ready for test and evaluation. This continuous use ‘of rapid-prototyping results in a knowledge based system that ‘evolves (grows in small increnients over time) rather than being designed to the low level of detail of conventions! software A final area of difference is that knowledge based systems tare generally mote interactive than conventional software. Conventional systems are typified by sequential batch processing, meaning limited interaction withthe user. The ‘vast majority of conventional programs accept an initial set of data and are then left to process the data until a final 28 result is achieved, There is litle, if any, human intervention ‘uring processing. Real-time systems are an exception; however, most realtime programs simply translate inputs from one cleetro-mechanieal sensor to outputs on another. ‘Knowledge based systems, on the other hand, are highly in- teractive. The user is involved in providing and evaluating information throughout the entire process. The result is @ process in which the knowledge based system serves as an {advisor in much the same manner as a user would interact ‘with a buman consultant. Since a conventional system has no Knowledge of hove information is processed and does not keep track of what it has done, mid-run explanation of how and what the system has done is impossible. In knowiedge based systems, the control of processing isin the knowledge base and the system maintains information on what rules have been asserted as true. This gives the system complete access fo and knowledge of the stops it has taken to reach ‘any given point in its processing; the system may then retrace the steps it has taken to any point in its processing and make mid-run explanations. “These differences between conventional systems and knowledge based systems necessitate major changes in the specification and design standards, testing methodology, and configuration management practices developed for current Algorithmic based computer software. To avoid the problems experienced in the past we need to begin formalizing the practices that will govern the development of systems now in frder to have them in place as they become necessary. Applicability of DOD-STD-2167 The current computer software design standards, as described in DOD-STD-2167, Defense System Software Development, vitally force the use ofthe traditional Hierarchical Input-Process-Output (HIPO) paradigm. While the standard itself does not require use of the HIPO design paradigm the Software Top Level Design Document {STLDD) and Software Detailed Design Document (SDDD) Data Item Descriptions (DIDs) requite that the software be documented as sets of inputs, processes, and outputs. While the HIPO design technigue works well for most conventional software, itis unacceptable for knowledge based system evelopment. Knowledge based applications are developed as sets of objects (rules) and actions to be performed on the ob- jects. This is because knowledge based systems are ‘developed in increments, each increment adding a new set of ‘objects to satisfy a new line of reasoning. This process of adding increments continues until the system is fielded. ‘The languages and development environments used in developing knowledge based systems yield a physical struc ture that is different from conventional software, since they typically do not employ subprograms and subroutines inthe same manner as conventional sofware. To apply DOD- STD-2167 and its associated DIDS to knowledge based systems it will be necessary to redefine how the terms, Com- puter Software Configuration Item (CSCI), Top Level Com- puter Software Component (TLCSC), and Lower Level ‘Computer Software Component (LLCSC) are used. A single knowledge based system should be assigned to a CSCI. This CSCI would then be broken down into TLCSCs and LLCSCs. One TLCSC would be assigned to the inference IEEE AES Mogacne, Deven B88 engine, other TLCSCs would be assigned to the knowledge ‘base or bases, and a final TLCSC to a status accounting data base, The knowledge base TLCSC could be composed of multiple knowledge bases; each of these knowledge bases will correspond to LLCSCs. Subdivisions of logically or functionally similar knowledge would correspond to either LLCSC or units depending on the existence or absence of ‘multiple knowledge structures within a knowledge base. Through this Kind of redefinition of the basic terminology ‘of DOD-STD-2167 we can preserve a large portion of the basie document. However, the development eycle of knowledge based systems differs from that of conventional software. In the book Building Expert Systems (Hayes-Roth, 1983) five phases to knowledge based system development are identified, as shown in Table 1 ‘Table 1 entification: Determine problen characteristics Conceptuaization Finding concepts. to represent knowledge Formalization Designing structures to ‘organize knowledge Implementation: Formulating roles that embody the knowledge Testing Validating rules that embody knowledge Po ' Knowledge Based System Development Cycle During Identification the problem area is identified and the scope is defined. Small subtasks will be identified for in- ial implementation and to focus the knowledge acquisition process During Conceptualization the key concepts and relation- ships necessary to describe the problem solving process within the domain are defined. Problem solving strategies and constrains will also be identified. ‘The Formalization phase involves translating the concepts ‘and relationships identified during conceptualization into a knowledge stricture defined by some appropriate knowledge ‘engineering environment. The environment must be selected with great care to ensure thatthe knowledge structures and inference procedures are adequate for the problem domain. During the Implementation phase the knowledge is ‘organized and combined with the inference procedures to form a prototype knowledge based system. This initial pro- totype must be capable of being executed and tested. The Testing phase for knowledge based systems, unlike testing conventional software, opens another iteration of. development. During this phase performance of the prototype is compared aginst standards of performance set by domain experts. Only after the performance reaches a satisfactory level is the system released for operation ‘These phases are not independent of each other nor are they even clear-cut; rather, they describe the process of knowledge acquisition, For this reason, a new software ‘evelopment cycle for knowledge based systems is necessary, The software development cycle deseribed in section 1 of, DOD-STD-2167 (Figure 3) is not descriptive of the develop. ‘ment process for knowledge based systems. Knowledge based system development, as previously described, is much 1 ' 1 1 ' 1 i ' resting Figure 3 IEE ABS Megane, Decenber B88 more iterative than conventional software, As shown in Figure 4 there is « much higher level of parallelism involved in knowledge based system development than normal. The system concept phase remains unchanged from that of the conventional software development cycle. However, begin- ning with the system/software requirements analysis and the software requirements phases conventional software and ‘knowledge based system development cycles differ. ‘The identification phase in Table 1 corresponds to the system /Software requirements analysis phase in Figure 4 ‘The software requirements analysis phase identifies the period during which problem conceptualization occurs ‘Almost in parallel with the software requirements analysis phase is the rapid-prototyping and detailed design phases ‘These phases correspond to the formalization and initial im- plementation phases in Table I. Upon completion of the preliminary design, detail design, coding and unit testing can begin. These phases correspond with the final part of the im- plementation phase of Table 1. In parallel with all these phases is Knowledge Acquisition, an activity unigue to knowledge based system development, and while not a separate and distinct phase, is an activity important enough to warrant special mention in any knowledge based system. development cycle. The final phase, CSCI testing, cor- responds directly tothe testing phase of Table 1. During this phase the knowledge based systems performance is tested and may result in reentry into any of the previous phases un- Ui the system reaches an acceptable evel of performance. ‘Upon completion of the knowledge based system develop- ‘ment cycle the maintenance and deployment cycle of the system begins. Just asin conventional software maintenance, the process of supporting a knowledge based system is essentially the process of re-development of the software. ‘The one fundamental difference is that after deployment the system maintainer must be able to analyze the existing code to determine where and how to make a required change. For this reason knowledge based systems must be designed with the requirement that they be supportable after they are deployed, Design for Supportability ‘The question remsins as to what kind of techniques we need to apply to the logical and physical design of knowledge based systems to increase their supporability and reliability. Some basic design eriteria that can serve as a starting point for future design techniques are: 8, Separate the inference engine and knowledge base. This ‘makes the knowledge base more easily identifiable and accessible to the supporter. By making the knowledge base more accessible greater flexibility can be achieved. ‘The separation of the inference engine and knowledge base allows modification of knowledge without modify- ing the inference engine, ». Use as uniform a knowledge representation as possible ‘This technique minimizes the number of mechanisms re uired to handle the knowledge so that the system main- tainer will not have to support changes to multiple ‘knowledge schemes such as semantic nets, production rules, and frames, Fewer mechanisms mean a simpler, ‘more transparent system. This may not always be poss: ble since different situations may dicate the knowledge be organized in different ways. Frame based systems ‘may have production rules and semantic nets as @ part of the frame, This problem will compound as we learn ‘more about why knowledge is structured in different ‘ways and how to manage the different structures based ‘on problem situations. ' 1 | agate | | 1 BeelOu | 1 Dreier ! 1 : a eva i i EE 1 \ = 1 1 Ey ' ' 1 | | i Figure 4 30 , Keep the inference engine simple. This technique minimizes the complexity required to generate explana tions. Knowledge acquisition is simpler. Since les work ‘is needed to determine what knowledge is necessary to improve system performance.

You might also like