Project Proposal by Martin Stacey


Modelling a decision making process

Software

None, or Prolog, or an expert systems shell; possibly an OO language.

Covers

Artificial intelligence, knowledge management

Skills Required

Some AI experience, good understanding of some decision making process

Challenge

Conceptual ???? Technical ??? Programming

Brief Description

Many organizations face the classic expert system problem: one or a few experts know how to do some complicated reasoning task, and their knowledge needs to be captured before they retire. Many other organizations don't plan to develop a running AI system, but want to use the ideas produced by cognitive psychologists and the tools developed for AI knowledge acquisition to help with their knowledge management: they want to understand and codify the problem solving skill accumulated by their staff, to be able to pass it on to other staff members, and to reflect on how to refine the knowledge or use it more effectively.

Researchers in AI and software developers and management consultants in industry have developed techniques for eliciting knowledge from expert problem solvers and describing in more or less formal ways, and developing models of decision making processes that can be used for a variety of purposes, one of which might be the development of an AI reasoning system embodying the expertise of the experts. The de facto European standard expert system development methodology is CommonKADS (see G. Schreiber et al, Knowledge Engeering and Management, MIT Press, 2000), developed by a Dutch group applying the ideas of information systems development methodologies to AI. CommonKADS adopts the principle that the expert's reasoning process should be described in a sequence of models, making use of a library of models of standard reasoning tasks to make use of accumulated knowledge of how to handle particular types of problems.

The challenge of this project is to develop a detailed formal model of the knowledge employed to make a particular type of decision or solve a particular type of problem.

This will require a good knowledge of some particular reasoning process, so that you can act as your own primary source of expert knowledge; it would benefit from the availability of other experts who can check and critique the results, and, ideally, from having a practical reason for wanting a detailed analysis of the knowledge employed in the reasoning process. This will all depend on an appropriate reasoning process to model: we strongly recommend discussing the suitability of the target process with one or more appropriate AI experts before committing to doing this project.

Variants

This could be the foundation of a software development project, in which the expertise model is used as the foundation for the implementation of an AI system for solving a class of problems. The balance between knowledge modelling and development might be adjusted to suit the student but a lot of hard thinking about the nature of the problem will be needed. (A lot of research students have set out to built AI systems and ended up getting doctorates for their research into the nature of the problem.) The most suitable language and development environments would depend on the nature of the problem: possibilites include OO languages, Prolog, Lisp, or expert sytems shells that support explicit descriptions of rules that the inference engine applies.

Projects for BCS-accredited undergraduate degrees need to include going through a substantial part of the system development process, which doesn't necessarily include running code. Meeting this requirement with this project certainly isn't impossible, but would require at least doing detailed design work for an AI system implementing the decision making procedure. If in doubt, consult your programme leader.

Learning the CommonKADS methodology would be a good academic objective to have for the project, but it isn't the only way to approach knowledge modelling, or necessarily the best way to approach a knowledge management problem.

Projects for BCS-accredited undergraduate degrees need to include going through a substantial part of the system development process, which doesn't necessarily include running code. Meeting this requirement with this project certainly isn't impossible, but would require at least doing detailed design work for an AI system implementing the decision making procedure. If in doubt, consult your programme leader.


Back to