Cơ sở tri thức là một phần của khoa học máy tính và trí tuệ nhân tạo, nghiên cứu về việc xây dựng và sử dụng các hệ thống thông minh, tự động học đề tự động hóa các tác vụ thong tin, tié
Trang 1MON: CO SO TRI THUC
BIEU DIEN CO SO TRI THUC
Trang 2
GIỚI THIỆU HỆ CƠ SỞ TRI THỨC 4
1, CƠ SỞ DỮ LIỆU TRI THỨC YAGO 2c S2 tr TH HH H0 1x 21 ererrrrrre 4 PIN :))2009))506):)00)500/00210577 4‹ HA , 5
1v (000090 6 ẽ ẽ ẽ.ẽ HB.RRH 9
2 DO THI LUAT SUY ð 00.0005 a41.ĐHg H,HĂA 10
3 BDO THI LUAT SUY 0005 .H,H 12
4, BIEU DIEN DO TH] LUAT SUY DIEN VA LAP LUAN TIẾN .ccccccecercrrrerrree 14
5, BIEU DIEN DO THI LUAT SUY DIEN VA LAP LUAN LU Liceeccssssssessstsssstessesseesseeeeseesceases 19
3 KẾT HỢP NHIÊU LUẬT CÓ CỦNG KẾT LUẬN - 2022522 22Srhtrrertrrrrrrrrrrrrrrrrerre 23
4 CHƯƠNG TRÌNH TRIÊN KHAI LẬP LUẬN MYCIN ccàcccscrtererrrrrrrrrrrriee 24
IV LAP LUAN MO VA FUZZY LOGIC CONTROLLER 26
Iï“ và 06 ố ẽ 6 <4.A , H)HA 26
2 FUZZYLOGIC CONTROLLER 5-5 222 22 E22 222 HE rrerrrrre 27
3 VÍ DỤ CHƯƠNG TRÌNH ĐIÊU KHIÊN TỰ ĐỘNG HỆ THÓNG TƯỚI NƯỚC VÀ BÓN PHÂN
DỰA VÀO FUZZY LOGIC CONTROLLUER - 52-22 222E 2E E2 2E E22 T12 trrrrrrre 28
3 VÍ DỤ CHUONG TRINH DIEU KHIEN TU DONG HE THONG BOM NƯỚC VỚI CHỈ SÓ 3 BIẾN BÁT KỲ NHẬP TỪ BÀN PHÍM - c2 St 2t 222 22x22 H221 E1 reo 30
Trang 3Tài liệu tham khảo
- GIáo trình các hệ cơ sở tri thức Biên soạn: GS.TSKH Hoàng Kiếm, TS Đỗ Phúc và TS
Đỗ Văn Nhơn
- Clojure for Machine Learning ISBN: 978-1-78328-435-1 Paperback: 292 pages
Trang 4GIỚI THIỆU HỆ CƠ SỞ TRI THỨC
Cơ sở tri thức là một hệ thống thông tin được thiết kế đề lưu trữ, quản lý và truy xuất kiến thức và thông tim có liên quan Nó bao gồm các phần tử cơ bản như dữ liệu, thông tin, khái niệm, quy tắc và mối liên hệ giữa chúng Các thông tin này có thê được sắp xếp và tô chức theo các chủ đẻ, lĩnh vực hoặc mục đích sử dụng khác nhau Cơ sở tri thức cung cấp một nền tảng đề lưu trữ, quản lý và truy xuất các thông tin và kiến thức có liên quan đến một lĩnh vực hay ngành nghề cụ thê Điều này giúp tăng tính hiệu quả, độ chính xác và độ tin cậy trong việc quản lý và sử dụng thông tin Các hệ cơ sở trí thức có thê được sử dụng
đề giải quyết các vấn đề phức tạp bằng cách kết hợp các thông tin và kiến thức từ nhiều nguồn khác nhau Chúng có thê được sử dụng trong các lĩnh vực khác nhau, bao gồm y tế, giáo dục, kinh doanh, khoa học và công nghệ
Cơ sở tri thức là một phần của khoa học máy tính và trí tuệ nhân tạo, nghiên cứu về việc xây dựng và sử dụng các hệ thống thông minh, tự động học đề tự động hóa các tác vụ thong tin, tiép cận thông tin, phân tích, tư duy và ra quyết định, giúp con người giải quyết các vấn đề phức tạp và đưa ra các phán đoán chính xác dựa trên các luật, quy tắc và tri
thức có được
Các đối tượng nghiên cứu của cơ sở tri thức bao gồm phương pháp biều diễn, lưu trữ
và xử lý tri thức; các hệ thống hỗ trợ ra quyết định, khai thác dữ liệu và khai phá tri thức; các phương pháp học máy, trí tuệ nhân tạo và khai phá dữ liệu để xác định các mỗi quan
hệ, kết luận và dự đoán
H€ co so tri thirc (Knowledge base system) la mot h¢ thong phần mềm được thiết kế
dé tô chức, lưu trữ và truy xuất các thông tin tri thức về một lĩnh vực cụ thê nào đó Hệ thống này bao gồm các thành phần như cơ sở đữ liệu tri thức, các quy tắc suy luận, các phương pháp truy xuất tri thức và các chức năng xử lý tri thức
Mục đích chính của một hệ cơ sở trị thức là cung cấp cho người sử dụng một nguồn thông tin trĩ thức tổng hợp, đáng tin cậy và dễ tiếp cận đề hỗ trợ trong việc đưa ra quyết định và giải quyết các vấn đề trong lĩnh vực đó
Một hệ cơ sở tri thức có thê được sử dụng trong nhiều lĩnh vực khác nhau, chăng hạn như y tế, kinh tế, tài chính, khoa học máy tính, robot học, tự động hóa, Ví dụ, một hệ cơ
sở tri thức trong lĩnh vực y tế có thể cung cấp thông tin về các bệnh, thuốc và các chế độ dinh dưỡng khác nhau, cung cấp giải đáp các câu hỏi liên quan đến chân đoán và điều trị bệnh
Hệ cơ sở tri thức ngày càng được sử dụng trong lĩnh vực trí tuệ nhân tạo, tự động hóa
và học máy đề tăng cường khá năng suy luận và xử lý thông tin của máy tính
I DO THI TRI THUC (KNOWLEDGE GRAPH)
1 COSO DU LIEU TRI THUC YAGO
YAGO là một cơ sở dữ liệu tri thức đại diện cho nhiều lĩnh vực tri thức, được sử
dụng rộng rãi trong các ứng dụng như truy vân thông minh, suy luận, phân giải giải thích
và xử lý ngôn ngữ tự nhiên Phát triển của YAGO bắt đầu từ năm 2006 và do các nhà khoa
4
Trang 5học của Đại học Max-Planck ở Đức xây dựng YAGO sử dụng một số nguyên tắc để biều diễn thông tin tri thức về thế giới thực là các đối tượng tham chiếu đơn giản và rõ ràng (như tên của một quốc gia hoặc một diễn viên) và sử dụng nhiều nguồn đỡ liệu khác nhau (nhu Wikipedia, WordNet) đề giúp xác định quan hệ giữa các thực thể khác nhau YAGO được tô chức dưới dạng một danh sách các đối tượng khác nhau (như con người, đất nước, sự kiện, văn hóa) và các quan hệ giữa chúng (như là chủ đề sáng tác, quốc tịch, thành phố sinh sống) Các mối quan hệ này được biểu diễn bằng cách sử dụng các bộ ba (triples) có định dạng (subJect, predicate, obJect) YAGO đã được sử dụng rộng rãi trong các lĩnh vực như trí tuệ nhân tạo, xử lý ngôn ngữ tự nhiên, web sematic, hệ thông hỏi đáp và nhiều ứng dụng khác Các tính năng của YAGO - chăng hạn như phong phú về thông tin, độ chính xác cao cùng về định dạng dữ liệu được tổ chức rõ ràng - đã giúp YAGO trở thành một trong những nguồn tri thức phô biến nhất được sử dụng trong lọc
thông tin và hệ thống hỏi đáp
2 BIEU DIEN TRI THUC
Đồ thị tri thức trong YAGO được biều điễn bằng các bộ ba (triples) gồm ba thành phần chính: đối tượng nguồn (subject), quan hệ (predicate) và đối tượng đích (object) YAGO biéu điển đồ thị trí thức thông qua các bộ ba như trên, trong đó thực thể và lớp
được đại điện bằng các đối tượng trong bộ ba Những đối tượng này sẽ được định danh đầy đủ đề loại bỏ mọi sự không rõ ràng trong việc xác định thực thé, giup cho đồ thị tri
thức trở nên dễ hiểu và luôn chính xác
YAGO xây dựng lên đồ thị tri thức với quan hệ được định nghĩa bằng lĩnh vực khác
nhau như kiến trúc, giải trí, địa lý, lịch sử, kinh doanh, thông qua việc tong hợp thông tin
từ các nguồn dữ liệu như Wikipedia, WordNet và các nguồn đữ liệu khác
Cấu trúc đồ thị tri thức trong YAGO cho phép các ứng dụng xử lý tri thức, ví dụ như tìm kiếm tri thức, suy luận, trích xuất thông tin, phát hiện thông tin mới và nhiều ứng dụng khác
Sau đây là một ví dụ về biểu diễn đồ thị tri thức chứa 50 triple về lĩnh vực day hoc cha
giáo viên Võ Thị Thu Liễu của trường THPT TP Cao Lãnh Sau đó đưa vào máy tính và
xử ly tìm đường đi:
import networkx as nx
import matplotlib.pyplot as plt
KG = nx.DiGraph()
KG.add_edge(Sở GDĐT Đồng Tháp','Bộ GDĐT', label=trực thuộc')
KG.add_edge(Sở GDĐT Đồng Tháp',"Trường Chuyên NQD), label= 'có trường chuyên là') KG.add_edge(Trường THPT TP Cao Lãnh', 'Sở GDĐT Đồng Tháp', label=trực thuộc') KG.add_edge(Trường THPT TP Cao Lãnh', '8 tô CM', label='co')
KG.add_edge(Trường THPT TP Cao Lãnh', 'TP Cao Lãnh Tỉnh Đồng Tháp', label='có địa chỉ ở)
KG.add_edge(Trường THPT TP Cao Lãnh', Môn Tim học', label=có 4 giáo viên') KG.add_edge(Trường THPT TP Cao Lãnh', Lê Văn Lộc', label=có Hiệu trưởng là)
5
Trang 6KG.add_edge(Trường THPT TP Cao Lãnh', 'Phòng Giáo đục và Đào tạo thành phố Cao L anh’, label=liên kết)
KG.add_cdgeC Trường THPT TP Cao Lanh’, Hội đồng tư vấn giáo dục trường THPT TP C
ao Lãnh', label=hồ trợ)
KG.add_edge(Trường THPT TP Cao Lãnh', 'Công ty XKLĐ Đồng Tháp', label="hop tac’) KG.add_edge(Trường THPT TP Cao Lãnh', 'Hiệp hội giáo dục Đồng Tháp', label=thành viên)
KG.add_edge(Trường THPT TP Cao Lãnh', 'Công ty du lich Tam Sen’, label=hợp tác) KG.add_edge( Trường THPT TP Cao Lãnh', Phòng Giáo dục và Đảo tạo huyện Cao Lãnh' , label= hợp tác)
KG.add_edge(Trường THPT TP Cao Lãnh', "Trung tâm ĐT và PT giáo dục nghề nghiệp Ð T', label='tham gia’)
KG.add_edge(Trường THPT TP Cao Lãnh', 'Hội đồng Khoa học và Công nghệ trường TH
h, label='hé tro’)
KG.add_edge(Trường THPT TP Cao Lãnh', 'Trudng Chuyén NQD', label='hé tro’) KG.add_edge(‘Truong THPT TP Cao Lanh’, 'Phong GD&DT huyện Thanh Bình, label='h
ên kết)
KG.add_edge('Truong THPT TP Cao Lanh’, 'Lép 10A1’, label='co')
KG.add_edge(Trường THPT TP Cao Lãnh', 'Võ Thị Thu Liêu', label=có giáo viên) KG.add_ edge('V6 Thi Thu Liéu’, 'Trường THPT TP Cao Lãnh', label=giảng dạy ở) KG.add edge(Võ Thị Thu Liêu', 'Môn tin học', label='giang day')
KG.add edge(Võ Thị Thu Liêu', 'TP Cao Lãnh Tỉnh Đồng Tháp', label=có địa chỉ ở)
KG.add edge(Võ Thị Thu Liêu, 'học sinh trường THPT TP Cao Lãnh', label= dạy')
KG.add edge(Võ Thị Thu Liêu', 'Trường ĐH Đồng Tháp', label=tốt nghiệp từ)
KG.add edge(Võ Thị Thu Liêu,'Khoa CNTT', label=trực thuộc')
KG.add edge(Võ Thị Thu Liêu', 'Lớp 10AL', label=chủ nhiệm)
KG.add_ edge('V6 Thi Thu Liéu’, 'M6n Tin hoc’, label= 'giang day')
KG.add_ edge('V6 Thi Thu Liéu’, 'Trung tâm DVVL ĐT, label=là giáo vién thinh giang c ua’)
KG.add_ edge('V6 Thi Thu Liéu’, 'Truong Chuyén NQD', label='la gido viên thỉnh giang c ua’)
KG.add_edgeCMôn Tin học, 'CTR GDPT', label= là môn tự chon cua’)
KG.add_edge(Môn Tin học', 'Võ Thị Thu Liễu', label='co gy la’)
KG.add_edge(Môn Tin học', 'Võ Thị Thu Liêu", label= được giảng dạy bởi)
KG.add_edge('Lép 10A1', 'Võ Thị Thu Liêu', label=có gv chủ nhiệm là')
KG.add_edge(Lớp I0AL', Môn Tim học', label='có học môn)
KG.add_edge(Lớp I0AL', "Trường THPT TP Cao Lãnh', label='co 40 HS thuộc)
6
Trang 7KG.add_edge(Trường Chuyên NQD', 'Võ Thị Thu Liêu', labelE 'mời gv thỉnh giáng là') KG.add_edge( Trường Chuyên NQD', "Môn Tin học', label='có dạy môn)
KG.add_edge(Trường Chuyên NQD)', 'Sở GDĐT Động Tháp', labelE trực thuộc) KG.add_edge( Trường Chuyên NQD', 'Sở GDĐT Đông Tháp), labelE là I trong 2 trường chuyên của')
KG.add_edge(Trường Chuyên NQD', 'TP Cao Lãnh Tinh Đồng Tháp', labelE 'có địa chỉ ở'
KG.add_ edge('Truéng DH Dong Thap’, Khoa CNTT', label='co')
KG.add_edge(Trường ĐI Đồng Tháp', 'TP Cao Lãnh Tỉnh Đồng Tháp', label='co dia chi
ở)
# Pmnt the nodes and edges m the knowledge graph
print("Nodes:", KG.nodes())
print("Edges:", KG.edges())
# Draw the knowledge graph using matplotlib
pos =nx.spring layout(KG)
nx.draw(KG, pos, with labels=True)
edge labels = {(u, v): d['label'] for u, v, din KG.edges(data=True)}
nx.draw_networkx edge labels(KG, pos, edge labels=edge_ labels)
# DU LIEU VE TRUONG THPT TP CAO LANH:
plt.showQ
for triple in KG.edges():
if triple[0]=='"Truong THPT TP Cao Lãnh:
print(triple)
# Tìm duong di ngan nhat gitta 'Trrong THPT TP Cao Lãnh'và 'Bộ lao dong TB& XH
shortest_path = nx.shortest_path(KG, 'Truong THPT TP Cao Lanh’, 'Bộ lao déng TB& XH!
)
# Print the shortest path
pmmt(®n Đường ổi ngăn nhât giữa "Trường THPT TP Cao Lanh'va 'B6 lao déng TB&XH' :
\n", shortest_path, "\n")
# Tìm tất cả đường dẫn của 'Trường THPT TP Cao Lãnh' với 'Võ Thị Thu Lieu"
printC”Tât cả đường đi giữa “Trường THPT TP Cao Lãnh và 'Võ Thị Thu Liêu:”) paths = nx.all_ simple paths(KG, "Trường THPT TP Cao Lãnh', 'Võ Thị Thu Liêu)
7
Trang 8# Print all paths
for path in paths:
# Create an empty list to store node and edge labels
labels = []
for 1in range(len(path)-1):
# Get the edge label between two adjacent nodes
edge label = KG.get_edge data(path[i], path[i+1])[‘label']
# Append node label and edge label to the list
Trang 9Lãnh', 'Môn Tin học")
Lãnh', 'Lê Văn Lộc")
Lãnh', ‘Phong Giáo dục và Đào tạo thành phố Cao Lãnh")
Lãnh", 'Hội đồng tư vấn giáo dục trường THPT TP Cao Lãnh") Lãnh", "Công ty XKLĐ Đồng Tháp")
Lãnh", "Hiệp hội giáo dục Đồng Tháp") Lãnh", 'Công ty du lịch Tâm Sen") Lãnh", "Phòng Giáo dục và Đào tạo huyện Cao Lãnh") Lãnh", "Trung tâm ĐT và PT giáo dục nghề nghiệp ĐT") Lanh', 'Hội đồng Khoa học và Công nghệ trường THPT TP Cao Lãnh") Lãnh", 'Trường TC Nghề Thanh Bình")
Lãnh", 'Trường ĐH Đồng Tháp") Lãnh", "Trung tâm DWVL ĐT") Lãnh', 'Hội cựu sinh viên trường THPT TP Cao Lãnh") Lãnh", 'Trường Chuyên NQD')
Lãnh', "Phòng GD&ĐT huyện Thanh Bình")
Lãnh', 'Lớp 10A1")
Lãnh", 'Võ Thị Thu Liểu') Đường đi ngắn nhất giữa 'Trường THPT TP Cao Lãnh'và 'Bộ lao động TB&XH"
Tất cả đường đi giữa 'Trường THPT TP (ao Lãnh" và 'Võ Thị Thu Liễu":
-) trực thuộc -) Sở GDBT Đồng Tháp -› tổ trường chuyên là -› Trường (huyên MỤD -› mời gự thỉnh giảng là -› Vô Thị Thu Liêu
-} trực thuộc -› Sở 0DĐT Đồng Tháp -› tó trườnz chuyên là -› Trường (huyện HD -› (ó đạy môn -› Hôn Tin học -› đượt giảng dạy bởi -› Võ Thị Thu Liễu
=> có # giáo viên -› lôn Tìn học -› được giảng dạy bởi -› Võ Thị Thu Liêu
-) hỗ trợ -› Trung tân DVVL ĐT -› tời gv thỉnh giảng là -› Võ Thị Thu Liễu
~) hỗ trợ -› Trung tân DVL ĐT -› có dạy tôn -› Môn Tin học -› được giảng dạy bởi -› Võ Thị Thu Liễu
-) hỗ trợ -› Trường (huyên WQ) -› trời gv thỉnh giảng là -› Võ Thị Thu Liễu
-} hỗ trự -› Trưởng (huyên ID -› tó dạy tôn -› Môn Tin học -› được giảng dạy bởi -› Võ Thị Thu Liễu
-) tố -› Lớp 1841 -) có gv thủ nhiện là -› Võ Thị TÌu Liễu
-> ý -) Lớp 10M1 -) tố học tên -› Môn Tin học - được giảng day bởi -› Vũ Thị Thu Liễu
-> có giáo viên -› Vô Thị Thu Liễu
Il CÁC KỸ THUAT SUY DIEN VA LẬP LUẬN
1 CAC LUAT DAN
Luật là cau trúc tri thire ding dé lién kết thông tin đã biết với các thông tin khác giúp đưa
ra các suy luận, kết luận từ những thông tmm đã biết
Trong hệ thông dựa trên luật, ta thu thập các tri thức lĩnh vực trong một tập và lưu chúng trong cơ sở tri thức của hệ thông
Việc xử lý các luật trong hệ thống dựa trên các luật được quản lý bằng một module gọi là
bộ suy điện
Trang 10_IF Xe khéng khởi động được THEN Đầu tiên hãy kiêm tra hệ thống nhiên liệu, sau
đó kiêm tra hệ thông điện
TF Là nữ AND Da sáng THEN Nên chọn Xe Honda Lead AND Chọn màu sáng
2 ĐỎ THỊ LUẬT SUY DIỄN
Đồ thị luật (rule graph) là một dạng đồ thị biểu diễn một tập hợp các luật logic trong lĩnh vực trí tuệ nhân tạo Đồ thị luật cho phép biểu điễn các quan hệ giữa các luật trong một mạng lưới và cho phép áp dụng nhiều luật đồng thời để giải quyết các vấn đề phức
Cách biêu diễn đồ thị luật cơ bản bao gồm các bước sau:
1 Xác định các nút đề biểu điễn các luật trong thư viện của bạn
2 Xác định mỗi quan hệ giữa các luật đề hướng dẫn luật được áp dụng khi nào?
3 Xác định các điều kiện đề áp dụng các luật thông qua các đường nôi giữa các nút
4 Thực hiện suy luận bằng cách điều hướng đồ thị và áp dụng các quy tắc biểu diễn các nút và các đường nối với nhau
Cách biểu diễn đồ thị luật là một trong các công cụ giúp trí tuệ nhân tạo có thê hỗ trợ cho việc suy luận, quyết định, tư vẫn và giúp đưa ra những kết quá hiệu quả và chính xác hơn trong lĩnh vực kinh tế, y tế, công nghệ và giáo duc
10
Trang 11@ ©)
“ C6 3 loai node trén dé thi luật:
- Node két ludn: Node khéng co cung di ra (node A)
- Node la: Kh6éng co cung di vào (Node Q, D, J)
- Node trung gian: Vừa có cung ổi ra vừa có cung di ra vừa có cung di vào (Node B, C)
s* Các nút lá cần phải được cung cấp giá trị đúng hoặc sai Chính giá trị đó kết hợp
với đồ thị luật sẽ cho ra kết quả đầu ra là node kết luận
3 ĐỎ THỊ LUẬT SUY DIỄN
1 LẬP LUẬN TIỀN
Giả thuyết từ giá trị các node lá, khi hệ thong thay giả thuyết của luật khớp với với thông
tin trong bộ nhớ, câu kết luận của luật được bồ sung vào bộ nhớ
* Ưu điểm:
Làm việc tốt khi bài toán về bản chất đi thu thập thông tin rồi thấy điều cần suy diễn Suy diễn tiễn cho ra khối lượng lớn các thông tin từ một số thông tin ban đầu Nó sinh ra nhiều thông tin mới
Suy diễn tiễn là tiếp cận lý tưởng đối với loại bài toán cần giải quyết các nhiệm vụ như lập
kế hoạch, điều hành điều khiển và dién dich
* Nhược điểm:
Trang 12Một nhược điềm chính của hệ thống suy diễn tiễn là không cảm nhận được rằng chỉ một vài thông tin là quan trọng Hệ thống hỏi các câu hỏi có thể hỏi mà không biết rằng chỉ một ít câu đã đi đến kết luận được
Hệ thống có thê hỏi cả câu không liên quan Có thê các câu trả lời cũng quan trọng, nhưng làm người dùng lúng túng khi phải trả lời các câu không đính đến chủ đè
Trang 134 BIEU DIEN DO THI LUAT SUY DIEN VA LAP LUAN TIEN
Yêu cầu: Hãy cho 10 luật suy diễn trong lĩnh vực làm việc của cá nhân, sau đó vẽ đồ thị
luật đó Dùng kỹ thuật lập luận tiễn đề từ các gia tri cua node la dua ra gia tri cla node két
^
luận
Chương trình:
# Write a Python Code to implement a forward chaming reasoning of a rule based inferen
ce engine of expert system
'C':'Dat giai 3 tro lén HSGQG',
'D':'Dat giai 3 tro lén HSG Tinh’,
'P: Không vị phạm nội qui,
'Q':'Dat huy chuong thé thao’,
'R': 'Strc Khée tot,
'S': ‘Nang khiéu choi thé thao’,
'T': 'Tap thé thao thường xuyên',
"U': 'Ấn, uống đủ chất,
"V': 'Làm việc, nghỉ ngơi khoa học}
#for k in DS:
# print(DS[k])
rules = {'rulel': {'antecedent: ['B', 'C'], ‘consequent’: 'A'},
'rule2': {'antecedenf: ƑQ', 'D'], ‘consequent’: 'B'},
14
Trang 14: ['P’], ‘consequent’: 'O'}, :ƑR, S'TỊ, ‘consequent’: 'Q'}, tule10': {‘antecedent': ['U', 'V'], ‘consequent’: 'R'}}
pos =nx.spring layout(KG)
nx.draw(KG, pos, with labels=True)
edge labels = {(u, v): d['label'] for u, v, din KG.edges(data=True)} nx.draw_networkx edge labels(KG, pos, edge labels=edge labels)
# Show the plot
Trang 15plt.showQ
# Define the facts or initial state of the system
#facts = {'A': True, 'B': True}
#facts = {'A': True, 'B': False, 'C': True}
facts = {'U': True, 'V': True, 'S': True,'T': True, 'E': True, 'F': True, 'P': True, 'H': True, '
M': True ,'L': True, 'K': True, 'J': True}
# Initialize an empty list to store the inferred facts
# Hàm đề áp dụng quy tắc và thêm các đữ kiện được suy luận vào danh sách
def apply_rule(rule, inferred_facts, facts):
if rules[r]['consequent’] not in facts and check_rule(rules[r], facts):
apply _rule(rules[r], inferred_ facts, facts)
Trang 16Duoc thi HSG Tinh
Đạt giải 3 trở lên HSG Tinh
Đạt giải 3 trở lên HSGQG
Đạt huy chương thê thao
Đậu DH
Học bồng 500 triệu