ค้นหา
  
Search Engine Optimization Services (SEO)

การค้นหาในแนวลึกแบบวนเพิ่มความลึก

การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (อังกฤษ: iterative deepening depth-first search) หรือ IDDFS เป็นขั้นตอนวิธีสำหรับการค้นปริภูมิสถานะ (state space search) ที่อาศัยการค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึกไปเรื่อยๆ จนถึงความลึก d เพื่อหาคำตอบที่ดีที่สุดซึ่ง d คือความลึกของสถานะคำตอบเป้าหมายนั้น ในแต่ละรอบของการวนค้นหาเป้าหมายนั้น ขั้นตอนวิธี IDDFS จะค้นเจอปม (node) ต่างๆในต้นไม้ค้นหา (search tree) ในลำดับเดียวกันกับแบบ การค้นหาเชิงลึก แต่ทำการสะสมไว้ว่า ปมที่ความลึกเท่าไหร่จะถูกค้นหา โดยกระทำวิธีนี้สมมุติว่าต้นไม้ค้นหา เป็นต้นไม้บริบูรณ์ ซึ่งทำให้ได้ผลลัพธ์ที่มีประสิทธิภาพเทียบกับแบบการค้นหาตามแนวกว้าง

การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก เป็นขั้นตอนวิธีที่รวมการค้นหาตามพื้นที่แนวลึก และ การค้นหาตามพื้นที่แนวกว้างอย่างมีประสิทธิภาพ ขั้นตอนวิธีนี้จึงจะเป็นผลดีเมื่อค่าน้ำหนักของเส้นทาง (edge) การค้นหาไม่เป็นฟังก์ชันที่ลดลงตามความลึกของปมต่างๆ

การทำงานของขั้นตอนวิธีการค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึกนี้จะเป็นการค้นหาตามแนวลึกโดยเริ่มต้นให้กำหนดความลึกที่ใช้ค้นหาเริ่มที่ 1 และเริ่มค้นหาในแนวกว้าง ถ้าการค้นหายังไม่เจอเป้าหมายหรือยังไม่พบคำตอบที่ต้องการ จะเพิ่มความลึกที่ใช้ในการค้นหาไปเรื่อยๆ โดยเพิ่มทีละ 1 จนพบเป้าหมายที่ต้องการ ซึ่งขั้นตอนวิธีนี้จะสามารถหาคำตอบที่ระยะทางสั้นสุดได้ คือ ความลึก (d) ของต้นไม้ค้นหาสั้นที่สุด

ประสิทธิภาพด้านพื้นที่ (Space complexity) ของการค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (IDDFS) เป็น :O(bd){\displaystyle O(bd)} ซึ่ง b คือ ปัจจัยการแตกกิ่ง และ d คือ ความลึกของเป้าหมายที่ต้องการค้นหา ซึ่งการค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (IDDFS) นั้นอาจจะต้องค้นปมเดิมซ้ำๆหลายครั้ง ซึ่งอาจจะทำให้สิ้นเปลืองพื้นที่ แต่ในความจริงแล้วมันก็ไม่ได้สิ้นเปลืองขนาดนั้น เนื่องจากปมต่างๆของต้นไม้ส่วนใหญ่อยู่ในระดับล่างๆ ทำให้การค้นหาปมต่างๆในต้นไม้ที่อยู่ระดับบนหลายๆครั้งไม่มีผล

ประสิทธิภาพด้านเวลา (Time complexity) ของ การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (IDDFS) ในต้นไม้ที่มีความสมดุลจะมีค่าของประสิทธิภาพด้านเวลาเท่ากับการค้นหาตามแนวลึกเป็น :O(bd){\displaystyle O(b^{d})} ซึ่งเป็นการค้นหาที่ใช้เวลานาน ในการวนค้นหาตามแนวความลึกนั้น ปมต่างๆในระดับหนึ่งจะมีการถูกค้น หนึ่งครั้ง และเมื่อเพิ่มระดับขึ้น ปมต่างๆที่ถูกค้นในระดับหนึ่งก็จะถูกค้นเพิ่มอีกครั้งหนึ่ง ขึ้นอยู่กับปมรากของต้นไม้ค้นหา ซึ่งปมรากของต้นไม้ค้นหานั้นจะถูกค้น d+1 ครั้ง ดังนั้น ผลรวมของจำนวนการค้นปมต่างๆในการวนค้นหาเชิงความลึกนั้นจะเป็น

