Click here to Skip to main content
13,900,823 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 5 days ago
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: bad
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 3 days ago
>"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: bad
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.

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)

  Print Answers RSS
Top Experts
Last 24hrsThis month

Advertise | Privacy | Cookies | Terms of Service
Web06 | 2.8.190306.1 | Last Updated 18 Mar 2019
Copyright © CodeProject, 1999-2019
All Rights Reserved.
Layout: fixed | fluid

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