B. Ross Cosc 4f79 1 Prototyping Pure Prolog is ideal for prototyping expert systems (as well as...
-
Upload
egbert-bryant -
Category
Documents
-
view
213 -
download
1
Transcript of B. Ross Cosc 4f79 1 Prototyping Pure Prolog is ideal for prototyping expert systems (as well as...
![Page 1: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/1.jpg)
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 a system running for scrutiny by some clients. There is little time for designing the system.
---> A prototype is a feasibility study (and a sales pitch).
• The distinction between shell and knowledge base can be loosened:
- encode the knowledge base as pure Prolog rules, and include shell utilities in it. Use vanilla backward chaining.
• One can always use an existing commercial shell to throw together a prototype, but Prolog is just as useful for this. It is also more readily available, and more adaptive to special requirements.
![Page 2: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/2.jpg)
B. Ross Cosc 4f79 2
Prototyping
Example prototype: Sales Advisor
• system which sells mainframe software
• Knowledge base breakdown:
1. Qualification: see whether this a good prospective customer
2. Objective Benefit Feature analysis (OBF): match customer needs with product benefits
3. Competitive analysis: way to stress product strengths based on competition weaknesses
4. Situation analysis: whether products will run in prostpect's shop
5. Miscellaneous
![Page 3: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/3.jpg)
B. Ross Cosc 4f79 3
Prototyping
Approach
• Encode the knowledge base directly in plain Prolog
• incorporate I/O and other utilities in the KB rules as needed
(won't be purely declarative perhaps)
• no explanation
• "shell" will consist of a few driver utilities, and some advising utilities
• Later, when we win the bid, we can create a more complete system following techniques earlier in the course
![Page 4: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/4.jpg)
B. Ross Cosc 4f79 4
Prototyping
![Page 5: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/5.jpg)
B. Ross Cosc 4f79 5
Prototyping
![Page 6: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/6.jpg)
B. Ross Cosc 4f79 6
Prototyping
![Page 7: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/7.jpg)
B. Ross Cosc 4f79 7
Prototyping
![Page 8: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/8.jpg)
B. Ross Cosc 4f79 8
PrototypingInference engine
• not a meta-interpreter, but code which can drive execution of Prolog KB rules
![Page 9: 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.](https://reader035.fdocuments.in/reader035/viewer/2022072011/56649e3b5503460f94b2e006/html5/thumbnails/9.jpg)
B. Ross Cosc 4f79 9
Prototyping
User interface:
• very important aspect of prototypes
• most important feature: cosmetics
- eg. windows (helps to have a ready library available)
• can kludge some things
- eg. can incorporate some elementary error detection and user-friendly features
( a client won't be impressed if the prototype appears stupid, or crashes on spelling errors )