จากทั้งหมดข้างต้นนั้น การวนค้นหาตามแนวลึก ที่เริ่มจากความลึก 1 ไปถึง ความลึก d จะมีการค้นปมของปมต่างๆ มากกว่าแบบการค้นหาตามแนวกว้าง หรือการค้นแบบจำกัดความลึก ประมาณ 11% ที่ความลึก d และ b = 10 โดยหากปัจจัยในการแตกกิ่งมีค่าสูงจะทำให้ การซ้ำกันของการค้นปมของสถานะที่อยู่ในระดับบนจะมีค่าต่ำแม้ว่าปัจจัยในการแตกกิ่งจะมีค่าเป็น 2 หรือ มากกว่า แต่ การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึกจะทำการค้นหา 2 ครั้ง โดยต้องยังคงสภาพ การค้นหาตามแนวกว้างที่สมบูรณ์ หมายความได้ว่าประสิทธิภาพของเวลาการทำงานของการค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึกยังมีค่า O(bd) และประสิทธิภาพด้านพื้นที่ยังคงเป็น O(bd) เช่นเดิม .โดยทั่วไปแล้ว การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึกจะเป็นวิธีการค้นหาที่ดีกว่าแบบอื่นๆ เมื่อจำนวนพื้นที่ที่ต้องค้นหามีขนาดใหญ่ และ ไม่ทราบความลึกของคำตอบเป้าหมายที่ต้องการ

การได้คำตอบที่เหมาะสม (Optimality) คำตอบที่ได้จากการค้นหาแบบ การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (IDDFS) จะเหมาะสมก็ต่อเมื่อเส้นทาง (edge) ที่ใช้ผ่านแต่ละปมที่ต้องการค้นหาในต้นไม้ค้นหามีน้ำหนักเท่ากัน คือ 1 ถ้าน้ำหนักของเส้นทาง (edge) การเดินทางของแต่ละปมมีค่าต่างกันที่ไม่ใช่ 1 จะทำให้คำตอบที่มาจากการค้นหาไม่เหมาะสม

การได้คำตอบหรือการใช้ขั้นตอนวิธีการค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึกนั้นจะมีความสมบูรณ์เหมือนกับ การค้นเชิงแนวกว้าง ซึ่งความสมบูรณ์นั้นอยู่ภายใต้ปัจจัยที่ว่า ค่าปัจจัยในการแตกกิ่ง (b) ต้องมีขอบเขตจำกัด (finite) ซึ่งถ้าปัจจัยต่างๆเหมาะสมแล้วขั้นตอนวิธีการค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก จะใช้เวลาดีและทำงานได้เร็วกว่าขั้นตอนวิธีการค้นเชิงลึก และ การค้นเชิงแนวกว้าง

จากกราฟหากเราเริ่มค้นหาตามแนวลึกโดยเริ่มต้นที่จุด A กำหนดให้เส้นทาง (edge) ด้านซ้ายจะถูกเลือกก่อนเส้นทาง (edge) ในด้านขวา และการค้นหาจะจำไว้ว่าก่อนหน้าเคยค้นปมไหนมาแล้วบ้าง และจะไม่ค้นปมนั้นซ้ำอีก ดังนั้นการค้นปมต่างๆในกราฟข้างต้นจะได้เป็นลำดับดังนี้ A, B, D, F, E, C, G

