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

Đề Tài Sử Dụng Thuật Toán Breadth-First Search Áp Dụng Vàogame Ghép Tranh 8 Ô Sốsinh.pdf

23 2 0

Đ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 đề Sử Dụng Thuật Toán Breadth-first search Áp Dụng vào Game Ghép Tranh 8 Ô Số
Tác giả NGUYỄN VŨ MINH QUÂN, NGUYỄN TRỌNG NGHĨA
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 Nhập Môn Trí Tuệ Nhân Tạo
Thể loại Báo cáo Chuyên Đề Học Phần
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 23
Dung lượng 580,4 KB

Nội dung

Lĩnh vực này được thành lập dựa trên tuyên bố rằng trí thông minh củacon người "có thể được mô tả chính xác đến mức một cỗ máy có thể được chếtạo để mô phỏng nó".[18] Điều này làm dấy lê

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ẦNMÔN HỌC: Nhập Môn Trí Tuệ

Trang 2

: NGUYỄN TRỌNG NGHĨA Giảng viên hướng dẫn : Vũ Văn Định

Trang 3

PHIẾU CHẤM ĐIỂM

Sinh viên thực hiện:

Trang 4

MỤC LỤC

Lời Nói Đầu 3

Khái Quát về trí tuệ Nhân Tạo 4

Chương 1 Mô tả bài toán cần giải quyết 6

Chương 2 Các chi tiết và Phương Pháp để giải Bài Toán 7

2.1 Thuật toán Breadth First Search: 7

2.2 Ứng dụng thuật toán vào Game ghép tranh 8 ô số 9

Chương 3 Các Tính Năng Của Trò Chơi 10

3.1 Tổng quan về chức năng, giao diện 10

3.2 Chức năng random hình ảnh lên màn hình 11

3.2 Chức năng đếm bước đi 11

Chức năng chơi lại 12

Chức năng thoát 14

Chức năng đi lui và đi tới 15

Chức năng tính thời gian 15

KẾT LUẬN 17

Trang 5

Lời Nói Đầu

Ngày nay, chúng ta đã bước vào thế kỷ 21, kỷ nguyên của Công nghệ thôngtin, đặc biệt là trí tuệ nhân là yếu tố quan trọng nhất quyết định sự thành côngcủa mỗi ngành hay mỗi quốc gia Trí tuệ nhân tạo đã và đang làm thay đổicuộc sống của chúng ta, với sự phát triển mạnh mẽ của việc áp dụng cácnghiên cứu về trí tuệ nhân tạo áp dụng cho cuộc sống Tất cả các ngành như:Quân đội, y tế, giáo dục, kinh tế thương mại, tài chính,… Đều có thể áp dụngtrí tuệ nhân một cách rộng rãi, Việc áp dụng trí tuệ nhân tạo để giải quyết cácvấn đề trong xã hội và việc phát triển kinh tế đang được nhà nước khuyếnkhích và đầu tư rất lớn

Trên thế giới cũng như Việt Nam, CNTT có ảnh hưởng rất mạnh mẽ đến sựphát triển của đất nước và thế giới đặc biệt là trí tuệ nhân tạo Nó chở thànhmột yếu tố không thể thiếu và có tính quyết định đến sự thành công hay thất

Trang 6

bại của nhiều ngành ở nước ta, CNTT đang phát triển với tốc độ khá mạnh mẽ

và được ứng dụng rộng rãi trong tất cả các lĩnh vực, đặc biệt là trong công tácứng dụng công nghệ vào trong cuộc sống

Tại Việt Nam, Nhà nước đang đi vào phát triển dịch vụ, và đầu tư mạnh

mẽ vào trí tuệ nhân tạo hay còn gọi là AI Vì thế, việc đó đầu nó và phát triển

nó đang là một xu thế rất hot và rất được ưu chuộng hiện này

Chính vì vậy thông qua sự giảng dạy của thầy VŨ VĂN ĐỊNH với mônNhập môn trí tuệ nhân tạo (AI) nhóm em đã tìm hiểu và nghiên cứu “Đề tài

Sử Dụng Thuật Toán Breadth-first search áp dụng vào Game Ghép Tranh 8 ÔSố” Phục vụ cho việc chứng minh áp dụng trí tuệ nhân tạo mang lại lợi íchtối ưu về không gian và thời gian cho con người

Khái Quát về trí tuệ Nhân Tạo

