Bài thuyết trình Nghiên cứu về lý thuyết trò chơi và ứng dụng trong trò chơi Caro sau đây để tìm hiểu các nội dung cơ bản về lý thuyết trò chơi và ứng dụng trong trò chơi Caro. Bài viết sẽ trình bày một trong những ứng dụng của lý thuyết trò chơi, đó là giải thuật tìm kiếm Min-Max, Alpha-Beta và ứng dụng trong việc xây dựng 1 chương trình trò chơi đối kháng, cụ thể là trò chơi cờ Caro. Các bạn cùng tham khảo chi tiết tại đây nhé.
Trang 1Nghiên c u v lý thuy t trò ch i ứ ề ế ơ
Trường Đ i H c Công Ngh TP.HCM HUTECHạ ọ ệ
GVHD: Nguy n Văn C n ễ ẩSinh viên th c hi n:ự ệ
Cao Minh Th ng – 1811060714ắNguy n Duy Kha – 1811061922ễMai Tùng Long – 1811061512
Ph m Thái Tài – 1811061542ạ
Môn: Trí tu nhân t o ệ ạ
Trang 2N i dung: ộ
• Ứng d ng trong trò ch i caro.ụ ơ
Nghiên c u v lý thuy t trò ch i và ng d ng trong trò ch i Caroứ ề ế ơ ứ ụ ơ
• Tìm hi u c b n v lý thuy t trò ch i.ể ơ ả ề ế ơ
Trang 3Nghiên c u v lý thuy t trò ch i ứ ề ế ơ01
Trang 4Lý thuy t trò ch i:ế ơ
Lý thuy t trò ch iế ơ là m t nhánh c a Toán ộ ủ
h c ng d ng. Ngành này nghiên c u các ọ ứ ụ ứtình hu ng chi n thu t trong đó các đ i ố ế ậ ố
Trang 5L ch s c a ngành Lý thuy t trò ch i:ị ử ủ ế ơ
Nh ng th o lu n đ u tiên đữ ả ậ ầ ược bi t đ n ế ế
v lý thuy t trò ch i xu t hi n trong m t lá ề ế ơ ấ ệ ộ
th vi t b i James Waldegrave vào năm 1713. ư ế ở
Lý thuy t trò ch i tr i qua m t th i gian ế ơ ả ộ ờsôi đ ng trong nh ng năm 1950, trong nh ng ộ ữ ữnăm đó nh ng khái ni m v c t lõi, d ng trò ữ ệ ề ố ạ
ch i bao quát, trò ch i gi , trò ch i l p, và giá ơ ơ ả ơ ặ
tr Shapley đị ược phát tri n.ể Nh ng ng d ng ữ ứ ụ
đ u tiên c a lý thuy t trò ch i vào tri t h c ầ ủ ế ơ ế ọ
và khoa h c chính tr di n ra trong th i gian ọ ị ễ ờnày
Trang 6• D ng chu n t c ạ ẩ ắ
Trò ch i chu n t c (ho c d ng chi n ơ ẩ ắ ặ ạ ế
lược) là m t ma tr n cho bi t thông tin v các ộ ậ ế ề
đ u th , chi n lấ ủ ế ược, và c ch thơ ế ưởng ph t.ạ
Hai đ u th , m t ngấ ủ ộ ười ch n hàng, ọ
người kia ch n c t. M i đ u th có hai chi n ọ ộ ỗ ấ ủ ế
lược, m i chi n lỗ ế ược được bi u di n b i ể ễ ở
m t ô độ ược xác đ nh b i s hi u hàng và s ị ở ố ệ ố
hi u c t c a nó. ệ ộ ủ
M t trò ch i d ng chu n t c ộ ơ ạ ẩ ắ
Bi u di n trò ch i:ể ễ ơ
Trang 7• D ng m r ng ạ ở ộ
Các trò ch i d ng m r ng c g ng mô ơ ạ ở ộ ố ắ
t các trò ch i có th t quan tr ng. đây, ả ơ ứ ự ọ Ởcác trò ch i đơ ược bi u di n b ng cây. M i ể ễ ằ ỗ
đ nh (ho c nút) bi u di n m t đi m mà ngỉ ặ ể ễ ộ ể ười
ch i có th l a ch n. Ngơ ể ự ọ ười ch i đơ ược ch rõ ỉ
b ng m t s ghi c nh đ nh. Các đo n th ng ằ ộ ố ạ ỉ ạ ẳ
đi ra t đ nh đó bi u di n các hành đ ng có ừ ỉ ể ễ ộ
th cho ngể ười ch i đó. M c thơ ứ ưởng ph t ạ
được ghi rõ t i đáy cây.ạ
M t trò ch i d ng chu n t c ộ ơ ạ ẩ ắ
Bi u di n trò ch i:ể ễ ơ
Trang 8• Trò ch i đ i x ng ơ ố ứ
Các lo i trò ch i:ạ ơ
M t trò ch i đ i x ng là m t trò ch i mà ộ ơ ố ứ ộ ơ
ph n l i cho vi c ch i m t chi n thu t nào đó ch ầ ợ ệ ơ ộ ế ậ ỉ
ph thu c vào các chi n thu t đụ ộ ế ậ ượ ử ục s d ng, ch ứkhông ph thu c vào ngụ ộ ười nào đang ch i. N u ơ ế
nh danh tính c a nh ng ngư ủ ữ ười ch i có th thay ơ ể
đ i mà không làm thay đ i ph n l i đ i v i chi n ổ ổ ầ ợ ố ớ ếthu t ch i, thì m t trò ch i là đ i x ng.ậ ơ ộ ơ ố ứ
Trang 9• Trò ch i t ng b ng không và t ng khác không ơ ổ ằ ổ
Các lo i trò ch i:ạ ơ
Trong trò ch i t ng b ng không, v i m i ơ ổ ằ ớ ọ
t h p c a các chi n lổ ợ ủ ế ược ch i, t ng đi m ơ ổ ể
c a t t c các ngủ ấ ả ười ch i trong ván ch i luôn ơ ơ
b ng 0. Nói m t cách không chính th c, đ u ằ ộ ứ ấ
th này hủ ưởng l i trên thi t h i c a các đ u ợ ệ ạ ủ ấ
th khác. M t ví d là trò Poker, trong đó ủ ộ ụ
người này th ng s đi m b ng đúng s đi m ắ ố ể ằ ố ể
mà người kia thua
Trang 10• Trò ch i đ ng th i và trò ch i tu n t ơ ồ ờ ơ ầ ự
Các lo i trò ch i:ạ ơ
Trong các trò ch i đ ng th i ơ ồ ờ(simultaneous game), c hai đ u th th c ả ấ ủ ự
hi n các nệ ước đi m t cách đ ng th i, ho c ộ ồ ờ ặ
n u không thì đ u th này s không bi t v ế ấ ủ ẽ ế ềcác hành đ ng trộ ước đó c a các đ i th khác ủ ố ủ(và nh v y cũng t o "hi u ng" đ ng th i). ư ậ ạ ệ ứ ồ ờTrong các trò ch i tu n t (sequential game), ơ ầ ự
người đi sau có bi t m t s (nh ng không ế ộ ố ư
nh t thi t toàn b ) thông tin v các nấ ế ộ ề ước đi
trước
Trang 11nh c vây, c vua l i là trò ch i thông tin ư ờ ờ ạ ơhoàn h o.ả
Trang 12• Các trò ch i dài vô t n ơ ậ
Các lo i trò ch i:ạ ơ
Các trò ch i đơ ược nghiên c u b i các ứ ở
kinh t gia và nh ng ngế ữ ười ch i trong th ơ ế
gi i th c nhìn chung là k t thúc trò ch i trong ớ ự ế ơ
h u h n các bữ ạ ước đi
S chú ý thự ường không ph i là quá nhi u ả ề
v cách nào t t nh t đ ch i trò ch i, mà đ n ề ố ấ ể ơ ơ ơ
gi n là ch ph thu c vào ngả ỉ ụ ộ ười ch i hay ơ
người kia có hay không m t chi n thu t chi n ộ ế ậ ế
th ng.ắ
S t n t i c a nh ng chi n thu t nh v y, cho nh ng trò ch i đự ồ ạ ủ ữ ế ậ ư ậ ữ ơ ược thi t k ế ế
m t cách thông minh, có nh ng k t qu quan tr ng trong lý thuy t miêu t t p h p.ộ ữ ế ả ọ ế ả ậ ợ
Trang 13c , duopoly và oligopoly, các t ả ổ
ch c m ng lứ ạ ưới xã h i và các h ộ ệ
th ng b u c …ố ầ ử
Trang 14• Sinh h c ọ
ng d ng trong lý thuy t trò
ch iơ
Không gi ng nh trong kinh t , ố ư ế
ph n l i cho nh ng trò ch i trong sinh ầ ợ ữ ơ
h c thọ ường được di n d ch nh là ễ ị ư
tương ng v i s thích nghi. Thêm vào ứ ớ ự
đó, chú ý đã ít h n v các cân b ng có ơ ề ằliên quan đ n khái ni m c a s h p lý, ế ệ ủ ự ợ
nh ng là thiên v nh ng th có th duy ư ề ữ ứ ểtrì được b i các l c ti n hóa.ở ự ế
Trang 15ch i. Thêm vào đó, nh ng khoa h c gia ơ ữ ọmáy tính đã s d ng trò ch i đ mô ử ụ ơ ể
ph ng nh ng tính toán tỏ ữ ương tác v i ớnhau
Trang 16• Chính tr h c ị ọ
ng d ng trong lý thuy t trò
ch iơ
M t thuy t trò ch i gi i thích cho ộ ế ơ ả
lý thuy t dân ch hòa bình r ng tính ế ủ ằcông khai và tranh lu n c i m trong các ậ ở ở
n n dân ch s g i m t thông đi p rõ ề ủ ẽ ở ộ ệràng và kh tín v các m c tiêu đ n ả ề ụ ế
nh ng ch đ khác.ữ ế ộ
Ngược l i, khó mà bi t đạ ế ược
nh ng ch đích c a c a các lãnh đ o ữ ủ ủ ủ ạphi dân ch (đ c tài), r ng s có s ủ ộ ằ ẽ ự
nhượng b chung hi u qu nào, và các ộ ệ ả
l i h a h n có đờ ứ ẹ ược tôn tr ng hay ọkhông
Trang 17lý c a h i ngh ủ ộ ị
M t s tác gi khác đã c g ng ộ ố ả ố ắ
s d ng lý thuy t ti n hóa trò ch i đ ử ụ ế ế ơ ể
gi i thích s phát tri n trong quan ả ự ể
đi m con ngể ườ ề ại v đ o đ c và nh ng ứ ữhành x tử ương ng c a muông thú. ứ ủ
Trang 18ng d ng trong trò ch i Caro
02
Trang 19Gi i thi u v trí tu nhân t oớ ệ ề ệ ạ
Trí tuệ nhân tạo hay trí thông minh nhân tạo (Artificial intelligence ) là một ngành thuộc lĩnh vực khoa học máy Là trí tuệ do con người lập trình tạo nên với mục tiêu giúp máy tính có thể tự động hóa các hành vi thông minh như con người
Trí tuệ nhân tạo khác với việc lập trình logic trong các ngôn ngữ lập trình là ở việc ứng dụng các hệ thống học máy để mô phỏng trí tuệ của con người trong các xử lý mà con người làm tốt hơn máy tính
Trang 20Gi i quy t b ng v n đ tìm ả ế ằ ấ ề
ki m:ế
Vấn đề tìm kiếm, một cách tổng quát, có thể hiểu là tìm một đối tượng thỏa mãn một số đòi hỏi nào đó, trong một tập hợp rộng lớn các đối tượng
Các kỹ thuật tìm kiếm bao gồm:
• Các kỹ thuật tìm kiếm kinh nghiệm
• Các kỹ thuật tìm kiếm tối ưu
• Các phương pháp tìm kiếm có đối thủ
Trang 21Gi i quy t bài toán:ả ế
• Gi i thi u trò ch i: ớ ệ ơ
Lịch sử của trò chơi này đó chính
là cờ vây của Trung Quốc và Nhật Bản Nó được chơi bằng 2 quân cờ trắng và đen Các quân sẽ lần lượt đi trên khoảng trắng của bàn cờ Người thắng là người đầu tiên có được liên tục một chuỗi gồm 4 quân theo hàng dọc, chéo hay ngang mà không bị chặn
2 đầu
Còn nếu bạn bị chặn một đầu thì cần ít nhất chuỗi 5 quân mới giành chiến thắng Trò chơi lại bắt đầu tiếp tục nếu như chuỗi 5 quân của bạn bị chặn cả 2 đầu
Trang 22Gi i quy t bài toán:ả ế
• Phân tích bài toán
C Caro là trò ch i đ i kháng gi a 2 ngờ ơ ố ữ ười (g i là MAX và MIN).ọ
Thay phiên nhau đi gi a các nữ ước đi (moves)
K t thúc trò ch i: Ngế ơ ười th ng đắ ược thưởng (đi m), ngể ười thua b ph t đi m.ị ạ ể
Trò ch i bao g m các thông tin sau:ơ ồ+ Tr ng thái b t đ u (Initial state): Tr ng thái c a trò ch i + ngạ ắ ầ ạ ủ ơ ười ch i nào đơ ược
đi nước đ u tiên.ầ
+ Hàm chuy n tr ng thái (Successor function): Tr v thông tin g m (nể ạ ả ề ồ ước đi,
tr ng thái).ạ
+ T t c các nấ ả ước đi h p l t tr ng thái hi n t iợ ệ ừ ạ ệ ạ
Tr ng thái m i (là tr ng thái chuy n đ n sau nạ ớ ạ ể ế ước đi)
Ki m tra k t thúc trò ch i (Terminal Test).ể ế ơ+ Hàm ti n ích (Utility function).ệ
Trang 23Gi i quy t bài toán:ả ế
• Cây trò ch i ơ
+ Gốc là trạng thái ban đầu
+ Các nút (Node) là tình trạng hiện tại.+ Các nhánh nối tức là cho biết từ một tình huống của trò chơi chuyển sang tình huống khác thông qua chỉ một nước đi nào đó
+ Các lá hay còn gọi là nút lá (leave node), thể hiện thời điểm kết thúc khi
mà kết quả của trò chơi đã rõ ràng
Trang 24Gi i quy t bài toán:ả ế
• Cây trò ch i ơ
D a vào đánh giá cây trò ch i dự ở ơ ưới, ta th y đấ ược nh ng nút lá mà có ữ
tr ng s là 1, t c là đi theo nh ng nhánh nào đó mà cu i cùng đ n đọ ố ứ ữ ố ế ược
nh ng là đ y thì ngữ ấ ười ch i Max s giành th ng l i.ơ ẽ ắ ợ
Trang 25Gi i quy t bài toán:ả ế
• Chi n l ế ượ c tìm ki m ế
Đ i v i m t trò ch i đ i kháng, ố ớ ộ ơ ốkhi mà ta bi u di n để ễ ược trò ch i dơ ưới
d ng m t cây trò ch i, thì v n đ đ t ra ạ ộ ơ ấ ề ặ
là ph i tìm đả ược chi n thu t đi trên cây ế ậtrò ch i đó đ chi m l i th T c là ơ ể ế ợ ế ứ
ph i có chi n lả ế ược tìm ki m t t đ ế ố ể
đ m b o đả ả ường đi c a mình là “t t”.ủ ố
Trang 26Gi i quy t bài toán:ả ế
• Thu t toán vét c n: ậ ạ
Là một phương pháp giải toán trong tin học: tìm nghiệm của một bài toán bằng cách xem xét tất cả các phương án có thể bài toán trong tin học Ưu điểm của phương pháp này là luôn đảm bảo tìm ra nghiệm đúng, chính xác Tuy nhiên, hạn chế của phương pháp này là thời gian thực thi lâu, độ phức tạp lớn
Và th c t là, trong các trò ch i đ i kháng thì sau m t vài lự ế ơ ố ộ ượt đi thì
l i sinh ra r t nhi u kh năng đánh ti p theo (bùng n t h p), ch có m t ạ ấ ề ả ế ổ ổ ợ ỉ ộ
s ít các trố ường h p là có th tìm ki m theo ki u vét c n h t các kh ợ ể ế ể ạ ế ảnăng này
Trang 27Gi i quy t bài toán:ả ế
• Không gian tìm ki m n ế ướ c đi
Trong c caro thì c sau m i nờ ứ ỗ ước đi s ô tr ng s gi m. Vì v y ố ố ẽ ả ậ
vi c tìm ki m nệ ế ước đi ti p theo là vi c tìm ki m trong không gian các ô ế ệ ế
tr ng còn l i, sau m i lố ạ ỗ ượt đi thì không gian tìm ki m s gi m d n.ế ẽ ả ầ
Vi c tìm ki m nệ ế ước đi là ch n 1 nút trên cây sao cho nọ ước đi đó là
“t t”. Và đ đánh giá đố ể ược nút đó thì thường ph i “nhìn xa”, liên quan ả
đ n đ sâu c a câyế ộ ủ
Khi không gian tìm ki m là quá l n nên chúng ta gi i h n tìm ki m ế ớ ớ ạ ế
m t đ sâu nh t đ nh, và t t nhiên đ sâu càng l n thì ch ng trình
càng “thông minh” nh ng tr giá v m t th i gian…ư ả ề ặ ờ
Trang 28Thu t toán:ậ
• Thu t toán Minmax: ậ
Trong 2 người ch i thì m t ngơ ộ ườ ọi g i là người ch i c c đ i (Max) ơ ự ạ
và đ i th c a h là ngố ủ ủ ọ ười ch i c c ti u (Min). ơ ự ể
C 2 đ u th đ u c g ng đi nh ng nả ấ ủ ề ố ắ ữ ước th nào đ đi m tuy t ế ể ể ệ
đ i c a mình l n h n hay cao nh t có th T c là ngố ủ ớ ơ ấ ể ứ ười ch i Max s ơ ẽtìm cách làm đi m c a mình cao h n và làm đi m c a đ i th âm. ể ủ ơ ể ủ ố ủ
Đi m s ban đ u để ố ầ ược gán cho lá, sau đó b ng cách lằ ượng giá các
nước đi, đi m s để ố ược gán cho các t ng trên qua gi i thu t Min Max, ầ ở ả ậthu t gi i th c hi n m t lát c t cho trậ ả ự ệ ộ ắ ước và tính đi m trên đó.ể
Trang 29là giá trị nhỏ nhất.
- Nếu mức đang xét là người chơi cực đại thì áp dụng thuật toán Min- Max cho các con của nó Lưu kết quả
là giá trị lớn nhất.
- Nếu mức đang xét là lá (tầng cuối cùng của cây tìm kiếm), tình giá trị tĩnh của thế cờ hiện tại ứng với người chơi ở đó Ghi nhớ kết quả.
Trang 30Thu t toán:ậ
• Thu t toán Minmax: ậ
Đánh giá:
Gi s h s nhánh trung ả ử ệ ốbình c a cây là a, xét đ sâu b ủ ộthì s nút đáy ph i lố ở ả ượng giá
là ab .Th c t s nhánh khá l n ự ế ố ớnên ch c n xét đ sâu nh ỉ ầ ở ộ ỏ(c nh h n 10) thì s nút c n ỡ ỏ ơ ố ầxét cũng đã r t l n.ấ ớ
Trang 31Thu t toán:ậ
• Thu t toán AlphaBeta: ậ
Thuật toán làm giảm số nút cần thiết của việc tìm kiếm để không lãng phí thời gian tìm kiếm những nước đi đã bất lợi rõ cho người chơi
Giải thuật Alpha –Beta cải tiến so với Min – Max bằng cách thêm vào 2 tham số
là alpha và beta.Chúng cho biết các giá trị nằm ngoài khảng [alpha, beta] là các điểm không cần xem xét nữa
Thủ tục Alpha – Beta được bắt đầu tại nút gốc với giá trị của alpha là - infinity và beta là + infinity Thủ tục sẽ tự gọi đệ quy chính nó với khoảng cách giữa các giá trị alpha và beta ngày càng hẹp dần
Trang 32Thu t toán:ậ
• Thu t toán AlphaBeta: ậ
Qua công th c trên thì ta th y ứ ấ
được thu t toán Alpha – Beta ph i ậ ả
xét s nút ít h n thu t toán Min – ố ơ ậ
Max khá nhi u. Ch ng h n l y a ề ẳ ạ ấ
= 30, b=6 thì s nút ph i xét v i ố ả ớ
thu t toán Alpha – Beta là 53999 ậ
trong khi s nút c n xét v i thu t ố ầ ớ ậ
toán MinMax là x p x 2.2 x 1023.ấ ỉ
Ng ườ i ta đã tính toán đ ượ c là, trong đi u ki n ề ệ
lý t ưở ng thì thu t toán Alpha – Beta ch ph i xét s ậ ỉ ả ố nút theo công th c ứ
Trong đó:
a là s nhánh trung bình c a cây ố ủ
b là đ sâu c a cây ộ ủ
Trang 33Giao di n s n ệ ả
ph m:ẩ
Màn hình chính c a trò ch i ủ ơ Màn hình khi chi n th ng ế ắ
Trang 34Kết luận
03
Trang 35Các n i dung nghiên c u đã th c hi nộ ứ ự ệ
Tìm hi u t ng quan v lý thuy t trò ch i.ể ổ ề ế ơ
Tìm hi u v trò ch i caro.ể ề ơ
Tìm hi u các gi i thu t tìm ki m có đ i th ể ả ậ ế ố ủ
Cài đ t chặ ương trình th nghi m.ử ệ
Trang 36Does anyone have any questions?
THANK YOU FOR WATCHING !!!