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

Đề tài tìm hiểu , cài đặt thuật toán breath first search cho bài toán trò đố 8 ô và 15 ô

16 0 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

TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI KHOA CÔNG NGHỆ THƠNG TIN Đề tài : Tìm hiểu , cài đặt thuật tốn Breath First Search cho tốn trị đố ô 15 ô Giảng viên hướng dẫn: Thành viên: Cơ sở lý thuyết Phạm Trọng Tuấn AI – Trí tuệ nhân tạo ( Artificial Intelligence – AI) trí thơng minh thể máy móc, trái ngược với trí thơng minh tự nhiên hiển thị động vật bao gồm người Các sách giáo khoa hàng đầu AI định nghĩa lĩnh vực nghiên cứu “tác nhân thông minh”: hệ thống nhận thức môi trường thực hành động nhằm tối đa hóa hội đạt mục tiêu Một số tài khoản phổ biến sử dụng thuật ngữ “trí thơng minh nhân tạo” để mơ tả máy móc bắt chước chức “nhận thức” mà người liên kết với tâm trí người, chẳng hạn “học tập” “giải vấn đề”, nhiên, định nghĩa bị nhà nghiên cứu AI lớn bác bỏ – Trí tuệ nhân tạo thành lập môn học thuật vào năm 1956, năm kể từ trải qua số sóng lạc quan, thất vọng nguồn tài (được gọi “mùa đông AI”), cách tiếp cận mới, thành công nguồn tài trợ Nghiên cứu AI thử loại bỏ nhiều cách tiếp cận khác kể từ thành lập, bao gồm mô não, mơ hình hóa giải vấn đề người, logic thức, sở liệu lớn kiến thức bắt chước hành vi động vật Trong thập kỷ kỷ 21, máy học thống kê toán học cao thống trị lĩnh vực này, kỹ thuật tỏ thành công, giúp giải nhiều vấn đề thách thức toàn ngành học viện – Các quỹ giao dịch trao đổi (ETF) trí tuệ nhân tạo (AI) tìm cách cung cấp khả tiếp xúc với phân khúc phát triển nhanh ngành công nghệ AI nhằm mục đích mơ trí thơng minh người, tận dụng thuật toán mạnh mẽ để khiến máy móc suy nghĩ hành động giống người Mặc dù việc tự động hóa nhiệm vụ lặp lặp lại thay sức lao động người máy móc khơng có mới, AI thúc đẩy xu hướng này, dẫn đến bước nhảy vọt suất – Đối với nhà đầu tư lạc quan tiềm phát triển AI không công ty hoạt động tốt nhất, AI ETF lựa chọn AI ETF nắm giữ rổ cổ phiếu cơng ty tham gia vào số khía cạnh AI, cho phép nhà đầu tư chia sẻ tăng trưởng lợi nhuận công ty AI mà không gặp thách thức cố gắng tách người thắng khỏi kẻ thua Vai trò: – Nghiên cứu AI phát triển công cụ để đại diện cho lĩnh vực cụ thể, chẳng hạn như: đối tượng, thuộc tính, phạm trù mối quan hệ đối tượng; tình huống, kiện, trạng thái thời gian; nguyên nhân ảnh hưởng; kiến thc v kin thc (nhng ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. biết người khác biết); suy luận mặc định (những điều mà người cho chúng nói theo cách khác kiện khác thay đổi); miền khác Trong số vấn đề khó khăn AI là: chiều rộng kiến thức thông thường (số lượng kiện nguyên tử mà người bình thường biết lớn); dạng ký hiệu phụ hầu hết kiến thức thơng thường (phần lớn người biết không biểu thị dạng “sự kiện” “tuyên bố” mà chúng diễn đạt lời nói) – Biểu diễn kiến thức thức sử dụng lập mục truy xuất dựa nội dung, giải thích trường, hỗ trợ định lâm sàng, khám phá kiến thức (khai thác suy luận “thú vị” hành động từ sở liệu lớn), lĩnh vực khác – Nhiều vấn đề AI giải mặt lý thuyết cách tìm kiếm cách thơng minh thơng qua nhiều giải pháp khả thi: Việc suy luận rút gọn thành việc thực tìm kiếm Ví dụ, chứng minh lơgic xem việc tìm kiếm đường dẫn từ tiền đề đến kết luận, bước ứng dụng quy tắc suy luận Các thuật tốn lập kế hoạch tìm kiếm thông qua mục tiêu mục tiêu con, cố gắng tìm đường dẫn đến mục tiêu đích, q trình gọi phân tích đầu cuối Các thuật toán robot để di chuyển chân tay cầm nắm đồ vật sử dụng tìm kiếm cục khơng gian cấu hình – Các tìm kiếm tồn diện đơn giản đủ cho hầu hết vấn đề giới thực: khơng gian tìm kiếm (số lượng địa điểm cần tìm kiếm) nhanh chóng phát triển đến số thiên văn Kết tìm kiếm q chậm khơng hồn thành Giải pháp, nhiều vấn đề, sử dụng “heuristics” “quy tắc ngón tay cái” để ưu tiên lựa chọn có lợi cho người có nhiều khả đạt mục tiêu thực điều số bước ngắn Trong số phương pháp tìm kiếm, heuristics dùng để loại bỏ số lựa chọn khơng có khả dẫn đến mục tiêu (được gọi “cắt tỉa tìm kiếm”) Heuristics cung cấp cho chương trình “dự đoán tốt nhất” cho đường mà giải pháp nằm Heuristics giới hạn việc tìm kiếm giải pháp kích thước mẫu nhỏ – Lĩnh vực AI, đại diện lĩnh vực công nghệ, hoạt động tốt so với thị trường rộng lớn năm qua Các quỹ ETF có tổng lợi nhuận sau năm tốt ROBO, ROBT KOMP Các cổ phần hàng đầu quỹ ETF iRhythm Technologies Inc., Ambarella, Inc Bruker Corp – Một lưu ý đặc biệt: Một số ETF sử dụng AI công cụ để chọn cổ phiếu gọi AI ETF Nhưng câu chuyện tập trung vào ETF nhắm mục tiêu đến công ty sử dụng AI cho ngành khác, chẳng hạn robot, tự động húa, chm súc sc khe v ụ tụ ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Hin nay, có sáu AI ETF riêng biệt giao dịch Hoa Kỳ, không bao gồm quỹ nghịch đảo địn bẩy quỹ có tài sản 50 triệu đô la quản lý (AUM) Lĩnh vực AI khơng có điểm chuẩn riêng, hiệu hoạt động phản ánh rõ số dành cho lĩnh vực công nghệ, Chỉ số ngành Công nghệ thông tin S&P 500 Chỉ số công nghệ thông tin (CNTT) vượt trội so với thị trường rộng lớn với tổng mức sinh lời 38,8% 12 tháng qua, cao tổng mức sinh lời S&P 500 28,9%, tính đến ngày tháng 12 năm 2021 AI ETF hoạt động tốt nhất, dựa hiệu suất năm qua, ROBO Global Robotics and Automation Index ETF ( ROBO ) Ưu nhược điểm AI - Ưu điểm:  Mạng lưới thần kinh nhân tạo cơng nghệ trí tuệ nhân tạo với khả học tập sâu phát triển nhanh chóng, AI xử lý lượng lớn liệu nhanh nhiều đưa dự đoán xác so với khả người  Khối lượng liệu khổng lồ tạo hàng ngày gây khó khăn cho nhà nghiên cứu, AI sử dụng học máy để lấy liệu nhanh chóng biến thành thơng tin thực - Nhược điểm:  Việc sử dụng AI tốn nhiều xử lý lượng lớn liệu mà lập trình AI yêu cầu  Khả giải thích trở ngại việc sử dụng AI lĩnh vực hoạt động theo yêu cầu cần phải tuân thủ quy định nghiêm ngặt Ví dụ như: Các tổ chức tài chính, định từ chối cấp tín dụng đưa AI, khó đưa giải thích rõ ràng, lý khơng cấp tín dụng cho khách hàng Phân loại cơng nghệ AI - Công nghệ AI phản ứng (Reactive Machine): Cơng nghệ AI phản ứng cơng nghệ có khả phân tích hành động thân đối thủ Từ đưa chiến lược hồn hảo Ví dụ như: Deep Blue chương trình tự động chơi cờ vua IBM đánh bại siêu đại kiện tướng cờ vua Garry Kasparov Cơng nghệ AI Deep Blue xác định nước cờ dự đoán bước Nhưng khơng có ký ức khơng thể sử dụng kinh nghiệm khứ để tiếp tục huấn luyn tng lai ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. - Cụng ngh AI vi b nhớ hạn chế: Cơng nghệ AI tự nhận biết trường hợp bất ngờ Ngoài cịn đưa hướng xử lý tốt - Lý thuyết trí tuệ nhân tạo: Lý thuyết trí tuệ nhân tạo thuật ngữ tâm lý Cơng nghệ AI tự suy nghĩ học hỏi thứ xung quanh để áp dụng cho thân cho việc cụ thể Loại công nghệ AI chưa khả thi - Công nghệ tự nhận thức: Cơng nghệ AI có ý thức có cư xử người Ngồi cịn có cảm xúc người chia sẻ buồn vui với người dùng Tuy nhiên loại cơng nghệ AI chưa khả thi Thuật tốn BFS: BFS gì? Thuật toán duyệt đồ thị ưu tiên chiều rộng (Breadth-first search - BFS) thuật tốn tìm kiếm thiết yếu đồ thị Mà đó, đỉnh gần đỉnh xuất phát duyệt trước Ứng dụng BFSBFS giúp ta giải tốt số toán thời gian không gian tối thiểu Đặc biệt tốn tìm kiếm đường ngắn từ đỉnh gốc tới tất đỉnh khác Trong đồ thị khơng có trọng số tất trọng số nhau, thuật tốn ln trả đường ngắn Ngồi ra, thuật tốn cịn dùng để tìm thành phần liên thơng đồ thị, kiểm tra đồ thị hai phía, … í tng: ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Vi th khụng trng s v nh nguồn ss Đồ thị đồ thị có hướng vơ hướng, điều khơng quan trọng thuật tốn Có thể hiểu thuật tốn lửa lan rộng đồ thị:   Ở bước thứ 00, có đỉnh nguồn ss cháy Ở bước tiếp theo, lửa cháy đỉnh lại lan sang tất đỉnh kề với Trong lần lặp thuật tốn, "vòng lửa" lại lan rộng theo chiều rộng Những đỉnh gần ss bùng cháy trước Chính xác hơn, thuật tốn mơ tả sau:   Đầu tiên ta thăm đỉnh nguồn ss Việc thăm đỉnh ss phát sinh thứ tự thăm đỉnh (u1,u2,…up)(u1,u2,…up) kề với ss (những đỉnh gần ss nhất) Tiếp theo, ta thăm đỉnh u1u1, thăm đỉnh u1u1 lại phát sinh yêu cầu thăm đỉnh (v1,v2,…,vq)(v1,v2,…,vq) kề với u1u1 Nhưng rõ ràng đỉnh vv “xa” ss đỉnh uu nên chúng thăm tất đỉnh uu thăm Tức thứ tự thăm đỉnh là: s,u1,u2,…,up,v1,v2, …,vq,… Thuật tốn tìm kiếm theo chiều rộng sử dụng danh sách để chứa đỉnh “chờ” thăm Tại bước, ta thăm đỉnh đầu danh sách, loại khỏi danh sách cho đỉnh kề với chưa thăm xếp hàng vào cuối danh sách Thuật toán kết thúc danh sỏch rng Thut toỏn: Suite du document ci-dessous ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Dộcouvre plus de : Civil and Industrial Construction 42 documents Accéder au cours 60 Thăm quan thực hành - tdf Civil and Industrial Construction 45 CNPM - aaaa Civil and Industrial Construction 23 100% (1) AIDS NOT Someone ELSE Problem Civil and Industrial Construction 100% (2) Đồ án công nghiệp xưởng may mặc Civil and Industrial Construction 100% (3) Bai giai ltdt - Toán rời rạc Civil and Industrial Construction 11 100% (4) Aucun DE Chinh THUC HSG9 2018 Civil and Industrial Construction ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Aucun ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. B c Duyt Mụ t Khởi tạo hàng đợi (queue) Chúng ta bắt đầu duyệt đỉnh S (đỉnh bắt đầu) đánh dấu đỉnh duyệt Sau tìm đỉnh liền kề với Smà chưa duyệt Trong ví dụ có đỉnh, theo thứ tự chữ chọn đỉnh A đánh dấu l ó duyt v xp A vo hng i ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Tiếp tục duyệt đỉnh liền kề với S B Đánh dấu duyệt xếp đỉnh vào hàng đợi Tiếp tục duyệt đỉnh liền kề với S C Đánh dấu duyệt xếp đỉnh vào hàng đợi Bây đỉnh S khơng cịn đỉnh liền kề mà chưa duyệt Bây rút A từ hàng đợi Từ đỉnh A có đỉnh liền kề D đỉnh chưa duyệt Đánh dấu đỉnh D l ó duyt v xp vo hng i ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Giới thiệu tốn: Bài tồn gồm bảng vng kích thước 3x3, có tám đánh số từ tới ô trống Trạng thái ban đầu, ô xếp cách ngẫu nhiên, nhiệm vụ người chơi tìm cách đưa chúng thứ tự hình dưới: Trong trình giải tồn, bước, ta giả định có trống di chuyển, vậy, tối đa trống có khả di chuyển (lên trên, xuống dưới, sang trái, sang phải) Điều kiện trạng thái đầu: Có trạng thái bảng số khơng thể chuyển trạng thái đích Người ta chứng minh rằng, để chuyển từ trạng thái đầu tới trạng thái đích, trạng thái đầu phải thỏa mãn điều kiện xác định sau: Ta xét từ xuống dười, từ trái sang phải, với ô số xét (giả sử ô thứ i), ta kiểm tra xem phía sau có số có giá trị nhỏ Sau ta tính tổng N = n1 + n2 + … + n8 Ta có quy tắc chung sau cho tốn n-puzzle:  Nếu số ô vuông lẻ: N mod =  Nếu số ô vuông chẵn: N mod = ô trống phải nằm hàng chẵn xét từ xuống N mod = ô trống phải nằm hàng lẻ xét từ xuống Cụ thể, ta xét tốn 8-puzzle – có ô vuông nên trạng thái đầu phải thỏa mãn điều kiện Ví dụ: Cho trạng thái đầu sau 2-0-6-8-7-5-4-3-1 ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Xét thứ có giá trị 2: Phía sau có nhỏ (1) => n1 = Xét thứ hai có giá trị 6: Phía sau có nhỏ (5,4,3,1) => n2 = Xét thứ ba có giá trị 8: Phía sau có nhỏ (7,5,4,3,1) => n3 = Xét thứ tư có giá trị 7: Phía sau có nhỏ (5,4,3,1) => n4 = Xét thứ năm có giá trị 5: Phía sau có nhỏ (4,3,1) => n5 = Xét thứ sáu có giá trị 4: Phía sau có nhỏ (3,1) => n6 = Xét thứ bảy có giá trị 3: Phía sau có nhỏ (1) => n7 = Xét thứ tám có giá trị 1: Phía sau khơng cịn nhỏ => n8 = N = + + + + + + + = 20 Ta có 20 mod = => Thỏa mãn Những trạng thái bảng số mà chuyển trạng thái đích gọi cấu hình hợp lệ, ngược lại gọi cấu hình khơng hợp lệ Với bảng số kích thước mxm (m cạnh) ta có khơng gian trạng thái (mxm)! Với tốn 8-puzzle, trạng thái có bảng số (3x3)! = 362880 Nếu m tăng lên 1, làm không gian trạng thái tăng lên lớn, phiên tốn với m>3 áp dụng Trong phạm vi báo cáo, chúng em tìm hiểu phương pháp tìm kiếm lời giải cho tốn 8-puzzle, là: Tìm kiếm theo chiều rộng, tìm kiếm theo chiều sâu, tìm kiếm A* Hai phương pháp đầu phương pháp tìm kiếm khơng có thơng tin, A* phương pháp tìm kiếm có thơng tin Cụ thể phương pháp trình bày sau Thuật tốn tìm kiếm theo chiều rộng (Breadth First Sreach): Thuật tốn tìm kiếm theo chiều rộng thuật tốn tìm kiếm mù phổ biến, thường sử dụng lý thuyết đồ thị Chúng ta vào thuật toán từ tư tng ca thut toỏn ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. cho ti gi mó v bc thuật toán để làm rõ cách thức hoạt động thuật toán a) Tư tưởng thuật toán Ta giả sử đầu vào thuật toán đồ thị G = (V, E), ta phải thực lập lịch duyệt cho đỉnh đồ thị G Việc duyệt đỉnh ưu tiên cho đỉnh gần với duyệt trước Tức mức thấp khơng gian tốn, duyệt theo chiều từ trái sang phải ngược lại mức tiếp theo, khơng thấy lời giải mức chuyển xuống mức kế để tiếp tục đến tìm lời giải (nếu có) Ta xét ví dụ sau: Ví dụ : Bắt đầu ta thăm đỉnh S Việc thăm đỉnh S phát sinh thứ tự duyệt đỉnh (x[1], x[2], ,x[p]) kề với S (những đỉnh gần S nhất) Khi thăm đỉnh x[1] lại phát sinh yêu cầu duyệt đỉnh (u[1], u[2], , u[q]) kề với x[1] Nhưng rõ ràng đỉnh u xa S đỉnh x nên chúng duyệt tất đỉnh x duyệt xong Tức thứ tự duyệt đỉnh sau thăm x[1] : (x[2], x[3], , x[p], u[1], u[2], , u[q]) Hình minh họa thứ tự duyệt thuật tốn tìm kiếm theo chiều rộng: ta nhận thấy trình duyệt đồ thị Sx1 x2  xp u1  u2  b) Giải thuật thuật toán: - Input: đồ thị G= (V,E) với đỉnh gốc s0 ( trạng thái đầu) Tập đích Goals - Output: đường p từ n0 đến đỉnh f tập Goals Thuật toán sử dụng cấu trúc liệu hàng đợi (Queue) để lưu trữ thông tin trung gian trình tìm kiếm (ở dễ hiểu đỉnh đợi duyệt) Tương tự với tìm kiếm theo chiều sâu, bước cho giải thuật tỡm kim theo chiu rng nh sau : ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. Bc 1: Khởi tạo - Các đỉnh trạng thái chưa đánh dấu, trừ đỉnh xuất phát s đánh dấu - Một hàng đợi Q (tổ chức dạng hàng đợi Queue), ban đầu có phần tử s Hàng đợi dùng để chứa đỉnh duyệt theo thứ tự ưu tiên chiều rộng Bước 2: Lặp lại bước sau hàng đợi rỗng: - Nếu hàng đợi rỗng, khơng thấy đỉnh đích, thơng báo “ khơng tìm thấy” , dừng - Hàng đợi không rỗng, lấy u khỏi hàng đợi , thông báo thăm u (bắt đầu duyệt đỉnh u, lần duyệt đầu u s) - Kiếm tra u có phải đỉnh đích t khơng  Nếu trả u, dừng vòng lặp, sang bước  Nếu sai tiếp tục chương trình - Xét tất đỉnh v kề với u mà chưa đánh dấu, với đỉnh v đó:  Đánh dấu v  Ghi nhận đường từ v đến u  Đấy v vào hàng đợi (v chờ duyệt bước sau) Bước 3: Truy ngược lại đường Giả mã: For (mọi v thuộc V) Free[v] := True; Free[s] :=False {khởi tạo ban đầu có đỉnh s bị đánh dấu} Queue := rỗng; Push(s); { Khởi tạo hàng đợi ban đầu gồm đỉnh s} Repeat {lặp tới hàng đợi rỗng} u := Pop; {lấy từ hàng đợi đỉnh u} For (với v thuộc V : Free[v] and ((u v) thuộc E)) {xét đỉnh v kề u chưa vào hàng đợi} Begin Trace[v] := u; { Lưu vết đường đi} Free[v] := False ; {đánh dấu v} Push(v); {đẩy v vào hàng đợi} End; Until Queue = rng; ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. {thụng bỏo t s cú thm tới đỉnh v mà Free[v] = False}; If Free[f] then {s tới f} {truy theo vết từ f để tìm đường từ s  f}; c) Nhận xét :  Có thể có nhiều đường từ s tới f thuật tốn BFS ln trả đường ngắn (theo nghĩa qua cạnh nhất)  Quá tình tìm kiếm theo chiều rộng cho ta BFS gốc s Quan hệ cha – định nghĩa : từ đỉnh u tới thăm đỉnh v u nút cha nút v Hình biểu diễn BFS: Ưu điểm - Kỹ thuật tìm kiếm rộng kỹ thuật vét cạn khơng gian trạng thái tốn tìm lời giải có - Đường tìm thỏa mãn qua đỉnh Nhược điểm - Tìm kiếm lời giải theo thuật tốn định trước, tìm kiếm cách máy móc; khơng có thơng tin bổ trợ cho q trình tìm kiếm, khơng nhận lời giải - Khơng phù hợp với khơng gian tốn có kích thước lớn Đối với loại tốn phương pháp tìm kiếm chiều rộng đối diện với khó khăn nhu cầu:  Cần nhiều nhớ theo số nút cần lưu trữ  Cần nhiều công sức xử lý nút, nhánh dài, số nút tăng  Dễ thực thao tác khơng thích hợp , thừa, đưa đến việc tăng đáng kể số nút phải xử lý - Không hiệu lời giải sâu Phương pháp khơng phù hợp cho trường hợp có nhiều đường dẫn đến kết sâu - Giao tiếp với người dùng không thân thiện Do duyệt qua tất nút, việc tìm kiếm khơng tập trung vào ch ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. d) phc Quỏ trỡnh tỡm kim đồ thị đỉnh thăm tất đỉnh cịn lại, cách biểu diễn đồ thị có ảnh hưởng lớn tới chi phí thời gian thực giải thuật:  Trong trường hợp ta biểu diễn đồ thị danh sách kề, thuật tốn BFS có độ phức tạp tính tốn O(n+m) = O(max(n,m)) Đây cách cài đặt tốt  Nếu ta biểu diễn đồ thị ma trận kề độ phức tạp tính tốn trường hợp O(n+n2 ) = O(n2 )  Nếu ta biểu diễn đồ thị danh sách cạnh, thao tác duyệt đỉnh kề với đỉnh u dẫn tới việc duyệt toàn danh sách cạnh, cách cài đặt tồi tệ nhất, có độ phức tạp tính tốn O(n.m) Bài tốn Puzzle Một bảng 3x3 với có số từ -> ô trống , đặt vị trí ngẫu nhiên , trống số đổi chỗ cho , tìm cách di chuyển cho số thứ tự Trạng thái ban u Trng thỏi ớch Thut toỏn BFS: ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15. ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.ãỏằã.ti.tơm.hiỏằu ci.ỏÃt.thuỏưt.toĂn.breath.first.search.cho.bi.toĂn.tr.ỏằ.8..v.15.

Ngày đăng: 02/11/2023, 00:37

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w