Phần 2: Áp dụng kiến thức tìm hiểu trên để giải bài toán về phản ứng hóa học... Giới thiệu yêu cầu bài tốn Chúng ta biết rằng trong hóa học, việc xem xét các phản ứng hóa học là một tro
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT QUA MẠNG
BÀI THU HOẠCH MÔN HỌC Môn: BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG
GIẢI TỰ ĐỘNG BÀI TOÁN HÓA HỌC
Học viên thực hiện:
CH1101154 TRẦN THỊ TƯỜNG VI
TP HCM, năm 2013
Trang 2MÔN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 1
-Mở đầu
Bài thu hoạch này chỉ gói gọn trong 2 phần:
Phần 1: Giới thiệu kiến thức sơ lược về hệ suy diễn và thuật giả suy diễn tiến
Phần 2: Áp dụng kiến thức tìm hiểu trên để giải bài toán về phản ứng hóa học
Trang 3
MÔN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 2
-MỤC LỤC
Mở đầu 1
PHẦN I : LÝ THUYẾT 3
I. ĐẶT VẤN ĐỀ 3
II Cơ sở lý thuyết 4
1 Hệ luật dẫn 4
2 Suy diễn tiến 4
III THIẾT KẾ ỨNG DỤNG 5
1 Xây dựng cơ sở tri thức 5
2 Mã giả cho chương trình 6
IV NHẬN XÉT 8
V PHỤ LỤC: MỘT SỐ PHẢN ỨNG HÓA HỌC 9
Trang 4MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 3
-PHẦN I : LÝ THUYẾT
1 Giới thiệu yêu cầu bài tốn
Chúng ta biết rằng trong hóa học, việc xem xét các phản ứng hóa học là một trong những vấn đề quan trọng Về mặt tri thức người ta đã biết được nhiều chất và các phản ứng hóa học có thể chuyển hóa từ một số chất nầy thành các chất khác Tạm thời bỏ qua một số điều kiện phản ứng, ta có thể xem tri thức đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng Ví dụ như phản ứng điều chế Clo từ axít Clohidric và đioxit mangan :
MnO2 + HCl MnCl2 + Cl2 + H2O
Phản ứng trên có thể được xem như một quan hệ cho chúng ta có được các chất Cl2, MnCl2, H2O từ các chất MnO2, HCl
Giải 2 bài toán sau :
1 Cho một số chất, hỏi có điều chế được một vài chất nào đó không?
2 Tìm các phương trình phản ứng để biểu diễn dãy các biến hóa,
chẳng hạn như các dãy :
Zn ZnO ZnSO4
S SO2 SO3 H2SO4
2 Phân tích
Vì tri thức trong dạng tốn này chỉ chứa các phương trình dạng A B với A, B chứa một hoặc nhiều hĩa chất, yêu cầu bài tốn chủ yếu dựa vào suy diễn nên ta sẽ chon thuật tốn suy diễn tiến trên hệ suy diễn
Trang 5MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 4
1 Hệ luật dẫn
° Mỗi luật dẫn được phát biểu dưới dạng:
if <giả thiết> then <kết luận>
° Mô hình: Một cách hình thức, hệ luật dẫn gồm
1) Tập ký hiệu đại diện cho các sự kiện
2) tập luật dẫn trong đó <giả thiết> và <kết luận>
là các tập hợp sự kiện
Nhận xét: Mô hình hệ luật dẫn trên khó áp dụng trực tiếp vì quan niệm sự kiện khá đơn giản
° Suy diễn nhằm vận dụng kiến thức đã biết trong quá trính lập luận giải quyết vấn đề trong đó quan trọng nhất là các chiến lược điều khiển giúp phát sinh những sự kiện mới từ các sự kiện đã có
° Suy diễn tự động: Quá trình suy diễn được thuật giải hóa và có thể cài đặt thành chương trình máy tính
° Các kỹ thuật suy diễn cơ bản:
- Suy diễn tiến
- Suy diễn lùi
2 Suy diễn tiến
B1: Solution = [];
Known = GT;
B2: while (KL chưa nằm trong Known) do
2.1: Tìm luật r trong Known nhằm sinh ra sự kiện mới:
gt(r) Known,và kl(r) khơng nằm trong Known
2.2: if (khơng cĩ r) then
Dừng: khơng tìm đđược lời giải
2.3: Thêm r vào Solution; thêm kl(r) vào Known;
End while
B3: Tìm được lời giải sử dụng danh sách luật Solution
Ghi chú: Cần loại bỏ luật thừa trong Solution
Trang 6MÔN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 5
-III THIẾT KẾ ỨNG DỤNG
1 Xây dựng cơ sở tri thức
Để dễ dàng cho người dùng ta sẽ định nghĩa phần lưu trữ đơn giản, sau
đó sẽ viết chương trình để đổi qua dạng mã cho chương trình chạy nhanh hơn
a Người dùng
Tạo file PhuongTrinh_User.txt chứa các phương trình hóa học có cấu trúc như bên dưới
- Cấu trúc: <Hóa chất X1> [+<Hóa chất X2>]n -> <Hóa chất Y1> [+<Hóa chất Y2>]n : [Điều kiện hóa học]
- Ví dụ: Cl2 + KOH
o
t
KCl + KClO + H2O
Sẽ nhập là: Cl2 + KOH -> KCl + KClO + H2O : Nhiệt độ
b Trong máy
Do tên hóa chất có thể phức tạp, nên ta sẽ mã hóa cho nó và lưu trong file MAHoaHoc.txt
H001 = Cl2 H002 = KOH H003 = KCL H004 = KCLO H005 = H2O
Tạo file PhuongTrinh_May.txt chuyển từ PhuongTrinh_User.txt sử dụng các mã đã đinh nghĩa trong MaHoaHoc.txt
H001,HOO2 -> H003,H004,H005 : Nhiệt độ
c Đối tượng trong chương trình
PT{
VT: array VP: array DK: string }
Trang 7MÔN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 6
-Phương trình trên sẽ có dạng PT{
VT:{H001,H002}
VP:{H003,H004,H005}
DK: Nhiệt độ }
3 Mã giả cho chương trình
Bài Toán 1: Ta viết function để tìm các phương trình điều chế một số
chất thành vài chất nào đó
Function DIEU_CHE(GT,KL)
Begin B1: Solution = [];
Known = GT;
B2: while (KL chưa nằm trong Known) do 2.1: Tìm phương trình p để áp dụng trên Known nhằm sinh
ra sự kiện
2.2: if (không có p) then
2.3: Thêm p vào Solution; thêm p.VP vào Known;
B3: Tìm được lời giải sử dụng danh sách luật Solution End
Bài Toán 2:
Tìm chuỗi phản ứng từ một mảng các hóa chất
Zn ZnO ZnSO4
Chuoi = { Zn , ZnO, ZnSO4}
Trang 8MÔN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 7
-Function CHUOI_PHAN_UNG(Chuoi)
Begin Solution = [];
For(i=0;i< count(Chuoi), i++){
If Chuoi[i+1] không tồn tại
Ngưng và hiển thị kết quả trong Solution
p = PHUONG_TRINH();
If không tìm được p
Ngưng, không thể tạo chuỗi phản ứng Thêm p vào Solution
} End
Tìm phương trình điều chế một chất thành chất nào đó trực tiếp
Function PHUONG_TRINH(GT,KL)
Begin
if (có p) then
Dừng và trả về p Dừng, không có kết quả End
Xử lý và hiển thị:
+ Khi người dùng nhập tên hóa học, nên chuyển về mã hóa học trước khi gọi function
+ Và chuyển đổi từ mã sang tên khi hiển thị
Trang 9MÔN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 8
-Function HIEN_THI_KET_QUA(Solution)
Begin
Hash = Lấy thông tin từ file MaHoaHoc.txt dưới dạng hash[<Mã>] = <Tên>
While(Còn phương trình p trong Solution){
Print Hash[p.VT[0]];
For(i=1; i< count(p.VT); i++){
Print “ + ”;
Print Hash[p.VT[i]];
} Print “->”;
Print Hash[p.VP[0]];
For(i=1; i< count(p.VP); i++){
Print “ + ”;
Print Hash[p.VP[i]];
} Print “Với điều kiện: ”;
Print p.DK;
} End
IV NHẬN XÉT
Bài thu hoạch chỉ là một phần nhỏ trong kiến thức bộ môn này, gói gọn trong mục tiêu tìm hiểu đủ kiến thức để giải quyết 2 bài toán nhỏ trên
Chủ yếu vận dụng kiến thức để mô phỏng ý tưởng cho chương trình
Trang 10MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 9
-V PHỤ LỤC: MỘT SỐ PHẢN ỨNG HĨA HỌC
I.- MỘT SỐ PHẢN ỨNG HÓA HỌC của NHÓM HALOGEN :
1 Một số phản ứng liên quan đến khí Clo :
1/ Natri nóng chảy cháy trong Clo cho phản ứng tạo thành natri clorua :
Na + Cl2 NaCl
2/ Bột sắt nóngchảy trong Clo cho phản ứng:
Fe + Cl2 FeCl3
3/ Nung đỏ dây đồng cho vào khí Clo, ta có phản ứng :
Cu + Cl2 CuCl2
4/ Clo tác dụng với nước :
Cl2 + H2O HCl + HClO
5/ Điều chế Clo từ axít Clohidric và đioxit mangan :
MnO2 + 4HCl = MnCl2 + Cl2 + 2H2O
6/ Điều chế Clo bằng axit clohidric và Kali pemanganat :
HCl + KMnO4 KCl + MnCl2 + H2O +Cl2
7/ Điện phân dung dịch đậm đặc muối ăn trong nước :
NaCl + H2O Cl2 + H2 + NaOH
* Một số phản ứng khác :
8/ K + Cl2 KCl
9/ Na + Cl2 NaCl
10/ Al + Cl2 AlCl3
11/ Ca + Cl2 CaCl2
12/ FeCl2 + Cl2 FeCl3
13/ Cl2 + KBr KCl + Br2
14/ Cl2 + NaBr NaCl + Br2
2 Các phản ứng liên quan đến Hidro clorua HCl :
15/ Cho Natri Clorua tinh thể tác dụng với axit sunfuric đậm đặc, đung nóng (phương pháp sunfat), tùy theo nhiệt độ ta có các phản ứng sau đây :
Trang 11MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 10
-NaCl + H2SO4 to NaHSO4 + HCl
NaCl + H2SO4 to Na2SO4 + HCl
16/ Phản ứng điều chế HCl bằng phương pháp tổng hợp :
H2 + Cl2 HCl
* Một số phản ứng khác :
17/ KCl + H2SO4 KHSO4 + HCl
18/ KCl + H2SO4 K2SO4 + HCl
19/ CaCl2 + H2SO4 Ca(HSO4)2 + HCl
20/ CaCl2 + H2SO4 CaSO4 + HCl
3 Các phản ứng của xit clohidric và muối clorua :
21/ Zn + HCl ZnCl2 + H2
22/ Fe + HCl FeCl2 + H2
23/ Al + HCl AlCl3 + H2
24/ Ca + HCl CaCl2 + H2
25/ Na + HCl NaCl + H2
26/ K + HCl KCl + H2
27/ Mg + HCl MgCl2 + H2
28/ CuO + HCl CuCl2 + H2O
29/ ZnO + HCl ZnCl2 + H2O
30/ MgO + HCl MgCl2 + H2O
31/ MnO2 + HCl MnCl2 + Cl2 + H 2O
32/ Al2O3 + HCl AlCl3 + H 2O
33/ Al(OH) 3 + HCl AlCl3 + H2O
34/ NaOH + HCl NaCl + H2O
35/ KOH + HCl KCl + H2O
36/ Zn(OH) 2 + HCl ZnCl 2 + H 2O
37/ Cu(OH) 2 + HCl CuCl 2 + H 2O
38/ Cl2 + KOH KClO3 + KCl + H2O
39/ Cl2 + NaOH NaClO + NaCl + H2O
Trang 12MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 11
-40/ AgNO3 + HCl HNO3 + AgCl
41/ CaCO3 + HCl CaCl2 + H2O + CO2
42/ MgCO3 + HCl MgCl2 + H2O + CO2
43/ BaSO3 + HCl BaCl2 + H2SO3
44/ AgNO3 + NaCl NaNO3 + AgCl
45/ AgNO3 + KCl KNO3 + AgCl
46/ H2S + HClO3 HCl + H2SO4
* Nước Javen : dẫn Clo vào dung dịnh NaOH :
47/ Cl2 + NaOH NaCl + NaClO + H2O
(Natri hipoclorit) tương tự ta cũng có :
48/ Cl2 + KOH to KCl + KClO + H2O
* Kali Clorat KClO 3
Clo đi vào dung dịch kiềm đung nóng đến 100oC sẽ cho phản ứng :
49/ Cl2 + KOH to KCl + KClO3 + H2O
Kali Clorat bị phân hủy khi đung nóng theo các phương trình :
50/ KClO3 to KCl + O2
51/ KClO3 to KCl + KClO4
(Kali peclorat)
* Clorua vôi : Clo tác dụng với vôi :
52/ Ca(OH) 2 + Cl2 CaOCl2 + H2O
4 Các phản ứng của Brom và Iot :
53/ Al + Br2 AlBr3
54/ Al + I2 AlI3
55/ H2 + Br2 to HBr
56/ H2 + I2 to HI
(hidro iotua) 57/ HI to H2 + I2
58/ Br2 + NaI NaBr + I2
Trang 13MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 12
-59/ Cl2 + NaBr NaCl + Br2
5 Các phản ứng của Flo :
60/ H2 + F2 HF
(hidro florua) 61/ SiO2 + HF SiF4 + H2O
(silic đioxit) (silic tetraflorua)
Khí Flo đi qua nước nóng sẽ cho phản ứng:
62/ F2 + H2O HF + O2
II.- MỘT SỐ PHẢN ỨNG HÓA HỌC của OXI và LƯU HUỲNH :
1 Oxi :
63/ Ca + O2 CaO
64/ Al + O2 Al2O3
65/ Fe + O2 Fe2O3
66/ Fe + O2 Fe3O4
67/ Fe + O2 FeO
68/ Zn + O2 ZnO
69/ Cu + O2 CuO
70/ Mg + O2 MgO
71/ Na + O2 Na2O
72/ K + O2 K2O
73/ S + O2 SO2
74/ SO2 + O2 SO3
75/ C + O2 CO2
76/ N2 + O2 NO
77/ H2 + O2 H2O
78/ NH3 + O2 NO + H2O
* Các phản ứng điều chế Oxi :
79/ KClO3 to KCl + O2
80/ KMnO4 to K2MnO4 + MnO2 + O2
Trang 14MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 13
-điện phân 81/ H2O H2 + O2
2 Lưu huỳnh :
82/ Fe + S to FeS
(sắt sunfua) 83/ Zn + S ZnS
84/ Cu + S CuS
85/ Hg + S HgS
86/ H2 + S H2S
(hidro sunfua) 87/ KNO3 + S + C to K2S + N2 + CO2
3 Hidro sunfua H 2 S :
* Hidro sunfua cháy trong không khí, hay đốt khí Hydro Sunfua :
88/ H2S + O2 SO2 + H 2O
* Khi bị Oxi hóa chậm hidro sunfua tạo thành lưu huỳnh tự do :
89/ H2S + O2 S + H 2O
* gặp chất oxi hóa mạnh như Cl2, H2S bị oxi hóa thành H2SO4 :
90/ H2S + Cl2 + H 2O H2SO4 + HCl
* Để nhận biết H2S hoặc muối sunfua trong dung dịch, có thể sử dụng các phản ứng : 91/ H2S + Pb(NO 3)2 PbS + HNO3
92/ Na2S + Pb(NO 3)2 PbS + NaNO3
93/ H2S + CuSO4 CuS + H2SO4
(đen)
* Các phản ứng điều chế hidro sunfua :
94/ FeS + HCl FeCl2 + H2S
95/ ZnS + HCl ZnCl2 + H2S
4 Các oxit của lưu huỳnh :
96/ SO2 + CaO CaSO3
Trang 15MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 14
-97/ SO2 + NaOH Na2SO3 + H2O
98/ H2O + SO2 H2SO3
99/ H2S + SO2 S + H2O
100/ SO3 + H2O H2SO4
101/ FeS2 + O2 Fe2O3 + SO2
102/ ZnS + O2 ZnO + SO2
103/ CuS + O2 CuO + SO2
104/ SO2 + O2 SO3
105/ SO2 + H2O H2SO3
106/ SO2 + NaOH NaHSO3
5 Axit sunfuaric H 2 SO 4 và các muối:
107/ NaOH + H2SO4 Na2SO4 + H2O
108/ KOH + H2SO4 K2SO4 + H2O
109/ Ba(OH)2 + H2SO4 BaSO4 + H2O
110/ Mg(OH) 2 + H2SO4 = MgSO4 + 2H2O
111/ Fe(OH)3 + H2SO4 Fe2(SO4)3 + H2O
112/ CuO + H2SO4 CuSO4 + H2O
113/ ZnO + H2SO4 ZnSO4 + H2O
114/ Zn + H2SO4 ZnSO4 + H2
115/ Fe + H2SO4 FeSO4 + H2
116/ Na + H2SO4 Na2SO4 + H2
117/ K + H2SO4 K2SO4 + H2
118/ Cu + H2SO4 CuSO4 + SO2 + H2O
119/ 3 Mg + 4H2SO4 = 3MgSO4 + S + H2O
120/ C + H2SO4 CO2 + SO2 + H2O
121/ CaCO3 + H2SO4 CaSO4 + H2O + CO2
(ít tan) 122/ K2CO3 + H2SO4 K2SO4 + H2O + CO2
123/ Ba(NO3)2 + H2SO4 Ba2SO4 + HNO3
124/ H2SO4 + H2S S + SO2 + H2O
Trang 16MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 15
-125/ H2SO4 + BaCl2 BaSO4 + HCl
126/ Na2SO4 + BaCl2 BaSO4 + NaCl
127/ Na2SO3 + BaCl2 BaSO3 + NaCl
128/ K2SO4 + BaCl2 BaSO4 + KCl
129/ K2SO3 + BaCl2 BaSO3 + Kcl
130/ Na2SO4 + KCl K2SO4 + NaCl
131/ Fe + CuSO4 FeSO4 + Cu
132/ Zn + CuSO4 ZnSO4 + Cu
133/ CuSO4 + KOH Cu(OH) 2 + K2SO4
134/ CuSO4 + NaOH Cu(OH) 2 + Na2SO4
135/ Zn + H2SO4 ZnSO4 + S + H2O
(đặc nóng)
136/ Mg + H2SO4 MgSO4 + H2S + H2O
(đặc nóng)
137/ Ag + H2SO4 Ag2SO4 + SO2 + H2O
(đặc nóng)
138/ S + H2SO4 SO2 + H2O
(đặc nóng)
* Một phản ứng trong qui trình điều chế axit sunfuaric :
139/ FeS2 + O2
o
t
Fe2O3 + SO2 Rồi tiếp tục theo dãy biến hóa : SO2 SO3 H2SO4
* Một số phản ứng khác :
140/ H2SO3 + Cl2 + H2O H2SO4 + HCl
141/ H2SO3 + Br2 + H2O H2SO4 + HBr
142/ Na2SO3 + H2SO4 Na2SO4 + H2O + SO2
143/ Na2CO3 + H2SO4 Na2SO4 + H2O + CO2
III.- MỘT SỐ PHẢN ỨNG HÓA HỌC KHÁC :
144/ H2 + CuO to Cu + H2O
145/ H2 + ZnO to Zn + H2O
146/ Fe2O3 + 3H2 = 2Fe + 3H2O
Trang 17MƠN HỌC : BIỂU DIỄN TRI THỨC & ỨNG DỤNG - TS Đỗ Văn Nhơn 16
-147/ CaCO3 to CaO + CO2
148/ NaNO3 to NaNO2 + O2
* Phản ứng tạo thành Amoniac :
149/ N2 + 3H2 = 2NH3
* Phản ứng axit-bazơ :
150/ Zn(OH) 2 + 2HCl = ZnCl 2 + 2 H 2O
151/ Cu(OH) 2 + HNO3 Cu(NO3) 2 + H 2O
152/ C + CuO to Cu + CO2
153/ C + H2O to CO + H2
154/ C + H2O to CO2 + H2
155/ Al + H2O Al(OH) 3 + H2
156/ Al + Fe2O3 to Al2O3 + Fe
điện phân 157/ Al2O3 Al + O2
158/ Al2O3 + NaOH NaAlO2 + H 2O
159/ Al(OH) 3 to Al2O3 + H 2O
160/ Al(OH) 3 + NaOH NaAlO2 + H2O
161/ Ca + 2H2O = Ca(OH) 2 + H2
162/ Ca + HNO3 (dung dịch loãng) Ca(NO3)2 + NH4NO3 + H20
điện phân 163/ CaCl2 Ca + Cl2
164/ Na + H2O NaOH + H2
điện phân 165/ NaCl Na + Cl2
điện phân 166/ NaOH Na + O2 + H20
167/ NaI + Br2 NaBr + I2
168/ KI + Br2 KBr + I2