Artificial intelligence

Artificial Intelligence:

Artificial Intelligence began in the 1960s, the first attempts were game playing (checkers), theory proving a few simple theories and general problem solving.

General problem solving was much more difficult than originally anticipated. Researchers were unable to tackle problems routinely handled by human experts.

Artificial Intelligence can be defined in many ways as it depends from which point of view you look at it from. From the intelligence point of view artificial intelligence is to make machines intelligent thus making them act as we people would act.

However artificial intelligence from a research perspective is how to make machines do things people are currently doing better in other words making machines do what we humans can do.

Now from a business point of view artificial intelligence is a combination of powerful tools, and methods for using those tools to solve business problems.

As for the programming point of view artificial intelligence is the study of symbolic programming, search and problem solving.

Expert Systems:

Expert systems are defined on bases functional and structural.

Expert systems from a functional perspective are defined based on what the system does rather than how it does it.

“A computer program that behaves like a human expert in some useful ways.” (Winston & Prendergast, 1984)

Nevertheless we can define expert systems on the bases of their structure in many ways depending on which angle we look at it from

Problem area

  • “Solve problems efficiently and effectively in a narrow problem area.” (Waterman, 1986)
  • ” typically, pertains to problems that can be symbolically represented” (Liebowitz, 1988)

Problem difficulty

  • ” apply expert knowledge to difficult real world problems” (Waterman, 1986)
  • ” solve problems that are difficult enough to require significant human expertise for their solution” (Edward Feigenbaum in Harmon & King, 1985)
  • “Address problems normally thought to require human specialists for their solution” (Michaelsen et al, 1985).

Performance requirement

  • “the ability to perform at the level of an expert ” (Liebowitz, 1988)
  • “Programs that mimic the advice-giving capabilities of human experts.” (Brule, 1986, p.6)
  • “Matches a competent level of human expertise in a particular field.” (Bishop, 1986, p.38)
  • “Can offer intelligent advice or make an intelligent decision about a processing function.” (British Computer Society’s Specialist Group in Forsyth, 1984, pp.9-10)
  • “Allows a user to access this expertise in a way similar to that in which he might consult a human expert, with a similar result.” (Edwards and Connell, 1989, p.3)

Explain reasoning

  • “The capability of the system, on demand, to justify its own line of reasoning in a manner directly intelligible to the enquirer.” (British Computer Society’s Specialist Group in Forsyth, 1984, p.9-10)
  • “incorporation of explanation processes ” (Liebowitz, 1988)

Expert Systems from a structural perspective are defined on the bases of how the system functions.

“Using the programming techniques of artificial intelligence, especially those techniques developed for problem solving” (Dictionary of Computing, 1986)

However we can define expert systems on the bases of their structure in many ways depending on which angle we look at it from

Use AI techniques

  • ” using the programming techniques of artificial intelligence, especially those techniques developed for problem solving” (Dictionary of Computing, 1986)

Knowledge component

  • ” the embodiment within a computer of a knowledge-based component, from an expert skill ” (British Computer Society’s Specialist Group in Forsyth, 1984)
  • “a computer based system in which representations of expertise are stored ” (Edwards and Connell, 1989)
  • “The knowledge of an expert system consists of facts and heuristics. The ‘facts’ constitute a body of information that is widely shared, publicly available, and generally agreed upon by experts in the field.” (Edward Feigenbaum in Harmon & King, 1985)
  • “Expert systems are sophisticated computer programs that manipulate knowledge to solve problems” (Waterman, 1986)
Read also  How Spreadsheets can Solve Complex Problems

Separate knowledge and control

  • “Make domain knowledge explicit and separate from the rest of the system” (Waterman, 1986).

Use inference procedures

  • ” an intelligent computer program that uses knowledge and inference procedures” (Edward Feigenbaum in Harmon & King, 1985)
  • “The style adopted to attain these characteristics is a rule-based programming style.” (British Computer Society’s Specialist Group in Forsyth, 1984)
  • “Exhibit intelligent behavior by skillful application of heuristics.” (Waterman, 1986).
  • “The ‘heuristics’ are mostly private, little rules of good judgment (rules of plausible reasoning, rules of good guessing) that characterize expert-level decision making in the field.” (Edward Feigenbaum in Harmon & King, 1985)
  • “incorporation of ways of handling uncertainty”(Liebowitz, 1988)

