Tải bản đầy đủ (.doc) (21 trang)

Tiểu luận Công nghệ tri thức và ứng dụng ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO ĐIỀU CHẾ HÓA HỌC

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (444.64 KB, 21 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC MÁY TÍNH
Tiểu luận môn : CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
Lớp Cao Học CH8- Chuyên Ngành KHMT
Đề tài:
ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO
ĐIỀU CHẾ HÓA HỌC
GVHD: GS.TSKH.Hoàng Văn Kiếm
HVTH: Nguyễn Thị Kim Anh
Mã Số HV: CH1301078
TP HCM 10/2014
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
MỤC LỤC
1. Khái niệm 5
2. Cơ chế suy diễn 6
3. Đặc điểm 7
4. Ưu nhược điểm 7
II. Ứng dụng mạng ngữ nghĩa trong tin học 8
1.Hệ chuyên gia 8
2. Ứng dụng mạng ngữ nghĩa để giải các bài toán 10
III. Ứng dụng vào bài toán Điều chế chất hóa học 11
IV. Xây dựng chương trình Điều chế chất hóa học 12
1. Cài đặt chương trình 12
2. Các chức năng trong chương trình 17
KẾT LUẬN 21

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 2
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
MỞ ĐẦU
Trong thời đại công nghệ phát triển nhanh chóng như hiện nay, việc ứng dụng


công nghệ thông tin vào trong mọi lĩnh vực là một trong những nhu cầu cấp thiết và
tất yếu. Đặc biệt là trong lĩnh vực thương mại điện tử, quản lý, số lượng thông tin
và dữ liệu cần quản lý sẽ tăng lên gấp bội, dẫn tới công việc quản lý trở nên phức
tạp, khó khăn hơn. Do đó, việc ứng dụng công nghệ thông tin lại càng cấp thiết hơn,
cùng với sự hỗ trợ của các phần mềm quản lý, nó giúp chúng ta quản lý mọi việc dễ
dàng, nhanh chóng, đáp ứng mọi yêu cầu lưu trữ và truy xuất dữ liệu, tiết kiệm được
thời gian và chi phí cho công việc.
Công nghệ tri thức có thể xem là một nhánh nghiên cứu của trí tuệ nhân tạo,
phân tích tri thức lĩnh vực và chuyển nó thành những mô hình tính toán đưa vào
máy tính để phục vụ những nhu cầu cần thiết. Hay nói cách khác là việc ứng dụng,
biểu diễn các thông tin, các suy diễn đời thường của con người vào trong máy tính.
Xây dựng cho máy tính trở thành như một con người thực sự, và có thể giải quyết
vấn đề như con người.
Công nghệ tri thức đóng vai trò hết sức quan trọng trong việc phát triển Công
nghệ thông tin, nâng cao sự hữu dụng của máy tính, giúp con người gần gũi với
máy tính hơn. Đồng thời, công nghệ tri thức còn góp phần thúc đẩy nhiều ngành
khoa học khác phát triển, khả năng phát triển khoa học dựa trên tri thức liên ngành.
Cho các hợp chất hóa học ban đầu A,B,C…, dựa vào các phương trình phản
ứng đã biết, hãy điều chế ra hợp chất hóa học X từ những phương trình phản ứng
trên. Bài toán đơn giản nếu số lượng phương trình phản ứng là nhỏ. Nhưng với số
lượng phương trình phản ứng là rất lớn thì việc tìm ra những phương trình thích hợp
để điều chế ra chất X là rất khó khăn. Từ lý do trên, áp dụng giải bài toán điều chế
trên bằng việc sử dụng mạng ngữ nghĩa. Và một phần nhỏ trong bài thu hoạch này
là cân bằng phản ứng oxi hóa khử.
Thông qua những buổi giảng dạy và hướng dẫn của thầy Hoàng Kiếm, giúp
em nắm được kiến thức tổng quát và hiểu hơn về việc quản lý tri thức, các hệ cơ sở
tri thức, cũng như khai mỏ dữ liệu và khám phá tri thức. Và trong bài thu hoạch
này, em xin trình bày chi tiết việc áp dụng mạng ngữ nghĩa vào bài toán điều chế
chất hóa và cẩn bằng phản ứng oxi khóa khử. Do khả năng và kiến thức có hạn, nên


HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 3
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
bài viết cũng chỉ dừng ở mức điều chế đơn giản và khái quát. Em xin chân thành
cảm ơn thầy Hoàng Kiếm đã giảng dạy và hướng dẫn để hoàn thành bài viết rất bổ
ích và lý thú này.
Nội dung của bài viết ngoài phần mở đầu và kết luận, có 4 mục sau:
I. Mạng ngữ nghĩa
II. Ứng dụng mạng ngữ nghĩa trong tin học
III.Ứng dụng vào bài toán Điều chế chất hóa học
IV.Xây dựng chương trình Điều chế chất hóa học

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 4
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
I. Mạng ngữ nghĩa
1. Khái niệm
Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức dùng đồ thị. Trong đó
nút biểu diễn đối tượng, và cung biểu diễn quan hệ giữa các đối tượng.
Hình 1.1: Ví dụ về mạng ngữ nghĩa
Người ta có thể mở rộng mạng ngữ nghĩa bằng cách thêm các nút và nối chúng
vào đồ thị. Các nút mới ứng với các đối tượng bổ sung. Thông thường có thể mở
rộng mạng ngữ nghĩa theo ba cách:
- Thêm một đối tượng tương tự
- Thêm một đối tượng đặc biệt hơn
- Thêm một đối tượng tổng quát hơn
Ta có thể mở rộng mạng ngữ nghĩa ở Hình 1.1 như sau:
- Thêm “Cá voi” thể hiện một loài động vật có vú mới.
- Thêm “Mèo Garfield” cũng là một loài mèo (nhân vật hoạt hình).
- Thêm “Loài vật” một đối tượng tổng quát hơn.

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 5

Động
vật có

Con
mèo
lông
trên cạn

sống
đuôi


GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
Hình 1.2: Phát triển mạng ngữ nghĩa
Tính chất quan trọng của mạng ngữ nghĩa là tính kế thừa. Nó cho phép các nút
được bổ sung sẽ nhận các thông tin của các nút đã có trước, và cho phép mã hóa tri
thức một cách dễ dàng.
Để minh họa cho tính kế thừa của mạng ngữ nghĩa, ta hãy xét một câu hỏi trên
đồ thị Hình 1.2. Ta muốn biết mèo “Garfield” có đuôi hay không?
Hình 1.3: Các bước thực hiện phép toán trên mạng ngữ nghĩa
2. Cơ chế suy diễn
Cơ chế suy diễn thực hiện theo thuật toán “loang” đơn giản:
Bước 1: Kích hoạt những đỉnh hình tròn đã cho ban đầu (những yếu tố đã có giá
trị).
Bước 2: Lặp lại bước sau cho đến khi kích hoạt được tất cả những đỉnh ứng với
những yếu tố cần tính hoặc không thể kích hoạt được bất kỳ đỉnh nào nữa.
Nếu một đỉnh hình chữ nhật có cung nối với n đỉnh hình tròn mà n-1 đỉnh hình

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 6
Động

vật có

Con
mèo
lông

sống
đuôi


Cá voi
trên cạn
Garfield

Loài vật


dưới
nước
sống
Người dùng
Garfield Con
mèo
Động
vật có

Đuôi
có đuôi? có đuôi?
có đuôi?
Có Có



GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
tròn đã được kích hoạt thì kích hoạt đỉnh hình tròn còn lại (và tính giá trị đỉnh còn
lại này thông qua công thức ở đỉnh hình chữ nhật).
3. Đặc điểm
- Mạng ngữ nghĩa là một phương pháp biểu diễn tri thức, được xây dựng dựa
trên phương pháp đồ thị để biểu diễn các mối liên hệ giữa các tri thức tổng quát, các
khái niệm, các sự việc
- Do mạng ngữ nghĩa là một loại đồ thị cho nên ta có thể dùng những thuật
toán của đồ thị trên mạng ngữ nghĩa như thuật toán tìm liên thông, tìm đường đi
ngắn nhất,… để thực hiện các cơ chế suy luận. Điểm đặc biệt của mạng ngữ nghĩa
so với đồ thị thông thường chính là việc gán một ý nghĩa cho các cung. Cung nối
giữa hai đỉnh cho biết giữa hai khái niệm tương ứng có sự liên hệ như thế nào. Việc
gán ngữ nghĩa vào các cung của đồ thị đã giúp giảm bớt được số lượng đồ thị cần
phải dùng để biễu diễn các mối liên hệ giữa các khái niệm.
- Một đặc điểm quan trọng của mạng ngữ nghĩa là tính kế thừa. Chính đặc tính
kế thừa của mạng ngữ nghĩa đã cho phép ta có thể thực hiện được rất nhiều phép
suy diễn từ những thông tin sẵn có trên mạng.
- Cơ chế suy diễn áp dụng trong mạng ngữ nghĩa là thực hiện theo thuật toán
loang truyền đơn giản theo hai bước sau:
• Kích hoạt các đỉnh đã cho ban đầu (các đỉnh đã có giá trị)
• Nếu một đỉnh chưa xác định nối với n đỉnh khác (thông qua những mối liên
hệ). Và trong đó có n-1 đỉnh đã xác định thì đỉnh đó cũng được xác định. Lặp
lại bước này cho đến khi xác định được tất cả các đỉnh.
4. Ưu nhược điểm
a. Ưu điểm :
• Mạng ngữ nghĩa rất linh động, có thể thêm vào mạng các đỉnh hoặc cung
mới để bổ sung các tri thức cần thiết
• Mạng ngữ nghĩa có tính trực quan cao nên rất dễ hiểu

• Mạng ngữ nghĩa cho phép các đỉnh có thể kế thừa các tính chất từ các đỉnh
khác thông qua các cung loại “là’ từ đó có thể tạo ra các liên kết “ngầm”
giữa những đỉnh không có liên kết trực tiếp với nhau.

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 7
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
• Mạng ngữ nghĩa hoạt động khá tự nhiên theo cách thức con người ghi nhận
thông tin.
b. Nhược điểm :
• Vẫn chưa có một chuẩn nào quy định các giới hạn cho các đỉnh và cung của
mạng. Điều đó đồng nghĩa với người dùng có thể gắn bất kỳ khái niệm nào
cho đỉnh hoặc cung.
• Tính thừa kế trong mạng có thể dẫn đến khả năng mâu thuẩn tri thức
II. Ứng dụng mạng ngữ nghĩa trong tin học
Mạng ngữ nghĩa mà một cách biểu diễn tri thức dưới dạng đồ thị trực quan. Tuy
nhiên để biểu diễn mạng ngữ nghĩa dưới dạng tri thức trong tin học là một vấn đề
phức tạp. Sau đây là một số ứng dụng của mạng ngữ nghĩa trong tin học.
1.Hệ chuyên gia
a. Khái niệm
- Trong cuộc sống có rất nhiều tri thức được hình thành dựa trên nền tảng một
hệ thống các thông tin riêng biệt tách rời. Những thông tin này thường không có cấu
trúc, không có tính hệ thống và thường không có quan hệ với nhau. Việc tổng hợp
các thông tin tách rời, riêng biệt để hình thành nên một tri thức là việc làm mà các
chuyên gia đã thực hiện được và qua đó họ có thể lý giải được sự việc và có những
nhận định chính xác về các hiện tượng xẩy ra. Tuy nhiên giới hạn của con người
trong việc ghi nhớ và suy luận đã thúc đẩy việc tạo ra các hệ thống mà có thể thay
thế các chuyên gia trong việc tổng hợp thông tin và đưa ra những nhận định chính
xác dựa trên các hiện tượng xẩy ra dựa vào những công thức suy luận sẵn có là cần
thiết. Những hệ thống đó được gọi là hệ chuyên gia.
- Yếu tố quan trọng để xây dựng một hệ chuyên gia là thông tin. Thông tin có thể là

đối tượng, có thể là mối liên hệ giữa các đối tượng đó. Thông tin càng nhiều càng
chi tiết thì độ chuẩn xác của hệ chuyên gia càng cao.
b. Ưu khuyết điểm
- Hệ chuyên gia là một ứng dụng được con người xây dựng nên để phục vụ
con người trong việc tổng hợp thông tin và đưa ra những nhận định dựa vào quá
trình suy luận logic. Do đó bên cạnh những ưu điểm thì hệ chuyên gia còn tồn tại rất

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 8
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
nhiều khuyết điểm và cần sự khắc phục để các hệ chuyên gia ngày càng trở nên
hoàn thiện hơn.
Ưu điểm :
- Lưu trữ lượng thông tin lớn
- Tốc độ suy luận nhanh, độ chính xác cao
- Dễ tiếp thu thông tin mới
Khuyết điểm :
- Không có khả năng đánh giá thông tin đầu vào
- Thông tin đầu vào yêu cầu phải đúng chuẩn và rỏ ràng
- Không có khả năng hình thành tri thức mới từ những thông tin đã có
c. Quá trình xây dựng
Quá trình xây dựng một hệ chuyên gia trải qua các bước sau:
(1) Tiếp nhận thông tin: các thông tin trong quá trình này là các thông tin thô.
Được lưu trữ theo một định dạng nhất định (thường là theo định dạng của
Logic vị từ). Thông tin càng phong phú thì hệ thống càng có độ tin cậy cao
(2) Phân loại thông tin: đây là quá trình sắp xếp các thông tin theo một quy luật
sẵn có. Trong quá trình này người xây dựng hệ chuyên gia cần phải thực
hiện công việc chính xác, vì nếu như thông tin được chọn lọc và sắp xếp sai
lệch thì hệ thống sẽ không có độ tin cây cao.
(3) Xây dựng giao diện cho hệ thống. Đây là bước không ảnh hưởng đến độ tin
cậy của hệ thống nhưng là bước quan trong để đưa hệ thống đến với con

người. Hệ thống càng thân thiện thì giá trị hệ thống càng cao. Trong quá
trình xây dựng hệ thống.
d. Một số hệ chuyên gia tiêu biểu
(1) Hệ chuyên gia trong lĩnh vực y tế dùng để chẩn đoán bệnh. Thông thường
một chứng bệnh sẽ có một số lượng triệu chứng nhất định. Thông tin đưa vào
cho hệ thống là các triệu chứng và các mối kết hợp và liên hệ. Dựa vào các
mối liên hệ mà hệ thống sẽ sắp xếp các thông tin thành một liên kết các triệu
chứng. Khi nhận được thông tin đầu vào qua một số triệu chứng, hệ chuyên
gia sẽ phân tích và tìm kiếm ra kết quả chẩn đoán bệnh.

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 9
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
(2) Hệ chuyên gia trong lĩnh vực kỹ thuật dùng để chẩn đoán hỏng hóc của máy
móc. Tương tự như trên, các thông tin sẽ được tiếp nhận và tính toán đánh giá để
hình thành nên tri thức.
(3) Hệ chuyên gia trong lĩnh vực khoa học tự nhiên dùng để giải đáp các quy
luật biến đổi của giới tự nhiên dựa trên những quy luật cố định và bền vững.
2. Ứng dụng mạng ngữ nghĩa để giải các bài toán
e. Mục tiêu
- Trong toán học việc tìm hiểu và chứng minh một tiền đề, một định lý, là một
quá trình phức tạp với một hệ thống các dẫn chứng, luận chứng, và các luận
chứng luận cứ đó lại có quan hệ đến nhau. Việc kết hợp các dẫn chứng, luận chứng
đó sẽ tạo ra được những tri thức khác nhau và hổ trợ cho việc giải quyết bài toán.
Giải quyết được vấn đề đó, mạng ngữ nghĩa được xem như một cách thức để giải
quyết các vấn đề trong toán học.
- Ứng dụng mạng ngữ nghĩa trong giải quyết các bài toán có ý nghĩa rất lớn vì
nó không chỉ mang tính trực quan mà còn biểu hiện được các mối quan hệ rỏ ràng,
qua đó có thể phát hiện được những sai lệch trong quá trình dẫn chứng một cách dễ
dàng
f. Quá trình xây dựng

Để xây dựng chương trình giải một bài toán bằng mạng ngữ nghĩa cần áp dụng các
bước sau:
(1) Xác định các đối tượng, các mối liên hệ có trong bài toán
- Từ những thông tin có trước của bài toán, việc xác định các đối tượng và các
mối liên hệ không phức tạp, tuy nhiên mạng ngữ nghĩa cho bài toán có thể đưa ra
được đáp án chính xác hay không phụ thuộc vào mật độ thông tin (số lượng đối
tượng và mối liên hệ giữa các đối tượng). Ví dụ: Khi xây dựng mạng ngữ nghĩa cho
bài toán hình học, các đối tượng của mạng ngữ nghĩa là các thông tin liên quan đến
cạnh, góc. Còn các mối liên hệ là các thông tin miêu tả tính chất của các đối tượng
trong mạng như tổng các góc, quy tắc về chiều dài các cạnh tương ứng với các
góc,
(2) Loại các đối tượng, các mối liên hệ dư thừa

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 10
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
- Trong quá trình thu thập dữ liệu, có nhiều thông tin trùng lặp được biểu diễn
dưới nhiều dạng khác nhau. Việc phân tích các thông tin và biểu diễn trên mạng
ngữ nghĩa là cần thiết. Với nhiều thông tin trùng lặp, mạng sẽ phình ra một cách
không cần thiết. Khi đó tốc độ tính toán sẽ bị hạn chế.
- Ngoài ra, khi thu thập thông tin, có nhiều thông tin sẽ bị sai lệch, gây mâu
thuẩn với những thông tin khác, cần xác định và loại bỏ những thông tin này để đảm
bảo tính thống nhất của thông tin.
(3) Xây dựng các mối liên hệ giữa các đối tượng
- Chọn lọc các mối liên hệ cho từng đối tượng. Lưu ý là với n đối tượng thì cần
phải có liên hệ với n-1 đối tượng khác. Có nghĩa là để xác định được n yếu tố thì
cần phải có n-1 yếu tố đã được xác định.
(4) Tối ưu hóa mạng ngữ nghĩa
- Vận dụng phương pháp kế thừa để hạn chế các mối liên hệ trong mạng. Các
đối tượng kế thừa sẽ có đầy đủ tất cả các thuộc tính của đối tượng được kế thừa.
- Giữa hai đối tượng không nên tồn tại quá một mối liên hệ. Việc tồn tại hơn một

mối liên hệ giữa hai đối tượng không làm giá trị mạng ngữ nghĩa sai những sẽ làm
mạng phình ra không cần thiết
III. Ứng dụng vào bài toán Điều chế chất hóa học
Bài toán ví dụ: Từ quặng pyrit sắt (FeS
2
), nước biển (NaCl), không khí (O
2
) và
nước (H
2
O). Tìm các phương trình phản ứng để điều chế chất FeSO
4
.
Giả sử ta có mạng ngữ nghĩa để giải bài toán điều chế trên như hình sau:

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 11
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
Bắt đầu: đỉnh FeS
2
, NaCl, O
2
được kích hoạt.
Phương trình (1) được kích hoạt. Từ (1) ta được Fe
2
O
3
và SO
2
, đỉnh Fe
2

O
3

SO
2
được kích hoạt.
Phương trình (2) được kích hoạt. Từ (2) ta được SO
3
, đỉnh SO
3
được kích hoạt.
Phương trình (5) được kích hoạt. Từ (5) ta được H
2
, đỉnh H
2
được kích hoạt.
Phương trình (4) được kích hoạt. Từ (2) ta được Fe, đỉnh Fe được kích hoạt.
Phương trình (3) được kích hoạt. Từ (3) ta được FeSO
4
.
Chất FeSO
4
đã được điều chế, thuật toán kết thúc.
IV. Xây dựng chương trình Điều chế chất hóa học
1. Cài đặt chương trình
1.1. Cài đặt mạng ngữ nghĩa sử dụng mảng 2 chiều
- Cột: ứng với mỗi phương trình phản ứng khác nhau (đỉnh hình chữ nhật).
- Dòng: ứng với mỗi hợp chất hóa học (gồm các chất tham) (đỉnh hình
eclipse).
Phần tử M[i, j] = -1 nghĩa là ứng với phương trình phản ứng cột j có hợp chất

ứng với dòng i (hợp chất ở vế trái – chất tham gia). Và ngược lại M[i, j] = 0.

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 12
Chất tham gia Chất tạo thành
FeS
2
+ O
2
→ Fe
2
O
3
+ SO
2
SO
2
+ O
2
→ SO
3
NaCl + H
2
O → NaOH + H
2
+ Cl
2
Fe
2
O
3

+ H
2
→ Fe + H
2
O Fe + H
2
O + SO
3
→ FeSO
4
+ H
2
O
2
SO
2
FeS
2
SO
3
Fe
2
O
3
Fe
H
2
FeSO
4
NaC

l
NaO
H
Cl
2
(1)
(2)
(4)
(3)
(5)
Chú thích:
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
Mảng biểu diễn mạng ngữ nghĩa ban đầu:
(1) (2) (3) (4) (5)
FeS
2
-1 0 0 0 0
O
2
-1 -1 0 0 0
SO
2
0 -1 0 0 0
Fe
2
O
3
0 0 0 -1 0
Fe 0 0 -1 0 0
SO

3
0 0 -1 0 0
H
2
O 0 0 -1 0 -1
NaCl 0 0 0 0 -1
H
2
0 0 0 -1 0
Khởi đầu: các chất FeS
2
, NaCl, O
2
, H
2
O được kích hoạt.
(1) (2) (3) (4) (5)
FeS
2
1 0 0 0 0
O
2
1 1 0 0 0
SO
2
0 -1 0 0 0
Fe
2
O
3

0 0 0 -1 0
Fe 0 0 -1 0 0
SO
3
0 0 -1 0 0
H
2
O 0 0 1 0 1
NaCl 0 0 0 0 1
H
2
0 0 0 -1 0
Cột (1), tất cả các dòng M[i, 1] > 0, nên các chất Fe
2
O
3
, SO
2
được kích
hoạt. Tương tự, ở cột (5), tất cả các dòng M[i, 5] > 0, nên các chất NaOH, H
2
,
Cl
2
được kích hoạt.
(1) (2) (3) (4) (5)
FeS
2
1 0 0 0 0
O

2
1 1 0 0 0
SO
2
0 1 0 0 0
Fe
2
O
3
0 0 0 1 0
Fe 0 0 -1 0 0

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 13
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
SO
3
0 0 -1 0 0
H
2
O 0 0 1 0 1
NaCl 0 0 0 0 1
H
2
0 0 0 1 0
Lặp lại bước trên cho đến khi tìm được FeSO
4
. Ngược lại, nếu trong
quá trình lặp lại mà không có ô nào được kích hoạt thì thuật toán dừng,
không tìm được lời giải.
1.2. Cài đặt mạng ngữ nghĩa sử dụng mảng 1 chiều

Cũng tương tự như cách cài đặt trên, nhưng chỉ sử dụng mảng 1 chiều
để lưu thông tin mạng ngữ nghĩa. Và danh sách L chứa các chất ở vế trái
(chất tham gia) của tất cả các phương trình phản ứng.
L = {(1), (2), (3), (4), (5)}
Mảng biểu diễn mạng ngữ nghĩa ban đầu:
FeS
2
O
2
SO
2
Fe
2
O
3
Fe SO
3
H
2
O NaCl H
2
0 0 0 0 0 0 0 0 0
Khởi đầu: các chất FeS
2
, NaCl, O
2
, H
2
O được kích hoạt
FeS

2
O
2
SO
2
Fe
2
O
3
Fe SO
3
H
2
O NaCl H
2
1 1 0 0 0 0 1 1 0
Lặp từng phương trình phản ứng (1) tới (5), ứng với từng phương
trình, kiểm tra các chất ở vế trái của phương trình đó. Nếu tất cả giá trị lớn
hơn 0 thì các chất ở vế phải ứng với phương trình đó được kích hoạt.
Ở phương trình (1), vế trái FeS
2
= 1, O
2
= 1 nên các chất ở vế phải Fe
2
O
3
,
SO
2

được kích hoạt. Loại bỏ phương trình (1) ra khỏi danh sách L.
L = {(2), (3), (4), (5)}
FeS
2
O
2
SO
2
Fe
2
O
3
Fe SO
3
H
2
O NaCl H
2
1 1 1 1 0 0 1 1 0
Tiếp đến kiểm tra phương trình (2), vế trái SO
2
= 1, O
2
= 1 nên các chất ở
vế phải SO
3
được kích hoạt. Loại bỏ phương trình (2) ra khỏi danh sách L.

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 14
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014

L = {(3), (4), (5)}
FeS
2
O
2
SO
2
Fe
2
O
3
Fe SO
3
H
2
O NaCl H
2
1 1 1 1 0 1 1 1 0
Kiểm tra phương trình (3), vế trái Fe = 0, H
2
O

= 1, SO
3
= 1 nên các chất ở
vế phải chưa

được kích hoạt.
L = {(3), (4), (5)}
FeS

2
O
2
SO
2
Fe
2
O
3
Fe SO
3
H
2
O NaCl H
2
1 1 1 1 0 1 1 1 0
Lặp lại bước trên cho đến khi tìm được FeSO
4
. Ngược lại, nếu trong
quá trình lặp lại mà không có phương trình nào bị loại khi đã duyệt hết
danh sách L thì thuật toán dừng, không tìm được lời giải.
Sử dụng mảng 1 chiều tiết kiệm được không gian lưu trữ hơn so với
mảng 2 chiều. Do đó, em sử dụng cài đặt mảng 1 chiều cho chương trình
demo Điều chế này.
1.3. Giới thiệu CSDL
Cấu trúc XML được sử dụng để lưu trữ dữ liệu của các phương trình
phản ứng, và các chỉ số electron (dùng để cân bằng phản ứng hóa học bằng
phương pháp electron) như sau:
- Cấu trúc xml lưu trữ các phương trình phản ứng (equation.xml):
<?xml version="1.0" encoding="utf-8" ?>

<equations>
<eq>4FeS2 + 9O2 = 2Fe2O3 + 6SO2</eq>
<eq>2SO2 + O2 = 2SO3</eq>
<eq>Fe2O3 + 3H2 = 2Fe + 3H2O</eq>
<eq>Fe + H2O + SO3 = FeSO4 + H2</eq>
<eq>2NaCl + 2H2O = 2NaOH + H2 + Cl2</eq>

</equations>

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 15
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
- Cấu trúc xml lưu trữ chỉ số electron của 1 nguyên tố (electron.xml):
<?xml version="1.0" encoding="utf-8" ?>
<electronlist>
<nguyento>
<kyhieu>O</kyhieu>
<electron>-2</electron>
</nguyento>
<nguyento>
<kyhieu>H</kyhieu>
<electron>1</electron>
</nguyento>
<nguyento>
<kyhieu>Fe</kyhieu>
<electron>2,3</electron>
</nguyento>
<nguyento>
<kyhieu>S</kyhieu>
<electron>2,4,6</electron>
</nguyento>

<nguyento>
<kyhieu>Mg</kyhieu>
<electron>2</electron>
</nguyento>
<nguyento>
<kyhieu>N</kyhieu>
<electron>3,4,5</electron>
</nguyento>
<nguyento>
<kyhieu>Cl</kyhieu>
<electron>-1</electron>
</nguyento>

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 16
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
<nguyento>
<kyhieu>O</kyhieu>
<electron>-2</electron>
</nguyento>

<nhomnguyento>
<kyhieu>SO4</kyhieu>
<electron>-2{S[6,1],O[-2,4]}</electron>
</nhomnguyento>
<nhomnguyento>
<kyhieu>NO3</kyhieu>
<electron>-1{N[5,1],O[-2,3]}</electron>
</nhomnguyento>
<nhomnguyento>
<kyhieu>OH</kyhieu>

<electron>1{O[-2,1],H[1,1]}</electron>
</nhomnguyento>

</electronlist>
2. Các chức năng trong chương trình
Chương trình được xây dựng trên môi trường visual studio 2010, ngôn ngữ C#.
2.1. Giao diện của chương trình
- Màn hình điều chế chất hóa học

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 17
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
- Màn hình cân bằng phản ứng hóa học (Phản ứng oxi hóa – khử)
2.2. Cách sử dụng chương trình
* Chức năng điều chế chất hóa học:
- Chọn các chất tham gia có trong dữ kiện bài toán vào ô Chất ban đầu.
- Tiếp theo, chọn chất cần điều chế ở combox Chất cần điều chế.
- Cuối cùng, nhấn nút Điều chế, và kết quả quá trình điều chế thông
qua các phương trình phản ứng xuất hiện ở listbox Quá trình điều chế.

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 18
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
Hình 2.1: Điều chế chất FeSO4
* Chức năng cân bằng phản ứng hóa học (Phản ứng oxi – hóa khử):
- Nhập phương trình phản ứng cần cân bằng vào textbox.
Ví dụ: Fe + H
2
SO
4
= Fe
2

(SO)
4
+ SO
2
+ H
2
O
- Nhấn nút Cân bằng và kết quả xuất hiện (nếu có thể cân bằng).
Trong chương trình demo này, chỉ thực hiện cân bằng phản ứng hóa
học theo phương pháp cân bằng electron.
- Muốn thêm phương trình phản ứng vào cơ sở dữ liệu sử dụng cho
chức năng Điều chế. Nhập phản ứng vào ô textbox (chọn nút Cân bằng nếu
có thể cân bằng) và nhấn nút Thêm vào dữ liệu.

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 19
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
Hình 2.2: Cân bằng phản ứng hóa học
Hình 2.3: Phản ứng có chất hóa học là tổ hợp của 2 chất khử

HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 20
GVHD : GS. TSKH Hoàng Văn Kiếm CNTT&UD - 2014
KẾT LUẬN
Qua bài viết trên cho chúng ta có cái nhìn khái quát về phương pháp
biểu diễn tri thức của mạng ngữ nghĩa. Cũng giống như các phương pháp
khác, mạng ngữ nghĩa cũng có ưu khuyết điểm của nó. Vì vậy, chúng ta hãy
cố gắng khai thác ưu điểm của nó và hạn chế khuyết điểm tối đa trong các
chương trình ứng dụng của mình.
Trong chương trình demo Điều chế trên, em chỉ dừng lại ở mức cơ bản
do thời gian có hạn. Quá trình suy diễn để tìm ra được các phương trình
phản ứng cần cho quá trình điều chế, nhưng các phương trình đó chưa được

tối ưu (phản ứng đắt tiền trong thực tế, chưa nhận ra được chất kết tủa ).
Hướng phát triển của chương trình là:
- Tối ưu được phương trình phản ứng cần cho quá trình điều chế.
- Kế thừa để phát triển thành bài toán Nhận biết chất hóa học.
- Đồng thời, hoàn thiện chức năng Cân bằng phản ứng hóa học.
Tài liệu tham khảo chính:
(1) Slides chuyên đề Công Nghệ Tri Thức và Ứng dụng – GS.TSKH Hoàng Kiếm
(2) Giáo trình Các hệ cơ sở tri thức - GS.TSKH Hoàng Kiếm, TS. Đỗ Phúc, TS. Đỗ
Văn Nhơn.
(3) en.wikipedia.org/wiki/Semantic_network

(4) chiennc.violet.vn/entry/show/entry_id/1822167

(5) d.violet.vn/uploads/resources/240/599635/preview.swf


HVTH : CH1301078 – Nguyễn Thị Kim Anh Trang 21

×