1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo chuyên Đề học phần trí tuệ nhân tạo Đề ti xây dựng game cờ caro bằng giải thuật minimax

21 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Game Cờ Caro Bằng Giải Thuật Minimax
Tác giả Hà Huy Hoàn, Đỗ Chung Hiếu, Hoàng Văn Đại
Người hướng dẫn Vũ Văn Định
Trường học Trường Đại Học Điện Lực
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo chuyên đề
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 21
Dung lượng 2,12 MB

Nội dung

Sự khác biệt của trí tuệ nhân tạo so với các lập trình logictrước kia chính là khả năng suy nghĩ độc lập của chúng, thay vìviệc mọi thứ được lập trình sẵn và cỗ máy đó sẽ thực hiện cácth

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN TRÍ TUỆ NHÂN TẠO

ĐỀ TI: XÂY DỰNG GAME CỜ CARO BẰNG GIẢI

THUẬT MINIMAX

Sinh viên thực hiện : H HUY HON

: ĐỖ CHUNG HIẾU : HONG VĂN ĐẠI

Giảng viên hướng dẫn : VŨ VĂN ĐỊNH

Trang 2

3 Hoàng Văn Đại

Giảng viên chấm 1:

Giảng viên chấm 2:

Hà Nội, tháng năm 2022

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO V THUẬT TOÁN MINIMAX 2

1.1 Tổng quan về trí tuệ nhân tạo 2

1.1.1 Trí tuệ nhân tạo là gì? 2

1.1.2 Lịch sử phát triển của trí tuệ nhân tạo 2

1.1.3 Ứng dụng vai trò của trí tuệ nhân tạo 4

1.2 Giới thiệu về giải thuật MINIMAX 5

1.2.1 Tư tưởng 5

1.2.2 Phương pháp 5

1.2.3 Mô hình bài toán 6

1.3 Ưu điểm và nhược điểm 7

CHƯƠNG 2: BI TOÁN CỜ CARO 8

2.1 Bài toán 8

2.2 Giải quyết bài toán 8

CHƯƠNG 3: ĐÁNH GIÁ V THỬ NGHIỆM 12

3.1 Công nghệ sử dụng 12

3.2 Triển khai 12

3.2 Giao diện khi bắt đầu chơi 13

3.3 Giao diện sau khi chơi 14

KẾT LUẬN 16

TI LIỆU THAM KHẢO 17

Trang 4

Chính vì vậy chúng em đã đi đến việc lựa chọn đề tài “XÂY DỰNGGAME CỜ CARO BẰNG GIẢI THUẬT MINIMAX” cho bài tập lớn môn trítuệ nhân tạo Chúng em xin cảm ơn thầy Vũ Văn Định, người trực tiếp giảngdạy, hướng dẫn nhiệt tình cho chúng em trong quá trình nghiên cứu và thực hiện

đề tài

Mặc dù đã hoàn thành, nhưng chắc chắn vẫn không thể chánh đượcnhững thiếu sót, vì vậy chúng em mong được nhận thêm nhiều những góp ý từthầy cô để hoàn thiện tốt hơn

Chúng em xin chân thành cảm ơn!

Trang 5

CHƯƠNG 1: TỔNG QUAN VỀ TRÍ TUỆ NHÂN TẠO VÀ

THUẬT TOÁN MINIMAX1.1 Tổng quan về trí tuệ nhân tạo

1.1.1 Trí tuệ nhân tạo là gì?

Trí Tuệ Nhân Tạo - AI (Artificial Intelligence) hoặc trí thôngminh nhân tạo là công nghệ mô phòng các quá trình suy nghĩ

và học tập của con người cho máy móc, đặc biệt là hệ thốngmáy tính Trí tuệ nhân tạo này do con người lập trình ra với mụcđích tự động hóa các hành vi thông minh như con người, từ đócắt giảm bớt nhân công là con người và có tính chuẩn xác caohơn

Sự khác biệt của trí tuệ nhân tạo so với các lập trình logictrước kia chính là khả năng suy nghĩ độc lập của chúng, thay vìviệc mọi thứ được lập trình sẵn và cỗ máy đó sẽ thực hiện cácthao tác theo logic được con người đặt ra, AI - Trí Tuệ NhânTạo sẽ tự xem xét tình huống và đưa ra phương án tối ưu nhất,qua đó tiết kiệm chi phí cũng như vận hành cho công việc hiệuquả hơn Ngoài ra khả năng tự tính toán đó sẽ khiến Ai đưa ranhững ý kiến mới, giúp con người thêm nhiều ý tưởng hơn trongphát triển

