13
$\begingroup$

I understood that the concept of search is important in AI. There's a question on this website regarding this topic, but one could also intuitively understand why. I've had an introductory course on AI, which lasted half of a semester, so of course there wasn't time enough to cover all topics of AI, but I was expecting to learn some AI theory (I've heard about "agents"), but what I actually learned was basically a few search algorithms, like:

  • BFS
  • Uniform-cost search
  • DFS
  • Iterative-deepening search
  • Bidirectional search

these search algorithms are usually categorized as "blind" (or "uninformed"), because they do not consider any information regarding the remaining path to the goal.

Or algorithms like:

  • Heuristic search
  • Best-first search
  • A
  • A*
  • IDA*

which usually fall under the category of "informed" search algorithms, because they use some information (i.e. "heuristics" or "estimates") about the remaining path to the goal.

Then we also learned "advanced" search algorithms (specifically applied to the TSP problem). These algorithms are either constructive (e.g., nearest neighbor), local search (e.g., 2-opt) algorithms or meta-heuristic ones (e.g., ant colony system or simulated annealing).

We also studied briefly a min-max algorithm applied to games and an "improved" version of the min-max, i.e. the alpha-beta pruning.

After this course, I had the feeling that AI is just about searching, either "stupidly" or "more intelligently".

My questions are:

  • Why would one professor only teach search algorithms in AI course? What are the advantages/disadvantages? The next question is very related to this.

  • What's more than "searching" in AI that could be taught in an introductory course? This question may lead to subjective answers, but I'm actually asking in the context of a person trying to understand what AI really is and what topics does it really cover. Apparently and unfortunately, after reading around, it seems that this would still be subjective.

  • Are there AI theories that could be taught in this kind of course?

$\endgroup$
2
  • $\begingroup$ You should probably change your proposition that the listed search algorithms are called "blind" - because it's wrong. "blind" is usually used as a synonym for being "uninformed". However, A*, IDA*, and Heuristic search are by definition "informed" search algorithms (because they base upon heuristics", so they are not blind. Further, are you sure the "A algorithm" exists? I only know A* and I was not able to find any mentioning of this algortihm in the web. If it actually exists, a link would be nice (maybe in the comments). $\endgroup$
    – Prof.Chaos
    Commented Jan 22, 2017 at 13:13
  • $\begingroup$ @Prof.Chaos The A algorithm is A* when you don't know that the heuristic is optimal. Indeed the * in A* should evoke something in our heads. Regarding the "blind" argument, it's probably unfair to consider A* as blind as BFS or DFS, so I agree with you. $\endgroup$
    – nbro
    Commented Jan 22, 2017 at 14:13

3 Answers 3

9
$\begingroup$

There is lots of misconceptions about AI, specifically the idea that it is about making computers "think" like humans, simulating brain, the sci-fi robots taking over the world, all the philosophical discussions around brain as machine etc. The practice/reality of AI is about "using computing to solve problems" which basically means you take any problem, represent it as a computing problem and then design the algorithm to solve the computing problem which lead to solving the original problem. These search algorithms are general purpose algorithms for general purpose computing problems i.e any real world problem can be represented by these general purpose computing problem and then these algorithms can be used to solve them.

Remember, its about problem solving and its about general purpose computing problems that can represent any real world problem.

$\endgroup$
7
$\begingroup$

What it comes down to is that most AI problems can be characterized as search problems. Let's just go through some examples:

  • Object recognition & scene building (e.g. the process of taking audio-visual input of your surroundings and understanding it in a 3D and contextual sense) can be treated as searching for known objects in the input.
  • Mathematical problem solving can be treated as searching for a solution.
  • Playing a video game can be treated as searching for the correct response to a given gamestate.

Even rudimentary chatbots can be characterized as finding the 'correct' response to a given input phrase to emulate human language!

Because of this generalization of search, search algorithms were among some of the first algorithms considered 'AI', and often form the basis of many AI teaching courses. On top of this search algorithms are intuitive and non-mathematical, which makes the somewhat terrifying field of AI accessible. This might sound like hyperbole, but I guarantee that if your lecturer had opened with Manifold Learning Techniques half of your class would have bolted for the door by the time they mentioned 'eigenvalue of the covariance matrix'.

Now search algorithms aren't the only way to address these problems. I recommend every AI practitioner is familiar with the notion of Data Science and Machine Learning Algorithms. ML is often related to search algorithms but the techniques they use can vary heavily from iterative building of a classifier/regression (e.g. C4.5 builds a decision tree), meta-heuristics as you noted, and classifiers/regression that are statically generated from analysis of training data (e.g. Naive Bayesian is literally a classifier built on Bayesian analysis of the given data assuming that input fields are independent - this is the 'naivety' from which it gets its name). Often ML algorithms are developed in AI research groups and can sometimes be designed for specific problems instead of being general form algorithms. In contrast to the general field of AI, which is often centered on Intelligence problems and is therefore (in my view) vulnerable to too much blue sky thinking, ML is applied to all sorts of real life problems and is often very practical in its design and performance driven in its evaluation.

$\endgroup$
5
$\begingroup$

Why would one professor only teach searching algorithms in AI course? What are the advantages/disadvantages?

My answer to this question is that there are lots of problems where the solution can be found using searching. Take an example of Tic Tac Toe. If you are designing an intelligent computer player for this, then what you will do is that you will form a search space and then you will search for most optimal move which can be made to conclude the game. In these, scenarios you must be aware of optimal search strategies. Let's take another example, suppose if you are driving and want to got to an unknown person's house. It's far from your place and you decide to use GPS. Your GPS will use search algorithms to find the most optimal route that you can take to reach to the destination (of course there will be lots of factors to consider like traffic, etc. but this is the basic idea).

Disadvantages are only in terms of processing and storage. For slow algorithms you will be wasting lots of CPU time and storage as well but for good and efficient algorithms, you can preserve lots of space and also execute your task very fast. Of course, just learning about searching isn't AI. There's lot more to it.

What's more than "searching" in AI that could be taught in an introductory course?

There is lots of things in AI other than searching. For example, learning techniques (supervised, unsupervised, reinforced), planning when one wants to design a system that will do certain actions independently and intelligently, representation of knowledge (known and unknown) and inference in agents which includes propositional logic and first-order logic, etc.

Are there theories behind AI that could be taught in this kind of course?

Some topics could be taught like about different types of agents (simple reflex, model based, goal based, utility based and learning agent), different types of environments in which agents work, evaluation of agents. There could be some additional introductory topics like natural language processing, expert systems, etc.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .