Transcript اینجا

‫هوش مصنوعي‬
‫فصل چهارم‬
‫جست و جوي آگاهانه و اکتشاف‬
‫‪1‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫متدهاي جستجوي آگاهانه‬
‫‪‬بهترين جستجو‬
‫‪‬حريصانه‬
‫‪A*‬‬
‫‪IDA*‬‬
‫‪RBFS‬‬
‫‪SMA*‬‬
‫‪2‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫تعاريف‬
‫‪‬تابع هزينه مسير‪ : g(n) ،‬هزينه مسير از گره اوليه تا گره ‪n‬‬
‫‪‬تابع اکتشافي‪ : h(n) ،‬هزينه تخميني ارزان ترين مسير از گره ‪ n‬به گره هدف‬
‫‪‬تابع بهترين مسير‪ : h*(n) ،‬ارزان ترين مسير از گره ‪ n‬تا گره هدف‬
‫‪‬تابع ارزيابي‪ : f(n) ،‬هزينه تخميني ارزان ترين مسير از طريق ‪n‬‬
‫)‪f(n): g(n) + h(n‬‬
‫‪ : f*(n)‬هزينه ارزان ترين مسير از طريق‪f*(n): g(n) + h*(n) n‬‬
‫‪3‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي حريصانه‬
‫‪A‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪B‬‬
‫‪C‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪G‬‬
‫‪3‬‬
‫‪3‬‬
‫‪3‬‬
‫‪Z‬‬
‫‪4‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪O‬‬
‫‪2‬‬
‫‪Y‬‬
‫‪2‬‬
‫‪3‬‬
‫‪2‬‬
‫‪2‬‬
‫‪N‬‬
‫‪M‬‬
‫‪1‬‬
‫‪X‬‬
‫‪0‬‬
‫‪F‬‬
‫‪L 3‬‬
‫‪K‬‬
‫‪2‬‬
‫‪1‬‬
‫‪W‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪V‬‬
‫‪2‬‬
‫‪3‬‬
‫‪U‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪E‬‬
‫‪1‬‬
‫‪5‬‬
‫‪3‬‬
‫‪3‬‬
‫‪D‬‬
‫‪1‬‬
‫‪1‬‬
‫‪I 3‬‬
‫‪3‬‬
‫‪2‬‬
‫‪3‬‬
‫‪2‬‬
‫‪T‬‬
‫‪S‬‬
‫‪2‬‬
‫‪R‬‬
‫‪2‬‬
‫‪Q‬‬
‫‪1‬‬
‫‪J‬‬
‫‪0‬‬
‫‪1‬‬
‫‪H‬‬
‫‪2‬‬
‫‪3‬‬
‫‪P‬‬
‫‪3‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي حريصانه‬
‫‪A‬‬
‫‪2‬‬
‫‪2‬‬
‫‪3‬‬
‫‪1‬‬
‫‪C‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2 3‬‬
‫‪‬‬
‫‪3‬‬
‫‪3‬‬
‫‪O‬‬
‫‪G‬‬
‫‪N‬‬
‫‪‬‬
‫‪5‬‬
‫‪4‬‬
‫‪‬‬
‫‪5‬‬
‫‪3‬‬
‫‪F‬‬
‫‪1‬‬
‫‪1‬‬
‫‪B‬‬
‫‪1‬‬
‫‪X‬‬
‫‪0‬‬
‫‪2‬‬
‫‪3‬‬
‫‪E‬‬
‫‪1‬‬
‫‪‬‬
‫‪1‬‬
‫‪1‬‬
‫‪5‬‬
‫‪D‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي حريصانه‬
‫‪A‬‬
‫‪1‬‬
‫‪4‬‬
‫‪2‬‬
‫‪B‬‬
‫‪C‬‬
‫‪1‬‬
‫‪1‬‬
‫‪3‬‬
‫‪G‬‬
‫‪3‬‬
‫‪3‬‬
‫‪3‬‬
‫‪Z‬‬
‫‪6‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪O‬‬
‫‪2‬‬
‫‪Y‬‬
‫‪2‬‬
‫‪3‬‬
‫‪2‬‬
‫‪2‬‬
‫‪N‬‬
‫‪M‬‬
‫‪1‬‬
‫‪X‬‬
‫‪0‬‬
‫‪F‬‬
‫‪L 3‬‬
‫‪K‬‬
‫‪2‬‬
‫‪1‬‬
‫‪W‬‬
‫‪1‬‬
‫‪1‬‬
‫‪3‬‬
‫‪V‬‬
‫‪2‬‬
‫‪3‬‬
‫‪U‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪E‬‬
‫‪1‬‬
‫‪5‬‬
‫‪3‬‬
‫‪3‬‬
‫‪D‬‬
‫‪1‬‬
‫‪1‬‬
‫‪I 3‬‬
‫‪3‬‬
‫‪2‬‬
‫‪3‬‬
‫‪2‬‬
‫‪T‬‬
‫‪S‬‬
‫‪2‬‬
‫‪R‬‬
‫‪2‬‬
‫‪Q‬‬
‫‪1‬‬
‫‪J‬‬
‫‪0‬‬
‫‪1‬‬
‫‪H‬‬
‫‪2‬‬
‫‪3‬‬
‫‪P‬‬
‫‪3‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي حريصانه‬
‫‪A‬‬
‫‪1‬‬
‫‪4‬‬
‫‪2‬‬
‫‪1‬‬
‫‪1 B‬‬
‫‪C‬‬
‫‪2‬‬
‫‪‬‬
‫‪3‬‬
‫‪‬‬
‫‪0‬‬
‫‪7‬‬
‫‪K‬‬
‫‪1‬‬
‫‪1‬‬
‫‪3‬‬
‫‪1‬‬
‫‪E‬‬
‫‪5‬‬
‫‪D‬‬
‫‪3‬‬
‫‪J‬‬
‫‪1‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي حريصانه‬
‫‪‬کامل بودن‪ :‬خير‬
‫جستجو کامل ميشود‬
‫‪‬اما اگر *‪ h = h‬آنگاه ) ‪O(b‬‬
‫‪m‬‬
‫‪‬بهينگي‪ :‬خير‬
‫‪‬اما اگر *‪ h = h‬آنگاه جستجو بهينه ميشود‬
‫‪‬پيچيدگي زماني‪:‬‬
‫) ‪O(bm‬‬
‫‪‬اما اگر *‪ h = h‬آنگاه ) ‪O(bd‬‬
‫‪‬پيچيدگي فضا‪:‬‬
‫) ‪O(bm‬‬
‫‪‬اما اگر *‪ h = h‬آنگاه ) ‪O(bd‬‬
‫‪8‬‬
‫جست و جوي آگاهانه و اکتشاف‬
A* ‫جستجوي‬
A/5
2
1
B/4
1
C/4
1
1
D/5
1
H/2
3
P/3
E/1
3
3
2
3
Q/1
R/2
2
S/2
F/3
3
J/1
I/3
1
K/0
3
T/1
1
L/3
3
U/1
G/2
2
M/2
2
1
V/2
W/1
1
N/1
1
X/0
3
O/3
2
Y/2
3
Z/1
9
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪A‬‬
‫‪A/5‬‬
‫‪1‬‬
‫‪5 1‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫‪3‬‬
‫‪G/2‬‬
‫‪5‬‬
‫‪F/3‬‬
‫‪1‬‬
‫‪N/1 4‬‬
‫‪1‬‬
‫‪X/0‬‬
‫‪10‬‬
‫‪B/4‬‬
‫‪1‬‬
‫‪3‬‬
‫‪O/3‬‬
‫‪6‬‬
‫‪C/4‬‬
‫‪1‬‬
‫‪42‬‬
‫‪2‬‬
‫‪4‬‬
‫جست و جوي آگاهانه و اکتشاف‬
A* ‫جستجوي‬
A/5
2
1
B/1
1
C/4
1
1
D/5
1
H/2
3
P/3
E/1
3
3
2
3
Q/1
R/2
2
S/2
F/3
3
J/1
I/3
1
K/0
3
T/1
1
L/3
3
U/1
G/2
2
M/2
2
1
V/2
W/1
1
N/1
1
X/0
3
O/3
2
Y/2
3
Z/1
11
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪A‬‬
‫‪A/5‬‬
‫‪1‬‬
‫‪5 3‬‬
‫‪‬‬
‫‪‬‬
‫‪8‬‬
‫‪3‬‬
‫‪1‬‬
‫‪5‬‬
‫‪F/3‬‬
‫‪G/2‬‬
‫‪1‬‬
‫‪2‬‬
‫‪4‬‬
‫‪‬‬
‫‪3‬‬
‫‪O/3‬‬
‫‪N/1 4‬‬
‫‪X/0‬‬
‫‪4‬‬
‫‪1‬‬
‫‪1‬‬
‫‪8‬‬
‫‪D/5‬‬
‫‪E/1‬‬
‫‪3‬‬
‫‪5‬‬
‫‪1‬‬
‫‪12‬‬
‫‪3 B/1‬‬
‫‪C/4‬‬
‫‪1‬‬
‫‪44‬‬
‫‪2‬‬
‫‪1‬‬
‫‪K/0 6‬‬
‫‪J/1‬‬
‫‪7‬‬
‫جست و جوي آگاهانه و اکتشاف‬
A* ‫جستجوي‬
A/5
2
1
B/1
1
C/9
1
1
D/5
1
H/2
3
P/3
E/1
3
3
2
3
Q/1
R/2
2
S/2
F/3
3
J/1
I/3
1
K/0
3
T/1
1
L/3
3
U/1
G/2
2
M/2
2
1
V/2
W/1
1
N/1
1
X/0
3
O/3
2
Y/2
3
Z/1
13
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪A‬‬
‫‪A/5‬‬
‫‪1‬‬
‫‪10‬‬
‫‪2‬‬
‫‪ B/1‬‬
‫‪3‬‬
‫‪C/9‬‬
‫‪2‬‬
‫‪4‬‬
‫‪‬‬
‫‪3‬‬
‫‪‬‬
‫‪K/0‬‬
‫‪6‬‬
‫‪14‬‬
‫‪1‬‬
‫‪1‬‬
‫‪8‬‬
‫‪E/1‬‬
‫‪3‬‬
‫‪1‬‬
‫‪D/5‬‬
‫‪3‬‬
‫‪J/1‬‬
‫‪7‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪A‬‬
‫‪‬کامل بودن‪ :‬بله‬
‫‪‬بهينگي‪ :‬بله‬
‫‪‬پيچيدگي زماني‪:‬‬
‫) ‪O(bm‬‬
‫‪‬اما اگر *‪ h = h‬آنگاه‬
‫) ‪O(bd‬‬
‫‪‬پيچيدگي فضا‪:‬‬
‫) ‪O(bm‬‬
‫‪‬اما اگر *‪ h = h‬آنگاه ) ‪O(bd‬‬
‫‪15‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪A‬‬
‫‪A‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪C 4‬‬
‫‪3 B‬‬
‫‪1‬‬
‫‪E 1‬‬
‫‪2 D‬‬
‫‪E 1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪A‬‬
‫‪G‬‬
‫‪1 F‬‬
‫‪C 2‬‬
‫‪1 B‬‬
‫‪1‬‬
‫‪1 D‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪G‬‬
‫‪1‬‬
‫*‪h ≤/ h‬‬
‫‪16‬‬
‫‪1‬‬
‫‪1 F‬‬
‫‪1‬‬
‫‪0 H‬‬
‫‪0 H‬‬
‫*‪h ≤ h‬‬
‫جست و جوي آگاهانه و اکتشاف‬
A* ‫جستجوي‬
A
1
1
1
1
3
1
1
C 2
B
1
2
A
D
1
F
5
E
6

2
1
1
3
0
1
B
1
2
1
G
3
4
1
1
1
D
1
F

h ≤ h*
C 4
1
E 1
1
G
0
1
4
0 H
0 H
1
h ≤/ h*
17
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪ A‬و اجتناب از گره هاي تکراري‬
‫‪A/100‬‬
‫‪10‬‬
‫‪D/90‬‬
‫‪I/87‬‬
‫‪V/83‬‬
‫‪C/95‬‬
‫‪M/75‬‬
‫‪U/81‬‬
‫‪P/79‬‬
‫‪T/60‬‬
‫‪O/78‬‬
‫‪X/58‬‬
‫‪G/90‬‬
‫‪W/52‬‬
‫‪Z/50‬‬
‫هزينه هر مرحله ‪ 10‬ميباشد‬
‫‪18‬‬
‫‪B/80‬‬
‫‪R/20‬‬
‫‪L/80‬‬
‫‪F/78‬‬
‫‪K/85‬‬
‫‪N/72‬‬
‫‪Y/47‬‬
‫‪Q/0‬‬
‫‪E/86‬‬
‫‪T/60‬‬
‫‪X/58‬‬
‫‪Z/50‬‬
‫‪M/75‬‬
‫‪S/70‬‬
‫‪W/52‬‬
‫‪Y/47‬‬
‫‪P/79‬‬
‫‪O/78‬‬
‫‪J/82‬‬
‫‪H/80‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪ A‬و اجتناب از گره هاي تکراري‬
‫‪A/100‬‬
‫‪8‬‬
‫‪C/95 ‬‬
‫‪3‬‬
‫‪‬‬
‫‪100 D/90‬‬
‫‪105‬‬
‫‪90‬‬
‫‪I/87 107‬‬
‫‪M/75‬‬
‫‪T/60 80‬‬
‫‪‬‬
‫‪F/78 98‬‬
‫‪G/90 110‬‬
‫‪5‬‬
‫‪P/79‬‬
‫‪O/78‬‬
‫‪109‬‬
‫‪108‬‬
‫‪88 X/58‬‬
‫‪‬‬
‫‪N/72 102‬‬
‫‪82 W/52‬‬
‫‪6‬‬
‫‪‬‬
‫‪T/60 100‬‬
‫‪9‬‬
‫‪‬‬
‫‪87 Y/47‬‬
‫‪Z/50 90‬‬
‫‪S/70 110‬‬
‫‪7‬‬
‫‪19‬‬
‫‪ B/80‬‬
‫‪2‬‬
‫‪4‬‬
‫‪‬‬
‫‪95‬‬
‫‪1‬‬
‫‪R/20‬‬
‫‪Q/0‬‬
‫‪70‬‬
‫‪50‬‬
‫‪10‬‬
‫‪‬‬
‫‪X/58 108‬‬
‫‪Z/50 110‬‬
‫‪‬‬
‫‪102 W/52‬‬
‫‪107 Y/47‬‬
‫‪‬‬
‫‪M/75 105‬‬
‫‪106 E/86‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫مثال ديگر از جستجوي *‪A‬‬
‫)‪f(n)=g(n) + h(n‬‬
‫‪20‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪ A‬در نقشه روماني‬
‫جستجوي ‪ Bucharest‬با شروع از ‪Arad‬‬
‫‪f(Arad) = g(Arad)+h(Arad)=0+366=366‬‬
‫‪21‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪ A‬در نقشه روماني‬
‫ََ‪ Arad‬را باز کرده و )‪ f(n‬را براي هر يک از زيربرگها محاسبه ميکنيم‪:‬‬
‫‪f(Sibiu)=c(Arad,Sibiu)+h(Sibiu)=140+253=393‬‬
‫‪f(Timisoara)=c(Arad,Timisoara)+h(Timisoara)=118+329=447‬‬
‫‪f(Zerind)=c(Arad,Zerind)+h(Zerind)=75+374=449‬‬
‫بهترين انتخاب شهر ‪ Sibiu‬است‬
‫‪22‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫ در نقشه روماني‬A* ‫جستجوي‬
:‫ را براي هر يک از زيربرگها محاسبه ميکنيم‬f(n) ‫ را باز کرده و‬Sibiuََ
f(Arad)=c(Sibiu,Arad)+h(Arad)=280+366=646
f(Fagaras)=c(Sibiu,Fagaras)+h(Fagaras)=239+179=415
f(Oradea)=c(Sibiu,Oradea)+h(Oradea)=291+380=671
f(Rimnicu Vilcea)=c(Sibiu,Rimnicu Vilcea)+ h(Rimnicu Vilcea)=220+192=413
‫ است‬Rimnicu Vilcea ‫بهترين انتخاب شهر‬
23
‫جست و جوي آگاهانه و اکتشاف‬
‫ در نقشه روماني‬A* ‫جستجوي‬
:‫ را براي هر يک از زيربرگها محاسبه ميکنيم‬f(n) ‫ را باز کرده و‬Rimnicu Vilceaََ
f(Craiova)=c(Rimnicu Vilcea, Craiova)+h(Craiova)=360+160=526
f(Pitesti)=c(Rimnicu Vilcea, Pitesti)+h(Pitesti)=317+100=417
f(Sibiu)=c(Rimnicu Vilcea,Sibiu)+h(Sibiu)=300+253=553
‫ است‬Fagaras ‫بهترين انتخاب شهر‬
24
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪ A‬در نقشه روماني‬
‫ََ ‪ Fagaras‬را باز کرده و )‪ f(n‬را براي هر يک از زيربرگها محاسبه ميکنيم‪:‬‬
‫‪f(Sibiu)=c(Fagaras, Sibiu)+h(Sibiu)=338+253=591‬‬
‫‪f(Bucharest)=c(Fagaras,Bucharest)+h(Bucharest)=450+0=450‬‬
‫‪25‬‬
‫بهترين انتخاب شهر !!! ‪ Pitesti‬است‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪ A‬در نقشه روماني‬
‫ََ ‪ Pitesti‬را باز کرده و )‪ f(n‬را براي هر يک از زيربرگها محاسبه ميکنيم‪:‬‬
‫‪f(Bucharest)=c(Pitesti,Bucharest)+h(Bucharest)=418+0=418‬‬
‫‪26‬‬
‫بهترين انتخاب شهر !!! ‪ Bucharest‬است‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي *‪ A‬در نقشه روماني‬
‫‪27‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪C/1‬‬
‫‪2‬‬
‫‪G/1‬‬
‫‪1‬‬
‫‪H/0‬‬
‫‪1‬‬
‫‪J/1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪4‬‬
‫‪2‬‬
‫‪1‬‬
‫‪B/5‬‬
‫‪F/2‬‬
‫‪3‬‬
‫‪28‬‬
‫‪A/6‬‬
‫‪E/2‬‬
‫‪D/1‬‬
‫‪1‬‬
‫‪4‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪1‬‬
‫‪‬‬
‫‪5‬‬
‫‪C/1‬‬
‫‪4‬‬
‫‪A/6‬‬
‫‪1‬‬
‫‪B/5‬‬
‫‪6‬‬
‫‪29‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪1‬‬
‫‪‬‬
‫‪2‬‬
‫‪7‬‬
‫‪5‬‬
‫‪C/1‬‬
‫‪4‬‬
‫‪G/1‬‬
‫‪1‬‬
‫‪A/6‬‬
‫‪D/1‬‬
‫‪62‬‬
‫‪1‬‬
‫‪‬‬
‫‪B/5‬‬
‫‪6‬‬
‫‪30‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪1‬‬
‫‪‬‬
‫‪2‬‬
‫‪7‬‬
‫‪5‬‬
‫‪C/1‬‬
‫‪4‬‬
‫‪G/1‬‬
‫‪1‬‬
‫‪7‬‬
‫‪J/1‬‬
‫‪1‬‬
‫‪A/6‬‬
‫‪D/1‬‬
‫‪62‬‬
‫‪1‬‬
‫‪‬‬
‫‪B/5‬‬
‫‪63‬‬
‫‪‬‬
‫‪31‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪1‬‬
‫‪‬‬
‫‪5‬‬
‫‪C/1‬‬
‫‪2‬‬
‫‪7‬‬
‫‪4‬‬
‫‪G/1‬‬
‫‪1‬‬
‫‪7‬‬
‫‪J/1‬‬
‫‪1‬‬
‫‪F/2‬‬
‫‪6‬‬
‫‪32‬‬
‫‪A/6‬‬
‫‪4 E/2‬‬
‫‪4‬‬
‫‪D/1‬‬
‫‪62‬‬
‫‪‬‬
‫‪‬‬
‫‪4‬‬
‫‪1‬‬
‫‪1‬‬
‫‪B/5‬‬
‫‪3‬‬
‫‪63‬‬
‫‪‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪1‬‬
‫‪4‬‬
‫‪C/1‬‬
‫‪2‬‬
‫‪7 6‬‬
‫‪G/1‬‬
‫‪J/1‬‬
‫‪6‬‬
‫‪5‬‬
‫‪‬‬
‫‪33‬‬
‫‪‬‬
‫‪‬‬
‫‪F/2‬‬
‫‪5 6‬‬
‫‪A/6‬‬
‫‪4 E/2‬‬
‫‪4‬‬
‫‪D/1‬‬
‫‪62‬‬
‫‪1‬‬
‫‪4‬‬
‫‪1‬‬
‫‪1‬‬
‫‪7‬‬
‫‪5‬‬
‫‪4‬‬
‫‪1‬‬
‫‪1‬‬
‫‪B/5‬‬
‫‪3‬‬
‫‪63‬‬
‫‪‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪1‬‬
‫‪4‬‬
‫‪C/1‬‬
‫‪2‬‬
‫‪7 6‬‬
‫‪G/1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪5‬‬
‫‪6‬‬
‫‪‬‬
‫‪J/1‬‬
‫‪6‬‬
‫‪2‬‬
‫‪F/2‬‬
‫‪5 6‬‬
‫‪‬‬
‫‪34‬‬
‫‪4 E/2‬‬
‫‪4‬‬
‫‪D/1‬‬
‫‪2‬‬
‫‪1‬‬
‫‪A/6‬‬
‫‪‬‬
‫‪‬‬
‫‪1‬‬
‫‪1‬‬
‫‪B/5‬‬
‫‪3‬‬
‫‪63‬‬
‫‪‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي گراف با *‪A‬‬
‫‪1‬‬
‫‪4‬‬
‫‪C/1‬‬
‫‪2‬‬
‫‪6‬‬
‫‪G/1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪7‬‬
‫‪‬‬
‫‪H/0‬‬
‫‪6‬‬
‫‪5‬‬
‫‪6‬‬
‫‪‬‬
‫‪1‬‬
‫‪J/1‬‬
‫‪6‬‬
‫‪‬‬
‫‪‬‬
‫‪F/2‬‬
‫‪5 6‬‬
‫‪‬‬
‫‪35‬‬
‫‪4 E/2‬‬
‫‪4‬‬
‫‪D/1‬‬
‫‪2‬‬
‫‪1‬‬
‫‪A/6‬‬
‫‪1‬‬
‫‪1‬‬
‫‪B/5‬‬
‫‪3‬‬
‫‪63‬‬
‫‪‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫بهترين جستجوي بازگشتي ‪RBFS‬‬
‫‪‬ساااختار آن يااجيه جساات و جااوي گمتااي بازگشاابي اساات‪ ،‬امااا بااه جاااي اين ااه دا مااا بااه طاارف‬
‫پ ااايين مس ااير حرک اات کن ااد‪ ،‬مت اادار ‪ f‬مرب ااو ب ااه بهت اارين مس ااير از ه اار ج ااد گ ااره ف ااي را ن ه ااداري‬
‫مي نااد‪ ،‬اگاار گااره ف ااي از اياان حااد تجاااوز کنااد‪ ،‬بازگشاابي بااه گت ا برمي ااردد تااا مسااير دي ااري را‬
‫انتخاب کند‪.‬‬
‫‪‬اين جستجو اگر تابع اکتشافي قابل قبولي دايته بايد‪ ،‬بهينه است‪.‬‬
‫‪‬پيچيدگي فضايي آن )‪ O(bd‬است‬
‫‪‬ت يين پيچيدگي زماني آن به دقات تاابع اکتشاافي و مياتان ت ييار بهتارين مساير در اثار بساگ گاره‬
‫ها بستگي دارد‪.‬‬
‫‪36‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫بهترين جستجوي بازگشتي ‪RBFS‬‬
‫‪ RBFS‬تا حدي از *‪ IDA‬کارآمدتر است‪ ،‬اما گره هاي زيادي توليد مي ند‪.‬‬
‫‪ IDA* ‬و ‪ RBFS‬در م اارا اف ا ازايچ ت ااواني پيچيا اادگي قا ارار دارنا ااد ک ااه در جسا اات و جا ااوي‬
‫گرافها مرسوم است‪ ،‬زيرا نميتوانند حالتهاي ت اراري را در ييار از مساير ف اي برر ا ي کنناد‪ .‬لااا‪،‬‬
‫مم ن است يک حالت را چندين بار برر ي کنند‪.‬‬
‫‪ IDA* ‬و ‪ RBFS‬از فضاااي اناادکي اسااتناده مي ننااد کااه بااه آ هااا آسااي ميرساااند‪IDA* .‬‬
‫ب ااين ه اار ت ارار فت ااگ ي ااک گ اادد را ن ه ااداري مي ن ااد ک ااه ف ااي هزين ااه ‪ f‬اس اات‪ RBFS .‬اطالگ ااا‬
‫بيشتري در حافظه ن هداري مي ند‬
‫‪37‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫بهترين جستجوي بازگشتي در نقشه روماني‬
‫‪38‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫بهترين جستجوي بازگشتي در نقشه روماني‬
‫‪39‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫بهترين جستجوي بازگشتي در نقشه روماني‬
‫‪40‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي اکتشافي با حافظه محدود *‪IDA‬‬
‫‪‬ساااده تاارين راه باراي کاااهچ حافظااه مااورد نياااز *‪ A‬اسااتناده از گميااق کننااده ت ارار در زمينااه‬
‫جست و جوي اکتشافي است‪.‬‬
‫‪‬الگوريتم گميق کننده ت رار *‪A‬‬
‫*‪IDA‬‬
‫‪‬در جسا ااتجوي *‪ IDA‬متا اادار با اارد ما ااورد اسا ااتناده‪ ،‬گما ااق نيسا اات بل ا ااه هزينا ااه )‪f(g+h‬‬
‫است‪.‬‬
‫‪ IDA*‬براي ايل مسئله هاي با هزينه هااي مرحلاه اي‪ ،‬مناسا اسات و از ساربار نا ا ي از‬
‫ن هداري صف مرتبي از گره ها اجتناب مي ند‬
‫‪41‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي حافظه محدود ساده *‪SMA‬‬
‫‪ SMA*‬بهتاارين باارس را بسااگ ميدهااد تااا حافظااه پاار يااود‪ .‬در اياان نتبااه باادون از بااين ب اردن‬
‫گره هاي قب ي نميتواند گره جديدي اضافه کند‬
‫‪ SMA*‬هميشاه بادترين گاره بارس را حااف مي ناد و ساري از طرياق گاره فراماود ياده بااه‬
‫والد آن بر مي ردد‪ .‬پي جد زير درخت فراماود ياده‪ ،‬کينيات بهتارين مساير را در آن زيار درخات‬
‫ميداند‬
‫‪‬اگر گمق سبحي ترين گره هدف کمتر از حافظه بايد‪ ,‬کامل است‪.‬‬
‫‪ SMA* ‬بهترين الگوريتم همه منظوره براي يافتن حلهاي بهينه ميبايد‬
‫‪42‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫جستجوي حافظه محدود ساده *‪SMA‬‬
‫‪‬اگ اار مت اادار ‪ f‬تم ااام برگه ااا ي س ااان باي ااد و الگ ااوريتم ي ااک گ ااره را ه اام ب اراي بس ااگ و ه اام ب اراي‬
‫حاااف انتخاااب کنااد‪ SMA* ،‬اياان مساائله را بااا بسااگ بهتاارين باارس جديااد و حاااف بهتاارين ب ارس‬
‫قديمي حل مي ند‬
‫‪‬مم اان اساات *‪ SMA‬مجبااور يااود دا مااا بااين مجموگااه اي از مساايرهاي حاال کانديااد ت يياار‬
‫موضع دهد‪ ،‬در حالي که بخچ کوچکي از هر کدام در حافظه جا يود‬
‫‪‬محدوديتهاي حافظه مم ن است مسئله ها را از نظر زمان محاسباتي‪ ،‬يير قابل حل کند‪.‬‬
‫‪43‬‬
‫جستجوي حافظه محدود ساده *‪SMA‬‬
‫جستجوي حافظه محدود ساده *‪SMA‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫توابع اکتشافي‬
‫‪‬مثال براي معماي‪8‬‬
‫ميانگين هزينه حل تقريبا ‪ 22‬مرحله و فاکتور انشعاب در حدود ‪ 3‬است‪.‬‬
‫‪ِ ‬‬
‫‪‬جست و جوي جامع تا عمق ‪322  3.11010 : 22‬‬
‫‪‬با انتخاب يک تابع اکتشافي مناسب ميتوان مراحل جستجو را کاهش داد‬
‫‪46‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫دو روش اکتشافي متداول براي معماي‪8‬‬
‫تعداد مهره ها در مکانهاي نادرست‬
‫در حالت شروع‬
‫‪h1 ‬‬
‫‪h1  8‬‬
‫‪h1‬اکتش اااف اب اال ب ااو ي اس اات زي ارا ه اار مه ااره‬
‫کااه در جاااي نامناساااي ارار دارد حاادا ل يکبااار‬
‫بايد جابجا شود‬
‫‪47‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫دو روش اکتشافي متداول براي معماي‪8‬‬
‫مجموعه فواصل مهره ها از مو عيتهاي هدف آنها‬
‫در حالت شروع‬
‫‪h2 ‬‬
‫‪h2  3  1  2  2  2  3  3  2  18‬‬
‫چون مهره ها نميتوانند در امتداد قبر جاا باه جاا ياوند‪,‬‬
‫فاصااله اي کااه محاساابه مي ناايم مجمااوق فواصاال افتاي و‬
‫گم ا ااودي اس ا اات‪ .‬اي ا اان فاص ا االه را فاص ا االه بل ا ااو ش ا ااهر ي ا ااا‬
‫فاصله مانهاتان مينامند‪.‬‬
‫‪48‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫دو روش اکتشافي متداول براي معماي‪8‬‬
‫مجموعه فواصل کاشيها از مو عيتهاي هدف آنها‬
‫‪h2 ‬‬
‫‪ h2‬قابا اال قبا ااوه اسا اات‪ ،‬زي ا ارا ها اار جابجا ااايي کا ااه ميتوانا ااد‬
‫انجا ااام گيا اارد‪ ،‬با ااه انا اادازه يا ااک مرحلا ااه با ااه ها اادف نزديا ااک‬
‫ميشود‪.‬‬
‫هيچ کدام از اين برآوردها هزينه وا عي راه حل نيست‬
‫هزينه وا عي ‪ 36‬است‬
‫‪49‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫اثر د ت اکتشاف بر کارايي‬
‫‪‬فاکتور انش اب مؤثر *‪b‬‬
‫‪‬اگاار ت ااداد گااره هااايي کااه باراي يااک مساائله خااا توسااگ *‪ A‬توليااد ميشااود براباار بااا ‪ N‬و گمااق راه حاال‬
‫برابر با ‪ d‬بايد‪ ،‬آن گاه *‪ b‬فاکتور انشعابي است که درخات ي ناواخبي باه گماق ‪ d‬باياد داياته باياد تاا‬
‫حاوي ‪ N+1‬گره بايد‬
‫‪d‬‬
‫)*‪N  1  1 b * (b*)  ... (b‬‬
‫‪2‬‬
‫ً‬
‫‪‬فاکتور انش اب مؤثر م موال براي مسئله هاي سخت ثابت است‬
‫‪‬اناادازه گيراهاااي تجربااي *‪ b‬باار روي مجموگااه کااوچکي از مساائله هااا ميتوانااد راهنماااي بااوبي بااراي م يااد‬
‫بودن اکتشاف بايد‬
‫‪‬متدار *‪ b‬در اکتشافي با طراحي خوب‪ ،‬نزديک ‪ 1‬است‬
‫‪50‬‬
‫‪‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫اثر د ت اکتشاف بر کارايي‬
‫فاکتور انشعاب مؤثر‬
‫هزينه جست و جو‬
‫ميانگين گره هاي بسط يافته در جستجوي‪ IDS‬و *‪ A‬و فاکتور انشعاب مؤثر با است اده از‪ h1‬و ‪h2‬‬
‫‪51‬‬
‫جست و جوي آگاهانه و اکتشاف‬
‫اثر د ت اکتشاف بر کارايي‬
‫‪‬اگر براي هر گره ‪ n‬دايته باييم‪h2(n) >= h1(n) :‬‬
‫‪ h2‬بر ‪h1‬يال است‬
‫‪‬يال بودن مستتيما به کارايي ترجمه ميشود‬
‫‪‬ت داد گره هايي که با بکارگيري ‪ h2‬بسگ داده ميشود‪ ،‬هرگز بيچ از بکارگيري ‪ h1‬نيست‬
‫هميشه بهتر است از تابع اکتشافي با مقادير بزرگ است اده‬
‫کرد به شرطي که زمان محاسبه اکتشاف بيلي بزرگ‬
‫نباشد‬
‫‪52‬‬
‫هوش مصنوعي‬
‫‪Artificial Intelligence‬‬
‫فهرست‬
‫‪‬بازيها چيستند و چرا مطالعه ميشوند؟‬
‫‪‬الگوريتم ‪minimax‬‬
‫‪‬هرس آل ا‪-‬بتا‬
‫‪53‬‬
‫جستجوي خصمانه‬
‫بازي ها چيستند و چرا مبال ه ميشوند؟‬
‫‪‬بازاها حالبي از محيبهاي چند گام ي هستند‬
‫‪‬هر گامل نياز به در نظر گرفتن ساير گاملها و چگونگي تأثير آ ها داردر‬
‫‪‬محيبهاي رقاببي‪ ،‬که در آ ها اهداف گاملها با ي دي ر برخورد دارند‪ ،‬منجر به مسئله هاي‬
‫خصمانه ميشود که به گنوان بازي يناخته ميشوند‬
‫‪‬چرا مبال ه ميشوند؟‬
‫‪‬قابليتهاي هويمندي انسا ها را به کار مي يرند‬
‫‪‬حالت بازي را به راحبي ميتوان نمايچ داد و گاملها م موال به مجموگه کوچکي از ف اليتها محدود‬
‫هستند که نتايج آ ها با قوانين دقيتي ت ريف يده اند‬
‫‪54‬‬
‫جستجوي خصمانه‬
‫يک نمونه بازي‬
‫‪‬بازي دو ننره‪ Min :‬و ‪Max‬‬
‫بازي هايي را در نظر مي گيريم كه دو ننره اند و يكي را ‪MAX‬و دي ري را ‪MIN‬به دالي ي مي ناميم‬
‫ً‬
‫كه ب دا مشخص خواهد ‪MAX .‬ابتدا حركت مي كند‪ ،‬سري نوبت گوا يده تا بازي به پايان رسد‪ .‬در‬
‫يد‬
‫پايان بازي‪ ،‬به بازيكن برنده جايزه داده مي يود و جريمه ها به بازنده ت لق خواهد دايت‬
‫‪‬بازي به گنوان يک جستجو‪:‬‬
‫‪‬حالت اوليه‪ :‬موق يت صنحه و يناسه هاي قابل حرکت‬
‫‪‬تابع ماب د ‪:‬ليسبي از جنت (حركت‪ ،‬حالت) بر مي گرداند‪ ،‬و هر كدام يامل يك حركت مجاز و‬
‫حالت حاصل است‪.‬‬
‫‪‬آزمون هدف‪:‬پايان بازي چه موقع است؟كه مشخص مي كند كي بازي تمام مي يود‪ .‬حاالتي كه‬
‫بازي در آ ها تمام مي يود‪ ،‬حاال پاياني نام دارند‪.‬‬
‫‪‬تابع سودمندي‪ :‬ايل تابع هدف يا تابع امتياز مي نامند‪ ،‬كه متدار گددي براي حاال پاياني مي‬
‫ً‬
‫دهد‪ .‬در يبرنج خروجي برنده‪ ،‬مساوي با متادير ‪ +1‬يا ‪ -1‬يا صنر است‪ .‬اين فصل گمدتا به بازي‬
‫هاي جمع‪ -‬صنر مي پردازد‪.‬‬
‫‪55‬حالت اوليه و حرکا م تبر براي هر بازي ن‪ ،‬درخت بازي را براي آن بازي ايجاد مي ند‬
‫جستجوي خصمانه‬
‫بازي تيك‪-‬تاك‪-‬تو )‪(O-X‬‬
‫الگوريتم؛‬
‫‪‬با ا ا ا ااازيکن‪ :‬انتخ ا ا ا اااب بهتا ا ا ا اارين‬
‫حالت‬
‫‪‬حري ا ا ا ا ااف‪ :‬انتخ ا ا ا ا اااب بهت ا ا ا ا اارين‬
‫موق يا ا ا اات ب ا ا ا اراي خا ا ا ااودد يا ا ا ااا‬
‫بدترين وضعيت براي بازي ن‬
‫بازي ن‪ :‬ماکزيمم حالت‬
‫حريف‪ :‬مينيمم حالت‬
‫‪56‬‬
‫جستجوي خصمانه‬
‫جستجوي خصمانه‬
‫‪:‬‬
‫جستجوي خصمانه‬
‫الگوريتم ‪minimax‬‬
‫کامل بودن‪ :‬بله (اگر درخت محدود بايد)‬
‫بهينگي‪ :‬بله‬
‫‪59‬‬
‫پيچيدگي زماني‪:‬‬
‫) ‪O(b‬‬
‫پيچيدگي فضا‪:‬‬
‫)‪O(bm‬‬
‫‪m‬‬
‫جستجوي خصمانه‬
‫جستجوي خصمانه‬
‫هرس آلنا‪-‬بتا‬
‫در الگوريتم ‪:MaxMin‬‬
‫‪‬ت داد حالتهاي بازي که بايد برر ي يوند‪ ،‬بر حس ت داد حرکتها‪ ،‬تواني است‬
‫‪‬راه حل‪ :‬محاسبه تصميم الگوريتم‪ ،‬بدون ديدن همه گره ها امکانپاير است‬
‫هرس آلنا‪-‬بتا‪:‬‬
‫‪‬انش ابهايي که در تصميم هايي تأثير ندارند را حاف مي ند‬
‫‪‬ت داد گره هايي که بايد برر ي يوند به‬
‫‪61‬‬
‫) ‪O(b d/2‬‬
‫تتليل ميابد‬
‫جستجوي خصمانه‬
‫الگوريتم ‪minimax‬‬
‫‪62‬‬
‫جستجوي خصمانه‬
‫يک نمونه بازي‬
‫‪63‬‬
‫جستجوي خصمانه‬
‫يک نمونه بازي‬
‫‪64‬‬
‫جستجوي خصمانه‬
‫يک نمونه بازي‬
‫‪65‬‬
‫جستجوي خصمانه‬
‫يک نمونه بازي‬
‫‪66‬‬
‫جستجوي خصمانه‬
‫يک نمونه بازي‬
‫‪67‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫محدوده مقادير ممکن‬
‫]∞‪[-∞,+‬‬
‫]∞‪[-∞, +‬‬
‫‪68‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫]∞‪[-∞,+‬‬
‫]‪[-∞,3‬‬
‫‪69‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫]∞‪[-∞,+‬‬
‫]‪[-∞,3‬‬
‫‪70‬‬
‫جستجوي خصمانه‬
‫]∞‪[3,+‬‬
‫]‪[3,3‬‬
‫‪71‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫]∞‪[3,+‬‬
‫اين گره براي ‪ Max‬مناسب نيست‬
‫]‪[-∞,2‬‬
‫‪72‬‬
‫]‪[3,3‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫‪,‬‬
‫]‪[-∞,14‬‬
‫‪73‬‬
‫]‪[3,14‬‬
‫]‪[-∞,2‬‬
‫]‪[3,3‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫‪,‬‬
‫]‪[-∞,5‬‬
‫‪74‬‬
‫]‪[3,5‬‬
‫]‪[−∞,2‬‬
‫]‪[3,3‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫]‪[3,3‬‬
‫]‪[2,2‬‬
‫‪75‬‬
‫]‪[−∞,2‬‬
‫]‪[3,3‬‬
‫جستجوي خصمانه‬
‫مثاه‪ :‬هرس آلنا‪-‬بتا‬
‫]‪[3,3‬‬
‫]‪[2,2‬‬
‫‪76‬‬
‫]‪[-∞,2‬‬
‫]‪[3,3‬‬
‫جستجوي خصمانه‬
min
A
max
B
min
6
max
C
E
4
F
K
3
L
D
G
H
6
5
7
M
I
J
6
8
N
‫جستجوي خصمانه‬
min
A
max
[6,∞]
min
6
max
E
4
B
C
[-∞,4]
K
F
3
L
D
G
H
6
5
7
M
I
J
6
8
N
‫جستجوي خصمانه‬
min
[-∞,6]
max
6
min
6
max
E
4
[6,∞]
B
4
K
A
F
3
L
C
D
G
H
6
5
7
M
I
J
6
8
N
‫جستجوي خصمانه‬
min
[-∞,6]
max
6
min
6
max
E
4
B
6
4
K
A
F
3
L
[-∞,∞]
C
D
G
H [-∞,7]
6
5
7
M
I
J
6
8
N
‫جستجوي خصمانه‬
min
[-∞,6]
max
6
max
[7,∞]
6
min
E
4
B
6
4
K
A
F
3
L
C
D
G
H
6
5
7
M
I
7
J
6
8
N
‫جستجوي خصمانه‬
min
6
max
6
max
7
6
min
E
4
B
6
4
K
A
F
3
L
C
D
G
H
6
5
7
M
I
7
J
6
8
N
‫جستجوي خصمانه‬
‫هرس آلنا‪-‬بتا‬
‫‪‬گره ‪ n‬که هر جاي درخت ميتواند بايد‪ ،‬برر ي‬
‫ميشود‬
‫‪‬اگر بازي ن انتخاب بهتري دايته بايد‬
‫‪‬در گره والد ‪n‬‬
‫‪‬يا هر انتخاب بهتري تا کنون‬
‫‪ n‬هيچوقت در بازي واقعي قابل دسترس نخواهد‬
‫بود‬
‫‪‬در نتيجه ‪ n‬هرس ميشود‬
‫‪83‬‬