Trong khoa học máy tính, trí tuệ nhân tạo hay AI (tiếng Anh: artificialintelligence), đôi khi được gọi là trí thông minh nhân tạo, là trí thông minh đượcthể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên của con người.Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tả cácmáy móc (hoặc máy tính) có khả năng bắt chước các chức năng "nhận thức" màcon người thường phải liên kết với tâm trí, như "học tập" và "giải quyết vấn đề".[1][2]

Trang 7

Khi máy móc ngày càng tăng khả năng, các nhiệm vụ được coi là cần "tríthông minh" thường bị loại bỏ khỏi định nghĩa về AI, một hiện tượng được gọi

là hiệu ứng AI Một câu châm ngôn trong Định lý của Tesler nói rằng "AI là bất

cứ điều gì chưa được thực hiện." Ví dụ, nhận dạng ký tự quang học thường bịloại trừ khỏi những thứ được coi là AI, đã trở thành một công nghệ thôngthường khả năng máy hiện đại thường được phân loại như AI bao gồm thànhcông hiểu lời nói của con người, cạnh tranh ở mức cao nhất trong trò chơi chiếnlược (chẳng hạn như cờ vua và Go), xe hoạt động độc lập, định tuyến thôngminh trong mạng phân phối nội dung, và mô phỏng quân sự

Trí tuệ nhân tạo có thể được phân thành ba loại hệ thống khác nhau: trí tuệnhân tạo phân tích, lấy cảm hứng từ con người và nhân tạo AI phân tích chỉ cócác đặc điểm phù hợp với trí tuệ nhận thức; tạo ra một đại diện nhận thức về thếgiới và sử dụng học tập dựa trên kinh nghiệm trong quá khứ để thông báo cácquyết định trong tương lai AI lấy cảm hứng từ con người có các yếu tố từ trítuệ nhận thức và cảm xúc; hiểu cảm xúc của con người, ngoài các yếu tố nhậnthức và xem xét chúng trong việc ra quyết định AI nhân cách hóa cho thấy cácđặc điểm của tất cả các loại năng lực (nghĩa là trí tuệ nhận thức, cảm xúc và xãhội), có khả năng tự ý thức và tự nhận thức được trong các tương tác

Trí tuệ nhân tạo được thành lập như một môn học thuật vào năm 1956, vàtrong những năm sau đó đã trải qua nhiều làn sóng lạc quan, sau đó là sự thấtvọng và mất kinh phí (được gọi là " mùa đông AI "), tiếp theo là cách tiếp cậnmới, thành công và tài trợ mới Trong phần lớn lịch sử của mình, nghiên cứu AI

đã được chia thành các trường con thường không liên lạc được với nhau Cáctrường con này dựa trên các cân nhắc kỹ thuật, chẳng hạn như các mục tiêu cụthể (ví dụ: " robot học " hoặc "học máy"), việc sử dụng các công cụ cụ thể("logic" hoặc mạng lưới thần kinh nhân tạo) hoặc sự khác biệt triết học sâusắc Các ngành con cũng được dựa trên các yếu tố xã hội (các tổ chức cụ thểhoặc công việc của các nhà nghiên cứu cụ thể)

Lĩnh vực này được thành lập dựa trên tuyên bố rằng trí thông minh củacon người "có thể được mô tả chính xác đến mức một cỗ máy có thể được chếtạo để mô phỏng nó".[18] Điều này làm dấy lên những tranh luận triết học về bảnchất của tâm trí và đạo đức khi tạo ra những sinh vật nhân tạo có trí thông minhgiống con người, đó là những vấn đề đã được thần thoại, viễn tưởng và triếthọc từ thời cổ đại đề cập tới.[19] Một số người cũng coi AI là mối nguy hiểm chonhân loại nếu tiến triển của nó không suy giảm Những người khác tin rằng AI,không giống như các cuộc cách mạng công nghệ trước đây, sẽ tạo ra nguy cơthất nghiệp hàng loạt

Trong thế kỷ 21, các kỹ thuật AI đã trải qua sự hồi sinh sau những tiến bộđồng thời về sức mạnh máy tính, dữ liệu lớn và hiểu biết lý thuyết; và kỹ thuật

AI đã trở thành một phần thiết yếu của ngành công nghệ, giúp giải quyết nhiềuvấn đề thách thức trong học máy, công nghệ phần mềm và nghiên cứu vận hành

Trang 9

Chương 1 Mô tả bài toán cần giải quyết

Vị trí của các hình trong trò chơi sẽ nằm ngẫu nhiên trộn lẫn trong 9 ô, trong