AI rất hữu ích trong phân tích dự đoán Tùy thuộc vào dữliệu thu được trong quá khứ, phân tích dự đoán cho phép dựđoán tương lai có học thức

1.1.2 Lịch sử phát triển của trí tuệ nhân tạo

Nghiên cứu AI sớm vào những năm thập niên 60 đã khámphá các vấn đề mà công nghệ này có thể giải quyết Vào nhữngnăm 1960, Bộ Quốc phòng Hoa Kỳ đã quan tâm đến loại côngviệc này và bắt đầu đào tạo máy tính để bắt chước lý luận cơbản của con người Ví dụ, Cơ quan Dự án Nghiên cứu Quốcphòng Tiên tiến (DARPA) đã hoàn thành các dự án lập bản đồđường phố vào những năm 1970 Và DARPA đã sản xuất trợ lý

cá nhân thông minh vào năm 2003…

Trí tuệ nhân tạo là đột phá công nghệ mới nhất, là ngànhkhoa học đang định hình lại xã hội của chúng ta Đồng thời trí

Trang 6

tuệ nhân tạo có tác động sâu sắc đến các ngành công nghiệpmáy móc và công ty cung cấp năng lượng.

Với sự phát triển nhanh chóng về kiến thức và tiến bộtrong trí tuệ nhân tạo đang thúc đẩy mạnh mẽ nhu cầu về cácdịch vụ kỹ thuật số mới để giúp khai thác công nghệ này vớitiềm năng cao nhất Cải thiện các sản phẩm đã có trên thịtrường để tất cả chúng ta đưa vào sử dụng trong cuộc sốnghàng ngày sẽ là cốt lõi cho tương lai của trí tuệ nhân tạo AI

Đa số trọng tâm của các nghiên cứu trí tuệ nhân tạo banđầu được lấy từ cách tiếp cận bằng thực nghiệm của tâm lýhọc, và xem trọng cái gọi là "trí tuệ ngôn ngữ" - việc hiểu biếtngôn ngữ con người

Các hướng nghiên cứu về trí thông minh nhân tạo khôngliên quan đến ngôn ngữ bao gồm ngành robotic và ngành thôngminh tập thể (colective intelligence) Hai hướng tiếp cận nàytập trung vào việc chủ động tác động lên môi trường hoặc việcđưa ra quyết định bằng đồng thuận về một vấn đề nào đó Cáchướng nghiên cứu này có nguồn gốc từ các mô hình thông minhxuất phát từ sinh học và chính trị học

Lý thuyết trí tuệ nhân tạo còn được rút ra từ các nghiêncứu về động vật, đặc biệt là côn trùng, do có thể dễ dàng được

mô phỏng con trùng bằng robot cũng như các động vật vớinhận thức phức tạp hơn, ví dụ như loài khỉ, chúng có thể bắtchước con người trong nhiều trường hợp nhưng lại hạn chế về

sự phát triển trong việc lập kế hoạch và nhận thức Các nhànghiên cứu về trí tuệ nhân tạo đưa ra kết luận rằng những loàiđộng vật, có nhận thức đơn giản hơn con người, đáng ra có thể

dễ dàng mô phỏng được Tuy nhiên, đến giờ vẫn chưa có môhình tính toán đủ tốt mô phỏng trí thông minh của động vật

Có những bài báo đưa ra khái niệm trí thông minh củamáy (machine intelligence) như bài A Logical Calculus of theIdeas Immanent in Nervous Activity (Tính toán logic của các ýtưởng nội tại trong hoạt động thần kinh) (1943), do WarrenMcCulloch và Walter Pitts viết; On Computing Machinery andIntelligence (Về bộ máy tính toán và trí thông minh) (1950),được viết bởi Alan Turing; và Man-Computer Symbiosis viết bởi J.C.R.Licklider Xem thêm phần điều khiển học (cybernetics) và Thửthách Turing

Trang 7

