Tính toán tiến hóa

Một phần của tài liệu (LUẬN văn THẠC sĩ) về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng 04 (Trang 35)

CHƯƠNG 1 : TỔNG QUAN VỀ PHÂN CỤM MỜ

2.1. Tính toán tiến hóa

Trên trái đất sự sống rất đa dạng có hàng triệu loài, mỗi loài có những hành vi và đặc điểm riêng. Tất cả từ những thực vật, động vật, con chim, con cá và các sinh vật khác đều đã tiến hóa, tiếp tục tiến hóa và phát triển qua hàng triệu năm. Chúng đã thích nghi với môi trường thay đổi liên tục, chúng thay đổi liên tục để sinh tồn. Những thành viên nào yếu và không thích ứng được với loài có xu hướng chết đi, những thành viên khỏe hơn sẽ tiếp tục tồn tại và sinh sản để bảo tồn giống loàị Cuộc sống bị chi phối bởi quy luật chọn lọc tự nhiên và tiến hóa của Darwin - cuộc đấu tranh sống còn [22].

Và từ quy luật sự sống các loài ở trên người ta có những ý tưởng về tính toán tiến hóa (EC). Tính toán tiến hóa là mô phỏng của quá trình chọn lọc tự nhiên trong thủ tục tìm kiếm. Trong tự nhiên, các sinh vật có đặc trưng nhất định tác động đến sự sống và sinh sản của chúng. Những đặc trưng này được mã hóa thành những thông tin trên nhiễm sắc thể. Nhiễm sắc thể con mới được tạo ra bằng cách ghép đôi và sinh sản. Kết quả cuối cùng có được nhiễm sắc thể con có chứa đặc tính tốt nhất từ nhiễm sắc thể của bố mẹ cho phép chúng sống sót trong môi trường không thuận lợị Với quá trình chọn lọc tự nhiên chắc chắn những cá thể tốt sẽ có cơ hội được kết hợp với nhau, cho ra những con tương ứng hoặc có thể tốt hơn

Trong quần thể, khi mỗi thế hệ xuất hiện và mất đi, những cá thể yếu hơn có xu hướng chết đi mà không sinh sản ra con, cá thể khỏe hơn còn lại sẽ lại kết hợp với cá thể khác để tiếp tục sinh sản ra con, con mới có thể có những thuộc tính của cả cha lẫn mẹ và tiếp tục tiến hóạ

Các phép sử dụng trong EC bao gồm: Phép lai ghép, phép đột biến và phép chọn lọc. Các phép này có thể kết hợp với nhau trong một mô hình tiến hóa

Định nghĩa tính toán tiến hóa:

Thuật toán mô phỏng [6] một hàm f V: R, trong đó V là không gian tìm

kiếm, f được gọi là hàm thích nghi chứa đựng các thông tin đặc trưng cho bài toán. Mỗi vòng lặp của tính toán tiến hóa có thể định nghĩa bởi công thức:

 

 

1 ,

i i i

v  v f v

Trong đó: :VRV là một hàm tạo ra một vector mới, nghĩa là một quần

thể mới vi1 từ quần thể cũ vi,  thường được xác định bởi dạng tính toán đang sử

dụng, cách chọn quần thể mới từ quần thể cũ và các con mới sinh ra cùng.

Tính toán tiến hóa như là một khái niệm chung cho giải quyết bài toán, đặc biệt đối với bài toán tối ưu hóa và áp dụng các thuật toán tiến hóa đã giải quyết được các bài toán tối ưu khó. Ngày nay thuật toán trên thu hút rất nhiều nhà nghiên cứu tham gia nghiên cứụ

Các khái niệm liên quan:

- Biểu diễn cá thể: Mỗi cá thể biểu diễn trong thuật giải di truyền tương ứng

với một giải pháp của bài toán.

- Đánh giá độ thích nghi: Độ thích nghi là khả năng phù hợp của mỗi cá thể

hay mỗi giải pháp đối với môi trường, môi trường tương ứng với bài toán đang cần giải quyết. Xây dựng độ thích nghi cũng là một bước quan trọng trong thuật toán di truyền. Để đánh giá được độ thích nghi của các cá thể giải thuật di truyền sử dụng một hàm đo độ thích nghị

- Lai ghép: Là quá trình tạo ra các cá thể mới dựa trên nhiều cá thể đã có, gọi

- Đột biến: Là quá trình tạo ra cá thể mới từ một cá thể ban đầu bằng cách thay đổi một số gen của nó.

- Chọn lọc và thay thế: Chọn lọc và thay thế là quá trình chọn những cá thể

