Lựa chọn quần thể mới bằng bánh xe Roullete

Một phần của tài liệu Ứng dụng các giải thuật metaheuristic vào vấn đề loại bỏ sóng hài cho bộ nghịch lưu đa bậc (Trang 27 - 31)

+ Lấy mẫu chung ngẫu nhiên: Schotastic Universal Sampling: tương tự bánh xe Roullete, nhưng thay vì 1 điểm cố định người ta sử dụng 2 điểm cố định. + Lựa chọn theo giải đấu (Tournament selection): mỗi lần chọn k phần tử (k cố định) ngẫu nhiên trong quần thể, chọn ra phần tử có fitness score cao nhất. Sau n lần chọn, ta có được quần thể mới. Có thể áp dụng với giá trị âm. + Lựa chọn theo xếp hạng: sử dụng khi các cá thể có xác suất xuất hiện gần như nhau, lúc này bánh xe Roullete được chia thành các phần đều nhau. Phương pháp lựa chọn này thường không cho phép lựa chọn thế hệ sau tốt. + Lựa chọn ngẫu nhiên: Phương pháp này thường không cho thấy kết quả tốt và ít được áp dụng.

LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng

GVHD: PGS.TS Phan Quốc Dũng - Lai ghép (crossover): lựa chọn nhiều hơn 1 NST để tiến hành lai ghép, sinh

ra thế hệ mới. Xác suất tiến hành lai ghép là Pc, theo nghiên cứu của Kenneth De Jong thì giá trị này nên là 0.6. Có các phương pháp lai ghép sau:

+ Lai ghép 1 điểm: chọn ngẫu nhiên 1 điểm tráo đầu và đuôi của 2 NST cho nhau tại vị trí điểm chọn.

+ Lai ghép nhiều điểm: tương tự phương pháp trên nhưng thay vì 1 điểm thì 2 hoặc nhiều điểm được lựa chọn

+ Uniform crossover: mỗi gen được phân tách rời rạc và tiến hành tráo vị trí các gen của 2 cá thế bố và mẹ với nhau.

+ Tổng hợp theo số học: các cá thể con tại vị trí k là tổ hợp toán học của bố và mẹ tại vị trí tương ứng: child = αx + (1 − α)y

+ Lai ghép theo bậc Davis: tạo 2 điểm lai ghép ngẫu nhiên, từ phần tử cha thứ nhất chọn ra những điểm nằm giữa 2 điểm đã chọn, mang qua vị trí tương ứng ở thế hệ con. Từ phần tử cha thứ 2, lấy những giá trị nằm ngoài điểm lai ghép, xáo trộn và điền vào phần còn lại ở thế hệ con đầu tiên. Thực hiện tương tự với phần tử cha thứ 2 để thu được phần tử con thứ 2.

Ngoài ra có nhiều phương pháp lai ghép khác như: Partial Mapped, Order base, Shuffle crossover, Ring crossover, Age based, fitness based,…

- Đột biến (mutation): một chỉnh sửa nhỏ trong NST để tạo ra một giải pháp mới. Xác suất đột biến Pm thường nhỏ hơn rất nhiều so với xác suất lai ghép Pc. Theo Kenneth de Jong thì Pm =0.001. Sự đột biến là yếu tố quyết định đến khả năng hội tụ của GA. Một số kỹ thuật gây đột biến như sau:

+ Đảo bit: chọn 1/nhiều bit và đảo bit.

+ Thiết lập lại ngẫu nhiên (Random Resetting): Lấy bất kỳ 1 giá trị trong tập cho phép và gán vào 1 gen được chọn tùy ý.

+ Đột biến tráo đổi: đổi vị trí 2 bit trong cùng 1 NST.

+ Đột biến xáo trộn (scramble mutation): chọn một tập nhỏ các các gen trong NST, xáo trộn các gen cho nhau.

+ Đột biến đảo ngược: chọn 1 tập hợp nhỏ các gen trong 1 NST, đảo ngược vị trí các gen với nhau.

LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng

GVHD: PGS.TS Phan Quốc Dũng

2.2 Thuật toán bắt chước tập tính săn mồi của sói xám (Grey Wolf Optimization: GWO) Optimization: GWO)