Với sự phát triển của các kỹ thuật thực hành dựa trên cácnghiên cứu về trí tuệ nhân tạo, những người ủng hộ ngành trítuệ nhân tạo đã cho rằng phe chống đối ngành này đã liên tụcthay đổi lập trường của họ trong các vấn đề như máy chơi

cờ hay nhận dạng tiếng nói, mà trước đây chúng đã từng đượccoi là thông minh, để phủ nhận các thành tựu của ngành trí tuệnhân tạo Bởi vậy, Douglas Hofstadter, trong cuốn Gödel,Escher, Bach, đã chỉ ra rằng chính sự chuyển dịch đó đã địnhnghĩa trí thông minh là bất cứ việc gì mà con người làm đượccòn máy móc thì không

John von Neumann (trích dẫn trong E.T Jaynes) đã thấytrước được điều này vào năm 1948 khi trả lời một lời bình luậntại một buổi diễn thuyết cho rằng may móc không thể suy nghĩ:

"Bạn nhất quyết rằng có một điều gì đó mà máy móc không thểlàm được Nếu bạn nói cho tôi một cách chính xác đó là điều gì,thì tôi sẽ luôn luôn làm được một cái máy mà sẽ chỉ thực hiệnđược điều đó!" Von Neumann được cho là đã có ý nói đến luận

đề Church-Turing khi khẳng định rằng bất kì một thủ tục có hiệulực nào cũng có thể được mô phỏng bởi một máy tính (tổngquát) nào đó

Vào năm 1969 McCarthy và Hayes đã bắt đầu thảo luận

về bài toán khung (frame problem) với bài luận của họ, SomePhilosophical Problems from the Standpoint of ArtificialIntelligence (Một số vấn đề triết học từ điểm khởi đầu của trítuệ nhân tạo)

Công việc ban đầu này đã mở đường cho tự động hóa và lýluận chính thức mà chúng ta thấy trong các máy tính ngày nay,bao gồm các hệ thống hỗ trợ quyết định và hệ thống tìm kiếmthông minh có thể được thiết kế để bổ sung và tăng cường khảnăng của con người

Ngày nay, hầu hết các thuật toán AI đang đạt đến trạng thái ngang bằngvới con người, có nghĩa là chúng có thể thực hiện một nhiệm vụ với trí thôngminh giống như con người Chúng cũng hiện diện trong các tương tác hàngngày trên Internet, từ hệ thống đề xuất đến các thuật toán xếp hạng tìm kiếm

1.1.3 Ứng dụng vai trò của trí tuệ nhân tạo

Các thuật toán AI của ngày nay có khả năng thực hiện các nhiệm vụ của

nó tốt hơn rất nhiều so với con người Chúng đã phát triển đến mức hiệu quảhơn nhiều và chính xác như con người Họ cũng đưa ra một cách tiếp cận dễ

Trang 8

tiếp cận hơn để các công ty mở rộng quy mô và cung cấp nhân lực cho cácnhiệm vụ lao động lặp đi lặp lại với chi phí thấp Chúng cũng có những lợi íchkhác, chẳng hạn như: Giảm tỉ lệ lỗi, hiệu quả chi phí, trải nghiệm được cá nhânhóa,…

- Vai trò của trí tuệ nhân tạo trong y tế: ứng dụng tiêu biểu nhất của trí tuệnhân tạo trong lĩnh vực y tế phải kể đến chính là máy bay không người lái, đượcdùng trong những trường hợp cứu hộ khẩn cấp Đây là thiết bị bay không cóngười lái với tốc độ nhanh hơn xe chuyên dụng đến 40% và thích hợp để sửdụng tại những vị trí có địa hình hiểm trở

- Vai trò của trí tuệ nhân tạo trong kinh doanh:

+ Riêng trong lĩnh vực kinh doanh, trí tuệ nhân tạo AI góp phầnmang đến những trải nghiệm tốt hơn cho hệ thống khách hàng Thông qua việcthu thập cũng như phân tích dữ liệu, trí tuệ AI có thể nắm bắt thông tin cũngnhư hành vi sử dụng dịch vụ của khách hàng, từ đó mang lại những giải pháphữu ích trong kinh doanh

+ Còn với lĩnh vực truyền thông, trí tuệ nhân tạo trong marketingđóng vai trò quan trọng, góp phần làm thay đổi những cách thức tiếp cận vớikhách hàng mục tiêu Với những ưu điểm của công nghệ AI, các công ty, tổchức có thể triển khai những chiến dịch quảng cáo đúng thời điểm, đúng kháchhàng mục tiêu dựa trên những phân tích chính xác về nhân khẩu học, thói quen,hành vi và nhu cầu

