4.2.1 Appropriate Uses of Logic Paradigm

Prolog is the leading programming language for artificial intelligence (AI) applications and research. The logic paradigm is based on formal predicate logic which has historically been the basis of much research into how humans think, reason and make decisions. 

  • In Prolog and logic we describe the problem we wish to solve rather than describing how to solve the problem. 
  • This is a declarative approach to programming rather than the more common procedural and imperative approach used by most programming languages. 
  • A declarative approach allows a single program to be used to solve a variety of related problems.

The logic paradigm is particularly good at representing knowledge and then using this knowledge to reason. We have seen many examples of knowledge representation as we studied Prolog and we have described the reasoning used by Prolog’s inference engine. Often the reasoning performed by the inference engine is essentially pattern matching. Even in our simple examination of Prolog we’ve seen how a predicate such as parent(Parent, Child) matches with the fact parent(joe, sue) when Parent is joe and Child is sue. This pattern matching ability is used for a variety of AI applications including natural language processing such as grammar and spell checks. It is also used to simulate the reasoning of human experts within expert systems.

Expert systems

Expert Systems Lesson 1 - Using an expert system

Also:
https://www.youtube.com/watch?v=UkIzlJt-HjA

https://www.youtube.com/watch?v=Hor5r8bz8SA

Expert Systems


Expert Systems - Advantages over Experts

Expert System Advantages 2/2

Disadvantages

http://woo.jamesruse.nsw.edu.au/news/10iptexpertsystems1-1

An expert system is used to perform functions that would normally be performed by a human expert in that field. A doctor may use an expert system to diagnose illnesses or economists may use an expert system to forecast economic trends. 

  • In general, expert systems do not reach definite conclusions rather they weigh up the evidence and present possible conclusions. 
  • Expert systems are designed by knowledge engineers who specialise in understanding how a human expert reasons. The reasoning is stored in a knowledge base that is interrogated by an expert system shell. 
  • Expert system shells provide the framework for an expert system to which specialised knowledge must be added by knowledge engineers.

Expert systems use facts and rules to reach conclusions using similar techniques to those used in Prolog. 

  • Many expert systems also allow the inclusion of heuristics.  
    • These are rules that are generally accepted as true within the particular specialist area. 
    • Heuristics are often described as rules of thumb. 
    • Heuristics are what give expert systems a human feel. 
    • As humans, we reach conclusions using a variety of mechanisms. 
    • Some of them are precise but many are not. 
    • Simulating the experience of a human expert using software is a difficult and data intensive process. 
      • Many decisions we make in every day life are not based on strict facts and rules rather they are based on creative original thought and feelings. 
    • At present, computers are not able to accurately simulate this type of decision-making.

How Expert Systems Work

  • Expert systems have a knowledge base of rules (domain-specific heuristics) that govern situations and hence inform decisions.
  • Domain-specific: about one specific area
  • Heuristics: stategies that always seem to work
  • Expert systems are designed to imitate experts. Why would you mimic human experts with a computer system when there are real humans? Well...

Advantages:

  • Consistency can be an advantage
  • Repetitive situations can be responded to with consistency, regularity, predictability
  • Repetitive situations do not bore them or waste their presence
  • Decisions are clear as they come from pre-programmed rules and logic instead of intuition
  • Greater processing speed with simple data
  • Handle more data to superhuman levels of memory
  • Data can be stored indefinitely and can be accessed instantly
  • Humans can die, and humans are considered less disposable than machinery
  • Humans may be incapable in emotional stress
  • Greater availability in time and space + multiple users
  • Can replace original human expert(s) after their death(s)
  • Diligence (expert systems do not forget factors)
  • Persistence (machines do not sleep, they sleep mode!)

Disadvantages:

  • 'Dumb' as in expert systems lack common sense and intuition (Google Maps)
  • Boring-ness (cannot make creative responses)
  • Humans can think faster in complex, abstract situations
  • Humans learn
  • Machinery requires an electrical supply
  • Interpretation/inaccuracy (expert systems are limited by the situation data input - ambiguous)
  • Stubborn (does not automatically adjust or adapt to changes)
  •  





Neural Networks

Machine Learning & Deep Neural Networks Explained

Intro to Neural Networks



It is difficult to discuss expert systems without mentioning neural networks. Neural networks are different from expert systems in that they are able to learn. This new knowledge is then available in the future to help reach new conclusions. Expert systems cannot learn new information. 

Neural networks are composed of neurons that operate in a similar fashion to the biological neurons within our brains. Each neuron has a number of inputs and a single output. Each input is given a particular weighting within the neuron. When the sum of the weightings reach a particular threshold then the output fires. Each output is linked to one or more inputs to further neurons within the system. Our brain contains billions of biological neurons that are connected in intricate and complex ways; neural networks are similarly complex. Neural networks can operate heuristically; the weightings of each input to a neuron changing with experience and different circumstances.



Comments