Ö Ò ÁÅ ÔØ Ö Ë Ø ÓÒ º º µ Ê ÕÙ Ö ÔØ Ö ½¼ ½ Ò ½ º ÄÏÀ ØÓ ÖØ Ð ÁÒØ ÐÐ Ò ÁÒØÖÓ ÙØ ÓÒ ¹ ËÔÖ Ò ¾¼½ Ë º ÓÙ ÖÝ Ë Ù¹Û ¹Ö µ ÖØ ¼¾µ ¾¹ º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÁÒ ÓÖÑ Ë Ö Å Ø Ó Ì ØÐ ÍÊÄ ÛÛÛº ºÙÒк Ù» ÓÙ Öݻ˽ ¹ ¹
ØÓ ÓÑÔ Ö Ø Ñ ÓÛ ØÓ Ò Ö Ø Ø Ñ ÓÛ º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÇÙØÐ Ò Ø ÓÖ Þ Ø ÓÒ Ó Ö Ø Ò ÕÙ ÇÖ Ö Ö Ö Û Ø Ò Ú ÐÙ Ø ÓÒ ÙÒØ ÓÒµ ع Ö Ø Ö Ö Ý Ö ½µ Ñ Ð ÙÖ Ø ÙÒØ ÓÒ ÓÛ ØÓ ÓÑ Ò Ø Ñ ¾µ
ÍÒ Ò ÓÖÑ Ú º Ò ÓÖÑ ½¹ ËÝ Ø Ñ Ø»ÓÒ ØÖÙØ Ú Ú º Ø Ö Ø Ú ÑÔÖÓÚ Ñ ÒØ ¾¹ ÍÒ Ò ÓÖÑ ÓÒÐÝ Ò ÓÖÑ Ø ÓÒ Ú Ð Ð Ò ÔÖÓ Ð Ñ Ò Ø ÓÒ Ù À ÙÖ Ø ÓÑ ÒÓÛÐ Ó Ø ÓÑ Ò ÜÔÐÓ Ø º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÌÝÔ Ó Ë Ö Áµ ÒÓ ÓÙØ Ø Ò ØÓ Ó Ð Ò ÒÖ ÐÝ Ò Ø Ú Ò ÔÖ Ø Ð Ó Ù ÙÐ ÓÖ ÓÐÚ Ò ÓÔØ Ñ Þ Ø ÓÒ ÔÖÓ Ð Ñ
ÓÐÙØ ÓÒ È ÖØ Ð Ó ØÖ Ò Ø ÓÒ ØÛ Ò Ø Ø ÕÙ Ò º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÌÝÔ Ó Ë Ö ÁÁµ Ü Ù Ø Ú ÓÒ ØÖÙØ Ú Ö ËÝ Ø Ñ Ø Ô ÖØ Ð ÓÐÙØ ÓÒ ÒÖ Ñ ÒØ ÐÐÝ ÜØ Ò ÒØÓ ÐÓ Ð ÓÐÙØ ÓÒ ÓÐÙØ ÓÒ ÐÓ Ð ÖÓÑ Ø Ò Ø Ð Ø Ø ØÓ Ø Ó Ð Ø Ø ËÓÐÙØ ÓÒ Ü ÑÔÐ 8 < : ÍÒ Ò ÓÖÑ ÁÒ ÓÖÑ ÙÖ Ø µ Ö Ý Ö Ê ØÙÖÒ Ø Ô Ø ÓÐÙØ ÓÒ Ô Ø
Ø Ø Ö Ù ÐÐÝ ÑÓ Ò Ú ÐÙ Ø ÙÒØ Ð Ò ÔØ Ð µ ÓÔØ ÑÙÑ Ö Ò º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ó Ë Ö ÁÁÁµ ÌÝÔ ÑÔÖÓÚ Ñ ÒØ ÁØ Ö Ø Ú Ï ÓÒ³Ø Ö ÓÙØ Ø Ô Ø Û Ö ÓÙØ ÕÙ Ð Øݳ Ó Ø Ø Ê ØÙÖÒ Ø Ø ÓÐÙØ ÓÒ ÓÓ ÕÙ Ð ØÝ Ø Ø Æ Ö ÐÝ Ò Ò ÓÖÑ Ö Ü ÑÔÐ Ò ÓÖÑ µ 8 >< >: À ÐÐ Ð Ñ Ò Ë ÑÙÐ Ø ÒÒ Ð Ò Ô Ý µ Ì ÓÓ Ö Ò Ø Ð ÓÖ Ø Ñ ÓÐÓ Ýµ
º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÇÖ Ö Ö ËØÖ Ø ÓÖ Ý Ø Ñ Ø Ö Ö Ò Ö Ø Ý ÓÓ Ò Û ÒÓ ÖÓÑ Ø Ö Ò ØÓ ÜÔ Ò Ö Ø Ì ÒÓ ØÓ ÜÔ Ò Ó Ò Ý Ò Ú ÐÙ Ø ÓÒ ÙÒØ ÓÒ ÜÔÖ Ò Ö Ð Øݳ ÓÖ Ö Ö Ï Ò ÒÓ Ò ÕÙ Ù Ö ÓÖØ ÓÖ Ò ØÓ Ø Ö Ö Ò Ú ÐÙ Ý Ø Ú ÐÙ Ø ÓÒ ÙÒØ ÓÒ Ø¹ Ö Ø Ö Ï ÖÒ Ò Ø³ ØÙ ÐÐÝ Ñ Ò Ðݹ س Ú Ò Ø Ú ÐÙ Ø ÓÒ ÆÓØ ÐÛ Ý Ø ÓØ ÖÛ Û ÓÙÐ Ñ Ö Ö ØÐÝ ØÓ ÙÒØ ÓÒº Ø Ó Ð µ
º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ë Ö Ù Ò Ò Ú ÐÙ Ø ÓÒ ÙÒØ ÓÒ Ü ÑÔÐ ÙÒ ÓÖÑ¹Ó Ø Ö Ï Ø Ø Ú ÐÙ Ø ÓÒ ÙÒØ ÓÒ Ú ÐÙ Ø Ó Ø ÖÓÑ ººººººººººººº ØÓ ºººººººººººººººº ÀÓÛ ÓÙØ Ø Ó Ø ØÓ Ø Ó Ð Ø Ñ Ø Ó Ø Ó Ø Ô Ø h(n) ÖÓÑ Ø Ø Ø Ø ÒÓ n ØÓ Ó Ð Ø Ø Ô Ø h(n) ÛÓÙÐ ÐÔ ÓÙ Ò Ö
º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ó Ø ØÓ Ø Ó Ð Ì Ò ÓÖÑ Ø ÓÒ ÒÓØ Ô ÖØ Ó Ø ÔÖÓ Ð Ñ Ö ÔØ ÓÒ Arad Bucharest Craiova Dobreta Eforie Fagaras Giurgiu Hirsova Iasi Lugoj 366 0 160 242 161 176 77 151 226 244 Mehadia Neamt Oradea Pitesti Rimnicu Vilcea Sibiu Timisoara Urziceni Vaslui Zerind 241 234 380 100 193 253 329 80 199 374
Ö Ý Ö ÓÓ Ø ÒÓ n ÐÓ Ø ØÓ Ø Ó Ð ½º h(n) Ñ Ò Ñ Ð Ù º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ø¹ Ö Ø Ö ¾º Ö ÓÓ Ø Ð Ø¹Ó Ø ÓÐÙØ ÓÒ ÓÐÙØ ÓÒ Ó Ø f(n) 8 >< >: Ù f(n) = g(n) + h(n) Ñ Ò Ñ Ð g(n) Ó Ø ÖÓÑ ÖÓÓØ ØÓ Ú Ò ÒÓ n h(n) Ó Ø ÖÓÑ Ø ÒÓ n ØÓ Ø Ó Ð ÒÓ
º º ÓÙ ÖÝ ½¼ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ö Ö Ý Ö Ø ÜÔ Ò Ø ÒÓ Û Ó Ø Ø ÐÓ Ø³ ØÓ Ø Ó Ð Å Ò Ñ Þ h(n) function BEST-FIRST-SEARCH( problem, EVAL-FN) returns a solution sequence inputs: problem, a problem Eval-Fn, an evaluation function Queueing-Fn a function that orders nodes by EVAL-FN return GENERAL-SEARCH( problem, Queueing-Fn) Í Ù ÐÐÝ Ó Ø Ó Ö Ò Ó Ð Ñ Ý Ø Ñ Ø ÒÓØ Ø ÖÑ Ò Ü ØÐÝ Á Ø Ø Ø n Ó Ð h(n) ÀÓÛ ØÓ ÓÓ h(n) ÈÖÓ Ð Ñ Ô À ÙÖ Ø
º º ÓÙ ÖÝ ½½ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ö ÊÓÑ Ò Ö Ý h SLD ØÖ Ø¹Ð Ò Ø Ò ØÛ Ò (n) Ò Ó Ð ÐÓ Ø ÓÒ n Arad 118 75 71 Zerind Timisoara 111 Dobreta Oradea 140 70 75 151 Lugoj Mehadia 120 Sibiu 99 Craiova Fagaras 80 Rimnicu Vilcea 97 Pitesti 211 Neamt 146 101 85 138 90 Giurgiu 87 Bucharest Urziceni Iasi 92 142 98 Vaslui Hirsova 86 Eforie Arad Bucharest Craiova Dobreta Eforie Fagaras Giurgiu Hirsova Iasi Lugoj 366 0 160 242 161 176 77 151 226 244 Mehadia Neamt Oradea Pitesti Rimnicu Vilcea Sibiu Timisoara Urziceni Vaslui Zerind 241 234 380 100 193 253 329 80 199 374
º º ÓÙ ÖÝ ½¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ (a) The initial state Ö Ý Ö ÌÖ Ô ÖÓÑ Ö ØÓ Ù Ö Ø (b) After expanding Arad Sibiu Timisoara Zerind 253 329 374 (c) After expanding Sibiu Arad Sibiu Timisoara Zerind 329 374 Arad Fagaras Oradea Rimnicu Vilcea 366 176 380 193 (d) After expanding Fagaras Arad Sibiu Timisoara Zerind 329 374 Arad Fagaras Oradea Rimnicu Vilcea 366 380 193 Sibiu Bucharest 253 0 ººº Ö Ý Ö ÕÙ ÙØ ÒÓØ ÓÔØ Ñ Ð Arad 366 Arad
º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ö Ý Ö ÈÖÓ Ð Ñ ÖÓÑ Á ØÓ Ö Arad 118 75 71 Zerind Timisoara 111 Dobreta Oradea 140 70 75 151 Lugoj Mehadia 120 Sibiu 99 Craiova Fagaras 80 Rimnicu Vilcea 97 Pitesti 8 < : 211 Ð Ø ÖØ Æ ÑØ ¹ Ò ÄÓÓÔ Ò Neamt 146 101 85 138 90 Giurgiu 87 Bucharest Urziceni Iasi 92 142 98 Vaslui Hirsova 86 Eforie Arad Bucharest Craiova Dobreta Eforie Fagaras Giurgiu Hirsova Iasi Lugoj 366 0 160 242 161 176 77 151 226 244 Mehadia Neamt Oradea Pitesti Rimnicu Vilcea Sibiu Timisoara Urziceni Vaslui Zerind 241 234 380 100 193 253 329 80 199 374
º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ö Ý Ö ÈÖÓÔ ÖØ Ä ÔØ ¹ Ö Ø Ø Ò ØÓ ÓÐÐÓÛ Ò Ð Ô Ø ØÓ Ø Ó Ð Ä ÔØ ¹ Ö Ø 8 < : ÆÓØ ÓÑÔÐ Ø Ì Ñ ÓÑÔÐ Ü ØÝ O(b m ) m Ñ Ü ÑÙÑ ÔØ ÆÓØ ÓÔØ Ñ Ð ËÔ ÓÑÔÐ Ü ØÝ O(b m ) Ö Ø Ò ÐÐ ÒÓ Ò Ñ ÑÓÖÝ ÓÓ h ÙÒØ ÓÒ ÓÒ Ö Ðݵ Ö Ù Ô Ò Ø Ñ ÙØ h ÙÒØ ÓÒ Ö ÔÖÓ Ð Ñ Ô Ò ÒØ
º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÀÑѺºº Ö Ñ Ò Ñ Þ Ø Ñ Ø Ó Ø ØÓ Ó Ð h(n) Ö Ý ÙØ Ö Ó Ø ÓÒ Ö ÐÝ ÙØ ÒÓØ ÓÔØ Ñ Ð ÒÓØ ÓÑÔÐ Ø Ö Ñ Ò Ñ Þ Ó Ø Ó Ø Ô Ø Ó Ö g(n) ÍÒ ÓÖÑ¹Ó Ø ÓÔØ Ñ Ð Ò ÓÑÔÐ Ø ÙØ Ò Û Ø ÙÐ Ó Ö ÓÙÖ Ö Ñ Ò Ñ Þ f(n) = g(n) + h(n) Æ Û¹ ع Ö Ø ÓÑ Ò Ö Ý Ò ÙÒ ÓÖÑ¹Ó Ø Ö f(n) Ø Ñ Ø Ó Ø Ó Ô Ø ÓÐÙØ ÓÒ Ú n ÈÖÓÚ ÐÝ ÓÑÔÐ Ø Ò ÓÔØ Ñ Ð h(n) Ñ Ð
ÓÑÔÐ Ø ÓÔØ Ñ Ð Ò ÓÔØ Ñ ÐÐÝ ÒØ Ù Ò ÈÖÓÚ ÐÝ ÌÖ ¹Ë Ö º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ë Ö Ö Ö ÜÔ Ò Ò Ø ÒÓ Ò Ø Ö Ò Û Ø Ñ Ò Ñ Ð Ø¹ Ö Ø f(n) = g(n) + h(n) Ö Û Ø Ñ Ð h(n) Ö Û Ø ÓÒ Ø ÒØ h(n) Ê Ñ Ò ÓÔØ Ñ Ð Ú Ò Ù Ò Ö Ô ¹Ë Ö Ë ÌÖ ¹Ë Ö Ú Ö Ù Ö Ô ¹Ë Ö Ô µ
Ñ Ð ÙÖ Ø ÙÖ Ø Ø Ø Ò Ú Ö ÓÚ Ö Ø Ñ Ø Ø Ò ØÓ Ö Ø Ó Ð Ó Ø º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ñ Ð ÙÖ Ø ÓÔØ Ñ Ø Ø Ò Ø Ó Ø Ó ÓÐÚ Ò Ð Ø Ò Ø ØÙ ÐÐÝ Ü ÑÔÐ 8 >< >: ØÖ Ú Ð ØÖ Ø Ð Ò Ø Ò Á Ò Ý Ö ØÓ Ò ÓÐÐ Ø Ð Ø µ Ï Ö Ý Ö Û Ý ÖÓÑ Ø Ö Ø Ø ØÓ Å Ö Ø Ð Ø µ h Ñ Ð Á Ò Ú Ö ÓÚ Ö Ø Ñ Ø Ø ØÙ Ð Ó Ø Ó f(n) Ø Ø ÓÐÙØ ÓÒ Ø ÖÓÙ nº
Ë Ö ÖÓÑ Ö ØÓ Ù Ö Ø (a) The initial state Arad 366=0+366 (b) After expanding Arad Arad Sibiu 393=140+253 Timisoara 447=118+329 Zerind 449=75+374 (c) After expanding Sibiu Arad Sibiu Timisoara Zerind 447=118+329 449=75+374 Arad Fagaras Oradea Rimnicu Vilcea 646=280+366 415=239+176 671=291+380 413=220+193 (d) After expanding Rimnicu Vilcea Arad Sibiu Timisoara Zerind 447=118+329 449=75+374 Arad Fagaras Oradea 646=280+366 415=239+176 671=291+380 Rimnicu Vilcea Craiova Pitesti Sibiu 526=366+160 417=317+100 553=300+253 (e) After expanding Fagaras Arad Sibiu Timisoara Zerind 447=118+329 449=75+374 Arad 646=280+366 Fagaras Oradea 671=291+380 Rimnicu Vilcea Sibiu Bucharest Craiova Pitesti Sibiu 591=338+253 450=450+0 526=366+160 417=317+100 553=300+253 (f) After expanding Pitesti Arad Sibiu Timisoara Zerind 447=118+329 449=75+374 Arad 646=280+366 Fagaras Oradea 671=291+380 Rimnicu Vilcea Sibiu Bucharest Craiova Pitesti Sibiu 591=338+253 450=450+0 526=366+160 553=300+253 Bucharest Craiova Rimnicu Vilcea 418=418+0 615=455+160 607=414+193 º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ
¾µ n Û ÒÓØ Ó Ò ÓÖ ÜÔ Ò ÓÒ f(n) f(g Ë Ò 2 µ ) º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ë Ö ÓÔØ Ñ Ð G G 2 Ø Ø g(g) = f(g) f(g Ó Ð 2 ) = g(g 2 ) h(g) = h(g 2 ) = 0 G ÓÔØ Ñ Ð Ó Ð Ø Ø C = f(g) G 2 Ù ÓÔØ Ñ Ð f(g 2 ) > C = f(g) ËÙÔÔÓ n ÒÓØ Ó Ò ÓÖ ÜÔ Ò ÓÒ h Ñ Ð C f(n) ¾µ µ C f(g 2 ) G n ½µ Ò µ Ö ÓÒØÖ ØÓÖÝ n ÓÙÐ Ó Ò ÓÖ ÜÔ Ò ÓÒ Start G 2 ½µ µ
ÖÓÑ Ø Ö Ò ÓÖ ÜÔ Ò ÓÒ ÒÓØ Û Ò Ø ÒÓ Ó Ò Ò Ö Ø º º ÓÙ ÖÝ ¾¼ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ó ÜÔ Ò Ï ÒÓ ÔÔÐ ØÓ ËØ Ø ÒÓ µ Û Ò ÒÓ Ó Ð¹Ì Ø Æ ÖÝ ÓÒ Ø ÓÒ ÒÝ ÒÓ ÜÔ Ò Ý Ú Ò ÒÒÓØ Ú ÐÙ Ü Ò f C ÓÖ ÐÐ ÒÓ ÜÔ Ò f(n) C Ì ÓÖ Ñ ² Ò È ÖÐ ÓÖ Ò Ð Ö ÙÐØ Ý Æ Ð ÓÒ ËÙ ÒØ ÓÒ Ø ÓÒ Ú ÖÝ ÒÓ Ò Ø Ö Ò ÓÖ f(n) < C Û ÐÐ Ú ÒØÙ ÐÐÝ ÜÔ Ò Ý ÙÑÑ ÖÝ ÁÒ ÐÐ ÒÓ Û Ø f(n) < C ÜÔ Ò ÜÔ Ò ÓÑ ÒÓ Û Ø f(n) = C ÜÔ Ò ÒÓ ÒÓ Û Ø f(n) > C
ÜÔ Ò ÒÓ ÖÓÑ Ö Ò Ò ÒÖ Ò f Ú ÐÙ Ò ÓÒ ÔØÙ ÐÐÝ Ö Û ÓÒØÓÙÖ Ò Ø Ö Ô Ï Ö Ø ÓÐÙØ ÓÒ ÓÙÒ Ò Ö ÐÝ Ø ÓÔØ Ñ Ð ÓÐÙØ ÓÒ Ì Ì Ø¹ Ó Ð ÔÔÐ Ø ÒÓ ÜÔ Ò ÓÒ Ö ÙÐ º º ÓÙ ÖÝ ¾½ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÜÔ Ò Ò ÓÒØÓÙÖ O N Z I A 380 S F V 400 T R L P H M U B 420 D E C G
º º ÓÙ ÖÝ ¾¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ë Ö ÓÑÔÐ Ø Ö ÜÔ Ò ÐÐ ÒÓ Û Ø f(n) < C Ø ÑÙ Ø Ë Ò Ø Ó Ð Ø Ø ÙÒÐ Ø Ö Ö Ò Ò Ø ÐÝ Ñ ÒÝ Ö Ú ÒØÙ ÐÐÝ ÒÓ f(n) < C ÓÑÔÐ Ø 8 >< >: 8 >< >: ½º ÒÓ Û Ø Ò Ò Ø Ö Ò Ò ØÓÖ ÓÖ ¾º Ô Ø Û Ø Ò Ò Ø ÒÙÑ Ö Ó ÒÓ ÐÓÒ Ø ÓÒ ÐÓ ÐÐÝ Ò Ø Ö Ô Ò δ > 0 ÓÒ Ø ÒØ Ø Ó Ø Ó ÓÔ Ö ØÓÖ > δ
ÑÙ Ø Ô ÐÐ ÒÓ Ò Ñ ÑÓÖÝ ËÔ Ó ÒÓ Û Ø Ò Ó Ð ÓÒØÓÙÖ ÜÔÓÒ ÒØ Ð Ò Ð Ò Ø ÆÙÑ Ö º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ë Ö ÓÑÔÐ Ü ØÝ Ì Ñ Ò Ö Ð Ø Ú ÖÖÓÖ Ò h Ð Ò Ø Ó ÓÐÙØ ÓÒ Ô Ø µ ÜÔÓÒ ÒØ Ð ººº ÕÙ Ø Ó ÓÐÙØ ÓÒºººº ÙÒÐ Ø ÖÖÓÖ Ò Ø ÙÖ Ø ÙÒØ ÓÒ h(n) h (n) ÖÓÛ ÒÓ Ø Ö Ø Ò Ø ÐÓ Ó Ø ØÙ Ð Ô Ø h(n) h (n) O(log h (n)) Ó Ø ÔÖ Ø Ø ÖÖÓÖ ÔÖÓÔÓÖØ ÓÒ Ðººº ÑÔÖ Ø Ðºº ÁÒ Ñ ÓÖ Ö Û Ó ÖÙÒ ÓÙØ Ó Ô ÕÙ ÐÝ Å ÑÓÖÝ ÓÙÒ Ë Ö Á ÒÓØ Ö Ö µ
ÔÖÓÓ ÒÓØ ÔÖ ÒØ µ ÒÝ Ð ÓÖ Ø Ñ Ø Ø Ó ÒÓØ ÁÒØ ÖÔÖ Ø Ø ÓÒ ÐÐ ÒÓ ØÛ Ò ÖÓÓØ Ò Ø Ó Ð ÓÒØÓÙÖ Ö Ñ Ò ÜÔ Ò º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ë Ö ÓÔØ Ñ ÐÐÝ ÒØ ÓÖ Ú Ò Ú ÐÙ Ø ÓÒ ÙÒØ ÓÒ ÒÓ ÓØ Ö Ð ÓÖ Ø Ñ Ø Ø Ò ºº ÒÝ ÓÐÙØ ÓÒ Ù Ö ÒØ ØÓ ÜÔ Ò Û Ö ÒÓ Ø Ò ÓÔØ Ñ Ð Ø Ø ÓÔØ Ñ Ð ÓÐÙØ ÓÒ
Ú º Ö Ô ¹Ë Ö ÌÖ ¹Ë Ö ÓÓ Ò ÒÓ ÖÓÑ Ø Ö Ò Ò ÓÖ ÜÔ Ò Ò Ø Ø Ö Ò ÙÖ Ø Ø Ø ÓÔØ Ñ Ð Ô Ø ØÓ ÒÝ Ö Ô Ø Ø Ø Ø Ö Ø ¾º ÓÙÒ ÓÒ º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ Û Ø Ö ËØ Ø ÒÓ µ Û Ú Ø ÓÖ ØÓ Ö Ô ¹Ë Ö ÐÓÓÔ º ÚÓ Ö Ô ¹ Ö Ñ Ý ÐÓ ÓÔØ Ñ Ð ÓÐÙØ ÓÒ ËÓÐÙØ ÓÒ ÁÒ Ö Ô ¹Ë Ö Ö Ø ÑÓÖ ÜÔ Ò Ú Ô Ø ØÓ ÒÓ ½º ÓÒ Ø ÒÝ
Ó ÓÒ Ù Ò Ø ÖÑ ÒÓÐÓ Ý ÓÒ Ø Òس Ò ÑÓÒÓØÓÒ ³ Û Ö Ó h ÒÓØ Ò Ö ÐÝ Ö Ò»ÒÓÒ ÒÖ Ò Î ÐÙ º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÓÒ Ø ÒÝ ÓÒ Ø ÒØ h(n) n Ò n Ù ÓÖ Ó n ÐÓÒ Ô Ø Û Ú Á h(n) k(n, n ) + h(n k Ó Ø Ó Ô Ø Ô Ø ÖÓÑ n ØÓ n ) ÅÓÒÓØÓÒ ØÝ ÑÓÒÓØÓÒ h(n) n Ò n Ù ÓÖ Ó n Ò Ö Ø Ý Ø ÓÒ a Û Ú Á h(n) c(n, a, n ) + h(n n Ò ÑÑ Ø Ù ÓÖ Ó n ) ÌÖ Ò Ð Ò ÕÙ Ð ØÝ n, n, Ó Ð µ ÁÑÔÓÖØ ÒØ h ÓÒ Ø ÒØ h ÑÓÒÓØÓÒ
º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÈÖÓÔ ÖØ Ó h ÁÑÔÓÖØ ÒØ Ö ÙÐØ h ÓÒ Ø ÒØ h ÑÓÒÓØÓÒ ÓÒ Ø ÒØ h Ñ Ð h ØÖ Ø Ö Ø Ò Ñ Ð ØÝ ÓÒ Ø ÒÝ È ÖÐ µ ÁÅ Ü Ö º µ h ÓÒ Ø ÒØ f ÒÓÒ Ö Ò f(n ) = g(n )+h(n ) = g(n)+c(n,a, n )+h(n ) g(n)+h(n) = f(n) h ÓÒ Ø ÒØ Ù Ò Ö Ô ¹Ë Ö ÓÔØ Ñ ÐÐÝ ÒØ
Ó f Ú ÐÙ ÐÓÒ Ô Ø Ö ÒÓÒ Ö Ò ÅÓÒÓØÓÒ ØÝ f ÒÓØ ÑÓÒÓØÓÒ Ù Ô Ø Ñ Ü ÕÙ Ø ÓÒ Ï Ò º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ È Ø Ñ Ü ÕÙ Ø ÓÒ f(n ) = max(f(n), g(n ) + h(n )) Ò Ú Ö Ö ÐÓÒ ÒÝ Ô Ø ÓÙØ ÖÓÑ ÖÓÓØ g(n) = 3 h(n) = 4 g(n ) = 4 h(n ) = 2 n n ÓÙ Ñ Ý ÒÓÖ Ø Ð È Ø Ñ Ü Ù Ö ÒØ f ÒÓÒ Ö Ò Ó ÒÓØ Ù Ö ÒØ h ÓÒ Ø ÒØ Ó ÒÓØ Ù Ö ÒØ Ö Ô ¹Ë Ö ÓÔØ Ñ ÐÐÝ ÒØ
º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÓÖ ËÙÑÑ Ö Þ Ò Ò Ø ÓÒ Ø¹ Ö Ø Ö Ø Ø ÜÔ Ò Ø ÒÓ Ò Ø Ö Ò Û Ø Ñ Ò Ñ Ð f(n) = g(n) + h(n) Ò Ñ Ð ÙÒØ ÓÒ h Ò Ú Ö ÓÚ Ö Ø Ñ Ø Ø Ø Ò ØÓ Ø Ó Ðº h Ñ Ð ÓÑÔÐ Ø ÓÔØ Ñ Ð ÓÔØ Ñ ÐÐÝ ÒØ Ù Ò ÌÖ ¹Ë Ö h ÓÒ Ø ÒØ h ÑÓÒÓØÓÒ ÓÒ Ø ÒØ h Ñ Ð h ÓÒ Ø ÒØ h ÒÓÒ Ö Ò f h ÓÒ Ø ÒØ Ö Ñ Ò ÓÔØ Ñ Ð Ù Ò Ö Ô ¹Ë Ö
ÙÖ Ø ÙÒØ ÓÒ Ñ Ð Ü ÑÔÐ º º ÓÙ ÖÝ ¼ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÊÓÙØ ¹ Ò Ò ÔÖÓ Ð Ñ ØÖ Ø¹Ð Ò Ø Ò ¹ÔÙÞÞÐ h 1 (S) h 2 (S) 8 < : h 1 (n) = ÒÙÑ Ö Ó Ñ ÔÐ Ø Ð h 2 (n) = ØÓØ Ð Å Ò ØØ Ò Ø Ò 5 6 7 4 1 3 Start State 8 2 51 42 3 68 7 6 Goal State 84 25
º º ÓÙ ÖÝ ½ ÁÒ ØÖÙØÓÖ³ ÒÓØ È Ö ÓÖÑ Ò Ó Ñ Ð ÙÖ Ø ÙÒØ ÓÒ Ö Ø Ö ØÓ ÓÑÔ Ö Ñ Ð ÙÖ Ø ÙÒØ ÓÒ ÌÛÓ Ø Ú Ö Ò Ò ØÓÖ b ½º ¾º ÓÑ Ò Ò ÒÙÑ Ö Ó ÒÓ ÜÔ Ò
º º ÓÙ ÖÝ ¾ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ø Ú Ö Ò Ò ØÓÖ b Ì ÙÖ Ø ÜÔ Ò N ÒÓ Ò ØÓØ Ð Ì ÓÐÙØ ÓÒ ÔØ d b Ø Ö Ò Ò ØÓÖ Ø ØÖ Ò ÙÒ ÓÖÑ N = 1 + b + (b ) 2 +... + (b ) d = (b ) d+1 1 b 1 Ü ÑÔÐ N ¾ d b = 1.92
ÓÑ Ò Ò h Á 2 (n) h 1 ÓÖ ÐÐ (n) ÓØ Ñ Ð µ n º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ø Ò h 2 ÓÑ Ò Ø h 1 Ò ØØ Ö ÓÖ Ö ÌÝÔ Ð Ö Ó Ø ÒÓ ÜÔ Ò (h 1 ) (h 2 ) d = 12 d = ØÓÓ Ñ ÒÝ ½ ½ ½ 24 ÜÔ Ò ÐÐ ÒÓ f(n) < C g(n) + h(n) < C h(n) < C g(n) h Á 1 h Û Ø 2 h 1 ÜÔ Ò Ø Ð Ø Ñ ÒÝ ÒÓØ Û ÐÐ ÐÛ Ý Ø Ò Û Ø h ÑÓÖ µ ÒÓ 2 ÁØ ÐÛ Ý ØØ Ö ØÓ Ù ÙÖ Ø ÙÒØ ÓÒ Û Ø Ú ÐÙ ÐÓÒ Ø Ó ÒÓØ ÓÚ Ö Ø Ñ Ø Ö Ñ Ò Ö Ñ Ð µ
º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÀÓÛ ØÓ Ò Ö Ø Ñ Ð ÙÖ Ø Í Ü Ø ÓÐÙØ ÓÒ Ó Ø Ó Ö Ð Ü Öµ ÔÖÓ Ð Ñ ËØ Ô ÓÒ Ö ÔÖÓ Ð Ñ P Ì ÔÖÓ Ð Ñ P Ö Ø Ò P Ò ÓÐÙØ ÓÒ ØÓ P Í ÓÐÙØ ÓÒ Ó P ÙÖ Ø ÓÖ P
Ø ¹ÔÙÞÞÐ ÔÖÓ Ð Ñ Ê Ð Ü Ò Ø Ð Ò ÑÓÚ ÑÓ ÕÙ Ö ØÓ ÕÙ Ö Ø Ð Ò ÑÓÚ ÖÓÑ ÕÙ Ö ØÓ ÕÙ Ö ÒØ ØÓ ½º ÖÙÐ Ö Ö Ð Ü Ó Ø Ø Ø Ð Ò ÑÓÚ ØÓ ÒÝ ÒØ Ì Ø Ð Ò ÑÓÚ ÖÓÑ ÕÙ Ö ØÓ ÕÙ Ö Ð Ò ¾º ÙÖ Ø Ü Ö º ½ ÁÅ Ô ½½ µ Ò Ø Ð Ò ÑÓÚ ÖÓÑ ÕÙ Ö ØÓ ÕÙ Ö º ÖÙÐ Ó Ø ¹ÔÙÞÞÐ Ö Ö Ð Ü Ó Ø Ø Ø Ð Ò ÑÓÚ Ì º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÓÖ ÞÓÒØ ÐÐÝ ÓÖ Ú ÖØ ÐÐݵ ÒØ ØÓ Ò Ð Ò Ø ÓÖØ Ø ÓÐÙØ ÓÒ Ò Ù ÙÖ Ø ÕÙ Ö h 2 (n)µ Ø ÓÖØ Ø ÓÐÙØ ÓÒ Ò Ù ÙÖ Ø ÒÝÛ Ö h 1 (n)µ
º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ò Ñ Ð ÙÖ Ø ÓÖ Ø ÌËÈ Ô Ø ÒÝ ØÖÙØÙÖ Ø Ø ÓÒÒ Ø ÐÐ Ø Ä Ø Ñ Ò ÑÙÑ Ô ÒÒ Ò ØÖ ÙÖ Ø ÔÓÐÝÒÓÑ Ðµ = Ü Ö º ¼ ÁÅ Ô ½½ µ
Ú Ø Ó Ñ Ð ÙÖ Ø h Ï 1, h 2, h 3,...,h m ÒÓ ÙØ Ø Ø ÓÑ Ò Ø ÐÐ ÓØ Ö Û Ø ØÓ Ó ÙÖ Ø º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ ÓÑ Ò Ò Ú Ö Ð Ñ Ð ÙÖ Ø ÙÒØ ÓÒ h(n) = max(h 1 (n), h 2 (n),...,h m (n)) h Ñ Ð Ò ÓÑ Ò Ø ÐÐ ÓØ Ö º ÈÖÓ Ð Ñ Ó ÓÑÔÙØ Ò Ø ÙÖ Ø Ú º Ó Ø Ó ÜÔ Ò Ò ÒÓ µ Ó Ø
Ó ÓÔØ Ñ Ð ÓÐÙØ ÓÒ ØÓ Ù ÔÖÓ Ð Ñ Ù ÐÓÛ Ö ÓÙÒ Ó Ø Ù Ø ÒØ ÐÐÝ ÑÓÖ ÙÖ Ø Ø Ò Å Ò ØØ Ò Ø Ò µ Ò º º ÓÙ ÖÝ ÁÒ ØÖÙØÓÖ³ ÒÓØ Ù ÔÖÓ Ð Ñ ØÓ Ö Ú Ò Ñ Ð ÙÖ Ø ÙÒØ ÓÒ Í Ò Ø ½ ¾ ÒØÓ Ø Ö ÓÖÖ Ø ÔÓ Ø ÓÒ ÒÓÖ Ò Ø Ó Ð ÒØ Øݳ Ó Ø ÓØ Ö Ø Ð 5 8 2 3 Start State 4 6 1 1 Goal State 2 3 54 6 7 8 Ø È ØØ ÖÒ Á ÒØ Ý Ô ØØ ÖÒ Û Ö ÔÖ ÒØ Ú Ö Ð ÔÓ Ð Ø Ø µ ËØÓÖ Ó Ø Ó Ü Ø ÓÐÙØ ÓÒ Ó Ô ØØ ÖÒ ÙÖ Ò Ö Ö ØÖ Ú Ó Ø Ó Ô ØØ ÖÒ Ò Ù Ø Øµ Ø Ñ Ø Ó Ø Ó Ù Ð Ò Ø Ø ÑÓÖØ Þ ÓÚ Ö Ø Ñ ³