- Vai trò của trí tuệ nhân tạo trong giáo dục:

+ Các hoạt động giáo dục như chấm điểm, dạy kèm có thể được tựđộng hóa nhờ công nghệ AI

Rất nhiều trò chơi, phần mềm giáo dục ra đời phổ biến để đáp ứng những nhucầu của các em học sinh, sinh viên để cải thiện và nâng cao trình độ học tập củamỗi người

+ Chúng còn có thể chỉ ra những vấn đề mà các khóa học nên cảithiện: Nếu nhiều học sinh gửi đáp án sai cho bài tập, hệ thống sẽ thông báo chocác giáo viên đồng thời gửi thông điệp đến với các em học sinh để chỉnh sửađáp án cho phù hợp nhất

+ Trí tuệ nhân tạo thay thế con người bởi còn có khả năng theo dõi

sự tiến bộ của học sinh để từ đó đưa ra những thông báo đến với các giáo viênkhi phát hiện ra nhiều vấn đề đối với kết quả học tập của học sinh

+ Trí tuệ nhân tạo cung cấp nhiều dữ liệu bổ ích để giúp các emsinh viên lựa chọn được những khóa học tốt nhất cho mình

Trang 9

1.2 Giới thiệu về giải thuật MINIMAX

Giải thuật MINIMAX là một thuật toán đệ quy lựa chọn bước đi kế tiếptrong một trò chơi có hai người Xét một trò chơi đối kháng trong đó hai ngườithay phiên đi nước đi của mình như tic-tac-toe, cờ vua, cờ tướng, cờ caro, cờvây… Khi chơi bạn có thể khai triển hết không gian trạng thái nhưng khó khănchủ yếu là bạn phải tính toán được phản ứng và nước đi của đối thủ mình nhưthế nào? Cách xử lý đơn giản là bạn giả sử đối thủ của bạn cũng sử dụng kiếnthức về không gian trạng thái giống bạn Giải thuật Minimax áp dụng giả thuyếtnày để tìm kiếm không gian trạng thái của trò chơi

1.2.1 Tư tưởng

Giải thuật Minimax là một thuật toán đệ quy cho việc lựa chọn bước đi kếtiếp trong một trò chơi có hai người chơi Một giá trị được gán cho mỗi vị tríhay một trạng thái của trò chơi Giá trị này được tính toán bằng một hàm tínhgiá trị vị trí và nó cho biết độ tốt nếu như một người chơi đạt được đến đó.Người chơi sau đó đi một bước làm tối đa giá trị tối thiểu của vị trí là kết quả từtập hợp những bước đi có thể của đối thủ Nếu đó là phiên sẽ đi, sẽ cho mộtA A

giá trị cho mỗi bước đi hợp pháp của anh ta.

1.2.2 Phương pháp

Hai đối thủ trong trò chơi được gọi là MIN và MAX luân phiên thay thếnhau đi MAX đại diện cho người quyết dành thắng lợi và cố gắng tối đa hóa ưuthế của mình, ngược lại người chơi đại diện cho MIN lại cố gắng giảm điểm sốcủa MAX và cố gắng làm cho điểm số của mình càng âm càng tốt Giả thiết đưa

ra MIN và MAX có kiến thức như nhau về không gian trạng thái trò chơi và cảhai đối thủ đều cố gắng như nhau

Mỗi Node biểu diễn cho một trạng thái trên cây trò chơi Node lá là Nodechứa trạng thái kết thúc của trò chơi

Giải thuật MINIMAX thể hiện bằng cách định trị các Node trên cây tròchơi:

- Node thuộc lớp MAX thì gán cho nó giá trị lớn nhất của con Node đó

- Node thuộc lớp MIN thì gán cho nó giá trị nhỏ nhất của con Node đó

Từ các giá trị này người chơi sẽ lựa chọn cho mình nước đi tiếp theo hợp

lý nhất

1.2.3 Mô hình bài toán

Trong ví dụ sau đây của một trò chơi tổng bằng 0, khi A và B đi các bướccùng một lúc, minh họa cho thuật toán MINIMAX Nếu như mỗi người chơi có

