Sakshi Kumari (Project Work)
Sakshi Kumari (Project Work)
Abstract— There is an endless exciting new research in the field of Artificial Intelligence; this
review is far from a global summary of the progress made in the last decade. There also
scores of fields within AI. Much of the research covered in this review could be applicable to
developing strong AI. Creating a machine capable of understanding the concepts behind the
words is important because it allows for more humanlike conversations as well as improved
translation. There is also fascinating research into detecting human emotions through audio and
video cues. In particular, this paper provides a full review of recent developments within the
field of artificial intelligence and its applications. The work is targeted at new aspirants to the
artificial intelligence field. It also reminds the researchers about some of the issues they
have already known.
I. INTRODUCTION:
The father of Artificial Intelligence, John McCarthy states a definition for AI which says that
“Artificial Intelligence is the science and engineering of making intelligent machines,
especially intelligent computer programs. Artificial Intelligence (AI) is intelligence exhibited
by machines. In computer science the field of AI defines itself as the study of “intelligent
agents”. Generally, the term “AI” is used when a machine simulate functions that human’s
associate with other human minds such as learning and problem solving. In the last few years,
there has been an arrival of large amount of software that utilizes elements of artificial
intelligence. Subfields of AI such as Machine Learning, Natural Language processing, Image
Processing and Data
mining have become an important topic for today’s tech giants. Machine Learning is actively
being used in Google’s predictive search bar, in the Gmail spam filer, in Netflix’s show
suggestions. Natural Language Processing exists in Apple’s Siri and Google voice. Image
Processing is necessary for facebook’s facial recognition tagging software and in Google’s self
driving cars. Data Mining has become a slang for software industry due to the mass amounts of
data being collected every day. Companies like Facebook and Google collect large amounts of
statistics from users every second and need a way to interpret the data they receive.
Artificial Intelligence has already proven to be useful new tool in today’s technology heavy
culture.
II. HISTORICAL PERSPECTIVE:
During 20th century a brief history of AI can be given as:
1923 – Karel Kapek’s play named “Rossum’s University Robots (RUR)” opens in London, first
use of the word “robot” in English.
1945 – Isaac Asimov, alumni at Columbia University, invented the term Robotics.
1950 –Turing Test for evaluation of intelligence was introduced by Alan Turing. Claude
Shannon published detailed Analysis of chess playing as a search.
1956 – John McCarthy coined the term Artificial Intelligence.
1958 – John McCarthy invents LISP programming language for AI.
1964 – Danny Bobrow’s thesis at MIT showed that computers can understand natural language
well enough to solve algebra word problems correctly.
1979 – The First Computer controlled autonomous vehicle, Sanford Cart was built.
1984 – Dennett discusses the frame problem and how it relates to the difficulties arising from
attempting to give robots common sense.
1990 – Major advances in all area of AI:
-> Significant demonstrations in Machine Learning.
-> Case-based reasoning.
-> Multi-agent planning.
-> Scheduling.
-> Data mining, web crawler.
-> Natural Language understanding and translation.
-> Vision, virtual reality.
-> Games.
1997 – The Deep Blue Chess Program beats the World Chess Champion, Gerry Kasparov
2000 – Interactive Robot Pets become commercially available. MIT displays a robot with a face
name – Kismet that expresses emotions.
The two major approaches that has been developed for the regular AI system are: “top down”
approach which started with the higher level functions and implemented those, and the bottom
up” approach which looked at the neuron level and worked up to create higher level functions.
1.What is Artificial Intelligence?
Artificial Intelligence has various applications in today's society. It is becoming essential for
today's time because it can solve complex problems with an efficient way in multiple industries,
such as Healthcare, entertainment, finance, education, etc. AI is making our daily life more
comfortable and fast.
Following are some sectors which have the application of Artificial Intelligence:
1. AI in Astronomy
o Artificial Intelligence can be very useful to solve complex universe problems. AI
technology can be helpful for understanding the universe such as how it works,
origin, etc.
2. AI in Healthcare
o In the last, five to ten years, AI becoming more advantageous for the healthcare
industry and going to have a significant impact on this industry.
o Healthcare Industries are applying AI to make a better and faster diagnosis than
humans. AI can help doctors with diagnoses and can inform when patients are
worsening so that medical help can reach to the patient before hospitalization.
3. AI in Gaming
o AI can be used for gaming purpose. The AI machines can play strategic games like
chess, where the machine needs to think of a large number of possible places.
4. AI in Finance
o AI and finance industries are the best matches for each other. The finance industry is
implementing automation, chatbot, adaptive intelligence, algorithm trading, and
machine learning into financial processes.
5. AI in Data Security
o The security of data is crucial for every company and cyber-attacks are growing very
rapidly in the digital world. AI can be used to make your data more safe and secure.
Some examples such as AEG bot, AI2 Platform,are used to determine software bug
and cyber-attacks in a better way.
6. AI in Social Media
o Social Media sites such as Facebook, Twitter, and Snapchat contain billions of user
profiles, which need to be stored and managed in a very efficient way. AI can
organize and manage massive amounts of data. AI can analyze lots of data to identify
the latest trends, hashtag, and requirement of different users.
8. AI in Automotive Industry
o Some Automotive industries are using AI to provide virtual assistant to their user for
better performance. Such as Tesla has introduced TeslaBot, an intelligent virtual
assistant.
o Various Industries are currently working for developing self-driven cars which can
make your journey more safe and secure.
9. AI in Robotics:
o Artificial Intelligence has a remarkable role in Robotics. Usually, general robots are
programmed such that they can perform some repetitive task, but with the help of AI,
we can create intelligent robots which can perform tasks with their own experiences
without pre-programmed.
o Humanoid Robots are best examples for AI in robotics, recently the intelligent
Humanoid robot named as Erica and Sophia has been developed which can talk and
behave like humans.
10. AI in Entertainment
o We are currently using some AI based applications in our daily life with some
entertainment services such as Netflix or Amazon. With the help of ML/AI
algorithms, these services show the recommendations for programs or shows.
11. AI in Agriculture
o Agriculture is an area which requires various resources, labor, money, and time for
best result. Now a day's agriculture is becoming digital, and AI is emerging in this
field. Agriculture is applying AI as agriculture robotics, solid and crop monitoring,
predictive analysis. AI in agriculture can be very helpful for farmers.
12. AI in E-commerce
o AI is providing a competitive edge to the e-commerce industry, and it is becoming
more demanding in the e-commerce business. AI is helping shoppers to discover
associated products with recommended size, color, or even brand.
13. AI in education:
o AI can automate grading so that the tutor can have more time to teach. AI chatbot
can communicate with students as a teaching assistant.
o AI in the future can be work as a personal virtual tutor for students, which will be
accessible easily at any time and any place.
Conclusion:
AI is at the centre of a new enterprise to build computational models of intelligence. The main
assumption is that intelligence (human or otherwise) can be represented in terms of symbol
structures and symbolic operations which can be programmed in a digital computer. There is
much debate as to whether such an appropriately programmed computer would be a mind, or
would merely simulate one, but AI researchers need not wait for the conclusion to that debate,
nor for the hypothetical computer that could model all of human intelligence. Aspects of
intelligent behaviour, such as solving problems, making inferences, learning, and understanding
language, have already been coded as computer programs, and within very limited domains,
such as identifying diseases of soybean plants, AI programs can outperform human experts.
Now the great challenge of AI is to find ways of representing the commonsense knowledge and
experience that enable people to carry out everyday activities such as holding a wide-ranging
conversation, or finding their way along a busy street. Conventional digital computers may be
capable of running such programs, or we may need to develop new machines that can support
the complexity of human thought.
→Artificial neural networks (ANNs), usually simply called neural networks (NNs), are
computing systems vaguely inspired by the biological neural networks that constitute animal
brains.
An artificial neural network is an interconnected group of nodes, inspired by a simplification of
neurons in a brain. Here, each circular node represents an artificial neuron and an arrow
represents a connection from the output of one artificial neuron to the input of another.
An ANN is based on a collection of connected units or nodes called artificial neurons, which
loosely model the neurons in a biological brain. Each connection, like the synapses in a
biological brain, can transmit a signal to other neurons. An artificial neuron that receives a
signal then processes it and can signal neurons connected to it. The "signal" at a connection is a
real number, and the output of each neuron is computed by some non-linear function of the sum
of its inputs. The connections are called edges. Neurons and edges typically have a weight that
adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a
connection. Neurons may have a threshold such that a signal is sent only if the aggregate signal
crosses that threshold. Typically, neurons are aggregated into layers. Different layers may
perform different transformations on their inputs. Signals travel from the first layer (the input
layer), to the last layer (the output layer), possibly after traversing the layers multiple times.
Abstract— Genetic algorithm is a technique used for estimating computer models based on
methods adapted from the field of genetics in biology. To use this technique, one encodes
possible model behaviors into ''genes". After each generation, the current models are rated and
allowed to mate and breed based on their fitness. In the process of mating, the genes are
exchanged, crossovers and mutations can occur. The current population is discarded and its
offspring forms the next generation. In this paper we will provide review of different problems
that can be solved by Genetic Algorithm approach.
INTRODUCTION- Genetic Algorithms (GA’s) are adaptive methods which may be used to
solve search and optimization problems. They are based on the genetic processes of biological
organisms. Over many generations, natural populations evolve according to the principles of
natural selection and survival of the fittest, first clearly stated by Charles Darwin in The Origin
of Species [DAV91]. By mimicking this process, genetic algorithms are able to find solutions
to real world problems, if they have been suitably encoded. For example, GA’s can be used to
design bridge structures, for maximum strength/weight ratio, or to determine the least wasteful
layout for cutting shapes from cloth. They can also be used for online process control, such as
in a chemical plant, or load balancing on a multiprocessor computer system. The basic
principles of GA’s were first laid down rigorously by Holland in 1975. [SIV08] GA’s simulate
those processes in natural world which are essential to evolution. Exactly which biological
processes are essential for evolution, and which processes have little or no role to play is still a
matter for research but the basics are clear. In nature, individuals in a population compete with
each other for resources such as food, water and shelter. Also, members of the same group
often compete to catch the attention of a mate. Those individuals which are most successful in
surviving and attracting mates will have relatively larger number of offspring’s. Poorly
performing individuals will produce few or even no offspring at all [MIT96]. This means that
the genes from the highly adapted individuals will spread to a growing number of individuals in
each following generation. The combination of good characteristics from different ancestors
can sometimes produce super fit offspring, whose fitness is greater than that of either parent. In
this way, species evolve to become more and better suited to their environment. Genetic
algorithms use a direct analogy to natural behavior. They work with a population of individuals,
each representing a possible solution to a given problem [SIV08]. Each individual is assigned a
fitness score according to how good a solution to the problem it is. The highly fit individuals
are given opportunities to reproduce, by cross breeding with other individuals in the population.
This produces new individuals as offspring, which share some features taken from each parent.
The least fit members of the population are less likely to get selected for reproduction, and so
die out. In this paper we will provide review of different problems that can be solved by
Genetic Algorithm approach.
-->First of all, we have to describe the snake implementation. It must have some neural
network structure that will decide what action to take from any given input. This NN is called
DNA in my project. This class has matrixes with weights and a separate ones with bias, which
represent each layer of NN. There are methods responsible for computing output signal,
mutation and crossover. These last two will be described later in the script. DNA class is the
most important part of the snake – it is its “brain” that makes every decision. The next step is
creating a function that allows us to calculate its performance. The performance should include
the number of moves the snake executed without dying and scores.
• For the first step we need to randomly generate the population of objects, in our
case the population of snakes. Randomly means, that his DNA’s matrixes are filled
with random float values between -1 and 1. In my case optimum size is 2000 snakes
in population.Next, we let them play one after another. We start with the first one
and after he dies, we start with another one repeating it until the last one dies. So now
we know how many steps were executed and how many apples he ate.
• Now we calculate the “fitness” of each snake. It helps us see which one performed the
best and which one should have the higher probability of being chosen for breeding.
How the fitness is calculated is described in another section.
• Selection. Here we choose which pair of snakes – “parents” – will give their DNA to
the new snake – “child”. The probability of being chosen is based on fitness. The bigger
it is the bigger the chances are. When we choose parents, we crossover their DNA – it
means we take some of the weights from the father and some from the mother and apply
it to their child. Again, selection types are described in another section. We repeat this
process as long as we gain a new population.
• Every new snake after inheriting DNA from his parents goes through the process of
mutation. We set % chances of mutation occurring – it is called “mutation rate”. Each
value (weight and bias) have the same chance to mutate. If some weight mutates it
changes its value to random value between -1 and 1. There are few different types of
mutation that are covered later.
• We repeat steps 2 to 5 as long as we get the result we desire.
Randomly
Generate population
Calculate fitnesses
yes
Selection
Crossover and
mutation
No
Do we have
new
population
ADVANTAGES, LIMITATIONS AND APPLICATIONS OF GENETIC ALGORITHM
A.Advantages of Genetic Algorithm:
The advantages of genetic algorithm are:
1. Parallelism.
2. Liability.
3. Solution space is wider.
4. The fitness landscape is complex.
5. Easy to discover global optimum.
6. The problem has multi objective function.
7. Only uses function evaluations.
8. Easily modified for different problems.
9. Handles noisy functions well.
10. Handles large, poorly understood search spaces easily.
11. Good for multi-modal problems, returns a group of solutions.
12. Very vigorous to difficulties in the evaluation of the objective function.
13. They are more resistant to becoming trapped in local optima.
14. They perform very well for large-scale optimization problems.
15. Can be employed for a wide variety of optimization problems.
Genetic algorithms have been used for difficult problems (such as NP-hard problems), for
machine learning and also for evolving simple programs. They have been also used for some art
works, for evolving pictures and music. A few applications of GA are as follows:
• Strategy planning.
• Robot trajectory planning.
• TSP and sequence scheduling.
• Function Optimizations.
• Control–gas pipeline, missile evasion.
• Aircraft design and communication networks.
• Scheduling–manufacturing.
• Machine Learning–Designing neural networks, both architecture and weights, improving
classification algorithms.
CONCLUSION:
The basic concept of GAs is designed to simulate processes in natural system necessary for
evolution, specifically those that follow the principles first laid down by Charles Darwin of
survival of the fittest. As such they represent an intelligent exploitation of a random search
within a defined search space to solve a problem. Genetic Algorithms has been widely studied,
experimented and applied in many fields in engineering worlds. In this paper we have studied
different problems that can be solved by Genetic Algorithm approach.
In a paper, researchers from the University of Technology, Poland used a neural network
structure that decides what action to take from any given input. The Neural Network is called
DNA by the researchers. The DNA class is the most important part of the snake as it is the
“brain” that makes every decision.
The class has matrixes with weights and separate ones with bias, which represent each layer of
the neural network. The next step is followed by creating a function that allows calculating its
performance, where the performance includes the number of moves the snake executed without
dying and scores.
The researchers used neural networks with 1 hidden layer with 6 neurons and the genetic
algorithm to find out which method and parameters are the best. At first, they randomly
generated the population of snakes with an optimum size of 2000. Then they let the snakes play
in order to understand how many steps were executed and how many apples the snake ate.
This led to the calculation of fitness of each snake that helps to see which one performed the
best and which one should have a higher probability of being chosen for breeding. For the
Selection part, the researchers chose a pair of snakes (parents) that will give DNA to the new
snake (child) where the probability of being chosen is based on fitness. After choosing the
parents, the researchers crossover their DNA by taking some of the weights from the father and
some from the mother and applying it to their child.
After selection, the next step is a mutation which follows when every new snake inherits the
neural network from parents. Then the playing and mutation processes are repeated in order to
get the best results.
Fitness
A snakes fitness is dependent on how long the snake stays alive as well as its score. However
they are not equally important, having a higher score is rewarded more than a snake who
simply stays alive. There is the possibility however that a snake may evolve a strategy where it
loops in a certain pattern and never dies. Even though having a high score is prioritized more, if
a snake can stay alive forever then that is a clear problem.
When two snakes are selected for reproduction, what happens is that the snakes brains are
crossed with each other. What this means is that part of one parents brain is mixed with part of
the second parents and the resulting brain is assigned to the child. After the crossover the brain
is also mutated according to a mutation rate. The mutation rate determines how much of the
brain will be randomly altered.
Graphing
The graph represents the score of the best snake from each generations. In some generations the
graph may dip below the previous, this is because even though the score may have been worse,
some trait allowed the snake to live longer and gain a higher overall fitness.