Giải thuật di truyền song song và ứng dụng giải bài toán max- sat

28 2.1K 28
Giải thuật di truyền song song và ứng dụng giải bài toán max- sat

Đ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

Giải thuật di truyền song song và ứng dụng giải bài toán max- sat

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO KHOA HỌC ĐỀ TÀI: GIẢI THUẬT DI TRUYỀN SONG SONG VÀ ỨNG DỤNG GIẢI BÀI TOÁN MAX- SAT Giảng viên hướng dẫn : Thầy Đỗ Trung Kiên Sinh viên thực : Nguyễn Thị Lụa – K54C Đỗ Văn Quang – K55B Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat MỤC LỤC LỜI MỞ ĐẦU……………………………………………………………………2 Chương I : Tổng quan ….……………………………………………………… Tổng quan thuật toán di truyền ………………………………………………4 1.1 Khái niệm…………………………………………………………………… 1.2 Cấu trúc thuật toán di truyền …………………………………………….7 Ví dụ minh họa………………………………………………………………12 2.1 Bài tốn Max-sat …………………………………………………………….12 2.2 Giải thuật di truyền giải quyêt toán Max-sat…………………………… 14 Chương II : Xây dựng thuật toán di truyền …………………………………… 14 Khung thiết kế thuật toán di truyền ……………………………………… 15 1.1 Lớp provides – lớp cung cấp……………………………………………… 15 1.2 Lớp Requide – Lớp yêu cầu ……………………………………………… 16 Khung thuật toán …………………………………………………….20 Khung thuật toán song song ………………………………………………….22 3.1 Lựa chọn phần cứng ………………………………………………………….22 3.2 Lựa chọn phần mềm………………………………………………………….22 Chương III : sử dụng khung thuật toán di truyền giải toán Maxsat……26 cài đặt tốn Max-sat……………………………………………………… 26 1.1 file cấu hình cfg……………………………………………………………….26 1.2 file đầu vào dat ……………………………………………………………….26 Sử dụng khung thuật toán di truyền giải toán Max-sat…………………… 27 Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat Chương III : Kết thực nghiệm ……………………………………………… 28 kết ………………………………………………………………… 28 2.Kết song song……………………………………………………………….28 LỜI MỞ ĐẦU Với khả nay, máy tính giúp giải nhiều tốn khó mà trước thường bó tay Mặc dù có số lớn tốn thú vị mà chưa có giải thuật hợp lý để giải chúng Trong toán tối ưu nững toán thường gặp thực tiễn Trong thực tiễn, có nhiều tốn tối ưu quan trọng địi hỏi thuật tốn có chất lượng cao Ví dụ ta dùng phương pháp mơ luyện thép để giải tốn tìm đường ngắn cho xe cứu hỏa hay tốn người du lịch… Cũng có nhiều tốn tối ưu tổ hợp (trong có nhiều tốn chúng minh NP - đủ) giải gần máy tính đại kỹ thuật Monte - Carlo Nói chung tốn tối ưu xem tốn tìm kiếm giải pháp tốt không gian vô lớn giải pháp Khi khơng gian tìm kiếm nhỏ, phương pháp cổ điển đủ thích hợp, khơng gian tìm kiếm lớn phải dùng kỹ thuật trí tuệ nhân tạo đặc biệt Thuật giải di truyền (GA) kỹ thuật Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat CHƯƠNG I : TỔNG QUAN Tổng quan thuật toán di truyền (Genetic Algorithm) 1.1 Khái niệm Thuật toán di truyền cổ điền kỹ thuật theo q trình thích nghi tiến hóa quần thể sinh học dựa học thuyết Darwin Tư tưởng thuật toán di truyền mô tượng tự nhiên: Kế thừa đấu tranh sinh tồn để tiến lời giải khảo sát không gian lời giải khái niệm kế thừa đấu tranh sinh tồn giải thích qua thí dụ tiến hóa quần thể thỏ sau: Có quần thể thỏ, có số nhanh nhẹn thông minh khác Những thỏ nhanh nhẹn thông minh có xác suất bị chồn cáo ăn thịt nhỏ hơn, tồn dể làm tốt : Tạo thêm nhiều thỏ tốt Dĩ nhiên, số thỏ chậm chạp đần độn sống sót may mắn Quần thể thỏ cịn sống sót bắt đầu sinh sản Việc sinh sản tạo hỗn hợp tốt "nguyên liệu di truyền thỏ" Một số thỏ chậm chạp có với thỏ nhanh, số nhanh nhẹn có với thỏ nhanh nhẹn, số thơng minh với thỏ đần độn… Và tất thiên nhiên lại ném vào thỏ "hoang dã" cách làm đột biến nguyên liệu di truyền thỏ Những thỏ kết nhanh thông minh thỏ quần thể gốc có nhiều bố mẹ nhanh nhẹn thơng minh thoát chết khỏi chồn cáo Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải tốn Max-sat Khi tìm kiếm lời giải tối ưu , thuật toán di truyền thực bước tương ứng với câu chuyện đấu tranh sinh tồn lồi thỏ Thuật tốn di truyền sử dụng thuật ngữ vay mượn di truyền học Ta nói cá thể (hay kiểu gen, cấu trúc) quần thể, cá thể gọi chuỗi hay nhiễm sắc thể Mỗi kiểu gen (ta gọi nhiễm sắc thể) biểu diễn lời giải toán giải (ý tưởng nhiễm sắc thể cụ thể người sử dụng xác định trước), tiến trình tiến hóa thực quần thể nhiễm sắc thể tương ứng với q trình tìm kiếm lời giải khơng gian lời giải Tìm kiếm cần cân đối hai mục tiêu: Khai thác lời giải tốt khảo sát khơng gian tìm kiếm Leo đồi ví dụ chiến lược cho phép khai thác cải thiện lời giải tốt hành 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 ví dụ điển hình chiến lược khảo sát khơng gian tìm kiếm mà không ý đến việc khai thác vùng đầy hứa hẹn khơng gian Thuật tốn di truyền (GA) phương pháp tìm kiếm (độc lập miền) tạo cân đối đáng kể việc khai thác khảo sát khơng gian tìm kiếm Thực ra, GA thuộc lớp thuật giải xuất sắc, lại khác thuật giải ngẫu nhiên chúng kết hợp phần tử tìm kiếm trực tiếp ngẫu nhiên Khác biệt quan trọng tìm kiếm GA phương pháp tìm kiếm khác GA trì xử lý tập lời giải (ta gọi quần thể) Theo đề xuất giáo sư John Holland, vấn đề toán đặt mã hóa thành chuỗi với chiều dài bit cố định Nói cách xác thơng số toán chuyển đổi biểu diễn lại dạng chuỗi nhị phân Các thông số biến hàm hệ số biểu thức toán học Người ta gọi chuỗi bít mã genome ứng với cá thể, genome có chiều dài Nói ngắn gọn, lời giải biểu diễn chuỗi bít, cá thể quy định gen cá Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải tốn Max-sat thể Như vậy, thuật giải di truyền, cá thể có gen mọt gen phục vụ cho cá thể nhât Do đó, gen cá thể cá thể gen Ban đầu, ta phát sinh số lượng lớn, giới hạn cá thể có gen ngẫu nhiên - nghĩa phát sinh tập hợp chuỗi bit ngẫu nhiên Tập cá thể gọi quần thể ban đầu (initial population) Sau đó, dựa hàm đó, ta xác định giá trị có độ thích nghi - Fitness Giá trị này, để đơn giản cho đơn giản độ "tốt" lời giải hay đọ cao tìm kiếm theo kiểu leo đồi Vì phát sinh ngẫu nhiên nên độ "tốt" lời giải hay tính thích nghi cá thể quần thể ban đầu khơng xác định Để cải thiện tính thích nghi quần thể người ta tìm cách tạo quần thể Có hai cách thao tác thực hệ để tạo hệ khác với độ thích nghi tốt Thao tác chép nguyên mẫu nhóm cá thể tốt từ hệ trước đưa sang hệ sau (selection) Thao tác đảm bảo độ thích nghi hệ sau ln giữ mức độ hợp lý Các cá thể chọn thơng thường cá thể có độ thích nghi cao Thao tác thứ hai tạo cá thể cách thực thao tác sinh sản số cá thể chọn từ hệ trước, thơng thường cá thể có độ thích cao Có hai loại thao tác sinh sản: thao tác lai tạo (crossover), hai đột biến (mutalion) Trong thao tác lai tạo, từ gen hai cá thể chọn hệ trước phối hợp với (theo quy tác đó) để tạo thành hai gen Thao tác chọn lọc lai tạo giúp tạo hệ sau Tuy nhiên, nhiều hệ khởi tạo ban đầu có đặc tính chưa phong phú chưa phù hợp nên cá thể không rải không gian toán (tương tự trường hợp leo đồi, người leo đồi tập trung dồn vào góc vùng đất) Từ đó, khó tìm Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat lời giải tối ưu cho toán Thao tác đột biến giúp giải vấn đề Đó biến đổi ngẫu nhiên nhiều thành phần gen cá thể hệ trước tạo cá thể hoàn toàn hệ sau Nhưng thao tác phép sảy với tần xuất thấp (thường 0.01), thao tác gây xáo trộn làm cá thể chọn lọc lai tạo có tính thích nghi cao, dẫn đến thuật tốn khơng cịn hiệu Thế hệ tạo lại xử lý hệ trước có cá thể đạt giải pháp mong muốn đạt đến thời gian giới hạn 1.2 Cấu trúc giải thuật di truyền sau: t=0 initialize P(t) Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat evaluate structures in P(t) while not end t=t+1 select C(t) from P(t - 1) recombine structures in C(t) forming C'(t) mutate structures in C' (t) forming C'' (t) evaluate structures in C''(t) 10 replace P(t) from C''(t) and/or P (t - 1) Khởi tạo quần thể (initialize): Quần thể khởi tạo cách ngẫu nhiên từ tập hợp cá thể riêng lẻ Kích cỡ quần thể phụ thuộc vào yếu tố tự nhiên tốn, nhìn chung tốn có đến hàng trăm hay hàng nghìn giải pháp hợp lý Tập hợp giải pháp hợp lý cho vấn đề gọi khơng gian tìm kiếm (search space) Trước 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ể cá thể cho vấn đề, thơng thường kết cuối Việc phân tích dựa kết tốt Hàm định nghĩa độ thích nghi (evaluate): Các q trình tiến hóa diễn vòng lặp While, hệ thứ t, thuật tốn di truyền trì tập lời giải P(t) = {xt1, xt2, ,…, xtn } Mỗi lời giải xti đánh giá "độ thích nghi ", hay độ "tốt" lời giải Phép chọn lọc (select): Phép chọn trình loại bỏ cá thể xấu quần thể để lại quần thể cá thể tốt Phép chọn mô phỏng:  Sắp xếp quần thể theo thứ tự độ thích nghi giảm dần Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat  Loại bỏ cá thể cuối dãy để giữ lại n cá thể tốt Giả sử 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) Q trình sinh sản: Có hai loại thao tác sinh sản  Phép lai tạo (Crossover): trình hình thành nhiễm sắc thể sở nhiễm sắc thể cha mẹ cách ghép hay nhiều đoạn gen hai hay nhiều nhiễm sắc thể cha mẹ với Có phương pháp lai ghép sau: o Lai ghép ánh xạ phần (PMX Partial Mapped Crossover) o Lai ghép có trật tự (OX order Crossover) o Lai ghép dựa vị trí (Position Based Crossover) o Lai ghép dựa 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 với xác suất pc, mô sau:  Chọn ngẫu nhiên hay nhiều cá thể quần thể Giả sử nhiễm sắc thể cha mẹ có m gen  Tạo số ngẫu nhiên khoảng từ đến m - (được gọi điểm lai) Điểm lai chia chuỗi cha mẹ có độ dài m thành hai nhóm chuỗi với độ dài m1, m2 hai chuỗi nhiễm sắc thể m11 + m12 m21 + m22 Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat  Đưa hai cá thể vào quần thể để tham gia trình tiến hóa Ví dụ : Hai nhiễm sắc thể cha mẹ : Parent 1: 1 1 0 1 1 0 1 Parent 2: Thì việc trao đổi chéo nhiễm sắc thể sau gen thứ năm tạo hai con: Child 1: 1 1 1 0 1 1 0 Child 2:  Phép đột biến (mutalion): Phép đột biến tượng cá thể mang (hoặc số) tính trạng có mã di truyền cha mẹ, tức sửa đổi một vài gen nhiễm sắc thể chọn cách thay đổi ngẫu nhiên với xác suất tỷ lệ đột biến Không đánh giá phương pháp đột biến tốt hơn, có vài phương pháp đơn giản, có vài trường hợp phức tạp Người ta thường chọn phương pháp sau : Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 10 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat 2.2 Giải thuật di truyền giải toán Max-Sat: o Biểu diễn cá thể: Một cá thể biểu diễn bới chuỗi X (n vecto) thành phần Xi nhận giá trị (False) (True) o Lai ghép: phép tốn mục đích xây dựng quần thể (quần thể con) từ quần thể ban đầu o Đột biến: phép toán dùng phát sinh cá thể CHƯƠNG II : XÂY DỰNG KHUNG THUẬT TỐN DI TRUYỀN Để giải tốn với độ phức tạp lớn toán có NPkhó giải pháp sử dụng thuật toán chẳng hạn thuật toán di truyền Xây dựng khung chương trình (Skeletons) cần thiết cho người muốn áp dụng thuật toán tiếng để giải tốn khó, giải tốn tương đối giống sử dụng tư tưởng của thuật giải, sử dụng hàm thư viện giống nhau, việc viết viết lại hàm thư viện khiến thời gian công sức Xây dựng khung chương trình nhằm giảm thiểu trình code cho người sau, cho người sau thử nghiệm tốn lập trình song song để hiểu tốn mà chưa cần hiểu sâu code trình phát triển Thiết kế khung thuật toán di truyền Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 14 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat Khung thuật tốn di truyền bao gồm hai lớp là: lớp Provides Requies 1.1 Lớp Provides (lớp cung cấpi) làm nhiệm vụ thi hành bên khung tốn, tạo nhiều phương án cho toán o Hàm Solver: Hiển thị trạng thái, xác suất, xác suất đột biến chọn cha mẹ Solver gồm số hàm: Class Solver { Run() // Thực thi thuật toán StartUp() // Thiết lập thông số DoStep() // Thực theo khung thuật toán newGA, } - Hàm Solver_Sqe: Giải toán phương pháp chạy máy, đầu vào toán tham số cài đặt - Hàm Solver_Lan: Giải tốn mơi trường song song chạy kết hợp nhiều máy Bao gồm khởi tạo MPI, thiết lập số hiệu máy, hàm in Solver_lan::pid() cont trả số hiệu máy từ xác định máy khách, máy chủ o Lớp Selection: Hàm lựa chọn phần tử tốt 1.2 Lớp Requied (lớp yêu cầu) Các lớp đòi hỏi sử dụng để lưu trữ liệu thuật toán : toán, trạng thái khơng gian tìm kiếm vào/ra Cụ thể bao gồm lớp o Bài toán Problem: Định nghĩa toán cần giải bao gồm số hàm: Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 15 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat Khai báo lớp Problem cho toán Maxsat Class Problem { Public: int numvar() const; // Số biến đưa vào toán int numclause() const; // Số mệnh đề toán int lenclause() const; // Chiều dài mệnh đề private: int _numvar; int _numclause; int _lenclause; int ** _clauses; } Khai báo hàm Problem - istream& operator>> (istream& is, Problem& pbm){}: Nhập vào kích thước, số mệnh đề chiều dài mệnh đề - Problem& Problem::operator= (const Problem& pbm{}: Tạo mảng chiều _clauses gồm số mệnh đề, số phần từ  tạo mảng chiều kích thước số mệnh đề, độ dài mệnh đề Lưu phần tử mệnh đề vào mảng Tạo biến _dimension Truyền giá trị số mệnh đề pbm.numlause() lớp Pro vào _numclause mảng clause Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 16 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat - Direction Problem::direction() const{}: Trả kích thước mệnh đề lớn - int Problem::dimension() const{}: Trả kích thước mệnh đề - int Problem::numclause() const : trả số mệnh đề - int Problem::lenclause() const : trả độ dài mệnh đề - int *Problem::clause(const int i) const:trả giá trị mệnh đề thứ i o Lớp Solution :định nghĩa giải pháp có khả thi hay khơng Khai báo lớp Sulutioncho toán Maxsat: Class Solution { friend ostream& operator> (istream& is, Solution& sol); // nhận vào thông số lời giải … void initialize(); // Hàm khởi tạo giá trị ngẫu nhiên cho phần tử lời giải double fitness (); // Hàm tính độ thích nghi làm sở đánh giá lời giải Một số hàm lớp Solution: - Solution& Solution::operator= (const Solution &sol): Gán giá trị phương thức lớp solution cho biến Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 17 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat - bool Solution::operator== (const Solution& sol) const: Lời giải toán xác định giá trị mệnh đề hay sai, trả giá trị cho mệnh đề - double Solution::fitness(): Hàm đánh giá lời giải toán - void Solution::to_Solution(char *_string_) : duyệt phần tử mệnh đề - void Solution::add(unsigned long element) :Phương thức thêm vào lời giải phù hợp - void Solution::initialize_feasibles(Feasibles &_feasibles): khởi tạo giá trị ban đầu cho lời giải khả thi Nếu (_freedomV[i] > 0) thêm giá trị vào danh sách lời giải khả thi - void Solution::update(Feasibles &f,unsigned long &selection) : cập nhật lời giải khả thi vào danh sách lời giải khả thi o Lớp kiểm tra điều kiện dừng (StopCondition) Để xác định điều kiện dừng toán, tốn điều kiện dừng khác nhau, thường vào một vài tham số số hệ, thời gian chạy, điều kiện đặc thù tốn o Lớp chéo hóa Crossover requires class Crossover: public Intra_Operator { public: Crossover(); virtual ~Crossover(); friend ostream& operator cfg; Mở file f2 để đọc “Problem.dat” Đọc file f2>>pbm Thực hàm SetUpParams Solver.run(); // thực hàm run Nếu máy chủ (pid()= =0) { Gọi đến hàm trạng thái (show_state()); Đưa giải pháp tốt nhất; Đưa ta Độ thích nghi tốt nhất; } Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 21 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat Khung thuật tốn song song 3.1 Lựa chọn mơ hình phần cứng: Có hai mơ hình là: mơ hình phần cứng phân tán mơ hình phần cứng dùng chung + Mơ hình phần cứng dung chung: Ưu điểm: tốc độ nhanh Nhược điểm: giá thành cao + Mơ hình phần cứng phân tán: Ưu điểm: dễ cài đặt Nhược điểm: tốc độ chậm Vì lý ta sử dụng mơ hình phần cứng phân tán để việc nói chuyện máy tính dễ dàng Trong mơ hình ta sử dụng thư viện MPI thư viện NetStream nhằm tạo thân thiện với người sử dụng 3.2 Lựa chọn mô hình phần mềm: Có ba mơ hình phần mềm: - Mơ hình chủ - khách (Master_slave):ở vi xử lý đơn trì việc điều khiển qua vùng chọn sử dụng vi xử lý khác cho việc xử lý chéo, biến đổi giá trị đơn lẻ nhiên giải thuật hữu ích cho số lượng nhỏ vi xử lý số lượng lớn thời gian, mặt khác giao tiếp tốt làm tăng khả xử lý song song - Mơ hình đảo (Island model): Trong mơ hình vi xử lý chạy giải thuật tiến hóa cách độc lập, sử dụng quần thể phụ riêng biệt vi xử lý hợp tác với việc thay đổi vị trí cách đặn Mơ hình đảo đặc biệt thích hợp cho nhóm máy tính giao tiếp bị hạn chế Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 22 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat - Mơ hình khuếch tán (Diffusion model): cá nhân không gian xếp kết hợp với cá nhân khác từ mạng nội bên cạnh Khi xử lý song song có nhiều vi xử lý giao tiếp với (như cá nhân giao tiếp với hàng xóm tương tác), giao tiếp nội Vì mơ hình phù hợp với hệ thống máy tính song song lớn với mạng nội tốc độ cao Do ta lựa chọn mơ hình phần mềm mơ hình đảo (Island model) Hàm void Solver_lan:: DoStep() Voi Solver_lan::DoStep() { current_iteration(current_iteration()+1); current_population.evolution(); current_evaluations(current_population.evaluations()); _netstream >cfg; Mở file f2 để đọc “Problem.dat” Đọc file f2>>pbm Thực hàm SetUpParams Solver.run(); // thực hàm run Nếu máy chủ (pid()= =0) { Gọi đến hàm trạng thái (show_state()); Đưa giải pháp tốt nhất; Đưa ta Độ thích nghi tốt nhất; } CHƯƠNG III SỬ DỤNG KHUNG THUẬT TOÁN DI TRUYỀN GIẢI QUYẾT BÀI TỐN MAXSAT Cài đặt tốn Maxsat: 1.1 file cấu hình cfg // số bước chạy độc lập Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 25 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat 200 // số cá thể phát sinh 50 //số cá thể 100 //kích thước quần thể lần phát sinh // thay bố mẹ // Hiển thị trạng thái ? Selections // lựa chọn để hiển thị 13 // lựa chọn bố mẹ 20 // lựa chọn Intra-Operators 0.6 // tính tốn hiển thị quần thể // khả chéo hóa 1.0 0.01 // khả đột biến Inter-Operators // tính tốn hiển thị quần thể hay quần thể khác 25 5 // tính tốn thành phần, tốc độ số cá thể, lựa chọn cá thể, lựa chọn cá thể LAN-configuration 10 // trả lại trạng thái toàn cục // 0: running in asynchronized mode / 1: running in synchronized mode 1.2 File đầu vào toán File đầu vào mảng problem.dat Gồm số biến đưa vào, mệnh đề đưa vào Sử dụng khung thuật toán newGA để giải toán Maxsat Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 26 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat Sử dụng khung thuật toán di truyền để giải toán MaxSat phải đắp thêm code vào lớp khung thuật toán Bốn lớp là: Đối với Class cụ thể ta thêm sau Class problem Solution nằm File newGA.hh để khai báo thuộc tính phương thức: - Ở lớp Problem ta phải thêm đoạn code sau: istream& operator>> (istream& is, Problem& pbm) { int l,n; is >> pbm._numvar >> pbm._numclause >> pbm._lenclause; n = pbm._lenclause; pbm._clauses = new int*[pbm._numclause]; // read clauses for (int i = 0; i < pbm._numclause; i++) { pbm._clauses[i] = new int[n]; for(int j = 0; j < n;j++) { is >> l; pbm._clauses[i][j] = l; } is >> l; } - Trong hàm initialize lớp Solution thêm vào: Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 27 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max-sat void Solution::initialize() { for (int i=0;i 0) && (_var[rl[j]-1] == 1)) ) acum = 1; } fitness += acum; } return fitness; } CHƯƠNG IV: KẾT QUẢ THỰC NGHIỆM (Chương trình chạy chưa đủ máy để chạy song song nên thứ em trình bày sau) Kết Kết song song Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B 28 ... Doanh- K55B 26 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max -sat Sử dụng khung thuật toán di truyền để giải toán MaxSat phải đắp thêm code vào lớp khung thuật toán Bốn lớp là: Đối... Đăng Doanh- K55B 13 Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max -sat 2.2 Giải thuật di truyền giải toán Max -Sat: o Biểu di? ??n cá thể: Một cá thể biểu di? ??n bới chuỗi X (n vecto)... ……………………………………………………………….26 Sử dụng khung thuật toán di truyền giải toán Max -sat? ??………………… 27 Nguyến Thị Lụa k54C – Đỗ Văn Quang – Trần Đăng Doanh- K55B Đề tài: thuật toán di tuyền song song ứng dụng giải toán Max -sat Chương

Ngày đăng: 18/08/2012, 23:13

Hình ảnh liên quan

Gọi tới hàm Problem: Hiển thị màn hình thông số đưa vào.      Hàm void Solver_sqe :: DoStep() - Giải thuật di truyền song song và ứng dụng giải bài toán max- sat

i.

tới hàm Problem: Hiển thị màn hình thông số đưa vào. Hàm void Solver_sqe :: DoStep() Xem tại trang 20 của tài liệu.
Mở file f1 là “newGA.cfg” để đọc vào cấu hình                        Đọc file f1&gt;&gt;cfg; - Giải thuật di truyền song song và ứng dụng giải bài toán max- sat

file.

f1 là “newGA.cfg” để đọc vào cấu hình Đọc file f1&gt;&gt;cfg; Xem tại trang 21 của tài liệu.
- Mô hình khuếch tán (Diffusion model): mỗi cá nhân là một không gian được sắp xếp và kết hợp với cá nhân khác từ một mạng nội bộ bên cạnh - Giải thuật di truyền song song và ứng dụng giải bài toán max- sat

h.

ình khuếch tán (Diffusion model): mỗi cá nhân là một không gian được sắp xếp và kết hợp với cá nhân khác từ một mạng nội bộ bên cạnh Xem tại trang 23 của tài liệu.
Mở file f1 là “newGA.cfg” để đọc vào cấu hình                        Đọc file f1&gt;&gt;cfg; - Giải thuật di truyền song song và ứng dụng giải bài toán max- sat

file.

f1 là “newGA.cfg” để đọc vào cấu hình Đọc file f1&gt;&gt;cfg; Xem tại trang 25 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan