Tải bản đầy đủ (.docx) (18 trang)

Ứng dụng mạng tính toán trong điều chế hoá chất vô 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 (349.23 KB, 18 trang )

Đại học Công Nghệ Thông Tin
Đại học Quốc gia TP.HCM
Môn: BIỂU DIỄN TRI THỨC
VÀ SUY LUẬN
Đề tài: Ứng dụng mạng tính toán trong
điều chế hoá chất vô cơ
GVHD: PGS.TS Đỗ Văn Nhơn
Học viên: Hồ Duy Nhật Linh
MSHV: CH1301028
TP.HCM 03.2014
Mục lục
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 2
I. Đặt vấn đề:
Ngày nay công nghệ thông tin (CNTT) trở thành một lĩnh vực mũi nhọn trong
công cuộc phát triển kinh tế xã hội, CNTT vừa là công cụ, vừa là động lực thúc đẩy quá
trình công nghiệp hóa, hiện đại hóa đất nước. Việc ứng dụng CNTT vào thực tiễn đã có
một bước phát triển rất mạnh mẽ. CNTT được ứng dụng rộng rãi, đóng vai trò to lớn
trong quá trình xử lý của nhiều lĩnh vực và nhiều ngành: y tế, giáo dục, tài chính
Cùng với sự phát triển của CNTT, logic học phát triển hết sức mạnh mẽ dẫn đến
sự hình thành một loạt các bộ môn logic học hiện đại, như logic học mệnh đề, logic học
vị từ, logic học đa trị, logic học tình thái, logic học xác suất, v.v Các bộ môn đó cung
cấp cho nhân loại những công cụ sắc bén giúp tư duy con người ngày càng đi sâu hơn vào
nhận thức các bí mật của thế giới khách quan.
Việc biễu diễn tri thức đóng vai trò hết sức quan trọng trong việc khẳng định khả
năng giải quyết vấn đề của logic học, đặc biệt logic học ứng dụng trong CNTT. Để hiểu
rõ điều này, báo cáo sẽ tìm hiểu lý thuyết về công nghệ tri thức, phương pháp biểu diễn
tri thức bằng mạng tính toán.
A. Mục tiêu đề tài
- Tìm hiểu công nghệ tri thức
- Tìm hiểu phương pháp biểu diễn tri thức bằng mạng tính toán
- Áp dụng lý thuyết mạng tính toán để xây dựng ứng dụng giúp điều chế chất hoá


học hỗ trợ cho học sinh lớp 9
B. Bố cục báo cáo
- Chương I: Tổng quan
- Chương II: Lý thuyết mạng tính toán
- Chương III: Ứng dụng minh hoạ
- Chương IV: Kết luận
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 3
II. Lý thuyết - Mạng tính toán :
A. Định nghĩa :
Mạng tính toán được dùng để biểu diễn tri thức , tri thức này được cụ thể hóa ở
một số lãnh vực tri thức nhất định của con người . Cụ thể trong miền tri thức về toán học
, mạng tính toán xây dựng để có thể sử dụng một số vấ n đề về tính toán và được sử dụng
để giải một số bài toán đơn giản theo cách suy luận của con người . Mạng tính toán được
xây dựng trên nề n tảng của mạng ngữ nghĩa . Theo tài liệu về mạng tính toán của TS.Đỗ
Văn Nhơn :” Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ
có thể cài đặt và sử dụng được cho việc tính toán .” Theo đó , mỗi biến có thể đại diện
cho một khái niệm cụ thể về đố i tượng , sự vật , … ; bên cạnh đó , quan hệ đại diện cho
những tri thức liên quan đến đối tượng sự vật được nêu .
Ta gọi :
• M={x
1
,x
2
,…,x
n
} là một tập hợp chứa các biến có giá trị trong miền D
1
,D
2
,…,D