đó có 1 ô đen để người dùng dịch chuyển đi từng bước Mỗi lần di chuyển ngườidùng chỉ có thể đi 1 bước theo chiều qua trái, qua phải, đi lên hoặc đi xuống đểghép thành 1 hình hoàn chỉnh theo hình mẫu đã cho theo đó Người dùng khôngđược đi chéo

Trong quá trình chơi có thể có trường hợp người dùng không thể đi đếntrạng thái hoàn chỉnh của hình Vì vậy chúng ta áp dụng trí tuệ nhân tạo vàotrong trò chơi này, và cụ thể là chúng em đã áp dụng thuật toán Breadth-First-Search trong game này để đưa người chơi đi đến trạng thái hoàn chỉnh (giải rađược đường đi đến trạng thái hoàn chỉnh)

Vậy bài toán thực tế ở đây là tìm ra đường đi đến trạng thái hoàn thành củagame ghép tranh 8 ô số, cũng như đưa một trạng thái ngẫu nhiên chưa hoànchỉnh của bức tranh về một bức tranh hoàn chỉnh áp dụng thuật toán trong trí tuệnhân tạo

Trang 10

Chương 2 Các chi tiết và Phương Pháp để giải Bài Toán

2.1 Thuật toán Breadth First Search:

Đây là thuật toán tìm đường đi từ đỉnh xuất phát đến đỉnh kết thúc bằngcác duyệt theo chiều rộng

Đây là thuật toán nằm trong nhóm thuật toán tìm kiếm mù, thuật toánkhông quan tâm đến trọng số trên đường đi mà chỉ duyệt theo những đỉnh kềliên tiếp nó

Xuất phát tử một đỉnh và đi tới các đỉnh kề nó, tiếp tục cho đến khi khôngcòn đỉnh nào để đi

Trong quá trình đi đến đỉnh kề, tiến hành lưu lại đỉnh kề để khi đi ngượclại từ đỉnh kết thúc đến đỉnh xuất phát ta có được đường đi ngắn nhất

Mô tả thuật toán: Cách đỉnh đã được xét thì không thể xét lại lần 2 nữa.

Cơ chế lưu lại đỉnh kề sẽ là lưu các đỉnh kề thành 1 danh sách và lấy từ từ danhsách các đỉnh kề ra để xét, khi mà một đỉnh kề của một đỉnh đang xét được thêmvào danh sách thì nó sẽ được thêm vào cuối của danh sách hay còn gọi là cơ chếQueue(hàng đợi) Cơ chết này có nghĩa khi thêm một phần tử thì phần tử đó sẽđược thêm ở cuối danh sách hàng đợi, còn lấy phần tử ra thì sẽ lấy ra ở đầu danhsách hàng đợi Đó chính là điểm nổi bật để phân biệt thuật toán này với các thuậttoán khác

Trang 11

Mang tính chất mù quáng, duyệt tất cả đỉnh, không chú ý đến thôngtin trong các đỉnh để duyệt hiệu quả, dẫn đến duyệt qua các đỉnh khôngcần thiết

Chiếm thời gian và không gian bộ nhớ khi số đình duyệt nhiều

Chi tiết chạy từng bước của thuật toán BFS:

Breadth_First_Search (BFS)

Begin Bước 1: Khởi tạo danh sách L chỉ chứa trạng thái ban đầu

Bước 2: Loop do

2.1 If L rỗng then

{Thông báo tìm kiếm thất bại; Stop};

2.2 Loại trạng thái u ở đầu danh sách L;

2.3 If u là trạng thái kết thúc then

{Thông báo tìm kiếm thành công; Stop};

2.4 for mỗi trạng thái v kề với trạng thái u do

{Đặt v vào cuối danh sách L;

father(v) = u};

Ví Dụ :

Trang 12

Trong ví dụ trên, các trạng thái trong danh sách kề sẽ được thêm lần lượtvào cuối trong danh sách L(Queue hàng đợi), mỗi lần đỉnh duyệt sẽ lấy ra trạngthái đầu tiên trong danh sách L này để duyệt tiếp theo Cứ tiếp tục như vậy chođến khi đi đến đỉnh kết thúc cần tìm hoặc cho đến khi Danh sách L (Queue hàngđợi ) đã rỗng.

2.2 Ứng dụng thuật toán vào Game ghép tranh 8 ô số

