Wednesday, August 3, 2011

Artificail intelligence


Artificial Intelligence
Introduction: - Intelligence helps human being to act in the correct manner and to maximize his/her performance. It is the intelligence which helped humans to become master of the rest of the living being. If the system like computer or computer software shows the intelligence, then it is artificial intelligence. Intelligence in these systems is not natural, but intelligence is put by humans. So, non living things if show intelligence then it is said to has artificial intelligence.
What is Artificial Intelligence?
Artificial Intelligence is the branch of computer science, but it include theories from many other disciplines like mathematics, psychology, economics, statistics etc. which is supposed to built a computer system which shows intelligence.
Different definitions of AI are given by different books/writers. These definitions can be divided into two dimensions.
Systems that think like humans
Systems that think rationally
Systems that act like humans
Systems that act rationally
Top dimension is concerned with thought processes and reasoning, where as bottom dimension addresses the behavior.
The definition on the left measures the success in terms of fidelity of human performance, whereas definitions on the right measure an ideal concept of intelligence, which is called rationality. 
Human-centered approaches must be an empirical science, involving hypothesis and experimental confirmation. A rationalist approach involves a combination of mathematics and engineering.
Acting Humanly: The Turing Test Approach
The Turing test, proposed by Alan Turing (1950) was designed to convince the people that whether a particular machine can think or not. He suggested a test based on indistinguishability from undeniably intelligent entities- human beings.
The computer passes the test if a human interrogator after posing some written questions, can not tell whether the written response come from human or not.
To pass a Turing test, a computer must have following capabilities:
Ø  Natural Language Processing: Must be able to communicate in English successfully
Ø  Knowledge representation: To store what it knows and hears.
Ø  Automated reasoning: Answer the Questions based on the stored information.
Ø  Machine learning: Must be able to adapt in new circumstances.
Turing test avoid the physical interaction with human interrogator. Physical simulation of human beings is not necessary for testing the intelligence.
The total Turing test includes video signals and manipulation capability so that the interrogator can test the subject’s perceptual abilities and object manipulation ability. To pass the total Turing test computer must have following additional capabilities:
Ø  Computer Vision: To perceive objects
Ø  Robotics: To manipulate objects and move
Thinking Humanly: Cognitive modeling approach
Make the machines with mind.
Cognition: The action or process of acquiring knowledge and understanding through thought, experience and senses.
How do humans think?
Requires scientific theories of internal brain activities (cognitive model). Once we have precise theory of mind, it is possible to express the theory as a computer program.
Two ways of doing this is:
Predicting and testing human behavior (cognitive science)
Identification from neurological data (Cognitive neuroscience)
Think rationally: The laws of thought approach
Aristotle was one of the first who attempt to codify the right thinking that is irrefutable reasoning process. He gave Syllogisms that always yielded correct conclusion when correct premises are given.
For example:
Ram is a man.   Man is mortal
ð  Ram is mortal
This study initiated the field of logic. The logicist tradition in AI hopes to create intelligent systems using logic programming.
Problems:
It is not easy to take informal knowledge and state in the formal terms required by logical notation, particularly when knowledge is not 100% certain.
Solving problem principally is different from doing it in practice. Even problems with certain dozens of fact may exhaust the computational resources of any computer unless it has some guidance as which reasoning step to try first.
Acting Rationally: The rational Agent approach:
Agent is something that acts.
Computer agent is expected to have following attributes:
v  Autonomous control
v  Perceiving their environment
v  Persisting over a prolonged period of time
v  Adapting to change
v  And capable of taking on another’s goal
Rational behavior means doing the right thing. Right thing is “which is expected to maximize goal achievement”. Rational Agent is one that acts so as to achieve the best outcome or, when there is uncertainty, the best expected outcome.
In this approach the emphasis is given to correct inferences. One way to act rationally is to reason logically to the conclusion and act on that conclusion. On the other hand there are also some ways of acting rationally that can not be said to involve inference. For Example, recoiling from a host stove is a reflex action that usually more successful than a slower action taken after careful deliberation.
Advantages:
ü  It is more general than laws of thought approach, because correct inference is just one of several mechanisms for achieving rationality.
ü  It is more amenable to scientific development than are approaches based on human behavior or human thought because the standard of rationality is clearly defined and completely general.
Foundations of AI
Different fields have contributed to AI in the form of ideas, viewpoints and techniques.
Philosophy:
Logic, reasoning, mind as a physical system, foundations of learning, language and rationality.
Mathematics:
Formal representation and proof algorithms, computation, undecidability, intractability, probability.
Psychology:
Adaptation, phenomena of perception and motor control.
Economics:
Formal theory of rational decisions, game theory.
Linguistics:
Knowledge representation, grammar
Neuroscience:
Physical substrate for mental activities
Control theory:
Homeostatic systems, stability, optimal agent design
Application of AI:
  • Game Playing
  • Knowledge Representation
  • Natural Language Processing
  • Expert System
  • Robotics
Expert System
Introduction  
An Expert system is a set of program that manipulates encoded knowledge to solve problem in a specialized domain that normally requires human expertise.
 “An expert system is an AI computer program which can work as a human expert in the specific problem domain and specially designed to represent human expertise in a particular domain. They can interact with users through well defined user interface, provide answers, suggestions for users queries, problem and also reason why they gave those solutions and even success rate of their solution.
An expert system’s knowledge is obtained from expert sources and coded in a form suitable for the system to use in its inference or reasoning processes. The expert knowledge must be obtained from specialists or other sources of expertise, such as texts, journals, articles and data bases. Once a sufficient body of expert knowledge has been acquired, it must be encoded in some form, loaded into a knowledge base then tested and refined continually throughout the life of the system.
Who is generally acknowledged as an expert?
Anyone can be considered a domain expert if he or she has deep knowledge (of booth facts and rules) and strong practical experience in a particular domain. The area of the domain may be limited. For example, experts in electrical engineering may have only general knowledge about transformers, while experts in life insurance marketing might have limited understanding of a real estate insurance policy. In general, an expert is a skillful person who can do things other people cannot.
 What is Knowledge?
