Kỹ thuật mô phỏng luyện kim dựa trên thuật toán tối ƣu nhiều mục tiêu

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật đa mục tiêu vào phân cụm dữ liệu (Trang 39 - 50)

2.2 .Một số giải thuật tối ƣu hóa cụm

2.2.2. Kỹ thuật mô phỏng luyện kim dựa trên thuật toán tối ƣu nhiều mục tiêu

VAMOSA

Các phương pháp nêu trên đã kết hợp chặt chẽ giữa bộ giải pháp PO với khái niệm Pareto thống trị [6]. Trong Pareto thống trị các tiêu chí lựa chọn giữa current-pt và new-pt

toán AMOSA được đề xuất kết hợp một khái niệm mới về số lượng của các phương pháp thống trị để lựa chọn hay loại bỏ một phương pháp mới, ở đây các phương pháp PO được lưu trữ trong một kho lưu trữ. Các khái niệm về lưu trữ hoặc một tập hợp các giải pháp PO cũng được sử dụng trước đây để lưu trữ các giải pháp không bị thống trị. Tuy nhiên điều cải tiến ở thuật toán AMOSA so với các thuật toán khác là để chấp nhận một giải pháp mới AMOSA dựa vào một xác suất hay độ tin cậy của phương pháp hiện tại và các giải pháp trong kho lưu trữ và việc phân cụm xuất hiện như một sự lựa chọn tự nhiên nếu số lượng trong kho lưu trữ vượt quá một giới hạn nào đó, việc làm này làm giảm sự mất mát của việc phân cụm.

AMOSA sử dụng một mảng lưu trữ, nơi sẽ lưu trữ các giải pháp không bị thống trị. Kích thước của mảng lưu trữ này không bị ràng buộc để làm giảm sự mất mát của việc phân tập. Trong cách tiếp cận bài toán, chúng ta đã giữ kích thước của mảng lưu trữ bằng một kích thước có giới hạn mà vẫn đảm bảo các giải pháp Pareto thực hiện được.

Như đã nêu trên, AMOSA dựa trên nguyên tắc của SA [9]. Ở nhiệt độ T, một trạng thái mới s được lựa chọn với xác suất:

Trong đó: q là trạng thái hiện tại và E(q,T) và E(s,T) là giá trị năng lượng tương ứng với q và s, phương trình này tự động đảm bảo rằng giá trị xác suất nằm trong khoảng từ 0 đến 1.

Hai giới hạn được đề xuất:

- Giới hạn cứng (hard limit) ký hiệu là HL

- Giới hạn mềm (soft limit) ký hiệu là SL

Trong quá trình xử lý, các giải pháp không bị thống trị sẽ được lưu trữ trong mảng lưu trữ và chúng được tạo ra cho đến khi kích thước của mảng lưu trữ tăng lên giới hạn mềm SL. Nếu sau đó không có giải pháp không bị thống trị nào được tạo ra nữa thì kích thước của mảng lưu trữ sẽ được giảm dần về giới hạn HL thông qua quá trình phân cụm (chú ý: SL > HL).

Các thông số

Và như vậy ta có được các tham số cần thiết lập mức ưu tiên trong thuật toán như sau:

- HL: Kích thước tối đa của mảng lưu trữ, kích thước này được đặt bằng số lượng tối đa các giải pháp không bị thống trị do người sử dụng đưa vào.

- SL: Kích thước tối đa mà mảng lưu trữ được làm đầy trước quá trình phân cụm.

- Tmax: Độ đo tối đa (khởi tạo).

- Tmin: Độ đo tối thiểu (kết thúc).

- iter: Số lượng các vòng lặp với mỗi độ đo.

- α: Tỉ lệ làm nguội trong SA

2.2.2.1. Khởi tạo kho lưu trữ