n
.
• F ={f
1
,f
2
,…,f
n
} là tập hợp các quan hệ trên các biến .
Vậy một mạng tính toán sẽ là (M,F) .
Một quan hệ trong mạng tính toán là một ánh xạ từ tích các miền xác định của các
tập biến nguồ n tới đích của các tập biến đích . Điề u này có nghĩa là quan hệ là sự mô tả
sự liên hệ của các biến với nhau . Đố i với mạng tính toán , quan hệ ở đây được xác định
là các phương trình ,hệ phương trình , đẳng thức , … Một mạng tính toán có các 2 dạng
quan hệ đặc thù :
• Quan hệ đố i xứng dạng k , với k biể u thị cho số biến tố i đa có thể tìm
được từ m-k biến còn lại .
• Quan hệ không đối xứng nếu ta chỉ có thể tìm được k biến cố định từ m-k
biến cho trước .
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 4
Với mỗi quan hệ f F , ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f.
Khi đó , M(f) là một tập con của M : M(f) M . Nếu viết f dưới dạng f:u(f)  v(f) thì
M(f) = u(f) v(f)
Quan hệ f giữa 3 góc A,B,C trong tam giác ABC cho bởi hệ thức : A+B+C=180 .
B. Bài toán :
Cho một mạng tính toán (M,F) với M là tập các biến , F là tập các quan hệ . Giả
sử có một tập biến A M đã được xác định và B là một tập bất kì sao cho B M .
1. Yêu cầu bài toán :
1. Kiểm tra bước quá trình giải để tìm ra tập B từ tập A trên tập quan hệ F có
thể thực hiện hay không ?

2. Nếu quá trình trên có thể thực hiện được , thì sẽ thực hiện như thế nào và
giá trị của B sẽ như thế nào ?
3. Nếu quá trình không thể thực hiện được thì sẽ cần điề u kiện như thế nào để
thực hiện ?
2. Giải yêu cầu bài toán :
Bài toán xác định B từ A trên mạng tính toán (M,F) được biể u diễn dưới dạng : A
 B .
Trong đó :
• A là tập giả thuyết .
• B là tập mục tiêu của bài toán.
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 5
C. Chứng minh tính giải được của bài toán :
Để thực hiện yêu cầu 1 theo giáo trình ”Mạng Tính Toán” của TS.Đỗ Văn Nhơn
thì ta có định nghĩa :
“Bài toán A B được gọi là giải được khi có thể tính toán được giá trị các biến
thuộc tập B từ giả thiết A . Ta nói rằng các dãy quan hệ f
1
, f
2
, , f
n
là một lời giải của
bài A B nếu như ta lần lượt áp dụng các quan hệ f (i=1, ,k) xuất phát từ giả thiết A 
thì sẽ tính được các biến thuộc B . Lời giải f
1
, f
2
, , f
i
được gọi là lời giải tốt nếu không

thể bỏ bớt một số bước tính toán trong quá trình giải, tức là k không thể bỏ bớt một số
quan hệ trong quá trình giải .
Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ có thể suy ra được B
từ A . Điều này cũng có nghĩa là tìm ra được quá trình tính toán để giải bài toán .”
Điều này có nghĩa , để chứng minh bài toán có thể thực hiện quá trình giải tìm ra
tập mục tiêu B từ tập A dựa trên tập quan hệ F nếu ta có thể tính toán được các giá trị các
biến thuộc B từ A . Đồng thời, để thực hiện việc tính toán theo yêu cầ u thứ 2 thì ta lần
lượt áp dụng lan truyền các quan hệ f (i=1,…,k) để giải bài toán .
Một bài toán được gọi là có thể giải được nếu ta có thể tìm ra giá trị của tập biến B
từ tập biến A thông quan tập quan hệ F. Một lời giải được gọi là lời giải tốt nếu không thể
bỏ bớt bất kì bước tính toán nào tuy nhiên vẫ n giải được . Một lời giải được gọi là tố i
ưu nhất có nghĩa là có số lời giải ít nhất đồng nghĩa với số lượng quan hệ sử dụng là ít
nhất .
Tính bao đóng: bao đóng của một tập hợp biến A là một tập hợp A có số phần tử
lớn nhất được sinh ra từ A thông qua các quan hệ . Một khi đã tìm được bao đóng của
A , để xét tính giải được của bài toán , ta chỉ cần kiểm tra tập biến B có phải là tập con
của bao đóng A thì bài toán giải được. Ngược lại, nếu tập biến mục tiêu B có phần tử
không thuộc tập bao đóng A thì bài toán không giải được .
1. Thuật toán tìm bao đóng A M :
Nhập : Mạng tính toán (M,F)
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 6
Xuất: A M.
Thuật toán:
1. B ← A;
2. Repeat
B1 B;
for f F do
if ( f đối xứng and Card (M(f) \ B) r(f) ) or
( f không đối xứng and M(f) \ Bv(f) ) then
begin

B B M(f);
F F \ {f}; // loại f khỏi lần xem xét sau
end;
Until B = B1;
3.
2. Tìm lời giải bài toán :
Để tìm lời giải cho bài toán ta xuất phát từ tập giả thiết A thực hiện lan truyề n qua
các quan hệ trong tập F để mở rộng dần tập các biến có giá trị được xác định . Quá trình
này sẽ được thực hiện đến khi tập mục tiêu B được xác định .
Thuật toán tìm lời giải bài toán:
1. Solution empty;
2. if B A then
begin
Solution_found true;
goto 4;
end
else
Solution_found false;
3. Repeat
A
old
A;
Chọn ra một f F chưa xem xét;
While not Solution_found and (chọn được f) do
begin
if ( f đối xứng and 0 < Card (M(f) \ A) r(f) ) or ( f không đối xứng and
M(f) \ A v(f) ) then
begin
A A M(f);
Solution Solution {f};

BDTT&SL - Hồ Duy Nhật Linh – CH1301028 7
end;
if B A then
Solution_found true;
Chọn ra một f F chưa xem xét;
end;
Until Solution_found or (A = A
old
);
4. if not Solution_found then
Bài toán không có lời giải
Else
Solution là một lời giải;
Đối với thuật toán này có nhược điểm là đã vét hết các quan hệ nên có thể không
phải là lời giải tốt nhất . Đặc biệt đối với các quan hệ hạng 1 thì lời giải sẽ không luôn
luôn là lời giải tốt nhất .Để cải thiện điều này ta cần xây dựng một thuật giải có thể tìm ra
lời giải tốt nhất từ lời giải ban đầu.
3. Thuật giải tìm lời giải tốt nhất từ lời giải ban đầu :
Nhập :
Mạng tính (M,F),
Lời giải {f
1
, f
2
, , f
3
} của bài toán A B.
Xuất : Lời giải của bài toán A B
Thuật toán
1. D {f

1
, f
2
, , f
m
};
2. for i=m downto 1 do
if D \ {f
i
} là một lời giải then
D D \ {f
i
}
3. D là một lời giải của bài toán
4. Thuật toán kiểm tra quan hệ có phải là lời giải của bài toán :
Nhập: Mạng tính toán (M,F), bài toán A B, dãy các quan hệ {f
1
, f
2
, , f
m
}.
Xuất : thông tin cho biết {f
1
, f
2
, , f
m}
có phải lời giải của bài toán A  B hay không
Thuật toán:

1. for i=1 to m do
if ( f đối xứng and Card (M(f ) \ A) r(f ) ) or
( f không đối xứng and M(f ) \ A v(f ) ) then
A  A M(f );
2. if A B then 
{f
1
, f
2
, , f
m}
là lời giải
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 8
else
{f
1
, f
2
, , f
m}
không là lời giải
D. Giải bài toán nếu bài toán không giải được :
Để có thể giải bài toán trong trường hợp này ta có thể dùng phương pháp sau :
Tìm trong A’ M\( B) tố i tiểu sao cho bao đóng của tập A A’ chứa B .
E. Đánh giá, đề xuất cải tiến, mở rộng bài toán :
1. Đánh giá :
a) Ưu điểm :
• Mô tả được các biến và các quan hệ dựa trên các biến này .
• Có thể sử dụng luật suy diễn tiến để lan truyền phương pháp tính toán tìm ra lời
giải của bài toán .

• Xử lý tốt trên các hệ cơ sở tri thức có quan hệ dạng phương trình .
• Thuật toán có thể tìm ra tính giải được của bài toán trước khi thực hiện quá trình
tìm lời giải cho bài toán từ đó có thể giảm thiể u chi phí hoạt động của thuật giải .
• Bên cạnh việc đưa ra kết quả của bài toán , thuật giải của mạng tính toán còn đưa
ra lời giải cho bài toán và các phương pháp để thêm giả thiết trong trường hợp bài
toán không giải được .
b) Khuyết điểm :
• Mạng tính toán có các tập biến được xây dựng trên các biến đơn . Điề u này làm
cho mạng tính toán kém hiệu quả ở những tri thức có cấu trúc .
• Các quan hệ được xây dựng trên quan hệ dạng phương trình . Tuy nhiên , mạng
tính toán được xử lý bằng hệ luật dẫn để giải bài toán .Vì thế , ta cần phải chuyển
từ quan hệ dạng phương trình sang hệ luật dẫn sau đó sử dụng suy diễn tiến để giải
bài toán .
• Kỹ thuật xử lý làm chậm quá trình suy luận trên những hệ tri thức lớn .
• Bỏ qua khả năng kết hợp các phương trình để giải các hệ phương trình.
• Mô hình chưa thể hiện được các loại quan hệ như bất phương trình , đồ thị , …
2. Đề xuất :
• Cải tiến thuật giải duyêt các quan hệ nhanh hơn , lược bỏ các quan hệ đã
được sử dụng để tính toán trước đó .Tuy nhiên , phương pháp này có thể bỏ
qua sự kết hợp của nhìu quan hệ với nhau .
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 9
• Cần xem các biến là các đố i tượng có cấu trúc để có thể sử dụng trên các miền
tri thức khác .
• Để phát triển mô hình có thể giải được các bài toán có các quan hệ hệ
phương trình ta cần cải tiến thêm thuật giải hiện có .
Ý tưởng cải tiến thuật giải :
o Xây dựng một List (danh sách) lưu các quan hệ cần duyệt .
o Tại mỗi lần sử dụng giải bài toán , nếu không thể xác định được bất kì
giá trị của tập biến mới nào ta sẽ thêm vào danh sách các quan hệ.
Ngược lại , nếu có thể xác định được một biến mới thì ta sẽ xóa danh

sách và tiếp tục bước tiếp theo trong quá trình giải bài toán . Bước thêm
quan hệ sẽ kết thúc đến khi các quan hệ đã thêm hết vào trong danh sách
này.
o Ta sẽ duyệt danh sách quan hệ này để sử dụng đồng thời sự liên hệ
của chúng để giải hệ phương trình .
III. Ứng dụng minh họa :
A. Mục tiêu:
o Xây dựng chương trình máy tính để đáp ứng các điều chế các chất hoá học
vô cơ từ các thành phần hoá học cho trước.
o Đưa ra phương pháp điều chế (nếu có)
B. Mô hình bài toán
1. Xác định yêu cầu bài toán:
Cho M = {Fe,CaO, …} là tập hợp các chất hoá học vô cơ.
A M là tập hợp các chất hoá học đang có
B M là chất hoá học cần điều chế
Xác định phương pháp F = {f
1
,f
2
,…,f
m
} để điều chế chất B từ tập hợp các chất hoá
học A
2. Giới hạn phạm vi vấn đề:
Vì lí do thời gian nên bài báo cáo chỉ tạm dừng ở mức hoá học căn bản vô cơ lớp
9.
Quá trình điều chế hạn chế ở mức phương trình điều chế, chưa đề cập đến cân
bằng, điều kiện phản ứng xảy ra ,…
C. Mô hình tri thức
Các mô hình tri thức hiện có bao gồm:

BDTT&SL - Hồ Duy Nhật Linh – CH1301028 10
o Logic vị từ
o Mạng tính toán
o COKB
o Ontology
o Frame
o Luật dẫn
o …
Trong đó, ta thấy mô hình mạng tính toán phù hợp vì tính đơn giản, phù hợp với
đề bài đặt ra. Ta có thể sử dụng mạng tính toán để kích hoạt các đỉnh (chất) khác thông
qua các cung (phương trình) từ các đỉnh đã được kích hoạt.
D. Biểu diễn tri thức:
1. Tri thức:
Tri thức bao gồm tập hợp các nguyên tố theo bảng tuần hoàn các nguyên tố hoá
học.
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 11
Luật điều chế chất hoá học:
[1] Fe + HCl = FeCl2 + H2
[2] HCl + NaOH = NaCl2 + H20
[3] Zn + HCl = ZnCl2 + H2
[4] CuO + H2SO4 = CuSO4 + H20
[5] Fe + O2 = Fe3O4
[6] Fe3O4 + H2SO4 = FeSO4 + Fe2(SO4)3 + H20
[7] FeSO4 + NaOH = Fe(OH)2 + Na2SO4
[8] Fe(OH)2 + O2 + H20 = Fe(OH)3
[9] FeSO4 + Cl2 = FeCl2 + Fe2(SO4)3
[10] H2 + O2 = H20
[11] H2 + Cl2 = HCl
[12] KOH + H2SO4 = K2SO4 + H2O
[13] AgNO3 + KCl = KNO3 + AgCl

[14] KNO2 + KMnO4 + H2O = KNO3 + MnO2 + KOH
[15] Cu2O + O2 = CuO
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 12
2. Tổ chức tri thức:
Tri thức được tổ chức thành 2 loại tập hợp:
M = {Fe,Cl
2
,H
2
,HCl, … }: Là tập hợp các chất hoá học
F = {f
1
,f
2
,…,fn): Là tập hợp các phương trình điều chế. Trong đó, với mỗi f
i
F:
o Vế phải: Là A
i
M là tập hợp các chất hoá học
o Vế trái: Là B
i
M là tập hợp các chất hoá học
Khi đó, ta có:
Giả thiết: Bao gồm các tập hợp
• M: Người lập trình nhập liệu
• F: Người lập trình nhập liệu
• A: Người dùng nhập liệu
• B: Người dùng nhâp liệu
Yêu cầu: tìm phương pháp giải f sao cho A  B