Knowledge is a theoretical or practical understanding of a subject or a domain. Knowledge is also the sum of what is currently known, and apparently knowledge is power. Those who possess knowledge are called experts. They are the most powerful and important people in their organizations. Any successful company has at least a few first-class experts and it cannot remain in business without them.
How do experts think?
The human mental process is internal, and it is too complex to be represented as a algorithm. However, most experts are capable of expressing their knowledge as an algorithm.  Most experts are capable of expressing their knowledge in the form of rules for problem solving. Consider a simple example. Imagine, you meet an alien! He wants to cross a road. Can you help him? You are an expert in crossing roads- you’ve been on this job for several years. Thus you are able to teach the alien. How would you do this?
You explain to the alien that he can cross the road safely when the traffic light is green, and he must stop when the traffic light is red. These are the basic rules. Your knowledge can be formulated as the following simple statements:
            IF the ‘traffic light’ is green
            THEN             the action is go

            IF the ‘traffic light’ is red
            THEN the action is stop
These statements represented in the IF-THEN form are called production rules or just rules. The term ‘rule’ in AI, which is the most commonly used type of knowledge representation, can be defined as an IF-THEN structure that relates given information or facts in the IF part to some action in the THEN part. A rule provides some description of how to solve a problem. Rules are relatively easy to create and understand.
Components of an Expert System
There is currently no such thing as “standard” expert system. Because a variety of techniques are used to create expert systems, they differ as widely as the programmers who develop them and the problems they are designed to solve. However, the principal components of most expert systems are knowledge base, an inference engine, and a user interface.
1.      Knowledge Base
The component of an expert system that contains the system’s knowledge is called its knowledge base. This element of the system is so critical to the way             most expert systems are constructed that they are also popularly known as         knowledge-based systems. It is a data information repository of expert system. As human expert have knowledge stored with in them, expert them has knowledge stored in KB. Programmers and system developers do lots of research with human expert about specific domain they interact with expert, extract knowledge from them as much as possible and encode all the extracted knowledge into the computer program and termed as knowledge bases (KB).
To improve the performance of an expert system, we should supply the system with some knowledge about the knowledge it posses, or in other words, meta-knowledge.
Meta-knowledge can be simply defined as knowledge about knowledge. Meta-knowledge is knowledge about the use and control of domain knowledge in an expert system. In rule-based expert systems, meta-knowledge is represented by meta-rules. A meta-rule determines a strategy for the use of task-specific rules in the expert system.
2.      Inference Engine
Simply having access to a great deal of knowledge does not make you an expert; you also must know how and when to apply the appropriate knowledge. Similarly, just having a knowledge base does not make an expert system intelligent. The system must have another component that directs the          implementation of the knowledge. That element of the system is known variously as the control structure, the rule interpreter, or the inference engine.
The inference engine interacts with the knowledge base to answer user’s queries. In effect , an inference engine “runs” an expert system, determining which rules are to be invoked, accessing the appropriate rules in the knowledge base, executing the rules, and determining when an acceptable solution has been found.
3.      User Interface
The component of an expert system that communicates with the user is known as the user interface. The communication performed by a user interface is bidirectional. At the simplest level, we must be able to describe our problem to the expert system, and the system must be able to respond with its recommendations. We may want to ask the system to explain its “reasoning”, or the system may request additional information about the problem from us.
Although the designers of expert systems generally have a great deal of experience with computers, the intended users of expert systems are frequently computer novices. It is therefore critically important to ensure that an expert system is especially easy to use.

Neural Network: -

A neuron is a cell in brain whose principle function is the collection, Processing, and dissemination of electrical signals. Brains Information processing capacity comes from networks of such neurons. Due to this reason some earliest AI work aimed to create such artificial networks. Human brain is one of the most vital parts of human body which helps human to think, act and make decisions. AI has tried to make a system that is similar to human brain and the result is neural network.

What is a Neural Network?

An Artificial Neural Network (ANN) is an information processing paradigm that is inspired by the way biological nervous systems, such as the brain, process information. The key element of this paradigm is the novel structure of the information processing system. It is composed of a large number of highly interconnected processing elements (neurons) working in unison to solve specific problems. ANNs, like people, learn by example. An ANN is configured for a specific application, such as pattern recognition or data classification, through a learning process.
Artificial neural networks are made up of interconnecting artificial neurons. It may either be used to gain an understanding of biological neural networks or for solving problems without necessarily creating a model of real biological system. A neural network consists of a set of nodes: input nodes receive the input signals, output node gives the output signals and a unlimited no. of intermediate layers contain the intermediate nodes.
Neural network works in two phases: first is called training phase and second is actual test phase. Initially neural network is trained with old data for which both input and output are known. As the NN is trained, the new test data of which output is unknown is fed to NN to get output.
Applications: Since the neural network is best at identifying patterns of trends in data, they are well suited for prediction or forecasting needs including:
·         Function approximation or regression analysis including time series prediction.
·         Data processing, including filtering, clustering and compression.
·         Sales Forecasting and industrial process control.
·         Customer research and data validation.
·         Risk management
·         Target marketing.
Genetic Algorithm: - Genetic algorithm is the Artificial intelligence technique in which parents’ characteristics are inherited by their children incorporated within gene. In genetic algorithm genes of parent form a new gene by crossover and mutation process? In this starting population is created consisting of randomly generated rules and a new population is formed to consist of the fittest rules in current population as well as offspring of these rules.