SlideShare a Scribd company logo
1 of 19
Download to read offline
‫آﮔﺎﻫﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫روش‬‫ﺠﻮي‬ ‫ﺟ‬ ‫ي‬ ‫روش‬
‫ﭼﻬﺎرم‬ ‫ﻓﺼﻞ‬
‫رﺿﻮي‬ ‫ﻧﺎﺻ‬ ‫ﺪ‬ ‫ﺳ‬‫رﺿﻮي‬ ‫ﻧﺎﺻﺮ‬ ‫ﺳﻴﺪ‬
razavi@Comp.iust.ac.irEmail:
1386
‫ﻣﻘﺪﻣﻪ‬‫ﻣﻘﺪﻣﻪ‬
•‫ﺟﺴﺘﺠﻮي‬‫اول‬-‫ﺑﻬﺘﺮﻳﻦ‬(Best-First Search) ‫ﺟﺴﺘﺠﻮي‬‫اول‬‫ﺑﻬﺘﺮﻳﻦ‬(Best First Search)
•‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬(Greedy search)
•‫ﺟﺴﺘﺠﻮي‬A*‫و‬‫ﺧﺼﻮﺻﻴﺎت‬‫آن‬ ‫ﺠﻮي‬ ‫ﺟ‬‫و‬‫ت‬ ‫ﺼﻮﺻﻴ‬‫ن‬
•‫ﺟﺴﺘﺠﻮي‬‫ﻋﻤﻴﻖ‬‫ﻛﻨﻨﺪه‬‫ﺗﻜﺮاري‬A*‫و‬SMA*
•‫ﺘﺠﻮي‬ ‫ﺟ‬‫اول‬‫ﻳﻦ‬ ‫ﺑﻬﺘ‬‫ﺑﺎزﮔﺸﺘ‬(RBFA*) ‫ﺟﺴﺘﺠﻮي‬‫اول‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺑﺎزﮔﺸﺘﻲ‬(RBFA )
•‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻫﺎ‬(Heuristics)
‫اﻟﮕ‬‫ﺎ‬‫ﻠ‬ •‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎي‬‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﻠﻲ‬
•‫ﺟﺴﺘﺠﻮي‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬(Hill Climbing)
Si l t d A li •‫ﺟﺴﺘﺠﻮي‬Simulated Annealing
•‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎي‬‫ژﻧﺘﻴﻚ‬
N. Razavi - AI course - 2007 2
‫ﻧﺎآﮔﺎﻫﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫روش‬ ‫ﻣﺸﻜﻼت‬‫ﻧﺎآﮔﺎﻫﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫روش‬ ‫ﻣﺸﻜﻼت‬
‫ﮔ‬‫ﮔ‬‫ﻄ‬‫آ‬ •‫ﻣﻌﻴﺎر‬‫اﻧﺘﺨﺎب‬‫ﮔﺮه‬‫ﺑﻌﺪي‬‫ﺑﺮاي‬‫ﮔﺴﺘﺮش‬‫دادن‬‫ﺗﻨﻬﺎ‬‫ﺑﻪ‬‫ﺷﻤﺎره‬‫ﺳﻄﺢ‬‫آن‬
‫ﺑﺴﺘﮕﻲ‬‫دارد‬. ‫ﻲ‬ ‫ﺑ‬‫ر‬
•‫از‬‫ﺳﺎﺧﺘﺎر‬‫ﻣﺴﺄﻟﻪ‬‫ﺑﻬﺮه‬‫ﻧﻤﻲ‬‫ﺑﺮﻧﺪ‬.
•‫درﺧﺖ‬‫ﺟﺴﺘﺠﻮ‬‫را‬‫ﺑﻪ‬‫ﻳﻚ‬‫روش‬‫از‬‫ﭘﻴﺶ‬‫ﺗﻌﺮﻳﻒ‬‫ﺷﺪه‬‫ﮔﺴﺘﺮش‬
‫ﻣ‬‫دﻫﻨﺪ‬‫ﻳﻌﻨ‬‫ﺖ‬ ‫ﻗﺎﺑﻠ‬‫ﻖ‬ ‫ﺗﻄ‬‫ي‬ ‫ﭘﺬﻳ‬‫ﺑﺎ‬‫آﻧﭽﻪ‬‫ﻛﻪ‬‫ﺗﺎ‬‫ن‬ ‫ﻛﻨ‬‫د‬‫ﻣ‬ ‫ﻣﻲ‬‫دﻫﻨﺪ‬.‫ﻳﻌﻨﻲ‬‫ﻗﺎﺑﻠﻴﺖ‬‫ﺗﻄﺒﻴﻖ‬‫ﭘﺬﻳﺮي‬‫ﺑﺎ‬‫آﻧﭽﻪ‬‫ﻛﻪ‬‫ﺗﺎ‬‫ﻛﻨﻮن‬‫در‬‫ﻣﺴﻴﺮ‬
‫ﺟﺴﺘﺠﻮ‬‫درﻳﺎﻓﺘﻪ‬‫اﻧﺪ‬‫و‬‫ﻧﻴﺰ‬‫ﺣﺮﻛﺘﻲ‬‫ﻛﻪ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺧﻮب‬‫ﺑﺎﺷﺪ‬‫ﻧﺪارﻧﺪ‬.
N. Razavi - AI course - 2007 3
‫ﻣﺮور‬‫درﺧﺖ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺮور‬:‫درﺧﺖ‬ ‫ﺟﺴﺘﺠﻮي‬
function GENERAL-SEARCH( problem, strategy) returns a solution , or failure
initialize the search tree using the initial state of probleminitialize the search tree using the initial state of problem
loop do
if there are no candidates for expansion then return failure
choose a leaf node for expansion according to strategy
if the node contains the goal state then return the corresponding solution
else expand the node and add the resulting node to the search treeelse expand the node and add the resulting node to the search tree
end
••‫اﺳﺘﺮاﺗﮋي‬‫ﺗﻮﺳﻂ‬‫ﺗﺮﺗﻴﺐ‬‫ﺗﺮﺗﻴﺐ‬‫ﮔﺴﺘﺮش‬‫ﮔﺴﺘﺮش‬‫ﻳﺎﻓﺘﻦ‬‫ﻳﺎﻓﺘﻦ‬‫ﮔﺮه‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﻫﺎ‬‫ﺗﻌﺮﻳﻒ‬‫ﻣﻲ‬‫ﺷﻮد‬.
N. Razavi - AI course - 2007 4
‫اول‬ ‫ﺟﺴﺘﺠﻮي‬‫ﺑﻬﺘﺮﻳﻦ‬ ‫اول‬ ‫ﺟﺴﺘﺠﻮي‬-‫ﺑﻬﺘﺮﻳﻦ‬
•‫اﻳﺪه‬:‫ﺑﺮاي‬‫ﻫﺮ‬‫ﮔﺮه‬‫از‬‫ﻳﻚ‬‫ﺗﺎﺑﻊ‬‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬‫ارزﻳﺎﺑﻲ‬(evaluation function)‫اﺳﺘﻔﺎده‬‫ﻛﻦ‬.
–‫ﺗﺨﻤﻴﻦ‬”‫ﻣﻴﺰان‬‫ﻣﻄﻠﻮب‬‫ﺑﻮدن‬“‫ﮔﺮه‬
‫ﻫﺮﺑﺎر‬‫ﻣﻄﻠﻮب‬‫ﺗﺮﻳﻦ‬‫ﮔﺮه‬‫ﮔﺴﺘﺮش‬‫ﻧﻴﺎﻓﺘﻪ‬‫را‬‫ﺑﺴﻂ‬‫ﻣﻲ‬‫دﻫﺪ‬.
••‫ﭘﻴﺎده‬‫ﭘﻴﺎده‬‫ﺳﺎزي‬‫ﺳﺎزي‬::
fringefringe‫ﻳﻚ‬‫ﺻﻒ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬‫ﺑﺮ‬‫اﺳﺎس‬‫ﻣﻴﺰان‬‫ﻣﻄﻠﻮب‬‫ﺑﻮدن‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﻣﺮﺗﺐ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. ‫ﻳ‬‫ﻲ‬‫ﺑ‬‫ﺑﺮ‬‫س‬‫ﻴﺰ‬‫ﻮب‬‫ﺑﻮ‬‫ﺮ‬‫ﺐ‬ ‫ﺮ‬‫ﻲ‬‫ﺑ‬
•‫ﻣﻮارد‬‫ﺧﺎص‬: ‫ر‬ ‫ﻮ‬‫ص‬
–‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬(Greedy search)
–‫ﺟﺴﺘﺠﻮي‬A*
N. Razavi - AI course - 2007 5
‫ﻞ‬ ‫ا‬ ‫ﻨ‬ ‫ﺰ‬ ‫ا‬ ‫ﺎﻧ‬ ‫ﻧﻘﺸ‬km ‫ﺑﺮﺣﺴﺐ‬ ‫ﻣﺮاﺣﻞ‬ ‫ﻫﺰﻳﻨﻪ‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫روﻣﺎﻧﻲ‬ ‫ﻧﻘﺸﻪ‬km
N. Razavi - AI course - 2007 6
‫اول‬ ‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ ‫اول‬ ‫ﺟﺴﺘﺠﻮي‬-‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬
•‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬f(n) = h( n))‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬(
‫ﮔ‬‫ﻜ‬ •=‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫از‬‫ﮔﺮه‬n‫ﺗﺎ‬‫ﻧﺰدﻳﻜﺘﺮﻳﻦ‬‫ﻫﺪف‬
•‫ﻣﺜﺎل‬:hSLD(n)=‫ﻓﺎﺻﻠﻪ‬‫ﻣﺴﺘﻘﻴﻢ‬‫از‬n‫ﺗﺎ‬‫ﺑﺨﺎرﺳﺖ‬. SLD( )‫ﻴﻢ‬‫ﺑ‬
‫ﮔ‬‫ﮔ‬ •‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬‫ﮔﺮه‬‫اي‬‫را‬‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻧﻈﺮ‬‫ﻣﻲ‬‫رﺳﺪ‬
‫ﻳﻦ‬ ‫ﻧﺰدﻳﻜﺘ‬‫ه‬ ‫ﮔ‬‫ﺑﻪ‬‫ﻫﺪف‬)‫ﺑﺨﺎرﺳﺖ‬(‫ﺑﺎﺷﺪ‬ ‫ﻧﺰدﻳﻜﺘﺮﻳﻦ‬‫ﮔﺮه‬‫ﺑﻪ‬‫ﻫﺪف‬)‫ﺑﺨﺎرﺳﺖ‬(‫ﺑﺎﺷﺪ‬.
N. Razavi - AI course - 2007 7
‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬
Arad
ZerindTimisoaraSibiu
A d F O d
Rimnicu
253 374329
Arad Fagaras Oradea
Rimnicu
Vilcea
366 380176 193
0: [A(366)]
1: [S(253), T(329), Z(374)]
2 [F(176) R(193) T(329) A(366)
Sibiu Bucharest
0
2: [F(176), R(193), T(329), A(366),
Z(374), O(380)]
3: [B(0), R(193), S(253), T(329), A(366),
0253
[ ( ), ( ), ( ), ( ), ( ),
Z(374), O(380)]
4: [R(193), S(253), T(329), A(366),
Z(374) O(380)]
N. Razavi - AI course - 2007 8
Z(374), O(380)]
‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﺧﻮاص‬‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﺧﻮاص‬
•‫ﻛﺎﻣﻞ‬‫؟‬‫؟‬،‫ﺧﻴﺮ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫در‬‫ﺣﻠﻘﻪ‬‫ﮔﻴﺮ‬‫ﻛﻨﺪ‬.
–‫ﻣﺜﺎل‬:‫ﺣﺎﻟﺖ‬‫اوﻟﻴﻪ‬Iasi،‫ﺣﺎﻟﺖ‬‫ﻫﺪف‬Fagaras ‫ل‬‫ﻴ‬ ‫و‬‫ف‬g
Iasi Neamt Iasi Neamt …
•‫ﭘﻴﭽﻴﺪﮔﻲ‬‫زﻣﺎﻧﻲ‬‫؟‬‫؟‬O(bm)،‫اﻣﺎ‬‫ﺑﺎ‬‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﺧﻮب‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺑﺴﻴﺎر‬‫ﺑﻬﺒﻮد‬‫ﻳﺎﺑﺪ‬.
•‫ﭘﻴﭽﻴﺪﮔﻲ‬‫ﺣﺎﻓﻈﻪ‬‫؟‬‫؟‬O(bm)،‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫را‬‫در‬‫ﺣﺎﻓﻈﻪ‬‫ﻧﮕﻪ‬‫ﻣﻲ‬‫دارد‬. ‫م‬
•‫ﺑﻬﻴﻨﻪ؟‬،‫ﺧﻴﺮ‬)‫ﺑﺎ‬‫ﺗﻮﺟﻪ‬‫ﺑﻪ‬‫ﻣﺜﺎل‬‫ﻗﺒﻞ‬( ‫؟‬ ‫ﺑﻬﻴ‬،‫ﻴﺮ‬)‫ﺑ‬‫ﻮﺟ‬‫ﺑ‬‫ل‬‫ﺒﻞ‬(
N. Razavi - AI course - 2007 9
‫ﺟﺴﺘﺠﻮي‬A* ‫ﺟﺴﺘﺠﻮي‬A*
•‫اﻳﺪه‬:‫از‬‫ﮔﺴﺘﺮش‬‫ﻣﺴﻴﺮﻫﺎﻳﻲ‬‫ﻛﻪ‬‫ﺗﺎﻛﻨﻮن‬‫ﻣﺸﺨﺺ‬‫ﺷﺪه‬‫ﭘﺮﻫﺰﻳﻨﻪ‬‫ﻣﻲ‬،‫ﺑﺎﺷﻨﺪ‬‫اﺟﺘﻨﺎب‬‫ﻛﻦ‬.
•A*:‫ﺗﺮﻛﻴﺐ‬‫ﻣﺰاﻳﺎي‬UCSUCS‫و‬‫ﺟﺴﺘﺠﻮي‬‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬‫ﺣﺮﻳﺼﺎﻧﻪ‬:
–‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬h(n)‫را‬‫ﺣﺪاﻗﻞ‬‫ﻣﻲ‬،‫ﻛﻨﺪ‬‫ﻧﻪ‬‫ﻛﺎﻣﻞ‬‫و‬‫ﻧﻪ‬‫ﺑﻬﻴﻨﻪ‬ ‫ﺠﻮي‬ ‫ﺟ‬‫ﺮﻳ‬( )‫ر‬‫ﻞ‬‫ﻲ‬‫ﻞ‬‫و‬‫ﺑﻬﻴ‬
–‫ﺟﺴﺘﺠﻮي‬UCS،‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫را‬‫ﺣﺪاﻗﻞ‬‫ﻣﻲ‬‫ﻛﻨﺪ؛‬‫ﻛﺎﻣﻞ‬‫و‬‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ؛‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺑﺴﻴﺎر‬‫زﻣﺎﻧﺒﺮ‬‫ﺑﺎﺷﺪ‬.
••‫ﺗﺎﺑﻊ‬‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬‫ارزﻳﺎﺑﻲ‬
f( n) = g( n) + h( n)f( n) g( n) h( n)
•g( n):‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫ﭘﻴﻤﻮده‬‫ﺷﺪه‬‫ﺗﺎ‬n.
•h( n):‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ارزاﻧﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫از‬n‫ﺗﺎ‬‫ﻫﺪف‬‫ﻫﺪف‬. h( n):‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ارزاﻧﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫از‬n‫ﺗﺎ‬‫ﻫﺪف‬‫ﻫﺪف‬.
•f( n):‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ارزاﻧﺘﺮﻳﻦ‬‫راه‬‫ﺣﻞ‬‫ﻛﻪ‬‫از‬n‫ﻣﻲ‬‫ﮔﺬرد‬.
N. Razavi - AI course - 2007 10
‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬A*
Arad
366=0+366
ZerindTimisoaraSibiu
393=140+253 449=75+374447=118+329
Arad Fagaras Oradea
Rimnicu
Vilcea
Craiova Pitesti
646=280+366 415=293+176
SibiuSibiu Bucharest
671=291+380 413=220+193
Craiova Pitesti
526=366+160 417=317+100
Sibiu
553=300+253
Sibiu Bucharest
591=338+253 450=450+0
Bucharest Craiova
418=418+0 615=455+160
Rimnicu
vilcea
607=414+193
N. Razavi - AI course - 2007 11
418=418+0 615=455+160 607=414+193
‫ﺟﺴﺘﺠﻮي‬A* ‫ﺟﺴﺘﺠﻮي‬A*
A*‫از‬‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﻗﺒﻮل‬(admissible)(admissible)‫اﺳﺘﻔﺎده‬‫ﻣﻲ‬،‫ﻛﻨﺪ‬
،‫ﻳﻌﻨﻲ‬‫ﻫﻤﻮاره‬h(n) ≤ h*(n)‫ﻛﻪ‬‫در‬‫آن‬h*(n)‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬n‫ﺗﺎ‬‫ﻫﺪف‬ ،‫ﻳﻌﻨﻲ‬‫ﻫﻤﻮاره‬h(n) ≤ h (n)‫ﻛﻪ‬‫در‬‫آن‬h (n)‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬n‫ﺗﺎ‬‫ﻫﺪف‬
‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.
‫ﻫﻢ‬‫ﭼﻨﻴﻦ‬‫دارﻳﻢ‬ ‫ﻢ‬‫ﻴﻦ‬ ‫ﭼ‬‫رﻳﻢ‬
h(n) ≥ 0‫و‬
h(G) = 0)G‫ﻚ‬‫ﻫﺪف‬‫ﺎﺷﺪ‬( h(G) = 0)G‫ﻳﻚ‬‫ﻫﺪف‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬(.
‫ﺑﻪ‬‫ﻃﻮر‬‫ﻛﻠﻲ‬:
0 h( ) h*( )0 ≤ h(n) ≤ h*(n)
‫ﻣﺜﺎل‬:‫در‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬hSLD(n)‫ﻫﻴﭽﮕﺎه‬‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ﺑﻴﺸﺘﺮ‬‫از‬‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬
‫ا‬ ‫ﺨ‬)‫ﺎ‬ ‫ﻛ‬‫ﻠ‬ ‫ﻓﺎ‬‫ﻘﻄ‬‫ﻠ‬ ‫ﻓﺎ‬‫ﻘ‬‫آ‬‫ﻘﻄ‬ ‫ﻧﺨﻮاﻫﺪ‬‫ﺑﻮد‬.)‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫ﻓﺎﺻﻠﻪ‬‫ﺑﻴﻦ‬‫دو‬،‫ﻧﻘﻄﻪ‬‫ﻓﺎﺻﻠﻪ‬‫ﻣﺴﺘﻘﻴﻢ‬‫آن‬‫دو‬‫ﻧﻘﻄﻪ‬
‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬(.
N. Razavi - AI course - 2007 12
‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬
•‫ﻳﻚ‬‫ﻚ‬ ‫ﺘ‬ ‫رﻳ‬ ‫ﻫ‬‫ﻣﺎﻧﻨﺪ‬h(n)‫ﻗﺎﺑﻞ‬‫ل‬ ‫ﻗ‬‫اﺳﺖ‬‫اﮔ‬‫اي‬ ‫ﺑ‬‫ﻫ‬‫ه‬ ‫ﮔ‬n‫داﺷﺘﻪ‬ •‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻣﺎﻧﻨﺪ‬h(n)‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫اﺳﺖ‬‫اﮔﺮ‬‫ﺑﺮاي‬‫ﻫﺮ‬‫ﮔﺮه‬n‫داﺷﺘﻪ‬
‫ﺑﺎﺷﻴﻢ‬:h(n) ≤ h*(n)‫ﻛﻪ‬h*(n)‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬‫ﺑﺮاي‬‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﻫﺪف‬‫از‬
‫ﮔﺮه‬n‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. ‫ﮔﺮه‬n‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.
•‫ﻳﻚ‬‫ﻚ‬ ‫ﺘ‬ ‫ﻮرﻳ‬ ‫ﻫ‬‫ﻗﺎﺑﻞ‬‫ﻮل‬ ‫ﻗ‬‫ﮔﺰ‬ ‫ﻫ‬‫ﻫﺰﻳﻨﻪ‬‫ﺪن‬ ‫رﺳ‬‫ﺑﻪ‬‫ﻫﺪف‬‫را‬‫ﺶ‬ ‫ﺑ‬‫از‬‫ﺣﺪ‬ ‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﻫﺮﮔﺰ‬‫ﻫﺰﻳﻨﻪ‬‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﻫﺪف‬‫را‬‫ﺑﻴﺶ‬‫از‬‫ﺣﺪ‬
‫ﺗﺨﻤﻴﻦ‬‫ﻧﻤﻲ‬‫زﻧﺪ‬،‫ﻳﻌﻨﻲ‬‫ﺧﻮش‬‫ﺑﻴﻨﺎﻧﻪ‬‫اﺳﺖ‬.
•‫ﻣﺜﺎل‬:‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬hSLD(n))‫ﻫﻴﭽﮕﺎه‬‫ﻓﺎﺻﻠﻪ‬‫واﻗﻌﻲ‬‫را‬‫ﺑﻴﺶ‬‫از‬‫ﺣﺪ‬‫ﺗﺨﻤﻴﻦ‬
‫ﻧ‬‫زﻧﺪ‬( ‫ﻧﻤﻲ‬‫زﻧﺪ‬(.
‫ﮔ‬h( )‫ﻞ‬‫ل‬A*TREE SEARCH •‫ﻗﻀﻴﻪ‬:‫اﮔﺮ‬h(n)‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬،‫ﺑﺎﺷﺪ‬A*‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬TREE-SEARCH
‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬.
N. Razavi - AI course - 2007 13
‫ﺑﻬﻴﻨﮕ‬A*)‫اﺛﺒﺎت‬( ‫ﺑﻬﻴﻨﮕﻲ‬A*)‫اﺛﺒﺎت‬(
•‫ﻓﺮض‬‫ﻛﻨﻴﺪ‬‫ﻳﻚ‬‫ﺟﻮاب‬‫زﻳﺮ‬‫ﺑﻬﻴﻨﻪ‬‫ﻣﺎﻧﻨﺪ‬G2‫ﺗﻮﻟﻴﺪ‬‫ﺷﺪه‬‫و‬‫در‬‫ﺻﻒ‬‫ﻗﺮار‬‫دارد‬.
‫ﻫﻢ‬‫ﭼﻨﻴﻦ‬‫ﻓﺮض‬‫ﻛﻨﻴﺪ‬n‫ﻳﻚ‬‫ﮔﺮه‬‫ﮔﺴﺘﺮش‬‫ﻧﻴﺎﻓﺘﻪ‬‫روي‬‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫ﺑﻪ‬‫ﻫﺪف‬‫ﺑﻬﻴﻨﻪ‬G‫ﺑﺎﺷﺪ‬)‫؟؟‬( ‫ﻢ‬
f(G2) = g(G2) ،‫ﭼﻮن‬h(G2) = 0
> g(G)
≥ f(n)
f( ) f( )‫ﮕ‬*‫ﮔ‬
،‫ﭼﻮن‬G2‫اﺳﺖ‬ ‫ﺑﻬﻴﻨﻪ‬ ‫زﻳﺮ‬
،‫ﭼﻮن‬h‫اﺳﺖ‬ ‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬
‫ﭼﻮن‬f(G2) ≥ f(n)،‫اﻟﮕﻮرﻳﺘﻢ‬A*‫ﻫﻴﭻ‬‫وﻗﺖ‬G2‫را‬‫ﺑﺮاي‬‫ﮔﺴﺘﺮش‬‫ﻳﺎﻓﺘﻦ‬‫اﻧﺘﺨﺎب‬‫ﻧﻤﻲ‬‫ﻛﻨﺪ‬.
N. Razavi - AI course - 2007 14
‫ﻟﻢ‬ ‫اﺛﺒﺎت‬:‫ﺳﺎزﮔﺎري‬(Consistency)( y)
•‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﺳﺎزﮔﺎر‬‫ﺳﺎزﮔﺎر‬‫اﺳﺖ‬‫اﮔﺮ‬:h(n) ≤ c(n, a, n’) + h(n’) ‫ﻳ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬‫ر‬ ‫ز‬‫ر‬ ‫ز‬‫ﺮ‬( ) ( , , ) ( )
•‫اﮔﺮ‬h‫ﺳﺎزﮔﺎر‬،‫ﺑﺎﺷﺪ‬‫دارﻳﻢ‬:
f(n’) = g(n’) + h(n’)
= g(n) + c(n, a, n’) + h(n’)
≥ g(n) + h(n)
≥ f(n)≥ f(n)
•،‫ﻳﻌﻨﻲ‬f(n)‫در‬‫ﻃﻮل‬‫ﻫﺮ‬‫ﻣﺴﻴﺮي‬‫ﻏﻴﺮ‬‫ﻛﺎﻫﺸﻲ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.)،‫ﻳﻜﻨﻮاﻳﻲ‬monotonicity(
•‫ﻗﻀﻴﻪ‬:‫اﮔﺮ‬h(n)‫ﺳﺎزﮔﺎر‬،‫ﺑﺎﺷﺪ‬A*‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬GRAPH-SEARCH‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬.
N. Razavi - AI course - 2007 15
‫ﺑﻬﻴﻨﮕﻲ‬A*
••‫ﻟﻢ‬‫ﻟﻢ‬::A*‫ﮔﺮه‬‫ﻫﺎ‬‫را‬‫ﺑﺮاﺳﺎس‬‫ﺗﺮﺗﻴﺐ‬‫ﺻﻌﻮدي‬‫ﻣﻘﺎدﻳﺮ‬f‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬.
•A*‫ﺑﻪ‬‫ﺗﺪرﻳﺞ‬f-contour‫ﻫﺎ‬‫را‬‫اﺿﺎﻓﻪ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬.
•‫ﻛﺎﻧﺘﻮر‬i‫ﺷﺎﻣﻞ‬‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺎ‬f = fi‫ﻣﻲ‬،‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬fi < fi+1
N. Razavi - AI course - 2007 16
‫ﺧﺼﻮﺻﻴﺎت‬A* ‫ﻴ‬ ‫ﻮ‬
•‫ﻛﺎﻣﻞ؟‬،‫ﺑﻠﻪ‬‫ﻣﮕﺮ‬‫اﻳﻨﻜﻪ‬‫ﺗﻌﺪادي‬‫ﻧﺎﻣﺤﺪود‬‫ﮔﺮه‬‫ﺑﺎ‬f ≤ f(G)‫وﺟﻮد‬‫داﺷﺘﻪ‬
A*‫ﮔ‬‫ﻛ‬‫ﻛ‬ ‫ﺑﺎﺷﺪ‬.A*‫در‬‫ﮔﺮاف‬‫ﻫﺎي‬‫ﻣﺘﻨﺎﻫﻲ‬‫ﻣﺤﻠﻲ‬)‫ﺑﺎ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﻣﺤﺪود‬(‫ﻛﺎﻣﻞ‬
‫اﺳﺖ‬‫ﺑﻪ‬‫ﺷﺮط‬‫آﻧﻜﻪ‬‫ﻫﺰﻳﻨﻪ‬‫ﺗﻤﺎم‬‫ﻋﻤﻠﮕﺮﻫﺎ‬‫ﻣﺜﺒﺖ‬‫ﺑﺎﺷﺪ‬. ‫م‬
-‫ﮔﺮه‬‫اي‬‫ﺑﺎ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﻧﺎﻣﺤﺪود‬‫وﺟﻮد‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬.
‫ي‬‫ﺎ‬‫ﻨﻪ‬ ‫ﻫﺰ‬‫د‬ ‫ﺪ‬‫ﺎ‬ ‫ا‬‫ﺎ‬‫ﺪاد‬ ‫ﺗ‬‫ﮔ‬‫ﻫﺎي‬‫د‬ ‫ﺪ‬ ‫ﻧﺎ‬‫د‬‫داﺷﺘﻪ‬‫ﺎﺷﺪ‬ -‫ﻣﺴﻴﺮي‬‫ﺑﺎ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺤﺪود‬‫اﻣﺎ‬‫ﺑﺎ‬‫ﺗﻌﺪاد‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﻧﺎﻣﺤﺪود‬‫وﺟﻮد‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬.
•‫ﭘﻴﭽﻴﺪﮔﻲ‬‫زﻣﺎﻧﻲ؟‬‫ﻧﻤﺎﻳﻲ‬‫ﺑﺮ‬‫ﺣﺴﺐ‬]‫ﺧﻄﺎي‬‫ﻧﺴﺒﻲ‬h*‫ﻃﻮل‬‫راه‬‫ﺣﻞ‬[
‫ﮕ‬‫ﻨﻜﻪ‬ ‫ا‬‫ﺧﻄﺎ‬‫ﺗﺎ‬‫ﻛﺸﻒ‬‫ﻛﻨﻨﺪ‬‫ﺷﺪ‬‫ﺘ‬‫از‬‫ﺘ‬ ‫ﻟﮕﺎ‬‫ﻨﻪ‬ ‫ﺰ‬ ‫ﻣﮕﺮ‬‫اﻳﻨﻜﻪ‬‫ﺧﻄﺎ‬‫در‬‫ﺗﺎﺑﻊ‬‫ﻛﺸﻒ‬‫ﻛﻨﻨﺪه‬‫رﺷﺪي‬‫ﺳﺮﻳﻌﺘﺮ‬‫از‬‫ﻟﮕﺎرﻳﺘﻢ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬
‫واﻗﻌﻲ‬‫ﻧﺪاﺷﺘﻪ‬،‫ﺑﺎﺷﺪ‬‫ﺑﻪ‬‫زﺑﺎن‬‫رﻳﺎﺿﻲ‬:
| h(n) – h*(n)| ≤ O (log h*(n))
N. Razavi - AI course - 2007 17
‫ﺧﺼﻮﺻﻴﺎت‬A* ‫ﻴ‬ ‫ﻮ‬
•‫ﭘﻴﭽﻴﺪﮔﻲ‬‫ﻓﻀﺎ؟؟‬‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫را‬‫در‬‫ﺣﺎﻓﻈﻪ‬‫ﻧﮕﻪ‬‫ﻣﻲ‬‫دارد‬.
f‫ﮔ‬‫ﮕ‬f •‫ﺑﻬﻴﻨﻪ؟؟‬‫ﺑﻠﻪ‬–‫ﻧﻤﻲ‬‫ﺗﻮاﻧﺪ‬fi+1‫را‬‫ﮔﺴﺘﺮش‬‫دﻫﺪ‬‫ﻣﮕﺮ‬fi‫ﺗﻤﺎم‬‫ﺷﺪه‬
‫ﺑﺎﺷﺪ‬. ‫ﺑ‬
–A*‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺎ‬f(n) < f*‫را‬‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬.
*‫ﮔ‬f( ) f*‫ﮔ‬ –A*‫ﺑﺮﺧﻲ‬‫از‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺎ‬f(n) = f*‫را‬‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬.
–A*‫ﮔﺮه‬‫اي‬‫ﺑﺎ‬f(n) > f*‫را‬‫ﻫﺮﮔﺰ‬‫ﮔﺴﺘﺮش‬‫ﻧﻤﻲ‬‫دﻫﺪ‬. ‫ﺮ‬‫ي‬‫ﺑ‬( )‫ر‬‫ﺰ‬ ‫ﺮ‬‫ﺮش‬‫ﻤﻲ‬.
•A*‫داراي‬‫ﻛﺎرآﻳﻲ‬‫ﻛﺎرآﻳﻲ‬‫ﺑﻬﻴﻨﻪ‬‫ﺑﻬﻴﻨﻪ‬(optimally efficient)‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬!
N. Razavi - AI course - 2007 18
‫ﻣﺤﺪود‬ ‫ﺣﺎﻓﻈﻪ‬ ‫ﺑﺎ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﺪود‬ ‫ﺣﺎﻓﻈﻪ‬ ‫ﺑﺎ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺟﺴﺘﺠﻮي‬
•‫ﭼﻨﺪ‬‫راه‬‫ﺣﻞ‬‫ﺑﺮاي‬‫ﻣﺴﺄﻟﻪ‬‫ﺣﺎﻓﻈﻪ‬‫در‬A*)‫ﺑﺎ‬‫ﺣﻔﻆ‬‫ﺧﺼﻮﺻﻴﺎت‬
‫ﻛﺎﻣﻞ‬‫ﺑﻮدن‬‫و‬‫ﺑﻬﻴﻨﮕ‬(: ‫ﻛﺎﻣﻞ‬‫ﺑﻮدن‬‫و‬‫ﺑﻬﻴﻨﮕﻲ‬(:
–‫ﺟﺴﺘﺠﻮي‬‫ﻋﻤﻴﻖ‬‫ﻛﻨﻨﺪه‬‫ﺗﻜﺮاي‬A*(IDA*)
•‫ﻣﺎﻧﻨﺪ‬IDS‫وﻟﻲ‬‫ﺑﻪ‬‫ﺟﺎي‬‫ﻣﺤﺪوده‬‫ﻋﻤﻘﻲ‬‫از‬‫ﻣﺤﺪوده‬f-cost(g + h)‫اﺳﺘﻔﺎده‬
‫ﻣﻲ‬‫ﺷﻮد‬
‫ﮔ‬ –‫ﺟﺴﺘﺠﻮي‬‫اول‬-‫ﺑﻬﺘﺮﻳﻦ‬‫ﺑﺎزﮔﺸﺘﻲ‬(RBFS)
•‫ﻳﻚ‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﺑﺎزﮔﺸﺘﻲ‬‫ﺑﺎ‬‫ﻓﻀﺎي‬‫ﺧﻄﻲ‬‫ﻛﻪ‬‫ﺳﻌﻲ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫از‬‫ﺟﺴﺘﺠﻮي‬ ‫ﻢ‬
‫اول‬-‫ﺑﻬﺘﺮﻳﻦ‬‫اﺳﺘﺎﻧﺪارد‬‫ﺗﻘﻠﻴﺪ‬‫ﻛﻨﺪ‬
–‫ﺟﺴﺘﺠﻮي‬)‫ﺳﺎده‬‫ﺷﺪه‬(A*‫ﺑﺎ‬‫ﺣﺎﻓﻈﻪ‬‫ﻣﺤﺪود‬((S)MBA*) ‫ﻮ‬‫ﺑ‬(( ) )
•‫ﺣﺬف‬‫ﺑﺪﺗﺮﻳﻦ‬‫ﮔﺮه‬‫وﻗﺘﻲ‬‫ﻛﻪ‬‫ﺣﺎﻓﻈﻪ‬‫ﭘﺮ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬
N. Razavi - AI course - 2007 19
‫اول‬ ‫ﺟﺴﺘﻮي‬-‫ﺑﺎزﮔﺸﺘﻲ‬ ‫ﺑﻬﺘﺮﻳﻦ‬(RBFS) ‫ول‬ ‫ﻮي‬ ‫ﺟ‬‫ﻲ‬ ‫ز‬ ‫ﺑ‬ ‫ﺮﻳﻦ‬ ‫ﺑﻬ‬( )
function RECURSIVE-BEST-FIRST-SEARCH(problem) return a solution or failure
( bl ( bl ) )return RFBS(problem,MAKE-NODE(INITIAL-STATE[problem]),∞)
function RFBS( problem node f limit) return a solution or failure and a new f-cost limitfunction RFBS( problem, node, f_limit) return a solution or failure and a new f-cost limit
if GOAL-TEST[problem](STATE[node]) then return node
successors ← EXPAND(node, problem)successors ← EXPAND(node, problem)
if successors is empty then return failure, ∞
for each s in successors do
f [s] ← max(g(s) + h(s), f [node])
repeat
b h l f l d ibest ← the lowest f-value node in successors
if f [best] > f_limit then return failure, f [best]
alternative ← the second lowest f-value among successorsalternative ← the second lowest f value among successors
result, f [best] ← RBFS(problem, best, min(f_limit, alternative))
if result ≠ failure then return result
N. Razavi - AI course - 2007 20
‫ﺟﺴﺘﺠﻮي‬RBFS ‫ﺟﺴﺘﺠﻮي‬RBFS
•‫ﻣﻘﺪار‬f-value‫ﻣﺮﺑﻮط‬‫ﺑﻪ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﻣﻮﺟﻮد‬‫را‬
‫ﺪا‬ ‫ﻧﮕ‬‫ﻛﻨﺪ‬ ‫ﻧﮕﻬﺪاري‬‫ﻣﻲ‬‫ﻛﻨﺪ‬.
–‫اﮔﺮ‬f-value‫ﻓﻌﻠﻲ‬‫از‬f-value‫ﻣﺴﻴﺮ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﺗﺠﺎوز‬،‫ﻛﻨﺪ‬‫آﻧﮕﺎه‬‫ﺑﻪ‬ ‫ﺮ‬‫ﻲ‬‫ز‬‫ﻴﺮ‬‫ﺰﻳﻦ‬ ‫ﻳ‬ ‫ﺟ‬‫وز‬ ‫ﺠ‬‫ﺑ‬
‫اﻳﻦ‬‫ﻣﺴﻴﺮ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﺑﺎزﮔﺸﺖ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬.
‫ﺎزﮔﺸﺖ‬‫ﻪ‬‫ﻘ‬‫ﻘﺪا‬f value‫ط‬‫ﻪ‬‫ﮔ‬ –‫در‬‫ﺑﺎزﮔﺸﺖ‬‫ﺑﻪ‬‫ﻋﻘﺐ‬‫ﻣﻘﺪار‬f-value‫ﻣﺮﺑﻮط‬‫ﺑﻪ‬‫ﻫﺮ‬‫ﮔﺮه‬‫ﻣﻮﺟﻮد‬‫در‬
‫ﻣﺴﻴﺮ‬‫را‬‫ﺑﺎ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻣﻘﺪار‬f-value‫ﻓﺮزﻧﺪاﻧﺶ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬.
–‫ﺑﻨﺎﺑﺮاﻳﻦ‬‫ﮔﺴﺘﺮش‬‫ﻣﺠﺪد‬‫ﻧﺘﻴﺠﻪ‬‫ﻓﻌﻠﻲ‬‫ﻫﻨﻮز‬‫ﻣﻤﻜﻦ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.
N. Razavi - AI course - 2007 21
‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬RBFS
Arad
‫ﺠﻮي‬ ‫ﺟ‬ ‫ل‬
∞
366
447
ZerindTimisoaraSibiu
393 449447
Rimnicu
VilceaArad Fagaras Oradea
413
415
417
i
646 415 526 413 417
Craiova Pitesti
526 417
Sibiu
553
N. Razavi - AI course - 2007 22
‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬RBFS ‫ﺠﻮي‬ ‫ﺟ‬ ‫ل‬
Arad
∞
366
447
ZerindTimisoaraSibiu
393 449447
FagarasArad Oradea
Rimnicu
Vilcea
413
417
417646 415
Sibi B h
526 413 417450
Sibiu Bucharest
591 450
N. Razavi - AI course - 2007 23
‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬RBFS ‫ﺠﻮي‬ ‫ﺟ‬ ‫ل‬
Arad
∞
366
447
ZerindTimisoaraSibiu
393 449447
Arad Fagaras Oradea
Rimnicu
Vilcea
417
447
i
646 526 417
447
450
Craiova Pitesti
526 417
Sibiu
553
Bucharest Craiova
418 615
Rimnicu
vilcea
607
N. Razavi - AI course - 2007 24
418 615 607
‫ارزﻳﺎﺑ‬RBFS ‫ارزﻳﺎﺑﻲ‬RBFS
•RBFS‫ﻛﻤﻲ‬‫ﻛﺎرآﺗﺮ‬‫از‬IDA*‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬
–‫ﻫﻨﻮز‬‫ﮔﺴﺘﺮش‬‫اﺿﺎﻓﻲ‬‫ﮔﺮه‬‫ﻫﺎ‬‫وﺟﻮد‬‫دارد‬)‫ﺗﻐﻴﻴﺮ‬‫ﻋﻘﻴﺪه‬( ‫ﻮ‬‫ﺮش‬‫ﻲ‬‫ﺮ‬‫ﻮ‬‫ﻴﻴﺮ‬‫ﻴ‬
•RBFS‫ﻫﻢ‬‫ﻣﺎﻧﻨﺪ‬A*،‫اﮔﺮ‬h(n)‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﺑﺎﺷﺪ‬‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬
•‫ﭘﻴﭽﻴﺪﮔ‬‫ﺣﺎﻓﻈﻪ‬O(bd) ‫ﭘﻴﭽﻴﺪﮔﻲ‬‫ﺣﺎﻓﻈﻪ‬O(bd)
–IDA*‫ﻓﻘﻂ‬‫ﻳﻚ‬‫ﻋﺪد‬‫را‬‫ﻧﮕﻬﺪاري‬‫ﻣﻲ‬‫ﻛﻨﺪ‬)‫ﺣﺪ‬‫ﻓﻌﻠﻲ‬f-cost(
•‫ﺗﻌﻴﻴﻦ‬‫ﭘﻴﭽﺪﮔ‬‫زﻣﺎﻧ‬‫ﻣﺸﻜﻞ‬‫اﺳﺖ‬ ‫ﺗﻌﻴﻴﻦ‬‫ﭘﻴﭽﺪﮔﻲ‬‫زﻣﺎﻧﻲ‬‫ﻣﺸﻜﻞ‬‫اﺳﺖ‬
–‫ﺑﻪ‬‫دﻗﺖ‬‫ﺗﺎﺑﻊ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫و‬‫ﻣﻴﺰان‬‫ﺗﻐﻴﻴﺮ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫در‬‫اﺛﺮ‬‫ﺑﺴﻂ‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺴﺘﮕﻲ‬
‫دارد‬. ‫ر‬
–‫ﻣﺎﻧﻨﺪ‬IDA*‫در‬‫ﻣﻌﺮض‬‫اﻓﺰاﻳﺶ‬‫ﻧﻤﺎﻳﻲ‬‫ﭘﻴﭽﻴﺪﮔﻲ‬‫زﻣﺎﻧﻲ‬‫ﻗﺮار‬‫دارد‬
•RBFS‫و‬IDA*‫ﻫﺮ‬‫دو‬‫از‬‫ﻣﻴﺰان‬‫ﺑﺴﻴﺎر‬‫ﻛﻢ‬‫ﺣﺎﻓﻈﻪ‬‫رﻧﺞ‬‫ﻣﻲ‬‫ﺑﺮﻧﺪ‬. S‫و‬‫ﺮ‬‫و‬‫ز‬‫ن‬ ‫ﻴﺰ‬‫ر‬ ‫ﻴ‬ ‫ﺑ‬‫ﻢ‬‫ﺞ‬‫ر‬‫ﻲ‬‫ﺑﺮ‬.
–‫ﺑﺎ‬‫اﻳﻨﻜﻪ‬‫ﺣﺎﻓﻈﻪ‬‫زﻳﺎدي‬‫وﺟﻮد‬،‫دارد‬‫ﻧﻤﻲ‬‫ﺗﻮاﻧﻨﺪ‬‫از‬‫ان‬‫اﺳﺘﻔﺎده‬‫ﻛﻨﻨﺪ‬.
N. Razavi - AI course - 2007 25
(Simplified) Memory Bounded A*( p ) y
•‫اﻳﺪه‬:‫اﺳﺘﻔﺎده‬‫از‬‫ﺗﻤﺎﻣﻲ‬‫ﺣﺎﻓﻈﻪ‬‫ﻣﻮﺟﻮد‬
، ‫ﻨ‬‫ش‬ ‫ﺘ‬ ‫ﮔ‬‫ﻦ‬ ‫ﻬﺘ‬‫ﮔ‬‫ﻫﺎي‬‫ﮔ‬‫ﺗﺎ‬‫ﺎﻧ‬ ‫ز‬‫ﻛﻪ‬‫ﺎﻓﻈﻪ‬‫د‬‫د‬ ‫ﺷ‬ –،‫ﻳﻌﻨﻲ‬‫ﮔﺴﺘﺮش‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﺑﺮﮔﻲ‬‫ﺗﺎ‬‫زﻣﺎﻧﻲ‬‫ﻛﻪ‬‫ﺣﺎﻓﻈﻪ‬‫ﻣﻮﺟﻮد‬‫ﭘﺮ‬‫ﺷﻮد‬
–‫در‬‫ﺻﻮرت‬‫ﭘﺮ‬‫ﺷﺪن‬،‫ﺣﺎﻓﻈﻪ‬SMA*‫ﺑﺪﺗﺮﻳﻦ‬‫ﮔﺮه‬‫ﺑﺮگ‬)‫ﺑﺎ‬‫ﺑﻴﺸﺘﺮﻳﻦ‬‫ﻣﻘﺪار‬f-value(‫را‬
‫از‬‫ﺣﺎﻓﻈﻪ‬‫ﺣﺬف‬‫ﻣﻲ‬‫ﻛﻨﺪ‬ ‫ز‬‫ﻲ‬
–‫ﻣﺎﻧﻨﺪ‬RBFS‫اﻃﻼﻋﺎت‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﻓﺮاﻣﻮش‬‫ﺷﺪه‬‫را‬‫در‬‫ﭘﺪرﺷﺎن‬‫ذﺧﻴﺮه‬‫ﻣﻲ‬‫ﻛﻨﺪ‬
•‫اﮔﺮ‬‫ﺗﻤﺎم‬‫ﺑﺮگ‬‫ﻫﺎ‬‫داراي‬f-value‫ﺑﺮاﺑﺮ‬‫ﺑﺎﺷﻨﺪ‬‫ﭼﻪ‬‫ﻣﻲ‬‫ﺷﻮد؟‬
–‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫ﻳﻚ‬‫ﮔﺮه‬‫را‬‫ﻫﻢ‬‫ﺑﺮاي‬‫ﮔﺴﺘﺮش‬‫و‬‫ﻫﻢ‬‫ﺑﺮاي‬‫ﺣﺬف‬‫اﻧﺘﺨﺎب‬‫ﻛﻨﺪ‬ ‫ﻦ‬‫ﻳ‬‫ﺮ‬‫ر‬‫ﻢ‬‫ي‬ ‫ﺑﺮ‬‫ﺮش‬‫و‬‫ﻢ‬‫ي‬ ‫ﺑﺮ‬‫ف‬‫ب‬
–‫راه‬‫ﺣﻞ‬SMA*:
•‫ﮔﺴﺘﺮش‬:‫ﺑﻬﺘﺮﻳﻦ‬‫ﮔﺮه‬‫ﺑﺮگ‬‫ﻛﻪ‬‫از‬‫ﻫﻤﻪ‬‫ﺟﺪﻳﺪ‬‫ﺗﺮ‬‫اﺳﺖ‬
•‫ﺣﺬف‬:‫ﺑﺪﺗﺮﻳﻦ‬‫ﮔﺮه‬‫ﻛﻪ‬‫از‬‫ﻫﻤﻪ‬‫ﻗﺪﻳﻤﻲ‬‫ﺗﺮ‬‫اﺳﺖ‬
SMA*‫ﻞ‬ ‫ﻛﺎ‬‫ﺖ‬ ‫ا‬‫اﮔ‬‫ا‬‫ﻞ‬‫ﻞ‬‫ﻗﺎ‬‫ﺎ‬‫اﺷ‬‫ﺎﺷﺪ‬‫ﺖ‬ ‫ا‬‫اﮔ‬‫ا‬ –SMA*‫ﻛﺎﻣﻞ‬‫اﺳﺖ‬‫اﮔﺮ‬‫راه‬‫ﺣﻞ‬‫ﻗﺎﺑﻞ‬‫دﺳﺘﻴﺎﺑﻲ‬‫وﺟﻮد‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬‫و‬‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬‫اﮔﺮ‬‫راه‬
‫ﺣﻞ‬‫ﺑﻬﻴﻨﻪ‬‫ﻗﺎﺑﻞ‬‫دﺳﺘﻴﺎﺑﻲ‬‫ﺑﺎﺷﺪ‬
N. Razavi - AI course - 2007 26
‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﺎي‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﺎي‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬
‫ﻣﺜﺎل‬‫ﺑﺮاي‬‫ﻣﻌﻤﺎي‬‫ﻫﺸﺖ‬:
h (n) = number of misplaced tilesh1(n) number of misplaced tiles
h2(n) = total ManhattanManhattan distance
hh11(S)(S) = 6
hh22(S)(S) = 4 + 0 + 3 + 3 + 1 + 0 + 2 + 1 = 14
N. Razavi - AI course - 2007 27
2 8 3
1 6 4
7 5
0+4 •‫ﻣﺜﺎل‬:‫ﺟﺴﺘﺠﻮي‬A*‫ﺑﺎ‬h1
2 8 32 8 3 2 8 3
7 _ 5
2 8 3
1 _ 4
7 6 5
2 8 3
1 6 4
_ 7 5
2 8 3
1 6 4
7 5 _
1+5 1+3 1+5
2 _ 3
1 8 4
7 6 5
2 8 3
1 4 _
7 6 5
2 8 3
_ 1 4
7 6 5
2+3 2+3 2+4
7 6 5
2 3_ 2 3
1 8 4
7 6 5
_ 8 3
2 1 4
7 6 5
2 3 _
1 8 4
7 6 5
2 8 3
7 1 4
- 6 5
3+3 3+4 3+2 3+4
1 2 3
_ 8 4
7 6 5
4+1
1 2 3
8 _ 4
7 6 5
1 2 3
7 8 45+0 5+2
N. Razavi - AI course - 2007 28
7 6 5
_ 6 5
2 8 3
1 6 4
7 5
0+5
•‫ﻣﺜﺎل‬:‫ﺟﺴﺘﺠﻮي‬A*‫ﺑﺎ‬h2
2 8 3
7 _ 5
2 8 3 2 8 32 8 3
1 _ 4
7 6 5
2 8 3
1 6 4
_ 7 5
2 8 3
1 6 4
7 5 _
1+6 1+4 1+6
2 _ 3
1 8 4
7 6 5
2 8 3
1 4 _
7 6 5
2 8 3
_ 1 4
7 6 5
2+5 2+3 2+5
7 6 5 7 6 57 6 5
2 3_ 2 3
1 8 4
7 6 5
2 3 _
1 8 4
7 6 5
3+2 3+4
1 2 3
_ 8 4
7 6 5
4+1
1 2 3
8 _ 4
1 2 3
7 8 45+0 5+2
N. Razavi - AI course - 2007 29
7 6 5
7 8 4
_ 6 5
5+2
‫ﺗﺴﻠﻂ‬(Dominance) ‫ﺗﺴﻠﻂ‬(Dominance)
•‫اﮔﺮ‬‫ﺑﺎزاء‬‫ﻫﺮ‬n‫داﺷﺘﻪ‬،‫ﺑﺎﺷﻴﻢ‬h2(n) ≥ h1(n)
)‫و‬‫ﻫﺮ‬‫دو‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﺑﺎﺷﻨﺪ‬( ‫ﻞ‬
•‫آﻧﮕﺎه‬h2‫ﺑﺮ‬h1‫ﺗﺴﻠﻂ‬‫ﺗﺴﻠﻂ‬‫دارد‬‫و‬‫ﺑﺮاي‬‫ﺟﺴﺘﺠﻮ‬‫ﺑﻬﺘﺮ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.
•‫ﻣﺜﺎل‬‫ﻫﺰﻳﻨﻪ‬‫ﺟﺴﺘﺠﻮ‬:‫ﺗﻌﺪاد‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﺗﻮﻟﻴﺪ‬‫ﺷﺪه‬‫در‬‫ﻋﻤﻖ‬‫ﻫﺎي‬‫ﻣﺨﺘﻠﻒ‬:
d = 14 IDS = 3,473,941
A*(h1) = 539
A*(h2) = 113
d = 24 IDS = 54,000,000,000
A*(h ) 39 135A*(h1) = 39,135
A*(h2) = 1641
N. Razavi - AI course - 2007 30
‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬(b*) ‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬(b*)
•‫ﻓﺎﻛﺘﻮر‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫اﻧﺸﻌﺎب‬‫ﻣﻮﺛﺮ‬‫ﻣﻮﺛﺮ‬(EBF)(EBF):
‫اﮔﺮ‬‫ﺗﻌﺪاد‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﮔﺴﺘﺮش‬‫ﻳﺎﻓﺘﻪ‬‫ﺗﻮﺳﻂ‬‫روال‬‫ﺟﺴﺘﺠﻮ‬N‫ﺑﺎﺷﺪ‬‫و‬‫ﻋﻤﻖ‬‫راه‬‫ﺣﻞ‬d،‫ﺑﺎﺷﺪ‬
b*
‫ﻞ‬
b*‫ﺑﻪ‬‫ﺻﻮرت‬‫زﻳﺮ‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﻲ‬‫ﺷﻮد‬:
N + 1 = 1 + b* + (b*)2 + … + (b*)d
•‫ﻣﺜﺎل‬‫ﻣﺜﺎل‬::‫اﮔﺮ‬A*‫راه‬‫ﺣﻠﻲ‬‫را‬‫در‬‫ﻋﻤﻖ‬5‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬52‫ﮔﺮه‬‫ﭘﻴﺪا‬،‫ﻛﻨﺪ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﻣﻮﺛﺮ‬
‫را‬‫ﻪ‬ ‫ﻣﺤﺎﺳ‬‫ﺪ‬ ‫ﻛﻨ‬ ‫را‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﻛﻨﻴﺪ‬.
‫ﭘﺎﺳﺦ‬:
53 = 1 + b* + (b*)2 + (b*)5 b* = 1 9253 = 1 + b + (b ) + … (b ) b = 1.92
•‫در‬‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻫﺮ‬‫ﭼﻪ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﺑﻪ‬‫ﻳﻚ‬‫ﻧﺰدﻳﻜﺘﺮ‬،‫ﺑﺎﺷﺪ‬‫ﺑﻬﺘﺮ‬‫اﺳﺖ‬‫و‬‫آن‬ ‫ر‬‫ﻳ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬‫ﺮ‬‫ﭼ‬‫ﻮر‬‫ب‬‫ﺑ‬‫ﻳ‬‫ﺮ‬ ‫ﻳ‬ ‫ﺰ‬‫ﺑ‬‫ﺮ‬ ‫ﺑﻬ‬‫و‬‫ن‬
‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻛﻴﻔﻴﺖ‬‫ﻛﻴﻔﻴﺖ‬‫ﻛﺸﻒ‬‫ﻛﺸﻒ‬‫ﻛﻨﻨﺪﮔﻲ‬‫ﻛﻨﻨﺪﮔﻲ‬‫ﺑﻴﺸﺘﺮي‬‫دارد‬.
N. Razavi - AI course - 2007 31
‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬ ‫و‬ ‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺰﻳﻨﻪ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻘﺎﻳﺴﻪ‬‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬ ‫و‬ ‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺰﻳﻨﻪ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻘﺎﻳﺴﻪ‬
S h C t Effective Branching FactorSearch Cost Effective Branching Factor
d IDS A*(h1) A*(h2) IDS A*(h1) A*(h2)
2 10 6 6 2.45 1.79 1.79
4 112 13 12 2.87 1.48 1.45
6 680 20 18 2 73 1 34 1 306 680 20 18 2.73 1.34 1.30
8 6,384 39 25 2.80 1.33 1.24
10 47,127 93 39 2.79 1.38 1.22
12 364,404 227 73 2.78 1.42 1.24
14 3,473,941 539 113 2.83 1.44 1.23
16 - 1,301 211 - 1.45 1.25
18 - 3,056 363 - 1.46 1.26
20 7 276 679 1 47 1 2720 - 7,276 679 - 1.47 1.27
22 - 18,094 1,219 - 1.48 1.28
24 - 39 135 1 641 - 1 48 1 26
N. Razavi - AI course - 2007 32
24 39,135 1,641 1.48 1.26
‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺗﻮاﺑﻊ‬ ‫اﺑﺪاع‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺗﻮاﺑﻊ‬ ‫اﺑﺪاع‬
•‫ﻣﻲ‬‫ﺗﻮان‬‫ﻫﻴﻮرﻳﺴﺘﻴﻜﻬﺎي‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫را‬‫ﺑﺮاي‬‫ﻳﻚ‬،‫ﻣﺴﺄﻟﻪ‬‫از‬‫ﻫﺰﻳﻨﻪ‬‫دﻗﻴﻖ‬‫راه‬‫ﺣﻞ‬‫ﻳﻚ‬‫ﻧﺴﺨﻪ‬ ‫ﻞ‬‫ﻞ‬
‫راﺣﺖ‬‫راﺣﺖ‬(relaxed)(relaxed)‫از‬‫ﻣﺴﺄﻟﻪ‬‫ﺑﺪﺳﺖ‬‫آورد‬.
‫ﻚ‬AB‫ﮔ‬A •‫ﻣﺜﺎل‬:‫ﻗﺎﻧﻮن‬‫ﻣﻌﻤﺎي‬‫ﻫﺸﺖ‬.‫ﻳﻚ‬‫ﻛﺎﺷﻲ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫از‬‫ﺧﺎﻧﻪ‬A‫ﺑﻪ‬‫ﺧﺎﻧﻪ‬B،‫ﺑﺮود‬‫اﮔﺮ‬A
‫ﻣﺠﺎور‬B‫ﺑﺎﺷﺪ‬‫و‬B‫ﺧﺎﻟﻲ‬‫ﺑﺎﺷﺪ‬.
••‫اﮔﺮ‬‫ﻗﻮاﻧﻴﻦ‬‫ﻣﻌﻤﺎي‬‫ﻫﺸﺖ‬‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫راﺣﺖ‬‫ﺷﻮﻧﺪ‬‫ﻛﻪ‬‫ﻳﻚ‬‫ﻛﺎﺷﻲ‬‫ﺑﺘﻮاﻧﺪ‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﻫﺮ‬‫ﻫﺮ‬‫ﺧﺎﻧﻪ‬‫ﺧﺎﻧﻪ‬‫اي‬‫اي‬
‫ﺣﺮﻛﺖ‬،‫ﻛﻨﺪ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬h1(n)‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫راه‬‫ﺣﻞ‬‫را‬‫ﻣﻲ‬‫دﻫﺪ‬. ‫ﺖ‬ ‫ﺮ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬1( )‫ﺮﻳﻦ‬ ‫ﻮ‬‫ر‬‫ﻞ‬‫ر‬‫ﻲ‬
••‫اﮔﺮ‬‫ﻗﻮاﻧﻴﻦ‬‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫راﺣﺖ‬‫ﺷﻮﻧﺪ‬‫ﻛﻪ‬‫ﻳﻚ‬‫ﻛﺎﺷﻲ‬‫ﺑﺘﻮاﻧﺪ‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﻫﺮ‬‫ﻫﺮ‬‫ﺧﺎﻧﻪ‬‫ﺧﺎﻧﻪ‬‫ﻣﺠﺎور‬‫ﻣﺠﺎور‬‫ﺣﺮﻛﺖ‬ ‫ﺮ‬‫ﻴﻦ‬ ‫ﻮ‬‫ﺑ‬‫ﻮ‬‫ﻮ‬‫ﻳ‬‫ﻲ‬‫ﻮ‬ ‫ﺑ‬‫ﺑ‬‫ﺑ‬‫ﺮ‬‫ﺮ‬‫ﺮ‬
،‫ﻛﻨﺪ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬h2(n)‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫راه‬‫ﺣﻞ‬‫را‬‫ﻣﻲ‬‫دﻫﺪ‬.
‫ﻜ‬‫ﻜ‬‫ﻚ‬‫ﺄ‬ •‫ﻧﻜﺘﻪ‬‫ﻧﻜﺘﻪ‬‫ﻛﻠﻴﺪي‬‫ﻛﻠﻴﺪي‬::‫ﻫﺰﻳﻨﻪ‬‫راه‬‫ﺣﻞ‬‫ﺑﻬﻴﻨﻪ‬‫ﻳﻚ‬‫ﻣﺴﺄﻟﻪ‬،‫راﺣﺖ‬‫ﺑﻴﺸﺘﺮ‬‫از‬‫ﻫﺰﻳﻨﻪ‬‫راه‬‫ﺣﻞ‬‫ﺑﻬﻴﻨﻪ‬‫در‬
‫ﻣﺴﺄﻟﻪ‬‫واﻗﻌﻲ‬‫ﻧﻴﺴﺖ‬.
N. Razavi - AI course - 2007 33
‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
••‫در‬‫ﺑﺴﻴﺎري‬‫از‬‫ﻣﺴﺎﺋﻞ‬‫ﺑﻬﻴﻨﻪ‬،‫ﺳﺎزي‬‫ﻣﺴﻴﺮ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫اﻫﻤﻴﺖ‬‫ﻧﺪارد؛‬‫ﺧﻮد‬‫ﺣﺎﻟﺖ‬
‫ﻫﺪف‬‫ﭘﺎﺳﺦ‬‫ﻣﺴﺄﻟﻪ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. ‫ﺦ‬
•‫ﻓﻀﺎي‬‫ﺣﺎﻟﺖ‬=‫ﻣﺠﻤﻮﻋﻪ‬‫ﭘﻴﻜﺮه‬‫ﺑﻨﺪي‬‫ﻫﺎي‬»‫ﻛﺎﻣﻞ‬«‫؛‬ ‫ي‬ ‫ﻀ‬‫ﻮ‬ ‫ﺠ‬‫ﺮ‬ ‫ﭘﻴ‬‫ي‬ ‫ﺑ‬‫ي‬‫ﻞ‬
•‫ﻳﺎﻓﺘﻦ‬‫ﭘﻴﻜﺮه‬‫ﺑﻨﺪي‬،‫ﺑﻬﻴﻨﻪ‬‫ﻣﺎﻧﻨﺪ‬TSP
•‫ﻳﺎﻓﺘﻦ‬‫ﻳﻚ‬‫ه‬ ‫ﻜ‬ ‫ﭘ‬‫ﺑﻨﺪي‬‫ﻛﻪ‬‫ﻣﺤﺪودﻳﺖ‬‫ﻫﺎي‬‫ﺄﻟﻪ‬ ‫ﻣ‬‫را‬‫ارﺿﺎء‬،‫ﻛﻨﺪ‬‫ﻣﺎﻧﻨﺪ‬‫ﺎﻟﻪ‬ ‫ﻣ‬ •‫ﻳﺎﻓﺘﻦ‬‫ﻳﻚ‬‫ﭘﻴﻜﺮه‬‫ﺑﻨﺪي‬‫ﻛﻪ‬‫ﻣﺤﺪودﻳﺖ‬‫ﻫﺎي‬‫ﻣﺴﺄﻟﻪ‬‫را‬‫ارﺿﺎء‬،‫ﻛﻨﺪ‬‫ﻣﺎﻧﻨﺪ‬‫ﻣﺴﺎﻟﻪ‬
n-‫وزﻳﺮ‬
••‫در‬‫ﭼﻨﻴﻦ‬‫ﻣﻮاردي‬‫ﻣﻲ‬‫ﺗﻮان‬‫از‬‫اﻟﮕﻮرﻳﺘﻢ‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎي‬‫ﻫﺎي‬‫ﺟﺴﺘﺠﻮي‬‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﻠﻲ‬‫ﻣﺤﻠﻲ‬‫ﺑﻬﺮه‬‫ﮔﺮﻓﺖ‬.
‫ﻚ‬‫ﻚ‬‫ﻟ‬‫ﻟ‬‫ﻈ‬‫ﻈ‬‫ﮕ‬‫ﮕ‬‫ﻛ‬‫ﻛ‬‫آ‬‫آ‬ ••‫ﻳﻚ‬‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﺣﺎﻟﺖ‬»»‫ﻓﻌﻠﻲ‬‫ﻓﻌﻠﻲ‬««‫را‬‫را‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﺗﻨﻬﺎﻳﻲ‬‫ﺗﻨﻬﺎﻳﻲ‬‫در‬‫در‬‫ﻧﻈﺮ‬‫ﻧﻈﺮ‬‫ﺑﮕﻴﺮ؛‬‫ﺑﮕﻴﺮ؛‬‫ﺳﻌﻲ‬‫ﺳﻌﻲ‬‫ﻛﻦ‬‫ﻛﻦ‬‫آن‬‫آن‬‫را‬‫را‬‫ﺑﻬﺒﻮد‬‫ﺑﻬﺒﻮد‬‫ﺑﺨﺸﻲ‬‫ﺑﺨﺸﻲ‬..
N. Razavi - AI course - 2007 34
‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
•‫ﺟﺴﺘﺠﻮي‬‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﻠﻲ‬‫ﻣﺤﻠﻲ‬==‫اﺳﺘﻔﺎده‬‫از‬‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﻓﻌﻠﻲ‬‫و‬‫ﺣﺮﻛﺖ‬‫ﺑﻪ‬‫ﺣﺎﻟﺖ‬‫ﻫﺎي‬
‫ﺎﻳﻪ‬ ‫ﻫ‬‫ﻫﻤﺴﺎﻳﻪ‬
•‫ﻣﺰاﻳﺎ‬:
–‫اﺳﺘﻔﺎده‬‫از‬‫ﺣﺎﻓﻈﻪ‬‫ﺑﺴﻴﺎر‬‫ﻛﻢ‬ ‫اﺳﺘﻔﺎده‬‫از‬‫ﺣﺎﻓﻈﻪ‬‫ﺑﺴﻴﺎر‬‫ﻛﻢ‬
–‫ﻳﺎﻓﺘﻦ‬‫راه‬‫ﺣﻞ‬‫ﻫﺎي‬‫ﻣﻌﻘﻮل‬‫در‬‫اﻏﻠﺐ‬‫ﻣﻮارد‬‫در‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫ﺑﺰرگ‬‫و‬‫ﻳﺎ‬‫ﻧﺎﻣﺤﺪود‬
•‫ﻣﻔﻴﺪ‬‫ﺑﺮاي‬‫ﻣﺴﺎﺋﻞ‬‫ﺑﻬﻴﻨﻪ‬‫ﺳﺎزي‬‫ﻣﺤﺾ‬
–‫ﻳﺎﻓﺘﻦ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺣﺎﻟﺖ‬‫ﺑﺮ‬‫ﻃﺒﻖ‬‫ﺗﺎﺑﻊ‬‫ﻫﺪف‬(objective function)
N. Razavi - AI course - 2007 35
‫ﻣﺜﺎل‬n‫وزﻳﺮ‬ ‫ﻣﺜﺎل‬:n-‫وزﻳﺮ‬
‫ﺄ‬‫ﻚ‬*‫ﮔ‬‫ﻛ‬ •‫ﻣﺴﺄﻟﻪ‬:n‫وزﻳﺮ‬‫را‬‫در‬‫ﻳﻚ‬‫ﺻﻔﺤﻪ‬‫ﺷﻄﺮﻧﺞ‬n * n‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫ﻗﺮار‬‫ﺑﺪه‬‫ﻛﻪ‬
‫ﻫﻴﭻ‬‫دو‬‫وزﻳﺮي‬‫در‬‫ﻳﻚ‬،‫ﺳﻄﺮ‬‫ﺳﺘﻮن‬‫و‬‫ﻳﺎ‬‫ﻗﻄﺮ‬‫ﻗﺮار‬‫ﻧﮕﻴﺮﻧﺪ‬. ‫ﭻ‬
•‫ﻜ‬‫از‬‫ﻫﺎ‬ ‫ز‬‫ا‬‫د‬‫ن‬ ‫ﺘ‬‫دش‬ ‫ﺧ‬‫ﻪ‬‫ﻧﻪ‬ ‫ﮔ‬‫اي‬‫ﻪ‬‫ﺎ‬‫ﺎ‬‫ﻛ‬‫ﻛﻪ‬‫ﺪاد‬ ‫ﺗ‬ •‫ﻳﻜﻲ‬‫از‬‫وزﻳﺮﻫﺎ‬‫را‬‫در‬‫ﺳﺘﻮن‬‫ﺧﻮدش‬‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫ﺟﺎﺑﻪ‬‫ﺟﺎ‬‫ﻛﻦ‬‫ﻛﻪ‬‫ﺗﻌﺪاد‬
‫ﺑﺮﺧﻮرد‬‫ﻫﺎ‬‫ﻛﺎﻫﺶ‬‫ﻳﺎﺑﺪ‬.
N. Razavi - AI course - 2007 36
‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫ﺻﻌﻮدي‬ ‫ﮔﺮادﻳﺎن‬ ‫ﻳﺎ‬/‫ﻧﺰوﻟﻲ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫ﺻﻌﻮدي‬ ‫ﮔﺮادﻳﺎن‬ ‫ﻳﺎ‬/‫ﻧﺰوﻟﻲ‬(
»‫ﺣﺎﻓﻈﻪ‬ ‫ﺿﻌﻒ‬ ‫ﺑﺎ‬ ‫ﻏﻠﻴﻆ‬ ‫ﻣﻪ‬ ‫در‬ ‫اورﺳﺖ‬ ‫ﻛﻮه‬ ‫از‬ ‫رﻓﺘﻦ‬ ‫ﺑﺎﻻ‬ ‫ﻣﺎﻧﻨﺪ‬«
N. Razavi - AI course - 2007 37
‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬
S
A D
G
h = 5 h = 2
‫ﺳﺮاﺳﺮي‬ ‫ﺑﻬﻴﻨﻪ‬
‫ﺷﺮوع‬ ‫ﺣﺎﻟﺖ‬
B E
h = 7
h = 4
h = 2
h = 0
F
C H
h = 1
h = 5 h = 4
N. Razavi - AI course - 2007 38
‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬
S
A D
G
h = 5
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
B E
h = 7
h = 4
B
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬
F
C H
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬
N. Razavi - AI course - 2007 39
‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬
S
A D
G
h = 5
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
B E
h = 7
h = 4
h = 2
E
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬
F
C H
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬
h = 5
N. Razavi - AI course - 2007 40
‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬
S
A D
G
h = 2
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
B E
h = 4
h = 2
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬
F
C H
h = 1
F ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬
N. Razavi - AI course - 2007 41
‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬
S
A D
G ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
B E
h = 2
E
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬
F
C H
h = 1
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬
N. Razavi - AI course - 2007 42
‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬
S
A D
G
h = 5 h = 2
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
B E
h = 7
h = 4
h = 2
h = 0
‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬
F
C H
h = 1
‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬
h = 5 h = 4
‫ﻣﺤﻠﻲ‬ ‫ﻣﻴﻨﻴﻤﻢ‬
N. Razavi - AI course - 2007 43
‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﻮي‬:‫ﻣﺜﺎل‬8‫وزﻳﺮ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﻮي‬:‫ﻣﺜﺎل‬8‫وزﻳﺮ‬
5‫ﺣﺮﻛﺖ‬‫ﺮ‬
h = 17 h = 1h = 17 h = 1
h=‫ﻛﻨﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺗﻬﺪﻳﺪ‬ ‫را‬ ‫ﻳﻜﺮﻳﮕﺮ‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫ﻏﻴﺮ‬ ‫ﺑﻄﻮر‬ ‫ﻳﺎ‬ ‫و‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫ﺑﻄﻮر‬ ‫ﻛﻪ‬ ‫وزﻳﺮﻫﺎﻳﻲ‬ ‫ﺟﻔﺖ‬ ‫ﺗﻌﺪاد‬.
N. Razavi - AI course - 2007 44
‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫اداﻣﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫اداﻣﻪ‬(
••‫ﻣﺸﻜﻞ‬:‫ﺑﺴﺘﻪ‬‫ﺑﻪ‬‫ﺣﺎﻟﺖ‬‫اوﻟﻴﻪ‬‫ﻣﺴﺄﻟﻪ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫در‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻣﺤﻠﻲ‬‫ﻣﺤﻠﻲ‬‫ﮔﻴﺮ‬ ‫ﻢ‬‫ﻢ‬
‫ﻛﻨﺪ‬.
N. Razavi - AI course - 2007 45
‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗﻲ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬(
‫ﻔﺎﻗ‬ ‫ا‬ •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اﺗﻔﺎﻗﻲ‬
–‫اﻧﺘﺨﺎب‬‫ﺗﺼﺎدﻓﻲ‬‫در‬‫ﻣﻴﺎن‬‫ﺣﺮﻛﺖ‬‫ﻫﺎي‬‫رو‬‫ﺑﻪ‬‫ﺑﺎﻻ‬
–‫اﺣﺘﻤﺎل‬‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﻣﺘﻨﺎﺳﺐ‬‫ﺑﺎ‬‫ﺷﻴﺐ‬‫ﺣﺮﻛﺖ‬‫ﺗﻐﻴﻴﺮ‬‫ﻛﻨﺪ‬
A D
h = 5 h = 29
4 A D
h = 5 h = 2
3
2
0
S
B E
G
h = 7
h 4
h = 0
9
5
S
B E
G
h = 7
h 4
h = 0
3
1
F
h = 4
h = 2
h = 1
F
h = 4
h = 2
h = 1
C H
h = 5 h = 4
C H
h = 5 h = 4
N. Razavi - AI course - 2007 46
‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗﻲ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬(
‫ﻔﺎﻗ‬ ‫ا‬ •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اﺗﻔﺎﻗﻲ‬
–‫اﻧﺘﺨﺎب‬‫ﺗﺼﺎدﻓﻲ‬‫در‬‫ﻣﻴﺎن‬‫ﺣﺮﻛﺖ‬‫ﻫﺎي‬‫رو‬‫ﺑﻪ‬‫ﺑﺎﻻ‬
–‫اﺣﺘﻤﺎل‬‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﻣﺘﻨﺎﺳﺐ‬‫ﺑﺎ‬‫ﺷﻴﺐ‬‫ﺣﺮﻛﺖ‬‫ﺗﻐﻴﻴﺮ‬‫ﻛﻨﺪ‬
A D
h = 5 h = 2
A D
h = 5 h = 2 0
0
1
S
B E
G
h = 7
h 4
h = 0
S
B E
G
h = 7
h 4
h = 0
0
F
h = 4
h = 2
h = 1
F
h = 4
h = 2
h = 1
C H
h = 5 h = 4
C H
h = 5 h = 4
N. Razavi - AI course - 2007 47
‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﻧﺘﺨﺎب‬ ‫اوﻟﻴﻦ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﻧﺘﺨﺎب‬ ‫اوﻟﻴﻦ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬(
‫ﻟ‬ ‫ا‬‫ﺎ‬ ‫ا‬ •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اوﻟﻴﻦ‬‫اﻧﺘﺨﺎب‬
–‫ﻫﻤﺎن‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اﺗﻔﺎﻗﻲ‬‫ﻛﻪ‬‫ﺣﺎﻟﺖ‬‫ﻫﺎي‬‫ﺑﻌﺪي‬‫را‬‫ﺑﻪ‬‫ﻃﻮر‬‫ﺗﺼﺎدﻓﻲ‬‫ﺗﻮﻟﻴﺪ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﺗﺎ‬
‫ﻳﻜﻲ‬‫از‬‫آﻧﻬﺎ‬‫ﺑﻬﺘﺮ‬‫از‬‫ﺣﺎﻟﺖ‬‫ﻓﻌﻠﻲ‬‫ﺑﺎﺷﺪ‬
S(7) A(5)
S
A D
G
h = 5 h = 2
S(7)
S(7) A(5)
S
B E
G
h = 7
h = 4
h = 2
h = 0 A(5) B(4)
C(5)
S(7)
F
C H
h = 1 B(4)
C(5)
C
h = 5 h = 4
E(2)
E(2) F(1)
N. Razavi - AI course - 2007 48
‫ﻧ‬ ‫ﺗ‬ ‫ﮕ‬ ‫ا‬ ‫اﻧ‬)‫ﻓ‬ ‫ﺎ‬ ‫ﺗ‬ ‫ﺷ‬ ‫ﺎ‬ ‫ﻧ‬ ‫ﺗ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫ﺗﺼﺎدﻓﻲ‬ ‫ﻣﺠﺪد‬ ‫ﺷﺮوع‬ ‫ﺑﺎ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬(
‫ﺎ‬‫ﺷ‬‫ﻓ‬ ‫ﺎ‬)‫ا‬‫اﮔ‬‫ﺷﻜ‬‫ﺎ‬‫ﻛ‬( •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫ﺑﺎ‬‫ﺷﺮوع‬‫ﻣﺠﺪد‬‫ﺗﺼﺎدﻓﻲ‬)‫اﻳﺪه‬:‫اﮔﺮ‬‫ﺷﻜﺴﺖ‬‫ﺧﻮردي‬‫دوﺑﺎره‬‫ﺳﻌﻲ‬‫ﻛﻦ‬(
–‫ﺳﻌﻲ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﻛﻪ‬‫از‬‫ﮔﻴﺮ‬‫اﻓﺘﺎدن‬‫در‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻣﺤﻠﻲ‬‫اﺟﺘﻨﺎب‬‫ﻛﻨﺪ‬
A D
h = 5 h = 2 S B E F
S
B E
G
h = 7
h = 4
h = 0
C B E F
H
F
h = 4
h = 2
h = 1
C H
C H
h = 5 h = 4
A D G
‫ﻜﻞ‬‫ا‬ ‫ا‬ ‫ا‬ ‫ﺄﻟ‬ ‫ﻞ‬ ‫ا‬ ‫ﻞ‬ ‫ا‬ ‫ﺎ‬ ‫ﺄﻟ‬ ‫ﻚ‬ ً‫ﻻ‬ ‫ﻣﺸﻜﻞ‬:‫داﻧﻴﻢ‬ ‫ﻧﻤﻲ‬ ‫را‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﺟﻮاب‬ ‫ﻣﺴﺄﻟﻪ‬ ‫ﺣﻞ‬ ‫از‬ ‫ﻗﺒﻞ‬ ،‫واﻗﻌﻲ‬ ‫دﻧﻴﺎي‬ ‫در‬ ‫ﻣﺴﺄﻟﻪ‬ ‫ﻳﻚ‬ ‫در‬ ‫ﻣﻌﻤﻮﻻ‬!
‫ﺣﻞ‬ ‫راه‬:‫دارﻳﻢ‬ ‫وﻗﺖ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ‫ﺗﺎ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺗﻜﺮار‬.
N. Razavi - AI course - 2007 49
‫ﻧ‬ ‫ﺗ‬ ‫ﮕ‬ ‫ا‬ ‫اﻧ‬)‫ﻓ‬ ‫ﺎ‬ ‫ﺗ‬ ‫ﺷ‬ ‫ﺎ‬ ‫ﻧ‬ ‫ﺗ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫ﺗﺼﺎدﻓﻲ‬ ‫ﻣﺠﺪد‬ ‫ﺷﺮوع‬ ‫ﺑﺎ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬(
‫ﺎ‬‫ا‬‫ﻂ‬‫ﻞ‬ ‫ا‬‫ﺎ‬‫ﺷ‬‫ﻓ‬ ‫ﺎ‬ •‫ﻣﺤﺎﺳﺒﻪ‬‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬‫ﻣﺮاﺣﻞ‬‫در‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫ﺑﺎ‬‫ﺷﺮوع‬‫ﺗﺼﺎدﻓﻲ‬‫ﻣﺠﺪد‬
–‫ﺗﻌﺪاد‬‫ﺗﻜﺮارﻫﺎ‬=‫ﻋﻜﺲ‬‫اﺣﺘﻤﺎل‬‫ﻣﻮﻓﻘﻴﺖ‬
‫ﻂ‬‫ﻜ‬‫ﻂ‬‫ﻜ‬‫ﻂ‬ –‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬‫ﻣﺮاﺣﻞ‬=‫ﺗﻌﺪاد‬‫ﺷﻜﺴﺖ‬‫ﻫﺎ‬*‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬‫ﻣﺮاﺣﻞ‬‫ﺷﻜﺴﺖ‬+1*‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬
‫ﻣﺮاﺣﻞ‬‫ﻣﻮﻓﻘﻴﺖ‬
S(3)
A(2) D(1)
G(0)
h = 5 h = 2
‫ﻣﻮﻓﻘﻴﺖ‬ ‫اﺣﺘﻤﺎل‬=
3
1
‫ﺗﻜﺮارﻫﺎ‬ ‫ﺗﻌﺪاد‬3
B(2) E(1)
h = 7
h = 4
h = 2
h = 0 ‫ﺗﻜﺮارﻫﺎ‬ ‫ﺗﻌﺪاد‬=3
‫ﻣﻮﻓﻘﻴﺖ‬ ‫ﻣﺮاﺣﻞ‬ ‫ﻣﺘﻮﺳﻂ‬ ‫ﺗﻌﺪاد‬=1
‫ﺷﻜ‬ ‫ﻞ‬ ‫ا‬ ‫ﻂ‬ ‫ﺘ‬ ‫ا‬ ‫ﺗ‬8F(0)
C(2) H(0)
h h
h = 1
‫ﺷﻜﺴﺖ‬ ‫ﻣﺮاﺣﻞ‬ ‫ﻣﺘﻮﺳﻂ‬ ‫ﺗﻌﺪاد‬=6
8
( ) 411813 ≅×+×−h = 5 h = 4 ( ) 411
6
13 ≅×+×−
N. Razavi - AI course - 2007 50
Simulated Annealingg
•‫اﻳﺪه‬:‫از‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻫﺎي‬‫ﻣﺤﻠﻲ‬‫ﺑﺎ‬‫اﻧﺠﺎم‬‫ﺣﺮﻛﺖ‬‫ﻫﺎي‬»‫ﺑﺪ‬«‫ﻓﺮار‬‫ﻛﻦ‬
‫ﺎ‬ ‫ا‬‫ﺎ‬ ‫ا‬‫ﻪ‬‫ﻪ‬‫ﺗﺪ‬‫ﺗﺪ‬‫اﻧﺪاز‬‫اﻧﺪاز‬‫ﺪاد‬ ‫ﺗ‬‫ﺪاد‬ ‫ﺗ‬‫ﻛﺎت‬‫ﻛﺎت‬‫ﺪ‬‫ﺪ‬))‫ﻪ‬‫ﻪ‬‫ﺖ‬‫ﺖ‬‫ﻦ‬ ‫ﺎ‬‫ﻦ‬ ‫ﺎ‬((‫ا‬‫ا‬‫ﻛ‬‫ﻛ‬‫ﻛﻦ‬‫ﻛﻦ‬ ‫اﻣﺎ‬‫اﻣﺎ‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﺗﺪرﻳﺞ‬‫ﺗﺪرﻳﺞ‬‫اﻧﺪازه‬‫اﻧﺪازه‬‫و‬‫و‬‫ﺗﻌﺪاد‬‫ﺗﻌﺪاد‬‫ﺣﺮﻛﺎت‬‫ﺣﺮﻛﺎت‬‫ﺑﺪ‬‫ﺑﺪ‬))‫ﺑﻪ‬‫ﺑﻪ‬‫ﺳﻤﺖ‬‫ﺳﻤﺖ‬‫ﭘﺎﻳﻴﻦ‬‫ﭘﺎﻳﻴﻦ‬((‫را‬‫را‬‫ﻛﻢ‬‫ﻛﻢ‬‫ﻛﻦ‬‫ﻛﻦ‬
N. Razavi - AI course - 2007 51
‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬
••‫ﭘﻴﺸﺮوي‬‫ﻣﺎﻧﻨﺪ‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫ﻣﻲ‬،‫ﺑﺎﺷﺪ‬‫اﻣﺎ‬‫در‬‫ﻫﺮ‬‫ﻣﺮﺣﻠﻪ‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫ﺑﻪ‬‫ﻃﻮر‬
‫ﺗﺼﺎدﻓ‬‫ﺗﺼﺎدﻓ‬‫اﻧﺘﺨﺎب‬‫ﻣ‬‫ﺷﻮد‬ ‫ﺗﺼﺎدﻓﻲ‬‫ﺗﺼﺎدﻓﻲ‬‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺷﻮد‬.
•‫اﮔﺮ‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫اﻧﺘﺨﺎب‬‫ﺷﺪه‬‫ﺑﻬﺘﺮ‬،‫ﺑﺎﺷﺪ‬‫ﻫﻤﻮاره‬‫ﺑﻪ‬‫آن‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫ﺧﻮاﻫﻴﻢ‬
‫رﻓﺖ‬.
•‫در‬‫ﻏﻴﺮ‬‫اﻳﻦ‬،‫ﺻﻮرت‬‫ﺗﻨﻬﺎ‬‫ﺑﺎ‬‫ﻳﻚ‬‫اﺣﺘﻤﺎل‬‫ﺑﻪ‬‫آن‬‫ﺣﺎﻟﺖ‬‫ﺧﻮاﻫﻴﻢ‬‫رﻓﺖ‬‫و‬‫اﻳﻦ‬ ‫ر‬‫ﻴﺮ‬‫ﻳﻦ‬‫ﻮر‬‫ﻬ‬‫ﺑ‬‫ﻳ‬‫ل‬‫ﺑ‬‫ﻴﻢ‬ ‫ﻮ‬‫ر‬‫و‬‫ﻳﻦ‬
‫اﺣﺘﻤﺎل‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﻧﻤﺎﻳﻲ‬‫ﻛﺎﻫﺶ‬‫ﻣﻲ‬‫ﻳﺎﺑﺪ‬.
•‫ﺗﺎ‬‫ﺎل‬ ‫ا‬ •‫ﺗﺎﺑﻊ‬‫اﺣﺘﻤﺎل‬:
T:‫ﺗﻌﺪاد‬‫ﻣﺮاﺣﻞ‬‫ﺑﻬﺒﻮد‬‫راه‬‫ﺣﻞ‬e ΔE/T
‫ﻞ‬ ‫ﺮ‬‫ﺒﻮ‬ ‫ﺑ‬‫ﻞ‬
ΔE:‫ﻣﻴﺰان‬‫ﻛﺎﻫﺶ‬‫در‬‫ﻫﺮ‬‫ﻣﺮﺣﻠﻪ‬
N. Razavi - AI course - 2007 52
‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬ ‫ﺧﺼﻮﺻﻴﺎت‬‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬ ‫ﺧﺼﻮﺻﻴﺎت‬
•‫در‬‫ﻣﻘﺎدﻳﺮ‬‫ﺑﺎﻻﺗﺮ‬T،‫اﺣﺘﻤﺎل‬‫اﻧﺠﺎم‬‫ﺣﺮﻛﺎت‬‫ﺑﺪ‬)‫رﻓﺘﻦ‬‫ﺑﻪ‬‫ﺳﻤﺖ‬‫ﭘﺎﻳﻴﻦ‬(‫ﺑﻴﺸﺘﺮ‬‫اﺳﺖ‬.)‫ﻣﺎﻧﻨﺪ‬‫ﺟﺴﺘﺠﻮي‬‫ﺗﺼﺎدﻓﻲ‬
‫رﻓﺘﺎر‬‫ﻣﻲ‬‫ﻛﻨﺪ‬(
•‫ﺑﺎ‬‫ﻛﺎﻫﺶ‬T‫اﻳﻦ‬‫اﺣﺘﻤﺎل‬‫ﻛﺎﻫﺶ‬‫ﻳﺎﻓﺘﻪ‬‫و‬‫در‬T = 0‫اﻳﻦ‬‫اﺣﺘﻤﺎل‬‫ﺑﻪ‬‫ﺻﻔﺮ‬‫ﻣﻲ‬‫رﺳﺪ‬.)‫ﻣﺎﻧﻨﺪ‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫رﻓﺘﺎر‬
‫ﻣﻲ‬‫ﻛﻨﺪ‬(
•‫ﻣﻲ‬‫ﺗﻮان‬‫ﺛﺎﺑﺖ‬‫ﻛﺮد‬‫ﻛﻪ‬‫اﮔﺮ‬T‫ﺑﻪ‬‫ﺑﻪ‬‫اﻧﺪازه‬‫ﻛﺎﻓﻲ‬‫آرام‬‫ﻛﺎﻫﺶ‬،‫ﺑﻴﺎﺑﺪ‬‫ﺟﺴﺘﺠﻮي‬SA‫ﻳﻚ‬‫ﭘﺎﺳﺦ‬‫ﺑﻬﻴﻨﻪ‬
(global optimum)‫ﺑﺎ‬‫اﺣﺘﻤﺎﻟﻲ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﺳﻤﺖ‬‫ﻳﻚ‬‫ﻣﻴﻞ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﺧﻮاﻫﺪ‬‫ﻳﺎﻓﺖ‬. (g p )‫ﺑ‬‫ﻲ‬‫ﺑ‬‫ﻳ‬‫ﻴﻞ‬‫ﻲ‬‫ﻮ‬‫ﻳ‬
•‫ﻛﺎرﺑﺮدﻫﺎ‬:
‫ﻞ‬‫ﺎﺋﻞ‬VLSI –‫ﺣﻞ‬‫ﻣﺴﺎﺋﻞ‬VLSI
–‫ﺑﺮﻧﺎﻣﻪ‬‫رﻳﺰي‬
–‫اﻋﻤﺎل‬‫ﺑﻬﻴﻨﻪ‬‫ﺳﺎزي‬
–‫زﻣﺎﻧﺒﻨﺪي‬‫ﺧﻄﻮط‬‫ﻫﻮاﻳﻲ‬
N. Razavi - AI course - 2007 53
Local beam search
)‫اي‬ ‫دﺳﺘﻪ‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬(
•‫ﺷﺮوع‬‫ﺑﺎ‬k‫ﺣﺎﻟﺖ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻃﻮر‬‫ﺗﺼﺎدﻓﻲ‬‫اﻳﺠﺎد‬‫ﺷﺪه‬‫اﻧﺪ‬.
•‫در‬‫ﻫ‬،‫ار‬ ‫ﺗﻜ‬‫ﺎم‬ ‫ﺗ‬‫زﻧﺪان‬ ‫ﻓ‬‫اي‬ ‫ﺑ‬‫ﻫ‬k‫ﺣﺎﻟﺖ‬‫ﺪ‬ ‫ﻟ‬ ‫ﺗ‬‫ﻣ‬‫ﻧﺪ‬ ‫ﺷ‬ •‫در‬‫ﻫﺮ‬،‫ﺗﻜﺮار‬‫ﺗﻤﺎم‬‫ﻓﺮزﻧﺪان‬‫ﺑﺮاي‬‫ﻫﺮ‬k‫ﺣﺎﻟﺖ‬‫ﺗﻮﻟﻴﺪ‬‫ﻣﻲ‬‫ﺷﻮﻧﺪ‬.
•‫اﮔﺮ‬‫ﻳﻜﻲ‬‫از‬‫آﻧﻬﺎ‬‫ﺣﺎﻟﺖ‬‫ﻫﺪف‬‫ﺑﻮد‬‫ﺟﺴﺘﺠﻮ‬‫ﻣﺘﻮﻗﻒ‬‫ﻣﻲ‬‫ﺷﻮد‬‫و‬‫در‬
‫ﻟ‬‫ﻞ‬ ‫ﻛ‬k ‫ﻏﻴﺮ‬‫اﻳﻦ‬‫ﺻﻮرت‬‫از‬‫ﻣﻴﺎن‬‫ﻟﻴﺴﺖ‬‫ﻛﺎﻣﻞ‬‫ﻓﺮزﻧﺪان‬k‫ﺗﺎ‬‫از‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻫﺎ‬
‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺷﻮﻧﺪ‬‫و‬‫ﻣﺮﺣﻠﻪ‬‫ﺑﺎﻻ‬‫ﺗﻜﺮار‬‫ﻣﻲ‬‫ﺷﻮد‬. ‫ب‬‫ﻲ‬‫ﻮ‬‫و‬‫ﺮ‬‫ﺑ‬‫ر‬ ‫ﺮ‬‫ﻲ‬‫ﻮ‬
N. Razavi - AI course - 2007 54
‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
•‫ﻧﻮﻋﻲ‬‫از‬local beam search‫ﺑﻪ‬‫ﻫﻤﺮاه‬‫ﺗﺮﻛﻴﺐ‬‫ﺟﻨﺴﻲ‬
N. Razavi - AI course - 2007 55
‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
•‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫ﺑﺎ‬‫ﺗﺮﻛﻴﺐ‬‫دو‬‫ﺣﺎﻟﺖ‬‫ﭘﺪر‬‫اﻳﺠﺎد‬‫ﻣﻲ‬‫ﺷﻮد‬.
•‫وع‬ ‫ﺷ‬‫ﺑﺎ‬k‫ﺣﺎﻟﺖ‬‫ﺗﺼﺎدﻓ‬)‫ﺖ‬ ‫ﻌ‬ ‫ﺟ‬( •‫ﺷﺮوع‬‫ﺑﺎ‬k‫ﺣﺎﻟﺖ‬‫ﺗﺼﺎدﻓﻲ‬)‫ﺟﻤﻌﻴﺖ‬(
•‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﺑﺎ‬‫ﻳﻚ‬‫رﺷﺘﻪ‬‫ﺑﺮ‬‫روي‬‫ﻳﻚ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﻣﺤﺪود‬‫ﺑﺎزﻧﻤﺎﻳﻲ‬‫ﻣﻲ‬‫ﺷﻮد‬
)‫اﻏﻠ‬‫ﺷ‬‫ا‬‫ا‬‫ﻔ‬‫ﻚ‬()‫ﻛ‬( )‫اﻏﻠﺐ‬‫رﺷﺘﻪ‬‫اي‬‫از‬‫ﺻﻔﺮ‬‫و‬‫ﻳﻚ‬(–)‫ﻛﺮوﻣﻮزوم‬(
•‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬)‫ﺗﺎﺑﻊ‬‫ﺑﺮازﻧﺪﮔﻲ‬–Fitness function(:‫ﻣﻘﺎدﻳﺮ‬‫ﺑﺎﻻﺗﺮي‬ ‫ﻊ‬‫ﻊ‬
‫را‬‫ﺑﺮاي‬‫ﺣﺎﻻت‬‫ﺑﻬﺘﺮ‬‫اﻳﺠﺎد‬‫ﻣﻲ‬‫ﻛﻨﺪ‬.
•‫ﻧﺴﻞ‬‫ﺑﻌﺪي‬‫ﺟﻤﻌﻴﺖ‬‫ﺑﺎ‬‫اﻧﺠﺎم‬‫اﻋﻤﺎل‬‫زﻳﺮ‬‫روي‬‫ﺟﻤﻌﻴﺖ‬‫ﻓﻌﻠﻲ‬‫ﺗﻮﻟﻴﺪ‬‫ﻣﻲ‬‫ﺷﻮد‬: ‫ﻞ‬‫ي‬ ‫ﺑ‬‫ﻴ‬ ‫ﺟ‬‫ﺑ‬‫م‬ ‫ﺠ‬‫زﻳﺮ‬‫روي‬‫ﻴ‬ ‫ﺟ‬‫ﻲ‬‫ﻴ‬ ‫ﻮ‬‫ﻲ‬‫ﻮ‬
–‫اﻧﺘﺨﺎب‬(Selection)
–‫آﻣﻴﺰش‬(Crossover) ‫آﻣﻴﺰش‬(Crossover)
–‫ﺟﻬﺶ‬(Mutation)
N. Razavi - AI course - 2007 56
‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
•‫ﺗﺎﺑﻊ‬‫ﺑﺮازﻧﺪﮔﻲ‬:‫ﺗﻌﺪاد‬‫ﺟﻔﺖ‬‫وزﻳﺮ‬‫ﻫﺎﻳﻲ‬‫ﻛﻪ‬‫ﻳﻜﺪﻳﮕﺮ‬‫را‬‫ﺗﻬﺪﻳﺪ‬‫ﻧﻤﻲ‬‫ﻛﻨﻨﺪ‬ ‫ﻊ‬
)‫ﻣﻴﻨﻴﻤﻢ‬:،‫ﺻﻔﺮ‬‫ﻣﺎﻛﺰﻳﻤﻢ‬:8 * 7/2 = 28(
• 24 / (24+23+20+11) = 31%• 24 / (24+23+20+11) = 31%
• 23 / (24+23+20+11) = 29%
N. Razavi - AI course - 2007 57
‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
•‫ﻳﻚ‬‫ﻣﺜﺎل‬‫ﺑﺮاي‬‫ﻋﻤﻞ‬Crossover
Off iOff iParentParent11 ParentParent22 OffspringOffspring
11
(3 2 7 5 2 4 1 1) + (2 4 7 4 8 5 5 2) = (3 2 7 4 8 5 5 2)(3, 2, 7, 5, 2, 4, 1, 1) + (2, 4, 7, 4, 8, 5, 5, 2) (3, 2, 7, 4, 8, 5, 5, 2)
N. Razavi - AI course - 2007 58
‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬
function GENETIC-ALGORITHM( population, FITNESS-FN) returns an individual
input: population, a set of individuals
FITNESS-FN, a function that measures the fitness of an individual
repeatrepeat
new_population ← empty set
loop for i from 1 to SIZE(population) do
x ← RANDOM SELECTION(population FITNESS FN)x ← RANDOM_SELECTION(population, FITNESS_FN)
y ← RANDOM_SELECTION(population, FITNESS_FN)
child ← REPRODUCE(x,y)
if (small random probability) then child ← MUTATE(child )if (small random probability) then child ← MUTATE(child )
add child to new_population
population ← new_population
il i di id l i fi h h i h l duntil some individual is fit enough or enough time has elapsed
return the best individual in population, according to FITNESS-FN
N. Razavi - AI course - 2007 59
‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺎي‬ ‫اﺳﺘﺮاﺗﮋي‬ ‫ﺑﻨﺪي‬ ‫دﺳﺘﻪ‬‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺎي‬ ‫اﺳﺘﺮاﺗﮋي‬ ‫ﺑﻨﺪي‬ ‫دﺳﺘﻪ‬
DFS BFS
g = depth
UCS A* A Best
First
General
Search
Greedy
f = h g = depth
h = 0 h ≤ h* f = g + h
First Searchf h
N. Razavi - AI course - 2007 60
‫اﻛﺘﺸﺎﻓ‬ ‫ﻣﺴﺎﺋﻞ‬‫اﻛﺘﺸﺎﻓﻲ‬ ‫ﻣﺴﺎﺋﻞ‬
•‫ﺗﺎ‬‫ﻛﻨﻮن‬‫ﺗﻤﺎم‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎ‬offline‫ﺑﻮدﻧﺪ‬
Offli‫آ‬ –Offline=‫راه‬‫ﺣﻞ‬‫ﻗﺒﻞ‬‫از‬‫اﺟﺮاي‬‫آن‬‫ﻣﻌﻴﻦ‬‫اﺳﺖ‬
–Online=‫ﻣﺤﺎﺳﺒﻪ‬‫و‬‫ﻋﻤﻞ‬‫ﺑﺼﻮرت‬‫ﻳﻚ‬‫در‬‫ﻣﻴﺎن‬ ‫ﺒ‬‫و‬‫ﻞ‬‫ﻮر‬ ‫ﺑ‬‫ﻳ‬‫ر‬‫ﻴ‬
–‫ﺟﺴﺘﺠﻮي‬online‫ﺑﺮاي‬‫ﻣﺤﻴﻂ‬‫ﻫﺎي‬‫ﭘﻮﻳﺎ‬‫و‬‫ﻧﻴﻤﻪ‬‫ﭘﻮﻳﺎ‬‫ﺿﺮوري‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬
‫ﻈ‬‫ﻓ‬ ‫ﮔ‬‫ﺎ‬‫ﻜﺎ‬ ‫ا‬‫ﺎ‬‫ﻠ‬‫ﻏ‬‫ﻜ‬‫ا‬ •‫در‬‫ﻧﻈﺮ‬‫ﮔﺮﻓﺘﻦ‬‫ﺗﻤﺎﻣﻲ‬‫اﻣﻜﺎن‬‫ﻫﺎي‬‫ﻣﺨﺘﻠﻒ‬‫ﻏﻴﺮ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬
•‫اﺳﺘﻔﺎده‬‫ﺷﺪه‬‫در‬‫ﻣﺴﺎﺋﻞ‬‫اﻛﺘﺸﺎﻓﻲ‬ ‫ر‬‫ﻞ‬‫ﻲ‬
–‫ﺣﺎﻟﺖ‬‫ﻫﺎ‬‫و‬‫اﻋﻤﺎل‬‫ﻧﺎﺷﻨﺎﺧﺘﻪ‬
‫ﻚ‬‫ﻚ‬‫ﻚ‬ –‫ﻣﺜﺎل‬:‫ﻳﻚ‬‫روﺑﺎت‬‫در‬‫ﻳﻚ‬‫ﻣﺤﻴﻂ‬،‫ﺟﺪﻳﺪ‬‫ﻳﻚ‬‫ﻧﻮزاد‬‫و‬...
N. Razavi - AI course - 2007 61
‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online
•‫داﻧﺶ‬‫ﻋﺎﻣﻞ‬:
–‫ﻋﻤﻞ‬)‫ﻫﺎ‬(:‫ﻟﻴﺴﺖ‬‫اﻋﻤﺎل‬‫ﻣﺠﺎز‬‫در‬‫ﺣﺎﻟﺖ‬s
–c(s, a, s’):‫ﺗﺎﺑﻊ‬‫ﻫﺰﻳﻨﻪ‬‫ﮔﺎم‬)‫ﭘﺲ‬‫از‬‫ﺗﻌﻴﻴﻦ‬s’( ( , , )‫ﺑﻊ‬‫ﺰﻳ‬‫م‬‫ﭘﺲ‬‫ز‬‫ﻴﻴﻦ‬
–GOAL-TEST(s)
•‫ﻋﺎﻣﻞ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺣﺎﻟﺖ‬‫ﻗﺒﻠﻲ‬‫را‬‫ﺗﺸﺨﻴﺺ‬‫دﻫﺪ‬
•‫اﻋﻤﺎل‬‫ﻗﻄﻌ‬‫ﺘﻨﺪ‬ ‫ﻫ‬ ‫اﻋﻤﺎل‬‫ﻗﻄﻌﻲ‬‫ﻫﺴﺘﻨﺪ‬
•‫دﺳﺘﻴﺎﺑﻲ‬‫ﺑﻪ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬h(s) ‫ﺑﻲ‬ ‫ﻴ‬‫ﺑ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬‫ﺑﻞ‬‫ﺒﻮ‬( )
•‫ﻣﺎﻧﻨﺪ‬‫ﻓﺎﺻﻠﻪ‬‫ﻣﺎﻧﻬﺎﺗﺎﻧﻲ‬
N. Razavi - AI course - 2007 62
‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online
•‫ﻫﺪف‬:‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﺣﺎﻟﺖ‬‫ﻫﺪف‬‫ﺑﺎ‬‫ﺣﺪاﻗﻞ‬‫ﻫﺰﻳﻨﻪ‬
‫ﻛﻞ‬ –‫ﻫﺰﻳﻨﻪ‬=‫ﻛﻞ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫ﭘﻴﻤﻮده‬‫ﺷﺪه‬
–‫ﻧﺴﺒﺖ‬‫رﻗﺎﺑﺘﻲ‬=‫ﻣﻘﺎﻳﺴﻪ‬‫ﻫﺰﻳﻨﻪ‬‫ﺑﺎ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫در‬‫ﺣﺎﻟﺘﻲ‬‫ﻛﻪ‬‫ﻓﻀﺎي‬ ‫ﺒ‬‫ﻲ‬ ‫ﺑ‬ ‫ر‬‫ﻳ‬‫ﺰﻳ‬‫ﺑ‬‫ﺰﻳ‬‫ﻴﺮ‬‫ر‬‫ﻞ‬‫ر‬‫ﻲ‬‫ي‬
‫ﺟﺴﺘﺠﻮ‬‫ﺷﻨﺎﺧﺘﻪ‬‫ﺷﺪه‬‫ﺑﺎﺷﺪ‬
‫اﻧﺪ‬ ‫ﺗ‬‫ﻧﺎ‬‫د‬ ‫ﺪ‬‫ﺎﺷﺪ‬ –‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﻧﺎ‬‫ﻣﺤﺪود‬‫ﺑﺎﺷﺪ‬
–‫در‬‫ﻣﻮاردي‬‫ﻛﻪ‬‫ﻋﺎﻣﻞ‬‫ﺑﻪ‬‫ﻃﻮر‬‫ﺗﺼﺎدﻓﻲ‬
‫ﺑﻪ‬‫ﻳﻚ‬‫ﺑﻦ‬‫ﺑﺴﺖ‬‫ﻣﻲ‬‫رﺳﺪ‬
N. Razavi - AI course - 2007 63
‫دﺷﻤﻨﺎﻧﻪ‬ ‫اﺳﺘﺪﻻل‬
•‫ﻚ‬‫ﺷ‬‫ا‬‫ﺗ‬‫ﺪ‬ ‫ﻛﻨ‬‫ﻛ‬‫ﻗﺎ‬‫ﺖ‬ ‫ا‬‫ش‬ ‫ﻛﺎ‬‫ﻞ‬ ‫ﺎ‬‫ﻓﻀﺎ‬‫ﺎﻟﺖ‬ •‫ﻳﻚ‬‫دﺷﻤﻦ‬‫را‬‫ﺗﺼﻮر‬‫ﻛﻨﻴﺪ‬‫ﻛﻪ‬‫ﻗﺎدر‬‫اﺳﺖ‬‫در‬‫ﺣﻴﻦ‬‫ﻛﺎوش‬‫ﻋﺎﻣﻞ‬‫ﻓﻀﺎي‬‫ﺣﺎﻟﺖ‬
‫را‬‫ﺑﺴﺎزد‬
•‫ﺣﺎﻟﺖ‬‫ﻫﺎي‬‫ﻣﻼﻗﺎت‬‫ﺷﺪه‬S‫و‬A.‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي؟‬
–‫در‬‫ﻳﻜﻲ‬‫از‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫ﺷﻜﺴﺖ‬‫ﻣﻲ‬‫ﺧﻮرد‬ ‫در‬‫ﻳﻜﻲ‬‫از‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫ﺷﻜﺴﺖ‬‫ﻣﻲ‬‫ﺧﻮرد‬
–‫ﻫﻴﭻ‬‫اﻟﮕﻮرﻳﺘﻤﻲ‬‫ﻧﻤﻲ‬‫ﺗﻮاﻧﺪ‬‫از‬‫ﺑﻦ‬‫ﺑﺴﺖ‬‫ﻫﺎ‬‫در‬‫ﺗﻤﺎﻣﻲ‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫اﺟﺘﻨﺎب‬‫ﻛﻨﺪ‬
N. Razavi - AI course - 2007 64
‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫ﻋﺎﻣﻞ‬Online ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫ﻋﺎﻣﻞ‬Online
•‫ﻋﺎﻣﻞ‬‫ﻳﻚ‬‫ﻧﻘﺸﻪ‬‫از‬‫ﻣﺤﻴﻂ‬‫ﻧﮕﻬﺪاري‬‫ﻣﻲ‬‫ﻛﻨﺪ‬
‫ﻘ‬‫ﺎ‬ ‫ا‬‫اﻛ‬ ‫ا‬‫ﮕﺎ‬ –‫ﻧﻘﺸﻪ‬‫ﺑﺮ‬‫اﺳﺎس‬‫ورودي‬‫ادراﻛﻲ‬‫ﺑﻬﻨﮕﺎم‬‫ﻣﻲ‬‫ﺷﻮد‬
–‫از‬‫اﻳﻦ‬‫ﻧﻘﺸﻪ‬‫ﺑﺮاي‬‫اﻧﺘﺨﺎب‬‫ﻋﻤﻞ‬‫ﺑﻌﺪي‬‫اﺳﺘﻔﺎده‬‫ﻣﻲ‬‫ﺷﻮد‬ ‫ز‬‫ﻳﻦ‬‫ي‬ ‫ﺑﺮ‬‫ب‬‫ﻞ‬‫ي‬ ‫ﺑ‬‫ﻲ‬‫ﻮ‬
•‫ﺑﻪ‬‫ﺗﻔﺎوت‬‫ﻣﺜﻼ‬‫ﺑﺎ‬A*‫دﻗﺖ‬‫ﻛﻨﻴﺪ‬
–‫ﻳﻚ‬‫ﻧﺴﺨﻪ‬online‫ﺗﻨﻬﺎ‬‫ﻣ‬‫ﺗﻮاﻧﺪ‬‫ﻫ‬ ‫ﮔ‬‫را‬‫ش‬ ‫ﮔﺴﺘ‬‫دﻫﺪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻃﻮر‬ ‫ﻳﻚ‬‫ﻧﺴﺨﻪ‬online‫ﺗﻨﻬﺎ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﮔﺮﻫﻲ‬‫را‬‫ﮔﺴﺘﺮش‬‫دﻫﺪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻃﻮر‬
‫ﻓﻴﺰﻳﻜﻲ‬‫در‬‫آن‬‫ﻗﺮار‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬
N. Razavi - AI course - 2007 65
Online DFS-Agent
function ONLINE-DFS-AGENT(s’) returns an action
input: s’, a percept identifying current state
t ti lt t bl i d d b ti d t t i iti ll tstatic: result, a table indexed by action and state, initially empty
unexplored, a table that lists for each visited state, the action not yet tried
unbacktracked, a table that lists for each visited state, the backtrack not yet tried
s,a, the previous state and action, initially null
if GOAL TEST(s’) then return stopif GOAL-TEST(s ) then return stop
if s’ is a new state then unexplored[s’] ← ACTIONS(s’)
if s is not null then do
result[a,s] ← s’
add s to the front of unbackedtracked[s’]
if unexplored[s’] is empty thenif unexplored[s ] is empty then
if unbacktracked[s’] is empty then return stop
else a ← an action b such that result[b, s’]=POP(unbacktracked[s’])
else a ← POP(unexplored[s’])
s ← s’
return a
N. Razavi - AI course - 2007 66
‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ،
•‫ﻣﺴﺎﻟﻪ‬‫ﻣﺴﻴﺮ‬‫ﭘﺮ‬‫ﭘﻴﭻ‬‫و‬‫ﺧﻢ‬‫ﺑﺮ‬‫روي‬‫ﻳﻚ‬
‫ﻪ‬ ‫ﻔ‬3*3 ‫ﺻﻔﺤﻪ‬3*3
•‫ﺣﺎﻟﺖ‬‫اوﻟﻴﻪ‬:s’=(1, 1) ‫ﺖ‬‫ﻴ‬ ‫و‬:s ( , )
•Result‫و‬Unexplored(UX)‫و‬
Unbacktracked(UB)‫و‬...
‫ﺗﻬ‬‫ﺘﻨﺪ‬ ‫ﻫ‬ ‫ﺗﻬﻲ‬‫ﻫﺴﺘﻨﺪ‬
•S‫و‬a‫ﻧﻴﺰ‬‫ﺗﻬﻲ‬‫ﻫﺴﺘﻨﺪ‬ ‫و‬‫ﻴﺰ‬‫ﻬﻲ‬
N. Razavi - AI course - 2007 67
‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ،
• GOAL-TEST((1, 1))?
– S not = G thus false
(1 1) t t ?• (1,1) a new state?
– True
– ACTION((1,1)) -> UX[(1,1)]ACTION((1,1)) UX[(1,1)]
• {RIGHT,UP}
• s is null?
– True (initially)
• UX[(1,1)] empty?
F l– False
• POP(UX[(1,1)]) -> a
a = UP– a = UP
• s = (1,1)
• Return a
N. Razavi - AI course - 2007 68
• Return a
‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ،
S’ (1 1)
• GOAL-TEST((1,1))?
S’=(1,1)
(( , ))
– S not = G thus false
• (1,1) a new state?
– false
• s is null?
f l ( (2 1))– false (s = (2, 1))
– result [DOWN, (2, 1)] <- (1,1)
– UB[(1,1)] = {(2,1)}UB[(1,1)] {(2,1)}
• UX[(1,1)] empty?
– False
• a = RIGHT, s = (1,1)
• return a
N. Razavi - AI course - 2007 69
‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ،
S’ (1 2)
• GOAL-TEST((1,2))?
S’=(1,2)
(( , ))
– S not = G thus false
• (1,2) a new state?
– True,
UX[(1,2)]={RIGHT,UP,LEFT}
• s is null?s is null?
– false (s = (1,1))
– result [RIGHT, (1,1)] <- (1, 2)
– UB[(1,2)] = {(1,1)}
• UX[(1, 2)] empty?
– False
• a = LEFT, s =(1, 2)
N. Razavi - AI course - 2007 70
• return a
‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ،
S’ (1 1)
• GOAL-TEST((1, 1))?
S’=(1,1) – S not = G thus false
• (1, 1) a new state?
– falsefalse
• s is null?
– false (s = (1, 2))
lt [LEFT (1 2)] (1 1)– result [LEFT, (1, 2)] <- (1, 1)
– UB[(1, 1)]={(1, 2), (2, 1)}
• UX[(1, 1)] empty?[( , )] p y
– True
– UB[(1, 1)] empty? False
• a = b for b in result [b (1 1)] = (1 2)• a = b for b in result [b, (1,1)] = (1, 2)
– b = RIGHT
• a = RIGHT, s = (1, 1) …
N. Razavi - AI course - 2007 71
, ( , )
‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ،
•‫ﺑﺪﺗﺮﻳﻦ‬‫ﺣﺎﻟﺖ‬:‫ﻫﺮ‬‫ﮔﺮه‬‫دو‬‫ﺑﺎر‬‫ﻣﻼﻗﺎت‬‫ﺷﺪه‬‫اﺳﺖ‬
‫ﻚ‬‫ﻜ‬‫ﻟ‬‫ﻛ‬‫ﻚ‬‫ﻚ‬ •‫ﻳﻚ‬‫ﻋﺎﻣﻞ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫در‬‫ﺣﺎﻟﻲ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﭘﺎﺳﺦ‬‫ﻧﺰدﻳﻚ‬،‫اﺳﺖ‬‫ﻳﻚ‬
‫راه‬‫ﻃﻮﻻﻧﻲ‬‫را‬‫ﺑﭙﻴﻤﺎﻳﺪ‬ ‫ر‬‫ﻲ‬ ‫ﻮ‬‫ر‬‫ﻳ‬ ‫ﺑﭙﻴ‬
•‫ﻳﻚ‬‫روش‬‫ﻋﻤﻴﻖ‬‫ﻛﻨﻨﺪه‬‫ﺗﻜﺮاي‬online‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫اﻳﻦ‬‫ﻣﺸﻜﻞ‬‫را‬
‫ﺣﻞ‬‫ﻛﻨﺪ‬
•‫ي‬ ‫ﺘ‬‫ﻘ‬online‫ﻓﻘﻂ‬‫ﻗﺘ‬‫ﻛﺎ‬‫ﻛﻨﺪ‬‫ﻛﻪ‬‫ﺎل‬ ‫ا‬‫ﻞ‬‫ﻗﺎ‬ •‫ﺟﺴﺘﺠﻮي‬‫ﻋﻤﻘﻲ‬online‫ﻓﻘﻂ‬‫وﻗﺘﻲ‬‫ﻛﺎر‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﻛﻪ‬‫اﻋﻤﺎل‬‫ﻗﺎﺑﻞ‬
‫ﺑﺮﮔﺸﺖ‬‫ﺑﺎﺷﻨﺪ‬
N. Razavi - AI course - 2007 72
‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online
•‫ﺗﭙﻪ‬‫ﻧﻮردي‬online‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬
–‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ذﺧﻴﺮه‬‫ﺷﺪه‬‫اﺳﺖ‬
•‫ﻋﻤﻠﻜﺮد‬‫ﺑﺪ‬‫ﺑﻪ‬‫دﻟﻴﻞ‬‫وﺟﻮد‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻫﺎي‬‫ﻣﺤﻠﻲ‬ ‫ﻋﻤﻠﻜﺮد‬‫ﺑﺪ‬‫ﺑﻪ‬‫دﻟﻴﻞ‬‫وﺟﻮد‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻫﺎي‬‫ﻣﺤﻠﻲ‬
–‫ﺷﺮوع‬‫ﻣﺠﺪد‬‫ﺗﺼﺎدﻓﻲ‬‫ﻏﻴﺮ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬
‫ﻛ‬‫ﻛ‬)‫ﻻ‬ •‫راه‬‫ﺣﻞ‬:‫ﺣﺮﻛﺖ‬‫ﺗﺼﺎدﻓﻲ‬‫ﺑﺎﻋﺚ‬‫ﻛﺎوش‬‫ﻣﻲ‬‫ﺷﻮد‬)‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺣﺎﻻت‬‫ﺑﺴﻴﺎري‬
‫را‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﻧﻤﺎﻳﻲ‬‫ﺗﻮﻟﻴﺪ‬‫ﻛﻨﺪ‬( ‫ﻲ‬
N. Razavi - AI course - 2007 73
‫ﻣﺤﻠ‬ ‫ﺟﺴﺘﺠﻮي‬online ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online
•‫راه‬‫ﺣﻞ‬2:‫اﺿﺎﻓﻪ‬‫ﻧﻤﻮدن‬‫ﺣﺎﻓﻈﻪ‬‫ﺑﻪ‬‫ﺗﭙﻪ‬‫ﻧﻮرد‬
( ) •‫ذﺧﻴﺮه‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺗﺨﻤﻴﻦ‬‫ﻓﻌﻠﻲ‬H(s)‫از‬‫ﻫﺰﻳﻨﻪ‬‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﻫﺪف‬
•H(s)‫در‬‫اﺑﺘﺪا‬‫ﻦ‬ ‫ﺗﺨ‬‫ﻚ‬ ‫ﺘ‬ ‫رﻳ‬ ‫ﻫ‬h(s)‫ﻣ‬‫ﺑﺎﺷﺪ‬ •H(s)‫در‬‫اﺑﺘﺪا‬‫ﺗﺨﻤﻴﻦ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬h(s)‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬
•‫ﭘﺲ‬‫از‬‫آن‬‫ﺑﺮ‬‫اﺳﺎس‬‫ﺗﺠﺮﺑﻪ‬‫ﺑﻬﻨﮕﺎم‬‫ﻣﻲ‬‫ﺷﻮد‬)‫ﺷﻜﻞ‬‫ﭘﺎﻳﻴﻦ‬( ‫م‬‫ﻞ‬
N. Razavi - AI course - 2007 74
Learning real-time A*
function LRTA*-COST (s, a, s’,H) return an cost estimate
if s’ is undefined the return h(s)if s is undefined the return h(s)
else return c(s, a, s’) + H[s’]
function LRTA* AGENT (s’) return an actionfunction LRTA*-AGENT (s ) return an action
input: s’, a percept identifying current state
static: result, a table indexed by action and state, initially empty
H t bl f t ti t i d d b t t i iti ll tH, a table of cost estimates indexed by state, initially empty
s,a, the previous state and action, initially null
if GOA T S ( ’)if GOAL-TEST (s’) then return stop
if s’ is a new state (not in H) then H[s’] ← h(s’)
unless s is null
result[a,s] ← s’
H[s] ← MIN LRTA*-COST (s, b, result [b, s], H)
b ∈ ACTIONS (s)
a ← an action b in ACTIONS (s’) that minimizes LRTA*-COST (s’, b, result [b, s’], H)
s ← s’
return a
N. Razavi - AI course - 2007 75
etu a

More Related Content

Recently uploaded

ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 

Recently uploaded (20)

ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

AI ch4

  • 1. ‫آﮔﺎﻫﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫روش‬‫ﺠﻮي‬ ‫ﺟ‬ ‫ي‬ ‫روش‬ ‫ﭼﻬﺎرم‬ ‫ﻓﺼﻞ‬ ‫رﺿﻮي‬ ‫ﻧﺎﺻ‬ ‫ﺪ‬ ‫ﺳ‬‫رﺿﻮي‬ ‫ﻧﺎﺻﺮ‬ ‫ﺳﻴﺪ‬ razavi@Comp.iust.ac.irEmail: 1386 ‫ﻣﻘﺪﻣﻪ‬‫ﻣﻘﺪﻣﻪ‬ •‫ﺟﺴﺘﺠﻮي‬‫اول‬-‫ﺑﻬﺘﺮﻳﻦ‬(Best-First Search) ‫ﺟﺴﺘﺠﻮي‬‫اول‬‫ﺑﻬﺘﺮﻳﻦ‬(Best First Search) •‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬(Greedy search) •‫ﺟﺴﺘﺠﻮي‬A*‫و‬‫ﺧﺼﻮﺻﻴﺎت‬‫آن‬ ‫ﺠﻮي‬ ‫ﺟ‬‫و‬‫ت‬ ‫ﺼﻮﺻﻴ‬‫ن‬ •‫ﺟﺴﺘﺠﻮي‬‫ﻋﻤﻴﻖ‬‫ﻛﻨﻨﺪه‬‫ﺗﻜﺮاري‬A*‫و‬SMA* •‫ﺘﺠﻮي‬ ‫ﺟ‬‫اول‬‫ﻳﻦ‬ ‫ﺑﻬﺘ‬‫ﺑﺎزﮔﺸﺘ‬(RBFA*) ‫ﺟﺴﺘﺠﻮي‬‫اول‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺑﺎزﮔﺸﺘﻲ‬(RBFA ) •‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻫﺎ‬(Heuristics) ‫اﻟﮕ‬‫ﺎ‬‫ﻠ‬ •‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎي‬‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﻠﻲ‬ •‫ﺟﺴﺘﺠﻮي‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬(Hill Climbing) Si l t d A li •‫ﺟﺴﺘﺠﻮي‬Simulated Annealing •‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎي‬‫ژﻧﺘﻴﻚ‬ N. Razavi - AI course - 2007 2 ‫ﻧﺎآﮔﺎﻫﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫روش‬ ‫ﻣﺸﻜﻼت‬‫ﻧﺎآﮔﺎﻫﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫روش‬ ‫ﻣﺸﻜﻼت‬ ‫ﮔ‬‫ﮔ‬‫ﻄ‬‫آ‬ •‫ﻣﻌﻴﺎر‬‫اﻧﺘﺨﺎب‬‫ﮔﺮه‬‫ﺑﻌﺪي‬‫ﺑﺮاي‬‫ﮔﺴﺘﺮش‬‫دادن‬‫ﺗﻨﻬﺎ‬‫ﺑﻪ‬‫ﺷﻤﺎره‬‫ﺳﻄﺢ‬‫آن‬ ‫ﺑﺴﺘﮕﻲ‬‫دارد‬. ‫ﻲ‬ ‫ﺑ‬‫ر‬ •‫از‬‫ﺳﺎﺧﺘﺎر‬‫ﻣﺴﺄﻟﻪ‬‫ﺑﻬﺮه‬‫ﻧﻤﻲ‬‫ﺑﺮﻧﺪ‬. •‫درﺧﺖ‬‫ﺟﺴﺘﺠﻮ‬‫را‬‫ﺑﻪ‬‫ﻳﻚ‬‫روش‬‫از‬‫ﭘﻴﺶ‬‫ﺗﻌﺮﻳﻒ‬‫ﺷﺪه‬‫ﮔﺴﺘﺮش‬ ‫ﻣ‬‫دﻫﻨﺪ‬‫ﻳﻌﻨ‬‫ﺖ‬ ‫ﻗﺎﺑﻠ‬‫ﻖ‬ ‫ﺗﻄ‬‫ي‬ ‫ﭘﺬﻳ‬‫ﺑﺎ‬‫آﻧﭽﻪ‬‫ﻛﻪ‬‫ﺗﺎ‬‫ن‬ ‫ﻛﻨ‬‫د‬‫ﻣ‬ ‫ﻣﻲ‬‫دﻫﻨﺪ‬.‫ﻳﻌﻨﻲ‬‫ﻗﺎﺑﻠﻴﺖ‬‫ﺗﻄﺒﻴﻖ‬‫ﭘﺬﻳﺮي‬‫ﺑﺎ‬‫آﻧﭽﻪ‬‫ﻛﻪ‬‫ﺗﺎ‬‫ﻛﻨﻮن‬‫در‬‫ﻣﺴﻴﺮ‬ ‫ﺟﺴﺘﺠﻮ‬‫درﻳﺎﻓﺘﻪ‬‫اﻧﺪ‬‫و‬‫ﻧﻴﺰ‬‫ﺣﺮﻛﺘﻲ‬‫ﻛﻪ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺧﻮب‬‫ﺑﺎﺷﺪ‬‫ﻧﺪارﻧﺪ‬. N. Razavi - AI course - 2007 3 ‫ﻣﺮور‬‫درﺧﺖ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺮور‬:‫درﺧﺖ‬ ‫ﺟﺴﺘﺠﻮي‬ function GENERAL-SEARCH( problem, strategy) returns a solution , or failure initialize the search tree using the initial state of probleminitialize the search tree using the initial state of problem loop do if there are no candidates for expansion then return failure choose a leaf node for expansion according to strategy if the node contains the goal state then return the corresponding solution else expand the node and add the resulting node to the search treeelse expand the node and add the resulting node to the search tree end ••‫اﺳﺘﺮاﺗﮋي‬‫ﺗﻮﺳﻂ‬‫ﺗﺮﺗﻴﺐ‬‫ﺗﺮﺗﻴﺐ‬‫ﮔﺴﺘﺮش‬‫ﮔﺴﺘﺮش‬‫ﻳﺎﻓﺘﻦ‬‫ﻳﺎﻓﺘﻦ‬‫ﮔﺮه‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﻫﺎ‬‫ﺗﻌﺮﻳﻒ‬‫ﻣﻲ‬‫ﺷﻮد‬. N. Razavi - AI course - 2007 4
  • 2. ‫اول‬ ‫ﺟﺴﺘﺠﻮي‬‫ﺑﻬﺘﺮﻳﻦ‬ ‫اول‬ ‫ﺟﺴﺘﺠﻮي‬-‫ﺑﻬﺘﺮﻳﻦ‬ •‫اﻳﺪه‬:‫ﺑﺮاي‬‫ﻫﺮ‬‫ﮔﺮه‬‫از‬‫ﻳﻚ‬‫ﺗﺎﺑﻊ‬‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬‫ارزﻳﺎﺑﻲ‬(evaluation function)‫اﺳﺘﻔﺎده‬‫ﻛﻦ‬. –‫ﺗﺨﻤﻴﻦ‬”‫ﻣﻴﺰان‬‫ﻣﻄﻠﻮب‬‫ﺑﻮدن‬“‫ﮔﺮه‬ ‫ﻫﺮﺑﺎر‬‫ﻣﻄﻠﻮب‬‫ﺗﺮﻳﻦ‬‫ﮔﺮه‬‫ﮔﺴﺘﺮش‬‫ﻧﻴﺎﻓﺘﻪ‬‫را‬‫ﺑﺴﻂ‬‫ﻣﻲ‬‫دﻫﺪ‬. ••‫ﭘﻴﺎده‬‫ﭘﻴﺎده‬‫ﺳﺎزي‬‫ﺳﺎزي‬:: fringefringe‫ﻳﻚ‬‫ﺻﻒ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬‫ﺑﺮ‬‫اﺳﺎس‬‫ﻣﻴﺰان‬‫ﻣﻄﻠﻮب‬‫ﺑﻮدن‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﻣﺮﺗﺐ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. ‫ﻳ‬‫ﻲ‬‫ﺑ‬‫ﺑﺮ‬‫س‬‫ﻴﺰ‬‫ﻮب‬‫ﺑﻮ‬‫ﺮ‬‫ﺐ‬ ‫ﺮ‬‫ﻲ‬‫ﺑ‬ •‫ﻣﻮارد‬‫ﺧﺎص‬: ‫ر‬ ‫ﻮ‬‫ص‬ –‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬(Greedy search) –‫ﺟﺴﺘﺠﻮي‬A* N. Razavi - AI course - 2007 5 ‫ﻞ‬ ‫ا‬ ‫ﻨ‬ ‫ﺰ‬ ‫ا‬ ‫ﺎﻧ‬ ‫ﻧﻘﺸ‬km ‫ﺑﺮﺣﺴﺐ‬ ‫ﻣﺮاﺣﻞ‬ ‫ﻫﺰﻳﻨﻪ‬ ‫ﻫﻤﺮاه‬ ‫ﺑﻪ‬ ‫روﻣﺎﻧﻲ‬ ‫ﻧﻘﺸﻪ‬km N. Razavi - AI course - 2007 6 ‫اول‬ ‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ ‫اول‬ ‫ﺟﺴﺘﺠﻮي‬-‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ •‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬f(n) = h( n))‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬( ‫ﮔ‬‫ﻜ‬ •=‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫از‬‫ﮔﺮه‬n‫ﺗﺎ‬‫ﻧﺰدﻳﻜﺘﺮﻳﻦ‬‫ﻫﺪف‬ •‫ﻣﺜﺎل‬:hSLD(n)=‫ﻓﺎﺻﻠﻪ‬‫ﻣﺴﺘﻘﻴﻢ‬‫از‬n‫ﺗﺎ‬‫ﺑﺨﺎرﺳﺖ‬. SLD( )‫ﻴﻢ‬‫ﺑ‬ ‫ﮔ‬‫ﮔ‬ •‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬‫ﮔﺮه‬‫اي‬‫را‬‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻧﻈﺮ‬‫ﻣﻲ‬‫رﺳﺪ‬ ‫ﻳﻦ‬ ‫ﻧﺰدﻳﻜﺘ‬‫ه‬ ‫ﮔ‬‫ﺑﻪ‬‫ﻫﺪف‬)‫ﺑﺨﺎرﺳﺖ‬(‫ﺑﺎﺷﺪ‬ ‫ﻧﺰدﻳﻜﺘﺮﻳﻦ‬‫ﮔﺮه‬‫ﺑﻪ‬‫ﻫﺪف‬)‫ﺑﺨﺎرﺳﺖ‬(‫ﺑﺎﺷﺪ‬. N. Razavi - AI course - 2007 7 ‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬ Arad ZerindTimisoaraSibiu A d F O d Rimnicu 253 374329 Arad Fagaras Oradea Rimnicu Vilcea 366 380176 193 0: [A(366)] 1: [S(253), T(329), Z(374)] 2 [F(176) R(193) T(329) A(366) Sibiu Bucharest 0 2: [F(176), R(193), T(329), A(366), Z(374), O(380)] 3: [B(0), R(193), S(253), T(329), A(366), 0253 [ ( ), ( ), ( ), ( ), ( ), Z(374), O(380)] 4: [R(193), S(253), T(329), A(366), Z(374) O(380)] N. Razavi - AI course - 2007 8 Z(374), O(380)]
  • 3. ‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﺧﻮاص‬‫ﺣﺮﻳﺼﺎﻧﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﺧﻮاص‬ •‫ﻛﺎﻣﻞ‬‫؟‬‫؟‬،‫ﺧﻴﺮ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫در‬‫ﺣﻠﻘﻪ‬‫ﮔﻴﺮ‬‫ﻛﻨﺪ‬. –‫ﻣﺜﺎل‬:‫ﺣﺎﻟﺖ‬‫اوﻟﻴﻪ‬Iasi،‫ﺣﺎﻟﺖ‬‫ﻫﺪف‬Fagaras ‫ل‬‫ﻴ‬ ‫و‬‫ف‬g Iasi Neamt Iasi Neamt … •‫ﭘﻴﭽﻴﺪﮔﻲ‬‫زﻣﺎﻧﻲ‬‫؟‬‫؟‬O(bm)،‫اﻣﺎ‬‫ﺑﺎ‬‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﺧﻮب‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺑﺴﻴﺎر‬‫ﺑﻬﺒﻮد‬‫ﻳﺎﺑﺪ‬. •‫ﭘﻴﭽﻴﺪﮔﻲ‬‫ﺣﺎﻓﻈﻪ‬‫؟‬‫؟‬O(bm)،‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫را‬‫در‬‫ﺣﺎﻓﻈﻪ‬‫ﻧﮕﻪ‬‫ﻣﻲ‬‫دارد‬. ‫م‬ •‫ﺑﻬﻴﻨﻪ؟‬،‫ﺧﻴﺮ‬)‫ﺑﺎ‬‫ﺗﻮﺟﻪ‬‫ﺑﻪ‬‫ﻣﺜﺎل‬‫ﻗﺒﻞ‬( ‫؟‬ ‫ﺑﻬﻴ‬،‫ﻴﺮ‬)‫ﺑ‬‫ﻮﺟ‬‫ﺑ‬‫ل‬‫ﺒﻞ‬( N. Razavi - AI course - 2007 9 ‫ﺟﺴﺘﺠﻮي‬A* ‫ﺟﺴﺘﺠﻮي‬A* •‫اﻳﺪه‬:‫از‬‫ﮔﺴﺘﺮش‬‫ﻣﺴﻴﺮﻫﺎﻳﻲ‬‫ﻛﻪ‬‫ﺗﺎﻛﻨﻮن‬‫ﻣﺸﺨﺺ‬‫ﺷﺪه‬‫ﭘﺮﻫﺰﻳﻨﻪ‬‫ﻣﻲ‬،‫ﺑﺎﺷﻨﺪ‬‫اﺟﺘﻨﺎب‬‫ﻛﻦ‬. •A*:‫ﺗﺮﻛﻴﺐ‬‫ﻣﺰاﻳﺎي‬UCSUCS‫و‬‫ﺟﺴﺘﺠﻮي‬‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬‫ﺣﺮﻳﺼﺎﻧﻪ‬: –‫ﺟﺴﺘﺠﻮي‬‫ﺣﺮﻳﺼﺎﻧﻪ‬h(n)‫را‬‫ﺣﺪاﻗﻞ‬‫ﻣﻲ‬،‫ﻛﻨﺪ‬‫ﻧﻪ‬‫ﻛﺎﻣﻞ‬‫و‬‫ﻧﻪ‬‫ﺑﻬﻴﻨﻪ‬ ‫ﺠﻮي‬ ‫ﺟ‬‫ﺮﻳ‬( )‫ر‬‫ﻞ‬‫ﻲ‬‫ﻞ‬‫و‬‫ﺑﻬﻴ‬ –‫ﺟﺴﺘﺠﻮي‬UCS،‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫را‬‫ﺣﺪاﻗﻞ‬‫ﻣﻲ‬‫ﻛﻨﺪ؛‬‫ﻛﺎﻣﻞ‬‫و‬‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ؛‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺑﺴﻴﺎر‬‫زﻣﺎﻧﺒﺮ‬‫ﺑﺎﺷﺪ‬. ••‫ﺗﺎﺑﻊ‬‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬‫ارزﻳﺎﺑﻲ‬ f( n) = g( n) + h( n)f( n) g( n) h( n) •g( n):‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫ﭘﻴﻤﻮده‬‫ﺷﺪه‬‫ﺗﺎ‬n. •h( n):‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ارزاﻧﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫از‬n‫ﺗﺎ‬‫ﻫﺪف‬‫ﻫﺪف‬. h( n):‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ارزاﻧﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫از‬n‫ﺗﺎ‬‫ﻫﺪف‬‫ﻫﺪف‬. •f( n):‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ارزاﻧﺘﺮﻳﻦ‬‫راه‬‫ﺣﻞ‬‫ﻛﻪ‬‫از‬n‫ﻣﻲ‬‫ﮔﺬرد‬. N. Razavi - AI course - 2007 10 ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬A* Arad 366=0+366 ZerindTimisoaraSibiu 393=140+253 449=75+374447=118+329 Arad Fagaras Oradea Rimnicu Vilcea Craiova Pitesti 646=280+366 415=293+176 SibiuSibiu Bucharest 671=291+380 413=220+193 Craiova Pitesti 526=366+160 417=317+100 Sibiu 553=300+253 Sibiu Bucharest 591=338+253 450=450+0 Bucharest Craiova 418=418+0 615=455+160 Rimnicu vilcea 607=414+193 N. Razavi - AI course - 2007 11 418=418+0 615=455+160 607=414+193 ‫ﺟﺴﺘﺠﻮي‬A* ‫ﺟﺴﺘﺠﻮي‬A* A*‫از‬‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﻗﺒﻮل‬(admissible)(admissible)‫اﺳﺘﻔﺎده‬‫ﻣﻲ‬،‫ﻛﻨﺪ‬ ،‫ﻳﻌﻨﻲ‬‫ﻫﻤﻮاره‬h(n) ≤ h*(n)‫ﻛﻪ‬‫در‬‫آن‬h*(n)‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬n‫ﺗﺎ‬‫ﻫﺪف‬ ،‫ﻳﻌﻨﻲ‬‫ﻫﻤﻮاره‬h(n) ≤ h (n)‫ﻛﻪ‬‫در‬‫آن‬h (n)‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬n‫ﺗﺎ‬‫ﻫﺪف‬ ‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. ‫ﻫﻢ‬‫ﭼﻨﻴﻦ‬‫دارﻳﻢ‬ ‫ﻢ‬‫ﻴﻦ‬ ‫ﭼ‬‫رﻳﻢ‬ h(n) ≥ 0‫و‬ h(G) = 0)G‫ﻚ‬‫ﻫﺪف‬‫ﺎﺷﺪ‬( h(G) = 0)G‫ﻳﻚ‬‫ﻫﺪف‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬(. ‫ﺑﻪ‬‫ﻃﻮر‬‫ﻛﻠﻲ‬: 0 h( ) h*( )0 ≤ h(n) ≤ h*(n) ‫ﻣﺜﺎل‬:‫در‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬hSLD(n)‫ﻫﻴﭽﮕﺎه‬‫ﻫﺰﻳﻨﻪ‬‫ﺗﺨﻤﻴﻨﻲ‬‫ﺑﻴﺸﺘﺮ‬‫از‬‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬ ‫ا‬ ‫ﺨ‬)‫ﺎ‬ ‫ﻛ‬‫ﻠ‬ ‫ﻓﺎ‬‫ﻘﻄ‬‫ﻠ‬ ‫ﻓﺎ‬‫ﻘ‬‫آ‬‫ﻘﻄ‬ ‫ﻧﺨﻮاﻫﺪ‬‫ﺑﻮد‬.)‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫ﻓﺎﺻﻠﻪ‬‫ﺑﻴﻦ‬‫دو‬،‫ﻧﻘﻄﻪ‬‫ﻓﺎﺻﻠﻪ‬‫ﻣﺴﺘﻘﻴﻢ‬‫آن‬‫دو‬‫ﻧﻘﻄﻪ‬ ‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬(. N. Razavi - AI course - 2007 12
  • 4. ‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ •‫ﻳﻚ‬‫ﻚ‬ ‫ﺘ‬ ‫رﻳ‬ ‫ﻫ‬‫ﻣﺎﻧﻨﺪ‬h(n)‫ﻗﺎﺑﻞ‬‫ل‬ ‫ﻗ‬‫اﺳﺖ‬‫اﮔ‬‫اي‬ ‫ﺑ‬‫ﻫ‬‫ه‬ ‫ﮔ‬n‫داﺷﺘﻪ‬ •‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻣﺎﻧﻨﺪ‬h(n)‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫اﺳﺖ‬‫اﮔﺮ‬‫ﺑﺮاي‬‫ﻫﺮ‬‫ﮔﺮه‬n‫داﺷﺘﻪ‬ ‫ﺑﺎﺷﻴﻢ‬:h(n) ≤ h*(n)‫ﻛﻪ‬h*(n)‫ﻫﺰﻳﻨﻪ‬‫واﻗﻌﻲ‬‫ﺑﺮاي‬‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﻫﺪف‬‫از‬ ‫ﮔﺮه‬n‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. ‫ﮔﺮه‬n‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. •‫ﻳﻚ‬‫ﻚ‬ ‫ﺘ‬ ‫ﻮرﻳ‬ ‫ﻫ‬‫ﻗﺎﺑﻞ‬‫ﻮل‬ ‫ﻗ‬‫ﮔﺰ‬ ‫ﻫ‬‫ﻫﺰﻳﻨﻪ‬‫ﺪن‬ ‫رﺳ‬‫ﺑﻪ‬‫ﻫﺪف‬‫را‬‫ﺶ‬ ‫ﺑ‬‫از‬‫ﺣﺪ‬ ‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﻫﺮﮔﺰ‬‫ﻫﺰﻳﻨﻪ‬‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﻫﺪف‬‫را‬‫ﺑﻴﺶ‬‫از‬‫ﺣﺪ‬ ‫ﺗﺨﻤﻴﻦ‬‫ﻧﻤﻲ‬‫زﻧﺪ‬،‫ﻳﻌﻨﻲ‬‫ﺧﻮش‬‫ﺑﻴﻨﺎﻧﻪ‬‫اﺳﺖ‬. •‫ﻣﺜﺎل‬:‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬hSLD(n))‫ﻫﻴﭽﮕﺎه‬‫ﻓﺎﺻﻠﻪ‬‫واﻗﻌﻲ‬‫را‬‫ﺑﻴﺶ‬‫از‬‫ﺣﺪ‬‫ﺗﺨﻤﻴﻦ‬ ‫ﻧ‬‫زﻧﺪ‬( ‫ﻧﻤﻲ‬‫زﻧﺪ‬(. ‫ﮔ‬h( )‫ﻞ‬‫ل‬A*TREE SEARCH •‫ﻗﻀﻴﻪ‬:‫اﮔﺮ‬h(n)‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬،‫ﺑﺎﺷﺪ‬A*‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬TREE-SEARCH ‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬. N. Razavi - AI course - 2007 13 ‫ﺑﻬﻴﻨﮕ‬A*)‫اﺛﺒﺎت‬( ‫ﺑﻬﻴﻨﮕﻲ‬A*)‫اﺛﺒﺎت‬( •‫ﻓﺮض‬‫ﻛﻨﻴﺪ‬‫ﻳﻚ‬‫ﺟﻮاب‬‫زﻳﺮ‬‫ﺑﻬﻴﻨﻪ‬‫ﻣﺎﻧﻨﺪ‬G2‫ﺗﻮﻟﻴﺪ‬‫ﺷﺪه‬‫و‬‫در‬‫ﺻﻒ‬‫ﻗﺮار‬‫دارد‬. ‫ﻫﻢ‬‫ﭼﻨﻴﻦ‬‫ﻓﺮض‬‫ﻛﻨﻴﺪ‬n‫ﻳﻚ‬‫ﮔﺮه‬‫ﮔﺴﺘﺮش‬‫ﻧﻴﺎﻓﺘﻪ‬‫روي‬‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫ﺑﻪ‬‫ﻫﺪف‬‫ﺑﻬﻴﻨﻪ‬G‫ﺑﺎﺷﺪ‬)‫؟؟‬( ‫ﻢ‬ f(G2) = g(G2) ،‫ﭼﻮن‬h(G2) = 0 > g(G) ≥ f(n) f( ) f( )‫ﮕ‬*‫ﮔ‬ ،‫ﭼﻮن‬G2‫اﺳﺖ‬ ‫ﺑﻬﻴﻨﻪ‬ ‫زﻳﺮ‬ ،‫ﭼﻮن‬h‫اﺳﺖ‬ ‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﭼﻮن‬f(G2) ≥ f(n)،‫اﻟﮕﻮرﻳﺘﻢ‬A*‫ﻫﻴﭻ‬‫وﻗﺖ‬G2‫را‬‫ﺑﺮاي‬‫ﮔﺴﺘﺮش‬‫ﻳﺎﻓﺘﻦ‬‫اﻧﺘﺨﺎب‬‫ﻧﻤﻲ‬‫ﻛﻨﺪ‬. N. Razavi - AI course - 2007 14 ‫ﻟﻢ‬ ‫اﺛﺒﺎت‬:‫ﺳﺎزﮔﺎري‬(Consistency)( y) •‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﺳﺎزﮔﺎر‬‫ﺳﺎزﮔﺎر‬‫اﺳﺖ‬‫اﮔﺮ‬:h(n) ≤ c(n, a, n’) + h(n’) ‫ﻳ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬‫ر‬ ‫ز‬‫ر‬ ‫ز‬‫ﺮ‬( ) ( , , ) ( ) •‫اﮔﺮ‬h‫ﺳﺎزﮔﺎر‬،‫ﺑﺎﺷﺪ‬‫دارﻳﻢ‬: f(n’) = g(n’) + h(n’) = g(n) + c(n, a, n’) + h(n’) ≥ g(n) + h(n) ≥ f(n)≥ f(n) •،‫ﻳﻌﻨﻲ‬f(n)‫در‬‫ﻃﻮل‬‫ﻫﺮ‬‫ﻣﺴﻴﺮي‬‫ﻏﻴﺮ‬‫ﻛﺎﻫﺸﻲ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬.)،‫ﻳﻜﻨﻮاﻳﻲ‬monotonicity( •‫ﻗﻀﻴﻪ‬:‫اﮔﺮ‬h(n)‫ﺳﺎزﮔﺎر‬،‫ﺑﺎﺷﺪ‬A*‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬GRAPH-SEARCH‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬. N. Razavi - AI course - 2007 15 ‫ﺑﻬﻴﻨﮕﻲ‬A* ••‫ﻟﻢ‬‫ﻟﻢ‬::A*‫ﮔﺮه‬‫ﻫﺎ‬‫را‬‫ﺑﺮاﺳﺎس‬‫ﺗﺮﺗﻴﺐ‬‫ﺻﻌﻮدي‬‫ﻣﻘﺎدﻳﺮ‬f‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬. •A*‫ﺑﻪ‬‫ﺗﺪرﻳﺞ‬f-contour‫ﻫﺎ‬‫را‬‫اﺿﺎﻓﻪ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬. •‫ﻛﺎﻧﺘﻮر‬i‫ﺷﺎﻣﻞ‬‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺎ‬f = fi‫ﻣﻲ‬،‫ﺑﺎﺷﺪ‬‫ﻛﻪ‬fi < fi+1 N. Razavi - AI course - 2007 16
  • 5. ‫ﺧﺼﻮﺻﻴﺎت‬A* ‫ﻴ‬ ‫ﻮ‬ •‫ﻛﺎﻣﻞ؟‬،‫ﺑﻠﻪ‬‫ﻣﮕﺮ‬‫اﻳﻨﻜﻪ‬‫ﺗﻌﺪادي‬‫ﻧﺎﻣﺤﺪود‬‫ﮔﺮه‬‫ﺑﺎ‬f ≤ f(G)‫وﺟﻮد‬‫داﺷﺘﻪ‬ A*‫ﮔ‬‫ﻛ‬‫ﻛ‬ ‫ﺑﺎﺷﺪ‬.A*‫در‬‫ﮔﺮاف‬‫ﻫﺎي‬‫ﻣﺘﻨﺎﻫﻲ‬‫ﻣﺤﻠﻲ‬)‫ﺑﺎ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﻣﺤﺪود‬(‫ﻛﺎﻣﻞ‬ ‫اﺳﺖ‬‫ﺑﻪ‬‫ﺷﺮط‬‫آﻧﻜﻪ‬‫ﻫﺰﻳﻨﻪ‬‫ﺗﻤﺎم‬‫ﻋﻤﻠﮕﺮﻫﺎ‬‫ﻣﺜﺒﺖ‬‫ﺑﺎﺷﺪ‬. ‫م‬ -‫ﮔﺮه‬‫اي‬‫ﺑﺎ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﻧﺎﻣﺤﺪود‬‫وﺟﻮد‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬. ‫ي‬‫ﺎ‬‫ﻨﻪ‬ ‫ﻫﺰ‬‫د‬ ‫ﺪ‬‫ﺎ‬ ‫ا‬‫ﺎ‬‫ﺪاد‬ ‫ﺗ‬‫ﮔ‬‫ﻫﺎي‬‫د‬ ‫ﺪ‬ ‫ﻧﺎ‬‫د‬‫داﺷﺘﻪ‬‫ﺎﺷﺪ‬ -‫ﻣﺴﻴﺮي‬‫ﺑﺎ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺤﺪود‬‫اﻣﺎ‬‫ﺑﺎ‬‫ﺗﻌﺪاد‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﻧﺎﻣﺤﺪود‬‫وﺟﻮد‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬. •‫ﭘﻴﭽﻴﺪﮔﻲ‬‫زﻣﺎﻧﻲ؟‬‫ﻧﻤﺎﻳﻲ‬‫ﺑﺮ‬‫ﺣﺴﺐ‬]‫ﺧﻄﺎي‬‫ﻧﺴﺒﻲ‬h*‫ﻃﻮل‬‫راه‬‫ﺣﻞ‬[ ‫ﮕ‬‫ﻨﻜﻪ‬ ‫ا‬‫ﺧﻄﺎ‬‫ﺗﺎ‬‫ﻛﺸﻒ‬‫ﻛﻨﻨﺪ‬‫ﺷﺪ‬‫ﺘ‬‫از‬‫ﺘ‬ ‫ﻟﮕﺎ‬‫ﻨﻪ‬ ‫ﺰ‬ ‫ﻣﮕﺮ‬‫اﻳﻨﻜﻪ‬‫ﺧﻄﺎ‬‫در‬‫ﺗﺎﺑﻊ‬‫ﻛﺸﻒ‬‫ﻛﻨﻨﺪه‬‫رﺷﺪي‬‫ﺳﺮﻳﻌﺘﺮ‬‫از‬‫ﻟﮕﺎرﻳﺘﻢ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬ ‫واﻗﻌﻲ‬‫ﻧﺪاﺷﺘﻪ‬،‫ﺑﺎﺷﺪ‬‫ﺑﻪ‬‫زﺑﺎن‬‫رﻳﺎﺿﻲ‬: | h(n) – h*(n)| ≤ O (log h*(n)) N. Razavi - AI course - 2007 17 ‫ﺧﺼﻮﺻﻴﺎت‬A* ‫ﻴ‬ ‫ﻮ‬ •‫ﭘﻴﭽﻴﺪﮔﻲ‬‫ﻓﻀﺎ؟؟‬‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫را‬‫در‬‫ﺣﺎﻓﻈﻪ‬‫ﻧﮕﻪ‬‫ﻣﻲ‬‫دارد‬. f‫ﮔ‬‫ﮕ‬f •‫ﺑﻬﻴﻨﻪ؟؟‬‫ﺑﻠﻪ‬–‫ﻧﻤﻲ‬‫ﺗﻮاﻧﺪ‬fi+1‫را‬‫ﮔﺴﺘﺮش‬‫دﻫﺪ‬‫ﻣﮕﺮ‬fi‫ﺗﻤﺎم‬‫ﺷﺪه‬ ‫ﺑﺎﺷﺪ‬. ‫ﺑ‬ –A*‫ﺗﻤﺎم‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺎ‬f(n) < f*‫را‬‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬. *‫ﮔ‬f( ) f*‫ﮔ‬ –A*‫ﺑﺮﺧﻲ‬‫از‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺎ‬f(n) = f*‫را‬‫ﮔﺴﺘﺮش‬‫ﻣﻲ‬‫دﻫﺪ‬. –A*‫ﮔﺮه‬‫اي‬‫ﺑﺎ‬f(n) > f*‫را‬‫ﻫﺮﮔﺰ‬‫ﮔﺴﺘﺮش‬‫ﻧﻤﻲ‬‫دﻫﺪ‬. ‫ﺮ‬‫ي‬‫ﺑ‬( )‫ر‬‫ﺰ‬ ‫ﺮ‬‫ﺮش‬‫ﻤﻲ‬. •A*‫داراي‬‫ﻛﺎرآﻳﻲ‬‫ﻛﺎرآﻳﻲ‬‫ﺑﻬﻴﻨﻪ‬‫ﺑﻬﻴﻨﻪ‬(optimally efficient)‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬! N. Razavi - AI course - 2007 18 ‫ﻣﺤﺪود‬ ‫ﺣﺎﻓﻈﻪ‬ ‫ﺑﺎ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﺪود‬ ‫ﺣﺎﻓﻈﻪ‬ ‫ﺑﺎ‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺟﺴﺘﺠﻮي‬ •‫ﭼﻨﺪ‬‫راه‬‫ﺣﻞ‬‫ﺑﺮاي‬‫ﻣﺴﺄﻟﻪ‬‫ﺣﺎﻓﻈﻪ‬‫در‬A*)‫ﺑﺎ‬‫ﺣﻔﻆ‬‫ﺧﺼﻮﺻﻴﺎت‬ ‫ﻛﺎﻣﻞ‬‫ﺑﻮدن‬‫و‬‫ﺑﻬﻴﻨﮕ‬(: ‫ﻛﺎﻣﻞ‬‫ﺑﻮدن‬‫و‬‫ﺑﻬﻴﻨﮕﻲ‬(: –‫ﺟﺴﺘﺠﻮي‬‫ﻋﻤﻴﻖ‬‫ﻛﻨﻨﺪه‬‫ﺗﻜﺮاي‬A*(IDA*) •‫ﻣﺎﻧﻨﺪ‬IDS‫وﻟﻲ‬‫ﺑﻪ‬‫ﺟﺎي‬‫ﻣﺤﺪوده‬‫ﻋﻤﻘﻲ‬‫از‬‫ﻣﺤﺪوده‬f-cost(g + h)‫اﺳﺘﻔﺎده‬ ‫ﻣﻲ‬‫ﺷﻮد‬ ‫ﮔ‬ –‫ﺟﺴﺘﺠﻮي‬‫اول‬-‫ﺑﻬﺘﺮﻳﻦ‬‫ﺑﺎزﮔﺸﺘﻲ‬(RBFS) •‫ﻳﻚ‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﺑﺎزﮔﺸﺘﻲ‬‫ﺑﺎ‬‫ﻓﻀﺎي‬‫ﺧﻄﻲ‬‫ﻛﻪ‬‫ﺳﻌﻲ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫از‬‫ﺟﺴﺘﺠﻮي‬ ‫ﻢ‬ ‫اول‬-‫ﺑﻬﺘﺮﻳﻦ‬‫اﺳﺘﺎﻧﺪارد‬‫ﺗﻘﻠﻴﺪ‬‫ﻛﻨﺪ‬ –‫ﺟﺴﺘﺠﻮي‬)‫ﺳﺎده‬‫ﺷﺪه‬(A*‫ﺑﺎ‬‫ﺣﺎﻓﻈﻪ‬‫ﻣﺤﺪود‬((S)MBA*) ‫ﻮ‬‫ﺑ‬(( ) ) •‫ﺣﺬف‬‫ﺑﺪﺗﺮﻳﻦ‬‫ﮔﺮه‬‫وﻗﺘﻲ‬‫ﻛﻪ‬‫ﺣﺎﻓﻈﻪ‬‫ﭘﺮ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬ N. Razavi - AI course - 2007 19 ‫اول‬ ‫ﺟﺴﺘﻮي‬-‫ﺑﺎزﮔﺸﺘﻲ‬ ‫ﺑﻬﺘﺮﻳﻦ‬(RBFS) ‫ول‬ ‫ﻮي‬ ‫ﺟ‬‫ﻲ‬ ‫ز‬ ‫ﺑ‬ ‫ﺮﻳﻦ‬ ‫ﺑﻬ‬( ) function RECURSIVE-BEST-FIRST-SEARCH(problem) return a solution or failure ( bl ( bl ) )return RFBS(problem,MAKE-NODE(INITIAL-STATE[problem]),∞) function RFBS( problem node f limit) return a solution or failure and a new f-cost limitfunction RFBS( problem, node, f_limit) return a solution or failure and a new f-cost limit if GOAL-TEST[problem](STATE[node]) then return node successors ← EXPAND(node, problem)successors ← EXPAND(node, problem) if successors is empty then return failure, ∞ for each s in successors do f [s] ← max(g(s) + h(s), f [node]) repeat b h l f l d ibest ← the lowest f-value node in successors if f [best] > f_limit then return failure, f [best] alternative ← the second lowest f-value among successorsalternative ← the second lowest f value among successors result, f [best] ← RBFS(problem, best, min(f_limit, alternative)) if result ≠ failure then return result N. Razavi - AI course - 2007 20
  • 6. ‫ﺟﺴﺘﺠﻮي‬RBFS ‫ﺟﺴﺘﺠﻮي‬RBFS •‫ﻣﻘﺪار‬f-value‫ﻣﺮﺑﻮط‬‫ﺑﻪ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﻣﻮﺟﻮد‬‫را‬ ‫ﺪا‬ ‫ﻧﮕ‬‫ﻛﻨﺪ‬ ‫ﻧﮕﻬﺪاري‬‫ﻣﻲ‬‫ﻛﻨﺪ‬. –‫اﮔﺮ‬f-value‫ﻓﻌﻠﻲ‬‫از‬f-value‫ﻣﺴﻴﺮ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﺗﺠﺎوز‬،‫ﻛﻨﺪ‬‫آﻧﮕﺎه‬‫ﺑﻪ‬ ‫ﺮ‬‫ﻲ‬‫ز‬‫ﻴﺮ‬‫ﺰﻳﻦ‬ ‫ﻳ‬ ‫ﺟ‬‫وز‬ ‫ﺠ‬‫ﺑ‬ ‫اﻳﻦ‬‫ﻣﺴﻴﺮ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﺑﺎزﮔﺸﺖ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬. ‫ﺎزﮔﺸﺖ‬‫ﻪ‬‫ﻘ‬‫ﻘﺪا‬f value‫ط‬‫ﻪ‬‫ﮔ‬ –‫در‬‫ﺑﺎزﮔﺸﺖ‬‫ﺑﻪ‬‫ﻋﻘﺐ‬‫ﻣﻘﺪار‬f-value‫ﻣﺮﺑﻮط‬‫ﺑﻪ‬‫ﻫﺮ‬‫ﮔﺮه‬‫ﻣﻮﺟﻮد‬‫در‬ ‫ﻣﺴﻴﺮ‬‫را‬‫ﺑﺎ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻣﻘﺪار‬f-value‫ﻓﺮزﻧﺪاﻧﺶ‬‫ﺟﺎﻳﮕﺰﻳﻦ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬. –‫ﺑﻨﺎﺑﺮاﻳﻦ‬‫ﮔﺴﺘﺮش‬‫ﻣﺠﺪد‬‫ﻧﺘﻴﺠﻪ‬‫ﻓﻌﻠﻲ‬‫ﻫﻨﻮز‬‫ﻣﻤﻜﻦ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. N. Razavi - AI course - 2007 21 ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬RBFS Arad ‫ﺠﻮي‬ ‫ﺟ‬ ‫ل‬ ∞ 366 447 ZerindTimisoaraSibiu 393 449447 Rimnicu VilceaArad Fagaras Oradea 413 415 417 i 646 415 526 413 417 Craiova Pitesti 526 417 Sibiu 553 N. Razavi - AI course - 2007 22 ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬RBFS ‫ﺠﻮي‬ ‫ﺟ‬ ‫ل‬ Arad ∞ 366 447 ZerindTimisoaraSibiu 393 449447 FagarasArad Oradea Rimnicu Vilcea 413 417 417646 415 Sibi B h 526 413 417450 Sibiu Bucharest 591 450 N. Razavi - AI course - 2007 23 ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬RBFS ‫ﺠﻮي‬ ‫ﺟ‬ ‫ل‬ Arad ∞ 366 447 ZerindTimisoaraSibiu 393 449447 Arad Fagaras Oradea Rimnicu Vilcea 417 447 i 646 526 417 447 450 Craiova Pitesti 526 417 Sibiu 553 Bucharest Craiova 418 615 Rimnicu vilcea 607 N. Razavi - AI course - 2007 24 418 615 607
  • 7. ‫ارزﻳﺎﺑ‬RBFS ‫ارزﻳﺎﺑﻲ‬RBFS •RBFS‫ﻛﻤﻲ‬‫ﻛﺎرآﺗﺮ‬‫از‬IDA*‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬ –‫ﻫﻨﻮز‬‫ﮔﺴﺘﺮش‬‫اﺿﺎﻓﻲ‬‫ﮔﺮه‬‫ﻫﺎ‬‫وﺟﻮد‬‫دارد‬)‫ﺗﻐﻴﻴﺮ‬‫ﻋﻘﻴﺪه‬( ‫ﻮ‬‫ﺮش‬‫ﻲ‬‫ﺮ‬‫ﻮ‬‫ﻴﻴﺮ‬‫ﻴ‬ •RBFS‫ﻫﻢ‬‫ﻣﺎﻧﻨﺪ‬A*،‫اﮔﺮ‬h(n)‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﺑﺎﺷﺪ‬‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬ •‫ﭘﻴﭽﻴﺪﮔ‬‫ﺣﺎﻓﻈﻪ‬O(bd) ‫ﭘﻴﭽﻴﺪﮔﻲ‬‫ﺣﺎﻓﻈﻪ‬O(bd) –IDA*‫ﻓﻘﻂ‬‫ﻳﻚ‬‫ﻋﺪد‬‫را‬‫ﻧﮕﻬﺪاري‬‫ﻣﻲ‬‫ﻛﻨﺪ‬)‫ﺣﺪ‬‫ﻓﻌﻠﻲ‬f-cost( •‫ﺗﻌﻴﻴﻦ‬‫ﭘﻴﭽﺪﮔ‬‫زﻣﺎﻧ‬‫ﻣﺸﻜﻞ‬‫اﺳﺖ‬ ‫ﺗﻌﻴﻴﻦ‬‫ﭘﻴﭽﺪﮔﻲ‬‫زﻣﺎﻧﻲ‬‫ﻣﺸﻜﻞ‬‫اﺳﺖ‬ –‫ﺑﻪ‬‫دﻗﺖ‬‫ﺗﺎﺑﻊ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫و‬‫ﻣﻴﺰان‬‫ﺗﻐﻴﻴﺮ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻣﺴﻴﺮ‬‫در‬‫اﺛﺮ‬‫ﺑﺴﻂ‬‫ﮔﺮه‬‫ﻫﺎ‬‫ﺑﺴﺘﮕﻲ‬ ‫دارد‬. ‫ر‬ –‫ﻣﺎﻧﻨﺪ‬IDA*‫در‬‫ﻣﻌﺮض‬‫اﻓﺰاﻳﺶ‬‫ﻧﻤﺎﻳﻲ‬‫ﭘﻴﭽﻴﺪﮔﻲ‬‫زﻣﺎﻧﻲ‬‫ﻗﺮار‬‫دارد‬ •RBFS‫و‬IDA*‫ﻫﺮ‬‫دو‬‫از‬‫ﻣﻴﺰان‬‫ﺑﺴﻴﺎر‬‫ﻛﻢ‬‫ﺣﺎﻓﻈﻪ‬‫رﻧﺞ‬‫ﻣﻲ‬‫ﺑﺮﻧﺪ‬. S‫و‬‫ﺮ‬‫و‬‫ز‬‫ن‬ ‫ﻴﺰ‬‫ر‬ ‫ﻴ‬ ‫ﺑ‬‫ﻢ‬‫ﺞ‬‫ر‬‫ﻲ‬‫ﺑﺮ‬. –‫ﺑﺎ‬‫اﻳﻨﻜﻪ‬‫ﺣﺎﻓﻈﻪ‬‫زﻳﺎدي‬‫وﺟﻮد‬،‫دارد‬‫ﻧﻤﻲ‬‫ﺗﻮاﻧﻨﺪ‬‫از‬‫ان‬‫اﺳﺘﻔﺎده‬‫ﻛﻨﻨﺪ‬. N. Razavi - AI course - 2007 25 (Simplified) Memory Bounded A*( p ) y •‫اﻳﺪه‬:‫اﺳﺘﻔﺎده‬‫از‬‫ﺗﻤﺎﻣﻲ‬‫ﺣﺎﻓﻈﻪ‬‫ﻣﻮﺟﻮد‬ ، ‫ﻨ‬‫ش‬ ‫ﺘ‬ ‫ﮔ‬‫ﻦ‬ ‫ﻬﺘ‬‫ﮔ‬‫ﻫﺎي‬‫ﮔ‬‫ﺗﺎ‬‫ﺎﻧ‬ ‫ز‬‫ﻛﻪ‬‫ﺎﻓﻈﻪ‬‫د‬‫د‬ ‫ﺷ‬ –،‫ﻳﻌﻨﻲ‬‫ﮔﺴﺘﺮش‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﺑﺮﮔﻲ‬‫ﺗﺎ‬‫زﻣﺎﻧﻲ‬‫ﻛﻪ‬‫ﺣﺎﻓﻈﻪ‬‫ﻣﻮﺟﻮد‬‫ﭘﺮ‬‫ﺷﻮد‬ –‫در‬‫ﺻﻮرت‬‫ﭘﺮ‬‫ﺷﺪن‬،‫ﺣﺎﻓﻈﻪ‬SMA*‫ﺑﺪﺗﺮﻳﻦ‬‫ﮔﺮه‬‫ﺑﺮگ‬)‫ﺑﺎ‬‫ﺑﻴﺸﺘﺮﻳﻦ‬‫ﻣﻘﺪار‬f-value(‫را‬ ‫از‬‫ﺣﺎﻓﻈﻪ‬‫ﺣﺬف‬‫ﻣﻲ‬‫ﻛﻨﺪ‬ ‫ز‬‫ﻲ‬ –‫ﻣﺎﻧﻨﺪ‬RBFS‫اﻃﻼﻋﺎت‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﻓﺮاﻣﻮش‬‫ﺷﺪه‬‫را‬‫در‬‫ﭘﺪرﺷﺎن‬‫ذﺧﻴﺮه‬‫ﻣﻲ‬‫ﻛﻨﺪ‬ •‫اﮔﺮ‬‫ﺗﻤﺎم‬‫ﺑﺮگ‬‫ﻫﺎ‬‫داراي‬f-value‫ﺑﺮاﺑﺮ‬‫ﺑﺎﺷﻨﺪ‬‫ﭼﻪ‬‫ﻣﻲ‬‫ﺷﻮد؟‬ –‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫ﻳﻚ‬‫ﮔﺮه‬‫را‬‫ﻫﻢ‬‫ﺑﺮاي‬‫ﮔﺴﺘﺮش‬‫و‬‫ﻫﻢ‬‫ﺑﺮاي‬‫ﺣﺬف‬‫اﻧﺘﺨﺎب‬‫ﻛﻨﺪ‬ ‫ﻦ‬‫ﻳ‬‫ﺮ‬‫ر‬‫ﻢ‬‫ي‬ ‫ﺑﺮ‬‫ﺮش‬‫و‬‫ﻢ‬‫ي‬ ‫ﺑﺮ‬‫ف‬‫ب‬ –‫راه‬‫ﺣﻞ‬SMA*: •‫ﮔﺴﺘﺮش‬:‫ﺑﻬﺘﺮﻳﻦ‬‫ﮔﺮه‬‫ﺑﺮگ‬‫ﻛﻪ‬‫از‬‫ﻫﻤﻪ‬‫ﺟﺪﻳﺪ‬‫ﺗﺮ‬‫اﺳﺖ‬ •‫ﺣﺬف‬:‫ﺑﺪﺗﺮﻳﻦ‬‫ﮔﺮه‬‫ﻛﻪ‬‫از‬‫ﻫﻤﻪ‬‫ﻗﺪﻳﻤﻲ‬‫ﺗﺮ‬‫اﺳﺖ‬ SMA*‫ﻞ‬ ‫ﻛﺎ‬‫ﺖ‬ ‫ا‬‫اﮔ‬‫ا‬‫ﻞ‬‫ﻞ‬‫ﻗﺎ‬‫ﺎ‬‫اﺷ‬‫ﺎﺷﺪ‬‫ﺖ‬ ‫ا‬‫اﮔ‬‫ا‬ –SMA*‫ﻛﺎﻣﻞ‬‫اﺳﺖ‬‫اﮔﺮ‬‫راه‬‫ﺣﻞ‬‫ﻗﺎﺑﻞ‬‫دﺳﺘﻴﺎﺑﻲ‬‫وﺟﻮد‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬‫و‬‫ﺑﻬﻴﻨﻪ‬‫اﺳﺖ‬‫اﮔﺮ‬‫راه‬ ‫ﺣﻞ‬‫ﺑﻬﻴﻨﻪ‬‫ﻗﺎﺑﻞ‬‫دﺳﺘﻴﺎﺑﻲ‬‫ﺑﺎﺷﺪ‬ N. Razavi - AI course - 2007 26 ‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﺎي‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺒﻮل‬ ‫ﻗﺎﺑﻞ‬ ‫ﻫﺎي‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﻣﺜﺎل‬‫ﺑﺮاي‬‫ﻣﻌﻤﺎي‬‫ﻫﺸﺖ‬: h (n) = number of misplaced tilesh1(n) number of misplaced tiles h2(n) = total ManhattanManhattan distance hh11(S)(S) = 6 hh22(S)(S) = 4 + 0 + 3 + 3 + 1 + 0 + 2 + 1 = 14 N. Razavi - AI course - 2007 27 2 8 3 1 6 4 7 5 0+4 •‫ﻣﺜﺎل‬:‫ﺟﺴﺘﺠﻮي‬A*‫ﺑﺎ‬h1 2 8 32 8 3 2 8 3 7 _ 5 2 8 3 1 _ 4 7 6 5 2 8 3 1 6 4 _ 7 5 2 8 3 1 6 4 7 5 _ 1+5 1+3 1+5 2 _ 3 1 8 4 7 6 5 2 8 3 1 4 _ 7 6 5 2 8 3 _ 1 4 7 6 5 2+3 2+3 2+4 7 6 5 2 3_ 2 3 1 8 4 7 6 5 _ 8 3 2 1 4 7 6 5 2 3 _ 1 8 4 7 6 5 2 8 3 7 1 4 - 6 5 3+3 3+4 3+2 3+4 1 2 3 _ 8 4 7 6 5 4+1 1 2 3 8 _ 4 7 6 5 1 2 3 7 8 45+0 5+2 N. Razavi - AI course - 2007 28 7 6 5 _ 6 5
  • 8. 2 8 3 1 6 4 7 5 0+5 •‫ﻣﺜﺎل‬:‫ﺟﺴﺘﺠﻮي‬A*‫ﺑﺎ‬h2 2 8 3 7 _ 5 2 8 3 2 8 32 8 3 1 _ 4 7 6 5 2 8 3 1 6 4 _ 7 5 2 8 3 1 6 4 7 5 _ 1+6 1+4 1+6 2 _ 3 1 8 4 7 6 5 2 8 3 1 4 _ 7 6 5 2 8 3 _ 1 4 7 6 5 2+5 2+3 2+5 7 6 5 7 6 57 6 5 2 3_ 2 3 1 8 4 7 6 5 2 3 _ 1 8 4 7 6 5 3+2 3+4 1 2 3 _ 8 4 7 6 5 4+1 1 2 3 8 _ 4 1 2 3 7 8 45+0 5+2 N. Razavi - AI course - 2007 29 7 6 5 7 8 4 _ 6 5 5+2 ‫ﺗﺴﻠﻂ‬(Dominance) ‫ﺗﺴﻠﻂ‬(Dominance) •‫اﮔﺮ‬‫ﺑﺎزاء‬‫ﻫﺮ‬n‫داﺷﺘﻪ‬،‫ﺑﺎﺷﻴﻢ‬h2(n) ≥ h1(n) )‫و‬‫ﻫﺮ‬‫دو‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫ﺑﺎﺷﻨﺪ‬( ‫ﻞ‬ •‫آﻧﮕﺎه‬h2‫ﺑﺮ‬h1‫ﺗﺴﻠﻂ‬‫ﺗﺴﻠﻂ‬‫دارد‬‫و‬‫ﺑﺮاي‬‫ﺟﺴﺘﺠﻮ‬‫ﺑﻬﺘﺮ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. •‫ﻣﺜﺎل‬‫ﻫﺰﻳﻨﻪ‬‫ﺟﺴﺘﺠﻮ‬:‫ﺗﻌﺪاد‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﺗﻮﻟﻴﺪ‬‫ﺷﺪه‬‫در‬‫ﻋﻤﻖ‬‫ﻫﺎي‬‫ﻣﺨﺘﻠﻒ‬: d = 14 IDS = 3,473,941 A*(h1) = 539 A*(h2) = 113 d = 24 IDS = 54,000,000,000 A*(h ) 39 135A*(h1) = 39,135 A*(h2) = 1641 N. Razavi - AI course - 2007 30 ‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬(b*) ‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬(b*) •‫ﻓﺎﻛﺘﻮر‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫اﻧﺸﻌﺎب‬‫ﻣﻮﺛﺮ‬‫ﻣﻮﺛﺮ‬(EBF)(EBF): ‫اﮔﺮ‬‫ﺗﻌﺪاد‬‫ﮔﺮه‬‫ﻫﺎي‬‫ﮔﺴﺘﺮش‬‫ﻳﺎﻓﺘﻪ‬‫ﺗﻮﺳﻂ‬‫روال‬‫ﺟﺴﺘﺠﻮ‬N‫ﺑﺎﺷﺪ‬‫و‬‫ﻋﻤﻖ‬‫راه‬‫ﺣﻞ‬d،‫ﺑﺎﺷﺪ‬ b* ‫ﻞ‬ b*‫ﺑﻪ‬‫ﺻﻮرت‬‫زﻳﺮ‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﻣﻲ‬‫ﺷﻮد‬: N + 1 = 1 + b* + (b*)2 + … + (b*)d •‫ﻣﺜﺎل‬‫ﻣﺜﺎل‬::‫اﮔﺮ‬A*‫راه‬‫ﺣﻠﻲ‬‫را‬‫در‬‫ﻋﻤﻖ‬5‫ﺑﺎ‬‫اﺳﺘﻔﺎده‬‫از‬52‫ﮔﺮه‬‫ﭘﻴﺪا‬،‫ﻛﻨﺪ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﻣﻮﺛﺮ‬ ‫را‬‫ﻪ‬ ‫ﻣﺤﺎﺳ‬‫ﺪ‬ ‫ﻛﻨ‬ ‫را‬‫ﻣﺤﺎﺳﺒﻪ‬‫ﻛﻨﻴﺪ‬. ‫ﭘﺎﺳﺦ‬: 53 = 1 + b* + (b*)2 + (b*)5 b* = 1 9253 = 1 + b + (b ) + … (b ) b = 1.92 •‫در‬‫ﻳﻚ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻫﺮ‬‫ﭼﻪ‬‫ﻓﺎﻛﺘﻮر‬‫اﻧﺸﻌﺎب‬‫ﺑﻪ‬‫ﻳﻚ‬‫ﻧﺰدﻳﻜﺘﺮ‬،‫ﺑﺎﺷﺪ‬‫ﺑﻬﺘﺮ‬‫اﺳﺖ‬‫و‬‫آن‬ ‫ر‬‫ﻳ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬‫ﺮ‬‫ﭼ‬‫ﻮر‬‫ب‬‫ﺑ‬‫ﻳ‬‫ﺮ‬ ‫ﻳ‬ ‫ﺰ‬‫ﺑ‬‫ﺮ‬ ‫ﺑﻬ‬‫و‬‫ن‬ ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻛﻴﻔﻴﺖ‬‫ﻛﻴﻔﻴﺖ‬‫ﻛﺸﻒ‬‫ﻛﺸﻒ‬‫ﻛﻨﻨﺪﮔﻲ‬‫ﻛﻨﻨﺪﮔﻲ‬‫ﺑﻴﺸﺘﺮي‬‫دارد‬. N. Razavi - AI course - 2007 31 ‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬ ‫و‬ ‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺰﻳﻨﻪ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻘﺎﻳﺴﻪ‬‫ﻣﻮﺛﺮ‬ ‫اﻧﺸﻌﺎب‬ ‫ﻓﺎﻛﺘﻮر‬ ‫و‬ ‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺰﻳﻨﻪ‬ ‫ﺑﻴﻦ‬ ‫ﻣﻘﺎﻳﺴﻪ‬ S h C t Effective Branching FactorSearch Cost Effective Branching Factor d IDS A*(h1) A*(h2) IDS A*(h1) A*(h2) 2 10 6 6 2.45 1.79 1.79 4 112 13 12 2.87 1.48 1.45 6 680 20 18 2 73 1 34 1 306 680 20 18 2.73 1.34 1.30 8 6,384 39 25 2.80 1.33 1.24 10 47,127 93 39 2.79 1.38 1.22 12 364,404 227 73 2.78 1.42 1.24 14 3,473,941 539 113 2.83 1.44 1.23 16 - 1,301 211 - 1.45 1.25 18 - 3,056 363 - 1.46 1.26 20 7 276 679 1 47 1 2720 - 7,276 679 - 1.47 1.27 22 - 18,094 1,219 - 1.48 1.28 24 - 39 135 1 641 - 1 48 1 26 N. Razavi - AI course - 2007 32 24 39,135 1,641 1.48 1.26
  • 9. ‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺗﻮاﺑﻊ‬ ‫اﺑﺪاع‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬ ‫ﺗﻮاﺑﻊ‬ ‫اﺑﺪاع‬ •‫ﻣﻲ‬‫ﺗﻮان‬‫ﻫﻴﻮرﻳﺴﺘﻴﻜﻬﺎي‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬‫را‬‫ﺑﺮاي‬‫ﻳﻚ‬،‫ﻣﺴﺄﻟﻪ‬‫از‬‫ﻫﺰﻳﻨﻪ‬‫دﻗﻴﻖ‬‫راه‬‫ﺣﻞ‬‫ﻳﻚ‬‫ﻧﺴﺨﻪ‬ ‫ﻞ‬‫ﻞ‬ ‫راﺣﺖ‬‫راﺣﺖ‬(relaxed)(relaxed)‫از‬‫ﻣﺴﺄﻟﻪ‬‫ﺑﺪﺳﺖ‬‫آورد‬. ‫ﻚ‬AB‫ﮔ‬A •‫ﻣﺜﺎل‬:‫ﻗﺎﻧﻮن‬‫ﻣﻌﻤﺎي‬‫ﻫﺸﺖ‬.‫ﻳﻚ‬‫ﻛﺎﺷﻲ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫از‬‫ﺧﺎﻧﻪ‬A‫ﺑﻪ‬‫ﺧﺎﻧﻪ‬B،‫ﺑﺮود‬‫اﮔﺮ‬A ‫ﻣﺠﺎور‬B‫ﺑﺎﺷﺪ‬‫و‬B‫ﺧﺎﻟﻲ‬‫ﺑﺎﺷﺪ‬. ••‫اﮔﺮ‬‫ﻗﻮاﻧﻴﻦ‬‫ﻣﻌﻤﺎي‬‫ﻫﺸﺖ‬‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫راﺣﺖ‬‫ﺷﻮﻧﺪ‬‫ﻛﻪ‬‫ﻳﻚ‬‫ﻛﺎﺷﻲ‬‫ﺑﺘﻮاﻧﺪ‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﻫﺮ‬‫ﻫﺮ‬‫ﺧﺎﻧﻪ‬‫ﺧﺎﻧﻪ‬‫اي‬‫اي‬ ‫ﺣﺮﻛﺖ‬،‫ﻛﻨﺪ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬h1(n)‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫راه‬‫ﺣﻞ‬‫را‬‫ﻣﻲ‬‫دﻫﺪ‬. ‫ﺖ‬ ‫ﺮ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬1( )‫ﺮﻳﻦ‬ ‫ﻮ‬‫ر‬‫ﻞ‬‫ر‬‫ﻲ‬ ••‫اﮔﺮ‬‫ﻗﻮاﻧﻴﻦ‬‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫راﺣﺖ‬‫ﺷﻮﻧﺪ‬‫ﻛﻪ‬‫ﻳﻚ‬‫ﻛﺎﺷﻲ‬‫ﺑﺘﻮاﻧﺪ‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﻫﺮ‬‫ﻫﺮ‬‫ﺧﺎﻧﻪ‬‫ﺧﺎﻧﻪ‬‫ﻣﺠﺎور‬‫ﻣﺠﺎور‬‫ﺣﺮﻛﺖ‬ ‫ﺮ‬‫ﻴﻦ‬ ‫ﻮ‬‫ﺑ‬‫ﻮ‬‫ﻮ‬‫ﻳ‬‫ﻲ‬‫ﻮ‬ ‫ﺑ‬‫ﺑ‬‫ﺑ‬‫ﺮ‬‫ﺮ‬‫ﺮ‬ ،‫ﻛﻨﺪ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬h2(n)‫ﻛﻮﺗﺎﻫﺘﺮﻳﻦ‬‫راه‬‫ﺣﻞ‬‫را‬‫ﻣﻲ‬‫دﻫﺪ‬. ‫ﻜ‬‫ﻜ‬‫ﻚ‬‫ﺄ‬ •‫ﻧﻜﺘﻪ‬‫ﻧﻜﺘﻪ‬‫ﻛﻠﻴﺪي‬‫ﻛﻠﻴﺪي‬::‫ﻫﺰﻳﻨﻪ‬‫راه‬‫ﺣﻞ‬‫ﺑﻬﻴﻨﻪ‬‫ﻳﻚ‬‫ﻣﺴﺄﻟﻪ‬،‫راﺣﺖ‬‫ﺑﻴﺸﺘﺮ‬‫از‬‫ﻫﺰﻳﻨﻪ‬‫راه‬‫ﺣﻞ‬‫ﺑﻬﻴﻨﻪ‬‫در‬ ‫ﻣﺴﺄﻟﻪ‬‫واﻗﻌﻲ‬‫ﻧﻴﺴﺖ‬. N. Razavi - AI course - 2007 33 ‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬ ••‫در‬‫ﺑﺴﻴﺎري‬‫از‬‫ﻣﺴﺎﺋﻞ‬‫ﺑﻬﻴﻨﻪ‬،‫ﺳﺎزي‬‫ﻣﺴﻴﺮ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫اﻫﻤﻴﺖ‬‫ﻧﺪارد؛‬‫ﺧﻮد‬‫ﺣﺎﻟﺖ‬ ‫ﻫﺪف‬‫ﭘﺎﺳﺦ‬‫ﻣﺴﺄﻟﻪ‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬. ‫ﺦ‬ •‫ﻓﻀﺎي‬‫ﺣﺎﻟﺖ‬=‫ﻣﺠﻤﻮﻋﻪ‬‫ﭘﻴﻜﺮه‬‫ﺑﻨﺪي‬‫ﻫﺎي‬»‫ﻛﺎﻣﻞ‬«‫؛‬ ‫ي‬ ‫ﻀ‬‫ﻮ‬ ‫ﺠ‬‫ﺮ‬ ‫ﭘﻴ‬‫ي‬ ‫ﺑ‬‫ي‬‫ﻞ‬ •‫ﻳﺎﻓﺘﻦ‬‫ﭘﻴﻜﺮه‬‫ﺑﻨﺪي‬،‫ﺑﻬﻴﻨﻪ‬‫ﻣﺎﻧﻨﺪ‬TSP •‫ﻳﺎﻓﺘﻦ‬‫ﻳﻚ‬‫ه‬ ‫ﻜ‬ ‫ﭘ‬‫ﺑﻨﺪي‬‫ﻛﻪ‬‫ﻣﺤﺪودﻳﺖ‬‫ﻫﺎي‬‫ﺄﻟﻪ‬ ‫ﻣ‬‫را‬‫ارﺿﺎء‬،‫ﻛﻨﺪ‬‫ﻣﺎﻧﻨﺪ‬‫ﺎﻟﻪ‬ ‫ﻣ‬ •‫ﻳﺎﻓﺘﻦ‬‫ﻳﻚ‬‫ﭘﻴﻜﺮه‬‫ﺑﻨﺪي‬‫ﻛﻪ‬‫ﻣﺤﺪودﻳﺖ‬‫ﻫﺎي‬‫ﻣﺴﺄﻟﻪ‬‫را‬‫ارﺿﺎء‬،‫ﻛﻨﺪ‬‫ﻣﺎﻧﻨﺪ‬‫ﻣﺴﺎﻟﻪ‬ n-‫وزﻳﺮ‬ ••‫در‬‫ﭼﻨﻴﻦ‬‫ﻣﻮاردي‬‫ﻣﻲ‬‫ﺗﻮان‬‫از‬‫اﻟﮕﻮرﻳﺘﻢ‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎي‬‫ﻫﺎي‬‫ﺟﺴﺘﺠﻮي‬‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﻠﻲ‬‫ﻣﺤﻠﻲ‬‫ﺑﻬﺮه‬‫ﮔﺮﻓﺖ‬. ‫ﻚ‬‫ﻚ‬‫ﻟ‬‫ﻟ‬‫ﻈ‬‫ﻈ‬‫ﮕ‬‫ﮕ‬‫ﻛ‬‫ﻛ‬‫آ‬‫آ‬ ••‫ﻳﻚ‬‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﺣﺎﻟﺖ‬»»‫ﻓﻌﻠﻲ‬‫ﻓﻌﻠﻲ‬««‫را‬‫را‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﺗﻨﻬﺎﻳﻲ‬‫ﺗﻨﻬﺎﻳﻲ‬‫در‬‫در‬‫ﻧﻈﺮ‬‫ﻧﻈﺮ‬‫ﺑﮕﻴﺮ؛‬‫ﺑﮕﻴﺮ؛‬‫ﺳﻌﻲ‬‫ﺳﻌﻲ‬‫ﻛﻦ‬‫ﻛﻦ‬‫آن‬‫آن‬‫را‬‫را‬‫ﺑﻬﺒﻮد‬‫ﺑﻬﺒﻮد‬‫ﺑﺨﺸﻲ‬‫ﺑﺨﺸﻲ‬.. N. Razavi - AI course - 2007 34 ‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ﺳﺎزي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﻣﺴﺎﺋﻞ‬ ‫و‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬ •‫ﺟﺴﺘﺠﻮي‬‫ﺟﺴﺘﺠﻮي‬‫ﻣﺤﻠﻲ‬‫ﻣﺤﻠﻲ‬==‫اﺳﺘﻔﺎده‬‫از‬‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﻓﻌﻠﻲ‬‫و‬‫ﺣﺮﻛﺖ‬‫ﺑﻪ‬‫ﺣﺎﻟﺖ‬‫ﻫﺎي‬ ‫ﺎﻳﻪ‬ ‫ﻫ‬‫ﻫﻤﺴﺎﻳﻪ‬ •‫ﻣﺰاﻳﺎ‬: –‫اﺳﺘﻔﺎده‬‫از‬‫ﺣﺎﻓﻈﻪ‬‫ﺑﺴﻴﺎر‬‫ﻛﻢ‬ ‫اﺳﺘﻔﺎده‬‫از‬‫ﺣﺎﻓﻈﻪ‬‫ﺑﺴﻴﺎر‬‫ﻛﻢ‬ –‫ﻳﺎﻓﺘﻦ‬‫راه‬‫ﺣﻞ‬‫ﻫﺎي‬‫ﻣﻌﻘﻮل‬‫در‬‫اﻏﻠﺐ‬‫ﻣﻮارد‬‫در‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫ﺑﺰرگ‬‫و‬‫ﻳﺎ‬‫ﻧﺎﻣﺤﺪود‬ •‫ﻣﻔﻴﺪ‬‫ﺑﺮاي‬‫ﻣﺴﺎﺋﻞ‬‫ﺑﻬﻴﻨﻪ‬‫ﺳﺎزي‬‫ﻣﺤﺾ‬ –‫ﻳﺎﻓﺘﻦ‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺣﺎﻟﺖ‬‫ﺑﺮ‬‫ﻃﺒﻖ‬‫ﺗﺎﺑﻊ‬‫ﻫﺪف‬(objective function) N. Razavi - AI course - 2007 35 ‫ﻣﺜﺎل‬n‫وزﻳﺮ‬ ‫ﻣﺜﺎل‬:n-‫وزﻳﺮ‬ ‫ﺄ‬‫ﻚ‬*‫ﮔ‬‫ﻛ‬ •‫ﻣﺴﺄﻟﻪ‬:n‫وزﻳﺮ‬‫را‬‫در‬‫ﻳﻚ‬‫ﺻﻔﺤﻪ‬‫ﺷﻄﺮﻧﺞ‬n * n‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫ﻗﺮار‬‫ﺑﺪه‬‫ﻛﻪ‬ ‫ﻫﻴﭻ‬‫دو‬‫وزﻳﺮي‬‫در‬‫ﻳﻚ‬،‫ﺳﻄﺮ‬‫ﺳﺘﻮن‬‫و‬‫ﻳﺎ‬‫ﻗﻄﺮ‬‫ﻗﺮار‬‫ﻧﮕﻴﺮﻧﺪ‬. ‫ﭻ‬ •‫ﻜ‬‫از‬‫ﻫﺎ‬ ‫ز‬‫ا‬‫د‬‫ن‬ ‫ﺘ‬‫دش‬ ‫ﺧ‬‫ﻪ‬‫ﻧﻪ‬ ‫ﮔ‬‫اي‬‫ﻪ‬‫ﺎ‬‫ﺎ‬‫ﻛ‬‫ﻛﻪ‬‫ﺪاد‬ ‫ﺗ‬ •‫ﻳﻜﻲ‬‫از‬‫وزﻳﺮﻫﺎ‬‫را‬‫در‬‫ﺳﺘﻮن‬‫ﺧﻮدش‬‫ﺑﻪ‬‫ﮔﻮﻧﻪ‬‫اي‬‫ﺟﺎﺑﻪ‬‫ﺟﺎ‬‫ﻛﻦ‬‫ﻛﻪ‬‫ﺗﻌﺪاد‬ ‫ﺑﺮﺧﻮرد‬‫ﻫﺎ‬‫ﻛﺎﻫﺶ‬‫ﻳﺎﺑﺪ‬. N. Razavi - AI course - 2007 36
  • 10. ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫ﺻﻌﻮدي‬ ‫ﮔﺮادﻳﺎن‬ ‫ﻳﺎ‬/‫ﻧﺰوﻟﻲ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫ﺻﻌﻮدي‬ ‫ﮔﺮادﻳﺎن‬ ‫ﻳﺎ‬/‫ﻧﺰوﻟﻲ‬( »‫ﺣﺎﻓﻈﻪ‬ ‫ﺿﻌﻒ‬ ‫ﺑﺎ‬ ‫ﻏﻠﻴﻆ‬ ‫ﻣﻪ‬ ‫در‬ ‫اورﺳﺖ‬ ‫ﻛﻮه‬ ‫از‬ ‫رﻓﺘﻦ‬ ‫ﺑﺎﻻ‬ ‫ﻣﺎﻧﻨﺪ‬« N. Razavi - AI course - 2007 37 ‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ S A D G h = 5 h = 2 ‫ﺳﺮاﺳﺮي‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﺷﺮوع‬ ‫ﺣﺎﻟﺖ‬ B E h = 7 h = 4 h = 2 h = 0 F C H h = 1 h = 5 h = 4 N. Razavi - AI course - 2007 38 ‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ S A D G h = 5 ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ B E h = 7 h = 4 B ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ F C H ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬ N. Razavi - AI course - 2007 39 ‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ S A D G h = 5 ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ B E h = 7 h = 4 h = 2 E ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ F C H ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬ h = 5 N. Razavi - AI course - 2007 40
  • 11. ‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ S A D G h = 2 ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ B E h = 4 h = 2 ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ F C H h = 1 F ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬ N. Razavi - AI course - 2007 41 ‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ S A D G ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ B E h = 2 E ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ F C H h = 1 ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬ N. Razavi - AI course - 2007 42 ‫ﻣﺜﺎل‬‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺜﺎل‬:‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﺠﻮي‬ S A D G h = 5 h = 2 ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ B E h = 7 h = 4 h = 2 h = 0 ‫ﻓﻌﻠﻲ‬ ‫ﺣﺎﻟﺖ‬ ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺑﻬﺘﺮﻳﻦ‬ F C H h = 1 ‫ﻫﻤﺴﺎﻳﻪ‬ ‫ﺣﺎﻟﺖ‬ h = 5 h = 4 ‫ﻣﺤﻠﻲ‬ ‫ﻣﻴﻨﻴﻤﻢ‬ N. Razavi - AI course - 2007 43 ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﻮي‬:‫ﻣﺜﺎل‬8‫وزﻳﺮ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺟﺴﺘﻮي‬:‫ﻣﺜﺎل‬8‫وزﻳﺮ‬ 5‫ﺣﺮﻛﺖ‬‫ﺮ‬ h = 17 h = 1h = 17 h = 1 h=‫ﻛﻨﻨﺪ‬ ‫ﻣﻲ‬ ‫ﺗﻬﺪﻳﺪ‬ ‫را‬ ‫ﻳﻜﺮﻳﮕﺮ‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫ﻏﻴﺮ‬ ‫ﺑﻄﻮر‬ ‫ﻳﺎ‬ ‫و‬ ‫ﻣﺴﺘﻘﻴﻢ‬ ‫ﺑﻄﻮر‬ ‫ﻛﻪ‬ ‫وزﻳﺮﻫﺎﻳﻲ‬ ‫ﺟﻔﺖ‬ ‫ﺗﻌﺪاد‬. N. Razavi - AI course - 2007 44
  • 12. ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫اداﻣﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬)‫اداﻣﻪ‬( ••‫ﻣﺸﻜﻞ‬:‫ﺑﺴﺘﻪ‬‫ﺑﻪ‬‫ﺣﺎﻟﺖ‬‫اوﻟﻴﻪ‬‫ﻣﺴﺄﻟﻪ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫در‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻣﺤﻠﻲ‬‫ﻣﺤﻠﻲ‬‫ﮔﻴﺮ‬ ‫ﻢ‬‫ﻢ‬ ‫ﻛﻨﺪ‬. N. Razavi - AI course - 2007 45 ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗﻲ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻔﺎﻗ‬ ‫ا‬ •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اﺗﻔﺎﻗﻲ‬ –‫اﻧﺘﺨﺎب‬‫ﺗﺼﺎدﻓﻲ‬‫در‬‫ﻣﻴﺎن‬‫ﺣﺮﻛﺖ‬‫ﻫﺎي‬‫رو‬‫ﺑﻪ‬‫ﺑﺎﻻ‬ –‫اﺣﺘﻤﺎل‬‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﻣﺘﻨﺎﺳﺐ‬‫ﺑﺎ‬‫ﺷﻴﺐ‬‫ﺣﺮﻛﺖ‬‫ﺗﻐﻴﻴﺮ‬‫ﻛﻨﺪ‬ A D h = 5 h = 29 4 A D h = 5 h = 2 3 2 0 S B E G h = 7 h 4 h = 0 9 5 S B E G h = 7 h 4 h = 0 3 1 F h = 4 h = 2 h = 1 F h = 4 h = 2 h = 1 C H h = 5 h = 4 C H h = 5 h = 4 N. Razavi - AI course - 2007 46 ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﺗﻔﺎﻗﻲ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻔﺎﻗ‬ ‫ا‬ •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اﺗﻔﺎﻗﻲ‬ –‫اﻧﺘﺨﺎب‬‫ﺗﺼﺎدﻓﻲ‬‫در‬‫ﻣﻴﺎن‬‫ﺣﺮﻛﺖ‬‫ﻫﺎي‬‫رو‬‫ﺑﻪ‬‫ﺑﺎﻻ‬ –‫اﺣﺘﻤﺎل‬‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﻣﺘﻨﺎﺳﺐ‬‫ﺑﺎ‬‫ﺷﻴﺐ‬‫ﺣﺮﻛﺖ‬‫ﺗﻐﻴﻴﺮ‬‫ﻛﻨﺪ‬ A D h = 5 h = 2 A D h = 5 h = 2 0 0 1 S B E G h = 7 h 4 h = 0 S B E G h = 7 h 4 h = 0 0 F h = 4 h = 2 h = 1 F h = 4 h = 2 h = 1 C H h = 5 h = 4 C H h = 5 h = 4 N. Razavi - AI course - 2007 47 ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﻧﺘﺨﺎب‬ ‫اوﻟﻴﻦ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫اﻧﺘﺨﺎب‬ ‫اوﻟﻴﻦ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﻟ‬ ‫ا‬‫ﺎ‬ ‫ا‬ •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اوﻟﻴﻦ‬‫اﻧﺘﺨﺎب‬ –‫ﻫﻤﺎن‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫اﺗﻔﺎﻗﻲ‬‫ﻛﻪ‬‫ﺣﺎﻟﺖ‬‫ﻫﺎي‬‫ﺑﻌﺪي‬‫را‬‫ﺑﻪ‬‫ﻃﻮر‬‫ﺗﺼﺎدﻓﻲ‬‫ﺗﻮﻟﻴﺪ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﺗﺎ‬ ‫ﻳﻜﻲ‬‫از‬‫آﻧﻬﺎ‬‫ﺑﻬﺘﺮ‬‫از‬‫ﺣﺎﻟﺖ‬‫ﻓﻌﻠﻲ‬‫ﺑﺎﺷﺪ‬ S(7) A(5) S A D G h = 5 h = 2 S(7) S(7) A(5) S B E G h = 7 h = 4 h = 2 h = 0 A(5) B(4) C(5) S(7) F C H h = 1 B(4) C(5) C h = 5 h = 4 E(2) E(2) F(1) N. Razavi - AI course - 2007 48
  • 13. ‫ﻧ‬ ‫ﺗ‬ ‫ﮕ‬ ‫ا‬ ‫اﻧ‬)‫ﻓ‬ ‫ﺎ‬ ‫ﺗ‬ ‫ﺷ‬ ‫ﺎ‬ ‫ﻧ‬ ‫ﺗ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫ﺗﺼﺎدﻓﻲ‬ ‫ﻣﺠﺪد‬ ‫ﺷﺮوع‬ ‫ﺑﺎ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﺎ‬‫ﺷ‬‫ﻓ‬ ‫ﺎ‬)‫ا‬‫اﮔ‬‫ﺷﻜ‬‫ﺎ‬‫ﻛ‬( •‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫ﺑﺎ‬‫ﺷﺮوع‬‫ﻣﺠﺪد‬‫ﺗﺼﺎدﻓﻲ‬)‫اﻳﺪه‬:‫اﮔﺮ‬‫ﺷﻜﺴﺖ‬‫ﺧﻮردي‬‫دوﺑﺎره‬‫ﺳﻌﻲ‬‫ﻛﻦ‬( –‫ﺳﻌﻲ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﻛﻪ‬‫از‬‫ﮔﻴﺮ‬‫اﻓﺘﺎدن‬‫در‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻣﺤﻠﻲ‬‫اﺟﺘﻨﺎب‬‫ﻛﻨﺪ‬ A D h = 5 h = 2 S B E F S B E G h = 7 h = 4 h = 0 C B E F H F h = 4 h = 2 h = 1 C H C H h = 5 h = 4 A D G ‫ﻜﻞ‬‫ا‬ ‫ا‬ ‫ا‬ ‫ﺄﻟ‬ ‫ﻞ‬ ‫ا‬ ‫ﻞ‬ ‫ا‬ ‫ﺎ‬ ‫ﺄﻟ‬ ‫ﻚ‬ ً‫ﻻ‬ ‫ﻣﺸﻜﻞ‬:‫داﻧﻴﻢ‬ ‫ﻧﻤﻲ‬ ‫را‬ ‫ﺑﻬﻴﻨﻪ‬ ‫ﺟﻮاب‬ ‫ﻣﺴﺄﻟﻪ‬ ‫ﺣﻞ‬ ‫از‬ ‫ﻗﺒﻞ‬ ،‫واﻗﻌﻲ‬ ‫دﻧﻴﺎي‬ ‫در‬ ‫ﻣﺴﺄﻟﻪ‬ ‫ﻳﻚ‬ ‫در‬ ‫ﻣﻌﻤﻮﻻ‬! ‫ﺣﻞ‬ ‫راه‬:‫دارﻳﻢ‬ ‫وﻗﺖ‬ ‫ﻛﻪ‬ ‫زﻣﺎﻧﻲ‬ ‫ﺗﺎ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫ﺗﻜﺮار‬. N. Razavi - AI course - 2007 49 ‫ﻧ‬ ‫ﺗ‬ ‫ﮕ‬ ‫ا‬ ‫اﻧ‬)‫ﻓ‬ ‫ﺎ‬ ‫ﺗ‬ ‫ﺷ‬ ‫ﺎ‬ ‫ﻧ‬ ‫ﺗ‬( ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬ ‫دﻳﮕﺮ‬ ‫اﻧﻮاع‬)‫ﺗﺼﺎدﻓﻲ‬ ‫ﻣﺠﺪد‬ ‫ﺷﺮوع‬ ‫ﺑﺎ‬ ‫ﻧﻮردي‬ ‫ﺗﭙﻪ‬( ‫ﺎ‬‫ا‬‫ﻂ‬‫ﻞ‬ ‫ا‬‫ﺎ‬‫ﺷ‬‫ﻓ‬ ‫ﺎ‬ •‫ﻣﺤﺎﺳﺒﻪ‬‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬‫ﻣﺮاﺣﻞ‬‫در‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫ﺑﺎ‬‫ﺷﺮوع‬‫ﺗﺼﺎدﻓﻲ‬‫ﻣﺠﺪد‬ –‫ﺗﻌﺪاد‬‫ﺗﻜﺮارﻫﺎ‬=‫ﻋﻜﺲ‬‫اﺣﺘﻤﺎل‬‫ﻣﻮﻓﻘﻴﺖ‬ ‫ﻂ‬‫ﻜ‬‫ﻂ‬‫ﻜ‬‫ﻂ‬ –‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬‫ﻣﺮاﺣﻞ‬=‫ﺗﻌﺪاد‬‫ﺷﻜﺴﺖ‬‫ﻫﺎ‬*‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬‫ﻣﺮاﺣﻞ‬‫ﺷﻜﺴﺖ‬+1*‫ﺗﻌﺪاد‬‫ﻣﺘﻮﺳﻂ‬ ‫ﻣﺮاﺣﻞ‬‫ﻣﻮﻓﻘﻴﺖ‬ S(3) A(2) D(1) G(0) h = 5 h = 2 ‫ﻣﻮﻓﻘﻴﺖ‬ ‫اﺣﺘﻤﺎل‬= 3 1 ‫ﺗﻜﺮارﻫﺎ‬ ‫ﺗﻌﺪاد‬3 B(2) E(1) h = 7 h = 4 h = 2 h = 0 ‫ﺗﻜﺮارﻫﺎ‬ ‫ﺗﻌﺪاد‬=3 ‫ﻣﻮﻓﻘﻴﺖ‬ ‫ﻣﺮاﺣﻞ‬ ‫ﻣﺘﻮﺳﻂ‬ ‫ﺗﻌﺪاد‬=1 ‫ﺷﻜ‬ ‫ﻞ‬ ‫ا‬ ‫ﻂ‬ ‫ﺘ‬ ‫ا‬ ‫ﺗ‬8F(0) C(2) H(0) h h h = 1 ‫ﺷﻜﺴﺖ‬ ‫ﻣﺮاﺣﻞ‬ ‫ﻣﺘﻮﺳﻂ‬ ‫ﺗﻌﺪاد‬=6 8 ( ) 411813 ≅×+×−h = 5 h = 4 ( ) 411 6 13 ≅×+×− N. Razavi - AI course - 2007 50 Simulated Annealingg •‫اﻳﺪه‬:‫از‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻫﺎي‬‫ﻣﺤﻠﻲ‬‫ﺑﺎ‬‫اﻧﺠﺎم‬‫ﺣﺮﻛﺖ‬‫ﻫﺎي‬»‫ﺑﺪ‬«‫ﻓﺮار‬‫ﻛﻦ‬ ‫ﺎ‬ ‫ا‬‫ﺎ‬ ‫ا‬‫ﻪ‬‫ﻪ‬‫ﺗﺪ‬‫ﺗﺪ‬‫اﻧﺪاز‬‫اﻧﺪاز‬‫ﺪاد‬ ‫ﺗ‬‫ﺪاد‬ ‫ﺗ‬‫ﻛﺎت‬‫ﻛﺎت‬‫ﺪ‬‫ﺪ‬))‫ﻪ‬‫ﻪ‬‫ﺖ‬‫ﺖ‬‫ﻦ‬ ‫ﺎ‬‫ﻦ‬ ‫ﺎ‬((‫ا‬‫ا‬‫ﻛ‬‫ﻛ‬‫ﻛﻦ‬‫ﻛﻦ‬ ‫اﻣﺎ‬‫اﻣﺎ‬‫ﺑﻪ‬‫ﺑﻪ‬‫ﺗﺪرﻳﺞ‬‫ﺗﺪرﻳﺞ‬‫اﻧﺪازه‬‫اﻧﺪازه‬‫و‬‫و‬‫ﺗﻌﺪاد‬‫ﺗﻌﺪاد‬‫ﺣﺮﻛﺎت‬‫ﺣﺮﻛﺎت‬‫ﺑﺪ‬‫ﺑﺪ‬))‫ﺑﻪ‬‫ﺑﻪ‬‫ﺳﻤﺖ‬‫ﺳﻤﺖ‬‫ﭘﺎﻳﻴﻦ‬‫ﭘﺎﻳﻴﻦ‬((‫را‬‫را‬‫ﻛﻢ‬‫ﻛﻢ‬‫ﻛﻦ‬‫ﻛﻦ‬ N. Razavi - AI course - 2007 51 ‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬ ••‫ﭘﻴﺸﺮوي‬‫ﻣﺎﻧﻨﺪ‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫ﻣﻲ‬،‫ﺑﺎﺷﺪ‬‫اﻣﺎ‬‫در‬‫ﻫﺮ‬‫ﻣﺮﺣﻠﻪ‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫ﺑﻪ‬‫ﻃﻮر‬ ‫ﺗﺼﺎدﻓ‬‫ﺗﺼﺎدﻓ‬‫اﻧﺘﺨﺎب‬‫ﻣ‬‫ﺷﻮد‬ ‫ﺗﺼﺎدﻓﻲ‬‫ﺗﺼﺎدﻓﻲ‬‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺷﻮد‬. •‫اﮔﺮ‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫اﻧﺘﺨﺎب‬‫ﺷﺪه‬‫ﺑﻬﺘﺮ‬،‫ﺑﺎﺷﺪ‬‫ﻫﻤﻮاره‬‫ﺑﻪ‬‫آن‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫ﺧﻮاﻫﻴﻢ‬ ‫رﻓﺖ‬. •‫در‬‫ﻏﻴﺮ‬‫اﻳﻦ‬،‫ﺻﻮرت‬‫ﺗﻨﻬﺎ‬‫ﺑﺎ‬‫ﻳﻚ‬‫اﺣﺘﻤﺎل‬‫ﺑﻪ‬‫آن‬‫ﺣﺎﻟﺖ‬‫ﺧﻮاﻫﻴﻢ‬‫رﻓﺖ‬‫و‬‫اﻳﻦ‬ ‫ر‬‫ﻴﺮ‬‫ﻳﻦ‬‫ﻮر‬‫ﻬ‬‫ﺑ‬‫ﻳ‬‫ل‬‫ﺑ‬‫ﻴﻢ‬ ‫ﻮ‬‫ر‬‫و‬‫ﻳﻦ‬ ‫اﺣﺘﻤﺎل‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﻧﻤﺎﻳﻲ‬‫ﻛﺎﻫﺶ‬‫ﻣﻲ‬‫ﻳﺎﺑﺪ‬. •‫ﺗﺎ‬‫ﺎل‬ ‫ا‬ •‫ﺗﺎﺑﻊ‬‫اﺣﺘﻤﺎل‬: T:‫ﺗﻌﺪاد‬‫ﻣﺮاﺣﻞ‬‫ﺑﻬﺒﻮد‬‫راه‬‫ﺣﻞ‬e ΔE/T ‫ﻞ‬ ‫ﺮ‬‫ﺒﻮ‬ ‫ﺑ‬‫ﻞ‬ ΔE:‫ﻣﻴﺰان‬‫ﻛﺎﻫﺶ‬‫در‬‫ﻫﺮ‬‫ﻣﺮﺣﻠﻪ‬ N. Razavi - AI course - 2007 52
  • 14. ‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬ ‫ﺧﺼﻮﺻﻴﺎت‬‫ﺷﺪه‬ ‫ﺳﺎزي‬ ‫ﺷﺒﻴﻪ‬ ‫آﻧﻠﻴﻨﮓ‬ ‫ﺧﺼﻮﺻﻴﺎت‬ •‫در‬‫ﻣﻘﺎدﻳﺮ‬‫ﺑﺎﻻﺗﺮ‬T،‫اﺣﺘﻤﺎل‬‫اﻧﺠﺎم‬‫ﺣﺮﻛﺎت‬‫ﺑﺪ‬)‫رﻓﺘﻦ‬‫ﺑﻪ‬‫ﺳﻤﺖ‬‫ﭘﺎﻳﻴﻦ‬(‫ﺑﻴﺸﺘﺮ‬‫اﺳﺖ‬.)‫ﻣﺎﻧﻨﺪ‬‫ﺟﺴﺘﺠﻮي‬‫ﺗﺼﺎدﻓﻲ‬ ‫رﻓﺘﺎر‬‫ﻣﻲ‬‫ﻛﻨﺪ‬( •‫ﺑﺎ‬‫ﻛﺎﻫﺶ‬T‫اﻳﻦ‬‫اﺣﺘﻤﺎل‬‫ﻛﺎﻫﺶ‬‫ﻳﺎﻓﺘﻪ‬‫و‬‫در‬T = 0‫اﻳﻦ‬‫اﺣﺘﻤﺎل‬‫ﺑﻪ‬‫ﺻﻔﺮ‬‫ﻣﻲ‬‫رﺳﺪ‬.)‫ﻣﺎﻧﻨﺪ‬‫ﺗﭙﻪ‬‫ﻧﻮردي‬‫رﻓﺘﺎر‬ ‫ﻣﻲ‬‫ﻛﻨﺪ‬( •‫ﻣﻲ‬‫ﺗﻮان‬‫ﺛﺎﺑﺖ‬‫ﻛﺮد‬‫ﻛﻪ‬‫اﮔﺮ‬T‫ﺑﻪ‬‫ﺑﻪ‬‫اﻧﺪازه‬‫ﻛﺎﻓﻲ‬‫آرام‬‫ﻛﺎﻫﺶ‬،‫ﺑﻴﺎﺑﺪ‬‫ﺟﺴﺘﺠﻮي‬SA‫ﻳﻚ‬‫ﭘﺎﺳﺦ‬‫ﺑﻬﻴﻨﻪ‬ (global optimum)‫ﺑﺎ‬‫اﺣﺘﻤﺎﻟﻲ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﺳﻤﺖ‬‫ﻳﻚ‬‫ﻣﻴﻞ‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﺧﻮاﻫﺪ‬‫ﻳﺎﻓﺖ‬. (g p )‫ﺑ‬‫ﻲ‬‫ﺑ‬‫ﻳ‬‫ﻴﻞ‬‫ﻲ‬‫ﻮ‬‫ﻳ‬ •‫ﻛﺎرﺑﺮدﻫﺎ‬: ‫ﻞ‬‫ﺎﺋﻞ‬VLSI –‫ﺣﻞ‬‫ﻣﺴﺎﺋﻞ‬VLSI –‫ﺑﺮﻧﺎﻣﻪ‬‫رﻳﺰي‬ –‫اﻋﻤﺎل‬‫ﺑﻬﻴﻨﻪ‬‫ﺳﺎزي‬ –‫زﻣﺎﻧﺒﻨﺪي‬‫ﺧﻄﻮط‬‫ﻫﻮاﻳﻲ‬ N. Razavi - AI course - 2007 53 Local beam search )‫اي‬ ‫دﺳﺘﻪ‬ ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬( •‫ﺷﺮوع‬‫ﺑﺎ‬k‫ﺣﺎﻟﺖ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻃﻮر‬‫ﺗﺼﺎدﻓﻲ‬‫اﻳﺠﺎد‬‫ﺷﺪه‬‫اﻧﺪ‬. •‫در‬‫ﻫ‬،‫ار‬ ‫ﺗﻜ‬‫ﺎم‬ ‫ﺗ‬‫زﻧﺪان‬ ‫ﻓ‬‫اي‬ ‫ﺑ‬‫ﻫ‬k‫ﺣﺎﻟﺖ‬‫ﺪ‬ ‫ﻟ‬ ‫ﺗ‬‫ﻣ‬‫ﻧﺪ‬ ‫ﺷ‬ •‫در‬‫ﻫﺮ‬،‫ﺗﻜﺮار‬‫ﺗﻤﺎم‬‫ﻓﺮزﻧﺪان‬‫ﺑﺮاي‬‫ﻫﺮ‬k‫ﺣﺎﻟﺖ‬‫ﺗﻮﻟﻴﺪ‬‫ﻣﻲ‬‫ﺷﻮﻧﺪ‬. •‫اﮔﺮ‬‫ﻳﻜﻲ‬‫از‬‫آﻧﻬﺎ‬‫ﺣﺎﻟﺖ‬‫ﻫﺪف‬‫ﺑﻮد‬‫ﺟﺴﺘﺠﻮ‬‫ﻣﺘﻮﻗﻒ‬‫ﻣﻲ‬‫ﺷﻮد‬‫و‬‫در‬ ‫ﻟ‬‫ﻞ‬ ‫ﻛ‬k ‫ﻏﻴﺮ‬‫اﻳﻦ‬‫ﺻﻮرت‬‫از‬‫ﻣﻴﺎن‬‫ﻟﻴﺴﺖ‬‫ﻛﺎﻣﻞ‬‫ﻓﺮزﻧﺪان‬k‫ﺗﺎ‬‫از‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﻫﺎ‬ ‫اﻧﺘﺨﺎب‬‫ﻣﻲ‬‫ﺷﻮﻧﺪ‬‫و‬‫ﻣﺮﺣﻠﻪ‬‫ﺑﺎﻻ‬‫ﺗﻜﺮار‬‫ﻣﻲ‬‫ﺷﻮد‬. ‫ب‬‫ﻲ‬‫ﻮ‬‫و‬‫ﺮ‬‫ﺑ‬‫ر‬ ‫ﺮ‬‫ﻲ‬‫ﻮ‬ N. Razavi - AI course - 2007 54 ‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬ •‫ﻧﻮﻋﻲ‬‫از‬local beam search‫ﺑﻪ‬‫ﻫﻤﺮاه‬‫ﺗﺮﻛﻴﺐ‬‫ﺟﻨﺴﻲ‬ N. Razavi - AI course - 2007 55 ‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬ •‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي‬‫ﺑﺎ‬‫ﺗﺮﻛﻴﺐ‬‫دو‬‫ﺣﺎﻟﺖ‬‫ﭘﺪر‬‫اﻳﺠﺎد‬‫ﻣﻲ‬‫ﺷﻮد‬. •‫وع‬ ‫ﺷ‬‫ﺑﺎ‬k‫ﺣﺎﻟﺖ‬‫ﺗﺼﺎدﻓ‬)‫ﺖ‬ ‫ﻌ‬ ‫ﺟ‬( •‫ﺷﺮوع‬‫ﺑﺎ‬k‫ﺣﺎﻟﺖ‬‫ﺗﺼﺎدﻓﻲ‬)‫ﺟﻤﻌﻴﺖ‬( •‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ﺑﺎ‬‫ﻳﻚ‬‫رﺷﺘﻪ‬‫ﺑﺮ‬‫روي‬‫ﻳﻚ‬‫ﻣﺠﻤﻮﻋﻪ‬‫ﻣﺤﺪود‬‫ﺑﺎزﻧﻤﺎﻳﻲ‬‫ﻣﻲ‬‫ﺷﻮد‬ )‫اﻏﻠ‬‫ﺷ‬‫ا‬‫ا‬‫ﻔ‬‫ﻚ‬()‫ﻛ‬( )‫اﻏﻠﺐ‬‫رﺷﺘﻪ‬‫اي‬‫از‬‫ﺻﻔﺮ‬‫و‬‫ﻳﻚ‬(–)‫ﻛﺮوﻣﻮزوم‬( •‫ﺗﺎﺑﻊ‬‫ارزﻳﺎﺑﻲ‬)‫ﺗﺎﺑﻊ‬‫ﺑﺮازﻧﺪﮔﻲ‬–Fitness function(:‫ﻣﻘﺎدﻳﺮ‬‫ﺑﺎﻻﺗﺮي‬ ‫ﻊ‬‫ﻊ‬ ‫را‬‫ﺑﺮاي‬‫ﺣﺎﻻت‬‫ﺑﻬﺘﺮ‬‫اﻳﺠﺎد‬‫ﻣﻲ‬‫ﻛﻨﺪ‬. •‫ﻧﺴﻞ‬‫ﺑﻌﺪي‬‫ﺟﻤﻌﻴﺖ‬‫ﺑﺎ‬‫اﻧﺠﺎم‬‫اﻋﻤﺎل‬‫زﻳﺮ‬‫روي‬‫ﺟﻤﻌﻴﺖ‬‫ﻓﻌﻠﻲ‬‫ﺗﻮﻟﻴﺪ‬‫ﻣﻲ‬‫ﺷﻮد‬: ‫ﻞ‬‫ي‬ ‫ﺑ‬‫ﻴ‬ ‫ﺟ‬‫ﺑ‬‫م‬ ‫ﺠ‬‫زﻳﺮ‬‫روي‬‫ﻴ‬ ‫ﺟ‬‫ﻲ‬‫ﻴ‬ ‫ﻮ‬‫ﻲ‬‫ﻮ‬ –‫اﻧﺘﺨﺎب‬(Selection) –‫آﻣﻴﺰش‬(Crossover) ‫آﻣﻴﺰش‬(Crossover) –‫ﺟﻬﺶ‬(Mutation) N. Razavi - AI course - 2007 56
  • 15. ‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬ •‫ﺗﺎﺑﻊ‬‫ﺑﺮازﻧﺪﮔﻲ‬:‫ﺗﻌﺪاد‬‫ﺟﻔﺖ‬‫وزﻳﺮ‬‫ﻫﺎﻳﻲ‬‫ﻛﻪ‬‫ﻳﻜﺪﻳﮕﺮ‬‫را‬‫ﺗﻬﺪﻳﺪ‬‫ﻧﻤﻲ‬‫ﻛﻨﻨﺪ‬ ‫ﻊ‬ )‫ﻣﻴﻨﻴﻤﻢ‬:،‫ﺻﻔﺮ‬‫ﻣﺎﻛﺰﻳﻤﻢ‬:8 * 7/2 = 28( • 24 / (24+23+20+11) = 31%• 24 / (24+23+20+11) = 31% • 23 / (24+23+20+11) = 29% N. Razavi - AI course - 2007 57 ‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫ﻫﺎي‬ ‫اﻟﮕﻮرﻳﺘﻢ‬ •‫ﻳﻚ‬‫ﻣﺜﺎل‬‫ﺑﺮاي‬‫ﻋﻤﻞ‬Crossover Off iOff iParentParent11 ParentParent22 OffspringOffspring 11 (3 2 7 5 2 4 1 1) + (2 4 7 4 8 5 5 2) = (3 2 7 4 8 5 5 2)(3, 2, 7, 5, 2, 4, 1, 1) + (2, 4, 7, 4, 8, 5, 5, 2) (3, 2, 7, 4, 8, 5, 5, 2) N. Razavi - AI course - 2007 58 ‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬‫ژﻧﺘﻴﻚ‬ ‫اﻟﮕﻮرﻳﺘﻢ‬ function GENETIC-ALGORITHM( population, FITNESS-FN) returns an individual input: population, a set of individuals FITNESS-FN, a function that measures the fitness of an individual repeatrepeat new_population ← empty set loop for i from 1 to SIZE(population) do x ← RANDOM SELECTION(population FITNESS FN)x ← RANDOM_SELECTION(population, FITNESS_FN) y ← RANDOM_SELECTION(population, FITNESS_FN) child ← REPRODUCE(x,y) if (small random probability) then child ← MUTATE(child )if (small random probability) then child ← MUTATE(child ) add child to new_population population ← new_population il i di id l i fi h h i h l duntil some individual is fit enough or enough time has elapsed return the best individual in population, according to FITNESS-FN N. Razavi - AI course - 2007 59 ‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺎي‬ ‫اﺳﺘﺮاﺗﮋي‬ ‫ﺑﻨﺪي‬ ‫دﺳﺘﻪ‬‫ﺟﺴﺘﺠﻮ‬ ‫ﻫﺎي‬ ‫اﺳﺘﺮاﺗﮋي‬ ‫ﺑﻨﺪي‬ ‫دﺳﺘﻪ‬ DFS BFS g = depth UCS A* A Best First General Search Greedy f = h g = depth h = 0 h ≤ h* f = g + h First Searchf h N. Razavi - AI course - 2007 60
  • 16. ‫اﻛﺘﺸﺎﻓ‬ ‫ﻣﺴﺎﺋﻞ‬‫اﻛﺘﺸﺎﻓﻲ‬ ‫ﻣﺴﺎﺋﻞ‬ •‫ﺗﺎ‬‫ﻛﻨﻮن‬‫ﺗﻤﺎم‬‫اﻟﮕﻮرﻳﺘﻢ‬‫ﻫﺎ‬offline‫ﺑﻮدﻧﺪ‬ Offli‫آ‬ –Offline=‫راه‬‫ﺣﻞ‬‫ﻗﺒﻞ‬‫از‬‫اﺟﺮاي‬‫آن‬‫ﻣﻌﻴﻦ‬‫اﺳﺖ‬ –Online=‫ﻣﺤﺎﺳﺒﻪ‬‫و‬‫ﻋﻤﻞ‬‫ﺑﺼﻮرت‬‫ﻳﻚ‬‫در‬‫ﻣﻴﺎن‬ ‫ﺒ‬‫و‬‫ﻞ‬‫ﻮر‬ ‫ﺑ‬‫ﻳ‬‫ر‬‫ﻴ‬ –‫ﺟﺴﺘﺠﻮي‬online‫ﺑﺮاي‬‫ﻣﺤﻴﻂ‬‫ﻫﺎي‬‫ﭘﻮﻳﺎ‬‫و‬‫ﻧﻴﻤﻪ‬‫ﭘﻮﻳﺎ‬‫ﺿﺮوري‬‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬ ‫ﻈ‬‫ﻓ‬ ‫ﮔ‬‫ﺎ‬‫ﻜﺎ‬ ‫ا‬‫ﺎ‬‫ﻠ‬‫ﻏ‬‫ﻜ‬‫ا‬ •‫در‬‫ﻧﻈﺮ‬‫ﮔﺮﻓﺘﻦ‬‫ﺗﻤﺎﻣﻲ‬‫اﻣﻜﺎن‬‫ﻫﺎي‬‫ﻣﺨﺘﻠﻒ‬‫ﻏﻴﺮ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬ •‫اﺳﺘﻔﺎده‬‫ﺷﺪه‬‫در‬‫ﻣﺴﺎﺋﻞ‬‫اﻛﺘﺸﺎﻓﻲ‬ ‫ر‬‫ﻞ‬‫ﻲ‬ –‫ﺣﺎﻟﺖ‬‫ﻫﺎ‬‫و‬‫اﻋﻤﺎل‬‫ﻧﺎﺷﻨﺎﺧﺘﻪ‬ ‫ﻚ‬‫ﻚ‬‫ﻚ‬ –‫ﻣﺜﺎل‬:‫ﻳﻚ‬‫روﺑﺎت‬‫در‬‫ﻳﻚ‬‫ﻣﺤﻴﻂ‬،‫ﺟﺪﻳﺪ‬‫ﻳﻚ‬‫ﻧﻮزاد‬‫و‬... N. Razavi - AI course - 2007 61 ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online •‫داﻧﺶ‬‫ﻋﺎﻣﻞ‬: –‫ﻋﻤﻞ‬)‫ﻫﺎ‬(:‫ﻟﻴﺴﺖ‬‫اﻋﻤﺎل‬‫ﻣﺠﺎز‬‫در‬‫ﺣﺎﻟﺖ‬s –c(s, a, s’):‫ﺗﺎﺑﻊ‬‫ﻫﺰﻳﻨﻪ‬‫ﮔﺎم‬)‫ﭘﺲ‬‫از‬‫ﺗﻌﻴﻴﻦ‬s’( ( , , )‫ﺑﻊ‬‫ﺰﻳ‬‫م‬‫ﭘﺲ‬‫ز‬‫ﻴﻴﻦ‬ –GOAL-TEST(s) •‫ﻋﺎﻣﻞ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺣﺎﻟﺖ‬‫ﻗﺒﻠﻲ‬‫را‬‫ﺗﺸﺨﻴﺺ‬‫دﻫﺪ‬ •‫اﻋﻤﺎل‬‫ﻗﻄﻌ‬‫ﺘﻨﺪ‬ ‫ﻫ‬ ‫اﻋﻤﺎل‬‫ﻗﻄﻌﻲ‬‫ﻫﺴﺘﻨﺪ‬ •‫دﺳﺘﻴﺎﺑﻲ‬‫ﺑﻪ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬‫ﻗﺎﺑﻞ‬‫ﻗﺒﻮل‬h(s) ‫ﺑﻲ‬ ‫ﻴ‬‫ﺑ‬‫ﻴ‬ ‫ﻴﻮرﻳ‬‫ﺑﻞ‬‫ﺒﻮ‬( ) •‫ﻣﺎﻧﻨﺪ‬‫ﻓﺎﺻﻠﻪ‬‫ﻣﺎﻧﻬﺎﺗﺎﻧﻲ‬ N. Razavi - AI course - 2007 62 ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online ‫ﺟﺴﺘﺠﻮي‬ ‫ﻣﺴﺎﺋﻞ‬online •‫ﻫﺪف‬:‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﺣﺎﻟﺖ‬‫ﻫﺪف‬‫ﺑﺎ‬‫ﺣﺪاﻗﻞ‬‫ﻫﺰﻳﻨﻪ‬ ‫ﻛﻞ‬ –‫ﻫﺰﻳﻨﻪ‬=‫ﻛﻞ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫ﭘﻴﻤﻮده‬‫ﺷﺪه‬ –‫ﻧﺴﺒﺖ‬‫رﻗﺎﺑﺘﻲ‬=‫ﻣﻘﺎﻳﺴﻪ‬‫ﻫﺰﻳﻨﻪ‬‫ﺑﺎ‬‫ﻫﺰﻳﻨﻪ‬‫ﻣﺴﻴﺮ‬‫راه‬‫ﺣﻞ‬‫در‬‫ﺣﺎﻟﺘﻲ‬‫ﻛﻪ‬‫ﻓﻀﺎي‬ ‫ﺒ‬‫ﻲ‬ ‫ﺑ‬ ‫ر‬‫ﻳ‬‫ﺰﻳ‬‫ﺑ‬‫ﺰﻳ‬‫ﻴﺮ‬‫ر‬‫ﻞ‬‫ر‬‫ﻲ‬‫ي‬ ‫ﺟﺴﺘﺠﻮ‬‫ﺷﻨﺎﺧﺘﻪ‬‫ﺷﺪه‬‫ﺑﺎﺷﺪ‬ ‫اﻧﺪ‬ ‫ﺗ‬‫ﻧﺎ‬‫د‬ ‫ﺪ‬‫ﺎﺷﺪ‬ –‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﻧﺎ‬‫ﻣﺤﺪود‬‫ﺑﺎﺷﺪ‬ –‫در‬‫ﻣﻮاردي‬‫ﻛﻪ‬‫ﻋﺎﻣﻞ‬‫ﺑﻪ‬‫ﻃﻮر‬‫ﺗﺼﺎدﻓﻲ‬ ‫ﺑﻪ‬‫ﻳﻚ‬‫ﺑﻦ‬‫ﺑﺴﺖ‬‫ﻣﻲ‬‫رﺳﺪ‬ N. Razavi - AI course - 2007 63 ‫دﺷﻤﻨﺎﻧﻪ‬ ‫اﺳﺘﺪﻻل‬ •‫ﻚ‬‫ﺷ‬‫ا‬‫ﺗ‬‫ﺪ‬ ‫ﻛﻨ‬‫ﻛ‬‫ﻗﺎ‬‫ﺖ‬ ‫ا‬‫ش‬ ‫ﻛﺎ‬‫ﻞ‬ ‫ﺎ‬‫ﻓﻀﺎ‬‫ﺎﻟﺖ‬ •‫ﻳﻚ‬‫دﺷﻤﻦ‬‫را‬‫ﺗﺼﻮر‬‫ﻛﻨﻴﺪ‬‫ﻛﻪ‬‫ﻗﺎدر‬‫اﺳﺖ‬‫در‬‫ﺣﻴﻦ‬‫ﻛﺎوش‬‫ﻋﺎﻣﻞ‬‫ﻓﻀﺎي‬‫ﺣﺎﻟﺖ‬ ‫را‬‫ﺑﺴﺎزد‬ •‫ﺣﺎﻟﺖ‬‫ﻫﺎي‬‫ﻣﻼﻗﺎت‬‫ﺷﺪه‬S‫و‬A.‫ﺣﺎﻟﺖ‬‫ﺑﻌﺪي؟‬ –‫در‬‫ﻳﻜﻲ‬‫از‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫ﺷﻜﺴﺖ‬‫ﻣﻲ‬‫ﺧﻮرد‬ ‫در‬‫ﻳﻜﻲ‬‫از‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫ﺷﻜﺴﺖ‬‫ﻣﻲ‬‫ﺧﻮرد‬ –‫ﻫﻴﭻ‬‫اﻟﮕﻮرﻳﺘﻤﻲ‬‫ﻧﻤﻲ‬‫ﺗﻮاﻧﺪ‬‫از‬‫ﺑﻦ‬‫ﺑﺴﺖ‬‫ﻫﺎ‬‫در‬‫ﺗﻤﺎﻣﻲ‬‫ﻓﻀﺎﻫﺎي‬‫ﺣﺎﻟﺖ‬‫اﺟﺘﻨﺎب‬‫ﻛﻨﺪ‬ N. Razavi - AI course - 2007 64
  • 17. ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫ﻋﺎﻣﻞ‬Online ‫ﺟﺴﺘﺠﻮي‬ ‫ﻫﺎي‬ ‫ﻋﺎﻣﻞ‬Online •‫ﻋﺎﻣﻞ‬‫ﻳﻚ‬‫ﻧﻘﺸﻪ‬‫از‬‫ﻣﺤﻴﻂ‬‫ﻧﮕﻬﺪاري‬‫ﻣﻲ‬‫ﻛﻨﺪ‬ ‫ﻘ‬‫ﺎ‬ ‫ا‬‫اﻛ‬ ‫ا‬‫ﮕﺎ‬ –‫ﻧﻘﺸﻪ‬‫ﺑﺮ‬‫اﺳﺎس‬‫ورودي‬‫ادراﻛﻲ‬‫ﺑﻬﻨﮕﺎم‬‫ﻣﻲ‬‫ﺷﻮد‬ –‫از‬‫اﻳﻦ‬‫ﻧﻘﺸﻪ‬‫ﺑﺮاي‬‫اﻧﺘﺨﺎب‬‫ﻋﻤﻞ‬‫ﺑﻌﺪي‬‫اﺳﺘﻔﺎده‬‫ﻣﻲ‬‫ﺷﻮد‬ ‫ز‬‫ﻳﻦ‬‫ي‬ ‫ﺑﺮ‬‫ب‬‫ﻞ‬‫ي‬ ‫ﺑ‬‫ﻲ‬‫ﻮ‬ •‫ﺑﻪ‬‫ﺗﻔﺎوت‬‫ﻣﺜﻼ‬‫ﺑﺎ‬A*‫دﻗﺖ‬‫ﻛﻨﻴﺪ‬ –‫ﻳﻚ‬‫ﻧﺴﺨﻪ‬online‫ﺗﻨﻬﺎ‬‫ﻣ‬‫ﺗﻮاﻧﺪ‬‫ﻫ‬ ‫ﮔ‬‫را‬‫ش‬ ‫ﮔﺴﺘ‬‫دﻫﺪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻃﻮر‬ ‫ﻳﻚ‬‫ﻧﺴﺨﻪ‬online‫ﺗﻨﻬﺎ‬‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﮔﺮﻫﻲ‬‫را‬‫ﮔﺴﺘﺮش‬‫دﻫﺪ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﻃﻮر‬ ‫ﻓﻴﺰﻳﻜﻲ‬‫در‬‫آن‬‫ﻗﺮار‬‫داﺷﺘﻪ‬‫ﺑﺎﺷﺪ‬ N. Razavi - AI course - 2007 65 Online DFS-Agent function ONLINE-DFS-AGENT(s’) returns an action input: s’, a percept identifying current state t ti lt t bl i d d b ti d t t i iti ll tstatic: result, a table indexed by action and state, initially empty unexplored, a table that lists for each visited state, the action not yet tried unbacktracked, a table that lists for each visited state, the backtrack not yet tried s,a, the previous state and action, initially null if GOAL TEST(s’) then return stopif GOAL-TEST(s ) then return stop if s’ is a new state then unexplored[s’] ← ACTIONS(s’) if s is not null then do result[a,s] ← s’ add s to the front of unbackedtracked[s’] if unexplored[s’] is empty thenif unexplored[s ] is empty then if unbacktracked[s’] is empty then return stop else a ← an action b such that result[b, s’]=POP(unbacktracked[s’]) else a ← POP(unexplored[s’]) s ← s’ return a N. Razavi - AI course - 2007 66 ‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ، •‫ﻣﺴﺎﻟﻪ‬‫ﻣﺴﻴﺮ‬‫ﭘﺮ‬‫ﭘﻴﭻ‬‫و‬‫ﺧﻢ‬‫ﺑﺮ‬‫روي‬‫ﻳﻚ‬ ‫ﻪ‬ ‫ﻔ‬3*3 ‫ﺻﻔﺤﻪ‬3*3 •‫ﺣﺎﻟﺖ‬‫اوﻟﻴﻪ‬:s’=(1, 1) ‫ﺖ‬‫ﻴ‬ ‫و‬:s ( , ) •Result‫و‬Unexplored(UX)‫و‬ Unbacktracked(UB)‫و‬... ‫ﺗﻬ‬‫ﺘﻨﺪ‬ ‫ﻫ‬ ‫ﺗﻬﻲ‬‫ﻫﺴﺘﻨﺪ‬ •S‫و‬a‫ﻧﻴﺰ‬‫ﺗﻬﻲ‬‫ﻫﺴﺘﻨﺪ‬ ‫و‬‫ﻴﺰ‬‫ﻬﻲ‬ N. Razavi - AI course - 2007 67 ‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ، • GOAL-TEST((1, 1))? – S not = G thus false (1 1) t t ?• (1,1) a new state? – True – ACTION((1,1)) -> UX[(1,1)]ACTION((1,1)) UX[(1,1)] • {RIGHT,UP} • s is null? – True (initially) • UX[(1,1)] empty? F l– False • POP(UX[(1,1)]) -> a a = UP– a = UP • s = (1,1) • Return a N. Razavi - AI course - 2007 68 • Return a
  • 18. ‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ، S’ (1 1) • GOAL-TEST((1,1))? S’=(1,1) (( , )) – S not = G thus false • (1,1) a new state? – false • s is null? f l ( (2 1))– false (s = (2, 1)) – result [DOWN, (2, 1)] <- (1,1) – UB[(1,1)] = {(2,1)}UB[(1,1)] {(2,1)} • UX[(1,1)] empty? – False • a = RIGHT, s = (1,1) • return a N. Razavi - AI course - 2007 69 ‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ، S’ (1 2) • GOAL-TEST((1,2))? S’=(1,2) (( , )) – S not = G thus false • (1,2) a new state? – True, UX[(1,2)]={RIGHT,UP,LEFT} • s is null?s is null? – false (s = (1,1)) – result [RIGHT, (1,1)] <- (1, 2) – UB[(1,2)] = {(1,1)} • UX[(1, 2)] empty? – False • a = LEFT, s =(1, 2) N. Razavi - AI course - 2007 70 • return a ‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ، S’ (1 1) • GOAL-TEST((1, 1))? S’=(1,1) – S not = G thus false • (1, 1) a new state? – falsefalse • s is null? – false (s = (1, 2)) lt [LEFT (1 2)] (1 1)– result [LEFT, (1, 2)] <- (1, 1) – UB[(1, 1)]={(1, 2), (2, 1)} • UX[(1, 1)] empty?[( , )] p y – True – UB[(1, 1)] empty? False • a = b for b in result [b (1 1)] = (1 2)• a = b for b in result [b, (1,1)] = (1, 2) – b = RIGHT • a = RIGHT, s = (1, 1) … N. Razavi - AI course - 2007 71 , ( , ) ‫ﻋﻤﻘ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ‫ﻋﻤﻘﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online‫ﻣﺜﺎل‬ ، •‫ﺑﺪﺗﺮﻳﻦ‬‫ﺣﺎﻟﺖ‬:‫ﻫﺮ‬‫ﮔﺮه‬‫دو‬‫ﺑﺎر‬‫ﻣﻼﻗﺎت‬‫ﺷﺪه‬‫اﺳﺖ‬ ‫ﻚ‬‫ﻜ‬‫ﻟ‬‫ﻛ‬‫ﻚ‬‫ﻚ‬ •‫ﻳﻚ‬‫ﻋﺎﻣﻞ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬‫در‬‫ﺣﺎﻟﻲ‬‫ﻛﻪ‬‫ﺑﻪ‬‫ﭘﺎﺳﺦ‬‫ﻧﺰدﻳﻚ‬،‫اﺳﺖ‬‫ﻳﻚ‬ ‫راه‬‫ﻃﻮﻻﻧﻲ‬‫را‬‫ﺑﭙﻴﻤﺎﻳﺪ‬ ‫ر‬‫ﻲ‬ ‫ﻮ‬‫ر‬‫ﻳ‬ ‫ﺑﭙﻴ‬ •‫ﻳﻚ‬‫روش‬‫ﻋﻤﻴﻖ‬‫ﻛﻨﻨﺪه‬‫ﺗﻜﺮاي‬online‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫اﻳﻦ‬‫ﻣﺸﻜﻞ‬‫را‬ ‫ﺣﻞ‬‫ﻛﻨﺪ‬ •‫ي‬ ‫ﺘ‬‫ﻘ‬online‫ﻓﻘﻂ‬‫ﻗﺘ‬‫ﻛﺎ‬‫ﻛﻨﺪ‬‫ﻛﻪ‬‫ﺎل‬ ‫ا‬‫ﻞ‬‫ﻗﺎ‬ •‫ﺟﺴﺘﺠﻮي‬‫ﻋﻤﻘﻲ‬online‫ﻓﻘﻂ‬‫وﻗﺘﻲ‬‫ﻛﺎر‬‫ﻣﻲ‬‫ﻛﻨﺪ‬‫ﻛﻪ‬‫اﻋﻤﺎل‬‫ﻗﺎﺑﻞ‬ ‫ﺑﺮﮔﺸﺖ‬‫ﺑﺎﺷﻨﺪ‬ N. Razavi - AI course - 2007 72
  • 19. ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online •‫ﺗﭙﻪ‬‫ﻧﻮردي‬online‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬ –‫ﻳﻚ‬‫ﺣﺎﻟﺖ‬‫ذﺧﻴﺮه‬‫ﺷﺪه‬‫اﺳﺖ‬ •‫ﻋﻤﻠﻜﺮد‬‫ﺑﺪ‬‫ﺑﻪ‬‫دﻟﻴﻞ‬‫وﺟﻮد‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻫﺎي‬‫ﻣﺤﻠﻲ‬ ‫ﻋﻤﻠﻜﺮد‬‫ﺑﺪ‬‫ﺑﻪ‬‫دﻟﻴﻞ‬‫وﺟﻮد‬‫ﻣﺎﻛﺰﻳﻤﻢ‬‫ﻫﺎي‬‫ﻣﺤﻠﻲ‬ –‫ﺷﺮوع‬‫ﻣﺠﺪد‬‫ﺗﺼﺎدﻓﻲ‬‫ﻏﻴﺮ‬‫ﻣﻤﻜﻦ‬‫اﺳﺖ‬ ‫ﻛ‬‫ﻛ‬)‫ﻻ‬ •‫راه‬‫ﺣﻞ‬:‫ﺣﺮﻛﺖ‬‫ﺗﺼﺎدﻓﻲ‬‫ﺑﺎﻋﺚ‬‫ﻛﺎوش‬‫ﻣﻲ‬‫ﺷﻮد‬)‫ﻣﻲ‬‫ﺗﻮاﻧﺪ‬‫ﺣﺎﻻت‬‫ﺑﺴﻴﺎري‬ ‫را‬‫ﺑﻪ‬‫ﺻﻮرت‬‫ﻧﻤﺎﻳﻲ‬‫ﺗﻮﻟﻴﺪ‬‫ﻛﻨﺪ‬( ‫ﻲ‬ N. Razavi - AI course - 2007 73 ‫ﻣﺤﻠ‬ ‫ﺟﺴﺘﺠﻮي‬online ‫ﻣﺤﻠﻲ‬ ‫ﺟﺴﺘﺠﻮي‬online •‫راه‬‫ﺣﻞ‬2:‫اﺿﺎﻓﻪ‬‫ﻧﻤﻮدن‬‫ﺣﺎﻓﻈﻪ‬‫ﺑﻪ‬‫ﺗﭙﻪ‬‫ﻧﻮرد‬ ( ) •‫ذﺧﻴﺮه‬‫ﺑﻬﺘﺮﻳﻦ‬‫ﺗﺨﻤﻴﻦ‬‫ﻓﻌﻠﻲ‬H(s)‫از‬‫ﻫﺰﻳﻨﻪ‬‫رﺳﻴﺪن‬‫ﺑﻪ‬‫ﻫﺪف‬ •H(s)‫در‬‫اﺑﺘﺪا‬‫ﻦ‬ ‫ﺗﺨ‬‫ﻚ‬ ‫ﺘ‬ ‫رﻳ‬ ‫ﻫ‬h(s)‫ﻣ‬‫ﺑﺎﺷﺪ‬ •H(s)‫در‬‫اﺑﺘﺪا‬‫ﺗﺨﻤﻴﻦ‬‫ﻫﻴﻮرﻳﺴﺘﻴﻚ‬h(s)‫ﻣﻲ‬‫ﺑﺎﺷﺪ‬ •‫ﭘﺲ‬‫از‬‫آن‬‫ﺑﺮ‬‫اﺳﺎس‬‫ﺗﺠﺮﺑﻪ‬‫ﺑﻬﻨﮕﺎم‬‫ﻣﻲ‬‫ﺷﻮد‬)‫ﺷﻜﻞ‬‫ﭘﺎﻳﻴﻦ‬( ‫م‬‫ﻞ‬ N. Razavi - AI course - 2007 74 Learning real-time A* function LRTA*-COST (s, a, s’,H) return an cost estimate if s’ is undefined the return h(s)if s is undefined the return h(s) else return c(s, a, s’) + H[s’] function LRTA* AGENT (s’) return an actionfunction LRTA*-AGENT (s ) return an action input: s’, a percept identifying current state static: result, a table indexed by action and state, initially empty H t bl f t ti t i d d b t t i iti ll tH, a table of cost estimates indexed by state, initially empty s,a, the previous state and action, initially null if GOA T S ( ’)if GOAL-TEST (s’) then return stop if s’ is a new state (not in H) then H[s’] ← h(s’) unless s is null result[a,s] ← s’ H[s] ← MIN LRTA*-COST (s, b, result [b, s], H) b ∈ ACTIONS (s) a ← an action b in ACTIONS (s’) that minimizes LRTA*-COST (s’, b, result [b, s’], H) s ← s’ return a N. Razavi - AI course - 2007 75 etu a