问题
I want to develop an expert system(or knowledge based system to be more general) that troubleshoots computer hardware problems.
I have chosen Python as my language and Pyke as my inference engine.
The problem is that i don't know from where to start or how to design the facts and rules that i will act upon.
I searched for an open source similar to that project but didn't find any.
Any Help will be appreciated.
回答1:
Check out the TED expert system Abrams tank maintenance: http://www.aaai.org/Papers/IAAI/1998/IAAI98-004.pdf although this pdf does not have rules examples. Here's a paper from 1990 discussing issues with developing a CLIPS based fault diagnosis system for the NASA Manned Maneuvering Unit : they have a set of specifications and some rules and discuss problems with CLIPS development. There are several other papers on diagnostic systems using CLIPS on Citeseer but some of the links seem to be broken. I also wrote two expert systems for software diagnosis for a Fortune 100 company and I'll post examples of those rules later. Maybe you will find that useful.
回答2:
Amzi Prolog has some good hands-on educational materials online about building expert systems in Prolog[1]. One tutorial over there is a car diagnostic system probably similar to the hardware system you wish to implement. Even though Prolog has different syntax than Pyke, the general knowledge gained from another system should be helpful.
1 Amzi Prolog Building Expert Systems in Prolog
回答3:
If you don't know where to start, how / why have you chosen Python to build the system?
Alternatives:
LPA Prolog has lots of expert system related stuff built in.
The rule-processing engine "Drools" (now JBoss Rules) fixed one of the most important bottlenecks in old-fashioned expert system development. Drools allows you to integrate programming components in your rules and rule applications in your application components; whereas old expert systems tools typically restricted you to their paradigm.
Also; a lot has happened since rule-based expert systems technology was invented. You might be interested in a concept that is a little more up-to-date. Here's a directly related article from the High Level Logic (HLL) Open Source Project blog:
The Ghosts in My Machine: Chapter 2 http://highlevellogic.blogspot.com/2010/11/ghosts-in-my-machine-chapter-2.html
来源:https://stackoverflow.com/questions/4175154/developing-a-computer-hardware-troubleshooter-expert-system