Thuật toán bắt đầu bằng việc khởi tạo một số lượng các giải pháp, số này là γ * SL (với γ > 1). Mỗi giải pháp này sẽ được tinh lọc bằng việc sử dụng một kỹ thuật leo đồi đơn giản. Việc chấp nhận một giải pháp mới chỉ khi nó thống trị một giải pháp trước đó. Việc này lặp đi lặp lại dựa vào số lượng các vòng lặp. Sau đó các giải pháp không bị thống trị sẽ được chứa trong mảng lưu trữ và đạt tới kích thước HL. Trong trường hợp số các giải pháp lưu trữ vượt quá kích thước HL, thì việc phân cụm sẽ được áp dụng tiếp để giảm kích thước của mảng lưu trữ về HL. Và như vậy thì mảng lưu trữ sẽ chứa tối đa là HL giải pháp.

2.2.2.2. Phân cụm các điểm dữ liệu

Việc phân cụm các giải pháp trong mảng lưu trữ để đảm bảo sự phân tập của các giải pháp không bị thống trị. Trên thực tế, kích thước của mảng lưu trữ được phép tăng tới SL (>HL), sau khi các giải pháp được phân cụm thành các nhóm giải pháp nằm trong các cụm HL.

Việc cho phép kích thước mảng lưu trữ đạt tới SL không những làm giảm những việc thực hiện phân cụm mà còn cho phép trải rộng các cụm hơn và phân tập tốt hơn. Sau khi đạt được các cụm HL, các thành phần trong mỗi cụm sẽ có kích thước trung bình tới các thành phần khác đạt giá trị nhỏ nhất.

Đối với việc phân cụm, các thuật toán phân cụm dữ liệu đơn mục tiêu được áp dụng [9]. Ở đây khoảng cách giữa hai cụm tương ứng với với chiều dài ngắn nhất giữa chúng. Ngoại trừ việc ở đây sử dụng phương pháp tính bình quân khoảng cách ngắn nhất giữa các thành viên trong một cụm. Sau đó, HL cụm được chọn là các thành viên có khoảng cách trung bình ngắn nhất trong mỗi nhóm là các thành viên đại diện của các cụm được lưu trong mảng lưu trữ.

Như đã đề cập AMOSA sử dụng khái niệm về số lượng của sự thống trị trong tính toán xác suất của một giải pháp mới. Với hai giải pháp a và b số lượng thống trị được định nghĩa là:

Trong đó: M: Số các mục tiêu. Ri: Mục tiêu thứ i.

Trong những tình huống, các giải pháp trong kho lưu trữ, giải pháp mới và giải pháp

hiện tại được sử dụng để tính toán nó. được sử dụng trong AMOSA trong khi

tính xác suất chấp nhận của một phương pháp mới.

Hình 2.3. Số lượng của sự thống trị của hai giải pháp A và B là diện tích của hình chữ nhật được tô đậm.

2.2.2.4. Tiến trình chính của AMOSA

Một trong những điểm được gọi là current-pt được lựa chọn ngẫu nhiên từ mảng lưu trữ và được coi là phương án khởi tạo tại độ đo Temp=Tmax, current-pt được nhiễu loạn để tạo ra một phương án new-pt. Trạng thái thống trị của new-pt được kiểm tra với độ tin cậy so với curent-pt và các giải pháp thuộc mảng lưu trữ (Archive).

Dựa trên trạng thái thống trị giữa current-pt và new-pt ta thấy có ba trường hợp khác nhau xảy ra, chúng được liệt kê dưới đây:

Trƣờng hợp 1: Current-pt thống trị new-pt và k điểm (k>0) thuộc mảng Archive.

Hình 2.4. Trường hợp khác nhau khi new-pt bị thống trị bởi curent-pt. a) new-pt không bị thống trị bởi các giải pháp trong kho Archive ngoại trừ curent-pt. b) Một số giải

pháp trong kho Archive thống trị new-pt.

Trường hợp này được hiện thị trong hình 2.4 khi k=0 và k>=1. trong trường hợp này new-pt được chọn là current-pt với xác suất:

Với ) là giá trị trung

