Đều có thể á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 quyết các vấn để trong xã hội và việc phát triển kinh tế đang được nhà nước khuyến khích và đầu tư
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
CÔNG NGHỆ
Đ
ÁP DỤNG THUẬT TOÁN NHÁNH CẬN VÀO BÀI TOÁN SẮP
XẾP BA LÔ
viên thực hiện LÊ HỒNG PHI
Giảng hướng dẫn VŨ VĂN ĐỊNH
CÔNG NGHỆ NGHỆ PHẦN Lớp
HÀ NỘI , THÁNG 11 NĂM 2023
Trang 2PHIẾU CHẤM ĐIỂM
viên thực hiện:
Lê Hồng Phi
Giảng
Giảng
Trang 3MỤC LỤC
LỜI MỞ ĐẦU
1.1 Tổng quan về trí tuệ nhân tạo……… Định nghĩa trí tuệ nhân tạo
Ứng dụng trí tuệ nhân tạo
loại trí tuệ nhân tạo AL
1.1.4 Một số ứng dụng Al điển hình……… 1.1.5 Hạn Chế Al
1.2 Thuật toán Nhánh Cận……… CHƯƠNG 2: ÁP DỤNG THUẬT TOÁN NHÁNH CẬN GIẢI QUYẾT BÀI TOÁN XẾP BA LÔ……… 2.1 Mô tả bài toán……… 2.1.1 Định nghĩa
2.1.2 Các bài toán xếp ba lô thường gặp
2.3 Các bước giải bài toán
2.3.1 Giải bải toán bằng thuật toán nhánh cận
2.3.2 Xây dựng các hàm
2.4 Kết Quả Thực Nghiệm
diện ban đầu
2.4.2 Kết quả
KẾT LUẬN
Trang 4LỜI MỞ ĐẦU
Ngày nay, chúng ta đã bước vào thế kỷ 21, kỷ nguyên của Công nghệ thông tin, đặc biệt là trí tuệ nhântạo ếu tố quan trọng nhất quyết định sự thành công của mỗi hay mỗi quốc gia Trí tuệ nhân tạo đã và đang làm thay đổi cuộ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ác nghiê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ư: đội, y tế, giáo dục, kinh tế thương mại, tài chính, Đều có thể á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 quyết các vấn
để trong xã hội và việc phát triển kinh tế đang được nhà nước khuyến khí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ó trở mộ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 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ẽ đượ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
Như chúng ta đã biết, sức mạnh của một nên kinh tế phụ thuộc rất lớn vào các hoạt động trong nước của các doanh nghiệp, vì vậy sự thành công trong kinh doanh của doanh nghiệp không những là mục tiêu của riêng doanh nghiệp, mà
nó còn là nhân tố quyết định vị thể của đất nước trên trưởng quốc tế Việc đưa
l vào áp dụng cho các doanh nghiệp và cá các ngành như y tế, công nghiệp nặng đang được ưu tiên và phát triển mạnh mẽ
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à A Vì thể, việc đó đầu nó và phát triển nó đang là một xu thế rất họt và rất được ưu chuộng hiện n
Chính vì vậy thông qua việc học môn trí tuệ nhân tạo (A ) em đã nghĩ ra một ý tưởng nhỏ đó là "áp dụng thuật toán nhánh cận vào bài toán sắp xếp
Trang 5CHƯƠNG 1: CƠ SỞ LÝ THUYẾT Tổng quan về trí tuệ nhân tạo
Định nghĩa trí tuệ nhân tạo
: Artificial Intelligence) có thể được định nghĩa như 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ôn
là một bộ phận của khoa học máy tính và đo đó nó phải được đặt trên 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
, trí tuệ nhân tạo là sự mô phóng các quá trình hoạt động trí tuệ củ người, bao gỗm quá trình học tập (thu thập thông tin và các quy tắc để sử dụng thông tỉn), lập luận (sử dụng các quy tắc để đạt được kết luận gần đúng), và tự sửa đổ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 nói và các ứng dụng machine
Trang 6Trí tuệ nhân tạo là gì , những ứng dụng.
Thời gian gần đây nổi lên thuật ngữ mới có tên Big Data hay gia tăng tốc độ, kích thước và thu thập các dữ liệu doanh nghiệp đa dạng A có thể thực hiện các tác vụ như xác định các mẫu trong dữ liệu hiệu quả hơn con người, cho phép các doanh nghiệp hiểu rõ hơn về dữ liệu của mình
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 khác nhau, dưới đây là 2 ví
dụ điển hình về phân loại trí tuệ nhân tạo
Đầu tiên là phân loại trí tuệ nhân tạo A 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 là Narrow A , là hệ thống trí tuệ nhân tạo được thiết kế và đào tạo cho các tác vụ cụ thể Các trợ lý
ảo chẳng hạn như Siri của Apple là một dạng trí tuệ nhân tạo yếu
Trí tuệ nhân tạo mạnh còn được gọi là Artificial General Intelligence hay : trí tuệ nhân tạo tổng hợp, là hệ thống A được trang bị khả năng nhận thức tổng quát của con người để khi thực hiện các tác vụ không quen thuộc, nó đủ thông minh để tìm ra các giái pháp Phép thử Turing được phát triển bởi nhà toán học Alan Turing vào năm 1950 là phương pháp được sử dụng để xác thực xem một máy tính có thể có những suy nghĩ giống con người hay không, mặc dù phương pháp này gây nhiều tranh cãi
dụ thứ 2 là từ Arend Hintze, một trợ lý giáo sư sinh học hợp nhất và khoa học máy tính và kỹ thuật tại Đại học bang Michigan Ông phân loại trí tuệ nhân tạo Al thành 4 loại, từ loại hệ thống Al hiện nay đến các hệ ống cả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 là Deep Blu , chương trình
cờ vua của IBM đánh bại Garry Kasparov vào những năm 1990 Deep Blue củ thể xác định các phần trên bằng cỡ vua và dự đoán, nhưng nó không có bô nhứ
Trang 7và không thể sử dùng những kinh nghiêm trong quá khứ để thông bá
người trong tương lai Nó phận tích các động thái của chính minh và đối thú, và chọn một động thái chiến lược nhất Deep Blue và AphaGO của Google được thiết kế cho mục đích hẹp và không thể dễ dàng áp dụng cho t huống
Loại 2: Bộ nhớ hạn chế Các hệ thống A này có thể sử dụng các kinh
nghiệm trong quá khứ để đưa ra các quyết định trong tương lai Một số chức năng ra quyết định trong các loại xe tự lái được thiết kể dựa trên 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 ra trong tương lai không xa, chẳng hạn như một chiếc xe đã thay đổi lần đường Những quan s này không được lưu trữ vĩnh viễn
Loại 3: Lý thuyết Đây là một thuật ngữ tâm lý Thuật ngữ này đề cập đến
việc hiểu được rằng con người có niềmtin, ham muốn và ý định của ch h họ ảnh hướng đến quyết đị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 A có ý thức về bản
thân Các máy có ý thức tự giác hiếu được trạng thái hiện tại của chúng và c thể sử dụng thông tin để suy ra những g người khác đang cảm nhận Loại A này vẫn chưa tồn tại
Hình 1.2 Một số ví dụ về công nghệ trí tuệ nhân tạo
Trang 8Tự động hóa là quá trình tạo ra hệ thống hoặc chức n g xử lý tự động ăn
Ví dụ như tự động hóa quy trình bằng Robot để thực hiện các tác vụ khối lượng lớn mà con người thườ ặp lại Tự động h quy trình bằng Robot khác với tự động hóa công nghệ thông tin ở chỗ ó thể thích nghi với các hoàn cảnh thay đổi khác nhau
Machine Learning là khoa học để một máy tính thực hiện các hành động không cần lập trình Deep Learning là tập hợp con của Machine Learing , với các thuật toán khá đơn giản, có thể được coi là tự động hóa của các phân tích tiên đoán
Có 3 thuật toán Machine Learning, bao gồm: (học có giảm sát), trong đó tập hợp dữ liệu được gắn mẫuđược phát hiện và sử dụng để gắn nhãn các tập dữ liệu mới Tiếp theo
(học không có sát), trong đó tập hợp dữliệu không được nhãn và được sắp xếp theo phân loại tương đồng hoặc khác biệt Và cuối c
(học tăng cường), trong đó tập hợp dữ liệu không được d nhưng sau khi thực hiện một hành động hoặc một số hành động,
hệ thống A được phản hồi
Machine Vision (hệ thống nhận dạng và điều khiến dựa nh ảnh) là khoa học làm cho máy tính có thể nhìn thấy được Machine Vision thu thập và phần tích thị giác thông tin bằng cách sử dụng một camera, chuyển đổi từ kg thuật số và xử lý tín hiệu số Nó thường được so sánh với thị giác của con người, nhưng machine vision không bị rằng buộc bởi sinh học và có thể được lập trình để xem qua các bức tườ Ví dụ điển hình là machine vision được sử dụng trong một loạt các ứng dụng từ nhận dạng chữ ký để phần tích hình ảnh y
tế Machinc Vision tập trung xử lý hình ảnh dựa
Xử lý ngôn ngữ tự nhiên (Natural L
trỉnh xử lý ngôn ngữ máy tính của con người chứ không phải y tính Một trong những v dụ nổi tiếng nhất phải kể đến phát hiện thư rác, xem đồng chủ đề
Trang 9và vấn bản của một emai và quyết định xem đ có phải là thư rác hay kh NLP xử lý các t ụbao gồm dịch vănbản, phân tích t nh cảm và nhận dạn
Nhận dạng ẫ tion) là một phần của Machine Learning trong đó Lập trung vào việc x định các mẫu trong dữ liệu
là một lĩnh vực ỹ thuật tập trung vào iệc thiết kế và sản xuất Robot thường được ử dụng để thực hiện các tác vụ khó khăn ch người, và được sự dùng trong d y chuyên lắp r p để sản xuất ô hoặc vận chuyển các vật thể to lớn Gần đây hơ
ên cứu đang sử dụng machine learning để xây dựng các robot có thể tương tác trong môi trường xã hội
4 Một số ứng dụng AI điển hình
Dưới đây là một số ứng dụng điển hình của trí tuệ nhân tạo:
trong lĩnh vực chăm sóc sức khỏe I góp phần cả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ị ty đang áp dụng Machine Learning để chấn đoán nhanh hơn và tốt hơn con người Một trong những công nghệ chăm sóc sức khốc tốt nhất phải kể đến
khả năng hiểu được c ngôn ngữ tự nhiên và có khả năng phảnhồi các câu hỏi được yêu cầu Hệ thống này khai thác dữliệu bệnh nhân và các nguồn dữ liệu sẵn có khác để tạo ra giả thuyết Sau đó, nó sẽ trình b mộtlược đồ điểm tin cậy Các ứng dụng khá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 và hỗ trợ khách hàng, sắp xếp các cuộc hẹn hoặc trợ ỏi giúp bệnh nhân thông qua quá tr các trợ lý y tế ảo cung cấp phản hỏi y tế cơ bản
trong lĩnh vực kinh doanh: Tự động hóa quy trình bằng Robot được áp
dụng cho các tác vụ mà con người thực hiện lặp đi lặp lại Thuật toán
Learning được tích hợp trên các nền ả n tích và CRM để
thông tin về cách phục vụ khách hàng tốt hơn Chatbots được tích hợp trên các
Trang 10trang web để cung cấp địch vụ ngay lập tức cho khách hàng.
trong lĩnh vực giáo dục có thể tự động loại, giúp người làm giáo dục có thể tiết kiệm một khoảng thời gian đáng kể A có thể đánh giá sinh viên và thích ứng với nhu cầu của họ Đồng thời A có thể hỗ trợ thêm cho sinh viên làm thêm công việc gia sư, đảm bảo rằng họ có thể đi đúng hướng
trong lĩnh vực tài chính áp dụng cho các ứng dụng tài chính cá nhân như Mint hay Turbo Tax, ng cường các định chế ttă chính Một số ứng dụng khác như IBM Watson được áp dụng A này cho các giao dịch mua b
trong lĩnh vực pháp luật , chọn lọc thông qua các liệu trong luật pháp thường áp đảo đối với con người Tự động hóa qu
y giúp tiết kiệm thời gian và quả trình làm việc hiệu quả hơn Startups cũng đang xây dưng các trợ lý ảo hỏi và trả lời các câu hỏi được lập , Hơn nữa , chúng có thể 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
ĩnh vực sản xuất: Đây là lĩnh vực đi đầu trong việc kết hợp
robot vào luồng công việc , Robot công nghiệp được sử dụng để thực hiện các nhiệm vụ đơn lẻ và được tách ra khỏi con người
1.1.5 Hạn Chế AI
Trí tuệ nhân tạo mang lại rất nhiều giá trị cho cuộc sống loài người, nhưng cũng tiềm ẩn những nguy cơ
Rất nhiều chuyên gia lo lắng rằng khi trí tuệ nhân tạo đạt tới một ngưỡ tiến hóa n o đó thì đó cũng là thời điểm loài người bị tận diệt Rất nhiều các bộ phim đã khai thác đề tài này với nhiều góc nhìn, nhưng qua đó đều muốn cảnh loài người về mỗi nguy đặc biệt này
Trang 11Hình 1.3 1 cảnh trong bộ phim "I, Robot" nói về một Al đã tiến hóa, sau
đó đã ồn con người vào cảnh "nô lệ" với danh nghĩa bảo vệ con người
Dự báo cho rằng từ 5 đến 10 năm nữa, ngành khoa học này sẽ phát triển lên tới đính cao Hãy cùng chờ đợi những thành tựu mới nhất của loài người về lĩnh vực này
Thuật toán Nhánh Cận
Cho một hàm mục tiêu hay còn được gọi là hàm đánh giá và các hàm buộc logic g1,g2,….gn Yêu cầu t một cấu hình thỏa mãn tất cả các rằng buộc g1,g2,….gn là tốt nhất Nghĩa là không tồn tại một cấu hình thỏa mãn các điều kiện mà tốt hơn
ụ: Tìm (x y) để x+y=max và thóa mẫn điều kiện x ≤ 1
Như vậy hàm mục tiêu ở đây là xy max Hàm ràng buộc ≤ 1
Trang 12nhận thấy nếu xết trong mặt phẳng toa độ những cặp (x y) thỏa m n điều kiện là tập hợp tất cả những điểm nằm trong và trên biên hình trỏn tâm 0 là g toa độ và bán kính r=1;
Vậy nghiệm của bài toán là giao của phương trình đường thẳng
phương trình đường với c là hằng số và c đạt giá trị max khi đường thẳng và đường trên tiếp xúc nhau tại tiếp điểm (x
Giá trị max khi đó x = 2 cầu hình thỏa mãn là (
Dướ đây ta hiểu kĩ thuật nhánh cận áp dụng cho thuật to n đệ quy và
đệ quy quay l để tìm nghiệm tối ưu cho bài to
Mô hình thuật toán đệ quy quay lui trong chương trước chính là việc tìm kiếm trên cây n cấp sẽ có 2^n nút lá điều đó có nghĩa là nếu dữ liệu đầu vào là n thì ta phải duyệt 2^n lần trong trường hợp t i nhất, con số này là quá lớn so với ồi
dữ liệu ban đầu và trong quá trình duyệt có một số thao tác thừa đối với việc chọn nghiệm x tối ưu Tư tưởng của kĩ thuật nhánh cận là loại bỏ đi những thao tác thừa đó trong quá trình tiến hành gọi thủ tục đệ quy
Mô hình của kĩ thuật nhánh cận như sau:
if (việc thử còn hi vọng tìm ra cấu hình tốt hơn) then
if (xi là phần tử cuối cùng trong cấu hình) then
Trang 13< ghi nhận giá trị
Như vậy việc bỏ đị thao tác thừa ở mô hình trên chính là việc thêm vào dòng lệnh if (việc thử còn hi vọng tìm ra cấu hình tốt hơn) then Điều này có nghĩa là tại mỗi bước giá trị thử cho xi không còn hi vọng tìm ra cầu hình tốt hơn thì thử giá trị khác ngay mà không cần gọi đệquy tiếp theo hay ghi nhận cấu hình đó
ậy nghiệm của bài toán sẽ được làm tốt dần, bước sau tối ưu hơn bước trước, như vậy cấu hình cuối cùng sẽ là cấu hình tối ưu nhất
Trang 14CHƯƠNG 2: ÁP DỤNG THUẬT TOÁN NHÁNH C ẬN GIẢI QUYẾT
BÀI TOÁN XẾP BALO 2.1 Mô tả bài toán.
Bài toá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 và giá trị, hãy xác định số lượng của mỗi mục để đưa vào một bộ sưu tập sao cho tổng trọng lượng nhỏ hơn hoặc bằng một giới hạn nhất định và tổng giá trị càng lớn càng tốt Tên gọi của nó bắt nguồn từ vấn
đề mà ai đó phải đối mặt là 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 nó với những món đồ có giá trị nhất Vấn dễ thường nảy sinh trong việc phân bố nguồn lực trong đó những người ra quyết định phải chọn từ một tập hợp các 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ế về thời gian
được nghiên cứu trong hơn một thế kỷ, với những công trình đầu tiên có niên đại từ năm 1897 Tên gọi "bài toán ba lô" có từ những
iên của nhà toán học Tobias Dantzig (1884 1956), và đề cập đến vấn đề phổ biến là đpsnggói những vật dụng có giá trị hoặc hữu ích nhất mà không làm quá tải hành lý
2.1.1 Định nghĩa.
Dạng bài toán quyết dịnh của bài toán xếp ba lô là câu hỏi "có ể đạt được một giá trị ít nhất là bao nhiêu theo phát biểu của b
Ta có n loại đồ vật x1 tới xn Mỗi đồ vật xi có giá trị pi và một khối lượng
wi Khối lượng tối đa mà ta có thể mang trong ba lô là C
2.1.2 Các bài toán sắp xếp ba lô thường gặp.
Bài xếp ba lô không bị chặn: Không có một hạn chế nào về số lượng đồ vật