từ quần thể hiện tại để tạo ra thế hệ sau của nó. Trong quá trình này diễn ra sự đào thải những cá thể yếu, chỉ giữ lại những cá thể tốt. Những cá thể có độ thích nghi lớn hơn hoặc bằng với độ thích nghi tiêu chuẩn sẽ được giữ lại và độ thích nghi của cá cá thể trong quần thể sẽ tốt hơn sau nhiều thế hệ.

Điều kiện dừng: Thuật toán di truyền là một quá trình ngẫu nhiên, nên không thể đảm bảo chắc chắn thuật toán sẽ dừng sau hữu hạn bước. Vì vậy, để đảm bảo thuật toán di truyền kết thúc, người dùng thường phải định nghĩa điều kiện dừng cho thuật toán di truyền.

2.2. Các dạng của thuật toán tiến hóa

Có rất nhiều biến thể khác của thuật toán tiến hóa EA, song ý tưởng chung của các thuật toán này là giống nhaụ Với một quần thể các cá thể, quá trình chọn lọc tự nhiên cho ra nhóm các cá thể riêng hay cho ra một loài, sự sống của chúng phụ thuộc vào khả năng thích nghi của chúng. Các biến thể phổ biến của thuật toán tiến hóa:

 Lập trình tiến hóa

 Các chiến lược tiến hóa

 Thuật toán di truyền

 Lập trình di truyền

 Tiến hóa vi phân

2.2.1. Thuật toán lập trình tiến hóa

Được đề xuất bởi Lawrence J. Fogel trong những năm 1960, là chiến lược tối ưu hóa ngẫu nhiên. EP sau đó được phát triển thêm bởi David Fogel trong năm 1990.

Thuật toán lập trình tiến hóa EP khác thuật toán tiến hóa khác là không có lai ghép mà chỉ thực hiện phép lựa chọn và phép đột biến để sinh ra thế hệ quần thể mớị

EP tập trung vào sự phát triển của các hành vi và những mẫu không di truyền. EP có nguồn gốc từ mô phỏng các hành vi tiến hóa tương ứng. Do đó, EP như là một tiến hóa kiểu hình. Quá trình tiến hóa là quá trình tìm tập các hành vi tối ưu từ tập các hành vi quan sát được. Với thuật toán này, độ đo thích nghi đo hành vi lỗi của cá thể trong quần thể trong môi trường của cá thể đó.

Mục tiêu của thuật toán có thể là tìm giải pháp tối ưu hoặc tìm giải pháp nhanh nhất

Thuật giải EP

Gồm 4 bước (EP được lặp cho đến khi một vượt qua một ngưỡng cho trước hoặc thu được một giáp pháp thích hợp):

Bước 1: Khởi tạo quần thể.

Một quần thể được khởi tạo ngẫu nhiên, bao gồm không gian tìm kiếm của bài toán tối ưụ

Số lượng các cá thể trong quần thể phù hợp với tốc độ tối ưu hóa, nhưng không xác định được bao nhiêu cá thể là đủ và bao nhiêu cá thể là lãng phí.

Bước 2: Đột biến.

Các cá thể con được sinh ra bằng thực hiện phép đột biến ngẫu nhiên trên quần thể cha mẹ. Mức độ của đột biến được đánh giá dựa trên thay đổi chức năng so với cha mẹ.

Bước 3: Đánh giá.

Mỗi cá thể được đánh giá bằng tính giá trị hàm mục tiêu

Quá trình chọn lọc tự nhiên trong EP thường dựa trên độ đo thích nghị Cá thể được lựa chọn cho thế hệ tiếp theo dưa trên độ đo thích nghi tương đốị

Bước 4: Lựa chọn.

Mục tiêu lựa chọn cá thể từ cha mẹ và con cháu cho thế hệ saụ Thông thường, có sự đấu tranh ngẫu nhiên để xác định N cá thể được giữ lại cho thế hệ saụ EP thực hện phép lựa chọn và phép đột biến để sinh ra thế hệ quần thể mớị

2.2.2. Chiến lược tiến hóa

ES được đề xuất để giải quyết bài toán tối ưu hóa các tham số do Rechenberg năm 1960 và tiếp tục phát triển bởi Schwefel. Tối ưu hóa dựa trên giả thuyết quy luật tiến hóa sinh học.

Các giả định để mã hóa các biến trong ES là thực hiện mối quan hệ nhân quả đủ mạnh, tức là những nguyên nhân thay đổi nhỏ cũng phải tạo ra những thay đổi nhỏ về hiệu quả.

ESs đầu tiên là một quần thể chỉ có một cá thể. ES cũng chỉ thực hiện phép một di truyền là đột biến trong quá trình tiến hóa

