DANH MỤC CÁC THUẬT NGỮBài toán vấn đề AI: AI ProblemLà các tình huống thực tế mà con người cần giải quyết thuộc một lĩnh vực nào đó, thông thường phải dựa vào “trí khôn” con người.Giao d
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN HỌC PHẦN TÊN HỌC PHẦN: TRÍ TUỆ NHÂN TẠO (Artificial Intelligence: AI)
MÃ SỐ LỚP HP: ARIN330585 - Nhóm 05 (Sáng thứ 7)
Tên đề tài: PHÁT TRIỂN HỆ THỐNG AI CHẨN ĐOÁN Y KHOA DỰA VÀO
THÔNG TIN TRIỆU CHỨNG BẰNG TRI THỨC HỆ CHUYÊN GIA (Expert System) DÙNG THUẬT TOÁN DFS , LUẬT DẪN XUẤT(SUY DIỄN TIẾN),SUY LUẬN LOGIC MỜ, VOICE ASSISTANT.
Họ tên sinh viên: Trần Thành Quang
Mã số sinh viên : 19133047 <41>
Lớp: 191330B
Ngày nộp: 19/06/2021
Ký tên:
Trang 2TP.HCM, ngày 08 tháng 06 năm 2021 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI ĐỒ ÁN HỌC PHẦNGiảng viên giảng dạy: VÕ XUÂN THỂ
TÊN HỌC PHẦN: TRÍ TUỆ NHÂN TẠO (Artificial Intelligence: AI)
MÃ SỐ LỚP HP: ARIN330585 - Nhóm 05 (Sáng thứ 7)
Tên đề tài: PHÁT TRIỂN HỆ THỐNG AI CHẨN ĐOÁN Y KHOA DỰA VÀO THÔNG TIN
TRIỆU CHỨNG BẰNG TRI THỨC HUỆ CHUYÊN GIA (Expert System) SỬ DỤNG DFS, LUẬT DẪN XUẤT( SUY DIỄN TIẾN) , SUY LUẬN LOGIC MỜ, VOICE ASSISTANT( TRỢ LÝ ẢO)
Họ tên sinh viên: Trần Thành Quang
Mã số sinh viên: …19133047 [41]
Lớp: 191330B
Tên sản phẩm đề tài : N5S7.41.TranThanhQuang.19133047.DoaAnHPAI.rar
Công cụ sử dụng (phiên bản): Spyder (Anaconda3)
Ngày……./…… /2021 Giảng viên Ký tên
Trang 3TP.HCM, ngày 08 tháng 06 năm 2021
LỜI CẢM ƠNĐầu tiên, em xin gửi lời cảm ơn sâu sắc đến Trường Đại Học Sư Pham Kỹ Thuật TPHCM
đã đưa bộ môn Trí Tuệ Nhân Tạo vào chương trình giảng dạy Đặc biệt, em xin bày tỏ lòng biết ơn sâu sắc đến giảng viên bộ môn thầy Võ Xuân Thế Chính thầy là người đã tận tình dạy dỗ và truyền đạt những kiến thức quý báu cho em trong suốt học kỳ vừa qua Trong thời gian tham dự lớp học của thầy, em đã được tiếp cận với nhiều kiến thức bổ ích
và rất cần thiết cho quá trình học tập, làm việc sau này của em
Bộ môn Trí tuệ nhân tạo là một môn học thú vị và vô cùng bổ ích Tuy nhiên, những kiến thức và kỹ năng về môn học này của em vẫn còn nhiều hạn chế Do đó, bài báo cáo”Phát triển hệ thông AI chẩn đoán y khoa dựa trên triệu chứng bằng tri thức hệ chuyên gia” của
em khó tránh khỏi những sai sót Kính mong thầy xem xét và góp ý giúp bài báo cáo của
em được hoàn thiện hơn
Em xin chân thành cảm ơn !
Trang 4DANH MỤC CÁC TỪ VIẾT TẮT
CSDL hoặc DB Cơ sở dữ liệu: DataBase
AI Trí tuệ (Trí thông minh) nhân tạo: Artificial IntelligenceANN Mạng nơ ron nhân tạo: Artificial Neural Network
ES Hệ thống chuyên gia: Expert Systems
ML Máy học = Học máy: Machine Learning
NLP Xử lý ngôn ngữ tự nhiên: Natural Language Processing
Trang 5Giao diện người dùng
(User-Interface)
Là hệ thống các màn hình giao tiếp cho phép người sử dụngtương tác với các thành phần phần mềm, điều khiển phầnmềm hoạt động theo yêu cầu của người dùng - tương ứngcác chức năng hiện có của phần mềm
Người dùng (User):
Tài khoản (Account)
Là một quyền làm việc trên hệ thống phần mềm được cấpphát cho một cá nhân thông qua tên tài khoản (username) vàmật khẩu (password)
BigData Dữ liệu lớn: là một tập hợp dữ liệu rất lớn và phức tạp,không thể xử lý dữ liệu bằng các phương pháp truyền thống.Heuristics
Là các kỹ thuật dựa trên kinh nghiệm để giải quyết vấn đề,nhằm đưa ra một giải pháp mà không được đảm bảo là tốiưu
Trang 6MỤC LỤC
LỜI CẢM ƠN 3
DANH MỤC CÁC TỪ VIẾT TẮT 4
DANH MỤC CÁC THUẬT NGỮ 5
MỤC LỤC6 PHIẾU GIAO NHIỆM VỤ ĐỀ TÀI ĐỒ ÁN HỌC PHẦN 9
Chương 1: GIỚI THIỆU VỀ ĐỀ TÀI 10 1.1 Tổng quan về đề tài 10
1.2 Nội dung chuyên môn chính của đề tài 12
1.3 Ngôn ngữ lập trình và công cụ sử dụng 14
1.4 Sản phẩm của đề tài 14
1.5 Bố cục của báo cáo 14
Chương 2: CƠ SỞ LÝ THUYẾT VỀ TRÍ TUỆ NHÂN TẠO 15 2.1 Tổng quan về Trí tuệ nhân tạo (AI) 15
2.1.1 Các khái niệm 15
2.1.2 Vai trò AI 17
2.1.3 Nền tảng kỹ thuật của AI 17
2.1.4 Các lĩnh vực nghiên cứu và ứng dụng cơ bản của AI 17
2.2 Giới thiệu về các bài toán (vấn đề) AI 18
2.2.1 Một số khái niệm 18
2.2.2 Tìm kiếm lời giải (searching) cho AI Problem 20
2.3 Biểu diễn một số bài toán AI 22
2.3.1 Các bài toán Trò chơi 22
2.3.2 Cây không gian trạng thái của Bài toán AI 22
2.4 Các phương pháp biểu diễn tri thức 22
2.4.1 Phân loại tri thức theo phương pháp biểu diễn 22
Trang 72.4.2 Phân loại tri thức theo nền tảng hình thành Cơ sở tri thức 24
2.4.3 Logic mệnh đề và Logic vị từ 24
2.4.4 Biểu diễn tri thức bằng Frame (Cấu trúc = "Khung") 27
2.4.5 Suy diễn tri thức bằng luật dẫn xuất 27
2.4.6 Biểu diễn suy luận bằng đồ thị AND/OR 29
2.4.7 Các biểu diễn tương đương trong Logic mệnh đề và Logic vị từ 30
2.4.8 Xử lý ngôn ngữ tự nhiên (Natural Language Processing = NLP): Voice Assistant 31
2.5 Các phương pháp tìm kiếm lời giải của bài toán AI 31
2.5.1 Giới thiệu 31
2.5.2 Các phương pháp tìm kiếm mù (Blind Search) = tìm kiếm không có thêm thông tin (uninformed search) 32
2.5.3 Các phương pháp tìm kiếm theo kinh nghiệm (Heuristic Search) = tìm kiếm với thông tin bổ sung (Informed Search) = Cải tiến BFS 33
2.5.4 Lập trình Logic (Logic Programming) phát triển cơ chế lập luận logic 35
Chương 3: GIỚI THIỆU VỀ MÔ HÌNH BÀI TOÁN AI :Phát Triển Hệ Thông AI Chẩn Đoán y khoa dựa trên triệu chứng Bằng Tri Thức Hệ Chuyên Gia( Expert System) Sử dụng DFS,Luật suy diễn ( suy diễn tiến) ,suy luận logic”mờ” , voice Assistant 36
3.1 Mô tả bài toán AI 36
3.2 Các yếu tố xác định bài toán AI 36
3.3 Giới thiệu nguồn dữ liệu gốc dùng thực nghiệm bài toán AI 37
Chương 4: BIỂU DIỄN BÀI TOÁN AI VÀ CƠ SỞ TRI THỨC: Phát Triển . Hệ Thông AI Chẩn Đoán y khoa dựa trên triệu chứng Bằng Tri Thức Hệ Chuyên Gia Sử dụng DFS,Luật suy diễn ( suy diễn tiến) ,suy luận logic”mờ” , voice Assistant 37
4.1 Giới thiệu 37
4.2 Biểu diễn bài toán AI bằng suy diễn tri thức bằng luật dẫn xuất và logic xác suất 38
4.3 Lập trình xử lý ngôn ngữ tự nhiên (Natural Language Processing = NLP): Voice Assistant (trợ lý ảo) 39 Chương 5: PHƯƠNG PHÁP TÌM KIẾM LỜI GIẢI CHO BÀI TOÁN AI
Phát Triển Hệ Thông AI Chẩn Đoán y khoa dựa trên triệu chứng
Trang 8Bằng Tri Thức Hệ Chuyên Gia Sử dụng DFS,Luật suy diễn ( suy
diễn tiến) ,suy luận logic”mờ” , voice Assistant 40
5.1 Giới thiệu 40
5.2 Mô tả sơ bộ về mô hình cây không gian trạng thái của bài toán AI 40
5.3 Xác định phương pháp tìm kiếm lới giải cho bài toán AI: 41
5.4 Cài đặt (lập trình) phương pháp tìm kiếm lới giải cho bài toán AI: 41
5.5 Cài đặt (lập trình) Logic (Logic Programming) xây dựng cơ sở lập luận và suy luận Logic 42
Chương 6: GIỚI THIỆU SẢN PHẨM CỦA ĐỀ TÀI AI : Phát Triển Hệ Thông AI Chẩn Đoán y khoa dựa trên triệu chứng Bằng Tri Thức Hệ Chuyên Gia( Expert System) Sử dụng DFS,Luật suy diễn ( suy diễn tiến) ,suy luận logic”mờ” , voice Assistant 43
6.1 Giới thiệu sản phẩm bài toán AI: 43
6.2 Kết quả thực nghiệm sản phẩm bài toán AI:…… 54
6.3 Nhận xét và đánh giá về sản phẩm bài toán AI 54
Chương 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 55 7.1 Kết luận 55
7.1.1 Những kết quả đạt được 55
7.1.2 Hạn chế 55
7.2 Hướng phát triển 55
7.2.1 Hướng khắc phục các hạn chế 56
7.2.2 Hướng mở rộng đề tài 56
DANH MỤC TÀI LIỆU THAM KHẢO 56
ĐÁNH GIÁ KẾT QUẢ HỌC TẬP HỌC PHẦN 57
Trang 9TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
PHIẾU GIAO NHIỆM VỤ ĐỀ TÀI ĐỒ ÁN HỌC PHẦN
Giảng viên giảng dạy: VÕ XUÂN THỂ
Tên học phần: Trí tuệ nhân tạo (AI) Mã số lớp HP: ARIN330585 - N5S7
Tên đề tài: Phát triển hệ thông AI chẩn đoán y khoa dựa trên triệu chứng bằng tri thức hệ chuyên gia (Expert System) sử dụng DFS , Luật dẫn xuất, suy luận logic “mờ” , voice Assistant
Sinh viên thực hiện: <Trần Thành Quang>, <19133047>
Thời gian thực hiện: 27/02/2021 đến 08/06/2021
Yêu cầu của đề tài
Lý thuyết: Vận dụng AI vào thực tiễn và tiếp cận thành tựu tiên tiến trong lĩnh vực AI:
+ Nền tảng và đặc trưng của các dạng bài toán AI và giải thuật tương ứng
+ Một số phương pháp biểu diễn không gian (trạng thái) giải quyết bài toán AI: biểu diễn tri thức và suy diễn logic.
+ Một số phương pháp thông dụng trong tìm kiếm lời giải bài toán AI = giải quyết bài toán thông qua tìm kiếm lời giải (Solving Problems by Searching), đặc biệt là DFS và BFS,…
Thực hành: Phát triển hệ thống AI chẩn đoán y khoa dựa trên triệu chứng bằng tri thức
hệ chuyên gia( Expert System)
+Thư viện chính được dùng: gTTS ,os , googlesearch, playsound, speech_recognition,
pyodbc, collections , wikipedia
+ Giải thuật chính : Suy diễn tri thức bằng luật dẫn xuất (Suy diễn tiến), suy luận logic “mờ”, Voice Assistant (trợ lý ảo)
Ngoài ra còn có thuật toán tìm kiếm DFS, Phân tách chuỗi (xử lý chuỗi) , xử lý dữ liệu trong
Trang 10SQL Server , trợ lí ảo
+Tập thực nghiệm: được lưu trong database (SQL Server)
+Chức năng của sản phẩm : Tư vấn các loại bệnh dựa trên một số triệu chứng mà người dùng gặp phải, ngoài ra còn cung cấp thêm thông tin loại bệnh đó bằng (link goole ), cung cấp các triệu chứng của một căn bênh.
Đề tài chuẩn đoán bệnh dựa trên triệu chứng của em có mục đích nhằm giúp người dùng
có thể nhận biết được bản thân đang bị bệnh gì dựa vào các triệu chứng của bệnh nhân đang có, ngoài ra trong dịch bệnh Covid 19 nó còn quan trọng hơn khi giúp người dùng biết về các loại bệnh triệu chứng, nắm bắt thông căn bệnh mà không cần đến trực tiếp nơi
tư vấn
+Giải thuật chính :
Suy diễn tri thức bằng bằng luật dẫn xuất (Suy diễn tiến )
Thuật toán tìm kiếm BFS
Kỹ thuật xử lý chuỗi bằng REPLACE, SPLIT
Trang 11Logic mệnh đề
Hàm xử dữ liệu – tách dữ liệu có được trong SQL Server thành các khóa để nhận biết triệu chứng
+ Thư viện:
from gtts import gTTS : Chuyển văn bản thành âm thanh của Google (Module Google)
import os : Truy cập , xử lý file hệ thống
from googlesearch import search : Tìm kiếm thông tin trên google
import playsound : Phát âm thanh từ file mp3
import speech_recognition as sr : Nhận dạng giọng nói
import wikipedia :Tìm kiếm trên từ điển wikipedia
import pyodbc : Kết nối với SQL Server
import collections : tạo các danh sách dict, list , set and tuple
+ Tập thực nghiệm:
Được lưu trên database, dữ liệu được thu thập dựa trên các triệu chứng của các loại bênh được các chuyên gia cung cấp:
Dữ liệu bao gồm 2 cột thuộc tính:Tên loại bệnh và triệu chứng loại bệnh:
Quá trình thu thập dữ liệu : em dựa vào kiến thức của các bác sĩ chuyên gia đã chia sẽ nhưng kiến
thức họ biết về các loại bênh, họ dựa và kiến thức của mình để đưa ra một số triệu chứng của từng loại bệnh sau đó em tổng hợp và đưa kết quả vào database như hình bên dưới , một thông tin em sử dụng đều là kiến thức của các chuyên gia chia sẽ lại.
Trang 12Đặc Trưng: Bài toán dựa vào luật dẫn xuất (suy diễn tiến), hệ chuyên gia (Expert System)
Chuyên gia (Expert) là hệ thống AI được xây dựng và hình thành dựa trên cơ sở chuyên gia
+ Người có đầy đủ kỹ năng, kiến thức sâu (cả về luật và các sự kiện ) về một lĩnh vực nàođó;
+ Người có thể làm những việc mà người khác ít khả năng làm được
+ Suy diễn = lập luận
Suy luận : là dựa trên : CSTT ban đầu (đã có || đã biết) = tri thức cơ sở + Luật (Rules) dẫnxuất (Tập )
1.2.Nội dung chuyên môn chính của đề tài
+ Thư viện : gTTS ,os , googlesearch, playsound, speech_recognition, pyodbc, collections , wikipedia
BFS , tìm kiếm tuần tự, suy diễn, suy diễn logic , suy diễn mờ , lưu dữ liệu bằng sql
+ Sản phẩm đề tài : Trợ lí ảo tư vấn
Chuẩn đoán y khoa bằng trợ lý ảo
+Bước tiền xử lý để đưa ra kết quả:
Tính xác suất xuất hiện của từng loại bệnh rồi đưa ra kết quả:
Trang 13+ Sau đó dựa vào danh sách các triệu chứng nhập vào máy tính sẽ phân tích , tính xem xác suất (%) của loại bệnh mà bệnh nhân có thể mắc phải sau đó sẽ chọn căn bệnh có tỉ lệ cao nhất sau đó cung cấp thông tin cho người dùng.
Trang 14Ngoài ra em còn xây dựng con trợ lý ảo có chức năng tìm kiếm trên google , nó sẽ tự động tìm kiếm đến những trang web có liên quan đến căn bệnh sau đó xuất ra màn hình console để người dùng có thề truy cập và tìm kiếm thông tin chi tiết mà căn bệnh mình có thể mắc phải
1.3.Ngôn ngữ lập trình và công cụ sử dụng
+ Ngôn ngữ lập trình: Python
+ Công cụ sử dụng (phiên bản) : spyder ( Anaconda : python 3.8.3 -64 bit)
1.4.Sản phẩm của đề tài
Phần mềm trợ lý ảo trả lời tư vấn bệnh dựa vào triệu chứng của bệnh nhân:
Phần mềm gồm có các chức năng như sau:
-Trợ lý ảo có thể giao tiếp với người dùng bằng giọng nói ( tiếng việt )
-Trợ lý ảo có chức nẳng chẩn đoán bệnh dựa vào triệu chứng
-Trợ lý ảo cung cấp các thông tin triệu chứng của một căn bệnh
-Trợ lý ảo có thể tìm kiếm trên wikipedia , google
1.5.Bố cục của báo cáo
Chương 1: Giới thiệu tổng quan về đề tài
Chương 2: Cơ sở lý thuyết của học phần: gồm những lý thuyết cơ bản về AI liên quan đến đề tài Chương 3: Giới thiệu về thư viện và giải thuật AI:……….
Chương 4: Mô hình bài toán AI và cài đặt giải thuật tìm kiếm lời giải
Chương 5: Giới thiệu về sản phẩm hệ thống AI:……….
Chương 6: Kết luận về kết quả đạt được và những tồn tại, trên cơ cở đó đề xuất các giải pháp khắc phục tồn và hướng mở rộng đề tài.
Trang 15Chương 2: CƠ SỞ LÝ THUYẾT VỀ TRÍ TUỆ NHÂN TẠO
2.1 Tổng quan về Trí tuệ nhân tạo (AI)
2.1.1 Các khái niệm
2.1.1.1 Trí tuệ nhân tạo = AI (Artificial Intelligence)
+ Là ngành khoa học nghiên cứu và ứng dụng các nền tảng kỹ thuật làm cơ sở cho việc thiết
kế và sản xuất ra các hệ thống, đặc biệt là các hệ thống CNTT, có khả năng thực hiện các hành vi công việc “khôn” như con người
+ Hành vi và nhận thức
+ Đặc trưng
Không nhất thiết chính xác 100%: tỷ lệ sai tùy thuộc bài toán AI
Không nhất thiết phải chứng minh hoặc giải thích, cần hiệu quả của giải pháp AI mang lại
Học và tự học
“Khôn” dần theo thời gian
Sử dụng ngôn ngữ lập trình và công cụ riêng
2.1.1.2 Phân loại hệ thống Trí tuệ nhân tạo
+ Nền tảng “ Trí khôn con người ”: heuristuc & ES
+ Biểu hiện: hành vi nhận thức
+ Nền tảng công nghệ: ML, NLP, ANN , Mờ,…
2.1.1.3 Turing Test kiểm tra khả năng khôn của các hệ thống AI
2.1.1.4 Tác tử (Agent: Intelligent Agent) trong hệ thống AI
Tác tử (Agent) trong hệ thống AI là 1 nhân tố nhỏ nhất biểu hiện khả năng “Khôn” [nhận thức || hành động] cấu thành nên hệ thống AI
Tác tử (Agent) có thể biểu diễn dạng ánh xạ:
f:P* A[Lịch sử quá trình nhận thức] [Hành động]
Trang 162.1.1.5 Tri thức là gì (Knowledge)?
- Tri thức là hệ thống sự biểu hiện bằng lý thuyết hay thực tế về một chủ đề hay lĩnh vực
- Trí thức tự nhiên OR tri thức hệ thống
-Phân biệt (ss): PM QUẢN LÝ(TRUYỀN THÔNG) -PM TTNT
+ Chương trình truyền thông
= Cấu trúc dữ liệu + thuật toán (thuật giải)
+ Chương trình trí tuệ nhân tạo
= Cơ sở trí thức + qui tắc suy diễn
2.1.1.6 Cơ sở tri thức (Knowledge Base: KB)
- Cơ sở tri thức là tập hợp cá tri thức liên quan đến vấn đề quan tâm được hệ thống và lưu trữ trên các thiết bị số (máy tính) dưới một dạng nào đó
-Cơ sở tri thức chứa các kiến thức được sử dụng để giải quyết các vấn đề ( bài toán ) trong trítuệ nhân tạo
2.1.1.7 Hệ quản trị cơ sở tri thức (KBMS)
- Hệ cơ sở tri thức tối thiểu có hai chức năng c/b
+ Khối tri thức: hình thành và duy trì cơ sở tri thức
+ Khối điều khiển: cung cấp các công cụ cho phép xây dựng và phát triển các cơ chế suy diễn
-Với các hệ thống phức tạp, khối điều khiển cũng có thể là một hệ thống cơ sở tri thức khác chứa các siêu tri thức (tri thức về các tri thức)
-Cấu trúc chương trình truyền thống (bên trái) và cấu trúc chương trình trí tuệ nhân tạo (bên phải)
*Cơ chế suy diễn: là phương pháp vận dụng tri thức trong cơ sở tri thức để giải quyết vấn đề
Trang 17-Một số hệ quản trị cơ sở tri thức thông dụng: IPLV, auto LISP, PLANNER, PROLOG,
2.1.2 Vai trò AI
-Là nhân tố trung tâm gần như không thể thiếu trong các hệ thống hiện nay và tương lai-AI là yếu tố nền tảng mang tính chất bắt buộc của các hệ thống trong thời đại CMCM 4.0( cách mạng công nghiệp lần thứ 4: IR 4.0= the fourth industrail revolution)
2.1.3 Nền tảng kỹ thuật của AI
[1] Cơ sở Tri thức ( Knowleged base= KB)
[2] Cơ chế : Suy diễn || suy luận(Inference) và lập luận(Reasoning)
[3] Xử lý ngôn ngữ tự nhiên (Natural language Processing=NLP)
Automata( lý thuyết ngôn ngữ hình thức )
[4] ML+ Machine learning = máy học = học máy
CÁC LÝ THUYẾT CƠ SỞ
[1]: giải bài toán và suy diễn thông minh
[2]: Lý thuyết tìm kiếm may rủi ( ngẫu nhiên)
[3]: Các ngôn ngữ công cụ và trí tuệ nhân tạo
[4]: Lý thuyết biểu diễn tri thức và hệ chuyên gia
[5]: Nguyên lý nhận dạng và xử lý tiếng nói
[6]: Người máy(ROBOT)
[7]: Tâm lý học trong xử lý thông tin
2.1.4 Các lĩnh vực nghiên cứu và ứng dụng cơ bản của AI
+ Games
+ Tối ưu
Trang 18- Điều khiển phi tuyến và robitics
- Computer vision, thực tế ảo và xử lý ảnh
- Lý thuyết trò chơi và lập kế hoạch
- Trò chơi TTNT và computer game bot
2.2 Giới thiệu về các bài toán (vấn đề) AI
2.1.5 Một số khái niệm
2.1.5.1 AI Problem (Bài toán AI = Vấn đề AI)
Bài toán AI là các tình huống thực tế mà con người giải quyết thuộc một lĩnh vực nào đó, thông thường dựa vào “Trí khôn” con người
Vd:
Game cờ vua, bài toán tìm đường đi tốt nhất, Bài toán tư vấn pháp luật, Tư vấn tình yêu gia đình, Dự đoán hành vi khách hàng,
2.1.5.2 Các yếu tố cơ bản xác định bài toán AI
Như vậy với một bài toán AI thông thường được xác định bởi 4 yếu tố cơ bản:
+ Tập hợp các trạng thái của bài toán
Vd:Trạng thái bàn cờ (quân cờ), trạng thái bước đi
Trang 19+ Có mục tiêu đặt ra (Thông qua hàm mục tiêu) mà kỹ thuật AI phải giải quyết theo bài toán
Vd:
BT cờ tướng mục tiêu: “chiếu tướng bí”
Rubik mục tiêu: 6 mặt cùng màu
Tìm đường đi mục tiêu: tìm được 1 hoặc 1 số lộ trình đường đi mà người đi họ
“hài lòng” nhất
+ Cơ chế chuyển từ “Trạng thái” này sang “Trạng thái” khác
VD:
Cờ tướng = nước đi của 1 quân cờ trên bàn cờ tương ứng trạng thái đầu
Tháp Hà Nội = Trường hợp chuyển “Thớt đĩa” từ “Cột này” sang “Cột khác”
Ghi chú: Cơ chế chuyển trạng thái phải có quy tắc || quy luật || quy định || ràng buộc.+ Trạng thái bắt đầu (1 hoặc 1 số)
Tóm lại bài toán AI phải có 4 yếu tố: không gian trạng thái, trạng thái bắt đầu mục tiêu, cơ chế chuyển đổi trạng thái, trạng thái bắt đầu
2.1.5.3 (Hàm) Mục tiêu của Bài toán AI
Hàm mục tiêu là một trong những có chế để xác định bài toán AI theo định lượng (Định lượng là tính toán được bằng một giá trị )
Hàm mục tiêu của bài toán trí tuệ nhân tạo đa dạng tùy thuộc vào bài toán cụ thểVd: Tìm đường đi tốt nhất từ A B
Có rất nhiều tiêu chí dường đi của bai toán được đặt ra để đánh giá độ tốt của lộ trình đường đi mà mình đã tiềm được (mỗi một tiêu chí được đánh giá là tham số trong hàm mục tiêu ( đối số của hàm mục tiêu parameter)
+ Mục tiêu:
.(x) Khoảng cách là tiêu chí thứ nhất
.(y): thời gian -> min là tiêu chí thứ hai
.(z): Tiền -> min
Trang 20Mỗi một tiêu chí nêu trên được đo lường thông qua một giá trị nào đó
Vd: + Khoảng cách của 1 lộ trình là tổng chiều dài mà các đoạn đường mà lộ trình đó đi qua hoặc có thể tính toán bằng một cách thực tiển
+ Với mỗi môt tham số nêu trên sẽ có một trọng số “ giá trị hệ số đánh giá mức độ quan trọng của đối số hay là tham số đó ” các giá trị trọng số này khác nhau tùy vào từng trường hợp bài toán tùy vào mục tiêu người dùng tùy vào từng tình huống ứng dụng bài toán
Ghi Chú: Mặc dù có 2 phương pháp tìm kiếm chính DFS và BFS tuy nhiên khi áp dụng vào các bài toán AI cần phải hiểu chỉnh hợp lý
Vd: khi cần gấp thì điều kiện ưu tiên đặt yếu tố thời gian làm đâu thì yếu tố thời gian được coi là trọng số cao nhất
Hàm mục tiêu có rất nhiều dạng thông thường là dạng tuyến tính: Hàm mục tiêu
f=a1*x + a2*y +a3*z trong đó :
x,y,z là các tham số hay là đối số nêu như trên
a1,a2,a2 là các trọng số tường ứng với các đối số để tương ứng với tham số trên
+ Thông thường giá trị của các giá trị trọng số x,y,z được nạp từ giá trị có sẵn được nạp từ kho dữ liệu
+ Thường được nộp các thư viện :pandas, numpy…để xác định trạng thái nào tối ưu nhất trong không gian trạng thái
+ Các hàm mục tiêu cũng có thể là các hàm phi tuyến tùy thuộc vào bài toán cụ thể tuy nhiêndạng này ít phổ biến rất tốn kém trong phạm vi hương trình rất ít dùng Đa số rơi vào hàm bậc 2, hệ số a âm
Thường hàm mục tiêu phi tuyến mục tiêu tốt nhất là đỉnh parabol
2.1.6 Tìm kiếm lời giải (searching) cho AI Problem
Quá trình khám phá các chuỗi có thể đạt được những mục tiêu của bài toán gọi là tìm kiếm lời giải
Trang 21Chương trinh AI là trạng thái tìm kiếm ra lời giải chấp nhận được
Quá trình tìm kiếm lời giải thông thường phải sử dụng 1 thủ tục duyệt nhờ vào 1 Agent (token: perceptron) “chạy: qua các trạng thái trong không gian trạng thái của BT AIThông thường ta sử dụng các vòng lập để chạy các agent trên không gian trạng thái cho đến khi nào phát hiện ra trạng thái mục tiêu
Thường cây không gian trạng thái AI không có sẵn vì vậy khi duyệt các agent đến đâu thì nó
sẽ mở nút đến đó cho đến khi trạng thái lá ( bí hoặc tắt đường) thì quay lại ( back tracking )
vì vậy cây không gian trạng thái nó được hinh thành theo phương pháp duyệt của các agent
Vd cây:DFS BFS
Cây không gian của 1 bài toán AI là vô cùng tận => kết quả tìm lời giải của bài toán AI chỉ
là các KQ tìm thấy trong Không gian Trạng thái “ Đã mở” khó có thể tìm thấy đc ALL LG.Agent(Token) : vị trí xem/tính
2.1.6.1 Một số dạng bài toán (vấn đề) AI
Có 4 dạng bài toán AI quen thuộc:
+ Bài toán một trạng thái đơn giản
+ Bài toán đa trạng thái
Ghi chú: Petri net(s): state(trạng thái) + (transition)
+ Bài toán ngẫu nhiên
+ Bài toán thăm dò: “thử-sai”
2.1.6.2 Các cấp độ tìm kiếm lời giải cho bài toán (vấn đề) AI
Việc tìm kiếm lời giải cho một số bài toán được xác định
+ Có tìm thấy 1 phương pháp nào không?
+ Đó có phải là giải pháp tốt không (giải pháp có hàm mục tiêu tốt nhất)
+ Chi phí tim kiếm với thời gian và bộ nhớ yêu cầu để tìm 1 giải đó là bao nhiêu? Chi phí toàn bộ của việc tìm kiếm là tổng chi phí đường đi và chi phí tìm kiếm(S)
Trang 222.3 Biểu diễn một số bài toán AI
2.1.7 Các bài toán Trò chơi
VD1: Trò chơi n quân cờ (cơ ta canh ) = tictac-toe(có nhiều dạng)/n cột_dòng
+ Trò chơi có n -1 quân cờ ; VD n=32
Ta có các khái niệm như sau:
Trạng thái (không gian trạng thái): là một mô tả trong đó chỉ rõ vị trí của mỗi quân cờ trong 8quân cờ một trong 9 ô vuông
+ Các toán tử ( luật di chuyển)
+ Kiểm tra mục tiêu
2.1.1.2 Phương pháp giải quyết bài toán AI
2.1.1.2.1 Phương pháp gia tăng
Đặt các con hậu từng con một
2.1.1.2.2 Phương pháp trạng thái
Bắt đầu với 8 con hậu trên bàn cờ và tiến hành di chuyển các con hậu
2.1.1.3 Sự bùng nổ không gian trạng thái
2.4 Các phương pháp biểu diễn tri thức
2.1.9 Phân loại tri thức theo phương pháp biểu diễn
Dựa vào hình thức biểu diễn, phân chia tri thức thành các dạng sau :
Trang 232.1.1.4 Tri thức sự kiện
Tri thức sự kiện là một khẳng định về một sự kiến, hiện tượng hay một số khái niệm nào
đó trong một hoàn cảnh không gian hoặc thời gian nhất định
Ví dụ :
Khẳng định về hiệu tượng : “Mặt trời lặn ở phương Tây”
Khái niệm về : “Tam giác đều là tam giác có ba góc bằng nhau”
Các dạng của tri thức thủ tục thường dùng là các “luật”, chiến lược, lịch trình
Ví dụ 1 : IF xe máy không khởi động được THEN đầu tiên kiểm tra bugi…
Ví dụ 2 : Trang wed không truy xuất được ?
Tri thức tham chiếu đến các tri thức khác (dựa trên tri thức thứ cấp)
VD : SOP = vị từ cấp 2; FOP ==tri thức sơ cấp = vị từ cấp 1
VD : Hệ thống hỗ trợ xây dựng phần mền (nên sử dụng ES, hue, )
2.1.1.8 Tri thức có cấu trúc
Trang 242.1.1.9 Tri thức hệ chuyên gia (ES = Expert System)
Chuyên gia (Expert) là hệ thống AI được xây dựng và hình thành dựa trên cơ sở chuyên gia
+ Người có đầy đủ kỹ năng, kiến thức sâu (cả về luật và các sự kiện ) về một lĩnh vực nàođó;
+ Người có thể làm những việc mà người khác ít khả năng làm được
VD : bs= có chuyên môn + kinh nghiệm
Hệ chuyên gia là chương trình máy tính có thể thực hiện các công việc, vấn đề trong thuộc lĩnh vực hẹp ở mức tương tự như một người chuyên gia
+ Hầu hết cá chệ chuyên gia là các hệ dựa “luật”
+ Hiện nay một số các hệ chuyên gia thành công trong các lĩnh vực : bán hàng, kỹ nghệ,
y khoa và khai khoáng (tìm mỏ : GIS), các hệ điện lực
Chú ý : phân biệt {tương đối ví dụ đông y được học trong điều trị y khoa (ES,H)}
2.1.10 Phân loại tri thức theo nền tảng hình thành Cơ sở tri thức
2.1.1.10.Tri thức hệ Heuristic
Là qui luật xác suất thống kê = qui luật số đông (lớn)
[2 yêu cầu cơ bản : đủ lớn + đủ phổ biến/dàn trải]
Tri thức heuristic thường được coi là một “mẹo” tip nhằm dẫn dắt tiến trình lập luận
Vì vậy có nhiều rủi ro, đơn giản, => có tỷ lệ sai (phải dùng ràng buộc đảm bảo có suy luận của hệ thống AI có giá VD sử dụng thư viện Pythoon-constrain)
2.1.1.11.So sánh Tri thức hệ Heuristic với tri thức hệ chuyên gia
Trang 252.1.11 Logic mệnh đề và Logic vị từ
Cơ sở xây dựng các cơ chế suy luận logic/cstt biểu diễn=logic mệnh đề và logic vị từ
- Đa số các mệnh đề : Đúng/sai tùy thuộc vào nhiều yếu tố ngoại cảnh
- (1) Theo thời điểm
Vị từ = hàm của biến là “biến mệnh đề”
VD : Nam(x) = người x có phải là nam giới hay không ? Nam = vị từ
LOVE (x,y)= x và y yêu nhau ? LOVE = vị từ
2.1.1.13.2 Biểu diễn Logic vị từ và chân trị của biểu diễn tri
thức vị từ
VD 1 : Vị từ P(x) : số chẵn ; với X = “Số nguyên”
Tùy vào x là số nào mà p(x) có thể đúng hay sai
VD 2 : Biểu diễn phát biểu : “ Chẳng có vật nào lớn nhất và chẳng có vật nào nhỏ nhất”
Biểu diễn quy ước: ký hiệu như sau
P(x,y) : :y lớn hơn x:
Q(z,x) : “z bé hơn x”
Câu phát biểu trên :
(Với mọi x tồn tại y : P(y,x) ^ (Với mọi x tồn tại z : Q(z,x)))
Logic vị từ : biểu diễn gần như toàn bộ các khái niệm và nguyên lý của các khoa học cơ bản
Logic mệnh đề và lượng vị từ -> luật dẫn xuất -> thuận lợi tìm kiếm/khai thác
cơ sở tri thức
Trang 262.1.1.13.3 Mở rộng Logic vị từ
2.1.1.13.4 Logic vị từ bậc||cấp cao
VD P(x,y) -> Q(P1(x),P2(y)) : vị từ bậc/cấp 2
P1 (x) và P2 (y) : vị từ bậc/ cấp 1
Vị từ cấp 1 (FOP : First Order Predicate)= Vị từ sơ cấp ; VD : P1( ) P2 ( )
Vị từ cấp 2 (SOP : Second Order Predicate) = Vị từ thứ cấp ; VD Q( )
VD1 : P1 = kết hôn => FOP x = nam? y = nữ ? P1(x,y)
P2 = Bà con (cùng huyết thống) => FOP x,y = người ? P2(x,y)
Q = phạm luật => SOP Q(P1(x,y), P2(x,y))
Chú ý : Với các tri thứ dạng “luật” (Rule) có thể biểu diễn toàn bộ Rule đó dưới dạng FOP (vị từ cấp 1 = Lượng từ [Ký hiệu với mọi, tồn tại ],Vị từ
[MAN(…).PASS(…),…], Phép nối [^,~]) HOẶC cũng có thể biểu diễn dạng SOP (vị từ cấp 2)
2.1.1.13.5 Logic tình huống
Logic vị từ có bổ sung thêm các biến tình huống
VD : Thông tin (Input)
“Tàu XYZ cập bến lúc 11h”
“Bốc dỡ hàng kết thúc lúc 18h”
“Anh A chỉ huy bốc dỡ hàng” “do dịch bệnh nên có thể ngồi nhà chỉ huy”
“Tàu XYZ rời cảng lúc 19h”
Hỏi (Goal): “17 giờ A đang ở đâu ?” => trả lời : A ở “Bến cảng” || “ở nhà”
PC (Soft truyền thống) => không biết ??? người: có thể biết => PC (Soft AI: Logic vị từ ): biết
Biến tình huống = biến thời gian = lượng hóa = biểu diễn định hướng
11h ->18h->19h 11h->17h->18h
Cài App : sao cho Input [user nhập vào một phát biểu] = Output [logic tình huống :cài đặt phát biểu vào cơ sở tri thức =]
Trang 272.1.1.13.6 Logic trạng thái (modal)
Liên quan Fuzzy logic (Logic “mờ”) :
Ví dụ : Wiki “anh ABC ở phòng khách và phòng bếp” = “Mờ”
Với phát biểu trên có 3 trạng thái xảy ra :
.Anh ABC ở trong phòng khách (không liên quan phòng Bếp)
.Anh ABC ở trong phòng bếp (không liên quan phòng Khách)
.Anh ABC ở giữa cửa nối 2 phòng bếp và phòng khách = Logic trạng thái
“Mờ” nêu trên là chấp nhận được = cài đặt được vào AI Sys dưới dạng Logic trạng thái
Suy luận (lập luận) Logic cho bài toán AI
2.1.1.13.7 Logic xác suất và Logic khả xuất
Liên quan Fuzzy logic (Logic ‘mờ’)
Ví dụ :Tiếp VD trên 5.3.3.3
Logic khả xuất = là trường hợp cá biệt của Logic xác xuất thay vì xác suất thông thường thì xét “xác suất xảy ra” = ? xảy ra sự kiện đó.Thường biểu diễn
VD Lp -> 0.8q (độ tin cậy 0.8): 80% xảy ra
Tức là khi có sự kiện p thì 80% xảy ra sự kiện q
Ví dụ ứng dụng
VD cụ thể : “Trời nhiều mây thì 80% chiều nay mưa” = biểu diễn = Logic vị từ (logic vị từ dạng khả xuất)
“Mờ”= không rõ “nhiều mây như thế nào”
2.1.12 Biểu diễn tri thức bằng Frame (Cấu trúc = "Khung")
- Frame là phương pháp biểu diễn tri thức cấu trúc dữ liệu, chứa tất cả tri thức liên quan đến một đối tượng cụ thể nào đó = hình thức biểu diễn tri thức dựa trên cơ sỏ lập tình truyền thống (dùng CTDL = định nghĩa Agent)
2.1.13 Suy diễn tri thức bằng luật dẫn xuất
2.1.1.14 Khái niệm
Suy diễn = lập luận
Trang 28Suy luận : là dựa trên : CSTT ban đầu (đã có || đã biết) = tri thức cơ sở + Luật (Rules) dẫnxuất (Tập )
2.1.1.15 Luật dẫn xuất trong Cơ sở tri thức: Suy diễn tiến
Là các quy tắc || quy luật làm cơ sở để “suy diễn tri thức” thường là dạng biểu diễnhình thức hóa tri thức tự nhiên các ký hiệu (toán)/ lưu trữ trên pc phục vụ hệ thống phân tích Ai
Phổ biến là luật dẫn xuất “kéo theo” dạng tam đoạn luận (Logic học) :
Cho 1 cơ sở tri thức biểu diễn (Giả thiết || tiền đề)
======= Giả sử : có các luật dẫn xuất sau :
A^B -> D (A[sinh viên] ^ B[Điểm TB >8]->D[SV giỏi]=”SV có điểm TB >=8 là sinh viên giỏi”)
D^C -> E (A[SV giỏi]^C[RL giỏi]->E[Khen thưởng]=Sinh viên học giỏi và RL giỏi thì được khen thưởng”)
Hỏi : A,B,C,D kiểm tra “chân trị” của Vị từ suy diên : A^B^C->E {T||F} ?VD2 : Cho
Trang 29[Closure] ký hiệu {H,K} * hoặc nếu ký hiệu P={H,K} thì P* = bao đóng của tập P (R3) : H->A {A,H,K}
* Dùng để “Suy diễn lùi || ngược”
* Là dạng đồ thị có hướng AND/OR, trong đó
Minh họ thực tế cho đồ thị AND/OR nêu trên :
Xét quy ước ký hiệu các sự kiện như sau :
Q=“Trúng tuyển vào trường Đại học”
P1=“điểm thi môn 1 của kết quả thi TN THPTQG là >=5”
P2=“điểm thi môn 2 của kết quả thi TN THPTQG là >=5”
P3=“điểm thi môn 3 của kết quả thi TN THPTQG là >=5”
S1=“Kết quả học tập của 3 năm THPT AVG(ALL)>=6”
S2=“hạnh kiểm đạt loại Tốt trở lên”
Có luật sau (luật dẫn xuất sau là ĐÚNG)
Q=(P1^P2^P3) hoặc (S1^S2)