Áp dụng 2 thuật toán như đã nói trên vào game 8 ô số Lúc này mỗi trạngthái hay mỗi đỉnh mà thuật toán duyệt qua chính là một danh sách các số từ 1đến 9, và trong đó có 1 ô số đánh dấu là ô đen trống để cho người chơi dichuyển

Mỗi lần thuật toán duyệt qua một trạng thái, sẽ đưa vào trong hàng đợi,như vậy ta sẽ có danh sách chứa những danh sách

Kết quả đường đi tìm được sẽ trả về danh sách của những trạng thái mà

Trang 13

nó đã tìm ra(cũng là một danh sách các số từ 1 đến 9).

*Hướng dẫn chơi game Ghép Tranh 8 ô số:

Khi người dùng khởi động chương trình lên Màn hình sẽ hiển thị bên táyphải là hình gốc(hình hoàn chỉnh sau ghi ghép đúng bức tranh), bên tay trái là 9

ô số chứa từng phần nhỏ được cắt ra từ bức tranh hoàn chỉnh, 9 ô số này sẽ có 1

ô là màu đen trống để người chơi di chuyển các ô lân cận, 9 ô này sẽ được trộnlẫn ngẫu nhiên không hoàn chỉnh thành 1 bức tranh

Nhiệm vụ người chơi là di chuyển từng ô 1 lên, xuống, trái, phải và khôngđược đi chéo dựa theo ô trống đen, sao cho ghép thành 1 bức tranh hoàn chỉnhnhư hình bên tay phải

Khi người chơi bắt đầu chơi, thời gian sẽ được tính, và số bước đi sẽ đượcđếm nhằm thống kê thời gian và số bước người chơi đã đi đến kết quả cuốicùng

Người chơi có thể tạm ngưng trong lúc chơi, nhưng khi chọn nút tạmngưng màn hình 9 ô số ngẫu nhiên này sẽ bị tắt đi, phòng trường hợp người chơixem trước đường đi

Người chơi có thể chọn nút chơi lại để bắt đầu chơi lại từ đầu, lúc này 9 ô

số sẽ được trộn ngẫu nhiên lại một lần nữa và thời gian cũng như bước đi sẽđược cài đặt về 0 như trạng thái ban đầu

Nếu người chơi không thể đi đến ghép thành một bức tranh hoàn chỉnh thìngười chơi có thể chọn nút giải theo BFS hay giải Tối Ưu trên màn hình, sau khichọn thuật toán giải số bước đi sẽ được hiển thị lên, thời gian và số trạng thái đãduyệt qua cũng được hiển thị lên, từ đây người chơi click vào nút đi tới để bắtđầu xem kết quả đi từng bước của thuật toán cho đến khi hoàn chỉnh bức tranh.Người dùng cũng có thể đi lui để xem lại bước đi trước đó

Người dùng có thể thoát khỏi chương trình

Chương 3 Các Tính Năng Của Trò Chơi

3.1 Tổng quan về chức năng, giao diện

Trang 15

3.2 Chức năng random hình ảnh lên màn hình

Khi bước vào trò chơi thì hình ảnh sẽ được random một cách ngẫu nhiên

3.2 Chức năng đếm bước đi

Trang 16

Khi chúng ta di chuyển các trang thái để sắp xếp hình ảnh thì mỗi lần dichuyển sẽ được tính là một bước.

Chức năng này giúp đánh giá được bạn đã sử dụng bao nhiêu trạng thái đểghép thành công tấp hình này Hay gọi cách khác là bạn đã sử dụng baonhiêu trang thái để hoàn thành trò chơi này

Ngoài đánh giá chức năng này còn có thể giúp bạn ghi nhận lại số bước đi

để lần tới bạn có thể cải thiện hơn số trạng thái mình đã dùng để chiến thắngtrò chơi Một khi bạn dùng càng ít trạng thái để chiến thắng thì bạn sẽ đánhgiá được khả năng chơi trò chơi của mình như thế nào

3.3 Chức năng chơi lại

Khi người chơi muốn chơi gặp khó khăn trong việc di chuyển các ô trênmàn hình trò chơi hoặc là người chơi đã tìm ra cách để chiến thắng trò chơi màtốt ít thời gian nhất cũng như là tốn ít số bươc đi để đến chiến thắng nhất thìngười chơi có thể chơi lại từ đầu

Trang 17

Khi bạn cảm thấy chơi hoài mà không chiến thắng thì bạn cũng có thểbấm chơi lại để bắt đầu lại từ đầu Khi đó sẽ có một thông báo hỏi bạn có muốnchơi lại từ đầu hay không.

