Cho trước một bài toỏn cần giải quyết. Giả sử ta cú thể mó húa một lời giải bất kỡ của bài toỏn bằng một cấu trỳc dữ liệu nào đú, và mỗi cấu trỳc dữ liệu như vậy sẽ được gọi là một cỏ thể biểu diễn một lời giải của bài toỏn. Sơ đồ hoạt động của thuật toỏn di truyền sẽ là như sau
Bước 1: Xõy dựng qu n th xu t phỏt. Ta chầ ể ấ ọn ng u nhiờn ẫ Ncỏ thể ể bi u di n lễ N i gi i ờ ả khỏc nhau của bài toỏn để đưa vào quần th ể ban đầu. Tuy nhiờn để nõng cao hi u qu hoệ ả ạt động của thuật toỏn di truyền thỡ ta nờn đưa mộ ố ờt s l i gi i c a ả ủ một số phương phỏp đó biết vào qu n th ầ ể ban đầu để làm “hạt gi ng”, s cũn ố ố lại cú thể chọn ng u nhiờn. ẫ
Bước 2: Đỏnh giỏ độ thớch nghi. Áp dụng hàm đỏnh giỏ vớ đối số là kiểi u gene của cỏc cỏ thể đó được xõy d ng t trưự ừ ớc để đỏnh giỏ độ thớch nghi của từng cỏ th ể trong quần thể.
Bước 3: Sinh qu n th m i ầ ể ớ
[3a]. Chọn lọc. Lựa chọn ngẫu nhiờn 2 cỏ thể từ quần thể để phục vụ cho việc lai ghộp ở bước sau, việc lựa chọn phải thỏa món điều kiện xỏc suất được chọn của một cỏ thể tỉ lệ với độ thớch nghi của cỏ thể đú
[3b]. Lai ghộp. Sau khi chọn xong được 2 cỏ thể, dựa vào xỏc suất xảy ra ghộp chộo pc mà ta ngẫu nhiờn quyết định cú tiến hành ghộp chộo hay khụng. Nếu rơi vào trường hợp cú xảy ra ghộp chộo thỡ ỏp dụng toỏn tử ghộp chộo trờn 2 cỏ thể cha mẹ này để tạo ra 2 cỏ thể con cỏi. Nếu rơi vào trường hợp khụng xảy ra ghộp chộo thỡ 2 cỏ thể con cỏi thu được sẽ giống y 2 cỏ thể cha mẹ (một cỏ thể giống cỏ thể “cha”, cỏ thể cũn lại giống cỏ thể “mẹ”).
[3c]. Đột biến. Sau khi thu được 2 cỏ thể con cỏi, ta sẽ tiến hành đột biến trờn từng cỏ thể con cỏi vừa thu được với xỏc suất xảy ra đột biến là pm được xỏc định từ trước. Nếu cú xảy ra đột biến thỡ toỏn tử đột biến sẽ được ỏp dụng trờn cỏ thể đú để biến đổi ngẫu nhiờn kiểu gene của nú, và ta sẽ thu được cỏ thể mới. Nếu khụng xảy ra đột biến thỡ kiểu gene của cỏ thể sẽ được giữ nguyờn và ta thu lại cỏ thể con cỏi ban đầu.
[3d]. Đưa 2 cỏ thể con cỏi thu được sinh ra vào quần thể mới. Nếu số lượng cỏ thể trong quần thể mới đó đủ N thỡ chuyển sang bước 4, cũn nếu nhỏ hơn N thỡ ta quay lại bước 3. (Do mỗi lần bổ sung cỏ thể vào quần thể mới, ta đều đưa 2 cỏ thể vào. Trong trường hợp N
lẻ thỡ ở lần bổ sung cuối cựng, dõn số của quần thể mới sẽ là N+1, khi đú ta sẽ lựa chọn ngẫu nhiờn một cỏ thể trong quần thể mới để loại ra ngoài nhằm giữ nguyờn dõn số của quần thể qua cỏc thế hệ)
Bước 4: Thay th quế ần thể cũ bằng qu n th mầ ể ới vừa thu được.
Bước 5: Kiểm tra điều kiện d ng c a thu t toỏn. Nừ ủ ậ ếu chưa thỏa món điều ki n d ng thỡ ệ ừ quay lại bước 2. Nếu điều ki n dệ ừng được thỏa món thỡ kết thỳc thuật toỏn.
Lời giải: Cỏ thể tốt nhất phỏt hiện được trong tất cả cỏc thế hệ quần thể sẽ là lời giải cho bài toỏn của thuật toỏn di truyền
Tập hợp tất cả cỏc vũng lặp sinh quần thể tạo thành một lượt chạy (run) của thuật toỏn di truyền. Thụng thường một lượt chạy thường cú khoảng từ 50 đến 500 hoặc nhiều hơn lần sinh quần thể (generation).
Trong hoạt động của thuật toỏn di truyền ta thấy yếu tố ngẫu nhiờn đúng vai trũ nhất định, vỡ thế 2 lượt chạy khỏc nhau cú thể cho ra kết quả khỏc nhau.
Trờn đõy là sơ đồ hoạt động chung của thuật toỏn di truyền. Ngoài ra để nõng cao hiệu quả hoạt động của thuật toỏn di truyền, người ta cú thể đưa thờm vào một số bước, vớ dụ sau khi thực hiện bước [3d] ta cú thể ỏp dụng thờm cỏc kĩ thuật tỡm kiếm cực trị địa phương để làm tốt lời giải thu được.
Sơ đồ hoạt động chung cho ta một hỡnh dung khỏi quỏt về nguyờn lý làm việc của thuật toỏn di truyền, tuy nhiờn để xõy dựng một thuật toỏn di truyền cụ thể cho một bài toỏn cụ thể thỡ vẫn cũn rất nhiều việc cần phải làm tiếp như là:
Làm thế nào để bi u di n l i gi i b ng nh ng cỏ th trong qu n th . Ngoài ra, m t ể ễ ờ ả ằ ữ ể ầ ể ộ bài toỏn cú th cú nhiể ều cỏch khỏc nhau để mó hoỏ l i giải. Việc chọờ n cỏch biểu diễn lời giải trong cỏ thể ẽ ảnh hưởng đến việc lựa chọn cỏc toỏn tử di truyền (lai ghộp, s đột bi n…) vỡ m i cỏch bi u di n s cú nh ng toỏn t ế ỗ ể ễ ẽ ữ ử tương ứng làm việc trờn đú. Giỏ trị độ thớch nghi c a cỏc cỏ th ủ ể được xỏc định như thế nào. Vi c l a ch n hàm ệ ự ọ
mục tiờu đỏnh giỏ độ thớch nghi sẽ ảnh hưởng đến việc định hướng hoạt đ ng của ộ thuật toỏn, do đú ếu lựa chọn hàm mục tiờu phự hợp thỡ thuật toỏn sẽ n ho t đ ng ạ ộ mang lại kết qu tả ốt và ngược lại.
Xỏc định m t s tham s khỏc trong thuộ ố ố ật toỏn như
o Kớch thước qu n thầ ể. Kớch thước qu n th nh quỏ thỡ hi u qu tỡm ki m s ầ ể ỏ ệ ả ế ẽ thấp, ngược lại kớch thước lớn quỏ thỡ quỏ trỡnh h i tộ ụ đế n l i giờ ải cũng chậm và thời gian thực hi n c a thuệ ủ ật toỏn cũng tăng lờn.
o Lựa chọn điều kiện dừng. Thụng thường điều kiện dừng là thuật toỏn đó thực hiện đủ ộ m t số lượng xỏc định cỏc bư c lặớ p sinh qu n thầ ể. Nhưng ta cũng cần ch n s lưọ ố ợng bướ ặc l p này cho phự h p. N u ớt quỏ thỡ vựng tỡm ợ ế kiếm sẽ ị ạ b h n ch , cũn n u nhi u quỏ thỡ th i gian s ế ế ề ờ ẽ tăng. Bờn cạnh đú nếu khụng cú chiến lược xử lý h p lý trong quỏ trỡnh tỡm ki m thỡ viợ ế ệc tăng số vũng l p sinh qu n th ặ ầ ể cũng khụng mang lại điều gỡ thờm.
o Xỏc định cỏc giỏ tr xỏc su t đ t bi n pị ấ ộ ế m và xỏc suất lai ghộp pc cho phự hợp. Nếu những xỏc suất này cú giỏ trị cao thỡ quỏ trỡnh tỡm kiếm sẽ cú tớnh đa dạng và phõn tỏn, tuy nhiờn tớnh hội tụ ại chậm và ngược lại. Người ta l thường để giỏ tr c a pị ủ m và pc t ự điều chỉnh theo kết quả tỡm kiếm, vớ dụ qua nhiều thế ệ mà kết quả tỡm ki h ếm khụng được cải thi n thỡ ệ pm và pc s ẽ được tăng lờn nhằm chuyển hướng tỡm ki m sang vựng khỏc, trỏnh hiế ện tượng b ị tắc nghẽ ởn những cực trị địa phương. Cũn trong trường hợp quỏ trỡnh tỡm kiếm đang diễn ra khả quan thỡ pm và pc s ẽ được điều chỉnh thấp xuống nh m trỏnh nhằ ững tỏc động tiờu cực đ i vớố i quỏ trỡnh hội tụ ủa lờ c i gi ải. Cỏc thủ ụ t c tỡm ki m c c b nh m làm t t nh ng cỏ th ế ụ ộ ằ ố ữ ể thu được s ẽ được xõy d ng ự
như thế nào.
Để ả gi i quy t nh ng vế ữ ấn đề trờn, mỗi ngườ ẽi s cú những cỏch làm khỏc nhau và do đú sẽ cú k t qu khỏc nhau. Viế ả ệc lựa chọn cỏch làm cụ thể đối với nh ng vữ ấn đề trờn s nh ẽ ả hưởng tr c ti p t i hi u qu c a thu t toỏn di truy n. ự ế ớ ệ ả ủ ậ ề