Trong phần trên, toán tử lai ghép dựa trên ngữ nghĩa chủ yếu được so sánh về hiệu quả so với toán tử lai ghép thông thường trên hệ TAG3P. Để đánh giá
68 thực sự hiệu quả của toán tử lai ghép dựa trên ngữ nghĩa so với một số hệ GP khác, các toán tử lai ghép tương tự khác,
Ngoài việc so sánh với toán tử lai ghép chuẩn, trong các toán tử lai ghép dựa trên ngữ nghĩa, luận án lựa chọn hai toán tử lai ghép là SSC và MSSC để tiến hành so sánh. Hai toán tử lai ghép này được Uy và cộng sự đề xuất trong [80], [98]. Lý do lựa chọn hai toán tử lai ghép này để so sánh là bởi đây là những toán tử lai ghép dựa trên ngữ nghĩa được đánh giá là tốt so với các toán tử tương tự, đồng thời, xét về phương pháp luận thì hai toán tử này tương đồng so với toán tử lai ghép dựa trên ngữ nghĩa đề xuất trong hệ TAG3P.
Luận án đã tiến hành thí nghiệm như sau:
1. Tập hợp các bài toán để tiến hành thí nghiệm tương tự như mục 3.1 ở trên. 2. Tiến hành thí nghiệm và so sánh kết quả giữa TAG3P với toán tử lai ghép
dựa trên ngữ nghĩa với toán tử lai ghép chuẩn, toán tử lai ghép SSC, MSSC. 3. Toán tử lai ghép dựa trên ngữ nghĩa trong TAG3P cũng được thử nghiệm
điều chỉnh tham số N (số cặp cá thể được chọn để tính ngữ nghĩa) khác nhau để đánh giá độ nhạy của tham số này.
Thí nghiệm được thiết lập thông số cấu hình như bảng sau:
Tham số Giá trị
Số cá thể 500
Số thế hệ 50
Phương pháp lựa chọn Cạnh tranh
Kích cỡ lựa chọn 3
Xác xuất các toán tử Lai ghép = 0.9, Đột biến = 0.1 Kích thước tối đa 40 (với TAG3P) và 15 (với GP)
Ký hiệu không kết +, -, *, /
Sin, cos, exp, log
Ký hiệu kết x, 1 với hàm một biến
x, y với hàm hai biến
69 Điều kiện đạt Khi một cá thể có lỗi tuyệt đối nhỏ
hơn 0.01 trên tất cả các dữ liệu học Lần chạy thành công Khi một cá thể có điều kiện đạt trên
tất cả các dữ liệu học
Số cặp cây con lựa chọn để tính ngữ nghĩa (N)
Thử các trường hợp 10,20,30,40. Kết quả thu được ký hiệu tương ứng là:
TAG3P_BB_MAX10 TAG3P_BB_MAX20 TAG3P_BB_MAX30 TAG3P_BB_MAX40
Số lần chạy thí nghiệm Một trăm lần chạy
Bảng 3.6. Bảng cấu hình thí nghiệm
Với mỗi thí nghiệm ở trên sẽ thực hiện lưu trữ các kết quả sau để so sánh: Tỷ lệ số lần chạy thành công/100 lần chạy; Trung bình độ tốt của 100 lần chạy; Trung bình của sự thay đổi độ tốt sau khi thực hiện lai ghép.
Các kết quả thí nghiệm thu được như sau:
Thí nghiệm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 GP 55 18 7 3 17 31 29 18 8 15 SSC 54 31 11 5 33 47 43 22 30 50 MSSC 85 44 17 12 60 58 70 40 50 56 TAG3P_BB_MAX10 100 100 95 80 42 53 54 28 30 47 TAG3P_BB_MAX20 100 100 97 83 47 57 63 33 33 45 TAG3P_BB_MAX30 100 100 100 85 55 61 65 37 31 47 TAG3P_BB_MAX40 100 100 100 85 58 60 67 39 32 47
Bảng 3.7. Số lần chạy thí nghiệm thành công
Đánh giá kết quả:
- So với GP, GP với SSC và GP với MSSC thì toán tử lai ghép dựa trên ngữ nghĩa của TAG3P tốt hơn hẳn khi học các hàm F1, F2, F3, F4.
70 - Đối với các hàm F5, F6, F7, F8 thì số lần thành công của toán tử lai ghép dựa trên ngữ nghĩa của TAG3P tốt hơn GP và GP với SSC, nhưng xấu hơn GP với MSSC. Chỉ có trường hợp TAG3P_BB_MAX40 (là toán tử lai ghép với số cặp các cá thể lấy ngẫu nhiên để tính ngữ nghĩa là N = 40) thì xấp xỉ bằng GP với MSSC.
- Đối với hàm F9, F10 thì số lần thành công của toán tử lai ghép dựa trên ngữ nghĩa trên TAG3P tốt hơn GP, GP với SSC, nhưng xấu hơn GP với MSSC.
Thí nghiệm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 GP 0.19 0.27 0.35 0.4 0.22 0.2 0.3 0.26 5.75 2.19 SSC 0.47 0.29 0.3 0.36 0.16 0.26 0.15 0.22 3.6 1.95 MSSC 0.16 0.25 0.19 0.24 0.12 0.16 0.11 0.18 1.9 1.6 TAG3P_BB_MAX10 0.1 0.18 0.21 0.31 0.12 0.1 0.11 0.17 4.01 1.98 TAG3P_BB_MAX20 0.11 0.17 0.18 0.28 0.12 0.12 0.1 0.17 3.58 1.88 TAG3P_BB_MAX30 0.09 0.15 0.17 0.24 0.12 0.1 0.08 0.16 3.23 1.72 TAG3P_BB_MAX40 0.09 0.16 0.17 0.23 0.11 0.11 0.09 0.16 3.47 1.94
Bảng 3.8. Trung bình độ tốt của 100 lần chạy thí nghiệm
Đánh giá kết quả:
- So với GP, GP với SSC và GP với MSSC thì toán tử lai ghép dựa trên ngữ nghĩa của TAG3P tốt hơn hoặc xấp xỉ bằng khi học các hàm F1, F2, F3, F4, F5, F6, F7, F8.
- Đối với hàm F9, F10 thì toán tử lai ghép dựa trên ngữ nghĩa của TAG3P tốt hơn hoặc xấp xỉ với GP và GP với SSC, nhưng xấu hơn GP với MSSC.
Thí nghiệm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 GP 10.74 9.32 11.51 11.26 8.23 8.11 9.01 9.58 25.9 24.2 SSC 8.08 8.6 8.6 9.4 6.9 6.8 8.6 7.8 19.6 22 MSSC 4.55 4.17 4.8 5.09 3.12 3.5 3.2 4.02 13.3 12.7 TAG3P_BB_MAX10 7.25 7.39 8.89 7.69 6.56 6.43 6.78 7.11 19.01 17.66 TAG3P_BB_MAX20 6.13 6.39 7.12 7.21 5.1 5.63 6.11 6.2 18.22 17.3
71
TAG3P_BB_MAX30 5.25 6.87 6.58 6.13 4.11 5.12 6.3 5.47 17.98 16.57
TAG3P_BB_MAX40 5.12 6.91 6.34 6.89 4.43 4.91 6.05 4.98 17.74 16.43
Bảng 3.9. Trung bình thay đổi độ tốt sau khi thực hiện lai ghép
+ Đánh giá kết quả:
- So với GP, GP với SSC thì toán tử lai ghép dựa trên ngữ nghĩa của TAG3P tốt hơn.
- Đối với GP với MSSC thì toán tử lai ghép dựa trên ngữ nghĩa của TAG3P kém hơn, đặc biệt là với hàm F9, F10 thì kém hơn khá nhiều.
Kết luận:
- Với các kết quả thu được ở trên, khi so sánh với các toán tử tương tự, có thể rút ra kết luận là toán tử lai ghép dựa trên ngữ nghĩa trong TAG3P thu được nhìn chung cho kết quả tốt.
- Việc thay đổi tham số N (số cặp các cá thể lấy ngẫu nhiên để tính ngữ nghĩa) cũng có những ảnh hưởng nhất định đến kết quả. Điều này có thể được giải thích là do ngữ nghĩa trong TAG3P có thể có giá trị âm hoặc dương (tức là cây con có thể có ảnh hưởng tốt hoặc xấu), nên khi lấy ngẫu nhiên N cặp cây con để tính ngữ nghĩa, nếu N lớn thì xác xuất thu được các cặp cây con cùng có ảnh hướng xấu sẽ nhiều hơn. Tuy nhiên, điều chỉnh tham số cũng có tác dụng khác nhau với các bài toán học khác nhau và khi điều chỉnh tham số N là 30, 40 thì sự thay đổi không đáng kể, có thể đây là ngưỡng của độ nhạy tham số này. Điều này cần được nghiên cứu và có thêm thí nghiệm để đánh giá độ nhạy của tham số này.
3.3 TOÁN TỬ ĐỘT BIẾN DỰA TRÊN NGỮ NGHĨA TRONG HỆ TAG3P 3.3.1 Toán tử đột biến dựa trên ngữ nghĩa trong TAG3P
Với định nghĩa ngữ nghĩa của một cây con được xác định là độ đóng góp của cây con đó đối với toàn bộ cây (cá thể) như đã được đề xuất ở chương 2 và với một số đặc điểm của khái niệm ngữ nghĩa này, khi tiến hành thiết kế toán tử đột biến, vấn đề đặt ra là làm sao lựa chọn được vị trí cây con có ngữ nghĩa phù hợp
72 để tiến hành đột biến với mong muốn các cá thể mới thu được sau khi đột biến sẽ tốt hơn cả thể ban đầu.
Toán tử đột biến thông thường trước khi tiến hành sẽ thực hiện việc lựa chọn một vị trí trong cá thể, sau đó tạo ngẫu nhiên một cây con và tiến hành thay thế cây con đó vào vị trí được lựa chọn ở thao tác trước.
Với việc tính toán được ngữ nghĩa của cây con, giá trị ngữ nghĩa sẽ cung cấp thêm thông tin về cây con đó, điều này sẽ giúp ích trong việc lựa chọn vị trí cây con phù hợp để tiến hành đột biến.
Với hệ TAG3P và định nghĩa ngữ nghĩa được đề xuất, giả sử trường hợp sẽ tiến hành chọn ngẫu nhiên N vị trí cây cây con để trên cơ sở đó chọn một cây con để tiến hành đột biến. Khi đó, một số trường hợp có thể xảy ra như sau:
1. Cây con có giá trị ngữ nghĩa là âm.
Trường hợp này cây con đó có ảnh hưởng tốt với cá thể cha. Xét về mặt lý thuyết, nếu một cây con có ảnh hưởng tốt với cá thể thì ta nên giữ lại cây con đó trong cá thể. Nếu tiến hành lựa chọn đột biến ở vị trí cây con này, đồng nghĩa với việc sẽ loại bỏ cây con đó ra khỏi cá thể và thay bằng cây con khác và có thể cây con mới này có ảnh hưởng xấu hoặc ảnh hưởng tốt (tạo ra cá thể mới xấu hoặc tốt hơn cá thể ban đầu).
Khi tiến hành chọn ngẫu nhiên N vị trí cây con để tiến hành đột biến, trong số các cây con có giá trị ngữ nghĩa là âm, một số lựa chọn như sau có thể được thực hiện:
- Chọn ngẫu nhiên cây con có giá trị ngữ nghĩa là âm bất kỳ để thực hiện đột biến. Trường hợp lựa chọn này được ký hiệu là TAG3P_G_RD. - Chọn cây con có giá trị ngữ nghĩa là âm nhỏ nhất. Mục đích là lựa chọn
cây con có ảnh hưởng tốt nhiều nhất để đột biến. Trường hợp lựa chọn này được ký hiệu là TAG3P_G_MAX.
73 - Chọn cây con có giá trị ngữ nghĩa là âm lớn nhất.Mục đích là lựa chọn cây con có ảnh hưởng tốt ít nhất để đột biến. Trường hợp lựa chọn này được ký hiệu là TAG3P_G_MIN.
2. Cây con có giá trị ngữ nghĩa là dương.
Trường hợp này cây con đó có ảnh hưởng xấu với cá thể cha. Xét về mặt lý thuyết, nếu một cây con có ảnh hưởng xấu với cá thể thì nếu tiến hành lựa chọn đột biến ở vị trí cây con này, đồng nghĩa với việc sẽ loại bỏ cây con đó ra khỏi cá thể và thay bằng cây con khác. Việc loại bỏ cây con có ảnh hưởng xấu này ra khỏi cá thể trước tiên sẽ giúp cải thiện độ tốt của cá thể. Tuy nhiên, kết quả cuối cùng sẽ phụ thuộc vào cây con mới được thay thế và có thể cây con mới này có thể có ảnh hưởng xấu hoặc ảnh hưởng tốt (tạo ra cá thể mới xấu hoặc tốt hơn cá thể ban đầu).
Khi tiến hành chọn ngẫu nhiên N cây con để tiến hành đột biến, trong số các cây con có giá trị ngữ nghĩa là dương, một số lựa chọn như sau có thể được thực hiện:
- Chọn ngẫu nhiên cây con có giá trị ngữ nghĩa dương bất kỳ để thực hiện đột biến. Trường hợp lựa chọn này được ký hiệu là TAG3P_B_RD. - Chọn cây con có giá trị ngữ nghĩa dương nhỏ nhất.Mục đích là lựa chọn
cây con có ảnh hưởng xấu ít nhất để đột biến. Trường hợp lựa chọn này được ký hiệu là TAG3P_B_MIN.
- Chọn cây con có giá trị ngữ nghĩa dương lớn nhất.Mục đích là lựa chọn cây con có ảnh hưởng xấu nhiều nhất để đột biến. Trường hợp lựa chọn này được ký hiệu là TAG3P_B_MAX.
Dựa trên các trường hợp phân tích ở trên, thuật toán thực hiện toán tử đột biến dựa trên ngữ nghĩa trong hệ TAG3P được đề xuất như sau:
Thuật toán đột biến dựa trên ngữ nghĩa định lượng: Bước 1: Chọn ngẫu nhiên N cây con trong cá thể.
74
Bước 2: Tính toán ngữ nghĩa của từng cây con đó. Lưu trữ các giá trị ngữ nghĩa này để tiến hành lựa chọn vị trí cây con phù hợp để tiến hành đột biến.
Bước 3:
Trong N cây con lựa chọn ngẫu nhiên ở trên, dựa trên giá trị ngữ nghĩa, thực hiện đột biến tại vị trí theo một trong 6 trường hợp như đã đề xuất ở trên:
1. TAG3P_G_RD. 2. TAG3P_G_MAX. 3. TAG3P_G_MIN. 4. TAG3P_B_RD. 5. TAG3P_B_MAX. 6. TAG3P_B_MIN.
Bước 4:Trong trường hợp đột biến được thực hiện thành công thì cá thể mới nhận được sẽ được đưa vào thế hệ tiếp theo.
Với thuật toán ở trên, luận án sẽ tiến hành thí nghiệm chi tiết ở phần tiếp theo để qua đó xác định trong 6 lựa chọn cây con dựa trên ngữ nghĩa, lựa chọn nào cho kết quả tốt nhất để từ đó đề xuất phương án lựa chọn vị trí đột biến áp dụng trong thuật toán này.
3.3.2 Thử nghiệm
Để thực hiện đánh giá kết quả của toán tử đột biến dựa trên ngữ nghĩa, luận án tiến hành thử nghiệm như sau:
a. Tập hợp bài toán
Để đánh giá hiệu quả của toán tử đột biến dựa trên ngữ nghĩa so với toán tử đột biến thông thường, mười bài toán hồi quy ký hiệu với giá trị thực như các thí nghiệm ở trên (bảng 3.1) sẽ được sử dụng để làm thử nghiệm.
b. Cấu hình tham số
Thử nghiệm được thiết lập thông số cấu hình như bảng sau để tiến hành học các hàm số ở trên:
75
Tham số Giá trị
Số cá thể 500
Số thế hệ 50
Phương pháp lựa chọn Cạnh tranh
Kích cỡ lựa chọn 3
Xác xuất các toán tử Lai ghép = 0.05, Đột biến = 0.9
Kích thước tối đa 40
Ký hiệu không kết +, -, *, /
sin, cos, exp, log
Ký hiệu kết x, 1 với hàm một biến
x, y với hàm hai biến Độ tốt Tổng các lỗi tuyệt đối trên tất cả
các dữ liệu học
Điều kiện đạt Khi một cá thể có lỗi tuyệt đối nhỏ hơn 0.01 trên tất cả các dữ liệu học Lần chạy thành công Khi một cá thể có điều kiện đạt trên tất
cả các dữ liệu học Số cây con lựa chọn để tính ngữ nghĩa (N) 10
Số lần chạy thử nghiệm Một trăm lần chạy thử nghiệm
Bảng 3.10 Cấu hình thử nghiệm
Trong cấu hình thí nghiệm này, để đánh giá hiệu quả của toán tự đột biến, xác xuất thực hiện toán tử đột biến sẽ được đặt là 0.09, còn xác xuất thực hiện toán tử lai ghép được đặt là 0.05
c. Kết quả
Để so sánh kết quả của các toán tử đột biến dựa trên ngữ nghĩa so với toán tử đột biến thông thường trên hệ TAG3P và hệ GP chuẩn, các thử nghiệm học hàm dựa trên cấu hình trong mục a, b ở trên được tiến hành.
76 a. Tỷ lệ số lần chạy thành công/100 lần chạy thử nghiệm.
b. Trung bình độ tốt của 100 lần chạy thử nghiệm. Các kết quả thử nghiệm thu được như sau:
Thử nghiệm F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 GP 3 2 2 3 13 3 10 5 11 5 TAG3P 8 8 6 6 20 7 20 8 8 3 TAG3P_G_RD 8 7 5 6 17 6 21 9 9 3 TAG3P_G_MAX 7 5 6 7 22 7 17 8 7 3 TAG3P_G_MIN 8 6 5 7 18 7 19 9 8 3 TAG3P_B_RD 16 18 12 13 33 9 43 19 9 4 TAG3P_B_MAX 18 21 15 15 37 11 47 22 9 5 TAG3P_B_MIN 15 17 13 12 37 8 40 17 9 4
Bảng 3.11. Số lần chạy thử nghiệm thành công
Đánh giá kết quả:
- Toán tử đột biến trong TAG3P cho kết quả tốt hơn toán tử đột biến chuẩn (GP) trừ với trường hợp hàm F9, F10.
- Khi thực hiện đột biến những vị trí cây con có ngữ nghĩa là âm (cây con ảnh hưởng tốt) như TAG3P_G_RD, TAG3P_G_MAX, TAG3P_G_MIN, kết quả thu được thường xấp xỉ như kết quả TAG3P (không có qui luật rõ ràng, lúc kết quả tốt hơn, lúc kết quả xấu hơn). Như vậy có thể thấy khi thực hiện toán tử đột biến mà tiến hành lai ghép ở những vị trí cây con có ngữ nghĩa âm sẽ không có cải tiến về kết quả.
- Khi thực hiện đột biến vị trí cây con có ngữ nghĩa là dương (ảnh hưởng xấu) như TAG3P_B_RD, TAG3P_B_MAX, TAG3P_B_MIN) thì kết quả thu được tốt hơn TAG3P, đặc biệt là những hàm F5, F7. Tuy nhiên sự khác biệt về kết quả giữa chúng không quá nhiều. Còn đối với hàm F9, F10 thì kết quả thu