Thuật toán tiến hóa đa mục tiêu thiết kế các IS-LRBS

Một phần của tài liệu ToanVanLuanAn NCS NguyenDucDu (Trang 110 - 114)

Thuật toán tiến hóa đa mục tiêu thiết kế LRBS có tính giải nghĩa được

(Interpretable) và có khả năng mở rộng (Scalable), IS-LRBS-Design-MOEA, giải bài

toán hồi quy được đề xuất như sau (lược đồ tổng quát được trình bày trong hình 3.2):

Thuật toán IS-LRBS-Design-MOEA(D, SemEnHA( (D), paretofilename)

Input:

− Tập dữ liệu D = {dp = (ai,1, ai,2, …, ai,n, ai,(n + 1)): i = 1 to ND};

SemEnHA( (D): tập G = {c−, c+} và tập các gia tử {H+ = {hj: 1 ≤ jp}, H− =

{hj: −1 ≤ j ≤ −q}, {h0}; một mảng quan hệ dấu của các gia tử ℛsign = {(h, h’,

sign(h, h’): h, h’HH+};

− Tập các từ của các biến được đánh chỉ số: ex( ,( )), j = 1, …, n;

− Xác suất xảy ra các toán tử di truyền:

∘ Các xác suất lai ghép của nhiễm sắc thể của các tham số tính mờ và LRB: Pc() và Pc(CRB); ∘ Các xác suất đột biến (Pm) của các nhiễm sắc thể của các tham số tính mờ và LRB: Pm() và Pm(CRB), ∘ Xác suất đột biến thêm luật Pm_Add_RB;

k: Một mảng chứa mức đặc tả tối đa của các LFoC hiện được khai báo của các biến;

− max: độ dài tối đa của luật;

Mmin và Mmax tương ứng là các số nguyên chỉ số luật nhỏ nhất và lớn nhất của LRB trên mặt Pareto;

MaxGen: số thế hệ;

Paretofilename: file chứa mặt Pareto cuối cùng (được sử dụng cho việc tiếp tục huấn luyện trong tương lai của vòng đời ứng dụng khi các LFoC hiện tại được khai báo tăng lên theo yêu cầu của người quản trị hệ thống);

Bước 1: Khối khởi tạo: mục đích là xây dựng các LFoC, khởi tạo.

Ifparetofilename == “” then

For h= 1 to 2 // khởi tạo mặt Pareto với 2 cá thể

1.1. Sinh các LFoC cho mọi biến Aj, j = 1, …, n + 1

− Gán k[j] là chiều dài từ tối đa (mức đặc tả) của các LFoC( ) hiện được khai báo củaAj

− Sinh các LFoC( ) được khai báo của các biến và tập chỉ sốex(( )), j =1,.., n+1

− Sinh ngẫu nhiên các giá trị củaj = ( (h0j), (Lj), fm(0j), ( −), fm(Wj), ( )) từ các miền giá trị phù hợp của chúng được cung cấp thỏa (FM1’ và FM2’);

− Tính toán các quan hệ tương tự ( ) = { ( )( ): x ∈ ( )} của LFoC

( ), j = 1, .., n + 1

1.2. Xây dựng các cấu trúc đa thể hình thang của các LFoC được sinh ra:

Với mọi Aj, j = 1, …, n + 1,

1.3. Sinh các luật ngôn ngữ từ các mỗi dữ liệu, dựng CRB − Sinh ngẫu nhiên một số nguyên Mk [Mmin, Mmax];

− Lặp Mk lần để triệu gọi PrGenRule(dp, {( ),ex(( ): jn + 1}, max) để sinh Mk luật ngôn ngữ, trong đó dp được chọn ngẫu nhiên từ D.

1.4. Tính giá trị MSE và độ phức tạp Comp.

1.5. Gán ih vào

End for Else

1.1b. Phục hồi tệp tin “paretofilename”, tăng các LFoC được khai báo hiện

tại đến các mức đặc tả mới và xây dựng các cấu trúc đa thể hình thang bổ sung ở các mức k

− Gán k[j] là độ dài lớn nhất của từ của LFoC được khai báo hiện tại của biến Aj, nếu độ dài lớn nhất của LFoC củaAj < k[j], j = 1,.., n+1 − Sinh LFoC ( ), j =1,.., n+1

1.2b. Xây dựng các cấu trúc đa thể hình thang của các LFoC được sinh ra: Với mọiAj, j = 1, …, n + 1, Call TrP( ( ), k, G, H, ℛsign, , ,( ));

End if

Bước 2: Khối tiến hóa được lặp với MaxGen lần để lưu trữ một mặt Pareto tối ưu.

2.1. Tạo hai cá thể con (offspring)

− Chọn ngẫu nhiên hai cá thể 1 và 2 từ. Chúng được xem như cha mẹ hiện tại.

− Áp dụng toán tử lai ghép để sinh hai cá thể cono1 vào2 từ 1 và 2 trên CRB với xác suất Pc() và Pc(CRB) tương ứng. − Áp dụng toán tử đột biến trên của mỗio1 vào2 một cách độc lập với xác suất Pm()

− Áp dụng các toán tử đột biến trên CRB của mỗio1 vào2 một cách độc lập với xác suất Pm(CRB).

− Nếu toán tử thêm luật được áp dụng với xác suất Pm_Add_RB thì

− Tính hệ khoảng tương tự ( ) của LFoC ( ), j = 1, …, n + 1

− Xây dựng các cấu trúc đa thể hình thang của các LFoC được sinh ra từ ngữ nghĩa cú pháp và định tính của các biến được khai báo:

Với mọi Aj, j = 1, …, n + 1

Call TrP( ( ), k, l, G, H, ℛsign, , ,( )); − Áp dụng toán tử thêm luật.

− Else

Áp dụng toán tử thay đổi cơ sở luật;

2.2. Tính toán giá trị của tất cả các mục tiêu của o1 và o2

2.3. Đưa từngo1 vào2 vào nếu chúng không bị trội hơn bởi bất kỳ phương án nào trong . Nếu đầy, loại bỏ ngẫu nhiên cá thể thuộc về vùng có mật độ cao nhất [26].

Bước 3. Lưu mặt Pareto

− Ghi mặt Pareto vào tập tin có tên là“paretofilename”;

Bắt đầu

1Input: - Tập dữ liệu D - Các tham số của (2+2)M-PAES

- Khai báo các khía cạnh ngữ nghĩa - Tên tập tin chứa mặt Pareto

của thuộc tính Aj và mức đặc kj, j = 1, …, n + - i = 0 1 của các LFoC có Fkj có cần không j tăng trưởng?

2a.1Pareto từ tệp tin- Khôi phục các LRBS tối chứa mặt Pareto ưu của mặt

2a.2 - Khai báo đặc tả mới k’j của Aj, j = 1, …, n + 1

2a.3 - Sinh các mức mới của Fkjj, j = 1, …,

n + 1

- Gọi TrP(Fkjj,kj, k’j - kj, G, H, ℛsign, , MGr,kjj )

để xây dựng các mức của MGr,kjj, j = 1, …, n + 1

2b.1 - Sinh các LFoC của Fkjj, j = 1, …, n + 1;

- Sinh ngẫu nhiên nhiễm sắc thể C 1, C 2 ;

- Với p = 1, 2, và mỗi j của C p, gọi TrP(Fkjj, kj,0, G, H, ℛsign,

j, MGr,kjj ) để xây dựng cấu trúc MGr,kjj, j = 1, …, n + 1.

2b.2 - Với p = 1, 2, tạo ra các cá thể p bởi sinh ra các CLRBp từ C p bằng thủ tục PrG-Rule({Fkjj,j kj ,j

kj: j ≤ n + 1},

max).

- Nạp 1 và 2 vào, và xem nó là mặt Pareto khởi tạo

3 - Chọn ngẫu nhiễn hai cá thể 1 và 2 từ mặt Pareto; i++

- Áp dụng toán tử lai ghép để sinh ra 2 cá thể con o1 và o2 từ 1 và 2 với xác suất lần lượtPc(Cµ) vàPc(CRB). - Áp dụng toán đột biến trên Cµ với xác suấtPm(Cµ) cho mỗi cá thể o1 và o2

- Gọi - Áp dụng toán tử đột biến trên CRB, với xác suấtTrP(Fkjj, kj, 0, G, H, ℛsign, , MPm(CRB) cho mỗi cá thểGr,kjj ) để xây dựng các mức của o1 và o2 MGr,kjjcủa o1 và o2

có Có xảy ra đột không

biến thêm luật?

4a - Áp dụng toán tử đột biến thêm luật 4b - Áp dụng toán tử đột biến thay đổi tiền đề luật

5

- Tính toán các mục tiêu của o1 và o2

- Lần lượt thêm cá thể o1, o2 vào mặt Pareto nếu chúng không bị trội bởi bất kỳ cá thể nào trong . Nếu đầy, thì loại bỏ ngẫu nhiên một cá thể thuộc vùng có mật độ cao nhất.

đúng sai

i < maxGen 6

Output - Lưuvào file Kết thúc

Một phần của tài liệu ToanVanLuanAn NCS NguyenDucDu (Trang 110 - 114)

Tải bản đầy đủ (DOC)

(145 trang)
w