breadth-first depth-first best-first

Computer Science An Overview _J. Glenn Brookshear _11th Edition

For our example in Figure 11.7, we chose a starting configuration that produces a
manageable search tree. In contrast, the search tree generated in an attempt to
solve a more complex problem could grow much larger. In a game of chess, there
are twenty possible first moves so the root node of the search tree in such a case
would have twenty children rather than the three in the case of our example.
Moreover, a game of chess can easily consist of thirty to thirty-five pairs of
moves. Even in the case of the eight-puzzle, the search tree can become quite
large if the goal is not quickly reached. As a result, developing a full search tree
can become as impractical as representing the entire state graph.

One strategy for countering this problem is to change the order in which the
search tree is constructed. Rather than building it in a breadth-first manner
(meaning that the tree is constructed layer by layer), we can pursue the more
promising paths to greater depths and consider the other options only if these
original choices turn out to be false leads. This results in a depth-first construc-
tion of the search tree, meaning that the tree is constructed by building vertical
paths rather than horizontal layers. More precisely, this approach is often called
a best-first construction in recognition of the fact that the vertical path chosen
for pursuit is the one that appears to offer the best potential.

The best-first approach is similar to the strategy that we as humans would
apply when faced with the eight-puzzle. We would rarely pursue several options
at the same time, as modeled by the breadth-first approach. Instead, we probably
would select the option that appeared most promising and follow it first. Note
that we said appeared most promising. We rarely know for sure which option is
best at a particular point. We merely follow our intuition, which may, of course,
lead us astray. Nonetheless, the use of such intuitive information seems to give
humans an advantage over the brute-force methods in which each option was
given equal attention, and it would therefore seem prudent to apply intuitive
methods in automated control systems.

o this end, we need a way of identifying which of several states appears to
be the most promising. Our approach is to use a heuristic, which in our case is
a quantitative value associated with each state that attempts to measure the “dis-
tance” from that state to the nearest goal. In a sense, our heuristic is a measure of
projected cost. Given a choice between two states, the one with the smaller
heuristic value is the one from which a goal can apparently be reached with the
least cost. This state, therefore, would represent the direction we should pursue.

A heuristic should have two characteristics. First, it should constitute a rea-
sonable estimate of the amount of work remaining in the solution if the associ-
ated state were reached. This means that it can provide meaningful information
when selecting among options—the better the estimate provided by the heuris-
tic, the better will be the decisions that are based on the information. Second, the
heuristic should be easy to compute. This means that its use has a chance of ben-
efiting the search process rather than of becoming a burden. If computing the heuristic is extremely complicated, then we might as well spend our time conducting a breadth-first search.

时间: 2024-10-10 21:12:33

breadth-first depth-first best-first的相关文章

美国政府关于Google公司2013年度的财务报表红头文件

请管理员移至新闻版块,谢谢! 来源:http://www.sec.gov/ 财务报表下载↓ 此文仅作参考分析. 10-K 1 goog2013123110-k.htm FORM 10-K UNITED STATES SECURITIES AND EXCHANGE COMMISSION Washington, D.C. 20549     FORM 10-K (Mark One)       ý ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF TH

3.29

高数, 基本的概率统计- 基本数据结构 能用JS写出linked list, stack, queue, (binary)tree, graph, hashtable么?- 基本算法 能用JS实现各种search(linear, binary..), 各种sort(bubble, insertion, merge, quick, selection), 以及树的搜索(Breadth First/Depth First)和遍历(3种顺序)么?- 设计模式 知道什么是singleton, facto

Rock the Tech Interview

Today, Infusion held a talk in Columbia University about tech interview. Talker: Nishit Shah @ Infusion, Techinical Account Manager, Dev -> Team Lead -> Manager 3 Real Questions Smart? Gets Things Done? Fit the team? The Introductions Tell me about

USER STORIES AND USE CASES - DON’T USE BOTH

We’re in Orlando for a working session as part of the Core Team building BABOK V3 and over dinner this evening we got to discussing the relationship between user stories and use cases (it wasn't the only thing we discussed, we are also a social group

Don’t Be Clever

? Don't Be Clever Eben Hewitt gEnERAl inTElligEnCE, RESouRCEFulnESS, thoughtfulness, a breadth and depth of knowledge, and an affinity for precision are laudable qualities in anyone, and particularly prized in architects. Cleverness, however, carries

Huge CSV and XML Files in Python, Error: field larger than field limit (131072)

Huge CSV and XML Files in Python January 22, 2009. Filed under python twitter facebook pinterest linkedin google+ I, like most people, never realized I'd be dealing with large files. Oh, I knew there would be some files with megabytes of data, but I

[心平气和读经典]The TCP/IP Guide(005)

The TCP/IP Guide[Page 47, 48, 49] I created The TCP/IP Guide to provide you with an unparalleled breadth and depth of infor mation on TCP/IP. This meant including a lot of content in this Guide -- it has over 600 sections, subsections and individual

(转)Applications of Reinforcement Learning in Real World

Applications of Reinforcement Learning in Real World 2018-08-05 18:58:04 This blog is copied from: https://towardsdatascience.com/applications-of-reinforcement-learning-in-real-world-1a94955bcd12 There is no reasoning, no process of inference or comp

Linux基础_软件包管理

一,软件包管理 # 使用rpm安装及移除软件RPM 1:rpm:Red-Hat Package Manager 2:rpm文件形式 yum-metadata-parser-1.1.2-16.el6.x86_64.rpm 第1部分是name,表示这个rpm软件包的名称: # yum-metadata-parser 第2部分是version,表示这个rpm软件包的版本编号: # 1.1.2 第3部分是release,表示这个rpm软件包的版本发布次数(修正号码): # 16 第4部分是archite

Breadth First Search VS Depth First Search (Algorithms)

First lets recall the concept for BFS and DFS. I will use below Binary Tree as an example. Before that, lets go through some of the concepts of Trees and Binary Trees quickly. Concept of Binary Trees A binary tree is made of nodes, where each node co