Artificial intelligence (AI) is the intelligence of machines and the branch of computer science that aims to create it. According to Textbooks, the Artificial Intelligence is “the study and design of intelligent agents, where an intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success”.
Artificial intelligence has been the subject of optimism, but has also suffered setbacks and, today has become an essential part of the technology industry, providing the heavy lifting for many of the most difficult problems in computer science. All research is highly technical and specialized, deeply divided into subfields that often fail to communicate with each other Subfields have grown up around particular institutions, the work of individual researchers, the solution of specific problems, longstanding differences of opinion about how AI should be done and the application of widely differing tools.
The use of Artificial Intelligence methods is becoming increasingly common in the modeling and forecasting of hydrological and water resource processes. Artificial intelligence (AI) is the field of scientific inquiry concerned with designing mechanical systems that can simulate human mental processes. The field draws upon theoretical constructs from a wide variety of disciplines, including mathematics, psychology, linguistics, neurophysiology, computer science, and electronic engineering.
Some of the most promising developments to come out of recent AI research are “expert” systems or computer programs that simulate the problem-solving techniques of human experts in a particular domain.
There is a class of computer programs, known as expert systems that aim to mimic human reasoning. The methods and techniques used to build these programs are the outcome of efforts in a field of computer science known as Artificial Intelligence (AI). Expert systems have been built to diagnose disease (Pathfinder is an expert system that assists surgical pathologists with the diagnosis of lymph-node diseases, aid in the design chemical syntheses (Example), the prospect for mineral deposits (PROSPECTOR), translate natural languages, and solve the complex mathematical problem (MACSYMA).
The term Artificial Intelligence was coined by John McCarthy, in 1956, who defines it as “the science and engineering of making intelligent machines. The field was founded on the claim that a central property of humans, intelligence. The sapience of Homo sapiens can be so precisely described that it can be simulated by a machine. This raises philosophical issues about the nature of the mind and limits of scientific hubris, issues which have been addressed by myth, fiction and philosophy since antiquity.
Artificial Intelligence (AI) is the key technology in many of today’s novel applications, ranging from banking systems that detect attempted credit card fraud, to telephone systems that understand speech, to software systems that notice when you’re having problems and offer appropriate advice. These technologies would not exist today without the sustained federal support of fundamental AI research over the past three decades. Artificial Intelligence (AI) in the field of information technology focused on creating machines that can participate in behaviors that humans consider intelligent. The possibility of intelligent machines to have human curiosity since ancient times and today with the advent of computer and 50 years of research into AI programming techniques, the dream of smart machines is a reality. Researchers create systems that can mimic human thought, understand speech, then the best player chess husband, and countless benefits not possible before.
This mainly concerned with one of the major branches of AI, that is expert systems. Building an expert system is known as knowledge engineering and its practitioners are called knowledge engineers. The knowledge engineer must make sure that the computer has all the knowledge needed to solve a problem. The knowledge engineer must choose one or more forms in which to represent the required knowledge as symbol patterns in the memory of the computer – that is, he (or she) must choose a knowledge representation. He must also ensure that the computer can use the knowledge efficiently by selecting from a handful of reasoning methods. The practice of knowledge engineering is described later. We first describe the components of expert systems.
In conventional computer programs, problem-solving knowledge is encoded in program logic and program-resident data structures. Expert systems differ from conventional programs both in the way problem knowledge is stored and used. An expert system is a computer program, with a set of rules encapsulating knowledge about a particular problem domain (i.e., medicine, chemistry, finance, flight, etc). These rules prescribe actions to take when certain conditions hold and define the effect of the action on deductions or data. The expert system, seemingly, uses reasoning capabilities to reach conclusions or to perform analytical tasks. Expert systems that record the knowledge needed to solve a problem as a collection of rules stored in a knowledge based are called rule based system
Expert systems are especially important to organizations that rely on people who possess specialized knowledge of some problem domain, especially if this knowledge and experience cannot be easily transferred. Artificial intelligence methods and techniques have been applied to a broad range of problems and disciplines, some of which are esoteric and others which are extremely practical.
Major Branches of AI :
- Robotics: Mechanical and computer devices that perform tedious tasks with high precision.
- Vision system: Capture, store and manipulate the visual images and pictures.
- Natural language processing: Computer understands and reacts to the command and statements to natural language like English.
- Learning system: Computer changes how it reacts or functions to the feedback provided to it.
- Neural system: Computer that can act like or simulate the functioning of the brain.
- Expert system: Programming computers to make the decisions in real life situations. (ex: expert system help doctors in diagnosing the diseases)
Expert System Architecture
An expert system is, typically, composed of two major components, the Knowledge-base and the Expert System Shell. The Knowledgebase is a collection of rules encoded as metadata in a file system, or more often in a relational database. The Expert System Shell is a problem-independent component housing facilities for creating, editing, and executing rules. A software architecture for an expert system is illustrated in Figure 2.
The shell portion includes software modules whose purpose it is to,
- Process requests for service from system users and application layer modules;
- Support the creation and modification of business rules by subject matter experts;
- Translate business rules, created by a subject matter experts, into machine-readable forms;
- Execute business rules; and
- Provide low-level support to expert system components (e.g., retrieve metadata from and save metadata to knowledge base, build Abstract Syntax Trees during rule translation of business rules, etc.).
- knowledge base, build Abstract Syntax Trees during rule translation of business rules, etc.).
The Client Interface processes requests for service from system-users and from application layer components. Client Interface logic routes these requests to an appropriate shell program unit. For example, when a subject matter expert wishes to create or edit a rule, they use the Client Interface to dispatch the Knowledge-base Editor. Other service requests might schedule a rule, or a group of rules, for execution by the Rule Engine.
Knowledge Base Editor
The Knowledge-base Editor is a simple text editor, a graphical editor, or some hybrid of these two types. It provides facilities that enable a subject matter expert to compose and add rules to the Knowledge-base.
Rules, as they are composed by subject matter experts, are not directly executable. They must first be converted from their human-readable form into a form that can be interpreted by the Rule Engine. Converting rules from one form to another is a function performed by the Rule Translator.
The translation of rules in their original form to a machine-readable form requires parsing the textual representation to obtain a data structure referred to as an Abstract Syntax Tree (AST). The AST representation of rules is the memory-resident data structure that guides the execution of the inference engine when it comes time to apply a rule. The AST is an abstract data type designed to make its interpretation by the Rule Engine simple and efficient. This abstract data type is very expressive and permits the construction of very complex and powerful rules. There is a third form in which rules may be expressed. A rule AST is converted into an equivalent form suitable for storage in the Knowledge-base. The way in which this information appears in the Knowledge-base depends on the storage technology.
To make these ideas concrete, consider the arithmetic expression,
(a-b) / [x*(c-d)] ,
that might form some part of a rule. In the AST representation, this portion of the rule would be expressed as a binary tree, like the one in Figure 4, whose nodes are either arithmetic operators or operands.
Once created, AST representations are converted into rule metadata and stored in the Knowledge-base. Rule metadata is simply a compact representation of ASTs.
In translating rules from one form to another, the structure of the original rule is never lost. It is always possible to recreate a human-readable rule, exactly, from its Knowledge-base representation or from its AST representation.
The Rule Engine (often referred to as an inference engine in AI literature) is responsible for executing Knowledge-base rules. It retrieves rules from the Knowledge-base, converts them to ASTs, and then provides them to its rule interpreter for execution. The Rule Engine interpreter traverses the AST, executing actions specified in the rule along the way. This process is depicted in Figure 6.
Rule Object Classes
The shell component, Rule Object Classes, is a container for object classes supporting,
- Rule editing;
- AST construction;
- Conversion of ASTs to rule metadata;
- Conversion of rule metadata to ASTs; and
- Knowledge-base operations (query, update, insert, delete).
Constructing an Expert System
The construction of an expert system is less challenging than one might think, given the almost magical powers attributed to this class of programs. The task is made easier because,
- Large portions of the Rule Translator can be generated automatically using lexical analyzer and parser generators, and
- Text editors (e.g., TextPad) can be purchased, inexpensively, and integrated into the Expert System Shell.
The design and the construction of the expert system involve the four major steps depicted below Figure.
- Smarter artificial intelligence may replace human jobs, freeing people for other pursuits by automating manufacturing and transportation.
- Self-modifying, self-writing and learning software can relieve programmers of the burdensome tasks of specifying the functions of different programs.
- Artificial intelligence will be used as cheap labour, thus increasing profits for corporation.
- Artificial intelligence can make deployment easier and less resource intensive
- Compared to traditional programming techniques, expert-system approaches provide the added flexibility (and hence easier modifiability) with the ability to model rules as data rather than as code. In situations where an organization’s IT department is overwhelmed by a software-development backlog, rule-engines, by facilitating turnaround, provide a means that can allow organizations to adapt more readily to changing needs.
- In practice, modern expert-system technology is employed as an adjunct to traditional programming techniques, and this hybrid approach allows the combination of the strengths of both approaches. Thus, rule engines allow control through programs (and user interfaces) written in a traditional language, and also incorporate necessary functionality such as inter-operability with existing database technology.
- Rapid advances in AI could lead to massive structural unemployment.
- Unpredictable and unforeseen impacts of new features.
- An expert system or rule-based approach is not optimal for all problems, and considerable knowledge is required so as to not misapply the systems.
- Ease of rule creation and rule modification can be double-edged. A system can be sabotaged by a non-knowledgeable user who can easily add worthless rules or rules that conflict with existing ones. Reasons for the failure of many systems include the absence of (or neglect to employ diligently) facilities for system audit, detection of possible conflict, and rule lifecycle management (e.g. version control, or thorough testing before deployment). The problems to be addressed here are as much technological as organizational.
- Introduction to Machine Learning Approaches
- Fuzzy Logic Improves Decision Support Software
- Shell Programming in Expert Systems Applications
- Smart Home Appliances for Better Quality of Life – Combining artificial intelligence with home automation in smart home appliances results in an improved quality of life for many, including the elderly and disabled.
- Voice Recognition Software for Disabled Students – Disabled students are often at a disadvantage in the classroom. Voice recognition software improves communication, enables note-taking, and increases participation.
- Teaching Special Needs Children with Autism – Robots are acting as therapy assistants to help parents and therapists in teaching special needs children with autism.
Scope of expert systems
- As stated in the ‘approaches’ section, an expert system is able to do the work of a professional. Moreover, a computer system can be trained quickly, has virtually no operating cost, never forgets what it learns, never calls in sick, retires, or goes on vacation. Beyond those, intelligent computers can consider a large amount of information that may not be considered by humans.
- But to what extent should these systems replace human experts? Or, should they at all? For example, some people once considered an intelligent computer as a possible substitute for human control over nuclear weapons, citing that a computer could respond more quickly to a threat. And many AI developers were afraid of the possibility of programs like Eliza, the psychiatris and the bond that humans were making with the computer. We cannot, however, over look the benefits of having a computer expert. Forecasting the weather, for example, relies on many variables, and a computer expert can more accurately pool all of its knowledge. Still a computer cannot rely on the hunches of a human expert, which are sometimes necessary in predicting an outcome.
- In conclusion, in some fields such as forecasting weather or finding bugs in computer software, expert systems are sometimes more accurate than humans. But for other fields, such as medicine, computers aiding doctors will be beneficial, but the human doctor should not be replaced. Expert systems have the power and range to aid to benefit, and in some cases replace humans, and computer experts, if used with discretion, will benefit human kind.
According to many experts, faster than the majority of us think or are prepared for. “we will have both the hardware and the software to achieve human level artificial intelligence with the broad suppleness of human intelligence including our emotional intelligence by 2029.” If that sounds like something from a scary movie (“Terminator” may come to mind). Its not to worry, such super machines will also have morals and respect us as their creators (the people in scary movies rarely think that anything bad will happen to them either). He also believes that humans themselves will be smarter, healthier, and more capable in the near future by merging with our technology. For example, tiny robots implanted in our brains will work directly with our neurons to make us smarter (this may call to mind some other movies). AI began as an attempt to answer some of the most fundamental questions about human existence by understanding the nature of intelligence, but it has grown into a scientific and technological field affecting many aspects of commerce and society. Even as AI technology becomes integrated into the fabric of everyday life, AI researchers remain focused on the grand challenges of automating intelligence. Work is progressing on developing systems that converse in natural language, that perceive and respond to their surroundings, and that encode and provide useful access to all of human knowledge and expertise.
Its now the time to sit and think upon for the future of artificial intelligence in expert systems whether as to go with traditional technologies or to adapt the science of artificial intelligence. The overall motivation behind this paper is to modernize our ancestral methods so as to bring in a rapid change in the growth of highly developed expert systems so as to cater the needs of growing population. The development process may be incremental but the overall concept requires a paradigm shift in the way we think about modernization of production that is based more on needs and novel ways of meeting them rather than modifying existing techniques.