Mạng Nơron Hopfield với bài toánTSAP

Một phần của tài liệu Một số thuật toán giải bài toán phân công nhiệm vụ trong hệ thống tính toán không đồng nhất (Trang 48 - 63)

Mạng Noron Hopfield (sau đây gọi là HNN) đƣợc sử dụng nhƣ một thuật toán tìm kiếm cục bộ để giải quyết các ràng buộc của TSAP thuộc về một lớp các mạng Hopfield nhị phân mà trong đó các tế bào thần kinh chỉ có giá trị 0 hoặc 1.

Khả năng hoạt động của mạng phụ thuộc vào một ma trận C, trong đó xác định khoảng cách tối thiểu giữa hai phần tử trong mỗi hàng trong mạng, và trạng thái ban đầu của các tế bào thần kinh[7].

Cấu trúc của HNN có thể đƣợc mô tả nhƣ một đồ thị, mà tập các đỉnh là các tế bào thần kinh, và tập các cạnh xác định cách kết nối giữa các tế bào thần kinh. Thực hiện lập ánh xạ các tế bào thần kinh tới mọi phần tử trong ma trận giải pháp X. Để đơn giản hóa các ký hiệu, sử dụng ma trận X để biểu thị các tế bào thần kinh trong mạng Hopfield.

Cấu trúc của HNN có thể đƣợc mô tả: Sau khi khởi tạo ngẫu nhiên tất cả tế bào thần kinh với các giá trị nhị phân, HNN hoạt động theo chế độ nối tiếp. Điều này có nghĩa rằng chỉ một tế bào thần kinh đƣợc cập nhật tại một thời điểm, trong khi phần còn lại vẫn không thay đổi. Biểu thị bởi xij (t) của một tế bào thần kinh tại thời điểm t, nguyên tắc cập nhật đƣợc mô tả nhƣ sau:

𝑥𝑖𝑗 𝑡 = 𝑖𝑠𝑔𝑛 𝑞min=max⁡(𝑀⁡,(1,𝑗+𝑐𝑐𝑖,𝑝) 𝑥𝑝𝑞 𝑖,𝑝+1 ) 𝑁 𝑝=1 𝑝≠𝑖 ∀𝑖,𝑗, (3.1) Trong đó toán tử isgn đƣợc xác định bởi:

isgn (a)= 0 𝑛ế𝑢𝑎 > 0 𝑜𝑟 𝑖𝑁=1𝑤𝑖𝑥𝑖𝑗 >𝑟𝑗 ∀𝑗.

1 𝑛ế𝑢𝑘𝑕á𝑐 (3.2)

Lƣu ý rằng các quy tắc cập nhật chỉ tính đến các tế bào thần kinh xpq có giá trị 1 trong một khoảng cách cip. Ma trận C là ma trận N × N sẽ đƣợc mã hóa các ràng buộc của vất đề, và đƣợc định nghĩa nhƣ sau:

𝑐𝑖𝑗 = 𝑀𝑛ế𝑢𝑖 = 𝑗.

0 𝑛ế𝑢𝑘𝑕á𝑐. (3.3)

Lƣu ý rằng ma trận chỉ có một và chỉ một số 1 trên mỗi hàng (mỗi nhiệm vụ đƣợc giao cho một và chỉ một bộ vi xử lý), trong khi có thể có một vài số 1 trong cùng một cột (cùng bộ vi xử lý có thể quản lý một số nhiệm vụ).

Áp dụng các định nghĩa nêu trên, Nơron thần kinh xij đƣợc cập nhật theo thứ tự tự nhiên nhƣ sau: i = 1, 2, ..., N, j = 1, 2, ..., M.

Giới thiệu quy tắc sửa đổi bằng cách thực hiện việc cập nhật các tế bào thần kinh một cách ngẫu nhiên trong các hàng (biến i). Theo cách này, sự thay đổi của các giải pháp khả thi xẽ đƣợc tăng lên. Với 𝜋(𝑖) là một hoán vị ngẫu nhiên i = 1, 2, ..., N. Quy tắc cập nhật mới của HNN là:

