CONTENTS Title Page Copyright Page Preface 1 Introduction 1.1 Overview 1.2 Inference Concepts 1.3 DECIDE Command 1.4 Interactive Commands 1.5 Utility Language Statements 1.6 Customized Programs 1.7 Reference Information 2 Inference Procedures 2.1 Logical Inference 2.1.1 Logical Inference in And/Or Trees 2.1.2 Logical Inference in If-Then Tables 2.1.3 Logical Inference in Decision Trees 2.2 Propagation and Goal Selection 2.2.1 The Goal Selection Process 2.2.2 Propagation of Numerical Value Through a Logical Operator 2.2.3 Propagation of Cost in And/Or Trees 2.2.4 Separate True and False Values and Costs in And/Or Trees 2.2.5 Propagation in If-Then Tables 2.2.6 The Mutual-Exclusion Rule 2.2.7 The Persistence Factor (epsilon_infer) 3 The DECIDE DCL Command DECIDE 4 Interactive Commands * (True or False Rule Marker) Abort Add Child AND And/Or Back Begin Buffer (Text Editor) Begin Line (Text Editor) Blank (Rule Marker) Break Can't Answer (CA) Child Path Ck Util Syntx (Check Utility Syntax) Clear Fact Clear Module Clear Path Cycle Parent Decision Delete Fact Delete Kbase Delete Mod (Module) Delete Region (Text Editor) Delete Rule Delete Subtree Delivery Display Edit Edit Cost Edit Expl (Fact) Edit Expl (Rule) Edit KB Name Edit Name (Module) Edit Path Edit Post (Edit post set Utility Statements) Edit Profile Edit Text Edit To (Edit to set Utility Statements) Edit Utility End Buffer (Text Editor) End Util Edit Exec Post (Execute post set Utility Statements) Exec To (Execute to set Utility Statements) Execute (Run Inference) Exit Exit Text Editor Explain Fact Explain Rule F-Value/Cost F (If False Rule Marker) >F (Then False Rule Marker) Fact False (Current T-Value) Forward G-Node (Global Node) Glb Data Rpt (Global Data Report) Goal Go To by Name Go To Child Go To Parent Go To Root Help If-Then Infer Init-Value (Initial T-Value) Insert Region (Text Editor) Insert Rule Insert Subtree L-Node (Local Node) Left Cycle Child Left Sibling Link Load (Module) Load Kbase Local Off Local On Long Name Make Global Make Local Manip (Manipulate) Mark Region (Text Editor) Module Rpt (Module Report) Module Title Move Fact Move Subtree NAND Next NOR NOT Op. Val Off (Operator Values Off) Op. Val On (Operator Values On) Open Fact Open Rule Operator Opts (Options) OR Parent Path Path Menu Pause Pick Region (Text Editor) Pick Rule Pick Subtree Print Print Post (Print post set Utility Statements) Print To (Print to set Utility Statements) Quit Refresh Replay Reports Reset (Delivery) Reset Module Right Cycle Child Right Sibling Run Save Set DSM (Default Starting Module) Set Path Setup Short Name Size Node Skip Step Stop T-Value/Cost T (If True Rule Marker) >T (Then True Rule Marker) True (Current T-Value) Undelete Region (Text Editor) Undo Fact Undo Rule Undo Subtree Unlink Val/Wght Off View View Modules Weight Window X (Mutual-Exclusion Rule Marker) 5 Utility Statements 5.1 Entering Utility Statements 5.2 Checking Utility Statement Syntax 5.3 Special Characters 5.4 Conditionals 5.5 Embedded Statements 5.6 The Utility Statements append ask call clear default display erase_screen load read reset restore_screen return run save_screen set stop system update valueof write xcall 6 Programming Interfaces 6.1 Overview 6.2 Utility Statements 6.2.1 The system Utility Statement 6.2.2 The run Utility Statement 6.2.3 The xcall Utility Statement 6.3 Calling Decision Expert from External Programs (Call-In) 6.3.1 VAX Procedure Calling and Condition Handling Standard 6.3.2 VAX Decision Expert Library Routines 6.3.3 Using VAX Decision Expert Routines in Programs 6.3.4 Compiling the Program 6.3.5 Linking with VAX Decision Expert Images 6.3.6 LINK Command Line 6.3.7 Running the Program 6.3.8 Routine Reference Section DEEX$INITIALIZE DEEX$INFER DEEX$SET_PATH DEEX$GET_PATH DEEX$SET_FACT DEEX$GET_FACT DEEX$SET_USERCTX DEEX$GET_USERCTX 6.4 Calling Programs from Decision Expert (Call-Out) 6.4.1 Dynamically Linked Callable Routines 6.4.2 Statically Linked Callable Routines 6.4.3 Calling External Programs at Image Activation or Termination A Key Bindings A.1 Default Key Bindings A.2 Reassigning and Adding Key Bindings A.2.1 Formulas for Finding Key Codes A.2.1.1 Case 1 A.2.1.2 Case 2 A.2.1.3 Case 3 A.2.1.4 Case 4 A.2.1.5 Case 5 A.2.2 Key Bindings Listed in DEEX$KEYTBLS.DAT A.2.3 If-Then Table Key Bindings A.2.4 Tree Key Bindings A.2.5 Entry Screen Key Bindings A.2.6 Utility Key Bindings A.2.7 Delivery Environment and Delivery Package Key Bindings A.2.8 Defining a Logical Name for Key Binding Files B Error Messages ANDORFNCHLD . . . CNACCSCRFIL CNADCHLDNULL . . . CNDMODNSAV CNEDEMPFCT . . . CNLNKEXISCHLD CNMODSN . . . CNREPLAY CNRESMODLOC . . . DECWBUFOVFL DECWFETSET . . . EMPFCTNEXP EMPRULNEXP . . . ERROPENFIL ERRPRTDEV . . . GENERROR GETTERM . . . INVFACCOST INVFACIVAL . . . INVPAGPRT INVPATH . . . LDFCTSLOT LEVINDDEL . . . MEMFREE MKGLOBAL . . . NODINVPATH NOFACT . . . NUMKEYBND OBJNOTREE . . . RPLYDEL RULEXPEMP . . . UTLCNACCUPDATE UTLCNOBJ . . . UTLSYNERR UTLSYSCMD . . . XCALLIMRN XCALLKEY . . . XCALLVAL C Restrictions C.1 File Name Restrictions C.2 Restrictions on If-Then Tables and And/Or Trees C.3 Restrictions on Decision Trees C.4 Other Restrictions D Examples D.1 FULLHIFI Sample Knowledge Base D.1.1 Running Inference on FULLHIFI in the Delivery Package D.1.2 Using FULLHIFI in the Development Package E Menus E.1 Entry Screen Menus E.2 If-Then Table Menus E.2.1 If-Then Table Infer Menus E.2.2 If-Then Table Edit Menus E.2.2.1 If-Then Table Menus After Choosing Edit Utility Command E.2.2.2 If-Then Table Manip (Manipulate) Menus E.3 And/Or Tree Menus E.3.1 And/Or Tree Infer Menus E.3.2 And/Or Tree Edit Menus E.3.2.1 And/Or Tree Menus After Choosing Edit Utility Command E.3.2.2 And/Or Tree Manip (Manipulate) Menus E.4 Decision Tree Menus E.4.1 Decision Tree Infer Menus E.4.2 Decision Tree Edit Menus E.4.2.1 Decision Tree Menus After Choosing Edit Utility Command E.4.2.2 Decision Tree Manip (Manipulate) Menus Glossary adopted child . . . call-out chaining . . . delivery environment delivery package . . . epsilon_infer executable image . . . forward chaining forward mode . . . graft history window . . . knowledge engineer language processor . . . module module value . . . parent node path . . . profile prune . . . search space shareable image . . . title top-level goal fact . . . weight FIGURES 2-1 Responding Can't Answer in the SPEAKER.AOR Module 2-2 Propagation of Numerical Values in the SPEAKER.AOR Module D-1 First FULLHIFI Delivery Session D-2 Second FULLHIFI Delivery Session D-3 Third FULLHIFI Delivery Session E-1 Entry Screen KNOWLEDGE BASE NAME Menu E-2 Entry Screen MODULE NAME Menu E-3 Entry Screen Menu After Choosing Load (For New Module) E-4 Entry Screen Reports Menu E-5 Entry Screen View Modules Menu E-6 If-Then Table Answer Menu E-7 If-Then Table Setup Menu E-8 If-Then Table Display Menu (Infer Mode) E-9 If-Then Table Print Menu (Infer Mode) E-10 If-Then Table Short Name Menu E-11 If-Then Table Menu After Choosing View Command E-12 If-Then Table T-Value Menu E-13 If-Then Table T-Cost Menu E-14 If-Then Table Rule Menu E-15 If-Then Table Rule Number Menu E-16 If-Then Table U (Utility Indicator) Menu E-17 If-Then Table Display Menu (Edit Mode) E-18 If-Then Table Print Menu E-19 If-Then Table Opts (Options) Menu E-20 If-Then Table Utility TO SET Menu E-21 If-Then Table Utility POST SET Menu E-22 If-Then Table Utility Setup Menu E-23 If-Then Table Manip Menu (for All Fields Except Rule and Rule Number) E-24 If-Then Table Manip Rule Menu E-25 If-Then Table Manip Rule Number Menu E-26 And/Or Tree Answer Menu E-27 And/Or Tree Setup Menu E-28 And/Or Tree Display Menu (Infer Mode) E-29 And/Or Tree Print Menu (Infer Mode) E-30 And/Or Tree Short Name Menu E-31 And/Or Tree T-Value Menu E-32 And/Or Tree T-Cost Menu E-33 And/Or Tree Operator Menu E-34 And/Or Tree Menu After Choosing Operator Command E-35 And/Or Tree U (Utility Indicator) Menu E-36 And/Or Tree Display Menu (Edit Mode) E-37 And/Or Tree Print Menu E-38 And/Or Tree Opts (Options) Menu E-39 And/Or Tree Utility TO SET Menu E-40 And/Or Tree Utility POST SET Menu E-41 And/Or Tree Utility Setup Menu E-42 And/Or Tree Manip Menu (First) E-43 And/Or Tree Manip Menu After Choosing Add Child Command E-44 And/Or Tree Manip Menu After Choosing Add Child, Fact Commands E-45 And/Or Tree Manip Menu After Choosing Add Child, Operator Commands E-46 And/Or Tree Manip Menu After Choosing Add Child, Fact, View Commands E-47 And/Or Tree Manip Menu (No Node Current) E-48 Decision Tree Answer Menu (All but Procedure Tree Node) E-49 Decision Tree Answer Menu (First Procedure Tree Node) E-50 Decision Tree Answer Menu (Intermediate Procedure Tree Node) E-51 Decision Tree Answer Menu (Last Procedure Tree Node) E-52 Decision Tree Setup Menu (Infer Mode) E-53 Decision Tree Print Menu (Infer Mode) E-54 Decision Tree Local Node Menu E-55 Decision Tree Global Node Menu E-56 Decision Tree Menu After Choosing Make Global Command E-57 Decision Tree Path Menu E-58 Decision Tree Print Menu E-59 Decision Tree Opts (Options) Menu E-60 Decision Tree Utility TO SET Menu E-61 Decision Tree Utility POST SET Menu E-62 Decision Tree Utility Setup Menu E-63 Decision Tree Manip Menu (First) E-64 Decision Tree Manip Menu After Choosing Add Child Command E-65 Decision Tree Manip Menu After Choosing Add Child, G-Node Commands E-66 Decision Tree Manip Menu After Choosing Add Child, G-Node, View Commands E-67 Decision Tree Manip Menu (No Node Current) TABLES 2-1 Logical Behavior of Operators in And/Or Trees 2-2 Behavior of Operators in And/Or Trees with Can't Answer 2-3 Fact Values and Rule Premise Status 2-4 Rule Status 2-5 Effect of Rule Status on Conclusion Fact Value 2-6 Propagation of Numerical Value in And/Or Trees 5-1 Special Characters 5-2 Utility Statement Conditionals 5-3 xcall Keywords A-1 Default Key Bindings A-2 Default Key Bindings in DEEX$KEYTBLS.DAT A-3 If-Then Table Key Bindings in DEEX$RULCMD.DAT A-4 Tree Key Bindings in DEEX$TRECMD.DAT A-5 Entry Screen Key Bindings in DEEX$SUPCMD.DAT A-6 Utility Key Bindings in DEEX$UTLCMD.DAT A-7 Delivery Environment and Delivery Package Key Bindings in DEEX$DELCMD.DAT