3 lựa chọn và ma trận có lợi cho A là:

Trang 10

B chọn B1 B chọn B2 B chọn B3

Hình 1.1: Hình minh họa thuật toán

Và B có ma trận lợi như nhau nhưng ngược dấu (i.e nếu các lựa chọn làA1 và B1 thì B trả 3 cho A) sau đó lựa chọn minimax đơn giản cho A là A2 bởi

vì kết quả xấu nhất là sau khi phải trả 1, trong khi lựa chọn minimax đơn giảncho B là B2 bởi vì kết quả xấu nhất là sau đó không phải trả gì cả Tuy vậy, lờigiải này là không ổn định, bởi vì nếu B tin rằng A sẽ chọn A2 thì B sẽ chọn B1

để thắng 1; sau đó nếu A tin rằng B sẽ chọn B1 thì A sẽ chọn A1 để thắng 3; vàsau đó B sẽ chọn B2; và cuối cùng cả hai người chơi sẽ nhận ra sự khó khăn củaviệc chọn lựa Do đó một chiến lược ổn định hơn là cần thiết

Một số chọn lựa bị thống trị bởi những người khác có thể loại bỏ: A sẽkhông chọn A3 bởi vì hoặc A1 hay A2 sẽ sinh ra một kết quả tốt hơn, bất kể

là B chọn gì; B sẽ không chọn B3 bởi vì B2 sẽ sinh ra kết quả tốt hơn, bất kể

ổn định và không thể nào cải tiến nữa

1.3 Ưu điểm và nhược điểm

- Ưu điểm: Tìm kiếm được mọi nước đi tiếp theo sau đó lựa chọn nước đitốt nhất, vì giải thuật có tính chất vét cạn nên không bỏ soát trạng thái

- Nhược điểm: Đối với các trò chơi có không gian trạng thái lớn như caro,

cờ tướng… việc chỉ áp dụng giải thuật Minimax có lẽ không còn hiệu quả nữa

do sự bùng nổ tổ hợp quá lớn

Trang 11

Giải thuật áp dụng nguyên lý vét cạn không tận dụng được thông tin củatrạng thái hiện tại để lựa chọn nước đi, vì duyệt hết các trạng thái nên tốn thờigian.

CHƯƠNG 2: BÀI TOÁN CỜ CARO

2.1 Bài toán

Giới thiệu đề tài “Game Caro” Game gồm có 2 người chơi, một ngườicầm quân X, một người cầm quân O Hai người chơi sẽ lần lượt đưa đánh quântương ứng của mình trên một bàn cờ MxN ô (thường thì M = N)

Luật chơi: Quân X là quân được đánh trước Hai người chơi có thể đánhvào bất kỳ ô nào trên bàn cờ miễn là ô đó chưa được đánh Trò chơi kết thúc khimột trong hai người chơi có 3 quân thằng hàng liên tiếp nhau (ngang, dọc hoặcchéo)

Trang 12

2.2 Giải quyết bài toán

Có 2 người chơi là Min và Max

- Một chiến lược tối ưu là một chuỗi các nước đi giúp đưa đếntrạng thái đích mong muốn

- Chiến lược của MAX bị ảnh hưởng ( phụ thuộc ) vào các nước đicủa MIN –và ngược lại

- MAX cần chọn một chiến lược giúp cực đại hóa giá trị của hàmmục tiêu – với giả sử là MIN đi các nước đi tối ưu

- Chiến lược này được xác định bằng việc xét các giá trịMINIMAX đối với mỗi nút trong cây biểu diễn trò chơi

- MAX chọn các nước đi tương ứng với giá trị MINIMAX cực đại( MIN chọn các nước đi ứng với giá trị MINIMAX cực tiểu

Áp dụng vào game Caro: Người chơi cầm quân X đóng vai trò như Max,người chơi cầm quân O đóng vai trò như Min Để quyết định nước đi tiếp theo,

ta xây dựng một thủ tục đệ quy gồm 2 hàm max_value() để tìm nước đi tiếptheo cho quân X, min_value() để tìm nước đi tiếp theo cho quân O Để giảmthời gian của giải thuật đệ quy, ta giới hạn độ sâu của giải thuật bằng 4 Minh họa các hình dưới đây:

Ngày đăng: 22/01/2025, 14:57

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN