Solving problems by searching 利用搜尋法解決問題

Slides:



Advertisements
Similar presentations
1 Lecture 5 Properties of LTI Systems The Solution of LCCDE.
Advertisements

楊學成 老師 Chapter 1 First-order Differential Equation.
Course 1 演算法: 效率、分析與量級 Algorithms: Efficiency, Analysis, and Order
人工智能原理 第2章 搜索技术 (上).
《高级人工智能》参考书目 马少平,朱小燕。人工智能。清华大学出版社。 蔡自兴,徐光祐。人工智能及其应用。清华大学出版社。
Performance Evaluation
即兴中文讲演比赛 On-Site Speech 新型比赛项目
1. 理想的路由算法 有关路由选择协议的几个基本概念 算法必须是正确的和完整的。 算法在计算上应简单。
Chap. 4 Techniques of Circuit Analysis
Minimum Spanning Trees
An Adaptive Cross-Layer Multi-Path Routing Protocol for Urban VANET
IV. Implementation IV-A Method 1: Direct Implementation 以 STFT 為例
期末考的範圍遠遠多於期中考,要了解的定理和觀念也非常多
! 温故知新 上下文无关文法 最左推导 最右推导 自上而下 自下而上 句柄 归约 移进-归约冲突 移进-归约分析 递归下降预测分析
模式识别 Pattern Recognition
Chap5 Graph.
Excellence in Manufacturing 卓 越 制 造
Chapter 4 歸納(Induction)與遞迴(Recursion)
計算方法設計與分析 Design and Analysis of Algorithms 唐傳義
Chap5 Graph.
樹狀結構 陳怡芬 2018/11/16 北一女中資訊專題研究.
SAT and max-sat Qi-Zhi Cai.
On Some Fuzzy Optimization Problems
Chapter 6 Graph Chang Chi-Chung
The Greedy Method.
圖論 (Graph Theory) B 電機四 大鳥 B 電機四 酋長 B 電機四 炫大
Fundamentals of Physics 8/e 27 - Circuit Theory
第4章 网络互联与广域网 4.1 网络互联概述 4.2 网络互联设备 4.3 广域网 4.4 ISDN 4.5 DDN
HLA - Time Management 陳昱豪.
Course 9 NP Theory序論 An Introduction to the Theory of NP
Simulated Annealing 報告者:李怡緯 OPLAB in NTUIM.
Journal of High Speed Networks 15(2006)
Yonghui Wu, Mike Schuster, Zhifeng Chen, Quoc V. Le, Mohammad Norouzi
本章大綱 2.1 The Limit of a Function函數的極限 2.2 Limit Laws極限的性質
普通物理 General Physics 29 - Current-Produced Magnetic Field
Chapter 7 圖形與網路 資料結構導論 - C語言實作.
子博弈完美Nash均衡 我们知道,一个博弈可以有多于一个的Nash均衡。在某些情况下,我们可以按照“子博弈完美”的要求,把不符合这个要求的均衡去掉。 扩展型博弈G的一部分g叫做一个子博弈,如果g包含某个节点和它所有的后继点,并且一个G的信息集或者和g不相交,或者整个含于g。 一个Nash均衡称为子博弈完美的,如果它在每.
Informed search algorithms (接收資訊的搜尋演算法)
Symbolic Execution During Test Data Generation and Augmentation Top Paper Review Zhiyi Zhang.
樹 2 Michael Tsai 2013/3/26.
Ch07 圖形與網路 淡江大學 周清江
感謝同學們在加分題建議. 我會好好研讀+反省~
Chapter 5 Recursion.
Chp.4 The Discount Factor
資料結構 優點 缺點 1 陣列 (Array) 沒有額外變量 (例head, next,...) 運作/操作較簡單 更新資料時,若要保持順序,需要移動較大量資料 靜態結構Static (宣告時已決定了陣列元素多少,不能在程式執行期間增減元素) 2 隊列Queue (FIFO) 容易更新 加入enqueue:
高性能计算与天文技术联合实验室 智能与计算学部 天津大学
Mechanics Exercise Class Ⅰ
學習經濟模型五步驟 模型目的。 內生變數。 行為法則。 均衡。 外生衝擊 模型目的。 判斷是否為外生變數改變?
Total Review of Data Structures
Chp.4 The Discount Factor
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
中央社新聞— <LTTC:台灣學生英語聽說提升 讀寫相對下降>
VRP工具or-tools调研 王羚宇
線性規劃模式 Linear Programming Models
计算机问题求解 – 论题 算法方法 2016年11月28日.
Chp.4 The Discount Factor
Course 10 削減與搜尋 Prune and Search
Course 8 回溯、分枝與限制 Backtracking, Branch-and-Bound
精品学习网---初中频道 海量同步课件、同步备考、同步试题等资源免费下载!
鄧姚文 資料結構 第八章:圖(Graph) 鄧姚文
Efficient Query Relaxation for Complex Relationship Search on Graph Data 李舒馨
最短通路问题.
赵才荣 同济大学,电子与信息工程学院,智信馆410室
補充 數值方法 數值方法.
Data Structure.
句子成分的省略(3).
Significant Figures 有效數字
Gaussian Process Ruohua Shi Meeting
JAVA 程式設計與資料結構 第二十一章 Graph.
Presentation transcript:

Solving problems by searching 利用搜尋法解決問題

Outline 問題解決代理人 問題種類 問題公式化 範例 基本搜尋演算法 一種目標導向代理人 單一狀態(完全可被觀察) 在部分資訊下搜尋 Uninformed