Model human expert

  • “Can be thought of as a model of the expertise of the best practitioners of the field.” (Edward Feigenbaum in Harmon & King, 1985)
  • ” representation of domain-specific knowledge in the manner in which the expert thinks” (Liebowitz, 1988)
  • “Involving the use of appropriate information acquired previously from human experts.” (Dictionary of Computing, 1986)

Components of an Expert System

An expert system consists of 4 main components which are listed below:

  • Knowledge base – a representation of the expertise and is usually inputted in IF THEN rules, and are usually put into a database for easy access by the system.
  • Working storage – Data which is specific to a problem being solved by the expert system.
  • Inference engine – the code at the core of the system which derives recommendations from the knowledge base and problem-specific data in working storage.
  • User interface – the code that controls the dialog between the user and the system.

People and they consist of:

  • Domain experts – the individual or individuals who currently are experts in solving the problems the system is intended to solve.
  • Knowledge engineers – the individuals who encode the expert’s knowledge in a declarative form that can be used by the expert system.
  • Users – the individuals who will be consulting with the system to get advice which would have been provided by the expert.

Furthermore there are some other optional components that might be added to the system as sub systems and which try to make the expert system more efficient thus making it more powerful and they are.

Explanation sub system – is used to explain the logic or reason of recommending a solution. Justifier is another name of explanation sub system. Justifier also explains why a solution is recommended or not recommended.

Knowledge refining sub system – is used to refine the knowledge in the knowledgebase after working every time over a problem. It works exactly like human beings who analyze their actions and learn from their mistakes to perform better in the future.

Programming Languages Used to Develop Expert Systems

Here are some of the programming languages used to develop expert systems.

1. LISP, developed in the 1950s, is the early programming language strongly associated with AI. LISP is a functional programming language with procedural extensions. LISP (LISt Processor) was specifically designed for processing heterogeneous lists which is a list of symbols.

Features of LISP that made it attractive to AI researchers included

  • Run- time type checking.
  • Higher order functions (functions that have other functions as parameters).
  • Automatic memory management (garbage collection) and an interactive environment.
Read also  Resources needed to conduct a forensic audit

2. The second language strongly associated with AI is PROLOG. PROLOG was developed in the 1970s. PROLOG is based on first order logic. PROLOG is declarative in nature and has facilities for explicitly limiting the search space.

3. Object-oriented languages are a class of languages more recently used for AI programming. Important features of object-oriented languages include:

  • concepts of objects and messages
  • objects bundle data and methods for manipulating the data
  • sender specifies what is to be done receiver decides how to do it
  • inheritance (object hierarchy where objects inherit the attributes of the more general class of objects)

Examples of object-oriented languages are Smalltalk, Objective C, C++. Object oriented extensions to LISP (CLOS – Common LISP Object System) and PROLOG (L&O – Logic & Objects) are also used.

The Difference between these programming languages and procedural programming languages.

According to an article in the Information and Software Technology journal by Alexander Chatzigeorgiou of the Department of Applied Informatics, at the University of Macedonia, the object-oriented approach is known to introduce a significant performance penalty compared to classical procedural programming. For instance, profiling results for embedded applications indicate that C++ programs, apart from being slower than their corresponding C versions, consume significantly more energy (mainly due to the increased instruction count, larger code size and increased number of accesses to the data memory for the object-oriented versions).

Example of an Expert System

One of the most recognized expert systems used today by the general public is the online doctor due to the fact that many people use it daily.

In brief this expert system is used to diagnose people by asking them what the problem is and then suggesting the actions that they should take which sounds very similar to an expert system where the illness is the problem the recommended actions are the solutions.

In this example the website that was studied is www.yourdiagnosis.com

In this expert system there are main components of the expert system and they are:

The people

The people are separated into three categories and they are:

  • The domain experts – who are actually the doctors who provide the data for the system.
  • The knowledge engineers – are the engineers who enter this system in a rule based input for example giving multiple choice questions to diagnose a cold.
  • Do you feel cold.[ ]
  • Do you feel hot? [ ].
  • Do you feel normal? [ ]
  • System engineer – who is the person in charge assembling and managing the system.
  • The user – who is the person asking for the diagnoses.

The user interface

The user interface is the website used by the user to find the diagnoses.

Example:

The inherence engine

The inherence engine which in this case is made by the engineer using a web based programming language like ASP or PHP in the website from the last example we see that the programming language used is ASP and we can see that from the address bar.

