Artificial Intelligence
Artificial Intelligence
Introduction:
Artificial intelligence (AI) is an area of computer science that emphasizes the creation of intelligent machines that work and reacts like humans. It is the branch of computer science that is concerned with the automation of intelligence behavior.
Artificial intelligence is based on the principle that human intelligence can be defined in a way that a machine can easily mimic it and execute tasks, from the most simple to those that are even more complex. The goals of artificial intelligence include learning, reasoning, and perception.
As technology advances, previous benchmarks that defined artificial intelligence become outdated. For example, machines that calculate basic functions or recognize text through optimal character recognition are no longer considered to embody artificial intelligence, since this function is now taken for granted as an inherent computer function.
Artificial intelligence is a branch of computer science that aims to create intelligent machines. It has become an essential part of the technology industry. It has the ability to acquire, retrieve, and use knowledge in a meaningful way. Intelligence has following components or abilities.
- Learning: It is the process of acquiring knowledge, skills experience or value by study, experience or training.
- Reasoning: It refers to the ability of drawing conclusions that are appropriate to the situation in hand.
- Understanding: It refers to the identification of the significance for certain information.
- Creativity: It is the ability to generate new ideas.
- Intuition: It is the inner knowledge like knowledge from sense organs.
Application of AI:
- Gaming: AI plays crucial role in strategic games such as chess, car race, PUBG etc., where machine can think of large number of possible positions based on heuristic (learn something themself) knowledge.
- Natural Language Processing: It is possible to interact with the computer that understands natural language spoken by humans.
- Expert Systems: There are some applications, which integrate machine, software, and special information to impart reasoning and advising. They provide explanation and advice to the users.
- Vision Systems: These systems understand, interpret, and comprehend visual input on the computer. For example,
- A spying airplane takes photographs, which are used to figure out information or map of the areas.
- Doctors use clinical expert system to diagnose the patient.
- Police use computer software that can recognize the face of criminal with the stored portrait made by forensic artist.
- Speech Recognition: Some intelligent systems are capable of hearing and comprehending the language in terms of sentences and their meanings while a human talks to it. It can handle different accents, slang words, noise in the background, change in human’s noise due to cold, etc.
- Handwriting Recognition: The handwriting recognition software reads the text written on paper by a pen or on screen by a stylus. It can recognize the shapes of the letters and convert it into editable text.
- Intelligent Robots: Robots are able to perform the tasks given by a human. They have sensors to detect physical data from the real world such as light, heat, temperature, movement, sound, bump, and pressure. They have efficient processors, multiple sensors and huge memory, to exhibit intelligence. In addition, they are capable of learning from their mistakes and they can adapt to the new environment.
Neural Network:
Neural Network also called artificial neural networks (ANN) or connectionist systems are computing systems inspired by the biological neural networks that constitute animal brains. Such systems "learn" to perform tasks by considering examples, generally without being programmed with task-specific rules.
For example, in image recognition, they might learn to identify images that contain cats by analyzing example images that have been manually labeled as "cat" or "no cat" and uses the results to identify cats in other images. They do this without any prior knowledge of cats, like they have fur (hair of animal’s body), tails, whiskers and cat-like faces. Instead, they automatically generate identifying characteristics from the examples that they process.
Fig: Artificial Neural Network
An ANN has several advantages but one of the most recognized of these is the fact that it can actually learn from observing data sets. In this way, ANN is used as a random function approximation tool. These types of tools help estimate the most cost-effective and ideal methods for arriving at solutions while defining computing functions or distributions. ANN takes data samples rather than entire data sets to arrive at solutions, which saves both time and money. ANNs are considered fairly simple mathematical models to enhance existing data analysis technologies.
Unlike other algorithms, neural networks with their deep learning cannot be programmed directly for the task. Rather, they have the requirement, just like a child’s developing brain, that they need to learn the information. The learning strategies go by three methods:
- Supervised learning: This learning strategy is the simplest, as there is a labeled dataset, which the computer goes through, and the algorithm gets modified until it can process the dataset to get the desired result.
- Unsupervised learning: This strategy gets used in cases where there is no labeled dataset available to learn from. The neural network analyzes the dataset, and then a cost function then tells the neural network how far off of target it was. The neural network then adjusts to increase accuracy of the algorithm.
- Reinforced learning: In this algorithm, the neural network is reinforced for positive results, and punished for a negative result, forcing the neural network to learn over time.
The Artificial Neural Network has following characteristics:
- Adaptive Learning: An ability to learn how to do task based on the data given for training or initial experience.
- Self-Organization: An ANN can create its own organization or representation of the information it receives during learning time.
- Real Time Operation: ANN computation may be carried out in parallel, and special hardware devices are being designed and manufactured which take advantage of this capability.
- Fault Tolerance via Redundant Information Coding: Partial destruction of a network leads to the corresponding degradation of performance. However, some network capabilities may be retained even with major network damage.
Genetic Algorithm:
The genetic algorithm is a method for solving both constrained and unconstrained optimization problems that is based on natural selection, the process that drives biological evolution. The genetic algorithm repeatedly modifies a population of individual solutions. At each step, the genetic algorithm selects individuals at random from the current population to be parents and uses them to produce the children for the next generation. Over successive generations, the population "evolves" toward an optimal solution. You can apply the genetic algorithm to solve a variety of optimization problems that are not well suited for standard optimization algorithms, including problems in which the objective function is discontinuous, non-differentiable, and highly nonlinear. The genetic algorithm can address problems of mixed integer programming, where some components are restricted to be integer-valued.
The genetic algorithm uses three main types of rules at each step to create the next generation from the current population:
- Selection rules: select the individuals, called parents, that contribute to the population at the next generation.
- Crossover rules: combine two parents to form children for the next generation.
- Mutation rules: apply random changes to individual parents to form children.
There are five steps in genetic algorithm as:
- Initial population
- Fitness function
- Selection
- Crossover
- Mutation
Initial Population
The process begins with a set of individuals which is called a Population. Each individual is a solution to the problem you want to solve.
An individual is characterized by a set of parameters (variables) known as Genes.
Genes are joined into a string to form a Chromosome (solution).
In a genetic algorithm, the set of genes of an individual is represented using a string, in terms of an alphabet. Usually, binary values are used (string of 1s and 0s). We say that we encode the genes in a chromosome.
Fig: Population, Chromosomes and Genes
Fitness Function
The fitness function determines how fit an individual is (the ability of an individual to compete with other individuals). It gives a fitness score to each individual. There is high probability to be selected of an individual who have high fitness score.
Selection
The idea of selection phase is to select the fittest individuals and let them pass their genes to the next generation.
Two pairs of individuals (parents) are selected based on their fitness scores.
Individuals with high fitness have more chance to be selected for reproduction.
Crossover
Crossover is the most significant phase in a genetic algorithm. For each pair of parents to be mated, a crossover point is chosen at random from within the genes.
For example, consider the crossover point to be 3 as shown below.
Fig: Crossover point
Offspring are created by exchanging the genes of parents among themselves until the crossover point is reached.
Fig: Exchanging genes among parents
The new offspring are added to the population.
Fig: New offspring
Mutation
Mutation is the process of changing the structure of a gene, resulting in a variant form that may be transmitted to subsequent generations, caused by the alteration of single base units in chromosome, or the deletion, insertion, or rearrangement of larger sections of genes or chromosomes. In certain new offspring formed, some of their genes can be subjected to a mutation with a low random probability. This implies that some of the bits in the bit string can be flipped.
Fig: Mutation: Before and After
The algorithm terminates if the population has converged (does not produce offspring which are significantly different from the previous generation). Then it is said that the genetic algorithm has provided a set of solutions to our problem.
The population has a fixed size. As new generations are formed, individuals with least fitness die, providing space for new offspring. The sequence of phases is repeated to produce individuals in each new generation which are better than the previous generation.
Expert System:
Artificial Intelligence is a piece of software that simulates the behavior and judgment of a human or an organization that has experts (have deep knowledge) in a particular domain is known as an expert system. It does by acquiring relevant knowledge from its knowledge base and interpreting it according to the user’s problem. Humans that are expert in a particular domain add the data in the knowledge base and a non-expert user, who needs to acquire some information, uses this software. It is widely used in many areas such as medical diagnosis, accounting, coding, games etc.
An expert system is AI software that uses knowledge stored in a knowledge base to solve problems that would usually require a human expert thus preserving a human expert’s knowledge in its knowledge base. They can advise users as well as provide explanations to them about how they reached a particular conclusion or advice.
Following figure explain the components of expert system.
Fig: Components of Expert System
*Expertise: Knowledge obtained from Expert System
User interface: This module makes it possible for a non-expert user to interact with the expert system and find a solution to the problem.
Knowledge base: The knowledge base represents facts and rules. It consists of knowledge in a particular domain as well as rules to solve a problem, procedures and intrinsic data relevant to the domain.
Inference engine: The function of the inference engine is to fetch the relevant knowledge from the knowledge base, interpret it and to find a solution relevant to the user’s problem. The inference engine acquires the rules from its knowledge base and applies them to the known facts to find new facts. Inference engines can also include an explanation and Knowledge acquisition and learning module.
Explanation module: This module helps the expert system to give the user an explanation about how the expert system reached a particular conclusion.
Knowledge acquisition and learning module: The function of this component is to allow the expert system to acquire more and more knowledge from various sources and store it in the knowledge base.
Examples: There are many examples of expert system. Some of them are given below:
MYCIN: It is one of the earliest expert systems. It can identify various bacteria that can cause severe infections and can also recommend drugs based on the person’s weight.
DENDRAL: It was an artificial intelligence based expert system used for chemical analysis. It used a substance’s spectrographic data to predict it’s molecular structure.
R1/XCON: It could select specific software to generate a computer system demand by the user.
PXDES: It could easily determine the type and the degree of lung cancer in a patient based on the data.
CaDet: It is a clinical support system, that could identify cancer in its early stages in patients.
DXplain: It was also a clinical support system that could suggest a variety of diseases based on the findings of the doctor.
Characteristics of an expert system:
- Human experts are perishable but an expert system is permanent.
- It helps to distribute the expertise of a human.
- One expert system may contain knowledge from more than one human expert thus making the solutions more efficient.
- It decreases the cost of consulting an expert for various domains such as medical diagnosis.
- They use a knowledge base and inference engine.
- Expert systems can solve complex problems by finding new facts through existing facts of knowledge.
- Expert systems were among the first truly successful forms of artificial intelligence (AI) software.
Limitations:
- Don’t have human-like decision making power
- Can’t possess (have complete power over, own) human capabilities
- Can’t produce correct result from less amount of knowledge
- Requires excessive training
Advantages:
- Low accessibility cost
- Fast response
- Not affected by emotions unlike humans
- Low error rate
- Capable of explaining how they reached a solution
Disadvantages:
- Expert system have no emotions
- Common sense is the main issue of the expert system
- It is developed for a specific domain
- It needs to be update manually. It does not learn itself
- Not capable to explain the logic behind the decision