Upload
gin
View
103
Download
0
Embed Size (px)
DESCRIPTION
heuristic Search Techniques. Choopan Rattanapoka 357353 – Introduction to AI. ทบทวน Blind Search. ค้นหาเส้นทางจากเมือง A ไปยังเมือง F. B. 5. 2. 5. A. E. 10. D. 3. 1. 1. 3. C. F. 6. Depth-first Search. Open : [ (A, nil) ] Close : [ ]. B. A. E. B. - PowerPoint PPT Presentation
Citation preview
HEURISTIC SEARCH TECHNIQUES
030523111 – Introduction to Artificial Intelligence
Asst. Prof. Dr. Choopan Rattanapoka
ทบทวน Blind Search
ค้�นหาเส้�นทางจากเมื อง A ไปยั�งเมื อง F
A
B
D
C F
E
5 2
3 3 1 1
5
6
10
Depth-first Search
Open : [ (A, nil) ]
Close : [ ]
A
B
D
C F
E
5 2
3 3 1 1
5
6
10 Open : [ (B,A) (C, A) (D, A) ]
Close : [ (A, nil) ]
A
B
Open : [ (E,B) (C, A) (D, A) ]
Close : [ (B,A) (A, nil) ]
E
Open : [ (F,E) (C, A) (D, A) ]
Close : [ (E, B) (B,A) (A, nil) ]
F
(F, E) (E, B) (B, A) (A, Nil) = A B E F
ระยัะทาง A B = 5, B E = 2, E F = 3 รวมืระยัะทางจาก A – F = 5 + 2+ 3 = 10
Breath-first Search
Open : [ (A, nil) ] Close : [ ]
A
B
D
C F
E
5 2
3 3 1 1
5
6
10
Open : [ (B,A) (C, A) (D, A) ] Close : [ (A, nil) ]
A
B
Open : [ (C, A) (D, A) (E,B) ] Close : [ (B,A) (A, nil) ]
Open : [(D, A) (E,B) (F, C)] Close : [(C,A) (B,A) (A, nil)]
(F, C) (C, A) (A, Nil) = A C F
ระยัะทาง • A C = 1• C F = 6
รวมืระยัะทางจาก A – F = 1 + 6 = 7
COpen : [(E,B) (F, C)] Close : [(D,A) (C,A) (B,A) (A, nil)]
Open : [(F, C)] Close : [(E,B) (D,A) (C,A) (B,A) (A, nil)]
DE
F
Heuristic Search Techniques
Heuristic Search Techniques หร อ Informed Search Techniques เป�นเทค้น�ค้การค้�นหาแบบมื�ข้�อมื�ล (informed)
การค้�นหาจะน�าข้�อมื�ลมืาประกอบเพื่ !อช่#วยัเพื่�!มืประส้�ทธิ�ภาพื่
ฟั'งก(ช่�นพื่ )นฐานท�!น�ามืาใช่�ประกอบก�บการค้�นหาแบบ Heuristic มื� 2 ช่น�ด ฟั'งก(ช่�น Evaluation (Evaluation function f(n))
ท�าหน�าท�!ประมืาณค้#าใช่�จ#ายัท�)งหมืดบนเส้�นทางจากโหนด n ไปยั�งโหนดเป/าหมืายั
ฟั'งก(ช่�น Heuristic (Heuristic function h(n)) ท�าหน�าท�!บอกปร�มืาณทร�พื่ยัากรท�!ใช่�ไปตั้�)งแตั้#ตั้�าแหน#ง n จนถึ2ง
เป/าหมืายั
ตั้�วอยั#างการหา h(n)
Goal state : มื�นบ3ร�
h(n) จะใช่�ระยัะทางเส้�นทางตั้รงจาก เมื อง n ไปยั�งเมื องเป/าหมืายั
26.63
เขต ระยะทาง
เขต ระยะทาง
เขต ระยะทาง
จตั้3จ�กร 21.86 ประเวศ 18.79 บางนา 26.16
ตั้ล�!งช่�น 36.34 พื่ญาไท 26.63 บ2งก3#มื 10.40
บางกะป6 10.79 มื�นบ3ร� 0 พื่ระข้โนง
28.44
บางเข้น 17.59 ราษฎร(บ�รณะ
36.84 ส้าธิร 31.97
บางแค้ 42.11 ลาดกระบ�ง
16.15 หนองจอก
18.42
บางซื่ !อ 24.95 ส้วนหลวง
14.54
ต�วอย�าง heuristic function• h(บางเข้น) = 17.59• h(หนองจอก) =
18.42• h(มื�นบ3ร�) = 0
Greedy Best First Search (GBFS) เป�นว�ธิ�การเล อกเส้�นทางท�!ด�ท�!ส้3ดก#อน เพื่ !อให�เข้�าใกล�เป/า
หมืายัได�เร:วข้2)น พื่�จารณาจากเส้�นทางท�!มืองเห:นเท#าน�)น ส้มืการข้อง GBFS ค้ อ
f(n) = h(n)
ตั้�วอยั#าง: การค้�นหาแบบ GBFS
Initial state : ราษฎร(บ�รณะGoal state : มื�นบ3ร�
เขต ระยะทาง
เขต ระยะทาง
เขต ระยะทาง
จตั้3จ�กร 21.86 ประเวศ 18.79 บางนา 26.16
ตั้ล�!งช่�น 36.34 พื่ญาไท 26.63 บ2งก3#มื 10.40
บางกะป6 10.79 มื�นบ3ร� 0 พื่ระข้โนง
28.44
บางเข้น 17.59 ราษฎร(บ�รณะ
36.84 ส้าธิร 31.97
บางแค้ 42.11 ลาดกระบ�ง
16.15 หนองจอก
18.42
บางซื่ !อ 24.95 ส้วนหลวง
14.54
ราษฎร�บ�รณะ
บางแค
พญาไท
สาธร
บางซื่��อ
บ งกุ่"�ม
ราษฎร�บ�รณะ
บางกุ่ะปิ%
บางเขน
พญาไท
ม&นบ"ร&
ราษฎร�บ�รณะ
36.84
42.11
26.63
31.97
พญาไท
24.95 10.40 36.84
บ งกุ่"�ม
10.79 17.59 26.63 0
ม&นบ"ร&
ตั้�วอยั#าง: ป'ญหาข้องการค้�นหาแบบ GBFS
Initial state : บางนาGoal state : มื�นบ3ร�
เขต ระยะทาง
เขต ระยะทาง
เขต ระยะทาง
จตั้3จ�กร 21.86 ประเวศ 18.79 บางนา 26.16
ตั้ล�!งช่�น 36.34 พื่ญาไท 26.63 บ2งก3#มื 10.40
บางกะป6 10.79 มื�นบ3ร� 0 พื่ระข้โนง
28.44
บางเข้น 17.59 ราษฎร(บ�รณะ
36.84 ส้าธิร 31.97
บางแค้ 42.11 ลาดกระบ�ง
16.15 หนองจอก
18.42
บางซื่ !อ 24.95 ส้วนหลวง
14.54
บางนา
พระขโนง
ปิระเวศ
26.16
บางนา
บางนา
พระขโนง
ปิระเวศ
18.79
28.44
ปิระเวศ
26.16
บางนา
Greedy Best First Search (GBFS) Completeness ส้ามืารถึร�บรองการค้�นพื่บค้�า
ตั้อบ (NO) ไมื#ร�บรองการค้�นพื่บค้�าตั้อบ
Optimality ส้ามืารถึร�บรองการค้�นหาเส้�นทางท�!ด�ท�!ส้3ด (NO) ไมื#ร�บรองการค้�นหาเส้�นทางท�!ด�ท�!ส้3ด
Time Complexity ระยัะเวลาท�!ใช่�ในการค้�นหา O(bm) b = จ�านวนก�!งเฉล�!ยัข้องโหนด, m = ระด�บล2ก
ส้3ดข้องตั้�นไมื� Space Complexity พื่ )นท�!หน#วยัค้วามืจ�าท�!ใช่�
ค้�นหา O(bm)
A* Search
A* search อ#านว#า (“เอ-ส้ตั้าร(”) เป�นว�ธิ�การค้�นหาท�!ถึ�กพื่�ฒนาข้2)นมืาเพื่ !อแก�ป'ญหาท�!เก�ดข้2)นใน Greedy best first search
มื�การน�าเอาข้�อมื�ลมืาพื่�จารณาเพื่�!มืเตั้�มื ค้ อ ข้�อมื�ลทร�พื่ยัากรท�!ใช่�ตั้�)งแตั้#ตั้�าแหน#งเร�!มืตั้�นจนถึ2งตั้�าแหน#งท�!พื่�จารณา แทนด�วยั g(n)
ด�งน�)น Evaluation function จะอยั�#ในร�ป f(n) = g(n) + h(n)
การค้�นหาจะพื่�จารณาโหนดแตั้#ละโหนดแล�วเล อกไปยั�งทางท�!ให� f(n) ด�ท�!ส้3ด
ตั้�วอยั#าง: การค้�นหาแบบ A*Initial state : ราษฎร(บ�รณะGoal state : มื�นบ3ร�
เขต ระยะทาง
เขต ระยะทาง
เขต ระยะทาง
จตั้3จ�กร
21.86 ประเวศ 18.79 บางนา 26.16
ตั้ล�!งช่�น
36.34 พื่ญาไท 26.63 บ2งก3#มื 10.40
บางกะป6
10.79 มื�นบ3ร� 0 พื่ระข้โนง
28.44
บางเข้น
17.59 ราษฎร(บ�รณะ
36.84 ส้าธิร 31.97
บางแค้
42.11 ลาดกระบ�ง
16.15 หนองจอก
18.42
บางซื่ !อ
24.95 ส้วนหลวง
14.54
ราษฎร�บ�รณะ
บางแค้
พื่ญาไท
ส้าธิร
บางซื่ !อ
บ2งก3#มื
ราษฎร(บ�รณะ
บ2งก3#มื
0+36.84 = 36.84
ราษฎร(บ�รณะ
8.32+42.11 = 50.43
12.68+26.63 = 39.31
10+31.97 = 41.97
พื่ญาไท
20.40+24.95= 45.35 35.45+10.4
0= 45.85
25.36+36.84= 62.20
ส้าธิร
บางกะป6
ราษฎร(บ�รณะ
28.78+10.79= 39.57
20+36.84= 56.84
บางกะป6
มื�นบ3ร�
ลาดกระบ�ง
ส้วนหลวง
ส้าธิร
35.71+10.40= 46.11
39.57+0= 39.57
49+16.15= 65.15
32.53+14.54= 47.07
47.56 +31.97= 79.53
มื�นบ3ร�
ตั้�วอยั#าง: A* แก�ป'ญหาข้อง GBFS
Initial state : บางนาGoal state : มื�นบ3ร�
เขต ระยะทาง
เขต ระยะทาง
เขต ระยะทาง
จตั้3จ�กร 21.86 ประเวศ 18.79 บางนา 26.16
ตั้ล�!งช่�น 36.34 พื่ญาไท 26.63 บ2งก3#มื 10.40
บางกะป6 10.79 มื�นบ3ร� 0 พื่ระข้โนง
28.44
บางเข้น 17.59 ราษฎร(บ�รณะ
36.84 ส้าธิร 31.97
บางแค้ 42.11 ลาดกระบ�ง
16.15 หนองจอก
18.42
บางซื่ !อ 24.95 ส้วนหลวง
14.54
บางนา
พระขโนง
ปิระเวศ
0+26.16=26.16
บางนา
บางนา
7.37+18.79=26.26
2.27+18.44=30.71
ปิระเวศ
14.74+26.16=40.90
พระขโนง
บางนา
สวนหลวง
4.54+26.16=30.70
16.16+14.54=30.70
เปร�ยับเท�ยับ GBFS และ A*
การเด�นทางจากราษฏร(บ�รณะไปยั�งมื�นบ3ร� GBFS (ราษฎร(บ�รณะ พื่ญาไท บ2งก3#มื มื�นบ3ร�) = 45.85 A* (ราษฎร(บ�รณะ ส้าธิร บางกะป6 มื�นบ3ร�) = 39.57
การเด�นทางจากบางนาไปยั�งมื�นบ3ร� GBFS ไปส้ามืารถึหาทางไปได� A* ส้ามืารถึหาเส้�นทางไปได�
A*
Completeness ส้ามืารถึร�บรองการค้�นพื่บค้�าตั้อบ (YES) ร�บรองการค้�นพื่บค้�าตั้อบ
Optimality ส้ามืารถึร�บรองการค้�นหาเส้�นทางท�!ด�ท�!ส้3ด (YES) ร�บรองการค้�นหาเส้�นทางท�!ด�ท�!ส้3ด
Time Complexity ระยัะเวลาท�!ใช่�ในการค้�นหา Exponential
Space Complexity พื่ )นท�!หน#วยัค้วามืจ�าท�!ใช่�ค้�นหา เก:บโหนดจากการค้�นหาท�)งหมืดลงในหน#วยัค้วามืจ�า
การก�าหนดฟั'งก(ช่�น heuristic
ล�กษณะข้องฟั'งก(ช่�น heuristic จะเป�นส้มืการท�!ง#ายัเพื่ !อให�การค้�านวณส้ามืารถึท�าได�อยั#างรวดเร:ว
ฟั'งก(ช่�น heuristic ท�!น�ยัมืใช่�ก�บส้�าหร�บแก�ป'ญหา 8-puzzle ค้ อ h1 แทนจ�านวนตั้�าแหน#งป/ายัหมืายัเลข้ในส้ถึานะป'จจ3บ�นท�!แตั้กตั้#างจาก
ตั้�าแหน#งข้องส้ถึานะเป/าหมืายั h2 แทนผลรวมืท�)งหมืดข้องการยั�ายัตั้�าแหน#ง ท�!เร�ยักว#า “Manhattan
Distance”
7 2 4
5 6
8 3 1
1 2
3 4 5
6 7 8
(a) ส้ถึานะเร�!มืตั้�น
(b) ส้ถึานะเป/าหมืายั
การค้�านวณหา h1
แทนจ�านวนตั้�าแหน#งข้องป/ายัหมืายัเลข้ในส้ถึานะ n ก�บตั้�าแหน#งข้องป/ายัหมืายัเลข้ในส้ถึานะเป/าหมืายั
ต�วอย�าง :
h1(n) = 8
h1(n) = 4
7 2 4
5 6
8 3 1
1 2
3 4 5
6 7 8
ส้ถึานะเป/าหมืายั
1 2
3 4 5
6 8 7
การค้�านวณหา h2
แทนผลรวมืท�)งหมืดข้องการยั�ายัตั้�าแหน#ง ท�!เร�ยักว#า “Manhattan Distance”
ต�วอย�าง :h2(n) = 3 + 1 + 2 + 2 + 2 +3 +3 +2
= 18
h2(n) = 1 + 1 + 0 + 0 + 0 + 0 + 1 + 1
= 4
7 2 4
5 6
8 3 1
1 2
3 4 5
6 7 8
ส้ถึานะเป/าหมืายั
1 2
3 4 5
6 8 7
เปร�ยับเท�ยับการใช่� h1 และ h2 [Russel and Norvig,
2003]
ทร�พยากุ่รท&�ใช้-ในกุ่ารค-นหา
ระด�บส้�มื�ตั้ (d)Blind
SearchHeuristic Search
IDS A*[h1] A*[h2]
2 10 6 6
4 112 13 12
6 680 20 18
8 6,384 39 25
10 47,127 93 39
12 3,644,035 227 73
14 - 539 113
16 - 1,301 211
18 - 3,056 363
20 - 7,276 676
แบบฝึAกห�ด: ใช่� GBFS และ A* เพื่ !อหาทางไปส้�#เป/าหมืายั
4 5 76 3 2
1 8
4 5 76 21 3 8ส้ถึานะเป/าหมืายั
ก�าหนดให�ใช่� h(n) แบบ h1
G(n) ค้ อการเด�นแตั้#ละค้ร�)งมื� path cost = 1
ส้ถึานะเร�!มืตั้�น
Local Search Algorithm
GBFS และ A* ถึ�กออกแบบให�มื�การค้�นหาแบบมื�ระบบในปร�ภ�มื�ส้ถึานะ
แตั้#ท�)ง 2 ว�ธิ�น�)ใช่�หน#วยัค้วามืจ�ามืาก ส้#งผลให�ส้�)นเปล องทร�พื่ยัากร ซื่2!งส้ามืารถึแก�ไข้ได�ด�วยัว�ธิ�ท�!เร�ยักว#า Local Search Algorithm
(อ�ลกอร�ธิ2มืการค้�นหาเฉพื่าะแห#ง) Local Search Algorithm จะค้�าน2งถึ2งเฉพื่าะ ส้ถึานะ“
ป'จจ3บ�น เท#าน�)นท�!ไปส้�#ส้ถึานะเป/าหมืายั” ค้#า heuristic ท�!ใช่�ถึ�ามื�ค้3ณภาพื่ท�!ด�จะส้ามืารถึพื่บส้ถึานะเป/าหมืายัได� ตั้�วอยั#าง Local search algorithm ค้ อ
Hill Climbing Search Simulated Annealing Search
Hill Climbing Search
จะไปตั้ามืเส้�นทางท�!มื�ค้#า heuristic ท�!ด�ไปเร !อยัๆ จนกว#าจะพื่บส้ถึานะเป/าหมืายั
เหมื อนก�บน�กปCนเข้าท�!จะไตั้#ส้�งข้2)นเร !อยัๆ โดยัหาเส้�นทางท�!ด�ท�!ส้3ด
ข้�อเส้�ยัก:ค้ อ ปCนข้2)นอยั#างเด�ยัวไมื#มื�ปCนลง ท�าให�บางท�เส้�นทางท�!ด�ท�!ส้3ดอาจจะไมื#ส้ามืารถึท�าให�ถึ2งเป/าหมืายัได�
Hill Climbing เพื่ !อหาทางไปส้�#เป/าหมืายั
4 5 7
6 3 2
1 8
4 5 7
6 2
1 3 8
ส้ถึานะเป/าหมืายั
ก�าหนดให�ใช่� h(n) แบบ h1
ส้ถึานะเร�!มืตั้�นh = 3
h = 4 h = 2 4 5 7
3 2
6 1 8
4 5 7
6 3 2
1 8
4 5 7
6 2
1 3 8
4 5 7
6 3 2
1 8
4 5 7
6 3 2
1 8
h = 1 h = 3 h = 3
4 7
6 5 2
1 3 8
4 5 7
6 3 2
1 8
4 5 7
6 2
1 3 8
4 5 7
6 2
1 3 8
h = 2 h = 3 h = 2 h = 0
ป'ญหาข้อง Hill Climbing Search ป'ญหาข้อง Hill Climbing Search จะแบ#งออกเป�น
3 ล�กษณะค้ อ Local Maximum Ridges Plateau
ป'ญหา: Local Maximum
ค้�าตั้อบท�!ด�ท�!ส้3ดข้องป'ญหา เร�ยักว#า “Global
Maximum” Local Maximum ค้ อจ3ดท�!
ค้�ดว#าด�ท�!ส้3ดท�!จะเป�นค้�าตั้อบ ข้องป'ญหา แตั้#จร�งๆ แล�วไมื#ใช่#
ส้ามืารถึแก�ด�วยัการใช่�ว�ธิ�Simulated Annealing Search
ป'ญหา: Ridges
เป�นป'ญหาท�!การเข้�าส้�#เป/าหมืายัเป�นไปได�ช่�ามืาก
มื�ส้#วนเป�นเส้�นตั้รงเยัอะ ค้วรจะพื่�จารณาหา
heuristic function ใหมื#ให�ได�ผลด�กว#าเด�มื
ป'ญหา: Plateau
เป�นป'ญหาท�!การเข้�าส้�#เป/าหมืายัให�ค้#า heuristic เท#าๆก�น
การเล อกเด�นไปเส้�นทางไหนท�าให�ไมื#ส้ามืารถึเล อกได�
ส้ามืารถึแก�ป'ญหาได� ด�วยัการส้3#มืเส้�นทางเด�น
Simulated Annealing Search
เป�นว�ธิ�การค้�นหาท�!แก�ป'ญหา Local Maximum จาก Hill Climbing Search ได�
Anneal แปลว#า การหลอมืโลหะหร อแก�วให�ภายันอกมื�ค้วามืแข้:ง โดยัค้#อยัๆลดอ3ณหภ�มื�ลงอยั#างช่�าๆ เมื !อเวลาผ#านไป
ซื่2!งเปร�ยับก�บการยัอมืให�มื�การเล อกเส้�นทางท�!แยั#บ�างใน hill climbing โดยัเฉพื่าะช่#วงแรกข้องการค้�นหา
แล�วด�แนวโน�มืทางเส้�นทางว#าด�ข้2)นหร อไมื#
Simulated Annealing Search (2) ส้�ตั้รการค้�านวณค้วามืน#าจะเป�นข้อง Simulated
Annealing Search ค้ อP = e(-∆E/T)
P ค้วามืน#าจะเป�นข้องการเด�นทางไปส้�#ส้ถึานะท�!แยั#กว#า หากค้#าใกล� 0 แส้ดงว#าเข้�าส้�#ค้�าตั้อบ
e ค้#าค้งท�!ค้ณ�ตั้ศาส้ตั้ร( (2.718281…) E ค้#าค้วามืตั้#างข้อง Heuristic บนปร�ภ�มื�ส้ถึานะ T ค้#าอ3ณหภ�มื�ในข้ณะน�)น (จากหาส้�งลดลงเร !อยัๆ)
Simulated Annealing Search (3) ข้�)นตั้อนการท�างาน
1 ) ก�าหนดส้ถึานะเร�!มืตั้�น E2 ) ค้�านวณค้#า f(n) ข้องส้ถึานะ E3 ) ส้3#มืโหนดล�กข้อง E ข้2)นมืา 1 ตั้�ว (Ei)4 ) ค้�านวณค้#า f(n) ข้องส้ถึานะ Ei5) if E < Ei then E = Ei else ตั้รวจส้อบค้วามืน#าจะเป�นท�!ยัอมืให�ไปทางท�!แยั#กว#า
แล�ว E = Ei6 ) ไปท�!ข้� )นตั้อน 3 จนหร อ E เป�นส้ถึานะเป/าหมืายั
ตั้�วอยั#าง: เข้าวงกตั้ ส้ถึานะเร�!มืตั้�น
Successor Function : ค้นส้ามืารถึเด�น {U, D, L, R}
ส้ถึานะเป/าหมืายั
Path cost: การเด�นแตั้#ละค้ร�)งมื�ค้#า 1
Hill Climbing Search
h(n) : ระยัะผลตั้#างทางแกน X + ระยัะผลตั้#างทางแกน Y (Manhattan Dist.)
h = 3 + 3 = 6
h = 3 + 2 = 5
h = 3 + 1 = 4h = 2 + 2 = 4
h = 3 + 3 = 6
1 2
ถึ�าเล อกมืาทาง (1)h = 3 + 1 = 4
h = 3 + 0 = 3 h = 3 + 2 = 5
ทางตั้�น !!
ถึ�าเล อกมืาทาง (2)h = 2 + 2 = 4
h = 1 + 2 = 3
h = 1 + 3 = 4
h = 2 + 2 = 4
h = 1 + 1 = 2
h = 2 + 2 = 4 h = 0 + 2 =
2
3 4
ถึ�าเล อกมืาทาง (3)h = 1 + 1 = 2
h = 1 + 0 = 1
h = 1 + 2 = 3
h = 1 + 1 = 2
h = 0 + 0 = 0
เจอเป/าหมืายั
ถึ�าเล อกมืาทาง (4)
h = 0 + 2 = 2
h = 1 + 2 = 3
ไมื#ส้ามืารถึมืาได� h มืากกว#าเด�มื
แบบฝึAกห�ด จงเข้�ยันปร�ภ�มื�ส้ถึานะข้องการค้�นหาตั้#อไปน�)ด�วยั
GBFS A*
ใส้#หมืายัเลข้ข้องโหนดท�!ท�าการหาค้#าตั้ามืล�าด�บ ส้ร3ปการใช่� successor function จาก จ3ดเร�!มืตั้�น จนถึ2งเป/าหมืายั (ถึ�าหาเป/าหมืายัได�) หาค้#า Total Path Cost ท�!ใช่� (ถึ�าหาเป/าหมืายัได�)