Prolog is a programming language for artificial intelligence and language processing. Prolog’s rule structure and inference strategy is adequate for many AI applications and the creation of intelligent systems. Prolog rules are used for knowledge representation, while Prolog’s own built-in backward chaining inference engine is used to derive conclusions. Each rule has a goal and several sub-goals.
Prolog’s inference engine either proves or disproves each goal (i.e. there is no uncertainty associated with the results).
In this assignment, you will work through the production of an individual software solution in Prolog that will result in a demonstrable software system. You will also produce a brief report that documents your software solution.
Scenario
The outbreak of the new virus disease was first detected in the city of Virusville in Virusland towards the end of the year 2519. One of the main concerns was that, as it was a completely new virus, there was no vaccine and no specific treatment for the disease, and thus the entire human population was potentially at risk to contract the infection. The virus was transmitted mainly when in close proximity with an infected person via small respiratory droplets (sneezing, coughing). The infected droplets could be either directly inhaled by someone else or land on surfaces that others could possibly come in contact with. On non-biological surfaces, the virus had the resilience to survive from several hours (copper, cardboard) up to a few days (plastic and stainless steel), depending on the surface’s characteristics.
The time between exposure to the virus and onset of symptoms (the incubation period) was estimated to be between 1 and 14 days. The virus could be transmitted when people who were infected showed symptoms. There was also evidence suggesting that transmission occurred from a person that is infected even two days before the appearance of the first symptoms; however, uncertainties remain about the effect of transmission by persons showing no symptoms (being asymptomatic).
Symptoms of the virus varied in severity from being asymptomatic to having more than one symptom. The most common symptoms were fever, persistent dry cough, and tiredness. Less common symptoms were aches and pains, sore throat, diarrhoea, conjunctivitis, headache, anosmia/hyposmia (total/partial loss of sense of smell and taste), and running nose. Serious symptoms included difficulty breathing or shortness of breath, chest pain or feeling of chest pressure, loss of speech or movement. People with serious symptoms needed to seek immediate medical attention, proceeding with an initial assessment call (no contacts) to the doctor or health facility. People with mild symptoms had to manage their symptoms at home, without a doctor assessment. Elderly people (above 70 years old) and those with pre-existent health conditions (e.g. hypertension, diabetes, cardiovascular disease, chronic respiratory disease and cancer) were considered more at risk of developing severe symptoms. Males in these groups also appeared to be at a slightly higher risk than females. Most infected people developed mild to moderate illness and recovered without hospitalization.
To prepare for this assignment:
* review the scenario above.
* Prepare any tool that you would use to carry out this assignment.
To complete this assignment:
* Develop a simple expert system in Prolog SWI which accepts information about a patient in terms of: symptoms, bio data, and/or history of events in the last few days, and diagnoses the possible presence or absence of the virus infection.
* Submit the source code of your expert system.
* Write and submit a brief final report (500 words) in PDF that describes and analyses your expert system. Include some screenshots for a few diagnoses, demonstrating how the system works.
Comments from Customer
This task should be completed with the original code/solutions. Please make sure you do not use any open source solutions.