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.. Nó trở thànhmột yếu tố không thể thiếu v
Trang 1TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA CÔNG NGHỆ THÔNG TIN
NHẬP MÔN TRÍ TUỆ NHÂN TẠO Đ
Trang 2Giảng viên 1 :
Giảng viên 2 :
Trang 3MỤC LỤC
LỜI MỞ ĐẦU
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT………
1.1 Tổng quan về trí tuệ nhân tạo………
1.1.1 Định nghĩa 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 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.2 Mô hình hóa bài toán
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
2.4.1.Giao 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ân tạo là yếu tố quan trọng nhất quyết định sựthành công của mỗi ngành hay mỗi quốc gia Trí tuệ nhân tạo đã và đang làmthay đổ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ụngcá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ư:Quân độ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ở thànhmột yếu tố không thể thiếu và có tính quyết định đến sự thành công hay thất bạicủa nhiều ngành ở nước ta, CNTT đang phát triển với tốc độ khá mạnh mẽ vàđược ứng dụng rộng rãi trong tất cá các lĩnh vực, đặc biệt là trong công tác ứngdụ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àocác hoạt động trong nước của các doanh nghiệp, vì vậy sự thành công trong kinhdoanh 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
Al vào áp dụng cho các doanh nghiệp và cá các ngành như y tế, công nghiệpnặ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à AI 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 nay
Chính vì vậy thông qua việc học môn trí tuệ nhân tạo (AI) em đã nghĩ ramộ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ếpbalo"
Trang 5CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1.Tổng quan về trí tuệ nhân tạo.
1.1.1 Định nghĩa trí tuệ nhân tạo
(AI: Artificial Intelligence) có thể được định nghĩa như một ngành củakhoa 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 là một bộ phận của khoa học máy tính và đo đó nó phải được đặt trênnhững nguyên lý lý thuyết vững chắc, có khả năng ứng dụng được của lĩnh vựcnày
AI, trí tuệ nhân tạo là sự mô phóng các quá trình hoạt động trí tuệ của conngườ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ụngthô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 (expertsystem), các ứng dụng nhận diện giọng nói và các ứng dụng machine vision
Trang 6Hình 1.1 AI- Trí 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 AI có thể thực hiệncá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épcác doanh nghiệp hiểu rõ hơn về dữ liệu của mình
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 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 AI theo hệ thống bao gồm trí tuệ nhântạo mạnh hoặc yếu Trí tuệ nhân tạo yếu hay còn được gọi là Narrow AI, 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 AI được trang bị khả năng nhận thức tổngquát của con người để khi thực hiện các tác vụ không quen thuộc, nó đủ thôngminh để tìm ra các giái pháp Phép thử Turing được phát triển bởi nhà toán họcAlan Turing vào năm 1950 là phương pháp được sử dụng để xác thực xem mộtmáy tính có thể có những suy nghĩ giống con người hay không, mặc dù phươngpháp này gây nhiều tranh cãi
Ví 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ệ thống cảmgiá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 Blue, 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ứ
và không thể sử dùng những kinh nghiêm trong quá khứ để thông báo cho con
Trang 7ngườ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 đượcthiết kế cho mục đích hẹp và không thể dễ dàng áp dụng cho tình huống khác Loại 2: Bộ nhớ hạn chế Các hệ thống AI này có thể sử dụng các kinhnghiệm trong quá khứ để đưa ra các quyết định trong tương lai Một số chứcnă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ácquan sát được sử dụng để thông báo cho các hành động xảy ra trong tương laikhông xa, chẳng hạn như một chiếc xe đã thay đổi lần đường Những quan sátnà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 đếnviệc hiểu được rằng con người có niềm tin, ham muốn và ý định của chính 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 AI 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 AInà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
- Tự động hóa là quá trình tạo ra hệ thống hoặc chức năng xử lý tự động
Trang 8Ví dụ như tự động hóa quy trình bằng Robot để thực hiện các tác vụ khối lượnglớn mà con người thường xuyên lặp lại Tự động hóa quy trình bằng Robot khácvới tự động hóa công nghệ thông tin ở chỗ là nó có thể thích nghi với các hoàncả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 độngkhông cần lập trình Deep Learning là tập hợp con của Machine Learing , vớicá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íchtiên đoán
Có 3 thuật toán Machine Learning, bao gồm: Supervised Learning (học cógiảm sát), trong đó tập hợp dữ liệu được gắn nhãn sao cho các 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 là Unsupervised Learning (học không có giám sát), trong đó tập hợp dữ liệu không được dán
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ùng là
Reinforcement Learning (học tăng cường), trong đó tập hợp dữ liệu không
được dán nhãn, nhưng sau khi thực hiện 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 dạng và điều khiến dựa trên hì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ừ kgthuật số và xử lý tín hiệu số Nó thường được so sánh với thị giác của conngười, nhưng machine vision không bị rằng buộc bởi sinh học và có thể đượclập trình để xem qua các bức tường 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 trên máy
- Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP) là quátrỉnh xử lý ngôn ngữ máy tính của con người chứ không phải máy tính Mộttrong những ví dụ nổi tiếng nhất phải kể đến phát hiện thư rác, xem đồng chủ đề
và vấn bản của một email và quyết định xem đó có phải là 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 cảm và nhận dạng
Trang 91.1.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:
- AI trong lĩnh vực chăm sóc sức khỏe: AI góp phần cải thiện tình trạngsức khóe bênh nhân, đồng thời giảm các chi phí điều trị Các công ty đang ápdụng Machine Learning để chấn đoán nhanh hơn và tốt hơn con người Mộttrong những công nghệ chăm sóc sức khốc 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 và có khả năng phản hồ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ệusẵn có khác để tạo ra giả thuyết Sau đó, nó sẽ trình bày một lược đồ điểm tincậy Các ứng dụng khác của AI bao gồm chatbot, chương trình máy tính trựctuyến để trả lời các câu hỏi và hỗ trợ khá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 quá trình thanh toán và các trợ lý y tế ảo cung cấpphản hỏi y tế cơ bản
- AI trong lĩnh vực kinh doanh: Tự động hóa quy trình bằng Robot được ápdụ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 MachineLearning được tích hợp trên các nền tảng phânn tích và CRM để khám phá cácthô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áctrang web để cung cấp địch vụ ngay lập tức cho khách hàng
- AI trong lĩnh vực giáo dục: AI có thể tự động phân loại, giúp người làm
Trang 10giáo dục có thể tiết kiệm một khoảng thời gian đáng kể AI có thể đánh giá sinhviên và thích ứng với nhu cầu của họ Đồng thời AI có thể hỗ trợ thêm cho sinhviên làm thêm công việc gia sư, đảm bảo rằng họ có thể đi đúng hướng.
- AI trong lĩnh vực tài chính: AI áp dụng cho các ứng dụng tài chính cá
nhân như Mint hay Turbo Tax, tăng cường các định chế tài chính Một số ứngdụng khác như IBM Watson được áp dụng AI này cho các giao dịch mua bánnhà
- AI trong lĩnh vực pháp luật: Quá trình khám phá, chọn lọc thông qua các
tài liệu trong luật pháp thường áp đảo đối với con người Tự động hóa quá trìnhnà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 cho máy tinh hỏi và trả lời các câu hỏi được lậptrình, 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ằngcách kiểm tra phân loại
- AI trong lĩ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ácnhiệm vụ đơn lẻ và được tách ra khỏi con người
Trang 11Hình 1.3 1 cảnh trong bộ phim "I, Robot" nói về một Al đã tiến hóa, sau
đó đã dồ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êntớ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ĩnhvực này
1.2 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 ràngf
buộc logic g1,g2,….gn Yêu cầu tìm một cấu hình thỏa mãn tất cả các rằng x
buộc g1,g2,….gn và f(x) là tốt nhất Nghĩa là không tồn tại một cấu hình thỏay
mãn các điều kiện mà f(y) tốt hơn f(x).
Ví dụ: Tìm (x,y) để x+y=max và thóa mẫn điều kiện x^2+y^2 ≤ 1
Như vậy hàm mục tiêu ở đây là xy -> max Hàm ràng buộc là x^2+y^2 ≤ 1.f g
Trang 12
Ta nhận thấy nếu xết trong mặt phẳng toa độ những cặp (x,y) thỏa mãn điềukiệ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óctoa độ 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 x+y=c vàphương trình đường tròn x^2+y^2 =1; 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,y)=(1/2 ;1/2 ) Giá trị max khi đó x+y = 2 cầu hình thỏa mãn là (1/2;1/2 )
Dưới đây ta tìm hiểu kĩ thuật nhánh cận áp dụng cho thuật toán đệ quy và
đệ quy quay lui để tìm nghiệm tối ưu cho bài toán
Mô hình thuật toán đệ quy quay lui trong chương trước chính là việc tìmkiế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à nthì ta phải duyệt 2^n lần trong trường hợp tồii nhất, con số này là quá lớn so vớ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ệcchọn nghiệm xi tối ưu Tư tưởng của kĩ thuật nhánh cận là loại bỏ đi những thaotác thừa đó trong quá trình tiến hành gọi thủ tục đệ quy
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 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ácmụ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ớihạ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ảysinh trong việc phân bố nguồn lực trong đó những người ra quyết định phảichọ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 ứngvới một ngân sách cố định hoặc hạn chế về thời gian
Bài toán ba lô dã được nghiên cứu trong hơn một thế kỷ, với những côngtrì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ữngcông trình dâu tiên của nhà toán học Tobias Dantzig (1884-1956), và đề cập đếnvấ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ó thể đạtđược một giá trị ít nhất là bao nhiêu theo phát biểu của bài toán"
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
Trang 15Trường hợp đặc biệt
Bài toán với các tính chất:
• là một bài toán quyết định
• là 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 trong 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 con có tổng đúng bằngC?
Hoặc nếu đồ vật được phép có chi phí âm và C được chọn bằng 0, bài toán códạng:
Cho trước một tập các số nguyên, tồn tại hay không một tập con có tổng đúngbằng 0?
Trường hợp đặc biệt này được gọi là bài toán tổng các tập con (subsetsum problem) Với một số lý do, trong ngành mật mã học, người ta thường dùngcụm từ "bài toán xếp ba lô" khi thực ra đang có ý nói về "bài toán tổng con" Bài toán xếp ba lô thường được giải bằng quy hoạch động, tuy chưa cómột thuật toán thời gian đa thức cho bài toán tổng quát Cả bài xếp ba lô tổngquát và bài toán tổng con đều là các bài NP-khó, và điều này dẫn đến các cốgắng sử dụng tổng con làm cơ sở cho các hệ thống mật mã hóa khóa công khai,chẳng hạn Merkle-Hellman Các cố gắng này thường dùng nhóm thay vì các sốnguyên Merkle-Hellman và một số thuật toán tương tự khác dã bị phá, do cácbài toán tổng con cụ thể mà họ tạo ra thực ra lại giải dược bằng các thuật toánthời gian đa thức
2.2 Mô hình hóa bài toán.
Ví dụ về một bài toán xếp ba lô giới hạn 1 chiều: chọn các hộp nào đểlàm cực đại lượng tiền trong khi giữ được tổng khối lượng dưới 15 kg? Bài toán đa chiều có thể xét dến khối lượng riêng và kích thước củacác hộp, đó là bài toán xếp vali điển hình (packing problem)