bình của độ thống trị giữa new-pt bởi (k+1) điểm (current-pt và k điểm thuộc kho Archive). Do đó khi k tăng lên thì cũng tăng lên và các điểm thống trị sẽ dần dần cách xa new-pt hơn và góp phần vào giá trị của nó.

Trƣờng hợp 2: Current-pt và new-pt không thống trị lẫn nhau.

Dựa vào trạng thái thống trị của new-pt và các thành phần thuộc kho Archive có 3 tình huống có thể xảy ra:

- Tình huống 1: new-pt đƣợc thống trị bởi k điểm thuộc Archive. (k>=1) (hình 2.5a).

Hình 2.5a. new-pt được thống trị bởi k điểm thuộc Archive New-pt được chọn là current-pt với xác suất:

Với . Ở đây current-pt có thể hoặc

không nằm trên đường lưu trữ.

- Tình huống 2: new-pt không thống trị những điểm khác thuộc Archive. (hình 2.5b)

Hình 2.5b. new-pt không thống trị những điểm khác thuộc Archive

Trường hợp này new-pt nằm trên cùng một đường Archive. Vì vậy new-pt được chọn là current-pt và được đưa vào Archive. Nếu Archive đầy thì nó được phân cụm để giảm kích thước xuống còn HL.

- Tình huống 3: new-pt thống trị k điểm thuộc Archive. (k>=1) (hình 2.5c)

Hình 2.5c. new-pt thống trị k điểm thuộc Archive

Trong trường hợp này new-pt được chọn làm current-pt và được đưa vào mảng Archive khi đó mọi điểm k bị thống trị sẽ bị loại bỏ khỏi Archive. Ở đây current-pt cũng có thể hoặc không nằm trên đường lưu trữ.

Trƣờng hợp 3: new-pt thống trị current-pt

Trường hợp này cũng dựa trên trạng thái thống trị của new-pt và các thành phần thuộc mảng Archive. Và có 3 tình huống có thể xảy ra:

- Tình huống 1: new-pt thống trị current-pt nhƣng k điểm thuộc Archive lại thống trị new-pt. (hình 2.6a)

Hình 2.6a. new-pt thống trị current-pt nhưng k điểm thuộc Archive lại thống trị new-pt

Trường hợp này chỉ có thể xảy ra khi current-pt không thuộc Archive. Sự khác biệt

thuộc Archive tương ứng với sự khác biệt nhỏ nhất được chọn là current-pt với xác suất

là: . Mặt khác new-pt được chọn là current-pt.

- Tình huống 2:new-pt không thống trị những điểm thuộc Archive nhƣng lại thống trị current-pt nếu nó thuộc Archive. (hình 2.6b)

Hình 2.6b. new-pt không thống trị những điểm thuộc Archive nhưng lại thống trị current-pt nếu nó thuộc Archive.

Do vậy new-pt được chấp nhận như current-pt có thể được xem xét như là một giải pháp không bị thống trị mà phải được lưu trữ trong Archive. Do đó new-pt được thêm vào Archive. Nếu current-pt thuộc Archive suy ra nó sẽ bị loại bỏ. Mặt khác, nếu số lượng điểm thuộc Archive trở nên lớn hơn giá trị SL thì việc phân cụm sẽ được thực hiện để làm giảm kích thước của nó xuống còn HL. Ở đây current-pt có thể hoặc không nằm trên đường lưu trữ.

- Tình huống 3: new-pt thống trị k điểm thuộc Archive. (hình 2.6c)

Do vậy new-pt được chọn là current-pt và được đưa vào Archive, trong khi mọi điểm thống trị của Archive bị loại bỏ. Ở đây, current-pt có thể hoặc không nằm trên đường lưu trữ.

Thuật toán được biểu diễn như sau:

Đặt Tmax, Tmin, HL, SL, iter, α,temp=Tmax Khởi tạo mảng lưu trữ Archive

Current-pt= random(Archive) /* chọn ngẫu nhiên 1 giải pháp trong mảng lưu trữ*/

