VAX Decision Expert User Manual

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Introduction

  1.1     Overview of the VAX Decision Expert Software
    1.1.1      Guidelines for Problem Selection
    1.1.2      The Development Environment
    1.1.3      The End-User Interface

  1.2     Cursor Movement, Pop-Up Menus, and Command Choice

  1.3     Online Help

  1.4     Getting Started
    1.4.1      Logging In
    1.4.2      Starting the Application
    1.4.3      Building a Simple If-Then Table Module
    1.4.4      Running Inference in the Development Environment
    1.4.5      Running Inference in the Delivery Environment

  2      Concepts

  2.1     Application Design Considerations

  2.2     Module Types
    2.2.1      Decision Trees
    2.2.2      If-Then Tables
    2.2.3      And/Or Trees
    2.2.4      Summary of Features of Module Types

  2.3     Knowledge Base Structure

  2.4     Design Procedure Recommendations

  3      Building Decision Tree Modules

  3.1     Decision Tree Nodes
    3.1.1      Fields for Decision Tree Nodes

  3.2     User Interface for Building Decision Trees
    3.2.1      Steps for Building a Procedure Tree
      3.2.1.1      Starting the Development System
      3.2.1.2      Specifying a Knowledge Base and a Module Name
      3.2.1.3      Editing the Root Node
      3.2.1.4      Adding a Child Node
      3.2.1.5      Adding a Global Child Node
      3.2.1.6      Adding More Local Nodes and Saving the Module
      3.2.1.7      Making Changes to the Decision Tree
      3.2.1.8      Adding Fields to Existing Tree Nodes
      3.2.1.9      Running Inference in the Decision Tree
    3.2.2      Steps for Building a Decision Tree with Decision Points and Global Nodes
      3.2.2.1      Starting the Development System and Specifying a Knowledge Base
      3.2.2.2      Editing the Root Node
      3.2.2.3      Adding a Global Child Node
      3.2.2.4      Adding a Path Name
      3.2.2.5      Adding Another Child Node
      3.2.2.6      Adding Another Node
      3.2.2.7      Linking Existing Nodes
      3.2.2.8      Saving the Module
    3.2.3      Running Inference in a Decision Tree
      3.2.3.1      Getting Started with Inference
      3.2.3.2      Executing Inference
      3.2.3.3      Continuing Inference

  3.3     Generating Reports
    3.3.1      Global Data Report
    3.3.2      Module Report
    3.3.3      Print Command
    3.3.4      Printing Reports

  3.4     Suppressing Unneeded Text Displays

  4      Building If-Then Table Modules

  4.1     Boolean Functions in If-Then Tables
    4.1.1      AND Function
    4.1.2      OR Function
    4.1.3      NOT Function
    4.1.4      NOR Function
    4.1.5      NAND Function
    4.1.6      Mutual Exclusion Function

  4.2     Inference in If-Then Tables
    4.2.1      Forward Chaining
    4.2.2      Backward Chaining
    4.2.3      Goal Mode

  4.3     Input Fields for If-Then Table Facts and Rules

  4.4     User Interface for Building If-Then Tables
    4.4.1      Steps for Building an If-Then Table
      4.4.1.1      Starting the Development System
      4.4.1.2      Specifying a Knowledge Base and a Module Name
      4.4.1.3      Creating a Fact
      4.4.1.4      Adding Rule Markers
      4.4.1.5      Adding Other Facts and Rules
    4.4.2      Running Goal Mode Inference in an If-Then Table
      4.4.2.1      Setting Up Inference
      4.4.2.2      Running Inference
    4.4.3      Running Forward Inference in an If-Then Table
      4.4.3.1      Preparing to Run Forward Inference
      4.4.3.2      Executing Forward Inference

  4.5     Precedence in Logical Ties

  4.6     Suppressing Unneeded Text Displays

  5      Building And/Or Tree Modules

  5.1     Boolean Functions in And/Or Trees

  5.2     Inference in And/Or Trees
    5.2.1      Forward Chaining in And/Or Trees
    5.2.2      Backward Chaining in And/Or Trees
    5.2.3      Goal Mode in And/Or Trees

  5.3     Fields for Facts in And/Or Trees

  5.4     User Interface for Building And/Or Trees
    5.4.1      Steps for Building an And/Or Tree
      5.4.1.1      Starting the Development System
      5.4.1.2      Specifying a Knowledge Base and a Module Name
      5.4.1.3      Making the Root Node
      5.4.1.4      Adding Branches
      5.4.1.5      Adding to a Subtree
    5.4.2      Steps for Adding Information to Facts in a Tree
      5.4.2.1      Adding a Long Name to a Fact
      5.4.2.2      Adding a Comment in the Fact Explanation Field
    5.4.3      Running Inference in an And/Or Tree
      5.4.3.1      Preparing to Run Inference
      5.4.3.2      Running Inference
      5.4.3.3      Experimenting with Inference
    5.4.4      Complex Tree Editing Functions
      5.4.4.1      Restarting the Editor
      5.4.4.2      Linking an Existing Node to a New Subtree
      5.4.4.3      Moving a Subtree
      5.4.4.4      Making a Subtree with Clones
      5.4.4.5      Eliminating a Connection (Unlinking)
      5.4.4.6      Copying Existing Nodes
      5.4.4.7      Completing the Second Subtree
      5.4.4.8      Adding a Subtree with NOT and Clones
      5.4.4.9      Adding the Nodes for a Negated Fact
      5.4.4.10     Adding Another Clone
      5.4.4.11     Grafting and Pruning
      5.4.4.12     Grafting a Node on a Subtree
      5.4.4.13     Pruning a Node from a Subtree
    5.4.5      Steering the Inference Process
      5.4.5.1      Changing a T-Value
      5.4.5.2      Changing a T-Cost
      5.4.5.3      Running Inference in the Revised Module

  5.5     Suppressing Unneeded Text Displays

  6      The Utility Language

  6.1     Overview
    6.1.1      Using the TO SET Window
    6.1.2      Using the POST SET Window
    6.1.3      Checking Statements for Errors
    6.1.4      Special Characters
    6.1.5      Conditionals

  6.2     Entering Utility Statements
    6.2.1      Using the Utility Editor

  6.3     display and ask
    6.3.1      display
      6.3.1.1      Loading the Knowledge Base and Module
      6.3.1.2      Calling the Utility Editor
      6.3.1.3      Entering the display Utility Statement
      6.3.1.4      Running Inference
    6.3.2      ask
      6.3.2.1      Loading the Knowledge Base and Module
      6.3.2.2      Calling the Utility Editor
      6.3.2.3      Entering the ask Statement
      6.3.2.4      Running Inference

  6.4     Linking Modules
    6.4.1      call and return
      6.4.1.1      Loading the Module
      6.4.1.2      Changing Text for the Last Node and Entering the call Statement
      6.4.1.3      Adding New Nodes to Show the return Values
      6.4.1.4      Adding Two return Statements to the Called Module
      6.4.1.5      Running Inference in the Two Linked Modules
    6.4.2      load
    6.4.3      set
      6.4.3.1      Making the Node to Be Set a Global Node
      6.4.3.2      Entering a set Statement in the Calling Module
    6.4.4      valueof
    6.4.5      update
    6.4.6      default

  6.5     write, append, and read
    6.5.1      write and append
    6.5.2      read
    6.5.3      Example Using append, write, and read
      6.5.3.1      Adding a call Statement to a FINDPROB.AOR Node
      6.5.3.2      Adding an append Statement to a FINDPROB.AOR Node
      6.5.3.3      Adding a write Statement to Create a Status File
      6.5.3.4      Adding an append Statement to Another Node to Extend the Log
      6.5.3.5      Entering a read Statement in SETRECVER.DEC
      6.5.3.6      Running Inference in FINDPROB.AOR
      6.5.3.7      Deleting the .HF Files and Running Inference Again

  6.6     clear and reset
    6.6.1      clear
    6.6.2      reset

  6.7     stop

  6.8     system, run, and xcall
    6.8.1      system
    6.8.2      run
    6.8.3      xcall

  6.9     Managing the Screen

  6.10    Checking Utility Statement Syntax

  7      Building a Delivery Package

  7.1     Delivery Package Components

  7.2     Building the Delivery Package
    7.2.1      Building a Shareable Image
    7.2.2      Building a Nonshareable Image

  7.3     Defining a Command Verb to Test the Build

  7.4     Defining Image Logical Names for the Shareable Image

  7.5     Testing the Package

  7.6     Building a Tape for Package Delivery

  7.7     Installing the Package on a New Computer System

  8      Backing Up a Knowledge Base

  9      Setting Up a Profile

  9.1     Creating and Using a Profile

  9.2     Profile Entries

  9.3     Sample Profile

  10     Running the Delivery Package

  10.1    Logging In and Setting Default

  10.2    Running an Application

  10.3    Replaying an Application Session

  10.4    Resetting and Restarting an Application Session

  10.5    Creating a Global Data Report

  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

  1-1        The Development Software User Interface

  1-2        The End-User Interface

  1-3        The Delivery Environment Screen

  1-4        The Entry Screen

  1-5        Sample Module TRIP.IFT

  1-6        Delivery Screen at End of Session One

  1-7        Delivery Screen at End of Session Two

  2-1        A Simple Decision Tree

  2-2        A Simple If-Then Table

  2-3        A Simple And/Or Tree

  2-4        Hi-Fi System Hierarchical Structure

  2-5        Hi-Fi Knowledge Base Module Layout

  3-1        Fields Displayed for a Decision Tree Node in the Development Environment

  3-2        User Interface-Decision Tree Editing

  3-3        A Procedure Tree for Testing a Receiver

  3-4        Specifying a Knowledge Base and a Module Name

  3-5        A Portion of a Decision Tree with Decision Points

  3-6        A Decision Tree with Decision Points:  DIAGNOSE.DEC

  4-1        A Large If-Then Table

  4-2        Editing an If-Then Table

  4-3        A Simple If-Then Table (PLAYBACK.IFT)

  4-4        Specifying a Knowledge Base and a Module Name

  4-5        Beginning Inference in an If-Then Table-Development Mode

  4-6        Completing Inference in an If-Then Table

  4-7        Determining Precedence in Logical Ties

  5-1        An If-Then Table with One Rule Expressing AND

  5-2        An And/Or Tree Expressing AND

  5-3        An If-Then Table with Three Rules Expressing AND

  5-4        Fields Displayed for an And/Or Tree Node in the Development Environment

  5-5        Editing an And/Or Tree

  5-6        An And/Or Tree Display

  5-7        Specifying a Knowledge Base and a Module Name

  5-8        First Four Nodes of the FINDPROB.AOR Tree Display

  5-9        The FINDPROB.AOR Tree, Including the Right Subtree

  5-10       The FINDPROB.AOR Tree with Ambiguously Linked Nodes

  5-11       The FINDPROB.AOR Tree with Unambiguously Linked Nodes

  5-12       The FINDPROB.AOR Tree with Clones

  5-13       Running Inference with Revised T-Values and T-Costs

  5-14       Continuing Inference

  5-15       Inference Complete

  6-1        The Utility Windows in an If-Then Table

  6-2        FINDPROB.AOR

  6-3        DIAGNOSE.DEC

  6-4        SETRECVER.DEC

  10-1       Ending Inference in an Application

  TABLES

  1-1        DEEX$LOGICAL_NAMES

  3-1        Block Arrow Commands

  4-1        Symbols Used in Rule Columns

  4-2        Fact Categories

  4-3        If-Then Table Column Headings

  5-1        Fact Categories for And/Or Trees

  6-1        Special Characters

  6-2        Utility Statement Conditionals

  6-3        The Utility Statements

  6-4        Utility Statements That Link Modules

  6-5        xcall Keywords

  9-1        Profile Entries