Koyal – a Multi-Purpose Expert System – Md-Cob-Coa Knowledge Representation Using Prolog in J2Se

Table of contents


Expert systems are AI? s greatest commercial success. It is a research-oriented application area of AI. An expert system uses knowledge specific to a problem domain to provide “expert quality” performance.

Predicate logic is being used for knowledge representation which is further programmed using PROLOG inference engine for deriving intelligent conclusions. The current research paper introduces a rule-based expert system that provides a medical diagnosis for determining the health problems and classification of birds and animals. The user has to have some knowledge about these topics so that he can query the system. Three knowledge bases are provided for each domain. The specialized computer language PROLOG embedded into J2SE is used to develop this system.

Keywords-component: Expert System; Knowledge-base; Medical Diagnosis, Rule-based ES, Knowledge representation PROLOG; J2SE.

Introduction: The Koyal Expert System

Mainly, three knowledge bases are required for the system. They are bird? s knowledge base for identifying a bird, animal knowledge base for identifying an animal and a disease knowledge base for medical diagnose. The system uses this knowledge base for finding solutions.

Premises are written as attribute-value pair. The attribute is represented as a predicate and the value as the argument to the predicate. Each knowledge base will have to have a high-level goal, which calls the sub goals to be satisfied. When all the premises are satisfied, then the final conclusion is obtained.

User Interface

The user interface is the Prolog interpreters interface, and the input data is stored directly in the program. It is implemented in Java by loading the prolog inference engine into the java program. The prolog program itself will provide a user interface. The predicate ask and menuask will provide these functions. The ask is responsible is for getting the information from the user and remembering the users response. The ask predicate will have to determine from the user whether or not a given attribute-value pair is true.

The ask prompts the user with the requested attribute and value and seeks confirmation or denial of the proposed information. The ask is represented as object-attribute-value triples where the attribute values are tied to various objects in the system. The menuask will further improve the user interface by adding a menu capability which gives the user a list of possible values for an attribute. The main precondition of our Koyal System is that a common user who has no knowledge about the specialized „domain? annot interact with the system and in such a situation the output accuracy will depend on the user inputs. 2.

Description of the System Flow

The system flow chart represented in the figure 2 displays the flow of the information from one process to another. We can say that it is a detailed representation of the structured chart User The user will enter the text and this text is passed to the inference engine.

Inference Engine

A rule-based system requires some kind of program to manipulate the rules – for example to decide which ones are ready to fire. (i. . which ones have conditions that match the contents of working memory). The program that does this is called an inference engine, because in many rule-based systems, the task of the system is to infer something from knowledge base. This inference engine will prove or disprove the goal/rules in the knowledge base and used to derive conclusions. e. g. a diagnosis, from the data using the rules.

Knowledge base

The knowledge base contains rules which describe general knowledge about a particular problem domain.

The User Interface will interact with the user i. e. it will query the user for getting information to satisfy goals inside knowledge base. The predicates ask and menuask works here to gather information from user.

Working Memory

The working memory of a rule-based system is a store of information used by the system to decide which of the condition-action rules in the knowledge base is able to be fire. It might be used to store intermediate conclusions i. e. the satisfied goals and any other information inferred by the system from the data (using the condition-action rules). Finally the inference engine will infer the working memory more solution. . Knowledge Representation Using PL [4 & 5] Since Predicate Logic is one of the oldest and most important logistical approach for reasoning, primarily developed and used in the area of mathematics by logicians as a means of formal reasoning and now it is vastly being used by the programmers for expert systems for its flexibility of accurate natural language representation, this paper also includes the various methods of knowledge representation supported by Predicate Logic that can be conveniently programmed with the PROLOG programming language.

The major predicates that are being used in the paper include: The following symbols will be used for logical connectives. ~ not or negation & and or conjunction V or or disjunction. If and only if or double implication Valid statements or sentences in PL are determined according to the rules of propositional syntax. For the estimated validity of uncertainties, heuristics based on either fuzzy or neural network or neuro-fuzzy can be implemented.

Let the predicate function B(X) be a bird with a particular name X, then the composite predicate B(X) which needs various functional variables to be satisfied type of family, color, head, voice, flight type, throat, type of food it eats, country, region, tail, size etc. … Fig. 3. 1 represents the associate network for the classification of birds. For X = albatross, the functional variables are family type, color, size etc. are indicated, i. e. , if N1(F), N3(C) and N9(S) are the predicate functions with variables, family type, color and size of birds etc.

Working of the System

  • User enters the problem which he wants to know about the particular domain.
  • The entered query is analyzed and a keyword is extracted depending on the “domains”.
  • The keyword is passed to the inference engine.
  • The inference engine will call the high level goal of the knowledge base that starts the program.

System Implementation And Testing

Introduction to System Implementation

Implementation is the stage of project. When the theoretical design is turned into a working system. At this stage the main work load, the greatest upheaval and the major impact on the existing practices shifts to the user department. Prolog files include knowledge base and user interface. The size of the knowledge depends on the awareness of the creator about the domain. By referring theses knowledge base the system will derive solution for the problems. Knowledge base is one factor which determines the expertness of a system.

It defines a common vocabulary for researchers who need to share information about the domain. It includes machine-interpretable definitions of basic concepts in the domain and relationship among them.


Testing methodologies are adopted in the course of any system development. Any systems performance is based on testing that it follows. Some of the most prominent methods are:

  • White Box
  • Black Box

