Branches of AI
1. Machine learning and pattern
recognition:
This is perhaps the most popular form of AI out there.
We design and develop software that can learn from data. Based on these
learning models, we perform predictions on unknown data. One of the main
constraints here is that these programs are limited to the power of the data.
If the dataset is small, then the learning models would be limited as well.
Let's see what a typical
machine learning system looks like:
When a system makes an observation, it is trained to
compare it with what it has already seen in the form of a pattern. For example,
in a face recognition system, the software will try to match the pattern of
eyes, nose, lips, eyebrows, and so on in order to find a face in the existing
database of users.
2. Logic-based AI:
Mathematical logic is used to execute computer
programs in logic-based AI. A program written in logic-based AI is basically a
set of statements in logical form that express facts and rules about a
particular problem domain. This is used extensively in pattern matching,
language parsing, semantic analysis, and so on.
3. Search:
The Search techniques are used extensively in AI
programs. These programs examine a large number of possibilities and then pick
the most optimal path. For example, this is used a lot in strategy games such
as Chess, networking, resource allocation, scheduling, and so on.
4. Knowledge representation:
The facts about the world around us need to be represented
in some way for a system to make sense of them. The languages of mathematical
logic are frequently used here. If knowledge is represented efficiently,
systems can be smarter and more intelligent. Ontology is a closely related
field of study that deals with the kinds of objects that exist. It is a formal definition
of the properties and relationships of the entities that exist in a particular
domain. This is usually done with a particular taxonomy or a hierarchical
structure of some kind. The following diagram shows the difference between
information and knowledge:
5. Planning:
This field deals with optimal planning
that gives us maximum returns with minimal costs. These software programs start
with facts about the particular situation and a statement of a goal. These
programs are also aware of the facts of the world, so that they know what the
rules are. From this information, they generate the most optimal plan to
achieve the goal.
6. Heuristics:
A
heuristic is a technique used to solve a given problem that's practical and
useful in solving the problem in the short term, but not guaranteed to be
optimal. This is more like an educated guess on what approach we should take to
solve a problem. In AI, we frequently encounter situations where we cannot
check every single possibility to pick the best option. So we need to use heuristics
to achieve the goal. They are used extensively in AI in fields such as robotics,
search engines, and so on.
7. Genetic programming:
Genetic programming is a way to get
programs to solve a task, by mating programs and selecting the fittest. The
programs are encoded as a set of genes, using an algorithm to get a program
that is able to perform the given task really well.