Thu ậ t tốn tìm các Homogenous Clauses

Một phần của tài liệu NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING” (Trang 61 - 63)

THUẬT TỐN PHÂN LỚP ĐIỀU CHỈNH SỰ QUÁ KHỚP VÀ QUÁ KHÁI QUÁT

tục tìm các Homogenous Clauses cho mỗi Positive Clause. Thuật tốn tìm tất cả các Homogenous clauses cho mỗi Positive Clause như sau:

Input: Positive Clause C

Output: Các homogenous Clauses cĩ trong C

1) Chọn ngẫu nhiên N mẫu positive trong C.

2) For với mỗi mẫu positive X vừa mới được chọn Do{

3) If X chưa thuộc bất kỳ Homogenous Clauses nào Then{

4) Đặt một ngưỡng H = khoảng cách nhỏ nhất giữa hai mẫu positive 5) Do{

6) Tạo một vùng E với tâm là X và bán kính là H 7) If E nằm hồn tồn trong C Then H = H*2 8) Else thốt khỏi vịng lặp

9) }While (true)

10) } }

//Duyệt lại dữ liệu xem cịn mẫu nào chưa thuộc Homogenous Clauses 11) For với mỗi mẫu i trong C Do{

12) If i chưa thuộc Homogenous Clauses nào Then {

13) Đặt X = mẫu i và quay lại bước 2) 14) } }

Bảng 3-3: Thuật tốn tìm các Homogenous Clauses cho mỗi Positive Clauses

THUẬT TỐN PHÂN LỚP ĐIỀU CHỈNH SỰ QUÁ KHỚP VÀ QUÁ KHÁI QUÁT

Theo thuật tốn này, mỗi Positive Clause được phân ra thành các Homogenous Clauses, bằng cách sử dụng một khoảng cách cực tiểu, H, giữa hai mẫu positve trong tập dữ liệu, để khởi tạo một vùng ban đầu của Homogenous Clause. Nếu những vùng này khơng đụng vào biên của Positive Clause chứa chúng thì chúng được mở rộng với bán kính gấp đơi, H*2, và cứ tiếp tục như vậy. Quá trình mở rộng các vùng này chỉ dừng khi một trong các Homogenous Clause đụng vào biên của Positive Clause chứa chúng. Nếu ngay trong lần mở rộng đầu tiên mà Homogenous Clause đụng vào biên của Positive Clause chứa nĩ thì Homogenous Clause này chỉ chứa duy nhất một mẫu positive. Ví dụ, tìm các Homogenous Clauses cho mỗi Positive Clauses trong ví dụ ở trên.

Hình 3-8: Các Homogenous Clauses cho mỗi Positive Clauses

Một phần của tài liệu NGHIÊN cứu THUẬT TOÁN PHÂN LỚPNHỊ PHÂN và ỨNG DỤNG CHOBÀI TOÁN PROTEIN FOLDING” (Trang 61 - 63)