While (temp>Tmin) For (i=0;i<iter;i++)

New-pt=perturb(current-pt)

/*Kiểm tra trạng thái thống trị của current-pt và new-pt*/

If (current-pt thống trị new-pt) /*Trường hợp 1*/

domtrungbình = /*với k = tổng

số các điểm trong Archive mà thống trị new-pt, k ≥ 0*/ prob =

Đặt new-pt = current-pt với xác suất = prob

if(current-ptnew-pt cùng thống trị lẫn nhau) /* trường hợp 2 */

/*Kiểm tra trạng thái thống trị của new-pt và các điểm trong mảng lưu trữ Archive*/

if(new-pt bị thống trị bởi k (k ≥1) điểm trong Archive) /* trường hợp 2a */

prob =

domtrungbình =

Đặt new-pt = current-pt với xác suất = prob

if(new-pt là đang không thống trị mọi điểm trong Archive) /* trường hợp 2b*/ Đặt new-pt = current-pt và đưa new-pt vào trong Archive

if(new-pt thống trị k (k≥1) điểm trong Archive) /* trường hợp 2c */ Đặt new-pt = current-pt và đưa nó vào trong Archive

Loại bỏ tất cả k điểm bị thống trị ra khỏi mảng Archive

if(new-pt thống trị current-pt) /* trường hợp 3 *

Kiểm tra trạng thái thống trị của new-pt và các điểm trong mảng Archive

if(new-pt bị thống trị bởi k (k≥1) điểm trong Archive) /* trường hợp 3a */

dommin = tối thiểu của các sự khác biệt của các vùng thống trị giữa new-pt và k điểm

prob =

Đặt điểm tương ứng trong Archive với = current-pt với xác suất = prob

else đặt new-pt = current-pt

if(new-pt là không thống trị với các điểm trong Archive /* trường hợp 3b */ đặt new-pt = current-pt và đưa nó vào trong Archive

if current-pt nằm trong Archive Loại bỏ nó ra khỏi Archive

else if kích thước Archive-size > SL

Phân cụm Archive tới giới hạn HL cụm

if (new-pt thống trị k điểm khác trong Archive) /* trường hợp 3c */ đặt new-pt = current-pt và đưa nó vào trong mảng Archive

Loại bỏ tất cả k điểm bị thống trị ra khỏi mảng Archive

End for

temp = α * temp

End while

if kích thước Archive-size > SL

Phân cụm Archive tới giới hạn HL cụm

Quá trình trên được lặp đi lặp lại iter lần với mỗi độ đo Temp. Độ đo Temp sẽ

giảm một lượng là sau mỗi lần với hệ số <1 cho đến khi đạt độ đo nhỏ

nhất Tmin. Sau đó quá trình sẽ dừng lại và mảng Archive sẽ chứa các giải pháp cuối cùng không bị thống trị.

CHƢƠNG III. THUẬT TOÁN VAMOSA – THUẬT TOÁN PHÂN CỤM DỰA TRÊN TÍNH ĐỐI XỨNG

Kỹ thuật phân cụm đa mục tiêu được đề xuất sử dụng thuật toán mô phỏng luyện kim (SA) dựa trên cơ sở phương pháp tối ưu đa mục tiêu như một chiến lược tối ưu hóa cơ bản. Hai chỉ số đánh giá phân cụm [3.4.3]: Chỉ số XB - chỉ số dựa trên khoảng cách Euclidean [14]. Chỉ số Sym - chỉ số dựa trên khoảng cách đối xứng [15, 11]. Hai chỉ số này được tối ưu hóa đồng thời để xác định chính xác số phân cụm trong bộ dữ liệu. Do vậy, kỹ thuật này có thể phát hiện được số cụm thích hợp và phân vùng phù hợp từ các bộ dữ liệu.

Một phần của tài liệu (LUẬN văn THẠC sĩ) ứng dụng kỹ thuật đa mục tiêu vào phân cụm dữ liệu (Trang 39 - 50)

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

(68 trang)