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

THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ GIẢI BÀI TOÁN HÓA HỌC VÔ CƠ BẰNG THUẬT TOÁN METAHEURISTIC TRÊN MẠNG TÍNH TOÁN

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 (162.68 KB, 10 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Phan Hữu Phước – CH1301106
TIỂU LUẬN
THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ
GIẢI BÀI TOÁN HÓA HỌC VÔ CƠ BẰNG THUẬT TOÁN
METAHEURISTIC TRÊN MẠNG TÍNH TOÁN
GIẢNG VIÊN: PGS.TS. Đỗ Văn Nhơn
TP HỒ CHÍ MINH – 11/2014
MỤC LỤC
Trang 2
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
I. VẤN ĐỀ
Từ các phản ứng có sẵn, cho trước một số chất ban đầu. Hỏi có thể điều chế
được một chất theo yêu cầu hay không và cho biết các phản ứng nào được sử
dụng trong quá trình điều chế.
Ví dụ:
Cho trước Na, Cl2, AgNO3. Yêu cầu điều chế NaNO3
Giải
1. Suy luận:
• Na + Cl2 -> NaCl
• NaCl + AgNO3 -> NaNO3 + AgCl
2. Kết luận: Điều chế được
II. MÔ HÌNH HÓA
II.1. Khái niệm mạng tính toán
Mạng tính toán là một mô hình được biểu diễn bởi 2 thành phần <M,F>. Trong đó:
• M: tập hợp các biến
• F: tập hợp các quan hệ tính toán
Trong vấn đề của bài tiểu luận này thì:
• F: danh sách các phản ứng hóa học (dsphanung). Mỗi phản ứng được xem
là một quan hệ.


• M: tập hợp các chất (được suy ra từ dsphanung). Mỗi chất được xem là
một biến.
Trang 3
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
II.2. Mô hình hóa vấn đề
Danh sách các phản ứng:
Na + Cl
2
= NaCl
Fe + Cl
2
= FeCl
3
Cu + Cl
2
= CuCl
2
Cl
2
+ H
2
O = HCl + HClO
MnO
2
+ HCl = MnCl
2
+ Cl
2
+ H
2

O
HCl + KMnO
4
= KCl + MnCl
2
+ H
2
O + Cl
2
AgNO
3
+ NaCl = NaNO
3
+ AgCl
Danh sách các chất ban đầu: Na, Cl
2
, AgNO
3
Theo mô hình mạng tính toán thì:
M= { Na; Cl
2
; AgNO
3
}
F= { Na + Cl
2
= NaCl; Fe + Cl
2
= FeCl
3

;

Cu + Cl
2
= CuCl
2
;
Cl
2
+ H
2
O = HCl + HClO; MnO
2
+ HCl = MnCl
2
+ Cl
2
+ H
2
O;
HCl + KMnO
4
= KCl + MnCl
2
+ H
2
O + Cl
2
; AgNO
3

+ NaCl = NaNO
3
+ AgCl }
Cho f ∈ F
• f(L): tập hợp các chất ở vế trái của f
• f(R): tập hợp các chất ở vế phải của f
• K(f): trạng thái kích hoạt của f. Nếu f chưa được kích hoạt thì K(f)=false,
ngược lại thì K(f)=true
• C(f): Số lượng các chất ở vế trái của f
• Nếu K(f)=true và f(L) ⊆ M thì M = M ∪ f(R)
III. Ý TƯỞNG
Tìm phản ứng chưa được kích hoạt và có vế trái chưa trong tập hợp các chất đã biết.
Bổ sung các chất vế phải của phản ứng vào tập các chất đã biết và đánh dấu f đã
được kích hoạt.
Ưu tiên (Heuristic):
Trang 4
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
• Phản ứng có ít chất ở vế trái
• Phản ứng có vế phải chứa chất cần điều chế
• U(f): giá trị ưu tiên của f trong quá trình giải bài toán. U(f) càng nhỏ thì càng
được ưu tiên.
IV. HÀM HEURISTIC
Input
• F: tập hợp các phản ứng
• G: chất cần điều chế
Output
• F = {f
i
} đã được sắp xếp tăng dần theo U(f
i

)
Thuật giải
B0: U(f)=R(f); UT=1; Sắp xếp F={f
i
} tăng dần theo U(f
i
)
B1: MT={G}; //Ghi nhận các mục tiêu trung gian
B2: Tìm f có U(f) ≠ C(f) và f(R) ⊇ MT.
Nếu tìm thấy thì đến B3, ngược lại thì đến B4
Trang 5
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
B3: U(f) = U(f) + UT; UT = UT + 1; Quay lại B2
B4: Với mỗi f còn lại: U(f) = U(f) + UT; UT = UT+1;
B5: Sắp xếp F={f
i
} tăng dần theo U(f
i
)
Độ phức tạp: O(n
2
)
V. GIẢI THUẬT
Input:
• M: tập hợp các chất ban đầu
• F: tập hợp các phản ứng
• G: chất cần điều chế
Output:
• Kết luận: Điều chế được hay không
• Danh sách các phản ứng đã sử dụng

Giải thuật
B0: UF=F; KNOW=M; SOLVE=∅;
B1: Nếu (G∉KNOW) và Tìm thấy f sao cho f(L)⊆KNOW (ưu tiên f có U(f) nhỏ
nhất) thì:
• KNOW=KNOW∪f(R)
• SOLVE=SOLVE∪f
• UF=UF\f
Ngược lại: đến B3
B2: Quay lại B1
B3: Nếu (G∉KNOW): Kết luận Điều chế không thành công
Ngược lại: Kết luận Điều chế thành công
VI. TÍNH ĐÚNG ĐẮN
• Phản ứng nào đã được dùng để điều chế thì không dùng nữa
Trang 6
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
• Thuật giải dừng khi đã điều chế được G hoặc khi không tìm thấy f để điều
chế thêm chất khác
Trang 7
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
VII. ĐỘ PHỨC TẠP
O(n2) khi duyệt hết F mà không điều chế được G
VIII. CẢI THIỆN
Cập nhật MT trong hàm Heuristic phù hợp trong quá trình duyệt các f.
Trang 8
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
IX. DEMO
Bước 1: Nhập các các ban đầu (cách nhau bởi dấu phẩy “,”), không cần định dạng
chỉ số dưới vì chương trình tự xử lý.
Bước 2: Nhập chất cần điều chế
Bước 3: Click chuột lên nút lệnh

Trang 9
Thuật toán và phương pháp giải quyết vấn đề CH1301106 – Phan Hữu Phước
X. TÀI LIỆU THAM KHẢO
[1] Bài giảng của PGS.TS. Đỗ Văn Nhơn.
[2] 2009-08, Computational Networks for Knowledge Representation - Đỗ
Văn Nhơn.
Trang 10

×