Thuật toán này cho phép từ một số chiếm lược ban đầu tạo ra những chiến lược mới phù hợp với môi trường thực tế một cách tốt nhất.

2.2.3. Thuật toán di truyền

GA được áp dụng rộng rãi và phổ biến nhất ngày naỵ Do John Holland đã mở rộng nghiên cứu trong những 1960 và 1970.

GA cá thể được biểu diễn bằng các chuỗi (Tương tự như thông tin di truyền được mã hóa trong sinh vật như nhiễm sắc thể). Mỗi cá thể trong quần thể cho thấy một giải pháp tiềm năng cho bài toán

Trong GA, được bắt đầu với một quần thể. Từ các cá thể của quần thể hiện tại tạo ra quần thể thế hệ kế tiếp bằng các phép di truyền.

Quần thể hiện tại được ước lượng dựa vào độ đo thích nghi, chọn theo xác suất các cá thể cho việc sản sinh thế hệ kế tiếp. Cá thể nào phát triển hơn, thích ứng hơn với môi trường sẽ tồn tại và ngược lại sẽ bị đào thảị

GA có thể tìm thế hệ mới có độ thích nghi tốt hơn. GA giải quyết các bài toán

quy hoạch toán học thông qua các phép di truyền cơ bản: lai tạo, đột biến và chọn

lọc cho các cá thể trong quần thể. Dùng GA đòi hỏi phải xác định được: khởi tạo

quần thể ban đầu, hàm đánh giá các giải pháp theo mức độ thích nghi – hàm mục tiêu, các toán tử di truyền tạo hàm sinh sản.

Giải thuật của GA

Bước 1. Khởi tạo:

Sinh ngẫu nhiên một quần thể gồm các cá thể

Bước 2: Quần thể mới:

Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi quần thể mới hoàn thành

ạThích nghi: Ước lượng độ thích nghi của mỗi cá thể.

b. Kiểm tra: Kiểm tra điều kiện kết thúc giải thuật.

c. Chọn lọc: Chọn hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi của chúng, cá thể có độ thích nghi càng cao thì càng có nhiều khả năng được chọn.

d. Lai ghép: Với một xác suất lai ghép được chọn, lai ghép hai cá thể bố mẹ để tạo ra một cá thể mớị

Bước 3. Chọn kết quả:

Nếu điều kiện dừng được thỏa mãn thì thuật toán kết thúc và trả về lời giải tốt nhất trong quần thể hiện tạị

2.2.4. Lập trình di truyền

Friedberg là một trong những người đầu tiên phát triển các chương trình máy tính. Thuật ngữ "tiến hóa" chưa được sử dụng thời điểm đó, mặc dù tác giả đã nghiên cứu về tiến hóạ Dunham và North đã nghiên cứu lĩnh vực này với IBM vào những năm 1970 và 1980 cho đến đầu 1990. John R. Koza đã ứng dụng phương pháp GA để thực hiện tự động phương trình đạo hàm, quy tắc logic hay các hàm chương trình. Ông lần đầu tiên sử dụng thuật ngữ "lập trình di truyền" và sử dụng cấu trúc mã hóa hình câỵ

GP mạnh hơn các thuật tóan di truyền, vì kết quả của thuật toán di truyền là một lượng nào đó còn đầu ra của GP là chương trình tính toán. Các cá thể trong quần thể của GP là các chương trình máy tính. Lá là các biến đầu vào hoặc hằng số. Các giá trị truyền đến các node, tại mỗi node thực hiện phép tính toán học hoặc tính toán các hàm chương trình rồi về phía gốc của câỵ

Để tìm lời giải cho một bài toán, người ta xây dựng một quần thể các chương trình máy tính, trải qua quá trình tiến hóa, các chương trình cạnh tranh nhau, các chương trình yếu bị loại bỏ và cuối cùng cho ta chương trình tốt.

GP làm việc tốt nhất trong một số bài toán như là:

- Bài toán không giải pháp. Ví dụ, một chương trình lái xe ô tô. - Bài toán tìm các giải pháp mà các biến thay đổi liên tục.

Tập lời giải: Quần thể ban đầu gồm có một tập các cây được sinh ngẫu nhiên. Hàm thích nghi: Đánh giá độ thích nghi của một câỵ Các đánh giá dựa trên bộ test đã được chọn trước

Trong GP các phép lai tạo, phép đột biến và phép chọn lọc được sử dụng trong quá trình chọn lọc tự nhiên.

2.2.5. Tiến hóa vi phân

DE là một thuật toán tìm kiếm trực tiếp trên quần thể để giải quyết bài toán tối ưu liên tục. DE được phát triển bởi Kenneth Pricẹ

Sự khác nhau giữa DE và các EAs khác là DE lựa chọn hai cá thể là hai vector ngẫu nhiên để đảo vector quần thể. DE thực hiện đột biến dựa trên sự phân bố của các giải pháp trong quần thể hiện tại đầu tiên và ứng dụng lai chép sinh ra con cáị Bằng cách này, hướng tìm kiếm và số các bước phụ thuộc vào vị trí các cá thể được lựa chọn cho tính toán các giá trị đột biến.

Thuật toán DE

Bước 1: Khởi tạo các vector tham số

Bước 2: Đột biến với các vector khác

Bước 3: Thực hiện lai ghép

Bước 4: Chọn lọc

2.2.6. Thuật toán văn hóa

Văn hóa tổng hợp của hành vi học hỏi của một quần thể mà thường được coi là truyền thống của quần thể truyền từ thế hệ này sang thế hệ khác. Một số nhà nghiên cứu xã hội cho rằng văn hóa có thể mã hóa và truyền qua lại giữa các quần thể, như là một cơ chế kế thừạ

Robert Reynolds sử dụng ý tưởng này để phát triển một mô hình tính toán gọi là thuật toán văn hóa CẠ Một CA là một cơ chế kế thừa, không gian quần thể thể hiện các đặc điểm di truyền và không gian tín ngưỡng thể hiện bản sắc văn hóạ

Mỗi cá thể trong quần thể là một tập các tính trạng hay các hành vị Một hàm đánh giá sử dụng đánh giá hiệu quả của mỗi cá thể trong giải pháp của bài toán.

Quá trình lựa chọn là chọn ra bố mẹ để phát triển cho thế hệ tiếp theọ Quá trình tiến hóa được thực hiện với những hoạt động nhất định hướng đến vùng đặc biệt

Sự tương tác giữa niềm tin và quần thể thông qua kênh truyền thông.

CA hỗ trợ hai mô hình kế thừa, một là tiến hóa đặc điểm ở cấp độ tiến hóa vi mô, còn lại tiến hóa tín ngưỡng ở cấp độ vĩ mô. Hai mô hình này tương tác thông qua kênh truyền thông, các kênh này cho phép cấu trúc niềm tin hạn chế hành vi cá thể. Như vậy, CA gồm 3 thành phần cơ bản: Không gian tín ngưỡng, quần thể, và kênh truyền thông.

2.3. Một số thuật toán cụ thể

2.3.1.Tìm kiếm cục bộ

Các thuật toán tìm kiếm cục bộ được áp dụng rộng rãi cho nhiều bài toán khó, bao gồm cả các bài toán của khoa học máy tính (trí thông minh nhân tạo đặc biệt), toán học, hoạt động nghiên cứu, kỹ thuật, và tin sinh học.

Một thuật toán tìm kiếm cục bộ bắt đầu từ một giải pháp được đề xuất và sau đó lặp đi lặp lại bước dịch chuyển đến một giải pháp lân cận. Để thực hiện được điều đó, phải xác định được mối quan hệ lân cận trên không gian tìm kiếm. Thông thường, mọi giải pháp đề xuất có nhiều giải pháp lân cận; Chọn một giải pháp để dịch chuyển, chỉ sử dụng thông tin về các giải pháp lân cận tại thời điểm hiện tại, do đó thuật toán tìm kiếm trên gọi là thuật toán tìm kiếm cục bộ.

Khi hình trạng không cải tiến được thể hiện trong lân cận, tìm kiếm cục bộ bị kẹt tại một điểm tối ưu cục bộ. Bài toán tối ưu cục bộ có thể khắc phục bằng cách

khởi động lại (lặp đi lặp lại tìm kiếm cục bộ với điều kiện ban đầu khác), hoặc phương pháp phức tạp hơn vẫn dựa trên quá trình lặp giống như mô phỏng luyện kim.

Thuật toán tìm kiếm cục bộ dừng khi gặp ràng buộc về thời gian. Hoặc tìm được giải pháp sau một số nhất định các bước lặp giải pháp đó không cải thiện và giải pháp đó là giải pháp tốt nhất.

Thuật toán tìm kiếm cục bộ có thể linh hoạt: Nó có thể trả về giải pháp có giá

Một phần của tài liệu (LUẬN văn THẠC sĩ) về tính hiệu quả của các thuật toán tối ưu tiến hóa cho phân cụm mờ và ứng dụng trong phân tích nhu cầu khách hàng 04 (Trang 35)

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

(90 trang)