BÁO CÁO BÀI TẬP LỚN
TRÍ TUỆ NHÂN TẠO
GIẢNG VIÊN: PHẠM VĂN HẢI
Đề tài:
NGHIÊN CỨU VÀ CẶT ĐẶT
GIẢI THUẬT TÌM KIẾM MINMAX– CẮT TỈA ALPHA BETA VÀO GAME CỜ TƯỚNG
Nhóm 18:
1. Phạm Toàn Thắng 20102749
2. Nguyễn Viết Hiện 20101536
3. Nguyễn Đình Tài 20102117
4. Tô Đông Hoàng 20081074
5. Đỗ Đức Huy 20081125
6. Đỗ Văn Tùng 20102471
Nôi dung chính
!"#$
% &
1.1. Khái quát về giải thuật MiniMax
•
'( )* +& ,#-!./0123!45.6+7
•
892:!!;:< ,=+>#?!>!>:@!"#$@A
•
B C* 2#$!,=D@.6!!,#-!1!=23!42E,FG< H.#$!@IJK#$!,L26#"
,!=/tối đa hóa!4)/!M+,&N@!3E#$!,+&?&O#"!4!=/,;tổi thiểu hóa!4)
/!M#"PQ(=,I!4)/!MR
Minmax hoạt động như thế nào???
%
1.2. Cách xây dựng giải thuật MiniMax
•
PublicP:J@RS
if TUthen
22VP:JRW//Trả về giá trị thế cờ pos
else{
.JT>XYZXYXG[W
BP:JRW //Sinh ra mọi nước đi từ thế cờ pos
whileP!3D,#-! )#$!, R
{
:JTG\&!" $", W
T>P:J@>RW
ifP].JR.JTW
}
22.JW
}
}
^
•
Y&_J=2.O!M!(b(!_* +& ,&,)JdOJ=C#-E,!#
,`.&(b
d
a!\(J=,:,)b!<!M:Y&bT%U@dT%P!!!:J=#"c2:23!4!"R
OJ=C#-(%U
%
T^dUUUUP2N2_2#eCRf3$bT%U@dT^OJ=C#-JKg
%UFh(%U
^
TU%UUUUUP2NU2_CR
1.2. Đánh giá giải thuật MiniMax
d
•
GM9!( )!?&: 6 i.$!M!* +& @(
J=#-CJ(#-@:,I!I;g,)J!M!* +& BJjO
( )&!" (C,F?N,`,#-!#-Y&!_M9! ,=$!!
C,IJK!:D#"!4!!,<,`,#-!, .:&,#$!.N2JK,#-!\D(
,; k(!!#-!M!!C+!!:+&#&(:,h
2. 1. Khái quát về giải thuật AlphaBeta
l
•
intP@.@RS
if TTU
22V{ Tính giá trị thế cờ pos }
else{
.JT>XYZXYXG[W
BW{ Sinh ra mọi nước đi từ vị trí pos }
whileP!3D,#-! )#$!, RandP.Jm.Rdo
S
if.J]thennT.JW
!_#$!, W
nT>P>.@>@>RW
.o!_#$!, W
if].Jthen.JnTW
}
nT.JW
endW
endW
1.2. Cách xây dựng giải thuật AlphaBeta
p
1.2. Đánh giá và so sánh AlphaBeta với MiniMax
a)J
Gi_J=C
q
r=C r=Fg r=C r=Fg
%U %U
dUU %U ls s U
d%UUU %U p^ %
% ^dUUUU %U ss l pUU
^ U%UUUUU %U l%p p
d %UsdUUUUUU %U lsss l UUU
l dp%UUUUUUU %U sd%llU ^^d
p d^^dUUUUUUUU %U ^UUUU l pUUUU
s
Ví dụ về cắt tỉa
U
3. Xây dựng trò chơi Cờ tướng áp dụng thuật toán Minmax và AlphaBeta
•
VPRnt#4b!#-
•
#4b!* +& (
•
t#4b!uPR,&!"_<
a;,v,; w!M&!"2D+7,4@& =!IJ.&I+7#"@ <#!:#"@O
(:?N!+!,;,@#\2\!"@!!+&-!!!",;1!7@1MA
-
GN!\,4,#-!,c2,I(v!IOgDw(!=/g,#-!!",; !M,L!
-
t#4(JKD52L!!!"_!I!M.N O21,52L!!!"_!I!M,=
#4x:,I@ )&!"(4&!"+E!HI!3.N O4@2L!:4!y
#!I./,#-!(2L!:!M,=#44+7
3. Xây dựng trò chơi Cờ tướng áp dụng thuật toán Minmax và AlphaBeta
Xây dựng hàm lượng giá Val()
•
f!!",#-!!: )J=,; D,L
z!" \_ a;
G= t{Y UPU&,`J7R
rQ Xr|}t U
G#- V'Vt|YG U
` YXB|G %U
t: fYY}Y %^
~}} sU
Tướng KING 1000
2VPRS
J TUW
•:2PTUWm}~x€rX•VW‚‚RS
•P!::2ƒ„TTJRS
J ‚T:….ƒ!ƒ„„ƒ!::2ƒ„>„ƒ„W
†J•P!::2ƒ„TTJRS
J >T:….ƒ!ƒ„„ƒ!::2ƒ„>„ƒ„W
†
†
‚‚!:W
22J ‚::JPRW
†
%
Xây dựng hàm lượng giá Val()
4. Kết luận.
•
a0 $!i1<E b!,)?&!@!#;N!bJ4@(=#:4
•
B:_!#42O!i9!9!:‡!N+7_$#"
•
fF,#-!( #-=4@,;!I;<:2h#$!, ˆ_2:f"G#$
^