Thuật toán bắt chước tập tính săn mồi của bầy sói GWO mô phỏng theo kỹ thuật phân lớp lãnh đạo và săn mồi của loài sói xám trong tự nhiên. Một lãnh đạo ưu tú nhất được gọi là alpha ( lời giải tốt nhất), cũng là phần tử đưa ra quyết định đi săn, các lãnh đạo cấp dưới lần lượt là beta và delta, những phần tử còn lại là omega. Con mồi (lời giải tối ưu) được điều khiển bởi alpha, beta và delta, omega đi theo những con sói này. Lời giải tối ưu sẽ được lấy ra từ trung bình cộng của 3 cấp lãnh đạo cao nhất. Nhờ vào việc kiểm tra lại vị trí, thuật toán tránh khỏi những giá trị tối ưu cục bộ, từ đó tìm ra được lời giải phù hợp nhất [5].

Bài toán được thực hiện qua 4 bước: (1)Bao vây con mồi

(2)Săn đuổi (3)Tấn công.

(4) Tìm kiếm con mồi Như hình biểu diễn sau:

Hình 2.5: Minh họa giải thuật GWO[5].

2.2.1 Bao vây con mồi

LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng

GVHD: PGS.TS Phan Quốc Dũng ⃗ = ⃗ ( ) − ⃗( ) (6)

⃗( + 1) = ⃗ ( ) − ⃗ ⃗ (7)

⃗ chỉ vị trí của bầy sói và X chỉ vị trí của sói xám. ⃗ và ⃗ được tính như sau:

⃗ = 2. ⃗ ⃗ − ⃗ (8)

⃗ = 2⃗ (9)

⃗ giảm từ 2 về 0 và các véc tơ ⃗ và ⃗ chọn ngẫu nhiên trong khoảng [0 1]

2.2.2 Săn mồi

Các giá trị , , được khởi tạo và được cập nhật vị trí sau từng vòng lặp, đó sẽ là những giá trị mà tại đó hàm fitness cho giá trị nhỏ nhất.

Để cập nhật vị trí cho các phần tử tại vòng lặp thứ t, ta tiến hành các tính toán sau: ⃗ = ⃗ − ⃗ ⃗ ⃗ = ⃗ − ⃗ ⃗ ⃗ = ⃗ − ⃗ ⃗ ớ ⃗ = ⃗ − ⃗ ⃗ = ⃗ − ⃗ ⃗ = ⃗ − ⃗ (10) ⃗( + 1) = ⃗ ⃗ ⃗ (11)

Trong đó là véc tơ vị trí của con mồi, ⃗ là vị trí của sói xám,

2.2.3 Tấn công con mồi

Bầy sói tiếp cận con mồi bằng cách giảm giá trị a của ⃗ , r1 và r2 có giá trị ngẫu nhiên trong khoảng [0,1] do đó A lấy giá trị ngẫu nhiên trong tập [-a,a], khi a tiến về 1, nghĩa là A có giá trị trong [-1,1], lúc này vị trí tiếp theo của phần tử tìm kiếm sẽ là vị trí hiện tại hoặc vị trí của con mồi.

2.2.4 Tìm kiếm con mồi

Những con sói tìm kiếm con mồi theo các vị trí alpha, beta và delta, chúng tách rời nhau để tìm kiếm rồi hội tụ lại để tấn công con mồi. Khi A lớn hơn 1, các con sói tách khỏi con mồi, và ngược lại khi A trong khoảng [-1,1], bầy sói tấn công con mồi.

LUẬN VĂN THẠC SĨ HVTH: Nguyễn Thanh Hằng

GVHD: PGS.TS Phan Quốc Dũng

CHƯƠNG 3: QUÁ TRÌNH TIẾN HÀNH

3. QUÁ TRÌNH TIẾN HÀNH

3.1 Xây dựng giải thuật GA

Do tính chất bài toán là việc tìm các giá trị góc kích cho khóa bán dẫn, các góc này nằm trong khoảng giá trị (-pi/2,pi/2) và là các số thập phân. Việc biểu diễn lời giải dưới dạng số thực gây ra những hạn chế về mặt tính toán. Do đó trong bài báo cáo này, các lời giải sẽ được biểu diễn dạng chuỗi bit, các giá trị thực của các góc (radian) sẽ được chuyển đổi thông qua hàm dịch mã (encode) và giải mã (decode).

Dựa vào các bước đã trình bày trong phần 2.1, quá trình xây dựng giải thuật GA trong matlab được tiến hành như lưu đồ sau:

Một phần của tài liệu Ứng dụng các giải thuật metaheuristic vào vấn đề loại bỏ sóng hài cho bộ nghịch lưu đa bậc (Trang 27 - 31)

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

(80 trang)