Khi bạn đã chắc chắn là mình chơi lại từ đầu thì màn hình chơi sẽ randomlại các trạng thái một cách ngẫu nhiên

Trang 18

3.4 Chức năng tạm dừng

Khi mới vào màn hình chơi game thì nút tạm dừng sẽ bị ẩn Tới khi bạnchơi và bước đi cũng như thời gian được tính thì bạn mới có thể tạm dừngđược

Chức năng này giúp bạn đang chơi thì bạn sẽ có thể tạm dừng

Để đảm báo tính hấp dẫn và thú vị cho trò chơi thì khi bạn bấm tạm dừngthì hình ảnh trên màn hình của bạn sẽ mất và chỉ còn để lại tấm hình mẫubên phải mà thôi Còn các trạng thái của bạn đang sắp xếp dở thì sẽ biếnmất Khiến cho bạn không thể tạm dừng để suy nghĩ các bước đi của mìnhđược

Khi đó button tạm dừng sẽ chuyển thành tiếp tục để người chơi chọn chơitiếp

3.5 Chức năng giải BFS

Click vào button giải BFS thì người dừng phải đợi một chút để máy có thể

tự giải Tới khi nào phần đếm bước đi hiển thị số bước:

Trang 19

Thì khi đó thuật toán đã được giải và sẽ hiển thị ra màn hình cả thời gian và

số bước duyệt để chọn ra được những trạng thái cuối cùng để người chơi có thể

đi đến chiến thắng

Trang 20

3.6 Chức năng thoát

Khi muốn tắt chương trình thì người dùng sẽ có chức năng thoát Khí bạnclick vào thì sẽ hiển thị một thông báo xác nhận là bạn có muốn thoát haykhông

Trang 21

Người dùng chọn có thì chương trình sẽ thoát còn chọn không thì chươngtrình vẫn sẽ tiếp tục.

3.7 Chức năng đi lui và đi tới

Khi bạn đã chọn chức năng giải BFS hoặc giải tối ưu chương trình đãthực thi xong thì bạn sẽ chọn chức năng đi tới và đi lui để đi từng bước tớitrạng thái kết thúc

Chức năng này giúp người chơi có thể hiểu được các bước giải của máythông qua việc đi từng bước từng bước

Khi đã đi hết tất cả các bước thì bạn sẽ tới trạng thái kêt thúc

Trang 22

3.8 Chức năng tính thời gian

Khi bắt đầu vào trò chơi thì thời gian vẫn sẽ chưa được tính, cho đến khibạn bắt đầu di chuyển trạng thái đầu tiên của một ô trên khung thì thời gian sẽ

Trang 23

bắt đầu tính Hiểu nôm na sẽ là bạn di chuyển một ô thì thời gian sẽ bắt đầutính kể cả khi sau đó bạn không di chuyển thêm một ô nào khác thì thời gianvẫn sẽ tính.

Chức năng tính thời gian cũng sẽ là một chức năng đánh giá khả năng củabạn tương tự như đếm bước đi của bạn vậy Bạn hoàn thành trong thời giancàng ngắn thì chứng tỏ bạn rất thông minh và chơi game này rất tốt

Thời gian sẽ dừng khi trạng thái bạn hoàn thành sẽ là trạng thái kết thúc.Hay nói cách khác là bạn đã xếp đúng hình thì thời gian sẽ dừng lại

KẾT LUẬN

Thông qua việc tìm hiểu và nghiên cứu đề tài này giúp chúng em có cáinhìn toàn diện hơn trong việc ứng dụng trí tuệ nhân tạo vào giải quyết vấn đềthực tế Đây là bài toán cổ điển trong trí tuệ nhân tạo cho các thuật toán mô hìnhhóa liên quan đếến tìm kiếm có tri thức bổ sung Đề tài đã được nhiều ngườinghiên cứu giải quyết, nhưng cho đến nay vẫn chưa có cách giải quyết tối ưucho tất cả không gian trạng thái trò chơi vì kích thước tăng không gian trạng thái

sẽ tăng lên rất nhanh Hy vọng những nghiên cứu đánh giá của chúng em sẽ gópphần bổ sung thêm một hướng giải quyết cho bài toán Do thời gian có hạn nên

đề tài không tránh khỏi những sai sót, mong thầy góp ý, đánh giá giúp chúng emhoàn thiện đếề tài

Ngày đăng: 08/03/2024, 16:25

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

TÀI LIỆU LIÊN QUAN

w