Tải bản đầy đủ (.doc) (35 trang)

Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.55 MB, 35 trang )

Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng
Tính Toán Lưới
Lời cảm ơn
Em xin trân trọng gửi đến thầy PGS.TS Nguyễn Phi Khứ – Giảng viên môn học Tính toán
lưới một lời cảm ơn sâu sắc, thầy đã truyền đạt cho chúng em những kiến thức vô cùng
quý báu, xin chân thành cám ơn ban cố vấn học tập và ban quản trị chương trình đào tạo
thạc sĩ Công nghệ thông tin qua mạng của Đại Học Quốc Gia TPHCM đã tạo điều kiện
về tài liệu tham khảo để em có thể hoàn thành môn học này.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 1
1. Tổng quan
Các thuật toán tiến hóa (EA) là một họ của các mô hình tính toán lấy cảm hứng
từ các quá trình tiến hóa của tự nhiên, đã được áp dụng với một mức độ thành công lớn
cho vấn đề phức tạp cần tối ưu hóa thiết kế. Trong các thuật toán di truyền
(GA), một lớp con của EA, những giải pháp tiềm năng được mã hóa thành
một cấu trúc dữ liệu nhiễm sắc thể đơn giản, những hoạt động tái tổ hợp và đột biến
liên tục áp dụng đối với các giải pháp tiềm năng cho đến khi điều kiện cuối cùng được
thực hiện. Tuy nhiên, hàng ngàn lần gọi đến các mã phân tích nên yêu cầu một giải pháp
tối ưu trong GA phổ dụng nhất. Thời gian tăng cao khi sử dụng mã phân tích trong khoa
học và kỹ thuật cho việc nghiên cứu ảnh hưởng đến thay đổi các thông số thiết kế quan
trọng trên hiệu suất sản phẩm đã tiếp tục dẫn đến chu kỳ thiết kế lâu hơn và khó hơn. Với
độ phức tạp tính toán cao của các bài toán tối ưu tổ hợp cũng như đòi hỏi về mặt thời
gian, việc giải các bài toán này yêu cầu cần phải có những cài đặt song song hóa hiệu quả
của các giải thuật để giải quyết chúng. May mắn thay, Sức mạnh của GA là khả năng
phân vùng không gian tìm kiếm cá thể của các cá nhân trong nhiều nút tính toán. Làm
như vậy cho phép tốc độ tuyến tính trong tính toán và thậm chí tốc độ siêu tuyến tính nếu
tốc độ thuật toán có thể được cải thiện. Trong một thập kỷ qua, nhiều phiên bản song
song hóa của thuật toán di truyền ( GA ) ra đời cho việc khai thác song song của các thuật
toán di truyền.
Trong khi rất nhiều nghiên cứu về song song hóa các thuật toán di truyền phân tán
với công nghệ máy tính khác nhau này đã được thực hiện, hầu hết các nghiên cứu và ứng
dụng của song song hóa đã được sử dụng trên các nút máy tính chuyên dụng và đồng


nhất. Việc tập trung nghiên cứu về tài nguyên máy tính chuyên dụng có quy mô nhỏ và
không dễ dàng có thể kéo dài đối với việc khai thác tài nguyên máy tính có qui mô lớn
hoặc thậm chí tổ chức tại vị trí địa lý khác nhau. Vấn đề này là một trong những thách
thức lớn, như nhiều công nghệ sẵn có không có các giao diện và phương pháp làm việc
chung.
Ngoài ra, việc đánh giá song song hóa trong PGAs thường bị hạn chế bởi các
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 2
giấy phép thương mại, hạn chế một đội ngũ thiết kế có thể truy cập liên tục để phân tích
thiết kế cùng một lúc. Điều này là do chí phí quá cao kết hợp với giấy phép thương mại,
ví dụ ANSYS
[1]
, FLU-ENT
[1]
, SYSNOISE
[1]
, v.v. Đó là những lý do mà sự ra đời gần đây
mà người ta thường gọi là Tính Toán Lưới đã được chú ý sử dụng rộng rãi, như nó đặt
các khái niệm của việc thiết lập các tiêu chuẩn mở cho phân phối tài nguyên và dịch vụ
phổ biến. Những tiến bộ trong Tính toán lưới cũng thúc đẩy việc nghiên cứu và phát triển
môi trường giải quyết vấn đề Lưới cho thiết kế phức tạp trong khoa học và kỹ thuật.
Trong khi nhiều vấn đề mở vẫn còn khi sử dụng điện toán lưới trên khắp mặt địa lý khác
nhau, lập kế hoạch, quản lý tài nguyên, và lưới điểm chuẩn là một trong những chủ đề
thảo luận thường xuyên hơn.
Để bổ sung cho công trình hiện có trên song song hóa các thuật toán di truyền. Tôi sẽ
trình bày một công nghệ song song thuật toán di truyền sử dụng mô hình kết hơp công
nghệ điện toán lưới trong chương này. Thư viện cung cấp tính năng độc đáo bao gồm:
1) Là một yếu tố GridRPC mở rộng giảm nhẹ độ phức tạp của môi trường điện toán lưới
từ người dùng và
2) Một phân lịch liền mạch khám phá tài nguyên và lựa chọn trong một môi trường lưới.
Sau đó, các thí nghiệm được thực hiện để đánh giá hiệu quả của các thư viện đã đề xuất

