1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Phương pháp CHC sử dụng mô hình song song để giải quyết bài toán MAXSAT

24 415 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phương Pháp Chc Sử Dụng Mô Hình Song Song Để Giải Quyết Bài Toán Maxsat
Người hướng dẫn Thầy Giáo Đỗ Trung Kiên
Thể loại Bài nghiên cứu
Năm xuất bản 2008
Thành phố Hà Nội
Định dạng
Số trang 24
Dung lượng 263,95 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phương pháp CHC sử dụng mô hình song song để giải quyết bài toán MAXSAT

Trang 1

Lời nói đầu

Những năm gần đây, cùng với sự phát triển của khoa học kỹ thuật, người ta

đã giải quyết được nhiều bài toán hóc búa bằng máy tính Nhưng bên cạnh đó, vẫn

còn khá nhiều các bài toán vẫn chưa tìm được giải thuật phù hợp để giải nó, đó là

các bài toán tối ưu, trí tuệ nhân tạo và các bài toán xuất phát từ thực tế cuộc sống

như bài toán lập lịch, bài toán điều khiển Robot, bài toán người du lịch, Đây là

các bài toán có khá nhiều ràng buộc phức tạp, không rõ ràng, ko gian tìm kiếm

lớn Do đó các phương pháp truyền thống như quay lui vét cạn, leo đồi, mô phỏng

luyện thép, … tỏ ra ít hiệu quả, và người ta đã sử dụng một phương pháp khá tối

ưu đó là phương pháp CHC và sử dụng trong mô hình song song

Trong bài nghiên cứu này nhóm tác giả nghiên cứu về phương pháp CHC

sử dụng mô hình song song để giải quyết bài toán MAXSAT Chúng ta sẽ thấy

được sự độ tối ưu khi sử dụng mô hình song song so với mô hình tuần tự về thời

gian, độ thích nghi …

Trong tương lai nhóm sẽ tiếp tục phát triển đề tài nghiên cứu bằng cách sử

dụng thuật toán để giải quyết một số bài toán khác

Nhóm tác giả xin chân thành cảm ơn sự giúp đỡ tận tình của thầy giáo Đỗ

Trung Kiên đã giúp cho nhóm trong quá trình thực hiện

Cuối cùng xin chúc hội nghị nghiên cứu khoa học của chúng ta thành công

rực rỡ

Hà Nội, tháng 04 năm 2008

Nhóm tác giả

Trang 2

MỤC LỤC

Chương I: Tổng quan về phương pháp CHC 3

I Tìm hiểu chung về thuật toán di truyền 3

II Tổng quan về phương pháp CHC 3

1 Khái niệm 3

2 Tư tưởng của thuật toán CHC 3

3 Sự Chọn lọc Elitist 5

4 Tránh sự giao phối gần 6

Chương II: Xây dựng khung thuật toán CHC 7

I Thiết kế khung thuật toán CHC 8

1 Các lớp đòi hỏi (Requires) 9

• Lớp bài toán (Problem) 9

• Lớp lời giải (Solution) 9

• Lớp toán tử người sử dụng (Uer_Operator) 10

• Lớp kiểm tra điều kiện dừng (StopCondition) 10

2 Các lớp cung cấp (Provided) 10

• Lớp thiết lập tham số đầu vào (SetUpParams) 10

• Lớp quần thể (Population) 10

• Lớp lựa chọn (Selection) 11

• Lớp chỉ định toán tử sử dụng (Intra_Operator): 12

• Lớp định nghĩa giao diện toán tử (Inter_Operator) 12

• Lớp lai ghép (Crossover) 12

• Lớp thực thi giải thuật (Solver) 13

II Khung thuật toán tuần tự 13

1 Hàm void Solver_Seq::DoStep() 13

III Khung thuật toán song song 15

Chương III Sử dụng khung thuật toán giải quyết bài toán MAXSAT 16

I Đọc file cấu hình 16

II Sử dụng khung thuật toán giải quyết bai toán MAXSAT 17

III Kết quả thực nghiệm 24

1 Kết quả tuần tự 24

2 Kết quả song song 24

Trang 3

BÁO CÁO KHOA HỌC

Đề tài:: PHƯƠNG PHÁP CHC SONG SONG

Chương I: Tổng quan về phương pháp CHC

I Tìm hiểu chung về thuật toán di truyền

Giải thuật di truyền là kĩ thuật giúp giải quyết bài toán bằng cách mô phỏng

theo sự tiến hoá và đấu tranh sinhh tồn của sinh vật trong tự nhiên theo thuyết tiến

hoá muôn loài của Darwin

Mục tiêu của giải thuật di truyền: giải thuật di truyền không đưa ra lời giải tối

ưu mà là đưa ra lời giải gần đúng (tương đối tối ưu)

Bản chất của thuật toán di truyền là bài toán tìm kiếm dựa theo qui luật của

quá trình tiến hoá tự nhiên Thuật toán di truyền kết hợp sự sống sót của cấu trúc

khoẻ nhất trong số các cấu trúc biểu diễn các nhiễm sắc thể (NST) với sự trao đổi

thông tin được lựa chọn ngẫu nhiên để tạo thành một thuật toán tìm kiếm

Thuật toán di truyền sử dụng các biểu diễn nhị phân kết hợp với sơ đồ để mô

hình hoá sự chọn lọc, lai ghép và đột biến

Ứng dụng của thuật toán di truyền:

+ Trong tin học: xây dựng chương trình tin học đặc biệt như trí tuệ nhân tạo

để hướng dẫn người sử dụng trong lĩnh vực giáo dục, quản trị

+ Trong các công việc khác: Ứng dụng giải bài toán sắp xếp thời khoá biểu,

điều khiển robot, bài toán vận tải, bài toán đồ thị…

II Tổng quan về phương pháp CHC

1 Khái niệm

CHC là giải thuật di truyền phi truyền thống kết hợp chiến lược chọn lọc

(dựa trên những cá thể đơn lẻ tốt nhất) để đưa ra con lai tốt nhất khác với cả cha

và mẹ.

2 Tư tưởng của thuật toán CHC

Trang 4

CHC là từ viết tắt của cross – generational selection, Heterogeneous

recombination, and Cat – aclysmic mutation Giải thuật CHC được phát triển bởi

Eshelman (1991) được trình bày như hình vẽ:

CHC lựa chọn một trang của quần thể có kích cỡ µ (µ =50) nhưng thay vì

chọn những cha mẹ tốt để tái kết hợp giống cách làm của giải thuật gi truyền, cha

mẹ được chọn một cách ngẫu nhiên một cặp duy nhất và điều kiện để sinh ra con

chung Giải thuật sau đó sẽ chọn tập cá thể tốt nhất từ cha mẹ được kết hợp và

quần thể con được sinh ra ở thế hệ tiếp theo Vì vậy giải thuật CHC sẽ duy trì được

quần thể tốt nhất mà được bắt gặp qua quá trình tìm kiếm

Trang 5

Cha mẹ không được phép giao phối nếu như chúng không có sự khác biệt

thích đáng như được xác định bởi ngưỡng giao phối liên tục giảm Toán tử chéo

(crossover) được sử dụng bởi CHC là toán tử HUX, với HUX là đại diện cho

crossover một nửa không đổi Toán tử HUX đảm bảo chính xác một nửa của số bit

khác nhau giữa cha mẹ được trao đổi để sản sinh ra con cái

CHC không được sử dụng các toán tử đột biến trong trường hợp thông

thường, và thực tế cùng với những quần thể nhỏ trong CHC và sự lựa chọn thế hệ

giao làm cho quần thể được hội tụ nhanh chóng Khi quần thể được hội tụ, CHC sẽ

được khởi động lại từng phần bởi việc sao chép bởi thành viên tốt nhất của quần

thể hiện tại sang một quần thể mới và sinh ra phần còn lại của quần thể mới với

những phiên bản được biến đổi ồ ạt (35% của các bit) của thành viên tốt nhất của

quần thể hiện tại

3 Sự Chọn lọc Elitist

Trong suốt sự chọn lọc cho việc sinh sản thay vì sự thiên về chọn lọc C(t) cho

việc sinh sản hơn vì lợi ích của những thành viên thực hiện tốt hơn trong quần thể

cha mẹ P(t-1) Mỗi thành viên của P(t-1) được sao chép thành C(t) và được ghép

đôi một cách ngẫu nhiên (Nói cách khác, C(t) đồng nhất với P(t-1) ngoại trừ khi

trật tự của các cấu trúc đã bị thay đổi) Mặt khác, trong suốt giai đoạn chọn lọc

sinh tồn thay vì thay thế quần thể cha mẹ cũ P(t-1) bằng quần thể con C’(t) để hình

thành P(t), thế hệ con mới được tạo ra phải được cạnh tranh với các thành viên của

quần thể cha mẹ P(t-1) cho sự sinh tồn - ví dụ cạnh tranh chính là thế hệ lai Cụ thể

hơn, các thành viên của P(t-1) và C’(t) được hoà trộn và được xếp hạng theo sự

thích hợp, và P(t) được tạo ra bằng việc chọn lọc M tốt nhất (trong đó M là kích

thước quần thể), các thành viên của quần thể được hoà trộn (Trong các trường

hợp mà một thành viên của P(t-1) và một thành việc của C’(t) có sự thích hợp

giống nhau, thành viên của P(t-1) được xếp hạng cao hơn) Ta sẽ gọi thủ tục giữ

lại các thành viên được xếp hạng tốt nhất của các quần thể con và quần thể cha mẹ

được xáo trộn là sự chọn lọc elitist bởi vì nó đảm bảo rằng các cá thể M tốt nhất sẽ

luôn sống sót

Một vài sự chọn lọc sinh tồn thiên về tính thích hợp sử dụng của giải thuật di

Trang 6

truyền khác - Whitley’s GENITOR (1989), Syswerda’s Steady State GA

(SSSGA(1989), và Ackley’s Iterated Generic Search(IGS) (1987) CHC khác với

tất cả ba loại giải thuật này trong đó việc cạnh tranh sinh tồn là thế hệ lai-thế hệ

con chỉ thay thế một thành viên của quần thể cha mẹ nếu nó tốt hơn Hơn nữa,

không giống như ba giải thuât này, CHC vận hành trong các chu kỳ thế hệ với rất

nhiều bạn đời chứ không phải chỉ một bạn đời cho mỗi chu kỳ Sự tin cậy duy nhất

đối với sự chọn lọc sinh tồn cho sự thiên lệch của nó vì lợi ích của những cá nhân

thực thi tốt hơn hơn và cũng phân biệt nó với GENITOR và SSSGA nhưng không

phải là IGS Cuối cùng, phương pháp được dựa trên sự xếp hạng tất yếu của việc

thực hiện sự chọn lọc phân biệt nó với SSGA Và IGS nhưng không phải là

GENITOR

4 Tránh sự giao phối gần

Sự tăng trưởng theo số mũ của các trường hợp lược đồ tốt thì có giá trị ít hơn

nếu nó dẫn đến sự quy tụ còn non Một trong những hậu quả của phép lai một nửa

bit khác nhau giữa các thế hệ cha mẹ đó là sự nguy có của sự hội tụ còn non sẽ

giảm đi Thậm chí ở mỗi thế hệ thì thế hệ con cháu gần đây nhất giao phối với một

trong những tổ tiên đầu tiên (con giống nhau trong mỗi lần) Nó sẽ mang các thế

hệ log2h để quy tụ (trong vòng 1 bit) đến tổ tiên đầu tiên ở đó h là khoảng cách tín

hiệu giữa các thế hệ cha mẹ đầu tiên Mặc khác, trong trường hợp của phép lai hai

điểm hai thế hệ con sẽ khác so với thế hệ cha mẹ gần nhất của nó (được đo bởi

khoảng cách tín hiệu) bằng số lượng dao động từ 1 bit cho đến không quá một

nửa chiều dài của chuỗi L Chính vì vậy, thời gian dài nhất mà nó có thể tạo ra sự

quy tụ trong vòng 1 bit của tổ tiên của nó là các thế hệ log2h và thời gian ngắn nhất

là một thế hệ Tất nhiên, thế hệ con không được giao phối lại với một trong những

tổ tiên xa của nó nhưng bởi vì các cá thể tốt hơn sẽ có nhiều hậu duệ hơn Vì vậy,

sẽ rất hợp lý khi một cá thế được giao phối với một trong những họ hàng gần nhất

của nó Cho đến bây giờ, điều này dẫn đến việc lai các cá thể mà chia sẻ rất nhiều

Alen, sự thông dò đối với sự tái tổ hợp nhanh chóng thoái hoá Mặc dù luôn luôn

lai một nửa những sự khác nhau( sử dụng HUX) sẽ làm chậm đi quá trình này

Trang 7

nhưng đôi khi các cá thể được ghép đôi lại có một vài sự khác biệt Nếu một hay

hai thế hệ con sống sót đối với sự giao phối này thì nó chắc chắn sự việc như vậy

cũng sẽ xảy ra ở thế hệ kế tiếp

CHC có một cơ chế bổ sung để làm chậm lại tốc độ của sự quy tụ- một cơ chế

để giúp tránh sự giao phối gần Trong suốt thời kỳ sinh sản, mỗi thành viên của

quần thể cha mẹ được chọn một cách ngẫu nhiên mà không thay thế và được ghép

đôi cho việc giao phối Tuy nhiên, trước khi giao phối thì khoảng cách tín hiệu

giữa các thế hệ cha mẹ tiềm năng được tính toán, và nếu một nửa khoảng cách đó (

khoảng cách tín hiệu của các thế hệ con được mong đợi từ các thế hệ cha mẹ) sẽ

không vượt quá ngưỡng khác nhau Chúng không được giao phối và bị loại ra từ

quần thể con.(ngưỡng khác nhau được thiết lập ở phần bắt đầu cho đến L/4)

Chính vì vậy, chỉ một phần quần thể được giao phối để tạo ra thế hệ con mới trong

bất kỳ thế hệ nào Không có thế hệ con nào được chấp nhận vào quần thể cha mẹ (

hoặc là bởi vì không có bạn giao phối tiềm năng hay bởi vì không một thế hệ con

nào tốt hơn quần thể cha mẹ), thì ngưỡng khác nhau sẽ bị giảm đi Hậu quả của cơ

chế này đó là chỉ có các quần thể cha mẹ tiềm năng và đa dạng hơn được giao phối

nhưng sự đa dạng được đòi hỏi bằng ngưỡng khác nhau tự động giảm khi quần thể

quy tụ một cách tự nhiên Số lượng những con sống sót cho mỗi thế hệ sẽ được

xem là thích hợp nhất trong suốt quá trình tìm kiếm bởi vì khi CHC gặp khó khăn

trong việc tăng tiến trình thì ngưỡng khác nhau sẽ giảm xuống nhanh hơn khoảng

cách tín hiệu trung bình để có nhiều cá nhân hơn được đánh giá Ngược lại, khi

CHC được xem là dễ dàng để tạo ra thế hệ con mà sống sót thì ngưỡng khác nhau

sẽ giảm ở tỷ lệ thấp hơn và số lượng các con giao phối cũng sẽ giảm

Chương II: Xây dựng khung thuật toán CHC

Việc xây dựng khung thuật toán có ý nghĩa rất quan trọng trong quá trình lập trinh

Nó cho phép nhiều người dùng khai thác hiệu quả nhất những giải thuật cũng như

Trang 8

cơ sở dữ liệu nhờ những khung thuật toán có sẵn Một số tiểu ứng dụng của khung

thuật toán:

• Hỗ trợ thiết kế tối đa và khả năng tái sử dụng code:

Khung phải cung cấp cho người dùng toàn bộ kiến trúc của phương pháp giải

quyết bài toán của họ Hơn nữa các lập trình viên có thể tái sự dụng các đoạn code

đã có Do đó người dùng chỉ cần phát triển một đoạn code nhất định cho vấn đề

đó

• Tiện ích và khả năng mở rộng:

Khung phải cho phép người dùng đi qua một số lượng lớn các giải thuật đã

được giả quyết, các vấn đề, các mô hình song song đã được đưa ra Nó có khả

năng cho phép người dùng dễ dàng thêm hoặc thay đổi các đặc tính/ giải thuật mà

ko cần liên quan đến các thành phần khác Giúp cho người sau thử nghiệm bai

toán trên môi trường song song

• Tính linh động:

Khung hỗ trợ nhiều kiến trúc phần cứng và phần mềm khác nhau nên đáp

ứng được một số lượng lớn người dùng

I Thiết kế khung thuật toán CHC

Cấu trúc chung của thuật toán CHC:

Trang 9

Lớp Provided thực thi phía bên trong khung bao hàm các thủ tục chung cho

các bài toán giải bằng giải thuật di truyền Thông thường đối với mỗi giải thuật thì

thường có một số giải pháp, tất cả các mô hình tuần tự được nhóm vào lớp

Solver_Seq Các mô hình song song được nhóm vào các lớp Solver_Lan và

Solver_Wan

Lớp Required chỉ định thông tin liên quan đến vấn đề (bài toán) Để cho toàn

bộ khung hoạt động thì các lớp này phải được bổ xung thông tin về bài toán phụ

thuộc

1. Các lớp đòi hỏi (Requires)

Các lớp đòi hỏi được sử dụng để lưu trữ dữ liệu cơ bản của thuật toán Ta có

thể hình dung các lớp Requre được xây dựng giống như một cái sườn, cái mẫu, và

đối với từng bài toán cụ thể lại phải đắp thêm những thông tin riêng của bài toán

đó cho hoàn chỉnh

Nhóm các lớp Requires bao gồm các lớp sau:

Diễn tả thông tin bài toán cần giải quyết Dưới đây là các thủ tục chính trong

lớp bài toán

Trong đó:

- Toán tử chồng cout: Đưa ra các thông số của bài toán pbm theo luồng os

- Toán tử chồng cin: nhận vào các thông số của bài toán pbm từ luồng is

Lớp lời giải (Solution)

Lớp lời giải diễn tả lời giải của bài toán, trong quá trình tiến hoá, chúng ta

luôn duy trì một quần thể các lời giải có thể của bài toán và áp dụng các thao tác

của quá trình tiến hoá lời giải trên quần thể để tìm ra lời giải tối ưu cho bài toán

Dưới đây là các thủ tục chính trong lớp lời giải:

Trong đó

- operator<< đưa ra các thông số của một lời giải theo os

- operator>> nhận vào các thông số của một lời giải theo luồng is

- char *to_String(): Chuyển nhiễm sắc thể biểu diễn lời giải thành một xâu

ký tự

- to_Solution(char *_cadena_) : Hàm tạo ra một đối tượng lời giải từ một xâu

ký tự

Trang 10

- initialize(): Hàm khởi tạo bộ giá trị ngẫu nhiên cho các phần tử trong lời

giải

- fitness (): Hàm tính độ thích nghi làm cơ sở đánh giá lời giải

Thừa kế từ lớp Intra_Operator

Lớp kiểm tra điều kiện dừng (StopCondition)

Để xác định điều kiện dừng của bài toán, trong từng bài toán thì điều kiện

dừng sẽ khác nhau, thường căn cứ vào một hoặc một vài tham số như số thế hệ,

thời gian chạy, các điều kiện đặc thù của bài toán

2 Các lớp cung cấp (Provided)

Bao gồm các thủ tục chung cho các bài toán giải bằng giải thuật CHC Ta có

thể hình dung các lớp loại provide giống như một thư viện, và khi giải các bài toán

chỉ việc gọi nó ra

Lớp này chứa các thủ tục để thiết đặt các tham số cho bài toán như đã nêu

trên và cho các toán tử của giải thuật từ 1 file đầu vào:

o independent_runs : số lần thực hiện quá trình tiến hóa trong một lần thực

hiện chương trình

o population_size : kích thước quần thể

o nb_evolution_steps : số bước tiến hóa

o select_parents : phương thức lựa chọn cha

o select_offsprings : phương thức lựa chọn con

o combine : có kết hợp quần thể cũ hay chỉ lựa chọn từ quần thể mới

o Hàm istream& operator>> (istream& is, SetUpParams& setup) có nhiệm

vụ thiết đặt các tham số cho bài toán Cụ thể, nó nhận vào các thông số cấu hình từ

một file dữ liệu (file này sẽ được gọi là file cấu hình), dựa vào các thông số nhận

vào này mà chương trình sẽ chọn phương pháp lựa chọn dùng trong bài toán

(trong 5 phương pháp lựa chọn đã kể trên), tham số lựa chọn dấu hiệu dừng của

thuật toán, làm cơ sở cho cấu hình của giải thuật giải bài toán

Lớp này lưu trữ các thông tin về quần thể các nhiễm sắc thể Dưới đây là các

thủ tục chính trong lớp quần thể

Trang 11

Trong đó :

o Evaluate(Solution *sol, struct individual &_f) : tạo ra cá thể _f (độ thích

nghi, vị trí ) tương ứng với nhiễm sắc thể sol

o initialize() : Sinh ra một tập các cá thể mới trong quần thể

o evolution() : Tiến hóa quần thể bằng các phương pháp: lụa chọn, lai ghép,

đột biến

o evaluate_parents() : Tạo ra một mảng chứa đựng độ thích nghi của tất cả

các cá thể và vị trí của nó trong quần thể Cùng với việc đánh giá độ thích nghi của

cha tốt nhất, cha tồi nhất và giá trị trung bình

o evaluate_offsprings() : Tạo ra một mảng chứa đựng độ thích nghi của tất cả

các cá thể và các con cùng vị trí của nó trong quần thể

o select_parents() : Lựa chọn cha để tiến hành lai ghép, sử dụng một trong 5

phương pháp để tiến hành lựa chọn

o select_offsprings() : Lựa chọn các cá thể cho quần thể mới Có hai phương

pháp hoặc là chỉ lựa chọn từ quần thể mới (combine = 0) hoặc là lựa chọn từ quần

thể mới và quần thể cũ (combine = 1)

Hàm quan trọng nhất trong lớp này là hàm evolution(), nó để thực hiện công

việc tiến hoá quần thể hay sinh quần thể mới qua các phép chọn lọc, lai ghep, đột

biến như trên đã tìm hiểu

Để thực hiện việc chọn lọc các cá thể có độ thích nghi cao để cho vào bể lai

ghép để thực hiện các phép biến đổi cho ra một quần thể mới có độ thích nghi cao

hơn

Dưới đây là các thủ tục chính trong lớp lựa chọn

Trong đó :

o prepare: thực hiện việc chuẩn bị các điều kiện cho việc tiến hành chuẩn bị,

ở mỗi phương pháp chọn lựa thì yêu cầu chuẩn bị này sẽ khác nhau

o select_onechọn một cá thể trong quần thể để cho vào bể ghép đôi, việc

chọn lựa này là ngẫu nhiên theo xác xuất chọn lựa được tính từ độ thích nghi, cách

tính này tuỳ thuộc theo từng phương pháp chọn lựa

Có 5 lớp kế thừa từ lớp Selection tương ứng với 5 phương pháp lựa chọn phổ

biến…

Trong đó :

Trang 12

o Selection_Tournament : lựa chọn cạnh tranh, như đã giới thiệu trong phần

Để xác định phép biến đổi quần thể là lai ghép hay đột biến theo xác xác xuất

lai ghép và đột biến đã cho

Hàm này gồm có cách thuộc tính và phương thức chính:

- int _number_operator: số hiệu của toán tử áp dụng, được quy ước là bằng 0

nếu toán tử là Crossover, bằng 1 nếu toán tử là Mutation

- probability: xác xuất (lai ghép hay đột biến)

- Intra_Operator *create(unsigned int _number_op): để tạo ra một đối tượng

thuộc lớp Crossover hoặc Mutation tuỳ theo tham số truyền vào (unsigned int

_number_op) là 0 hay 1

- operator<< (ostream& os, const Intra_Operator& intra): Hàm đưa ra các

thông số về đối tượng được tạo ra ở hàm creat

Lớp định nghĩa giao diện toán tử (Inter_Operator)

Cung cấp những lớp định nghĩa giao diện chung cho nhiều toán tử mà được

tạo nên từ hai phương thức chính: Setup, đọc cấu hình của toán tử và execute, ứng

dụng toán tử

Lớp lai ghép (Crossover)

Để thực hiện việc lai ghép các lời giải với nhau tạo ra các lời giải mới Dưới

đây là các thủ tục chính trong lớp lai ghép

Trong đó:

- cross(Solution &sol1,Solution &sol2): hàm lai hai lời giải với nhau tạo ra

các lời giải mới

- execute(Rarray<Solution*>& sols) : lai ghép 2 cá thể liên tiếp nhau trong

quần thể sols[] (một mảng các cá thể Solution)

Trong hai hàm này thì hàm Excute là chung cho mọi bài toán, và ta chỉ cần

khai triển lại hàm Cross khi làm việc với các bài toán cụ thể

Ngoài ra còn các hàm

Ngày đăng: 27/04/2013, 21:11

HÌNH ẢNH LIÊN QUAN

được giả quyết, các vấn đề, các mơ hình song song đã được đưa ra. Nĩ cĩ khả - Phương pháp CHC sử dụng mô hình song song để giải quyết bài toán MAXSAT
c giả quyết, các vấn đề, các mơ hình song song đã được đưa ra. Nĩ cĩ khả (Trang 8)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w