𝑥𝜋 𝑖 𝑗 𝑡 = 𝑖𝑠𝑔( min⁡(𝑀,𝑗+𝑐𝑗,𝜋 𝑖 ,𝑝) 𝑥𝑝𝑞)∀𝑖,𝑗 𝑞=max⁡(1,𝑐𝑗,𝜋 𝑖 ,𝑝+1) 𝑞≠𝑗 𝑁 𝑝=1 𝑝≠𝜋(𝑖) (3.4)

Nguyên tắc cập nhật kết quả là chạy trên các dòng của X theo thứ tự đƣợc đƣa ra bởi các hoán vị 𝜋(𝐢), nhƣng các cột đƣợc cập nhật theo thứ tự tự nhiên j = 1, 2, ..., M.

Một chu kỳ đƣợc xác định là tập hợp của N × M các tế bào thần kinh đƣợc cập nhật theo một thứ tự nhất định. Trong một chu kỳ, các tế bào thần kinh đƣợc cập nhật một lần theo thứ tự nhất định 𝜋(i), đƣợc cố định trong quá trình thực hiện của thuật toán. Sau mỗi chu kỳ, sự hội tụ của HNN sẽ đƣợc chọn. HNN đƣợc coi là hội tụ nếu không có các tế bào thần kinh bị thay đổi trạng thái trong suốt chu kỳ. Trạng thái cuối cùng của HNN là một giải pháp tiềm năng cho các TSAP, đáp ứng đầy đủ các ràng buộc của vấn đề đƣợc đƣa ra. Tuy nhiên, chú ý rằng các giải pháp đƣợc tìm thấy có thể là không khả thi nếu nhiệm vụ không đƣợc phân công.

Trong phần này ứng dụng mạng Nơron Hopfield nhị phân đã trình bầy ở phần trên để giải quyết bài toán. Xem xét một bài toán TSAP đƣợc hình thành bởi 4 nhiệm vụ và 4 bộ vi xử lý. Trong đó mỗi công việc đòi hỏi một số lƣợng nhất định các nguồn tài nguyên, mà có thể đƣợc đại diện là wi = 4, i= {1, 2, 3, 4}, trong khi tối đa các nguồn tài nguyên có sẵn cho mỗi bộ vi xử lý ri = 4, i = {1, 2, 3, 4}. Với những giá trị đã cho wi và ri, để giải pháp có tính khả thi cần phân công nhiệm vụ cho mỗi bộ vi xử lý. Sử dụng công thức (3.3), ma trận ràng buộc C liên quan đến vấn đề này là:

C = 4 0 0 0 0 4 0 0 0 0 4 0 0 0 0 4

Giả sử rằng các giải pháp không khả thi ban đầu, tạo ra một cách ngẫu nhiên và có giá trị nhƣ sau:

X0 = 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0

Áp dụng công thức (3.4) cho giải pháp ban đầu X0, cần phải chọn một thứ tự cập nhật trong các hàng và cột. Lựa chọn thứ tự tự nhiên trong các hàng và cột cho đơn giản, trong trƣờng hợp này các hoán vị định nghĩa thứ tự cập nhật sẽ là = {1, 2, 3, 4}. Để đạt đƣợc một giải pháp khả thi, áp dụng công thức (3.4) và toán tử isgn X0, nhận đƣợc kết quả sau đây:

Xfinal = 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0

Rất dễ dàng để kiểm tra trong trƣờng hợp này nó chỉ có hai chu kỳ hội tụ về giải pháp cuối cùng Xfinal từ một giá trị X ban đầu. Lƣu ý rằng, một

khi tình trạng ban đầu của mạng X0 và để cập nhật (𝜋) không thay đổi. Trạng thái cuối cùng đƣợc xác định Xfinal, trạng thái ban đầu khác nhau hoặc trật tự cập nhật sẽ tạo ra các giải pháp cuối cùng khác nhau. Lƣu ý rằng mạng Nơron Hopfield này không có các chức năng của hàm tính toán, sự hạn chế của vấn đề đƣợc xác định bởi ma trận C và toán tử isgn trong trƣờng hợp này.

3.1.2. Thuật toán lai ghép Mạng Noron Hopfield - Giải thuật di truyền (HNNGA)

Trong thực tế Giải thuật di truyền (GA) hiện đang đƣợc áp dụng rộng dãi để giải quyết những bài toán toán phức tạp, giải quyết vấn đề dựa vào quá trình tiến hóa tự nhiên. Đó là những kỹ thuật giải quyết vấn đề dựa trên một tập hợp các giải pháp có thể có cho vấn đề, tính khả thi và tiến triển của giải pháp thông qua việc áp dụng toán tử di truyền. Các toán tử di truyền chuẩn trong một GA đã trình bầy ở trên là:

+ Chọn lọc (Selection) + Lai ghép (Crossover) + Đột biến (Mutation)

Nhƣ vậy: Các quá trình chọn lọc, lai ghép, đột biến đƣợc tiến hành trong một vòng lặp cho đến khi các cá thể mới thay thế toàn bộ các cá thể cũ trong quần thể. Cá thể mới sinh ra có thể là một trong 3 loại sau:

+ Bị đột biến sau khi đã lai ghép. + Lai ghép nhƣng không bị đột biến.

+ Không lai ghép, không đột biến mà đơn giản là sao chép lại. Các thông số cần xác định trong giải thuật di truyền là:

Size: Kích cỡ của quần thể hay cá thể. Pcros: Xác suất lai ghép.

Pmu: Xác suất đột biến.

Mặc dù giải thuật di truyền mạnh và hiệu quả, song nó không phải là một giải thuật tìm kiếm tối ƣu nhất trong một số lĩnh vực. Vì vậy lai ghép giải thuật di truyền với mạng Nơ ron Hopfied sẽ tạo ra một giải thuật tốt hơn, khai thác đƣợc tính tìm kiếm toàn cục của giải thuật di truyền và sự hội tụ của các giải thuật tìm kiếm cục bộ.

Trong phần này đề xuất một GA đƣợc lai với mạng Hopfield mục đích để nâng cao chất lƣợng của các giải pháp. GA có các hệ số quần thể đáp ứng đƣợc các giải pháp tiềm năng cho TSAP, nhƣ các chuỗi nhị phân có chiều dài N × M. Mỗi chuỗi đại diện cho một ma trận chuyển nhƣợng X khác nhau đƣợc thông mạng Hopfield để nhận một nhiệm vụ khả thi. Quần thể đƣợc phát triển qua các thế hệ kế tiếp bằng việc ứng dụng các toán tử di truyền chuẩn, đó là: Toán tử lựa chọn, lai ghép và đột biến đã đƣợc mô tả ở trên.

Một phƣơng pháp tối ƣu cho vấn đề này là truyền các cá thể với hệ số thích nghi cao nhất cho thế hệ sau. Bằng cách này, thuật toán luôn luôn duy trì giải pháp tốt nhất đƣợc tìm thấy trong quá trình tiến hóa. Thuật toán đầy đủ cho TSAP, đƣợc hình thành bởi GA và HNN đƣợc mô tả nhƣ sau:

HNNGA algorithm

Initialize GA population at random

while (max. number of generations has not been reached) do for (every individual X)

Run the HNN to obtain a feasible X.

Calculate the fitness value of the individual f (X). if X is not feasible, apply a penalty to f (X).

Substitute the GA individual by the new X obtained through the HNN. endfor selection crossover mutation end(while)

3.1.3. Thuật toán lai Mạng Noron Hopfield và mô phỏng luyện kim (HNNSA): (HNNSA):

Mô phỏng luyện kim (SA) đã đƣợc áp dụng rộng rãi để giải quyết vấn đề tối ƣu hóa tổ hợp. Nó đƣợc áp dụng từ quá trình vật lý là làm nóng một chất và sau đó làm lạnh từ từ, cho đến khi thu đƣợc một cấu trúc kết tinh bền vững. Quá trình này đƣợc mô phỏng bằng cách hạ thấp nhiệt độ ban đầu một cách từ từ cho đến khi hệ thống đạt đến một điểm cân bằng, và không có nhiều thay đổi xảy ra. Mỗi giai đoạn của quá trình bao gồm thay đổi nhiều lần cấu hình, cho đến khi một trạng thái cân bằng nhiệt đƣợc đạt tới, sau đó bắt đầu một giai đoạn mới, với nhiệt độ thấp hơn. Mong muốn giải pháp thu đƣợc là cấu hình trong giai đoạn cuối cùng.

Trong tiêu chuẩn SA, những thay đổi cấu hình đƣợc thực hiện theo cách sau: một cấu hình ban đầu đƣợc xây dựng bởi một sự thay thế ngẫu nhiên. Nếu thu đƣợc cấu hình mới tốt hơn, khi đó sẽ đƣợc thay thế cấu hình hiện tại, nếu không xẽ thể thay thế cấu hình hiện tại theo xác suất. Đây là khả năng thay thế cao trong giai đoạn đầu tiên của thuật toán, và đƣợc giảm trong mỗi giai đoạn. Các giải pháp đƣợc tìm thấy bởi SA có thể đƣợc coi là 1 giải pháp "đủ tốt", nhƣng nó không đảm bảo là tốt nhất (Vì vậy việc áp dụng phƣơng pháp lai mạng Nơ ron Hopfield và Giải thuật di truyền để giải quyết các

TSAP là giải pháp khả thi). Mục tiêu cuối cùng là thu đƣợc cấu hình liên quan đến SA và là giải pháp khả thi choTSAP. SA sẽ tìm kiếm các giải pháp khả thi nhất đối với một hàm chi phí nhất định, trong trƣờng hợp này là hàm chi phí tiêu chuẩn choTSAP.

Các thành phần quan trọng nhất trong thuật toán SA là: Hàm mục tiêu xẽ đƣợc giảm thiểu trong quá trình xử lý, miêu tả cho các giải pháp đã lựa chọn là đột biến hoặc thay đổi cấu hình. Mô tả vấn đề là sự phân công ma trận X và sự thay đổi từ một cấu hình đến một cấu hình khác thông qua các tiêu chuẩn đột biến lật của một số cho trƣớc Nf của các bit trong X.

Thuật toán đầy đủ cho TSAP, đƣợc hình thành bởi SA và HNNđƣợc thực hiện theo cách sau:

HNNSA algorithm:

k = 0;

T = T0;

Initialize a potential solution at random; Run the HNN to obtain X;

evaluate (X, f (X));

if X is not feasible, apply a penalty to f (X).

repeat

for j = 0 to 𝝃

Xmut = mutate(X);

Run the HNN to obtain X;

evaluate(Xmut, f (X));

if X is not feasible, apply a penalty to f (X).

if((f (Xmut)<f(X)) OR (random(0, 1)<𝑒(−𝛼𝑇))) then

X = Xmut ;

endfor

T = fT (T0, k);

k = k + 1;

until (T <Tmin);

Trong đó k đếm số lần lặp đã thực hiện; T là nhiệt độ hiện tại , T0 là nhiệt độ ban đầu, Tmin là nhiệt độ tối thiểu để đạt đƣợc; X là cấu hình hiện tại

và Xmut là cấu hình mới sau khi toán tử đột biến đƣợc áp dụng; f thể hiện

cho hàm chi phí (xem mục 1.2.1), 𝝃 là số lần thay đổi đƣợc thực hiện cho một nhiệt độ T ; fT Hàm nhiệt độ, và là một hằng số. Các thông số và nhiệt độ T0 ban đầu đƣợc lựa chọn để có một xác suất chấp nhận ban đầu khoảng 0.8, đây là giá trị thƣờng đƣợc sử dụng. Hàm nhiệt độ đƣợc định nghĩa là:

𝒇𝑻 = 𝑻𝟎

𝟏+𝒌 (3.5)

Nhiệt độ tối thiểu Tmin đƣợc tính trên cơ sở số lần lặp đi lặp lại (numIt) cũng nhƣ:

𝑇𝑚𝑖𝑛 = 𝑓𝑇(𝑇0, numIt) (3.6)

3.2. THỬ NGHIỆM VÀ KẾT QUẢ TÍNH TOÁN

3.2.1. Các trƣờng hợp thử nghiệm và các thông số metaheuristic

Để kiểm tra tính hiệu quả của giải pháp, xem xét một tập hợp các TSAP có độ phức tạp khác nhau. Những vấn đề thử nghiệm cho cách mô phỏng một mạng máy tính phân tán đƣợc tạo ra bằng mô hình sau đây:

Thời gian cần phải có để hoàn thành một nhiệm vụ đối với bộ xử lý chậm nhất (ti, i =1, ..., N) đã đƣợc tạo ra một cách ngẫu nhiên với giá trị từ 1 đến 10 theo một khả năng phân bổ đồng nhất. Tốc độ của các bộ vi xử lý trong hệ thống (Vj, j = 1, ..., M) cũng đã đƣợc tạo ngẫu nhiên, với giá trị từ 1 đến 5, đảm bảo có ít nhất một bộ xử lý có giá trị 1 (bộ xử lý chậm nhất). Số lƣợng tài nguyên cần thiết cho mỗi công việc (wi) đƣợc tạo ngẫu

nhiên từ một phân bố đồng đều giữa 1 đến 6. Tổng số tài nguyên sẵn có cho mỗi bộ vi xử lý (Rj, j = 1, ..., M) đã đƣợc tạo theo cách nhƣ trên và tất cả các bộ vi xử lý có cùng một nguồn tài nguyên sẵn có, tổng số tài nguyên của các bộ vi xử lý có giá trị từ 1% đến 5% tổng số tài nguyên cần thiết cho nhiệm vụ . Cuối cùng, mỗi phần tử của ma trận K là chi phí truyền thông giữa các nhiệm vụ đã đƣợc tạo ngẫu nhiên từ một phân bố đồng đều có giá trị từ 1 đến 10.

Bảng 3.1: Trường hợp thử nghiệm với 15 công việc và 5 bộ xử lý

Số công việc Tốc độ VXL Vi xử lý 1 2 2 2 5 5 3 4 3 4 4 5 5 3 1 6 5 2 7 4 4 8 4 4 9 4 3 10 4 4 11 3 1 12 4 3 13 4 5 14 3 1 15 5 2

Bảng 3.1 cho thấy các đặc điểm chính của vấn đề tạo ra. Có 15 công việc và chia cho 5 bộ vi xử lý thực hiện. Đối với vấn đề này, các thuật toán meta- heuristic đƣợc chạy để cho kết quả bằng cách sử dụng các thông số sau: GA

đƣợc chạy với kích thƣớc quần thể 𝜒 = 5000, xác xuất lai ghép đã đƣợc cố định Pc = 0,5 và xác suất đột biến là Pm = 0,2.

3.2.2. GAs cho các mục đích so sánh

Để so sánh các phƣơng pháp tiếp cận lai đã đƣợc trình bầy thì phải sử dụng hai GAs khác nhau.

GA đầu tiên là sử dụng một hàm phạt để quản lý các ràng buộc của vấn đề. Bằng cách này, việc quản lý các ràng buộc vấn đề sẽ đƣợc biết đến tốt hơn bởi các nhà nghiên cứu GA, và đã cung cấp kết quả tốt trong vấn đề tối ƣu hóa tổ hợp khác nhau với những hạn chế. GA thứ hai, ngoài chức năng hàm phạt nhƣ trên, còn thực hiện thêm một sửa chữa tối ƣu, để có đƣợc giải pháp khả thi cho vấn đề.

Tiếp theo để thay cho một biểu diễn nhị phân, trong các GA mỗi giải pháp X đƣợc mã hoá nhƣ một dãy số nguyên có chiều dài N, 𝑥 , nhƣ vậy 𝑥 i = j có nghĩa là nhiệm vụ i, i = 1, ..., N đã đƣợc gán cho vi xử lý j, j = 1, ..., M.

Lƣu ý rằng, bằng cách sử dụng phƣơng pháp mã hóa này, sẽ không có giải pháp nào là không khả thi vì các nhiệm vụ đều đƣợc gán cho các bộ vi xử lý, nhƣng chỉ vì nhiệm vụ không khả thi.

Việc quản lý các ràng buộc của vấn đề trong GA đầu tiên, chúng ta xem xét đƣợc thực hiện bằng cách giới hạn của hàm phạt cho các giải pháp với nhiệm vụ không khả thi và đặt tên cho phƣơng pháp này là GApenalty. Hàm phạt đƣợc định nghĩa là tỷ lệ thuận với số lƣợng nhiệm vụ không khả thi:

Penalty = a · numInf (3.7)

Trong đó numInf: là tƣợng trƣng của số lƣợng nhiệm vụ không khả thi và nó là hình phạt cho một nhiệm vụ không khả thi, thông thƣờng nó là một

Một phần của tài liệu Một số thuật toán giải bài toán phân công nhiệm vụ trong hệ thống tính toán không đồng nhất (Trang 48 - 63)

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

(63 trang)