ในอีกแบบหนึ่งผลที่ได้จากการค้นหาตามแนวลึกที่เริ่มต้นที่จุด A แต่จะไม่จำว่าก่อนหน้าเคยค้นพบปมไหนมาก่อน ผลที่ได้จากการค้นหาจะเป็น order A, B, D, F, E, A, B, D, F, E, etc. ซ้ำแบบนี้ไปเรื่อยๆ ซึ่งจะไม่สามารถค้นเจอปม C หรือ G ในกราฟได้

การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก จะป้องกันการเกิด loop แบบด้านบน และจะทำให้ค้นปมต่างๆในแต่ความลึกของปมต่างๆนั้นเอง ซึ่งจะให้ดำเนินการจากซ้ายไปขวาแบบข้างต้น

(หมายเหตุ : ยังสามารถค้นเจอปม C แต่คราวนี้เกิดการค้นเจอทีหลัง เนื่องด้วยการค้นเจอปม E ในคนละเส้นทางและ การจะเกิดกสนวนกลับมาค้นเจอปม F ถึงสองครั้ง

จากกราฟข้างต้น เมื่อเพิ่มความลึก สังเกต 2 วัฏจักร คือ "ABFE" และ "AEFB" จะเจอได้ง่ายและบ่อยครั้ง ก่อนที่ขั้นตอนวิธีจะหยุดและไปค้นหาในเส้นทางอื่นๆ

มีขั้นตอนวิธีที่คล้ายกับ การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (IDDFS) คือ iterative lengthening search ซึ่งเป็นขั้นตอนวิธีที่มีการเพิ่มน้ำหนักของเส้นทาง (edge) ของระดับความลึกในชั้นต่างๆ ซึ่งการซ้ำการค้นปมๆต่างในระดับต่างๆนั้นจะมีค่าน้ำหนักบนเส้นทาง (edge) ไปยังปมต่างๆเหล่านั้นเพิ่มขึ้นด้วย เพราะฉะนั้นเป้าหมายแรกที่ได้จะเป็นเส้นทางที่มีค่ารวมของน้ำหนักบนเส้นทางดีที่สุด คือถูกที่สุดนั่นเอง แต่ iterative lengthening ก็ยังมีปัญหาอยู่มากทำให้ เป็นวิธีการค้นหาที่ยังไม่ดีเท่าการค้นเชิงลึกจำกัดแบบวนเพิ่มความลึก

การค้นหาแบบ การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (IDDFS) จะใช้ได้ในงานหลายๆ ด้าน เช่น ในเรื่องเกี่ยวกับการทำปัญญาประดิษฐ์ เช่นการจำลองการเล่นหมากรุก

การค้นหาแบบ การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก (IDDFS) จะนำไปใช้ใน game tree เช่น killer heuristicand , alpha-beta pruning (ขั้นตอนวิธีที่ใช้ลดการหาที่ไม่จำเป็น) ซึ่งมากไปด้วยการประมาณความถูกต้องของคะแนนของปมต่างๆกันที่ปลายทางความลึกที่สามารถเกิดขึ้นได้ และการค้นหาจะเสร็จได้รวดเร็ว

Iterative Deepening Depth-First Search (IDDFS) หรือ การค้นหาเชิงลึกจำกัดแบบวนเพิ่มความลึก เป็นขั้นตอนวิธีที่ดัดแปลงหรือพัฒนามากจากการค้นแบบจำกัดความลึก โดยอาศัยหลักการของขั้นตอนวิธีเชิงละโมบ ที่จะค่อยๆ หาคำตอบที่ต้องการจากเริ่มต้นที่กำหนดความลึกที่จะค้นหาไว้ที่ 0 แล้วเพิ่มค่าความลึกขึ้นไปเรื่อยๆ จนกว่าเราจะเจอเป้าหมายคำตอบต้องการได้


 

 

รับจำนำรถยนต์ รับจำนำรถจอด

เบอร์ลินตะวันออก ประเทศเยอรมนีตะวันออก ปฏิทินฮิบรู เจ้า โย่วถิง ดาบมังกรหยก สตรอเบอร์รี ไทยพาณิชย์ เคน ธีรเดช อุรัสยา เสปอร์บันด์ พรุ่งนี้ฉันจะรักคุณ ตะวันทอแสง รัก 7 ปี ดี 7 หน มอร์ มิวสิค วงทู อนึ่ง คิดถึงพอสังเขป รุ่น 2 เธอกับฉัน เป๊ปซี่ น้ำอัดลม แยม ผ้าอ้อม ชัชชัย สุขขาวดี ประชากรศาสตร์สิงคโปร์ โนโลโก้ นายแบบ จารุจินต์ นภีตะภัฏ ยัน ฟัน เดอร์ไฮเดิน พระเจ้าอาฟงซูที่ 6 แห่งโปรตุเกส บังทันบอยส์ เฟย์ ฟาง แก้ว ธนันต์ธรญ์ นีระสิงห์ เอ็มมี รอสซัม หยาง มี่ ศรัณยู วินัยพานิช เจนนิเฟอร์ ฮัดสัน เค็นอิชิ ซุซุมุระ พอล วอล์กเกอร์ แอนดรูว์ บิ๊กส์ ฮันส์ ซิมเมอร์ แบร์รี ไวต์ สตาญิสวัฟ แลม เดสมอนด์ เลเวลีน หลุยส์ที่ 4 แกรนด์ดยุคแห่งเฮสส์และไรน์ กีโยม เลอ ฌ็องตี ลอเรนโซที่ 2 เดอ เมดิชิ มาตราริกเตอร์ วงจรรวม แจ็ก คิลบี ซิมโฟนีหมายเลข 8 (มาห์เลอร์) เรอัลเบติส เฮนรี ฮัดสัน แคว้นอารากอง ตุ๊กกี้ ชิงร้อยชิงล้าน กันต์ กันตถาวร เอก ฮิมสกุล ปัญญา นิรันดร์กุล แฟนพันธุ์แท้ 2014 แฟนพันธุ์แท้ 2013 แฟนพันธุ์แท้ 2012 แฟนพันธุ์แท้ 2008 แฟนพันธุ์แท้ 2007 แฟนพันธุ์แท้ 2006 แฟนพันธุ์แท้ 2005 แฟนพันธุ์แท้ 2004 แฟนพันธุ์แท้ 2003 แฟนพันธุ์แท้ 2002 แฟนพันธุ์แท้ 2001 แฟนพันธุ์แท้ 2000 บัวชมพู ฟอร์ด ซาซ่า เดอะแบนด์ไทยแลนด์ แฟนพันธุ์แท้ปี 2015 แฟนพันธุ์แท้ปี 2014 แฟนพันธุ์แท้ปี 2013 แฟนพันธุ์แท้ปี 2012 ไทยแลนด์ก็อตทาเลนต์ พรสวรรค์ บันดาลชีวิต บุปผาราตรี เฟส 2 โมเดิร์นไนน์ ทีวี บุปผาราตรี ไฟว์ไลฟ์ แฟนพันธุ์แท้ รางวัลนาฏราช นักจัดรายการวิทยุ สมเด็จพระสันตะปาปาปิอุสที่ 7 แบร์นาร์แห่งแกลร์โว กาอึน จิรายุทธ ผโลประการ อัลบาโร เนเกรโด ปกรณ์ ฉัตรบริรักษ์ แอนดรูว์ การ์ฟิลด์ เอมี่ อดัมส์ ทรงยศ สุขมากอนันต์ ดอน คิง สมเด็จพระวันรัต (จ่าย ปุณฺณทตฺโต) สาธารณรัฐเอสโตเนีย สาธารณรัฐอาหรับซีเรีย เน็ตไอดอล เอะโระเก คอสเพลย์ เอวีไอดอล ช็อคโกบอล มุกะอิ

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
จำนำรถราชบุรี รถยนต์ เงินด่วน รับจำนำรถยนต์ จำนำรถยนต์ จำนำรถ 23301