1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề tài nghiên cứu và xây dựng trò chơi xếp hình dựa trên thuật toán leo đồi tốt nhất

30 10 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 đề Nghiên Cứu Và Xây Dựng Trò Chơi Xếp Hình Dựa Trên Thuật Toán Leo Đồi Tốt Nhất
Tác giả Nguyễn Mai Phương, Phạm Ngọc Lộc, Vũ Hải Nam, Đặng Minh Quân
Người hướng dẫn ThS. Nguyễn Thị Huệ
Trường học Trường Đại Học Kiến Trúc Hà Nội
Chuyên ngành Trí Tuệ Nhân Tạo
Thể loại Đồ Án Môn Học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 30
Dung lượng 599,92 KB

Nội dung

TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN -*** - ĐỒ ÁN MÔN HỌC TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: NGHIÊN CỨU VÀ XÂY DỰNG TRỊ CHƠI XẾP HÌNH DỰA TRÊN THUẬT TỐN LEO ĐỒI TỐT NHẤT Nhóm sinh viên thực hiện: Nguyễn Mai Phương (Nhóm trưởng) Phạm Ngọc Lộc Vũ Hải Nam Đặng Minh Quân Giảng viên hướng dẫn: ThS Nguyễn Thị Huệ Hà Nội, tháng 10 năm 2023 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 MỤC LỤC LỜI MỞ ĐẦU DANH MỤC BẢNG BIỂU DANH MỤC CÁC TỪ VIẾT TẮT CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan trí tuệ nhân tạo 1.1.1 Khái niệm 1.1.2 Ứng dụng trí tuệ nhân tạo vào thực tế .8 1.1.3 Hạn chế trí tuệ nhân tạo 10 1.2 Giới thiệu tổng quan đề tài 10 1.2.1 Giới thiệu toán 10 1.2.2 Nguyên tắc 11 1.3 Công nghệ áp dụng vào đề tài 12 1.3.1 Ngôn ngữ python 12 1.3.2 Thư viện pygame 12 CHƯƠNG 2: XÂY DỰNG TRỊ CHƠI XẾP HÌNH DỰA TRÊN THUẬT TỐN LEO ĐỒI TỐT NHẤT 13 2.1 Giới thiệu thuật toán leo đồi 13 2.1.1 Giới thiệu thuật toán leo đồi 13 2.1.2 Giới thiệu thuật toán leo đồi tốt .13 2.1.3 Đặc điểm thuật toán leo đồi 14 2.2 Áp dụng thuật toán leo đồi tốt vào toán .14 2.2.1 Đánh giá trạng thái đầu .14 2.2.2.Tìm hàng xóm trạng thái ban đầu 15 2.2.3 Lựa chọn hàng xóm tốt .16 2.2.4 Kiểm tra trạng thái 16 CHƯƠNG 3: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG 18 3.1 Các bước thực 18 3.1.1.Tạo khung, tiêu đề biến liên quan 18 3.1.2 Khởi tạo game .18 3.1.3 Vẽ giao diện 19 3.1.4 Tạo hàm kiểm tra số giá trị so với đích .21 3.1.5 Khởi tạo thuật toán .22 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 3.2 Sản phẩm .25 KẾT LUẬN 27 TÀI LIỆU THAM KHẢO 28 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 LỜI MỞ ĐẦU Công nghệ AI (Artificial Intelligence) công nghệ quan tâm phát triển ứng dụng bậc nay, ứng dụng nhiều lĩnh vực nhận dạng khn mặt, xử lý giọng nói, kỹ thuật ước tính đám đơng … đến hệ thống an ninh, bảo mật, hay hệ thống pháp luật, phủ Theo dịng chảy cách mạng 4.0, trí tuệ nhân tạo ngày phổ biến ứng dụng rộng rãi lĩnh vực sống, John McCarthy – nhà khoa học máy tính người Mỹ đề cập lần vào năm 1950 đến ngày thuật ngữ trí tuệ nhân tạo thực biết đến rộng rãi “ông lớn” làng công nghệ chạy đua phát triển AI công nghệ sử dụng đến kỹ thuật số có khả thực nhiệm vụ mà bình thường phải cần tới trí thơng minh người, xem phổ biến Đặc trưng công nghệ AI lực “tự học” máy tính, tự phán đốn, phân tích trước liệu mà khơng cần hỗ trợ người, đồng thời có khả xử lý liệu với số lượng lớn tốc độ cao Hiện ngày tồn cầu có khoảng 2,2 tỷ Gb liệu (tương đương 165.000 tỷ trang tài liệu) tạo công ty, Google, Twitter, Facebook, Amazon, Baidu, Weibo, Tencent hay Alibaba thu thập để tạo thành “dữ liệu lớn” (big data) Trí tuệ nhân tạo lĩnh vực liên quan đến chuyên ngành khoa học máy tính cơng nghệ thơng tin, chất trí tuệ nhân tạo người làm ra, họ xây dựng thuật tốn, lập trình cơng cụ phần mềm cơng nghệ thơng tin, giúp máy tính tự động xử lý hành vi thông minh người TRÍ TUỆ NHÂN TẠO – 21CN3 – NHĨM 10 DANH MỤC BẢNG BIỂU STT Hình ảnh Tên Trang 3.1.1.1 Tạo khung tiêu đề 16 10 11 12 13 14 15 16 3.1.1.2 3.1.2 3.1.3.1 3.1.3.2 3.1.3.3 3.1.3.4 3.1.4 3.1.5.1 3.1.5.2 3.1.6.1 3.2.6.2 3.1.6.3 3.2.1 3.2.2 3.3.3 Các thiết lập cài đặt chương trình Hàm new Hàm draw Hàm draw_grid hàm draw_tile Class Tile Class Button Hàm evualate_board Mã code khởi tạo thuật toán Mã code thuật toán Hàm run hàm update Hàm event Giao diện ban đầu chạy code Giao diện áp dụng thuật tốn leo đồi Hình ảnh thuật tốn lựa chọn trạng thái tốt in terminal 16 18 18 19 19 20 20 21 22 23 23 23 24 25 25 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 DANH MỤC CÁC TỪ VIẾT TẮT STT Chữ viết tắt Diễn giải AI Trí tuệ nhân tạo (Artificial Intelligence) CV Thị giác máy tính (Computer Vision) SDL Simple DirectMedia Layer Obj Đối tượng (Object) TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Tổng quan trí tuệ nhân tạo 1.1.1 Khái niệm - Khái niệm trí tuệ nhân tạo vấn đề phức tạp có nhiều cách tiếp cận khác Mặc dù hình thành phát triển từ năm 1943 chưa đến khái niệm thống Tuy nhiên, AI hiểu đơn giản lĩnh vực khoa học máy tính, nhằm mơ lại khả trí thơng minh người cho máy móc, đặc biệt hệ thống máy tính AI phân loại theo nhiều tiêu chí, mức độ phức tạp, mức độ lấy cảm hứng từ người, mức độ tự nhận thức mục tiêu cụ thể AI bao gồm ứng dụng nhận dạng giọng nói, học máy (machine learning), xử lý ngơn ngữ tự nhiên, trí tuệ cảm xúc, trí tuệ thị giác robot AI giúp cải thiện chất lượng hoạt động nhiều lĩnh vực y tế, kinh doanh an ninh - Có quan điểm AI + Suy nghĩ người Là khả trí tuệ nhân tạo để xử lý thông tin đưa định dựa kinh nghiệm tích lũy điều giống suy nghĩ người + Suy nghĩ hợp lý Xây dựng hệ thống có khả lập luận dựa việc sử dụng hệ thống hình thức logic Dựa số sở sử dụng logic biểu diễn toán giải suy diễn logic số triết gia Hy Lạp cổ đại + Hành động người Là tạo hệ thống có hành vi, hành động người, đặc biệt hoạt động có liên quan tới trí tuệ Turing test: kiểm tra khả trí tuệ máy tính Nếu hệ thống vượt qua phép thử coi có trí tuệ Để qua phép thử, hệ thống cần có khả ănng sau:  Xử lý ngơn ngữ tự nhiên: để phân tích, hiểu câu hỏi trả lời ngôn ngữ định  Biểu diễn tri thức: lưu giữ tri thức thông tin  Suy diễn: sử dụng tri thức để trả lời câu hỏi  Học máy: để thích nghi với hoàn cảnh học mẫu câu hỏi + Hành động hợp lý TRÍ TUỆ NHÂN TẠO – 21CN3 – NHĨM 10 Có thể dựa việc suy nghĩ hợp lý không Một số trường hợp để định hành động cần suy nghĩ hợp lý để đưa kết tốt Nhưng số trường hợp hành động phản xạ, khơng địi hỏi suy diễn phức tạp, lại cho kết tốt 1.1.2 Ứng dụng trí tuệ nhân tạo vào thực tế Trí tuệ nhân tạo (AI) ứng dụng rộng rãi nhiều lĩnh vực khác đời sống, từ lĩnh vực truyền thống sản xuất, kinh doanh, y tế, giáo dục, đến lĩnh vực nghệ thuật, giải trí , an ninh Một số ví dụ ứng dụng AI vào thực tế: - Trong sản xuất: AI sử dụng để tự động hóa quy trình sản xuất, cải thiện hiệu giảm thiểu sai sót Ví dụ, AI sử dụng để điều khiển robot, giám sát chất lượng sản phẩm dự đoán nhu cầu khách hàng - Hệ thống tối ưu hóa kinh doanh: AI sử dụng để giúp doanh nghiệp phân tích liệu, đưa định kinh doanh tối ưu hóa chiến dịch marketing, dự báo xu hướng thị trường, nhu cầu khách hàng, hiệu hoạt động AI đề xuất chiến lược kinh doanh, quản lý nguồn lực tăng cường khả cạnh tranh cảu doanh nghiệp Ví dụ, AI sử dụng để phân tích liệu bán hàng, dự đoán xu hướng thị trường cá nhân hóa trải nghiệm khách hàng - Hệ thống chẩn đoán y khoa: AI sử dụng để giúp bác sĩ chẩn đoán bệnh lý dựa liệu lâm sàng, hình ảnh y khoa, triệu chứng bệnh nhân AI để xuất phương pháp điều trị cải thiện chất lượng sống bệnh nhân Ví dụ, AI sử dụng để phân tích hình ảnh y tế, phát triển loại thuốc hỗ trợ bệnh nhân trình phục hồi - Hệ thống hỗ trợ giáo dục: AI sử dụng để cung cấp nội dung giáo dục cá nhân hóa cho học sinh, dựa mức độ kiến thức, sở thích TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 mục tiêu học tập họ, đồng thời đánh giá học sinh phản hồi kết học tập học sinh, khuyến khích học sinh học tập Ví dụ, AI sử dụng để tạo tập kiểm tra phù hợp với trình độ học sinh, cung cấp phản hồi tức hỗ trợ học sinh việc hiểu khái niệm khó - Hệ thống giải trí: AI sử dụng để tạo trò chơi video, chatbot nội dung giải trí khác Ví dụ, AI sử dụng để tạo nhân vật trò chơi video có tính cách hành vi phức tạp, phát triển chatbot trị chuyện người tạo phim chương trình truyền hình có cốt truyện hấp dẫn - Hệ thống sáng tạo nghệ thuật: AI sử dụng kỹ thuật học máy để tạo tác phẩm nghệ thuật mới, dựa mẫu nghệ thuật có theo yêu cầu người dùng AI tạo tác phẩm âm nhạc, văn học, hội họa với phong cách tính sáng tạo cao - Hệ thống bảo mật an ninh: AI giúp phát ngăn chặn công mạng, xâm nhập liệu, gian lận toán AI nhận diện xác minh danh tính người dùng, theo dõi phân loại hoạt động bất thường nguy hiểm Một số chương trình áp dụng cơng nghệ AI thực tế: - Google Bard: chatbot trí tuệ nhân tạo (AI) tổng hợp đàm thoại phát triển Google Bard đời nhằm đáp ứng trực tiếp phát triển ChatGPT OpeAI phát hành vào tháng năm 2023 với tác vụ như: trả lời câu hỏi cách toàn diện đầy đủ thông tin, tạo định dạng văn sáng tạo khác nhau, dịch ngôn ngữ viết nội dung sáng tạo - Tesla Autopilot: hệ thống lái xe tự động sử dụng ô tô Tesla Tesla Autopilot sử dụng AI để điều khiển xe tránh chướng ngại vật TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 - CV-enabled locker: loại tủ đựng đồ sử dụng công nghệ thị giác máy tính (CV) để tự động hóa q trình gửi nhận đồ, sử dụng trung tâm thương mại, sân bay Các tủ trang bị camera để nhận dạng người dùng đồ đạc Khi người dùng đến tủ, camera nhận dạng họ mở tủ, người dùng đặt đồ đạc họ vào tủ Khi người dùng muốn lấy đồ họ cần để camera nhận dạng khuôn mặt tủ mở AI giai đoạn phát triển, có tiến đáng kể năm gần Với phát triển cơng nghệ, AI có tiềm tác động sâu sắc đến nhiều lĩnh vực đời sống 1.1.3 Hạn chế trí tuệ nhân tạo Khơng thể hiểu giới theo cách giống người: AI thường đào tạo liệu lớn, liệu khơng phản ánh đầy đủ giới thực Điều dẫn đến hệ thống AI mắc sai lầm đưa định không xác Khơng thể suy nghĩ sáng tạo: AI thường sử dụng để thực nhiệm vụ theo hướng dẫn, thường khơng thể suy nghĩ sáng tạo đưa giải pháp Điều hạn chế ứng dụng AI lĩnh vực nghệ thuật, khoa học kỹ thuật Không thể hiểu cảm xúc: AI hiểu phản ứng với cảm xúc người Điều dẫn đến hệ thống AI khơng thể tương tác hiệu với người Có thể bị sai lệch: AI bị sai lệch liệu đào tạo Điều dẫn đến hệ thống AI có thành kiến đưa định khơng cơng Có thể bị cơng: AI bị cơng hacker kẻ thù Điều dẫn đến hệ thống AI bị xâm nhập bị sử dụng cho mục đích xấu 1.2 Giới thiệu tổng quan đề tài 1.2.1 Giới thiệu toán Bài toán 8- Puzzle toán quen thuộc với người bắt đầu tiếp cận với mơn Trí tuệ nhân tạo Bài tốn có nhiều phiên khác dựa theo số ơ, 8puzzle, 15-puzzle,… Bài tốn đơn giản trị chơi xếp hình trượt gồm vng khung 3x3 Các ô xếp ngẫu nhiên, có trống để người chơi tự dịch chuyển Mục tiêu xếp ô từ đến để lại ô trống cuối, người chơi cách trượt khối theo chiều dọc ngang không chéo để ghép thành hình hồn chỉnh hình dưới: 10 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHĨM 10 h=4 8 h=4 h=5 2 h=6 2.2.3 Lựa chọn hàng xóm tốt Chọn áp dụng hàng xóm có trạng thái hợp tốt tốt trạng thái 16 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 h=6 1 2 5 8 h=4 h=7 2.2.4 Kiểm tra trạng thái Kiểm tra trạng thái mới, trạng thái mục tiêu, trả thành cơng Ngược lại, tốt trạng thái tại, gán trạng thái làm trạng thái tại.Ngược lại, khơng có trạng thái tốt quay lại bước 2 17 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHÓM 10 h=7 h=7 3 5 6 h=6 h=8 Trả trạng thái đích 18 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHĨM 10 CHƯƠNG 3: XÂY DỰNG VÀ TRIỂN KHAI ỨNG DỤNG 3.1 Các bước thực 3.1.1.Tạo khung, tiêu đề biến liên quan Hình 3.1.1.1 Tạo khung tiêu đề Tạo class tên game với hàm khởi tạo giá trị chạy dòng lệnh pygame. init (self) để sử dụng hàm thư viện pygame: - Khởi tạo screen với chiều dài chiều rộng thiết lập Đặt tên tiêu đề cho chương trình Khởi tạo biến previous_choice_hill_climbing để lưu lựa chọn vừa thực bảng 3x3 Khởi tạo biến start_Algorithm để khởi động ngắt hoạt động thuật tốn Hình 3.1.1.2 Các thiết lập cài đặt chương trình 3.1.2 Khởi tạo game 19 TRÍ TUỆ NHÂN TẠO – 21CN3 – NHĨM 10 Hình 3.1.2 Hàm new Khởi tạo biến all_sprites khung chứa giá trị image bảng 3x3 Khởi tạo giá trị ban đầu theo ý người dùng với biến tile_grid Khởi tạo giá trị ban đích với biến tile_grid_completed Với hàm draw_tile(self.tile_grid) hoạt động dựa số biến tile_grid để vẽ lên bảng với có số từ 1-8 có màu trắng cịn số có màu với background Ta khởi tạo list button để chứa button mà ta vẽ lên giao diện với button mà ta thêm chương trình “Reset” trả lại bảng với giá trị ban đầu, “Algorithmn” dùng thuật toán leo đồi để trả bảng với giá trị đích 3.1.3 Vẽ giao diện Hình 3.1.3.1 hàm draw Hàm draw thực hoạt động gồm : Tô màu xanh cho background chương trình với dịng code self.screen.fill(BLUE) Với all_sprites chứa image bảng ta dùng gọi lại tới hàm draw sẵn có biến để vẽ màu số ô bảng Gọi hàm draw_grid để vẽ đường thẳng chia bảng thành x ô Với danh sách nút button_list ta sử dụng hàm draw để vẽ lên hình 20

Ngày đăng: 05/12/2023, 05:35

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

TÀI LIỆU LIÊN QUAN

w