Define and Dvvvviscuss On Expert System
Define and Dvvvviscuss On Expert System
Computer Intelligence
AI research has been one of the most frenzied areas of computer science since the
inception of the discipline. However, despite the massive effort and money that has gone
into research, computers are still unable to perform simple tasks that humans do on a
regular basis. Many researchers believed that a comprehensive system of logic would
enable computers to successfully complete high-level reasoning tasks that humans can
perform. However, logical computer programs require knowledge on which to base
decisions. Converting human knowledge into a form that is both meaningful and useful
for a computer has proven to be a difficult task.
Expert systems are used for problems where there is incomplete data about a subject, and
insufficient theory available for the creation of an algorithmic solution. Some problems,
such as medical diagnosis, are not easily solved with an algorithm, but instead require
reasoning and induction.
Numerical algorithms are more efficient then expert systems, and are typically more
exact. However, many problems are not suited to being easily modeled mathematically,
and in these cases numerical algorithms are not possible. Other AI techniques, such as
artificial neural networks are suited for problems where there is very little theory but a
wealth of experimental data.
Expert systems tend to be slow, and often require extensive human interaction. However,
well-designed expert systems can be very rigorous, and some expert systems have been
shown to outperform the human experts that helped to develop them.
Advantages
Quick availability and opportunity to program itself: As the rule base is in everyday
language (the engine is untouchable), expert system can be written much faster than a
conventional program, by users or experts, bypassing professional developers and
avoiding the need to explain the subject.
Ability to exploit a considerable amount of knowledge: The expert system uses a rule
base, unlike conventional programs, which means that the volume of knowledge
to program is not a major concern. Whether the rule base has 10 rules or 10 000,
the engine operation is the same.
Reliability: The reliability of an expert system is the same as the reliability of a
database, i.e. good, higher than that of a classical program. It also depends on the
size of knowledge base.
Scalability: Evolving an expert system is to add, modify or delete rules. Since the rules
are written in plain language, it is easy to identify those to be removed or
modified.
Pedagogy: The engines that are run by a true logic are able to explain to the user in plain
language why they ask a question and how they arrived at each deduction. In
doing so, they show knowledge of the expert contained in the expert system. So,
user can learn this knowledge in its context. Moreover, they can communicate
their deductions step by step. So, the user has information about their problem
even before the final answer of the expert system.
Every expert system has a major flaw, which explains its low success despite the
principles that it is based upon having existed for 70 years: knowledge collection and its
interpretation into rules, or knowledge engineering. Most developers have no automated
method to perform this task; instead they work manually, increasing the likelihood of
errors. Expert knowledge is generally not well understood; for example, rules may not
exist, be contradictory, or be poorly written and unusable. Worse still, most expert
systems use a computational engine incapable of reasoning. As a result, an expert system
will often work poorly, and the project will be abandoned. Correct development
methodology can mitigate these problems. There exists software capable of interviewing
a true expert on a subject and automatically writing the rule base, or knowledge base,
from the answers. The expert system can then be simultaneously run before the true
expert's eyes, performing a consistency of rules check. Experts and users can check the
quality of the software before it is finished.
Many expert systems are also penalized by the logic used. Most formal systems of logic
operate on variable facts, i.e. facts the value of which changes several times during one
reasoning. This is considered a property belonging to more powerful logic. This is the
case of the Mycin and Dendral expert systems, and of, for example, fuzzy logic, predicate
logic (Prolog), symbolic logic and mathematical logic. Propositional logic uses only
invariant facts. In the human mind, the facts used must remain invariable as long as the
brain reasons with them. This makes possible two ways of controlling the consistency of
the knowledge: detection of contradictions and production of explanations. That is why
expert systems using variable facts, which are more understandable to developers
creating such systems and hence more common, are less easy to develop, less clear to
users, less reliable, and why they don't produce explanations of their reasoning, or
contradiction detection.
Application field
They can also be used in software engineering for rapid prototyping applications (RAD).
Indeed, the expert system quickly developed in front of the expert shows him if the future
application should be programmed.
Indeed, any program contains expert knowledge and classic programming always begins
with an expert interview. A program written in the form of expert system receives all the
specific benefits of expert system, among others things it can be developed by anyone
without computer training and without programming languages. But this solution has a
defect: expert system runs slower than a traditional program because he consistently
"thinks" when in fact a classic software just follows paths traced by the programmer.