Questions tagged [search]

For questions involving search algorithms and their use in artificial intelligence

Searching is a technique for problem solving commonly used in AI systems.

The searching may be conducted in a discrete solution space, whereby the permutations for possible discrete solutions are investigated in some way to determine a good solution based on some stated criteria for selection. Alternately the search may be conducted in a continuous search space, whereby the goal of the search is to converge on an optimum. The space may be a hybrid of continuous and discrete dimensions.

The acceptable reliability and accuracy of the search are elements of the search requirements. For instance, in the case of a discrete solution space, there may be an acceptable number of incorrect solutions from among a large set of problems solved. There may be answers that in some way are defined as close enough to correct. A typical example is when a certain percentage of error is allowed in IEEE floating point output of the search in continuous dimensions.

The problem may be static in that the problem does not change during the course of the search or dynamic as in the case of control systems for robotics or other kinds of interactive systems.

Early search AI work was targeted at gaming, using cames ranging in complexity from Tic-tac-toe and checkers to Sudoku, Chess, and Go.

Searching algorithms can be compared for effectiveness based on any set of criteria. Common evaluation criteria include these.

  1. Accuracy
  2. Reliability
  3. Speed
  4. Computing resource utilization

Search algorithms can be informed or uninformed, meaning that the search may be guided by information known about the probability distribution of success within the search space or not.

Examples of fundamental tree searches taught in undergraduate computer science curricula are breadth first search, depth first search, best first search. There are many algorithmic approaches, ways to parallelism searching to improve speed, architectures to support searching, and variants of these.

159 questions
19
votes
1 answer

What is the difference between tree search and graph search?

I have read various answers to this question at different places, but I am still missing something. What I have understood is that a graph search holds a closed list, with all expanded nodes, so they don't get explored again. However, if you apply…
xava
  • 423
  • 1
  • 3
  • 9
15
votes
1 answer

What is the fringe in the context of search algorithms?

What is the fringe in the context of search algorithms?
tahasozgen
  • 287
  • 1
  • 2
  • 7
14
votes
3 answers

What are the differences between A* and greedy best-first search?

What are the differences between the A* algorithm and the greedy best-first search algorithm? Which one should I use? Which algorithm is the better one, and why?
Marosh Fatima
  • 375
  • 1
  • 3
  • 10
13
votes
1 answer

Why is A* optimal if the heuristic function is admissible?

A heuristic is admissible if it never overestimates the true cost to reach the goal node from $n$. If a heuristic is consistent, then the heuristic value of $n$ is never greater than the cost of its successor, $n'$, plus the successor's heuristic…
Wizard
  • 303
  • 1
  • 2
  • 6
13
votes
3 answers

Why teaching only search algorithms in a short introductory AI course?

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…
nbro
  • 39,006
  • 12
  • 98
  • 176
11
votes
5 answers

Are methods of exhaustive search considered to be AI?

Some programs do exhaustive searches for a solution while others do heuristic searches for a similar answer. For example, in chess, the search for the best next move tends to be more exhaustive in nature whereas, in Go, the search for the best next…
WilliamKF
  • 2,493
  • 1
  • 24
  • 31
10
votes
2 answers

What are the limitations of the hill climbing algorithm and how to overcome them?

What are the limitations of the hill climbing algorithm? How can we overcome these limitations?
Abbas Ali
  • 566
  • 3
  • 10
  • 17
10
votes
3 answers

Why does Monte Carlo work when a real opponent's behavior may not be random

I am learning about Monte Carlo algorithms and struggling to understand the following: If simulations are based on random moves, how can the modeling of the opponent's behavior work well? For example, if I have a node with 100 children, 99 of…
kgautron
  • 211
  • 1
  • 6
10
votes
8 answers

Why is search important in AI?

Why is search important in AI? What kinds of search algorithms are used in AI? How do they improve the result of an AI?
Zoltán Schmidt
  • 623
  • 7
  • 14
9
votes
4 answers

When to choose Stochastic Hill Climbing over Steepest Hill Climbing?

Stochastic Hill Climbing generally performs worse than Steepest Hill Climbing, but what are the cases in which the former performs better?
9
votes
2 answers

Why is depth-first search an artificial intelligence algorithm?

I'm new to the artificial intelligence field. In our first chapters, there is one topic called "problem-solving by searching". After searching for it on the internet, I found the depth-first search algorithm. The algorithm is easy to understand, but…
himari
  • 93
  • 5
9
votes
2 answers

What is the difference between search and learning?

I came across an article, The Bitter Truth, via the Two Minute Papers YouTube Channel. Rich Sutton says... One thing that should be learned from the bitter lesson is the great power of general purpose methods, of methods that continue to scale with…
8
votes
2 answers

Are there local search algorithms that make use of memory to give better solutions?

I have been studying local search algorithms such as greedy hill-climbing, stochastic hill-climbing, simulated annealing, etc. I have noticed that most of these methods take up very little memory as compared to systematic search techniques. Are…
8
votes
2 answers

What is the difference between search and planning?

I'm reading the book Artificial Intelligence: A Modern Approach (by Stuart Russell and Peter Norvig). However, I don't understand the difference between search and planning. I was more confused when I saw that some search problems can be determined…
7
votes
2 answers

Can someone help me to understand the alpha-beta pruning algorithm?

I understand the minimax algorithm, but I am unable to understand deeply the minimax algorithm with alpha-beta pruning, even after having looked up several sources (on the web) and having tried to read the algorithm and understand how it works. Do…
Sunshine
  • 71
  • 1
  • 2
1
2 3
10 11