B. Ross Cosc 4f79 1 Inference mechanisms Backward chaining - goal-driven reasoning which gathers data as needed - Prolog's default mechanism - good for.

Slides:



Advertisements
Similar presentations
Building a Knowledge Base with VPExpert (VPX. exe) see also: vpxguide
Advertisements

Tutorial 12: Enhancing Excel with Visual Basic for Applications
B. Ross Cosc 4f79 1 Frames Knowledge bases can be enhanced by using principles from frame knowledge representation (similar to object orientation) This.
CS 275Tidwell Course NotesPage 110 Chapter 7: Getting Input From Users Designing interactive forms, in which the user is expected to supply information.
B. Ross Cosc 4f79 1 Forward chaining backward chaining systems: take high-level goal, and prove it by reducing it to a null goal - to reduce it to null,
Rule Based Systems Michael J. Watts
© 2000 Scott S Albert Structured Programming 256 Chapter 7 Streams and File I/O.
B. Ross Cosc 4f79 1 Explanation An important feature of expert systems is their ability to explain : - why questions are being asked - how certain conclusions.
Expert System Human expert level performance Limited application area Large component of task specific knowledge Knowledge based system Task specific knowledge.
1 Chapter 12 Working With Access 2000 on the Internet.
Introduction to Expert Systems
1 5.0 Expert Systems Outline 5.1 Introduction 5.2 Rules for Knowledge Representation 5.3 Types of rules 5.4 Rule-based systems 5.5 Reasoning approaches.
Guide To UNIX Using Linux Third Edition
SPSS 1: An Introduction to the Statistical Package SPSS Suzie Cro MRC Clinical Trials Unit.
Creating a Console Application with Visual Studio
Expert Systems Expert systems are AI programs that solve a highly technical problem in some domain Expert systems are AI programs that solve a highly technical.
Sepandar Sepehr McMaster University November 2008
Expert Systems Infsy 540 Dr. Ocker. Expert Systems n computer systems which try to mimic human expertise n produce a decision that does not require judgment.
Chapter Seven Advanced Shell Programming. 2 Lesson A Developing a Fully Featured Program.
SOFTWARE.
Languages and Environments Higher Computing Unit 2 – Software Development.
B. Ross Cosc 4f79 1 Prototyping Pure Prolog is ideal for prototyping expert systems (as well as other applications) For a prototype, the idea is to get.
Higher Grade Computing Studies 2. Languages and Environments Higher Computing Software Development S. McCrossan 1 Classification of Languages 1. Procedural.
B. Ross Cosc 4f79 1 Commercial tools Size of system: –small systems 400 rules single user, PC based –larger systems narrow, problem-type specific or hybrid.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
The UNIX Shell. The Shell Program that constantly runs at terminal after a user has logged in. Prompts the user and waits for user input. Interprets command.
COSC 2P93 Logic Programming Instructor: Brian Ross Instructor: Brian Ross Texts: Texts: Prolog Programming for Artificial Intelligence,4e, Ivan Bratko,
ECE 264 Object-Oriented Software Development Instructor: Dr. Honggang Wang Fall 2012 Lecture 3: Requirements Specification, C++ Basics.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Shell Scripting Introduction. Agenda What is Shell Scripting? Why use Shell Scripting? Writing and Running a Shell Script Basic Commands -ECHO - REM.
Mastering Char to ASCII AND DOING MORE RELATED STRING MANIPULATION Why VB.Net ?  The Language resembles Pseudocode - good for teaching and learning fundamentals.
15/11/04 AIPP Lecture 14: Database Manipulation1 Database Manipulation Artificial Intelligence Programming in Prolog Lecturer: Tim Smith Lecture 14 15/11/04.
File I/O ifstreams and ofstreams Sections 11.1 &
Introduction From: Chapter 1, Building Expert Systems in Prolog, htm.
C++ History C++ was designed at AT&T Bell Labs by Bjarne Stroustrup in the early 80's Based on the ‘C’ programming language C++ language standardised in.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
Troubleshooting. Troubleshooting Steps 4 Gather Information by Using Good Communication Skills 4 Narrow Down the Scope of the Problem 4 Find a Solution.
Coupling Cohesion Chandan R. Rupakheti Steve Chenoweth (Chapter 18)
What does C store? >>A = [1 2 3] >>B = [1 1] >>[C,D]=meshgrid(A,B) c) a) d) b)
File I/O 1 ifstreams and ofstreams Sections 11.1 & 11.2.
IBC233 Lecture 2 Updated Winter 2008 Agenda Test next Week – Jan 23 ISeries Architecture CL (Control Language) Library Lists Operations Navigator.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns VIII Chain of Responsibility, Strategy, State.
ES component and structure Dr. Ahmed Elfaig The production system or rule-based system has three main component and subcomponents shown in Figure 1. 1.Knowledge.
Prolog Program Style (ch. 8) Many style issues are applicable to any program in any language. Many style issues are applicable to any program in any language.
Chapter Fourteen Access Databases and SQL Programming with Microsoft Visual Basic th Edition.
Shell Scripting – Putting it All Together. Agenda Escaping Characters Wildcards Redirecting Output Chaining and Conditional Chaining Unnamed and Named.
Introduction to Prolog. Outline What is Prolog? Prolog basics Prolog Demo Syntax: –Atoms and Variables –Complex Terms –Facts & Queries –Rules Examples.
Input/output streams. Character Input / Output and Input Validation Input and output devices: keyboards, disk drives, mouse, monitors, printers, network.
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4: Events Programming with Alice and Java First Edition by John Lewis.
Agenda Using vi Editor Starting vi Session Command / Input Modes Entering Text Editing Text Saving Edited File Aborting Editing Session.
Design Principles – Part 2 of 3 Learnability Principles Flexibility Principles Last revised 9/2010.
Fall 2002CS/PSY UI Design Principles Categories  Learnability Support for learning for users of all levels  Flexibility Support for multiple ways.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
Oracle10g Developer: PL/SQL Programming1 Objectives Named program units How to identify parameters The CREATE PROCEDURE statement Creating a procedure.
Artificial Intelligence
Chapter Fourteen Access Databases and SQL Programming with Microsoft Visual Basic th Edition.
Lesson 6-Using Utilities to Accomplish Complex Tasks.
1 Chapter 13 Artificial Intelligence and Expert Systems.
Programming with Microsoft Visual Basic 2012 Chapter 14: Access Databases and SQL.
Chapter 7: Getting Input From Users
3.01 Apply Controls Associated With Visual Studio Form
Architecture Components
3.01 Apply Controls Associated With Visual Studio Form
C++ History C++ was designed at AT&T Bell Labs by Bjarne Stroustrup in the early 80's Based on the ‘C’ programming language C++ language standardised in.
CS62S: Expert Systems Based on:
Intro to Expert Systems Paula Matuszek CSC 8750, Fall, 2004
I/O in C Lecture 6 Winter Quarter Engineering H192 Winter 2005
Chapter 1: Creating a Program.
Presentation transcript:

B. Ross Cosc 4f79 1 Inference mechanisms Backward chaining - goal-driven reasoning which gathers data as needed - Prolog's default mechanism - good for identification problems Forward chaining - data-driven reasoning which must be initialized with all data values - system refines problem state towards solution state - good for configuration problems

B. Ross Cosc 4f79 2 Misc Prolog notes 1. With Sicstus prolog, need to do either a "nl" or a "ttyflush" command in order to see output on screen before a read - these commands flush the output buffer (similar things happen in C) 2. With Prolog's "read", a capitalized word will be interpreted as a variable. eg. read(X) --> enter Yes means X is unified with variable Yes enter 'Yes' unifies X with constant 'Yes' enter yes unifies X with constant 'yes'

B. Ross Cosc 4f79 3 Separation of KB and shell Important to separate declarative KB code from procedural shell utilities - knowledge base can then be used by other inference schemes - shell can be altered and made as flexible as one needs, w/o touching KB - Basically, put each into distinct files. In Merritt "bird" system, one line in KB is: top_goal(X) :- bird(X). Then, shell always executes "top_goal(X)". --> this gives a hook between KB and shell

B. Ross Cosc 4f79 4 Bowen Toy system from “Prolog and Expert Systems”, K.A. Bowen (McGraw Hill) similar in spirit to Bird he handles some things differently eg. to keep track of similar input words: synonym(pain, severe_pain). synonym(pain, numb_pain).... then you can check synonym for user input X by doing: ?- synonym(S, X). he also uses setof(V, synonym(pain,V), Vlist) --> returns Vlist = [severe_pain, numb_pain,...] - setof(Template, Goal, List): successively solves Goal, and saves variables shared between Goal and Template in List, using Template - sorts List, and removes duplicates - Template is a term: a variables, or even a structure eg. p(X,Y) bagof: similar, except that it keeps all solutions in the order discovered, and doesn't sort nor remove duplicates

B. Ross Cosc 4f79 5 Friendly User Input Prolog's Input-Output is too unfriendly and unforgiving should develop a library of user-friendy I/O expert system interface: - users may have little or no computer background - users may have little or no background in domain area - recover from errors (typing, misunderstandings,...) - avoid unnecessary dialog - remember input - use menus - perhaps remember input from different sessions - keep a history database - provide various levels of explanation and help

B. Ross Cosc 4f79 6 Summary The knowledge base and shell utilities are separate. The knowledge base is declarative. It can be processed by any kind of inference system. It is easily modified. The system prompts user for facts. It remembers input. Menu input is used. Note that, although shell utilities are procedural, it is possible to write declarative utilities. This is an ideal, but they might be inefficient. possible enhancements: - Better text messages for queries - more error checking - numeric input with menus (see handout) - *** explanation ***