This testing method has been of little influence to the whole project since most of the modules have to be integrated for well functioning.

Black Box

The core testing was undertaken under this testing. Once all the modules were integrated the whole system was tested to ensure that it matches with the specification.

The Constraints Of Koyal Expert System

  1. The knowledge of the Koyal expert system is domain specific.
  2. Identification of the keyword is critical
  3. The user should have some knowledge about the domain otherwise the system will respond with less accuracy.
  4. Testing phase included white box testing and black box testing thought most of the testing was performed as system testing.


The implementation phase of software development is concerned with the translation of the structural design specification into source code. The primary goal is to write source code and internal documentation. Testing, Debugging and modification are performed in this phase also. The first step in developing an expert system has been the creation of a Prototype model of the actual system on the basis of the reference model available.

In case of an expert system each system? s knowledge is domain specific so every system has its own advantage and disadvantage. We cannot consider the system as expert in every aspect. This will require time and much effort to develop such a spool proof system. After testing the prototype further modification were incorporated in it by including extra features and implementing the knowledge base part of our system. The prototype is then tested. After the user is satisfied with the function of the prototype the actual system is developed.

JPL is a library using the SWI-Prolog foreign interface and the Java jni interface providing a bidirectional interface between Java and Prolog that can be used to embed Prolog in Java as well as for embedding Java in Prolog. In both setups it provides a reentrant bidirectional interface. jpl allows the loading of prolog engine to Java. Thereby we can load the prolog files which contain knowledge regarding the domains.


  1. http://www. primenet. com/pcai/New_Home_Page/ai_in fo/expert_systems. html
  2. A Guide to Expert Systems by Donald A. Waterman Ist Edition, Addison-Wesley Publishing Company.
  3. Russell, S. and P. Norvig, 2002. Artificial Intelligence: A Modern Approach, Prentice Hall, Second Edition.
  4. Analysis and design of information systems by V. Rajaraman, 5th print, PH
  5. Introduction to Artificial Intelligence and Expert Systems by Dan W. Patternson, PHI Pvt. Limited, Eighth Reprint 2000.
  6. Expert Systems Theoty and Practices by Jean-Louis Ermine, PHp Publications, 2007
  7. Introduction to Expert Systems by Peter Jackson, Addison-Wesley, Pearson Education Asia ltd. , Reprint 2000
  8. Foundation of Artificial Intelligences and Expert Systems” by V S Janakiraman, K Sarukesi, P Gopalakrishnan, Macmillan Series in Computed Science, Reprint 2001.

Calculate the price
Make an order in advance and get the best price
Pages (550 words)
*Price with a welcome 15% discount applied.
Pro tip: If you want to save more money and pay the lowest price, you need to set a more extended deadline.
We know how difficult it is to be a student these days. That's why our prices are one of the most affordable on the market, and there are no hidden fees.

Instead, we offer bonuses, discounts, and free services to make your experience outstanding.
How it works
Receive a 100% original paper that will pass Turnitin from a top essay writing service
step 1
Upload your instructions
Fill out the order form and provide paper details. You can even attach screenshots or add additional instructions later. If something is not clear or missing, the writer will contact you for clarification.
Pro service tips
How to get the most out of your experience with MyStudyWriters
One writer throughout the entire course
If you like the writer, you can hire them again. Just copy & paste their ID on the order form ("Preferred Writer's ID" field). This way, your vocabulary will be uniform, and the writer will be aware of your needs.
The same paper from different writers
You can order essay or any other work from two different writers to choose the best one or give another version to a friend. This can be done through the add-on "Same paper from another writer."
Copy of sources used by the writer
Our college essay writers work with ScienceDirect and other databases. They can send you articles or materials used in PDF or through screenshots. Just tick the "Copy of sources" field on the order form.
See why 20k+ students have chosen us as their sole writing assistance provider
Check out the latest reviews and opinions submitted by real customers worldwide and make an informed decision.
Thank youuuu
Customer 452729, May 30th, 2021
Data 564
excellent work
Customer 452773, April 11th, 2024
Thank you
Customer 452811, February 17th, 2024
Love this writer!!! Great work
Customer 452597, April 5th, 2021
Leadership Studies
excellent job
Customer 452773, August 26th, 2023
English 101
great summery in terms of the time given. it lacks a bit of clarity but otherwise perfect.
Customer 452747, June 9th, 2021
Thank you!!! I received my order in record timing.
Customer 452551, February 9th, 2021
Business and administrative studies
Customer 452773, February 23rd, 2023
Business and administrative studies
excellent job! got an A, thank you
Customer 452773, May 24th, 2023
Business and administrative studies
great job as always
Customer 452773, February 26th, 2023
Business and administrative studies
Thank you for your hard work
Customer 452773, October 19th, 2023
Don't really see any of sources I provided, but elsewise its great, thank you!
Customer 452697, May 8th, 2021
Customer reviews in total
Current satisfaction rate
3 pages
Average paper length
Customers referred by a friend
15% OFF your first order
Use a coupon FIRST15 and enjoy expert help with any task at the most affordable price.
Claim my 15% OFF Order in Chat

Sometimes it is hard to do all the work on your own

Let us help you get a good grade on your paper. Get professional help and free up your time for more important courses. Let us handle your;

  • Dissertations and Thesis
  • Essays
  • All Assignments

  • Research papers
  • Terms Papers
  • Online Classes
Live ChatWhatsApp