Dữ liệu được tổ chức thành các Class để có thể truy xuất dễ dàng.
Việc tổ chức dữ liệu được mô hình như sau:
class Equation
{
public List<Chemical> left = new List<Chemical>();
public List<Chemical> right = new List<Chemical>();
Equaon
B - right
A - lef
M
M
M
M
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 13
}
class Chemical
{
public string Name { get; set; }
}
3. Tổ chức lưu trữ:
Tập luật điều chế được lưu trữ thành file (phuongtrinh.txt) với format mỗi dòng
luật như sau:
A = B
Trong đó:
- A là tập hợp các chất sinh được ngăn cách nhau bởi “ + “
- B là tập hợp các chất tạo thành được ngăn cách nhau bởi “ + “
E. Suy luận:
Quá trình suy luận được sử dụng bằng thuật toán suy diễn tiến.
Ta sử dụng 1 phương pháp trong 3 phương pháp đã được đề cập ở phần lí thuyết
để có thể đi tìm lời giải của bài toán. Đó là phương pháp 1:

1. Solution empty;
2. if B A then
begin
Solution_found true;
goto 4;
end
else
Solution_found false;
3. Repeat
A
old
A;
Chọn ra một f F chưa xem xét;
While not Solution_found and (chọn được f) do
begin
if ( f đối xứng and 0 < Card (M(f) \ A) r(f) ) or ( f không đối xứng and
M(f) \ A v(f) ) then
begin
A A M(f);
Solution Solution {f};
end;
if B A then
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 14
Solution_found true;
Chọn ra một f F chưa xem xét;
end;
Until Solution_found or (A = A
old
);
4. if not Solution_found then

Bài toán không có lời giải
Else
Solution là một lời giải;
F. Xây dựng chương trình:
1. Người dùng nhập liệu:
Ta cần xây dựng trình nhập liệu của các tập hợp A,B để tránh các trường hợp lỗi
nhập liệu phát sinh từ người dùng.
Do đó, người dùng có thể nhập liệu thông qua:
- Chọn danh sách các chất ban đầu thông qua checklistbutton tại nhóm
Hoá chất
- Chọn chất tạo thành tại danh sách listbox ở nhóm Chất cần điều chế
- Người dùng có thể sử dụng button “Điều chế” để bắt đầu quá trình điều
chế
Kết quả nhận được sẽ được hiển thị ở nhóm Phương pháp điều chế
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 15
Hiển thị tập luật từ người lập trình để dễ dàng kiểm tra tính đúng đắn khi xảy ra
trong quá trình tính toán.
Đồng thời, giúp người sử dụng có thể ôn lại được các kiến thức hoá học cơ bản
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 16
G. Kết quả:
Hệ thống đã xác định tốt được nhu cầu đặt ra từ người dùng.
Khi người dùng nhập các chất cần điều chế như {FeCl
2
} từ các chất ban đầu hiện
có bao gồm {Fe,Cl2,H2} thì điều chế thành công và được hiển thị quy trình điều chế.
Quy trình điều chế
H
2
+ Cl
2

= HCl
HCl + Fe = FeCl
2
+ H
2
1. Ưu điểm:
- Đưa ra đúng kết quả từ người dùng nhập liệu
2. Khuyết điểm:
- Quá trình tính toán sẽ chậm khi lượng luật lớn
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 17
IV. Tổng kết :
V.
Mạng tính toán được xây dựng trên mạng ngữ nghĩa . Đây là một hình thức biểu
diễn tri thức về toán học hoặc các vấn đề khác có liên quan .
A. Kết quả
Đã tìm hiểu được quá trình xây dựng, mô hình hoá và suy diễn của mạng tính toán
Báo cáo đã xây dựng được chương trình đáp ứng được nhu cầu của người dùng đặt
ra khi tìm hiểu về kiến thức điều chế hoá chất cơ bản lớp 9
B. Hạn chế
Chương trình minh họa chứa số lượng dòng dữ liệu mẫu còn ít, các thông số huấn
luyện chỉ dựa trên tập mẫu này này.
Chỉ có tính chất minh hoạ cho thuật toán, khi đưa vào thực tế sử dụng cần một tập
dữ liệu lớn hơn.
VI. Tài liệu tham khảo :
[1] Báo cáo Mạng tính toán và ứng dụng , 1996 , TS.Đỗ Văn Nhơn
[2] Giáo trình các hệ cơ sở tri thức , GS.TSKH Hoàng Kiếm – TS. Đỗ Văn Nhơn
BDTT&SL - Hồ Duy Nhật Linh – CH1301028 18

×