http://www.yourdiagnosis.com/yourdiagnosis/Yourdiagnosis.ASP?WCI=WorldMapHTM&WCE=Click&WCU

The knowledge base

The knowledge base in this case is where all the rules that the knowledge engineer inputted them in this case the engineer used Microsoft SQL SERVER 2008. The knowledge in this case is the medical knowledge given by the doctors.

Read also  Types of Computers: An Overview

The working storage

The working storage in this case is a storage area on the server where each users data is stored in a relational database

The benefits of using artificial intelligence

The main benefits of using artificial intelligence are:

  • Provide answers for decisions, processes and tasks that are repetitive
  • Hold huge amounts of information
  • Minimize employee training costs
  • Centralize the decision making process
  • Make things more efficient by reducing the time needed to solve problems
  • Combine various human expertises.
  • Reduce the number of errors caused by humans.
  • Provide strategic and comparative advantages that may create problems for competitors
  • Look over transactions that human experts may not think of

Even though the benefits of artificial intelligence is more than the above we find that the main advantage to using artificial intelligence is to maximize the efficiency of a business thus giving the business the edge it needs to over throw its competitors.

Why Artificial intelligence is hard to include in information systems

The difficulties in including artificial intelligence in information systems are due to many facts one of which is the expense. Furthermore there are multiple factors why it’s so difficult to include artificial intelligence in information systems from which is the human acceptance to Artificial intelligence especially in the older groups another factor is that domain experts will be threatened by the fact that they are giving their expertise to a company and the fear of being redundant.

From the technical point of view the implementation of artificial intelligence is quite hard due to the if rule conversion of the expertise. And the integration with old systems will require an effort especially for established companies with legacy hardware and software.

Which brings us to the expense part of the problem? There is no doubt that artificial intelligence is an expensive approach as it is time consuming as it requires a lot of time and human resources. Furthermore developing artificial intelligence relies heavily on having the correct expert information and having something wrong in the knowledge base might cause damages which will lead to costly error and problems.

Reference

  • Anonymous. Dictionary of Computing, 1986, New York: Oxford University Press.
  • Bishop, Peter. Fifth Generation Computers Concepts, Implementations & Uses, 1986, Chichester, England: Ellis Horwood Ltd.
  • Brule, James F. Artificial Intelligence: Theory, Logic and Application, 1986, Blue Ridge Summit, PA: TAB Books.
  • Edwards, Alex and Connell, N.A.D. Expert Systems in Accounting, 1989, Herfordshire, UK: Prentice Hall International (UK) Ltd.
  • Forsyth, Richard, Expert Systems: Principles and Case Studies, 1984, London: Chapman and Hall Computing.
  • Harmon, Paul and King, David. Expert Systems: Artificial Intelligence in Business. 1985, New York: Wiley.
  • Liebowitz, Jay, Introduction to Expert Systems, 1988, Santa Cruz, CA: Mitchell Publishing, Inc.
  • Michaelsen, Robert H.; Michie, Donald and Boulanger, Albert. “The Technology of Expert Systems” Byte; April 1985
  • Rich, Elaine and Knight, Kevin. Artificial Intelligence Second Edition. 1991, New York: McGraw-Hill.
  • Waterman, Donald A. A Guide to Expert Systems, 1986, Reading, MA: Addison-Wesley.
  • Winston, Patrick H. and Prendergast, Karen A. (Editors). The AI Business: Commercial Use of Artificial Intelligence, 1984, Cambridge, MA: The MIT Press.

Ruth A. Palmquist, Asst. Professor, AI and Expert Systems, 1996, http://www.ischool.utexas.edu/~palmquis/courses/ai96.htm

  • Dan E. O’Leary, University of Southern California, 1994, http://accounting.rutgers.edu/raw/aies/www.bus.orst.edu/faculty/brownc/es_tutor/bus_ai.htm
  • Robert S. Engelmore, May 1993; WTEC Hyper-Librarian, http://www.wtec.org/loyola/kb/c1_s1.htm
  • Carol E. Brown, Oregon State University, Dan E. O’Leary, University of Southern California, 1995, http://accounting.rutgers.edu/raw/aies/www.bus.orst.edu/faculty/brownc/es_tutor/es_tutor.htm#1-AI
Order Now

Order Now

Type of Paper
Subject
Deadline
Number of Pages
(275 words)