giâiqùyê t câ+c vâ n đê0 trong xâ hoi vâ viêc phâ+t triê.n kinh tê đâng đựơc nhâ nựơ+ckhùyê n khì+ch vâ đâ0ù tự râ t lơ+n.Trên thê giơ+i cùng nhự Viêt Nâm, CNTT cơ ânh hựơng râ t mânh mê
TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUN ĐỀ HỌC PHẦN NHẬP MƠN TRÍ TUỆ NHÂN TẠO ĐỀ TÀI: ÁP DỤNG THUÂT TOÁN NHÁNH CẬN VÀO BÀI TỐN XẾP BA LƠ Sinh viên thực : LÊ VIỆT LÂM BÙI VŨ HỒNG NGUYỄN ĐÌNH HIỆU Giảng viên hướng dẫn : NGÔ TRƯỜNG GIANG Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : CÔNG NGHỆ PHẦN MỀM Lớp : D13CNPM4 Khóa : 2018-2023 Hà Nội, tháng 10 năm 2020 Sinh viên thự c hiện: Họ tên PHIẾU CHẤM ĐIỂM Chữ ký Ghi Lê Việt Lâ m Bù i Vũ Hồ ng Nguyễn Đình Hiệu Giả ng viên chấ m: Họ tên Chữ ký Ghi Giả ng viên chấ m : Giả ng viên chấ m : Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Mục Lục Danh Mụ c Hình Ả nh Chương : Cơ Sở Lý Thuyết 1.1 Tổ ng quan trí tuệ nhâ n tạ o 1.1.1 Trí tuệ nhâ n tạ o 1.1.2 Ứ ng dụ ng trí tuệ nhâ n tạ o 1.1.3 Phâ n loạ i trí tuệ nhâ n tạ o AI 1.1.4 Mộ t số ứ ng dụ ng AI điển hình 10 1.1.5 Hạ n Chế AI 11 1.2 Thuậ t toá n Nhá nh Cậ n 12 1.2.1 Mơ hình củ a kĩ thuậ t nhá nh cậ n 12 Chương 2: Á p dụ ng thuậ t toá n nhá nh cậ n giả i bà i tố n xếp ba lơ .14 2.1 Mơ tả bà i tố n 14 2.1.1 Định nghĩa 14 2.1.2 Các bà i toá n xếp ba lô thườ ng gặ p 14 2.1.3 Độ phứ c tạ p 15 2.2 Mơ hình hó a bà i toá n 17 2.3 Cá c bướ c giả i bà i toá n 18 2.3.1 Giả i bà i toá n bằ ng thuậ t toá n nhá nh cậ n 18 2.3.2 Xâ y dự ng cá c hà m 20 2.4 Kết Quả Thự c Nghiệm 24 2.4.1.Giao diện ban đầ u 24 2.4.2 Kết 24 KẾ T LUẬ N 25 Tà i Liệu Tham Khả o 26 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Danh Mục Hình Ảnh Hình 1.1 AI - Trí tuệ nhâ n tạ o gì, nhữ ng ứ ng dụ ng……………………… ……6 Hình 1.2 Mộ t số ví dụ ng nghệ trí tuệ nhâ n tạ o………………………………8 Hình 1.3 nh phim "I, Robot" i mộ t AI tiến hó a, sau dồ n ngườ i o nh "nô lệ" vớ i danh nghĩa bả o vệ ngườ i………………… 11 Hình 2.1: Ví dụ ……………………………………………………………………17 Hình 2.2: Sơ đồ giả i thuậ t……………………………………………….……… 19 Hình 2.3:Giao diện chương trình…………………………………………………24 Hình 2.4 : Kết đạ t đượ c……………………………………………………….24 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo LỜI MỞ ĐẦU Ngà y nay, ng ta bướ c o kỷ 21, kỷ nguyên củ a Cô ng nghệ thô ng tin, đặ c biệt trí tuệ nhâ n yếu tố quan trọ ng nhấ t định nh cô ng củ a mỗ i ngà nh hay mỗ i quố c gia Trí tuệ nhâ n tạ o m thay đổ i cuộ c số ng củ a ng ta, vớ i phá t triển mạ nh mẽ củ a việc p dụ ng cá c nghiên u trí tuệ nhâ n tạ o p dụ ng cho cuộ c số ng Tấ t 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 p dụ ng trí tuệ nhâ n mộ t cá ch rộ ng rã i, Việc p dụ ng trí tuệ nhâ n tạ o để giả i cá c vấ n đề xã hộ i việc phá t triển kinh tế đượ c nhà nướ c khuyến khích đầ u tư rấ t lớ n Trên giớ i cũ ng Việt Nam, CNTT có ả nh hưở ng rấ t mạ nh mẽ đến phá t triển củ a đấ t nướ c giớ i đặ c biệt trí tuệ nhâ n tạ o Nó chở nh mộ t yếu tố khơ ng thể thiếu có tính định đến nh cô ng hay thấ t bạ i củ a nhiều ngà nh nướ c ta, CNTT phá t triển vớ i tố c độ mạ nh mẽ đượ c ứ ng dụ ng rộ ng rã i tấ t cá c lĩnh vự c, đặ c biệt cô ng tá c ứ ng dụ ng cô ng nghệ o cuộ c số ng Như ng ta biết, sứ c mạ nh củ a mộ t kinh tế phụ thuộ c rấ t lớ n o cá c hoạ t độ ng nướ c củ a cá c doanh nghiệp, vậ y nh cô ng kinh doanh củ a doanh nghiệp khô ng nhữ ng mụ c tiêu củ a riêng doanh nghiệp, mà cị n nhâ n tố định vị củ a đấ t nướ c trườ ng quố c tế Việc đưa AI o p dụ ng cho cá c doanh nghiệp cá c ngà nh y tế, cô ng nghiệp nặ ng đượ c ưu tiên phá t triển mạ nh mẽ Tạ i Việt Nam, Nhà nướ c o phá t triển dịch vụ , đầ u tư mạ nh mẽ o trí tuệ nhâ n tạ o hay cò n gọ i AI Vì thế, việc đầ u phá t triển mộ t xu rấ t hot rấ t đượ c ưu chuộ ng nà y Chính vậ y thơ ng qua việc họ c mơ n trí tuệ nhâ n tạ o (AI) nhó m em nghĩ mộ t ý tưở ng nhỏ “á p dụ ng thuậ t toá n nhá nh cậ n o bà i tố n balo” Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 1.1Tổng quan trí tuệ nhân tạo 1.1.1 Trí tuệ nhân tạo (AI: Artificial Intelligence) đượ c định nghĩa mộ t ngà nh củ a khoa họ c má y tính liên quan đến việc tự độ ng hó a cá c hà nh vi thô ng minh. AI mộ t phậ n củ a khoa họ c má y tính phả i đượ c đặ t nhữ ng nguyên lý lý thuyết vữ ng chắ c, có khả nă ng ứ ng dụ ng đượ c củ a lĩnh vự c nà y AI, trí tuệ nhâ n tạ o mơ phỏ ng q trình hoạ t độ ng trí tuệ củ a ngườ i, bao gồ m trình họ c tậ p (thu thậ p thô ng tin cá c quy tắ c để sử dụ ng thô ng tin), lậ p luậ n (sử dụ ng cá c quy tắ c để đạ t đượ c kết luậ n gầ n đú ng), tự sử a lỗ i 1.1.2 Ứng dụng trí tuệ nhân tạo Mộ t số ứ ng dụ ng sử dụ ng trí tuệ nhâ n tạ o AI bao gồ m hệ chuyên gia (expert system), cá c ứ ng dụ ng nhậ n diện giọ ng i cá c ứ ng dụ ng machine vision Hình 1.1 AI - Trí tuệ nhâ n tạ o gì, nhữ ng ứ ng dụ ng Trí tuệ nhâ n tạ o, AI đượ c đặ t tên bở i nhà khoa họ c má y tính ngườ i Mỹ, John McCarthy o nă m 1956 tạ i Hộ i nghị Dartmouth Ngà y thuậ t ngữ AI đượ c bổ sung thêm tự độ ng hó a quy trình bằ ng Robot Robot thự c tế Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Thờ i gian gầ n nổ i lên thuậ t ngữ mớ i có tên Big Data hay gia tă ng tố c độ , kích thướ c thu thậ p cá c liệu doanh nghiệp đa ng AI thự c cá c tá c vụ xá c định cá c mẫ u liệu hiệu ngườ i, cho phép cá c doanh nghiệp hiểu rõ liệu củ a 1.1.3 Phân loại trí tuệ nhân tạo AI Trí tuệ nhâ n tạ o đượ c phâ n loạ i theo nhiều cá ch c nhau, dướ i đâ y ví dụ điển hình phâ n loạ i trí tuệ nhâ n tạ o Đầ u tiên phâ n loạ i trí tuệ nhâ n tạ o AI theo hệ thố ng bao gồ m trí tuệ nhâ n tạ o mạ nh hoặ c yếu Trí tuệ nhâ n tạ o yếu hay cị n đượ c gọ i Narrow AI, hệ thố ng trí tuệ nhâ n tạ o đượ c thiết kế đà o tạ o cho cá c tá c vụ cụ thể Cá c trợ lý ả o chẳ ng hạ n Siri củ a Apple mộ t ng trí tuệ nhâ n tạ o yếu Trí tuệ nhâ n tạ o mạ nh cị n đượ c gọ i Artificial General Intelligence hay trí tuệ nhâ n tạ o tổ ng hợ p, hệ thố ng AI đượ c trang bị khả nă ng nhậ n thứ c tổ ng t củ a ngườ i để thự c tá c vụ khơ ng quen thuộ c, đủ thơ ng minh để tìm cá c giả i phá p Phép thử Turing đượ c phá t triển bở i nhà toá n họ c Alan Turing o nă m 1950 phương phá p đượ c sử dụ ng để xá c thự c xem mộ t má y tính có nhữ ng suy nghĩ giố ng ngườ i hay khô ng, mặ c dù phương phá p nà y gâ y nhiều tranh cã i Ví dụ thứ từ Arend Hintze, mộ t trợ lý giá o sư sinh họ c hợ p nhấ t khoa họ c má y tính kỹ thuậ t tạ i Đạ i họ c bang Michigan Ô ng phâ n loạ i trí tuệ nhâ n tạ o AI nh loạ i, từ loạ i hệ thố ng AI đến hệ thố ng m giá c, mà chưa tồ n tạ i Loại 1: Máy phản ứng Mộ t ví dụ điển hình Deep Blue, chương trình cờ vua củ a IBM đá nh bạ i Garry Kasparov o nhữ ng nă m 1990 Deep Blue xá c định cá c phầ n bả ng cờ vua dự n, khơ ng có nhớ khơ ng thể sử dụ ng nhữ ng kinh nghiêm khứ để thô ng bá o cho ngườ i tương lai Nó phâ n tích cá c độ ng thá i củ a đố i thủ , chọ n mộ t độ ng thá i chiến lượ c nhấ t Deep Blue AlphaGO củ a Google đượ c thiết kế cho mụ c đích hẹp khơ ng thể dễ dà ng p dụ ng cho tình huố ng c Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Loại 2: Bộ nhớ hạn chế Cá c hệ thố ng AI nà y sử dụ ng cá c kinh nghiệm khứ để đưa cá c định tương lai Mộ t số c nă ng định loạ i xe tự i đượ c thiết kế dự a cá ch nà y Cá c quan sá t đượ c sử dụ ng để thô ng bá o cho cá c hà nh độ ng xả y tương lai khô ng xa, chẳ ng hạ n mộ t xe thay đổ i n đườ ng Nhữ ng quan sá t nà y khô ng đượ c lưu trữ vĩnh viễn Loại 3: Lý thuyết. Đâ y mộ t thuậ t ngữ tâ m lý Thuậ t ngữ nà y đề cậ p đến việc hiểu đượ c rằ ng ngườ i có niềm tin, ham muố n ý định củ a họ ả nh hưở ng đến định củ a họ Tuy nhiên loạ i AI nà y chưa tồ n tạ i Loại 4: Tự nhận thức. Vớ i phâ n loạ i nà y, hệ thố ng AI có ý thứ c bả n thâ n Cá c má y có ý thứ c tự giá c hiểu đượ c trạ ng thá i tạ i củ a ng sử dụ ng thơ ng tin để suy nhữ ng ngườ i c m nhậ n Loạ i AI nà y vẫ n chưa tồ n tạ i Hình 1.2 Mộ t số ví dụ ng nghệ trí tuệ nhâ n tạ o - Tự độ ng hó a trình tạ o hệ thố ng hoặ c c nă ng xử lý tự độ ng Ví dụ tự độ ng hó a quy trình bằ ng Robot để thự c cá c tá c vụ khố i lượ ng lớ n mà ngườ i thườ ng xuyên lặ p lạ i Tự độ ng hó a quy trình bằ ng Robot c vớ i tự độ ng hó a ng nghệ thơ ng tin chỗ thích nghi vớ i cá c hoà n nh thay đổ i c Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo - Machine Learning khoa họ c để mộ t má y tính thự c hà nh độ ng mà khô ng cầ n lậ p trình Deep Learning tậ p hợ p củ a Machine Learning, vớ i cá c thuậ t ngữ đơn giả n, đượ c coi tự độ ng hó a củ a cá c phâ n tích tiên đố n Có thuậ t toá n Machine Learning, bao gồ m: Supervised Learning (họ c có giá m sá t), tậ p hợ p liệu đượ c gắ n nhã n cho cá c mẫ u đượ c phá t sử dụ ng để gắ n nhã n cá c tậ p liệu mớ i Tiếp theo Unsupervised Learning (họ c khơ ng có giá m sá t), tậ p hợ p liệu khô ng đượ c dá n nhã n đượ c sắ p xếp theo phâ n loạ i tương đồ ng hoặ c c biệt Và cuố i cù ng Reinforcement Learning (họ c tă ng cườ ng), tậ p hợ p liệu khơ ng đượ c dá n nhã n, sau thự c mộ t hà nh độ ng hoặ c mộ t số hà nh độ ng, hệ thố ng AI đượ c phả n hồ i - Machine Vision (hệ thố ng nhậ n ng điều khiển dự a hình ả nh) khoa họ c m cho má y tính nhìn thấ y đượ c Machine Vision thu thậ p phâ n tích thị giá c thơ ng tin bằ ng cá ch sử dụ ng mộ t camera, chuyển đổ i từ kỹ thuậ t số xử lý tín hiệu số Nó thườ ng đượ c so sá nh vớ i thị giá c củ a ngườ i, machine vision khô ng bị rà ng buộ c bở i sinh họ c đượ c lậ p trình để xem qua cá c bứ c tườ ng Ví dụ điển hình machine vision đượ c sử dụ ng mộ t loạ t ứ ng dụ ng từ nhậ n ng chữ ký để phâ n tích hình ả nh y tế Machine Vision, tậ p trung xử lý hình ả nh dự a má y - Xử lý ngô n ngữ tự nhiên (Natural Language Processing - NLP) q trình xử lý ngơ n ngữ má y tính củ a ngườ i khô ng phả i má y tính Mộ t nhữ ng ví dụ nổ i tiếng nhấ t phả i kể đến phá t thư rá c, xem dò ng chủ đề vă n bả n củ a mộ t email định xem có phả i thư rá c hay khô ng NLP xử lý cá c tá c vụ bao gồ m dịch vă n bả n, phâ n tích tình m nhậ n ng giọ ng i - Nhậ n ng mẫ u (Pattern recognition) mộ t phầ n củ a Machine Learning, tậ p trung o việc xá c định cá c mẫ u liệu -Robotics mộ t lĩnh vự c kỹ thuậ t tậ p trung o việc thiết kế sả n xuấ t robot Robot thườ ng đượ c sử dụ ng để thự c cá c tá c vụ khó khă n cho ngườ i, đượ c sử dụ ng dâ y chuyền lắ p rá p để sả n xuấ t ô tô hoặ c NASA vậ n chuyển cá c vậ t thể to lớ n khô ng gian Gầ n hơn, cá c nhà nghiên u sử dụ ng machine learning để xây dự ng cá c robot tương tá c mơ i trườ ng xã hộ i Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 1.1.4 Một số ứng dụng AI điển hình Dướ i đâ y mộ t số ứ ng dụ ng điển hình củ a trí tuệ nhâ n tạ o: - AI lĩnh vực chăm sóc sức khỏe: AI gó p phầ n i thiện tình trạ ng sứ c khỏ e bệnh nhâ n, đồ ng thờ i giả m cá c chi phí điều trị Cá c ng ty p dụ ng Machine Learning để chẩ n n nhanh tố t ngườ i Mộ t nhữ ng cô ng nghệ chă m só c sứ c khỏ e tố t nhấ t phả i kể đến IBM Watson, có khả nă ng hiểu đượ c cá c ngô n ngữ tự nhiên có khả nă ng phả n hồ i câ u hỏ i đượ c yêu cầ u Hệ thố ng nà y khai thá c liệu bệnh nhâ n cá c nguồ n liệu sẵ n có c để tạ o giả thuyết Sau , trình bà y mộ t lượ c đồ điểm tin cậ y Cá c ứ ng dụ ng c củ a AI bao gồ m chatbot, chương trình má y tính trự c tuyến để trả lờ i cá c câ u hỏ i hỗ trợ ch hà ng, sắ p xếp cá c cuộ c hẹn hoặ c trợ giú p bệnh nhâ n thô ng qua trình tố n cá c trợ lý y tế ả o cung cấ p phả n hồ i y tế bả n - AI lĩnh vực kinh doanh: Tự độ ng hó a quy trình bằ ng Robot đượ c p dụ ng cho tá c vụ mà ngườ i thự c lặ p lặ p lạ i Thuậ t toá n Machine Learning đượ c tích hợ p cá c tả ng phâ n tích CRM để m phá cá c thô ng tin cá ch phụ c vụ ch hà ng tố t Chatbots đượ c tích hợ p cá c trang web để cung cấ p dịch vụ lậ p tứ c cho ch hà ng - AI lĩnh vực giáo dục: AI tự độ ng phâ n loạ i, giú p ngườ i m giá o dụ c tiết kiệm mộ t khoả ng thờ i gian đá ng kể AI đá nh giá sinh viên thích ứ ng vớ i nhu cầ u củ a họ Đồ ng thờ i AI hỗ trợ thêm cho sinh viên m thêm cô ng việc gia sư, đả m bả o rằ ng họ đú ng hướ ng - AI lĩnh vực tài chính: AI p dụ ng cho cá c ứ ng dụ ng tà i cá nhâ n Mint hay Turbo Tax, tă ng cườ ng cá c định chế tà i Mộ t số ứ ng dụ ng c IBM Watson đượ c p dụ ng AI nà y cho cá c giao dịch mua bá n nhà - AI lĩnh vực pháp luật: Quá trình m phá , chọ n lọ c thô ng qua cá c tà i liệu luậ t phá p thườ ng p đả o đố i vớ i ngườ i Tự độ ng hó a q trình nà y giú p tiết kiệm thờ i gian trình m việc hiệu Startups cũ ng xâ y dự ng cá c trợ lý ả o cho má y tính hỏ i trả lờ i cá c câ u hỏ i đượ c lậ p trình Hơn nữ a, ng sà ng lọ c cá c câ u hỏ i đượ c lậ p trình để trả lờ i bằ ng cá ch kiểm tra phâ n loạ i - AI lĩnh vực sản xuất: Đây lĩnh vự c đầ u việc kết hợ p robot o luồ ng cô ng việc Robot cô ng nghiệp đượ c sử dụ ng để thự c cá c nhiệm vụ đơn lẻ đượ c tá ch khỏ i ngườ i Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 10 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Mơ hình củ a kĩ thuậ t nhá nh cậ n sau: Procedure Branch(i); begin i>; if (việc thử cịn hi vọng tìm cấu hình tốt hơn) then if (xi là phầ n tử cuố i cù ng cấ u hình) then else begin < ghi nhậ n giá trị J cho xi >; Branch(i+1); i>; end; end; Như vậ y việc bỏ thao tá c thừ a mơ hình việc thêm o dị ng lệnh if (việc thử cịn hi vọng tìm cấu hình tốt hơn) then Điều nà y có nghĩa tạ i mỗ i bướ c giá trị thử cho xi khơ ng cị n hi vọ ng tìm cấ u hình tố t thử giá trị c mà khô ng cầ n gọ i đệ quy hay ghi nhậ n cấ u hình vậ y nghiệm củ a bà i tố n đượ c m tố t dầ n bướ c sau tố i ưu bướ c vậ y cấ u hình cuố i cù ng cấ u hình tố i ưu nhấ t Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 13 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo CHƯƠNG 2: ÁP DỤNG THUẬT TỐN NHÁNH CẦN VÀO GIẢI QUYẾT BÀI TỐN XẾP BALO 2.1 Mơ tả tốn Bài tốn ba lơ là mộ t vấ n đề trong tố i ưu hó a tổ hợ p : Cho mộ t tậ p hợ p cá c mụ c, mỗ i mụ c có trọ ng lượ ng giá trị, hã y xá c định số lượ ng củ a mỗ i mụ c để đưa o mộ t sưu tậ p cho tổ ng trọ ng lượ ng nhỏ hoặ c bằ ng mộ t giớ i hạ n nhấ t định tổ ng giá trị cà ng lớ n cà ng tố t. Tên gọ i củ a bắ t nguồ n từ vấ n đề mà phả i đố i mặ t ngườ i bị bó buộ c bở i mộ t chiếc tú i có kích thướ c cố định và phả i lấ p đầ y vớ i nhữ ng mó n đồ có giá trị nhấ t. Vấ n đề thườ ng nả y sinh trong việc phâ n bổ nguồ n lự c trong đó nhữ ng ngườ i định phả i chọ n từ mộ t tậ p hợ p dự n hoặ c nhiệm vụ khô ng thể phâ n chia tương ứ ng vớ i mộ t ngâ n sá ch cố định hoặ c hạ n chế thờ i gian Bà i tố n ba lơ đượ c nghiên u mộ t kỷ, vớ i nhữ ng ng trình đầ u tiên có niên đạ i từ nă m 1897. Tên gọ i "bà i tố n ba lơ " có từ nhữ ng ng trình đầ u tiên củ a nhà tố n họ c Tobias Dantzig (1884– 1956), và đề cậ p đến vấ n đề phổ biến ng gó i nhữ ng vậ t dụ ng có giá trị hoặ c hữ u ích nhấ t mà khơ ng m tả i hà nh lý 2.1.1 Định nghĩa Dạ ng bà i toá n định củ a bà i toá n xếp ba lơ câ u hỏ i "có thể đạ t đượ c mộ t giá trị nhấ t theo phá t biểu củ a bà i tố n" Ta có n loạ i đồ vậ t, x1 tớ i xn Mỗ i đồ vậ t x i có mộ t giá trị pi và mộ t khố i lượ ng wj Khố i lượ ng tố i đa mà ta mang ba lơ C 2.1.2 Các tốn xếp ba lơ thường gặp Bà i xếp ba lô ng 0-1: Hạ n chế số đồ vậ t thuộ c mỗ i loạ i (khô ng đượ c chọ n) (đượ c chọ n) Bà i xếp ba lơ 0-1 đượ c phá t biểu bằ ng toá n họ c sau: n n i=1 i=1 Cự c đạ i hó a ∑ pi x i tù y thuộ c o ∑ pi x i ≤ W x i ∈ {0,1,2,3 , … , c } Bà i xếp ba lô bị chặ n : hạ n chế số đồ vậ t khô ng đượ c vượ t mộ t lượ ng nà o sau: Bà i xếp ba lơ bị chặ n đượ c phá t biểu bằ ng toá n họ c Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 14 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo n n i=1 i=1 Cự c đạ i hó a ∑ pi x i cho ∑ pi x i ≤ c x i=0 ho ặ c 1,j=1,2,…,n Bà i xếp ba lô khơ ng bị chặ n : Khơ ng có mộ t hạ n chế nà o số lượ ng đồ vậ t Trườ ng hợ p đặ c biệt Bà i tố n vớ i cá c tính chấ t: mộ t bà i toá n định mộ t bà i toá n 0/1 vớ i mỗ i đồ vậ t, chi phí bằ ng giá trị: C = V Lưu ý rằ ng trườ ng hợ p đặ c biệt nà y, bà i toá n tương đương vớ i: Cho mộ t tậ p cá c số nguyên, tồ n tạ i hay khơ ng mộ t tậ p có tổ ng đú ng bằ ng C? Hoặ c đồ vậ t đượ c phép có chi phí â m C đượ c chọ n bằ ng 0, bà i toá n có ng: Cho trướ c mộ t tậ p cá c số nguyên, tồ n tạ i hay khô ng mộ t tậ p có tổ ng đú ng bằ ng 0? Trườ ng hợ p đặ c biệt nà y đượ c gọ i bà i toá n tổ ng cá c tậ p con(subset sum problem) Vớ i mộ t số lý do, ngà nh mậ t mã họ c, ngườ i ta thườ ng dù ng cụ m từ "bà i toá n xếp ba lơ " thự c có ý i "bà i toá n tổ ng con" Bà i tố n xếp ba lơ thườ ng đượ c giả i bằ ng quy hoạ ch độ ng, chưa có mộ t thuậ t tố n thờ i gian đa thứ c cho bà i toá n tổ ng t Cả bà i xếp ba lô tổ ng t bà i toá n tổ ng cá c bài NP-khó , điều nà y dẫ n đến cá c cố gắ ng sử dụ ng tổ ng m sở cho cá c hệ thố ng mậ t mã hó a khó a ng khai, chẳ ng hạ n Merkle-Hellman Cá c cố gắ ng nà y thườ ng dù ng nhó m thay cá c số nguyên Merkle-Hellman mộ t số thuậ t toá n tương tự c bị phá , cá c toá n tổ ng cụ thể mà họ tạ o thự c lạ i giả i đượ c bằ ng cá c thuậ t toá n thờ i gian đa thứ c 2.1.3 Độ phức tạp Bà i toá n knapsack thú vị từ gó c độ khoa họ c má y tính nhiều lý do: Dạ ng bà i toá n định củ a tố n ba lơ ( Có thể đạ t đượ c giá trị Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 15 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo nhấ t V mà khô ng vượ t trọ ng số W khô ng? ) Là NP-đầ y đủ , khơ ng có thuậ t toá n nà o đượ c biết vừ a đú ng vừ a nhanh (đa thứ c-thờ i gian) mọ i trườ ng hợ p Trong bà i tố n định hồ n nh NP, bà i tố n tố i ưu hó a khơ ng, việc giả i nhấ t cũ ng khó bà i tố n định khơ ng có thuậ t tố n đa thứ c nà o cho biết, đưa mộ t giả i phá p, liệu có phả i tố i ưu hay khô ng (nghĩa rằ ng khơ ng có giả i phá p nà o có V lớ n hơn , giả i vấ n đề định NP-đầy đủ ) Có mộ t thuậ t toá n thờ i gian giả đa thứ c sử dụ ng lậ p trình độ ng Có mộ t lượ c đồ xấ p xỉ thờ i gian đa thứ c đầ y đủ , sử dụ ng thuậ t toá n thờ i gian đa thứ c giả m chương trình con, đượ c mơ tả bên dướ i Nhiều trườ ng hợ p phá t sinh thự c tế, "cá c trườ ng hợ p ngẫ u nhiên" từ mộ t số bả n phâ n phố i, nhiên đượ c giả i xá c Có mộ t mố i liên hệ giữ a vấ n đề "quyết định" "tố i ưu hó a" chỗ tồ n tạ i mộ t thuậ t toá n đa thứ c giả i vấ n đề "quyết định" ngườ i ta tìm giá trị lớ n nhấ t cho bà i toá n tố i ưu hó a thờ i gian đa thứ c bằ ng cá ch p dụ ng thuậ t toá n nà y lặ p lặ p lạ i tă ng giá trị củ a k. Mặ t c, mộ t thuậ t toá n tìm đượ c giá trị tố i ưu củ a bà i toá n tố i ưu thờ i gian đa thứ c, bà i tố n định đượ c giả i thờ i gian đa thứ c bằ ng cá ch so sá nh giá trị củ a kết giả i củ a thuậ t toá n nà y vớ i giá trị củ a k. Do , hai phiên bả n củ a vấ n đề có độ khó tương tự Mộ t chủ đề tà i liệu nghiên u xá c định cá c trườ ng hợ p "khó " củ a vấ n đề cá i ba lô trô ng nà o, hoặ c nhìn theo cá ch c, để xá c định nhữ ng đặ c tính nà o củ a cá c trườ ng hợ p thự c tế khiến ng dễ giả i trườ ng hợ p xấ u nhấ t củ a ng Hà nh vi NP-hoà n n gợ i ý. Mụ c tiêu việc tìm kiếm cá c cá thể "cứ ng" nà y để sử dụ ng chú ng trong cá c hệ thố ng mậ t mã khó a cô ng khai , chẳ ng hạ n hệ thố ng mậ t mã Merkle-Hellman knapsack Hơn nữ a, đá ng ý thự c tế độ ng củ a bà i toá n cá i ba lơ phụ thuộ c o hình thứ c củ a đầ u o. Nếu trọ ng số lợ i nhuậ n đượ c cho dướ i ng số ngun, NP-đầ y đủ yếu , NP-đầy đủ mạ nh nếu trọ ng số lợ i nhuậ n đượ c cho dướ i ng số hữ u tỉ. Tuy nhiên, trườ ng hợ p trọ ng số hữ u tỉ lợ i nhuậ n, vẫ n thừ a nhậ n mộ t lượ c đồ gầ n đú ng thờ i gian đa thứ c đầ y đủ Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 16 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 17 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 2.2 Mơ hình hóa tốn Ví dụ mộ t tố n xếp ba lô giớ i hạ n chiều: chọ n cá c hộ p nà o để m cự c đạ i lượ ng tiền giữ đượ c tổ ng khố i lượ ng dướ i 15 kg? Bà i tố n đa chiều xét đến khố i lượ ng riêng kích thướ c củ a cá c hộ p, bà i tố n xếp vali điển hình (packing problem) Hình 2.1: Ví dụ (Giả i phá p: mỗ i hộ p có sẵ n số lượ ng bấ t kỳ có ba hộ p mà u ng ba hộ p mà u xá m; có cá c hộ p đượ c hiển thị có tấ t trừ hộ p mà u xanh lụ c.) InPut:Loạ i đồ vậ t, Số lượ ng đồ vậ t mỗ i loạ i,hạ n mứ c balo,câ n nặ ng giá trị từ ng vậ t OutPut:Số lượ ng đồ vậ t mỗ i loạ i a,Tổ ng giá trị củ a cá c vậ t đượ c chọ n lớ n nhấ t , tổ ng câ n nặ ng cá c vậ t đượ c chọ n Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 18 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 2.3 Các bước giải tốn Giả i ví dụ ta có bả ng sau Hạ n mứ c Số Lượ ng 1 1 Giá trị 10 12 Trọ ng lượ ng B1: Hoá n đổ i vị trí cá c phầ n tử cho giá trị trọ ng lượ ng vậ t (giatri / trongluong) sắ p xếp giả m dầ n B2: Lự a chọ n vậ t o ba lô cho tổ ng giá trị cá c vậ t đượ c chọ n lớ n nhấ t mà khô ng vượ t sứ c a củ a ba lô B3 : Tổ ng kết lạ i cá c vậ t phẩ m chọ n => Kết ta tìm đượ c : Tổ ng giá trị 15$ ; Vậ t cầ n lấ y gồ m 2,3,4,5 ; Tổ ng khố i lượ ng cá c vậ t lấ y 15kg, Khố i lượ ng balo cò n trố ng 0kg 2.3.1 Giải toán thuật toán nhánh cận Sắ p xếp tấ t mụ c theo thứ tự giả m dầ n củ a tỷ lệ giá trị đơn vị trọ ng lượ ng để tính giớ i hạ n bằ ng cá ch sử dụ ng Phương phá p tiếp cậ n Tham lam Khở i tạ o lợ i nhuậ n tố i đa, maxProfit = Tạ o mộ t hà ng đợ i trố ng, Q Tạ o mộ t nú t giả củ a câ y định xếp o hà ng Q Lợ i nhuậ n trọ ng lượ ng củ a nú t giả bằ ng Là m theo sau Q khơ ng trố ng Trích xuấ t mộ t mụ c từ Q Gọ i mụ c đượ c trích xuấ t u Tính tố n lợ i nhuậ n củ a nú t cấ p tiếp theo. Nếu lợ i nhuậ n nhiều maxProfit, hã y cậ p nhậ t maxProfit Tính giớ i hạ n củ a nú t cấ p tiếp theo. Nếu giớ i hạ n nhiều maxProfit, hã y thêm nú t cấ p o Q Hã y xem xét trườ ng hợ p nú t cấ p khô ng đượ c coi mộ t phầ n củ a giả i phá p thêm mộ t nú t o hà ng đợ i vớ i cấ p tiếp theo, trọ ng số lợ i nhuậ n mà khơ ng tính đến cá c nú t cấp Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 19 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Đầ u o: // Điều đầ u tiên mỗ i cặ p trọ ng lượ ng củ a mặ t hà ng // điều thứ hai giá trị củ a item Ví dụ : Mụ c arr [] = {{2, 40}, {3,14, 50}, {1,98, 100}, {5, 95}, {3, 30}}; Dung lượ ng Knapsack W = 10 Đầ u ra: Lợ i nhuậ n tố i đa = 235 Sơ đồ dướ i đâ y minh họ a Cá c mặ t hà ng đượ c coi sắ p xếp theo giá trị / trọ ng lượ ng Hình 2.2: Sơ đồ giả i thuậ t Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 20 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.d€.t€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Lưu ý: Hình ả nh khơ ng t n thủ nghiêm ngặ t thuậ t toá n / mã khơ ng có nú t giả hình ả nh 2.3.2 Xây dựng hàm Hà m khở i tạ o: struct Item { public float Weight; public float Value; public string Name; }; struct Node { public float weight, profit, bound; public int level,brand; }; Hà m kiểm tra tỷ lệ bool comp(Item a, Item b) { float r1 = a.Value / a.Weight; float r2 = b.Value / b.Weight; return r1 < r2; } Hà m bound float bound(Node v, float maxItem, float W, Item[] arr) { Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 21 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo if (v.weight >= W) return 0; float profit_bound = v.profit; int j = v.level + 1; float totweight = v.weight; while ((j < maxItem) && (totweight + arr[j].Weight -1) { Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 23 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo x++; v.brand = x; } if (v.weight maxProfit) Q.Enqueue(v); v.weight = u.weight; v.profit = u.profit; v.bound = bound(v, maxItem, W, arr); if (v.bound > maxProfit) Q.Enqueue(v); } Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 24 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo return maxProfit; } 2.4 Kết Quả Thực Nghiệm 2.4.1.Giao diện ban đầu Hình 2.3:Giao diện chương trình 2.4.2 Kết Hình 2.4 : Kết đạ t đượ c Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 25 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo KẾT LUẬN Vớ i kiến thứ c tả ng đượ c họ c trườ ng bằ ng nỗ lự c củ a mình, ng em hồ n nh đề tà i “Áp dụng thuật toán nhánh cận giải tốn xếp ba lơ” Mặ c dù cố gắ ng rấ t nhiều thờ i gian kiến thứ c có hạ n nên chưa giả i đượ c tố t cá c vấ n đề đặ t Chú ng em rấ t mong nhậ n đượ c thô ng m gó p ý củ a thầ y để đề tà i củ a ng em đượ c hồ n thiện Đề củ a nhó m em hoà n nh đạ t đượ c nhữ ng kết sau: - Đã xâ y dự ng đượ c mộ t chương trình gồ m có cá c c nă ng bả n nhấ t - Đã tìm hiểu nắ m rõ thêm nhữ ng kiến thứ c ngô n ngữ lậ p trình C+ + ,C# Tuy nhiên, vẫ n cò n mộ t số hạ n chế như: - Mứ c độ tìm hiểu cị n sơ sà i, đơn giả n, chưa mang đến tính hiệu cao để giả i bà i toá n triệt để Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo 26 Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo Bao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.loBao.cao.chuyen.de.hoc.phan.nhap.mon.tri.tue.nhan.tao.deÌ€.taÌ€i.ap.dung.thuat.toan.nhanh.can.vao.bai.toan.xep.ba.lo