Download presentation
Presentation is loading. Please wait.
Published byEgbert Bryant Modified over 9 years ago
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 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.
2
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
3
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
4
B. Ross Cosc 4f79 4 Prototyping
5
B. Ross Cosc 4f79 5 Prototyping
6
B. Ross Cosc 4f79 6 Prototyping
7
B. Ross Cosc 4f79 7 Prototyping
8
B. Ross Cosc 4f79 8 Prototyping Inference engine not a meta-interpreter, but code which can drive execution of Prolog KB rules
9
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 )
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.