Page 17 - DCAP310_INTRODUCTION_TO_ARTIFICIAL_INTELLIGENCE_AND_EXPERT_SYSTEMS
P. 17
Unit 1: Overview of Artificial Intelligence
There is no use in generalizing f because we know it completely. The only potential benefit Notes
would be in reducing the size of the representation of f. The representation of f is a fairly simple
algorithm, which takes little space, so I don’t think that’s useful either. In addition, neural
networks produce a fixed-size output, whereas paths are variable sized.
Genetic Algorithms: Genetic Algorithms allow to explore a space of parameters to find solutions
that score well according to a “fitness function”. They are a way to implement function
optimization: given a function g(x) (where x is typically a vector of parameter values), find the
value of x that maximizes (or minimizes) g(x). This is an unsupervised learning problem. The
right answer is not known beforehand. For path finding, given a starting position and a goal, x
is the path between the two and g(x) is the cost of that path. Simple optimization approaches like
hill-climbing will change x in ways that increase g(x). Unfortunately, in some problems, we
reach “local maxima”, values of x for which no nearby x has a greater value of g, but some
faraway value of x is better. Genetic algorithms improve upon hill-climbing by maintaining
multiple x, and using evolution-inspired approaches like mutation and crossover to alter x. Both
hill-climbing and genetic algorithms can be used to learn the best value of x. For path finding,
however, we already have an algorithm (A*) to find the best x, so function optimization approaches
are not needed.
Genetic Programming takes genetic algorithms a step further, and treats programs as the
parameters. For example, we would breed path finding algorithms instead of paths, and your
fitness function would rate each algorithm based on how well it does. For path finding, we
already have a good algorithm and we do not need to evolve a new one.
It may be that as with neural networks, genetic algorithms can be applied to some portion of the
path finding problem.
Reinforcement Learning: Like genetic algorithms, Reinforcement Learning is an unsupervised
learning problem. However, unlike genetic algorithms, agents can learn during their lifetimes;
it’s not necessary to wait to see if they “live” or “die”. Also, it’s possible for multiple agents
experiencing different things to share what they’ve learned. Reinforcement learning has some
similarities to the core of A*. In A*, reaching the end goal is propagated back to mark all the
choices that were made along the path; other choices are discarded. In reinforcement learning,
every state can be evaluated and its reward (or punishment) is propagated back to mark all the
choices that were made leading up to that state. The propagation is made using a value function,
which is somewhat like the heuristic function in A*, except that it’s updated as the agents try new
things and learn what works. One of the key advantages of reinforcement learning and genetic
algorithms over simpler approaches is that there is a choice made between exploring new
things and exploiting the information learned so far. In genetic algorithms, the exploration via
mutation; in reinforcement learning, the exploration is via explicitly allowing the probability
of choosing new actions. As with genetic algorithms, we don’t believe reinforcement learning
should be used for the path finding problem itself, but instead as a guide for teaching agents
how to behave in the game world.
1.4.2 Related Fields of AI
Following may be the related fields of AI.
(a) Robotics
(b) Computer Vision
(c) Image Processing
(d) Voice Recognition
(e) Neural Networks
LOVELY PROFESSIONAL UNIVERSITY 11