Problem-solving agents 解決問題的四步驟 目標公式化Goal formulation 定義何謂成功的狀態 問題公式化Problem formulation 再給定目標的情況下有哪些可行的動作與狀態 搜尋Search 決定可能達到目標的行動順序然後決定最佳的動作 執行Execute 產生動作

Problem-solving agents The environment is static, observation, discrete, deterministic. (Open-loop system)

Example: Romania地圖 某人目前在Romania的Arad 明天有飛機要從Bucharest起飛 公式化目標: Formulate goal 準時到達Bucharest 公式化問題: Formulate problem 狀態:許多城市 動作:在城市間開車 尋找問題解法 一序列的城市, 例如: Arad, Sibiu, Fagaras, Bucharest

Example: Romania

Selecting a state space 真實世界是複雜的 為解決問題, 狀態空間必須抽象化 (Abstract) state = set of real states (Abstract) action = complex combination of real actions e.g., "Arad  Zerind" represents a complex set of possible routes, detours, rest stops, etc. The abstraction is valid if the path between two states is reflected in the real world. (Abstract) solution = set of real paths that are solutions in the real world 每一個抽象化的行動一定比原來真實的問題要簡單些

Example: The 8-puzzle states? Initial state? actions? goal test? path cost?

Example: The 8-puzzle states? locations of tiles Initial state? Any state can be initial actions? move blank left, right, up, down goal test? = goal state (given) path cost? 1 per move [Note: optimal solution of n-Puzzle family is NP-hard]

Tree search algorithms Basic idea: 在已探索的狀態下持續展開探索後繼者的狀態(expanding states) Basic search algorithms 搜尋狀態空間Search the state space 經由樹狀結構搜尋 Root=initial state. Nodes and leafs generated through successor function.

Tree search example

Tree search example

Tree search example

Implementation: general tree search

Search strategies 搜尋策略:展開節點的順序 策略的好壞可依下列量度決定: 完整性(completeness): does it always find a solution if one exists? 時間複雜度(time complexity): number of nodes generated 空間複雜度(space complexity): maximum number of nodes in memory 最佳化(optimality): does it always find a least-cost solution? Time and space complexity are measured in terms of b: maximum branching factor of the search tree d: depth of the least-cost solution m: maximum depth of the state space (may be ∞)

Uninformed search strategies 廣先搜尋Breadth-first search 一致花費搜尋Uniform-cost search 深先搜尋Depth-first search 深度限制搜尋Depth-limited search 反覆加深搜尋Iterative deepening search

Breadth-first search 逐層展開未展開過的節點 Implementation: 使用 FIFO queue, i.e., new successors go at end

Breadth-first search 逐層展開未展開過的節點 Implementation: 使用 FIFO queue, i.e., new successors go at end

Breadth-first search 逐層展開未展開過的節點 Implementation: 使用 FIFO queue, i.e., new successors go at end

Breadth-first search 逐層展開未展開過的節點 Implementation: 使用 FIFO queue, i.e., new successors go at end

Properties of breadth-first search Complete? Yes (if b is finite) Time? 1+b+b2+b3+… +bd + b(bd-1) = O(bd+1) Space? O(bd+1) (keeps every node in memory) Optimal? Yes (if cost = 1 per step) 缺點: 使用空間的問題很嚴重

Uniform-cost search 展開最少花費的節點 Implementation: (佇列順序依據路徑花費排列) Equivalent to breadth-first if step costs all equal Complete? Yes Time? O(bceiling(C*/ ε)) where C* is the cost of the optimal solution, step cost ≥ ε Space? O(bceiling(C*/ ε)) 節點展開順序由小而大

Uniform-cost search 3 5

Uniform-cost search 3 5 4 3

Uniform-cost search 3 5 2 4 3 3 4 goal

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Depth-first search 往深度展開節點 Implementation: 使用 LIFO queue, i.e., put successors at front

Properties of depth-first search Complete? No: fails in infinite-depth spaces, spaces with loops Modify to avoid repeated states along path  complete in finite spaces Time? O(bm): terrible if m is much larger than d but if solutions are dense, may be much faster than breadth-first Space? O(bm), i.e., linear space! Optimal? No (e.g. node J is a solution, DFS stops)

Depth-limited search = depth-first search with depth limit l, i.e., nodes at depth l have no successors Recursive implementation:

Iterative deepening search 由Depth-limited search 演化而成 每輪將深度放大一層

Iterative deepening search l =0

Iterative deepening search l =1

Iterative deepening search l =2

Iterative deepening search l =3

Iterative deepening search Number of nodes generated in a depth-limited search to depth d with branching factor b: NDLS = b0 + b1 + b2 + … + bd-2 + bd-1 + bd Number of nodes generated in an iterative deepening search to depth d with branching factor b: NIDS = (d+1)b0 + d b^1 + (d-1)b^2 + … + 3bd-2 +2bd-1 + 1bd For b = 10, d = 5, NDLS = 1 + 10 + 100 + 1,000 + 10,000 + 100,000 = 111,111 NIDS = 6 + 50 + 400 + 3,000 + 20,000 + 100,000 = 123,456 Overhead = (123,456 - 111,111)/111,111 = 11%

Properties of iterative deepening search Complete? Yes Time? (d+1)b0 + d b1 + (d-1)b2 + … + bd = O(bd) Space? O(bd) Optimal? Yes, if step cost = 1

Summary of algorithms Step cost =1

Repeated states 如果在搜尋過程中,未解決重複狀態的問題可能導致無法求解

隨堂作業 The 8-puzzle 請用BFS向下展開兩層(繪出樹狀結構) 說明如果採用DFS可能會產生何種問題?要如何解決? 如果使用Uniform-cost search會退化成那種基本的搜尋法(BFS or DFS), 理由?