cho tối ưu hóa quá trình song song hóa theo các môi trường lưới. Cuối cùng,
thuật toán tìm kiếm di truyền song song hóa cho phép lưới điện toán để cải thiện thuật
toán tăng lên đáng kể để tối ưu hóa thiết kế tiến hóa.
Phần còn lại của bài tiểu luận sẽ được tổ chức như sau:
Trong phần 2, tôi trình bày một cách ngắn gọn tổng quan về các thuật toán di truyền,
thuật toán di truyền song song, là một trong những phương pháp tối ưu hóa thiết kế thành
công được sử dụng trong khoa học và kỹ thuật. Phần 3 mô tả đề xuất cho phép lưới song
song hóa thuật toán di truyền sử dụng mô hình kết hợp (GE-HPGA) thư viện tối ưu hóa.
Phân tích lý thuyết về tăng tốc độ GE-HPGA cũng được trình bày trong mục này. Phần 4
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 3
trình bày một nghiên cứu thực nghiệm trên GE-HPGA trong môi trường điện toán lưới có
chứa hỗn hợp các cụm máy tính đa dạng trên các vị trí địa lý khác nhau. Cuối cùng, Phần
5 kết luận ngắn gọn bài tiểu luận này và hướng phát triển của đề tài.
2. Song Song Hóa Thuật Toán Di Truyền
2.1 Khái niệm Thuật toán di truyền
[4]
Thuật toán di truyền cổ điền là các kỹ thuật phỏng theo quá trình thích nghi tiến
hóa của các quần thể sinh học dựa trên học thuyết Darwin.
Tư tưởng của thuật toán di truyền là mô phỏng các hiện tượng tự nhiên: Kế thừa và
đấu tranh sinh tồn để cái tiến lời giải và khảo sát không gian lời giải khái niệm kế thừa và
đấu tranh sinh tồn được giải thích qua thí dụ về sự tiến hóa của một quần thể thỏ như sau:
Có một quần thể thỏ, trong đó có một số con nhanh nhẹn và thông minh hơn những
con khác. Những chú thỏ nhanh nhẹn và thông minh có xác suất bị chồn cáo ăn thịt nhỏ
hơn, do đó cũng tồn tại dể làm những gì tốt nhất có thể : Tạo thêm nhiều thỏ tốt. Dĩ
nhiên, một số thỏ chậm chạp đần độn cũng sống sót vì may mắn. Quần thể những chú thỏ
còn sống sót sẽ bắt đầu sinh sản. Việc sinh sản này sẽ tạo ra một hỗn hợp tốt về "nguyên
liệu di truyền thỏ". Một số thỏ chậm chạp có con với những con thỏ nhanh, một số nhanh
nhẹn có con với thỏ nhanh nhẹn, một số thông minh với thỏ đần độn… Và trên tất cả
thiên nhiên lại ném vào một con thỏ "hoang dã" bằng cách làm đột biến nguyên liệu di
truyền thỏ. Những chú thỏ con do kết quả này sẽ nhanh hơn và thông minh hơn những

con thỏ trong quần thể gốc vì có nhiều bố mẹ nhanh nhẹn và thông minh hơn đã thoát
chết khỏi chồn cáo.
Khi tìm kiếm lời giải tối ưu , thuật toán di truyền cũng thực hiện các bước tương
ứng với câu chuyện đấu tranh sinh tồn của loài thỏ.
Thuật toán di truyền sử dụng các thuật ngữ vay mượn của di truyền học. Ta có thể
nói về các cá thể (hay kiểu gen, cấu trúc) trong một quần thể, những cá thể này cũng
còn được gọi là chuỗi hay các nhiễm sắc thể.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 4
Mỗi kiểu gen (ta gọi là một nhiễm sắc thể) sẽ biểu diễn một lời giải của bài toán
đang giải (ý tưởng của một nhiễm sắc thể cụ thể được người sử dụng xác định trước),
một tiến trình tiến hóa được thực hiện trên một quần thể các nhiễm sắc thể tương ứng
với một quá trình tìm kiếm lời giải trong không gian lời giải. Tìm kiếm đó cần cân đối
hai mục tiêu: Khai thác những lời giải tốt nhất và khảo sát không gian tìm kiếm. Leo
đồi là một ví dụ về chiến lược cho phép khai thác và cải thiện lời giải tốt nhất hiện
hành nhưng leo đồi lại bỏ qua việc khảo sát không gian tìm kiếm. Ngược lại, tìm kiếm
ngẫu nhiên là một ví dụ điển hình của chiến lược khảo sát không gian tìm kiếm mà
không chú ý đến việc khai thác những vùng đầy hứa hẹn của không gian. Thuật toán
di truyền (GA) là phương pháp tìm kiếm (độc lập miền) tạo được sự cân đối đáng kể
giữa việc khai thác và khảo sát không gian tìm kiếm.
Thực ra, GA thuộc lớp các thuật giải xuất sắc, nhưng lại rất khác những thuật giải
ngẫu nhiên vì chúng kết hợp các phần tử tìm kiếm trực tiếp và ngẫu nhiên. Khác biệt
quan trọng giữa tìm kiếm của GA và các phương pháp tìm kiếm khác là GA duy trì và
xử lý một tập các lời giải (ta gọi là một quần thể)
Theo đề xuất của giáo sư John Holland, một vấn đề bài toán đặt ra sẽ được
mã hóa thành các chuỗi với chiều dài bit cố định. Nói một cách chính xác là các thông
số của bài toán sẽ được chuyển đổi và biểu diễn lại dưới dạng các chuỗi nhị phân. Các
thông số này có thể là các biến của một hàm hoặc hệ số của một biểu thức toán học.
Người ta gọi các chuỗi bít này là mã genome ứng với mỗi cá thể, các genome đều có
cùng chiều dài. Nói ngắn gọn, một lời giải sẽ được biểu diễn bằng một chuỗi bít, cũng
như mỗi cá thể đều được quy định bằng gen của cá thể đó vậy. Như vậy, đối với thuật

giải di truyền, một cá thể chỉ có một gen duy nhất và mọt gen cũng chỉ phục vụ cho
một cá thể duy nhât. Do đó, gen chính là cá thể và cá thể chính là gen.
Ban đầu, ta sẽ phát sinh một số lượng lớn, giới hạn các cá thể có gen ngẫu nhiên -
nghĩa là phát sinh một tập hợp các chuỗi bit ngẫu nhiên. Tập các cá thể này được gọi
là quần thể ban đầu (initial population). Sau đó, dựa trên một hàm nào đó, ta sẽ xác
định được một giá trị có độ thích nghi - Fitness. Giá trị này, để đơn giản cho đơn giản
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 5
chính là độ "tốt" của lời giải hay đọ cao trong tìm kiếm theo kiểu leo đồi. Vì phát sinh
ngẫu nhiên nên độ "tốt" của lời giải hay tính thích nghi của cá thể trong quần thể ban
đầu là không xác định.
Để cải thiện tính thích nghi của quần thể người ta tìm cách tạo ra quần thể mới. Có
hai cách thao tác thực hiện trên thế hệ hiện tại để tạo ra một thế hệ khác với độ thích
nghi tốt hơn.
Thao tác đầu tiên là sao chép nguyên mẫu một nhóm các cá thể tốt từ thế hệ trước
rồi đưa sang thế hệ sau (selection). Thao tác này đảm bảo độ thích nghi của thế hệ sau
luôn được giữ ở một mức độ hợp lý. Các cá thể được chọn thông thường là các cá thể
có độ thích nghi cao nhất.
Thao tác thứ hai là tạo ra cá thể mới bằng cách thực hiện các thao tác sinh sản trên
một số cá thể được chọn từ thế hệ trước, thông thường cũng là những cá thể có độ
thích cao. Có hai loại thao tác sinh sản: một là thao tác lai tạo (crossover), hai là đột
biến (mutalion). Trong thao tác lai tạo, từ gen của hai cá thể được chọn trong thế hệ
trước sẽ được phối hợp với nhau (theo một quy tác nào đó) để tạo thành hai gen mới.
Thao tác chọn lọc và lai tạo giúp tạo ra thế hệ sau. Tuy nhiên, nhiều khi do thế hệ
khởi tạo ban đầu có đặc tính chưa phong phú và chưa phù hợp nên các cá thể không
rải đều được không gian của bài toán (tương tự như trường hợp leo đồi, các người leo
đồi tập trung dồn vào một góc trên vùng đất). Từ đó, khó có thể tìm ra lời giải tối ưu
cho bài toán. Thao tác đột biến sẽ giúp giải quyết được vấn đề này. Đó là sự biến đổi
ngẫu nhiên một hoặc nhiều thành phần gen của một cá thể ở thế hệ trước tạo ra một cá
thể hoàn toàn mới ở thế hệ sau. Nhưng thao tác này chỉ được phép sảy ra với tần xuất
rất thấp (thường dưới 0.01), vì thao tác này có thể gây xáo trộn và làm mất đi những

cá thể chọn lọc và lai tạo có tính thích nghi cao, dẫn đến thuật toán không còn hiệu
quả.
Thế hệ mới được tạo ra lại được xử lý như thế hệ trước cho đến khi có một cá thể
đạt được giải pháp mong muốn hoặc đạt đến thời gian giới hạn.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 6
Hình 2.1. Mô hình thuật toán di truyền.
2.2 Cấu trúc của giải thuật di truyền như sau:
1. t = 0
2. initialize P(t)
3. evaluate structures in P(t)
4. while not end do
5. t = t + 1
6. select C(t) from P(t - 1)
7. recombine structures in C(t) forming C'(t)
8. mutate structures in C' (t) forming C'' (t)
9. evaluate structures in C''(t)
10. replace P(t) from C''(t) and/or P (t - 1)
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 7
Khởi tạo quần thể (initialize): Quần thể đầu tiên được khởi tạo một cách ngẫu nhiên
từ tập hợp những cá thể riêng lẻ. Kích cỡ của quần thể đầu tiên phụ thuộc vào yếu tố
tự nhiên của bài toán, nhưng nhìn chung thì một bài toán có đến hàng trăm hay hàng
nghìn giải pháp hợp lý. Tập hợp những giải pháp hợp lý cho vấn đề được gọi là không
gian tìm kiếm (search space). Trước một bài toán áp dụng thuật toán di truyền, ta cần
phải xác định rõ nhiễm sắc thể và cá thể cho vấn đề, và thông thường đó sẽ là kết quả
cuối cùng. Việc phân tích sẽ dựa trên kết quả cơ bản tốt nhất.
Hàm định nghĩa độ thích nghi (evaluate): Các quá trình tiến hóa diễn ra trong vòng
lặp While, tại thế hệ thứ t, thuật toán di truyền duy trì một tập lời giải P(t) = {x
t
1,
x

t
2,
,
…, x
t
n
}. Mỗi lời giải x
t
i
được đánh giá "độ thích nghi ", hay độ "tốt" của lời giải.
Phép chọn lọc (select): Phép chọn là quá trình loại bỏ các cá thể xấu trong quần thể
để chỉ dữ lại trong quần thể các cá thể tốt.
Phép chọn được mô phỏng:
 Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần.
 Loại bỏ các cá thể cuối dãy để chỉ giữ lại n cá thể tốt nhất. Giả sử ở đây quần
thể có kích thước cố định n.
Có nhiều phương pháp chọn lọc Nhiễm sắc thể:
o Chọn lọc Roulette (Roulett Wheel Selection).
o Chọn lọc xếp hạng (Rank Selection).
o Chọn lọc cạnh tranh (Tournament Selection)
Quá trình sinh sản
[4]
: Có hai loại thao tác sinh sản
 Phép lai tạo (Crossover): là quá trình hình thành nhiễm sắc thể mới trên cơ sở
nhiễm sắc thể cha mẹ bằng cách ghép một hay nhiều đoạn gen của hai hay nhiều
nhiễm sắc thể cha mẹ với nhau.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 8
Có những phương pháp lai ghép sau:
o Lai ghép ánh xạ từng phần (PMX Partial Mapped Crossover).
o Lai ghép có trật tự (OX order Crossover).

o Lai ghép dựa trên vị trí (Position Based Crossover).
o Lai ghép dựa trên thứ tự (Order Base Crossover).
o Lai ghép có chu trình (CX cycle Crossover).
o Lai ghép thứ tự tuyến tính (LOX Linear order Crossover).
Phép lai tạo xảy ra với xác suất p
c
, được mô phỏng như sau:
 Chọn ngẫu nhiên một hay nhiều cá thể bất kỳ trong quần thể. Giả sử
các nhiễm sắc thể của cha mẹ đều có m gen.
 Tạo một số ngẫu nhiên trong khoảng từ 1 đến m - 1 (được gọi là điểm
lai). Điểm lai chia các chuỗi cha mẹ có độ dài m thành hai nhóm chuỗi
con với độ dài m
1
, m
2
hai chuỗi nhiễm sắc thể mới là m
11
+ m
12
và m
21
+ m
22
 Đưa hai cá thể mới vào quần thể để tham gia các quá trình tiến hóa tiếp
theo.
Ví dụ : Hai nhiễm sắc thể cha mẹ :
Parent 1:
1 0 1 0 1 1 1 0 0 1
Parent 2:
0 1 1 1 0 0 1 1 1 0

Thì việc trao đổi chéo các nhiễm sắc thể sau gen thứ năm sẽ tạo ra hai con:
Child 1:
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 9
1 0 1 0 1 0 1 1 1 0
Child 2:
0 1 1 1 0 1 1 0 0 1
 Phép đột biến (mutalion): Phép đột biến là hiện tượng cá thể con mang một (hoặc
một số) tính trạng có trong mã di truyền của cha mẹ, tức là sự sửa đổi một hoặc một
vài gen của một nhiễm sắc thể chọn bằng cách thay đổi ngẫu nhiên với xác suất là tỷ
lệ đột biến.
Không ai có thể đánh giá được phương pháp đột biến nào tốt hơn, do đó có một
vài phương pháp đơn giản, cũng có vài trường hợp khá phức tạp. Người ta thường
chọn một trong những phương pháp sau :
o Đột biến đảo ngược (Inversion Mutation).
o Đột biến chèn (Insertion Mutation)
o Đột biến thay thế (Displacement Mutation).
o Đột biến tương hỗ (Reciprocal Exchange).
o Đột biến chuyển dịch (Shift Mutation).
Phép đột biến xảy ra với xác suất p
m
nhỏ hơn rất nhiều so với xác suất lai p
c.
Phép đột
biến có thể được mô phỏng:
 Chọn ngẫu nhiên một cá thể bất kỳ cha mẹ trong quần thể.
 Tạo một số ngẫu nhiên k trong khoảng từ 1 đến m với 1≤ k ≤ m.
 Thay đổi gen thứ k và trả cá thể này về quần thể để tham gia vào quá trình
tiến hóa tiếp theo.
NST1
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 10

0 1 1 1 1 0 1 1 1 0
NST1
0 1 1 1 0 0 1 1 1 0
Một thuật giải di truyền, giải một bài toán được cho phải có năm thành phần:
 Một cấu trúc dữ liệu biểu diễn không gian lời giải của bài toán.
 Phương pháp khởi tạo quần thể ban đầu P(0).
 Hàm định nghĩa độ thích nghi evaluate đóng vai trò môi trường.
 Các phép toán di truyền như đã mô phỏng trên.
 Và các tham số thuật toán di truyền sử dụng (kích thước, quần thể, xác suất lai,
đột biến…)
Điều kiện kết thúc
Thoát ra quá trình tiến hóa quần thể, dựa vào bài toán mà có các cách kết thúc vấn đề
khác nhau, một khi đã đạt đến mức yêu cầu. Một vài trường hợp thông thường như
sau:
 Kết thúc theo kết quả: một khi đạt đến mức giá trị yêu cầu thì chấm dứt ngay
quá trình thực hiện.
 Kết thúc dựa vào số thế hệ: chọn số thế hệ, quá trình sẽ dừng lại đúng ngay số
thế hệ đã qui định trước, không cần biết kết quả như thế nào.
 Tính theo thời gian: Không cần biết đã bao nhiêu thế hệ hay kết quả thế nào,
chỉ cần dựa vào số giờ qui định mà kết thúc.
 Tổ hợp: dung nhiều phương án khác nhau cho vấn đề, chẳng hạn như: chạy
theo số thế hệ xong sau đó đánh giá cho chạy theo kết quả, hoặc ngược lại.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 11
Thuật toán di truyền song song (PGAs) là mở rộng của các thuật toán di truyền.
Ưu điểm nổi bật của PGAs là khả năng để tạo điều kiện biệt hóa, một quá trình mà
tiểu quần thể khác nhau phát triển theo cùng một lúc các hướng khác nhau. Chúng
đã cho thấy tăng tốc quá trình tìm kiếm và để đạt được những giải pháp chất lượng
cao hơn trên các vấn đề thiết kế phức tạp. Ngoài ra để GA hỗn giao song song hóa,
hai cấu trúc song song hòa phổ biển Gas bao gồm là mô hình GA hòn đảo và tế
bào. Trong mục này, tôi sẽ trình bày ngắn gọn về những thuật toán đó. Ba mô hình

cơ bản được minh họa trong hình 1.
Hình 1. Các mô hình cơ bản của PGAs
2.3. Mô hình master-slave
[1]
:
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 12
Mô hình song song master-slave
[1]
là mô hình song song dạng đơn quần thể
.Trong mô hình song song đơn quần thể gồm hai kiểu chính là mô hình GA song
song khách-chủ và GA song song đơn dân số phân tán. Mô hình GA song song đa
quần thể là mô hình trong đó có nhiều quần thể dân cư được lưu trữ trên các máy
khác nhau. Mỗi máy thực hiện một giải thuật GA tuần tự và thực hiện trao đổi dân
số giữa các phần thể một lần trong mỗi thế hệ.
Trong giải thuật GA song song master–slave, có một bộ xử lý đóng vai trò bộ xử
lý chính. Bộ xử lý này thực hiện tất cả các toán tử chính của giải thuật di truyền:
khởi tạo dân số đầu, thực hiện sinh sản, lai ghép và đột biến. Các bộ xứ lý khác chỉ
làm nhiệm vụ tính giá trị thích nghi của các nhiễm sắc thể.
Mô hình master-slave rất dễ thực hiện, nó chỉ đơn giản là phân tán việc tính hàm
mục tiêu cho các bộ xử lý con, trong khi vòng lặp chính của giải thuật GA thì nằm
trong bộ xử lý chính. Không gian tìm kiếm của bài toán vẫn giống như trong giải
thuật GA tuần tự . Vì vậy với mô hình này chỉ cải thiện được thời gian tìm kiếm
chứ không nâng cao được chất lượng của lời giải.
Sơ đồ thuật toán:
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 13
Hình 2.3. Lưu đồ thuật toán di truyền theo mô hình master-slave
2.4. Mô hình Fine-grained hoặc Cellular PGA
[1]
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 14
PGA hạt mịn (Fine-grained

[1]
) hoặc PGA tế bào. PGA hạt mịn bao gồm chỉ có
duy nhất một quần thể, được cấu trúc không gian riêng biệt. Nó được thiết kế
để chạy trên liên kết hệ thống xử lý song song chặt chẽ, ví dụ, một hệ thống
máy tính bao gồm một số lượng lớn các tiến trình xử lý và đã kết nối đến một
cấu trúc liên kết cụ thể tốc độ cao. Ví dụ, một quần thể của các cá thể trong
một PGA hạt mịn có thể được tổ chức như một lưới hai chiều. do đó, chọn lựa
và lai giống trong một GA song song hạt mịn bị giới hạn trong nhóm nhỏ. Tuy
nhiên, các nhóm chồng lên nhau để cho phép một số tương tác giữa tất cả các
cá thể để các giải pháp tốt có thể phổ biến trên toàn bộ quần thể. Đôi khi, GA
song song hạt mịn cũng được gọi là các mô hình PGA tế bào. Một quần thể
đơn được duy trì, nhưng việc chọn và lai giống được giới hạn trong những
nhóm nhỏ, nhưng sự tương tác giữa các cá thể là đượcphép.
- Nó có một cấu trúc không gian giới hạn sự tương tác giữa các cá thể:
 Thường đặt các cá thể của mô hình PGA hạt mịn vào một lưới 2 chiều, bởi
vì trong nhiều phần tử xử lý máy tính song song được liên kết với một cấu
trúc liên kết.
- Việc chọn lọc, sinh sản và lai ghép diễn ra tại nhóm nhỏ với nhau(hàng xóm
với nhau)
- Đánh giá tập thể được thực hiện đồng thời cho tất cả các cá thể.
2.5. Mô hình đa quần thể (Multi-population or Multi-Deme or Island PGA
[1]
)
Về cơ bản, nó bao gồm nhiều GA thực hiện các toán tử sinh sản – ghép chéo – đột
biến theo vòng lặp, nhưng mỗi một lần lặp GA trao đổi một số thành phần. Sự di
cư này được điều khiển bởi một số tham số: đích di cư đến, tần số di cư, và số
lượng thành phần di cư (tỷ lệ di cư). Thật sự khó khăn để dự đoán kết quả chạy
của GA đa quần thể, bởi vì các tham số của chúng không có tác dụng tuyến tính
đến hiệu năng và chất lượng của giải pháp tìm được. Tuy nhiên, tất cả các tham số
có giá trị giới hạn lớn nhất và nhỏ nhất, và để nghiên cứu GA song song chúng ta

dùng giá trị cực trị, chúng ta có thể có sự hiểu biết sâu hơn về tác động của các
tham số.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 15
GA song song đơn dân số phân tán tương đương với trường hợp biên của GA song
song đa quần thể. Trong cả hai giải thuật, mỗi bộ xử lý thực hiện chu kỳ sinh sản- ghép
chéo- đột biến, và có sự trao đổi các thành phần. Các bước trao đổi trong quá trình sinh
sản và ghép chéo giống sự di cư giữa các quần thể.
Giao thức trao đổi của giải thuật được mô tả trong phần trên là kết nối đầy
đủ (mỗi một bộ xử lý trao đổi với tất cả các bộ xử lý khác ), đó là cận trên của sự
kết nối. Hơn thế nữa, chia dân số thành
P
quần thể bằng nhau tương ứng với tỷ lệ
di cư tối đa có thể, và khi đó sự giao tiếp thực hiện trong mỗi một thế hệ, tần số di
cư được thiết lập với giá trị lớn nhất.
Tuy nhiên, giải thuật đơn dân số phân tán có nhiều giao tiếp trong một thế
hệ và đó là điểm khác cơ bản với GA song song đa quần thể, giải thuật chỉ có
nhiều nhất một lần di cư trong mỗi thế hệ. Trong GA song song đa quần thể, di cư
thực hiện sau (hoặc trước) chu kỳ sinh sản- ghép chéo – đột biến. Điều này có
nghĩa là sự tái kết hợp chỉ là một phần của dân số, và sự tìm kiếm có thiên hướng
tìm kiếm trong một phần của không gian tìm kiếm. Trong phạm vi hiểu biết của
chúng ta, chưa có một nghiên cứu nào về thiên hướng này, nhưng nó có thể không
có nhiều ý nghĩa nếu di cư thực hiện thường xuyên trong mỗi thế hệ.
Một điểm khác nữa đó là trong giải thuật đa quần thể, di cư và các thành
phần thay thế được thực hiện theo nhiều cách khác nhau. Thông thường, thành
phần di cư là thành phần tốt nhất trong một dân số, hoặc được chọn ngẫu nhiên.
Tương tự, thành phần di cư đến một quần thể, chúng có thể thay thế ngẫu nghiên
các thành phần đang tồn tại hoặc thay thế thành phần tồi nhất. Mỗi cách lựa chọn
sẽ tác động đến sự sinh sản, trừ trường hợp lựa chọn di cư ngẫu nhiên và thay thế
ngẫu nhiên.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 16

Hình 2.4. Lưu đồ thuật toán theo mô hình đa quần thể
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 17
Một cách lý thuyết toàn bộ quần thể GA được phân chia thành một tập các
quần thể nhỏ, mỗi quần thể nhỏ này được gọi là một đảo. Một cách khác thì có
nhiều bài toán nhỏ hơn tách biệt được thực thi một cách đồng thời. Các các thể
thường xuyên di cư giữa các đảo và các láng giềng của chúng , mặc dù những đảo
này thường xuyên tiến hóa một cách độc lập trong phần lớn quá trình chạy giải
thuật. Vì vaayj các toán tử (lựa chọn, đột biến, lai ghép) được thực hiện riêng biệt
trong từng đảo, điều đó có nghĩa là mộ đảo có thể tìm kiếm trong những không
gian tìm kiếm khác nhau trong toàn thể không gian tìm kiếm. Mỗi đảo cũng có thể
có những giá trị tham số khác nhau. Mô hình phân tán này yêu cầu cần có một
chiến lược di cư phù hợp, các tham số chính trong chiến lược di cư bao gồm :
Tần suất di cư.
Là số bước tiến hóa thực hiện ở mỗi đảo rồi thực hiện di cư. Tần suất di cư lớn sẽ
dẫn đến việc thông tin gửi nhận lớn và có thể làm giảm tốc độ thực hiện của giải
thuật vì thao tác truyền tin là chậm hơn nhiều so với thao tác tính toán tiến hóa ở
mỗi đảo, ngược lại tần suất di cư nhỏ sẽ làm giảm chất lượng của giải thuật. Việc
di cư cũng có thể thực hiện theo xác suất PA có nghĩa là sau mỗi bước tiến hoá
các cá thể sẽ được di cư theo một xác suất nào đó được định nghĩa trước như một
tham số của giải thuật song song
Tỉ lệ di cư.
Tham số này xác định số lượng cá thể sẽ được hóan chuyển trong mỗi lần
di cư. Giá trị của tham số này có thể là phần trăm của kích thước quần thể hay một
giá trị cụ thể
Lựa chọn và thay thế
Tham số này quyết định cách chọn ứng viên để tiến hành di cư và cá thể
nào sẽ bị thay thế bởi các các thể di cư đến.
Topology.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 18
Tham số này định nghĩa các láng giềng của mỗi đảo, ví dụ các đảo có thể gửi và

nhận các cá thể cho các đảo láng giềng của mình.

Hình 2.5. Các mô hình thuật toán di truyền.
2.6. Mô hình PGA kết hợp (Hierarchical PGA
[9]
)
Mô hình PGA kết hợp là kết hợp giữa mô hình PGA đa quần thể và mô hình
PGA chủ-khách(master-slave
[1]
) hoặc mô hình PGA hạt mịn(fine-grained
PGA
[1]
). Việc kết hợp này có khả năng tăng tốc hơn khi sử dụng riêng từng mô
hình.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 19
Hình 2.6. Mô hình PGA kết hợp
3. Lưới Cho Phép Mô Hình Kết Hợp Song Song Hóa Thuật Toán Di
Truyền(GE-HPGA: Grid-enabled Hierarchical Parallel Genetic Algorithm
[1]
)
Trong mục này, tôi sẽ trình bày mô hình kết hợp song song hóa thuật toán
di truyền (Grid-enabled Hierarchical Parallel Genetic Algorithm), mà tôi gọi tắt là
GE-HPGA. Nhiều công nghệ lưới đã được xem xét trong việc phát triển
thư viện GE-HPGA và chúng được trình bày trong phần 3.1. các quy trình làm
việc chi tiết của GE-HPGA được trình bày trong phần 3.2. Phân tích lý thuyết trên
tăng tốc độ được cung cấp bởi việc đề xuất các thư viện cũng được xem xét trong
mục 3.3.
3.1. Công nghê lưới(Grid Enabling Technology)
Trong phần này, tôi trình bày về một số công nghệ lưới chính được sử
dụng trong việc phát triển GE-HPGA. Globus Toolkit(là một dự án Grid

Middleware trên thực tế, cung cấp cơ sở hạ tầng lưới cho an ninh, quản lý dữ liệu,
quản lý tài nguyên, và dịch vụ thông tin), Commodity Grid Kit (CogKit)2(là các
API cho dự án Globus), Ganglia monitoring tool3(là một hệ thống giám sát phân
phối cho hệ thống máy tính hiệu suất cao như cụm và lưới, mà đã được triển khai
trên hơn 500 cụm trên thế giới.), và NetSolve4(là một công cụ lưới, dựa trên mô
hình đại lý-khách-chủ(client-server) cho phép người khách hàng truy cập các dịch
vụ được cung cấp bằng việc đăng ký các máy chủ tại đại lý) là một số cốt lõi công
nghệ lưới điện toán được sử dụng trong việc phát triển GE-HPGA. Từ một cuộc
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 20
khảo sát của các tài liệu, nó có thể thiết lập các tiêu chuẩn GridRPC hiện có thiếu
cơ chế để phát hiện tài nguyên tự động và lựa chọn các nguồn lưới tài nguyên. Kết
quả là, người dùng được tự nhiên lựa chọn các tài nguyên lưới cần thiết để thực
hiện nhiệm vụ nào đó.
Điều này rõ ràng là không thực tế vì số lượng lớn các tài nguyên máy tính tồn tại
trên lưới điện toán và thường uyển chuyển trong thực tế. Hơn nữa, hầu hết có một
số lượng lớn các nhiệm vụ đánh giá các vấn đề tối ưu hóa đòi hỏi nhiều tính toán
giống nhau của tham số phân tích khác nhau thiết lập đại diện trong các hình thức
nhiễm sắc thể. Do đó nó là vô cùng hiệu quả nếu sự tương tác giữa chủ(master) và
tài nguyên (slave) được lặp đi lặp lại nhiều lần trong cùng một lần gọi thủ tục từ
xa. Sự độc đáo của thư viện GE-HPGA là do một API GridRPC mở rộng với sự
tích hợp của một siêu lịch.
Siêu lên lịch thực hiện các khám phá, cân bằng tải sử dụng thông tin trực tuyến thu
thập được từ các cụm tính toán và dịch vụ lưới tồn tại trên lưới điện toán. Trong
thư viện GE-HPGA, Globus Monitoring và Discovery Service (MDS) và Ganglia
(đã nhắc ở trên) đã được sử dụng để cung cấp các thông tin trực tuyến. MDS duy
trì một cơ sở dữ liệu thông tin tài nguyên có sẵn và hoạt động như một dịch vụ tập
trung theo dõi các tài nguyên, vị trí của chúng trên lưới điện toán và làm thế nào
chúng có thể được tiêu thụ. Ganglia, mặt khác, giám sát và cung cấp thông tin khối
lượng công việc về những cụm có sẵn, các nút tính toán và các dịch vụ lưới điện
toán.

Bất kỳ việc thiết lập lưới điện toán nào, việc cần thiết đầu tiên là cho phép các
thành phần phần mềm như dịch vụ lưới để chúng có thể duy trì trong môi trường
lưới điện toán. Do đó, GE-HPGA được trang bị với một API GridRPC mở rộng
dựa trên Commodity Grid Kit (CoGKit) cho phân tích hoặc mã số mô phỏng mới,
đã tồn tại hoặc chức năng mục tiêu / tập thể như dịch vụ lưới. Sự lựa chọn này là
đơn giản trong việc triển khai và khả năng để cấp trừu tượng ở mức cao, do đó
giảm độ phức tạp của môi trường tính toán lưới từ người dùng cuối. Công nghệ
lưới điện toán khác sử dụng trong công việc hiện tại bao gồm các Globus Grid
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 21
Security Infrastructure (GSI) cho truy cập xác thực và an toàn trên lưới điện toán.
Đối với luồng dữ liệu Globus Grid File Transfer Protocol (GridFTP) được sử dụng
để thực hiện tất cả các dạng chuyển dữ liệu.
3.2. Quy trình làm việc GE-HPGA (GE-HPGA Workflow
[1]
)
Trong phần này, tôi phác thảo các quy trình làm việc của thư viện GE-
HPGA. Đặc biệt, tôi sẽ trình bày HPGA hai cấp, Cấp 1: mô hình PGA đảo(Island
PGA) và Cấp 2: Mô hình PGA khách-chủ(Master-Slave). Mô hình hai cấp độ của
mô hình PGA kết hợp để tạo thành “quần thể tiến hóa” và “đánh giá nhiễm sắc
thể” dịch vụ lưới điện toán như mô tả trong hình 2. Trong mỗi cụm, một “quần thể
tiến hóa”được đưa ra để gọi từ xa bằng cách sử dụng giao thức Globus.
Chi tiết các công việc của GE-HPGA như hình dưới đây:
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 22
Hình 2. Mô hình cấp 2 của song song hóa GE-HPGA. Cấp 1: Nuôi trồng của tiểu
quần thể đến các cụm tính toán cho quá trình tiến hóa di truyền. Cấp 2: Nuôi trồng
của nhiễm sắc thể trên những nút tính toán trong một cụm cho việc đánh giá tập
thể.
Sơ đồ trên được mô tả như sau:
(1) Thời điểm khi bắt đầu tìm kiếm tiến hóa, chương trình GE-HPGA chủ liên hệ
siêu lập lịch để yêu cầu cho các nút tính toán phù hợp

và “quần thể tiến hóa” 'và “ đánh giá nhiễm sắc thể” lưới dịch vụ
(2) Siêu lịch sau đó có được một danh sách các tài nguyên sẵn có cùng
với tình trạng sẵn có của chúng. Như vậy thông tin trạng thái được mua lại từ
Globus MDS và Ganglia(đã nhắc ở trên). Cần lưu ý rằng các cơ chế để
phản ánh tự động các cụm máy tính mới và các nút xử lý hoặc dịch vụ phần
mềm được cung cấp để đảm bảo đăng ký thích hợp đến Globus MDS bất cứ
khi nào họ tham gia vào lưới điện toán.
(3) Tài nguyên tính toán lưới và thông tin dịch vụ được duy trì bởi Globus MDS
và Ganglia sau đó được cung cấp cho các chương trình GE-HPGA chủ
để tiến hành tìm kiếm tiến hóa song song.
(4) Để truy cập đến các nguồn tài nguyên lưới, Grid Security Infrastructure (GSI)
(đã nhắc ở trên) sau đó được tạo ra. Điều này tạo sự xác thực hoặc quyền cho
tiêu thụ bất kỳ hình thức của tài nguyên trong môi trường lưới.
(5) Tập tin đại diện theo hình thức ASCII hoặc dữ liệu XML, các tiểu quần thể
HPGA này sau đó được chuyển vào cụm máy tính từ xa được xác định
mà cung cấp theo yêu cầu dịch vụ “quần thể tiến hóa” và “đánh giá nhiễm sắc
thể”
(6) Nhiều tiểu quần thể phát triển song song sau đó bắt đầu lựa chọn các cụm máy
tính từ xa sử dụng giao thức Globus(đã nhắc ở trên).
Bất cứ cụm nào nhận được yêu cầu để khởi động dịch vụ “quần thể tiến hóa”,
một thể hiện của dịch vụ này được khởi tạo chỉ ở nút máy chủ (master) của
cụm tương ứng.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 23
(7) Các dịch vụ tiểu quần thể củ yêu cầu “đánh giá nhiễm sắc thể” lòng trong
trong dịch vụ “đánh giá quần thể” được nuôi trên các trường của các nút xử lý
đó là có sẵn trong các cụm thông qua NetSolve(đã nhắc ở trên). Vai trò của
Netsolve là tiến hành lập kế hoạch và khám phá tài nguyên trong một cụm máy
tính duy nhất.
(8) Một yêu cầu dịch vụ tất cả các “đánh giá nhiễm sắc thể” được hoàn thành, đạt
được sự thích hợp của nhiễm sắc thể được đưa trở lại đến dịch vụ “quần thể

tiến hóa” phải trải qua các hoạt động liên quan đến đột biến di truyền tiến hóa,
sự lai giống và lựa chọn.
(9) Các tiểu quần thể đã tiến hóa sau đó được đưa trở lại GE-HPGA chủ để tiến
hành các hoạt động di cư. Quá trình này lặp đi lặp lại cho đến khi tiêu chí tìm
kiếm được đáp ứng.
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 24
Hình 3. Quy trình làm việc của thư viện GE-HPGA
3.3. Phân tích giả thiết trên GE-HPGA(Theoretical Analysis on GE-HPGA
[1]
)
Một trong những vấn đề hiệu năng khi chạy một thuật toán song song là
tốc độ tăng lên bao nhiêu chúng có thể so sánh với việc chạy thuật toán tuần tự hay
không. Tốc độ đo lường này (S) có thể được xác định bởi:
Hiệu Quả Song Song Hóa Thuật Toán Di Truyền Sử Dụng Tính Toán Lưới – Nguyễn Thành Đệ – CH1101073 Trang 25

×