Click here to Skip to main content
14,578,799 members
Rate this:
Please Sign up or sign in to vote.
See more:
I have been asked to implement an expert system about disease/symptoms. I do not know how to start? what things I should know to be able to progress?.

If someone can help me with a demo/sample to look how such system should work and/or implemented I will be grateful for any sort of help. I do not want to steal someones effort, all I need is to know the way and the thoughts.

I searched the forum, however, there were no too much to know or being a useful resource.

What I have tried:

I am trying to google. I got some topics but with minimal usefulness
Updated 6-Jun-19 6:02am
Richard MacCutchan 14-Mar-19 8:05am
This question is far too broad for a Quick Answers forum. AI is a huge subject, so the only place to start your research would be Google.
Amr Mohammad Rashad 14-Mar-19 8:10am
Swear a God, I am trying, however, I need some help because it is a completely new topic for me and I am very confused... I am seeking for thing such as a specific type of tree data structure to study, how such system is working, for sure it is not a lengthy if... else... chains. Even if it like that how rules are being represented?! etc. And after all, I am very grateful for any sort of help...
Richard MacCutchan 14-Mar-19 8:19am
I appreciate that it is a new topic, but that just emphasises that you need to go and research the subject. It is impossible to give a valid answer in a forum like this. You could start with Expert system - Wikipedia[^].
Rate this:
Please Sign up or sign in to vote.

Solution 3

As has been pointed out, your question is too broad to be answered in a forum.  It's like asking "Can someone please tell me how to fly a Boeing 747?" in a travel forum.  You should read a book on expert systems.  That will be much more helpful than just Googling, because you (currently) don't know what you don't know.

I highly recommend Rule Based Expert Systems by Buchanan & Shortliffe.  Having developed expert systems for 8 years and having worked in the field of AI since 1987, I can assure you this is an excellent book (and an easy read), expecially for the problem that you're trying to solve.  One of the authors (at Columbia University) has made a free PDF available here:

Rule Based Expert Systems by Buchanan & Shortliffe[^]

Getting back to your problem, I expect you will want to build a backward chaining (diagnostic) expert system.  This gives you the advantage of being able to ask the expert system:
  • Why it's asking you a specific question
  • How it arrived at a conclusion

Good luck in your efforts!  I hope you have as much fun building your solution as I've had working on expert systems all these years.

Rate this:
Please Sign up or sign in to vote.

Solution 1

For an expert system you need first of all - an expert :-)
Classical implementations of medical expert systems are rule based, e.g. fever => cold, more diseases
The rules are then put into an 'inference system' and out comes one (or more) diagnosis.
There is a special language for inference systems called PROLOG and there are samples
Good luck
Amr Mohammad Rashad 14-Mar-19 10:43am
I used to use Prolog few years ago, almost 2011, was my last time I used to Prolog. The problem is that I had to create the system using PHP because we are using PHP Laravel and I do not know if there is any mean to connect Prolog to PHP Laravel, in such case, I may program against Prolog and pass the results to the Laravel...
MadMyche 14-Mar-19 11:32am
This may help =>
Amr Mohammad Rashad 18-Mar-19 7:15am
I was thinking of creating the solution in that way I begin to find all the diseases that have the given symptoms then I begin to pick up only those diseases having the given symptoms in common then start to choose the closest disease based on the percentage of symptoms given to the percentage of symptoms in the disease, for example, given 3 symptoms that are common within 4 diseases if each of the diseases having only those 3 then it has 100% match etc. Otherwise, I begin to choose the diseases with the highest percentage, on the other hand, if either all the percentage results <= 50% or one of the symptoms have no disease matched I will return a negative response.

It that considered a sort of expert system or that considered an illusion :)?!
Ravi Bhavnani 20-Mar-19 16:08pm
>"I begin to choose the diseases"

Stop! You choose nothing. Instead, you write a backward chaining inference engine and feed it a collection of rules (data) that you can modify/tweak to improve the accuracy of the system's reasoning.

Rate this:
Please Sign up or sign in to vote.

Solution 2

I spent the first 8 years of my software engineering career (in the 80s) working under Dr John McDermott on XCON (then the world's largest expert system) at DEC's AI Technology Center.  Required reading for being part of his team was this seminal work that I'm happy to say is now freely available from Columbia University.

Rule-Based Expert Systems: MYCIN[^]

I urge you to read it.  It will likely answer almost all your questions and probably give rise to many more.

Amr Mohammad Rashad 20-Mar-19 12:02pm
Thanks a lot for your consideration. I will read it and I hope I find an answers to my questions :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100