Thuật giải di truyền, cân bằng khối lượng cơ cấu, áp dụng thuật giải di truyền tính toán cân bằng khối lượng của cơ cấu. Thuật giải di truyền, cân bằng khối lượng cơ cấu, áp dụng thuật giải di truyền tính toán cân bằng khối lượng của cơ cấu.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH: CƠ HỌC KỸ THUẬT
TÍNH TOÁN CÂN BẰNG KHỐI LƯỢNG CƠ CẤU PHẲNG BẰNG THUẬT GIẢI DI TRUYỀN
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
LUẬN VĂN THẠC SĨ KHOA HỌC
TÍNH TOÁN CÂN BẰNG KHỐI LƯỢNG CƠ CẤU PHẲNG
BẰNG THUẬT GIẢI DI TRUYỀN
NGÀNH: CƠ HỌC KỸ THUẬT
MÃ SỐ:62.52 02 01 HOÀNG XUÂN KHOA
Người hướng dẫn khoa học: GS TSKH NGUYỄN VĂN KHANG
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 4
Chương I 6
THUẬT GIẢI DI TRUYỀN 6
1.1 Giới thiệu 6
1.2 Cấu trúc của thuật giải di truyền 6
1.3 Thuật giải di truyền - cơ chế thực hiện 11
Chương II: 36
CẦN BẰNG KHỐI LƯỢNG CƠ CẤU 36
2.1 Thu gọn hệ lực quán tính của hệ nhiều vật rắn 36
2.2 Các điều kiện cân bằng khối lượng của cơ cấu dưới dạng vi phân 38
2.2.1 Định nghĩa về cân bằng khối lượng 38
2.2.2 Điều kiện cân bằng tổng quát 38
2.2.3 Điều kiện cân bằng khối lượng của cơ cấu phẳng một bậc tự do 39
2.2.4 Điều kiện cân bằng khối lượng của cơ cấu phẳng nhiều bậc tự do 41
2.3 Biến đổi các điều kiện cân bằng khối lượng của cơ cấu về dạng đại số 42
2.3.1 Các tọa độ suy rộng dư tối thiểu 42
2.3.2Cơ cấu phẳng 43
2.4 Thiết lập các điều kiện cân bằng khối lượng cho một số cơ cấu phẳng 51
2.4.1 Thiết lập các điều kiện cân bằng khối lượng cho cơ cấu 4 khâu phẳng 51
2.4.2 Cơ cấu năm khâu phẳng 71
CHƯƠNG III 86
ÁP DỤNG THUẬT GIẢI DI TRUYỀN TÍNH TOÁN 86
CÂN BẰNG KHỐI LƯỢNG CỦA CƠ CẤU 86
KẾT LUẬN 94
TÀI LIỆU THAM KHẢO 95
PHỤ LỤC 98
Trang 4DANH MỤC CÁC KÝ HIỆU VÀ CÁC CHỮ CÁI VIẾT TẮT
Thuật giải di truyền (Genetic Algorithms) GA
Véc tơ đại số, ma trận p, A, z, v, w,…
Véc tơ lực quán tính chính F *
Véc tơ mômen lực quán tính chính M*O
Tọa độ khối tâm của khâu (hệ tọa độ động
gắn với khâu đó)
Si Si
Si,η ,ςξ
Các tọa độ khối tâm của khâu ( hệ tọa độ cố
Si
.
z,y,x
Trang 5DANH MỤC CÁC HÌNH VẼ Hình 1.1 Đồ thị hàm f( )x =x×sin(10πx)+1
Hình 2.3 Sơ đồ động học và các hệ tọa độ của cơ cấu 4 khâu
Hình 2.4 Cân bằng mô men lực quán tính cơ cấu 4 khâu
Hình 2.5 Cơ cấu năm khâu phẳng
Trang 6LỜI NÓI ĐẦU
Các khái niệm cân bằng động lực thường được hiểu theo nghĩa làm giảm tác dụng xác định nào đó của lực khối lượng (lực quán tính, mômen lực quán tính) của các khâu hoặc làm giảm tác dụng xác định nào đó của các lực công nghệ biến đổi Bài toán cân bằng động lực đã được đề cập đến trong nhiều sách
về động lực học máy [2] và lý thuyết cơ cấu [7], [8]
Cân bằng khối lượng (hoặc cân bằng lực quán tính chính và mômen quán tính) là các biện pháp nhằm mục đích làm tối thiểu lực quán tính chính và
mômen chính lực quán tính của cơ cấu tác dụng lên giá đỡ Bài toán này bao gồm cả việc làm triệt tiêu các điều hòa của lực khối lượng hoặc giữ cho khối tâm chung của cớ cấu đứng yên
Thuật toán di truyền hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất, và tự nó đã mang tính tối ưu Quan niệm này có thể được xem là một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế khách quan Quá trình tiến hóa thể hiện tính tối
ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước Cá thể nào không thích ứng được với môi trường sẽ bị đào thải
Luận án này đã áp dụng thuật toán di truyền để tối ưu các điều kiện cân bằng khối lượng của bài toán
Tương ứng với chủ đề nêu ở trên, luận án này được chia làm ba chương và một phụ lục Chương một tìm hiểu về thuật toán di truyền, chương hai xây dựng điều kiện cân bằng khối lượng của cơ cấu phẳng và cuối cùng chương ba ứng dụng thuật toán di truyền cho bài toán cân bằng khối lượng cơ cấu phẳng
Do thuật toán di truyền còn khá mới mẻ, và đặc biệt ở Việt Nam các tài liệu chỉ viết dưới dạng minh họa thuật toán, nhưng chưa được cài đặt nên công việc tiếp cận ban đầu gặp nhiều khó khăn, đặc biệt trong quá trình triển khai cài đặt thuật giải Tuy nhiên được sự chỉ bảo tận tình của GS Nguyễn Văn Khang, tôi đã hoàn thành luận án này Tôi xin trân thành gửi lời cảm ơn tới giáo sư và
Trang 7các thầy cô giáo trong bộ môn đã giúp đỡ tôi về chuyên môn trong suốt thời gian học tập cao học và giúp đỡ tôi hoàn thành luận văn này
Trang 8Chương I THUẬT GIẢI DI TRUYỀN
1.1 Giới thiệu
Trong thực tiễn có nhiều bài toán tối ưu quan trọng đòi hỏi những thuật giải chất lượng cao Nói chung bài toán tối ưu có thể được xem như bài toán tìm kiếm giải pháp (tốt nhất) trong không gian (vô cùng lớn) các giải pháp Khi không gian tìm kiếm nhỏ, các phương pháp cổ điển cũng đủ thích hợp, nhưng khi không gian tìm kiếm lớn cần phải dùng đến kỹ thuật mới Thuật giải di truyền (GA: Genetic Algorithm) là một trong những kỹ thuật đó GA là một loại thuật toán 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
Thực ra GA thuộc lớp các thuật giải xác suất, 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ể) – tất cả những phương pháp khác chỉ xử lý một điểm trong không gian tìm kiếm Chính
vì thế GA mạnh hơn các phương pháp tìm kiếm hiện có rất nhiều
Thuật giải di truyền do D.E Goldberg đề xuất, được L.David và Michaleviz phát triển Đây là thuật toán sẽ được trình bày chi tiết trong chương này
1.2 Cấu trúc của thuật giải di truyền
Thuật giải 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ể Điều này có thể gây chút
Trang 9lẫn lộn: mỗi tế bào của một cơ thể của một chủng loại đã cho, mang một số những nhiễm sắc thể nào đó (thí dụ, người có 46 nhiễm sắc thể) nhưng trong thuật giải di truyền, ta chỉ có thể nói về những cá thể có một nhiễm sắc thể Các nhiễm sắc thể được tạo thành từ các đơn vị – các gen – biểu diễn trong một chuỗi tuyến tính, mỗi gen kiểm soát một (số) đặc trưng Gen với những đặc trưng nhất định có vị trí nhất định trong nhiễm sắc thể Bất cứ đặc trưng nào của mỗi cá thể
có thể tự biểu hiện một cách phân biệt và gen có thể nhận một số giá trị khác nhau (các giá trị về tính năng)
Mỗi kiểu (nhóm) gen (ta gọi là 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 (ý nghĩa 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êm 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
Thuật giải di truyền cũng như các thuật toán tiến hóa nói chung, hình thành trên quan niệm cho rằng quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu Quan niệm này có thể xem như một tiên đề đúng không chưng minh được nhưng phù hợp với thực tế khách quan Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trước Tiến hóa tự nhiên được duy trì nhờ 2 quá trình tiến hóa cơ bản: sinh sản và chọn lọc tự nhiên Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ mới luôn được sản sinh ra để bổ sung thay thế thế hệ cũ 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 Cá thể nào không thích ứng được với môi trường sẽ bị đào thải Sự thay đổi môi
Trang 10trường là động lực thúc đẩy quá trình tiến hóa Ngược lại tiến hóa cũng tác động trở lại góp phần làm thay đổi môi trường
Các cá thể mới sinh ra trong quá trình tiến hóa nhờ sự lai ghép ở thế hệ cha mẹ Một cá thể mới có thể mang những tính trạng của cha mẹ (di truyền) cũng có thể mang những tính trạng hoàn toàn mới (đột biến) Di truyền và đột biến là hai cơ chế có vai trò quan trọng như nhau trong quá trình tiến hóa, dù rằng đột biến xảy ra với xác suất nhỏ hơn nhiều so với hiện tượng di truyền Các thuật toán tiến hóa tuy có những điểm khác biệt nhưng đều mô phỏng bốn quá trình cơ bản là lai ghép, đột biến, sinh sản và chọn lọc tự nhiên
Quá trình lai ghép (phép lai)
Phép lai là quá trình hình thành nhiễm sắc thể mới trên cơ sở các 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 Phép lai xảy ra với xác xuất Pc có thể mô phỏng như sau:
• Chọn ngẫu nhiên hai (hay nhiều) cá thể 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 (gọi là điểm lai) Điểm lai chia các chuỗi cha mẹ dài m thành hai nhóm chuỗi con dài m1, và m2 Hai chuỗi nhiễm sắc thể con mới sẽ là m11+m22 và m21+m12
• Đưa hai cá thể mới này vào quần thể mới tiếp theo
Quá trìn đột biến (phép đột biến)
Đột biến là hiện tượng cá thể con mang một số tính trạng không có trong
di truyền của cha mẹ Phép đột biến này xảy ra với xác xuất Pm nhỏ hơn rất nhiều
so với xác xuất Pc Phép đột biến có thể mô phỏng như sau:
• Chọn ngẫu nhiên một các thể bất kì cha mẹ trong quần thể
Trang 11• Tạo một số ngẫu nhiên k trong khoảng từ 1 đến m-1, 1≤ k ≤ m
• Thay đổi gen thứ k và trả cá thể này về quần thể để tham gia quá trình tiến hóa tiếp theo
Quá trình sinh sản và chọn lọc (Phép tái sinh và phép chọn lọc)
Phép tái sinh là quá trình trong đó các các thể được sao chép trên cơ sở độ thích nghi của nó Độ thích nghi là một hàm gán một giá trị thực cho các cá thể trong quần thể, các độ thích nghi đều dương (trong trường hợp các độ thích nghi
âm thì ta có thể dùng một vài phép biến đổi tương ứng để định lại tỷ lệ sao cho các độ thích nghi đều dương) Trong bài toán tối ưu thì hàm mục tiêu thường được dùng để tính toán độ thích nghi cho các cá thể
Quá trình sinh sản có thể được mô phỏng như sau:
• Tính độ thích nghi của từng cá thể trong quần thể hiện hành, lập bảng cộng dồn các giá trị thích nghi (theo số thứ tự gán cho từng cá thể) như sau: Giả sử quần thể có n cá thể Gọi độ thích nghi của cá thể thứ i là Fi, tổng
dồn thứ i là ∑ , tổng độ thích nghi của toàn quần thể là
=
= i
1 j j
n FF
• Tạo một số ngẫu nhiên F trong đoạn từ 0 đến Fn
• Chọn cá thể thứ k đầu tiên thỏa mãn F ≥ Ftk đưa vào quần thể của thế hệ mới
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ó thể được mô phỏng như sau:
• 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ử quần thể
có kích thước cố định n)
Thuật giải di truyền giải một bài toán phải có năm thành phần sau đây:
Trang 12• Một cấu trúc dữ liệu I 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 eval() đóng vai trò môi trường
• Các phép toán di truyền như đã mô phỏng
• Các tham số thuật giải di truyền sử dụng (kích thước quần thể, xác suất lai, đột biến,…)
Tiến trình khởi tạo quần thể ban đầu rất đơn giản: ta tạo một quần thể gồm
n cá thể (hay n nhiễm sắc thể) trong đó mỗi cá thể là một véctơ nhị phân gồm m bít nhị phân (mỗi bít chỉ nhận một trong hai giá trị 0 và 1), tất cả m bít đều được khởi tạo ngẫu nhiên
Thuật giải di truyền có thể được mô tả tóm tắt như sau:
Bắt đầu
t = 0
Khởi tạo P(t)
Tính độ thích nghi cho các cá thể thuộc P(t)
Khi (điều kiện dừng chưa thỏa mãn) lặp
Trang 131.3 Thuật giải di truyền - cơ chế thực hiện
Trong phần này, sẽ trình bày về cơ chế thực hiện của thuật giải di truyền thông qua một bài toán tối ưu đơn giản Ta sẽ bắt đầu thảo luận một vài ý kiến chung trước khi đi vào chi tiết ví dụ Không mất tính tổng quát, ta giả định bài toán tối ưu là bài toán tìm giá trị cực đại Bài toán tìm giá trị cực tiểu hàm f chính là tìm cực đại hàm g = -f
Bây giờ giả sử ta muốn tìm cực đại của một hàm k biến f(x1,…,xk): Rk →
R Giả sử thêm là mỗi biến xi có thể nhận giá trị trong miền D = [ai, bi]⊆ R Ta muốn tối ưu hóa hàm f với một độ chính xác cho trước: giả sử có 6 số lẻ đối với giá trị của các biến Rõ ràng để đạt được độ chính xác như vậy thì các miền được phân cắt thành (bi - ai)×106 miền con bằng nhau Gọi mi là số nguyên nhỏ nhất sao cho: (bi - ai)×106 ≤ 2m i −1 Như vậy mỗi biến xi được biểu diễn bằng một chuỗi nhị phân có chiều dài mi Biểu diễn như trên rõ ràng thỏa mãn điều kiện về
độ chính xác yêu cầu Công thức sau tính trị thập phân của mỗi chuỗi nhị phân biểu diễn xi:
12
abngbinarystridecimal
i
−
−+
biết giá trị thập phân của mỗi chuỗi nhị phân đó
Thí dụ ta sử dụng một véctơ nhị phân làm nhiễm sắc thể để biểu diễn các giá trị thực của biến x nằm trong khoảng [-1, 2] Chiều dài nhiễm sắc thể phụ thuộc vào độ chính xác cần có, chẳng hạn cần tính chính xác đến 6 số lẻ Miền giá trị của x có chiều dài 2-(-1) = 3, với yêu cầu về độ chính xác 6 số lẻ như thế thì ta phải chia khoảng [-1, 2] thành ít nhất 3×106 khoảng có kích thước bằng nhau Điều này có nghĩa là cần có 22 bít nhị phân cho véctơ nhiễm sắc thể vì: 2097152=221 < 300000< 222 = 4194304
Trang 14Ánh xạ biến chuỗi nhị phân b21b20…b0 từ cơ số 2 sang cơ số 10 như sau:
0 20
21b b b 2 xb
3x1
−+
−
=
với -1 là cận dưới của miền giá trị và 3 là chiều dài của miền
Thí dụ nhiễm sắc thể (1000101110110101000111) biểu diễn số 0.637197 vì:
1
Đương nhiên nhiễm sắc thể:
(0000000000000000000000) và (1111111111111111111111) biểu diễn các cận của miền, -1 và 2 cho mỗi cận
Bây giờ mỗi nhiễm sắc thể (là một lời giải) được biểu diễn bằng chuỗi nhị
phân có chiều dài ∑ , với m
=
= k
1 i i
m
m 1 bít đầu tiên biểu diễn giá trị x1 trong khoảng [a1, b1], m2 bít kế tiếp biểu diễn giá trị x2 trong khoảng [a2,b2],… nhóm
mk bít cuối cùng biểu diễn giá trị xk trong khoảng [ak, bk]
Để khởi tạo quần thể, chỉ cần đơn giản tạo n nhiễm sắc thể ngẫu nhiên theo từng bít Phần còn lại của thuật giải di truyền rất đơn giản: Trong mỗi thế
hệ, ta lượng giá từng nhiễm sắc thể (tính giá trị hàm f trên các chuỗi biến nhị phân đã được giải mã), chọn quần thể mới thỏa mãn phân bố xác suất dựa trên
độ thích nghi và thực hiện các phép đột biến và lai để tạo ra các cá thể thế hệ mới Sau một số thế hệ, khi không còn cải thiện thêm được gì nữa, nhiễm sắc thể
Trang 15tốt nhất sẽ được xem như lời giải của bài toán tối ưu (thường là toàn cục) Thông thường ta cho dừng thuật giải di truyền sau một số bước lặp cố định tùy thuộc vào tài nguyên và tốc độ máy tính
Đối với tiến trình chọn lọc (chọn quần thể mới thỏa mãn phân bố xác suất dựa trên độ thích nghi) ta dùng bánh xe quay Roulette (Roulette wheel selection methods) với các rãnh được định kích thước theo độ thích nghi Ta xây dựng bánh xe Roulette như sau:
• Tính độ thích nghi eval(ν ) của mỗi nhiễm sắc thể , i=1…n i νi
• Tính tổng giá trị thích nghi toàn quần thể ∑ ( )
• Tính xác suất chọn pi cho mỗi nhiễm sắc thể ν , i=1…n: pi i = eval(ν )/F i
• Tính vị trí xác suất qi của mỗi nhiễm sắc thể ν , i=1…n: i ∑
=
= i
1 j j
i Pq
Tiến trình chọn lọc được thực hiện bằng cách quay bánh xe Roulette n lần, mỗi lần chọn một nhiễm sắc thể từ quần thể hiện hành vào quần thể mới theo cách sau:
• Tạo một số ngẫu nhiên r có phân bố đều trong khoảng [0, 1]
• Nếu r < qi thì chọn nhiễm sắc thể đầu tiên ν , ngược lại thì chọn nhiễm 1sắc thể thứ i, (νi 2≤i≤n) sao cho qi-1 < r < qi
Hiển nhiên có thể sẽ có một số nhiễm sắc thể được chọn nhiều lần Các nhiễm sắc thể tốt nhất có nhiều bản sao hơn, các nhiễm sắc thể trung bình không thay đổi, các nhiễm sắc thể kém nhất thì chết đi
Bây giờ có thể áp dụng phép toán di truyền: kết hợp, lai tạo và đột biến vào các cá thể trong quần thể mới, vừa được chọn từ quần thể cũ như trên Một trong những tham số của hệ di truyền là xác suất lai tạo p Xác suất này cho ta
Trang 16số nhiễm sắc thể n×pc mong đợi, các nhiễm sắc thể này được dùng trong tác vụ lai tạo Ta tiến hành theo cách sau đây Đối với nhiễm sắc thể trong quần thể mới:
• Tạo một số ngẫu nhiên r có phân bố đều trong khoảng [0, 1]
• Nếu r < pc thì chọn nhiễm sắc thể đó để lai tạo
Bây giờ ta ghép đôi các nhiễm sắc thể đã chọn được một cách ngẫu nhiên đối với mỗi cặp nhiễm sắc thể được ghép đôi, ta tạo một số ngẫu nhiên pos trong khoảng [1, m-1] (m là tổng chiều dài, số bít của một nhiễm sắc thể) Số pos cho biết vị trí của điểm lai Hai nhiễm sắc thể:
b1b2…bposbpos+1…bm và c1c2…cposcpos+1…cm được thay bằng một cặp con của chúng
b1b2…bposcpos+1…cm và c1c2…cposbpos+1…bm
Phép toán kế tiếp, đột biến được thực hiện trên cơ sở từng bít Một tham
số khác của hệ thống di truyền pm cho ta số bít đột biến pm×m×pop – size mong đợi Mỗi bít (trong tất cả các nhiễm sắc thể trong quần thể) có cơ hội bị đột biến như nhau nghĩa là đổi từ 0 thành 1 hoặc ngược lại Vì thế ta tiến hành theo cách sau đây:
Đối với mỗi nhiễm sắc thể trong quần thể hiện hành (nghĩa là sau khi lai)
và đối với mỗi bít trong nhiễm sắc thể:
• Tạo một số ngẫu nhiên r có phân bố đều trong khoảng [0, 1]
• Nếu r < pm hãy đột biến bít đó
Sau quá trình chọn lọc, lai tạo và đột biến, ta tiến hành đánh giá quần thể mới, tức là tính độ thích nghi cho các cá thể trong quần thể mới Đánh giá này được dùng để xây dựng phân bố xác suất (cho tiến trình chọn lọc kế tiếp), nghĩa
là để xây dựng lại bánh xe Roulette với các rãnh được xác định kích thước theo
Trang 17giá trị thích nghi hiện hành Phần còn lại của tiến hóa chỉ là lặp lại chu trình của những bước trên
Toàn bộ tiến trình sẽ được minh họa trong một số ví dụ sau
A) Tối ưu hàm một biến
Xét bài toán tối ưu không ràng buộc sau:
( )x x sin(10 x) 1.0;x [ 1;2]
f
Hình 1 là đồ thị của f Bài toán có nghĩa là tìm x trong khoảng [-1;2] để f
có giá trị lớn nhất, nghĩa là tìm x0 sao cho:
Trang 18( ) ( ) ( )
(10 x) 10 xg
tan
0x10cosx10x10sinx
f'
π
−
=π
⇔
=π
×π+π
=
Rõ ràng là phương trình trên có vô số lời giải,
,
2,1i,20
1i2
1i2
x
i i
0
i i
−
−
=ε
a Biểu diễn
Ta sử dụng một véc tơ nhi phân làm nhiễm sắc thể để biểu diễn các giá trị thực của biến x Chiều dài véctơ phụ thuộc vào độ chính xác cần có, trong thí dụ này, ta tính chính xác đến 6 số lẻ
Miền giá trị của x có chiều dài 2-(-1)=3; với yêu cầu về độ chính xác 6 số
lẻ như thế phải chia khoảng [-1;2] thành ít nhất 3×106 khoảng cách có kích
Trang 19thước bằng nhau Điều này có nghĩa là cần có 22 bít cho véctơ nhị phân (nhiễm sắc thể):
41943042
30000002
0 20
3x1
−+
−
=với -1 là cận dưới của miền giá trị và 3 là chiều dài của miền
Thí dụ nhiễm sắc thể (1000101110110101000111) biểu diễn số 0.637197 vì:
1
Đương nhiên nhiễm sắc thể:
(0000000000000000000000) và (1111111111111111111111) biểu diễn các cận của miền, -1 và 2 cho mỗi cận
b Khởi tạo quần thể
Tiến trình khởi tạo rất đơn giản: Ta tạo một quần thể các nhiễm sắc thể, trong đó mỗi nhiễm sắc thể là một véctơ nhị phân 22 bít, tất cả 22 bít của mỗi nhiễm sắc thể đều được khởi tạo ngẫu nhiên
c Hàm lượng giá
Hàm lượng giá eval của các véctơ nhị phân ν chính là hàm f:
Trang 20( ) ( )f xeval ν =trong đó nhiễm sắc thể biểu diễn giá trị thực x như đã nói ở trên, hàm lượng giá đóng vai trò môi trường, đánh giá từng lời giải theo độ thích nghi của chúng Thí dụ, 3 nhiễm sắc thể:
,1111010100011000101110
1xfeval
2 2
1 1
=
=ν
=
=ν
( ) ( )f x 2.250650
eval ν3 = 3 =
d các phép toán di truyền
Trong giai đoạn tiến hóa quần thể, ta có thể dùng 2 phép toán di truyền cổ
điển: đột biến và lai
Như đã trình bày ở trên, đột biến làm thay đổi một (số) gen (các vị trí trong một nhiễm sắc thể) với xác suất bằng tốc độ đột biến Giả định rằng gen thứ 5 trong nhiễm sắc thể ν được chọn để đột biến Và đột biến chính là thay 3đổi giá trị gen này: 0 thành 1 và 1 thành 0 Như vậy, sau đột biến này, ν sẽ là: 3
3
ν
3
ν
Trang 21|00000
0998113
0ff
=
−
=ν
Chú ý rằng con thứ 2 thích nghi hơn cả cha lẫn mẹ của nó
e Các tham số
Đối với bài toán đặc biệt này, ta đã dùng các tham số sau đây: kích thước
quần thể pop-size=50, xác suất lai tạo P c =0.25, xác xuất đột biến p m =0.01 Xác
suât lai P c=0.25 nghĩa là cá thể ν trong quần thể có 25% cơ hội được chọn để
thực hiện phép lai; còn xác suất đột biến p m=0.01 lại là 1% 1 bít bất kì của 1 cá thể bất kì trong quần thể bị đột biến
f Các kết quả thử nghiệm
Bảng 1.1 trình bày một số kết quả hàm mục tiêu f ở một số thế hệ Cột bên trái cho biết thế hệ được xem xét, và cột bên phải cho biết giá trị của hàm f Nhiễm sắc thể tốt nhất sau 150 thế hệ là
Trang 22,
(111001101000100000101)
max =
ν
tương ứng với giá trị xmax=1.850773
Đúng như ta mong đợi, xmax=1.85+ε , và f(xmax) lớn hơn 2.85 một chút Bảng 1.1 Kết quả của 150 thế hệ
B) Tối ưu hàm nhiều biến
Giả sử kích thước quần thể n=20 và các xác suất di truyền tương ứng là
Trang 23Giả sử ta cần tính chính xác đến 4 số lẻ đối với mỗi biến Miền của biến x1
có chiều dài 15.1, điều kiện chính xác đòi hỏi đoạn [-3.0, 12.1] cần được chia thành các khoảng có kích thước bằng nhau, ít nhất là 15.1×10000 khoảng Điều này nghĩa là cần 18 bít làm phần đầu tiên của nhiễm sắc thể vì:
Trang 24Chiều dài toàn bộ nhiễm sắc thể (véctơ lời giải) lúc này là m =18+15=33 bít, 18 bít đầu tiên mã hóa x1 và 15 bít còn lại (từ 19 đến 33) mã hóa x2
1.15703520
.3
12
0.31.1211010000
0100010010decimal
0.3
=+
−
=+
7.1319601
.4
12
1.48.5000101111100101
decimal1
.4
=+
=+
=
−
−
×+
=
Như vậy nhiễm sắc thể (010001001011010000111110010100010) tương ứng với
7553.5,0524.1x
Giả sử rằng sau tiến trình khởi tạo ta có quần thể sau đây:
Trang 25(10.3484,4.3802) 7.5800f
)(
( 2.5166,4.3903) 19.6263f
)(
(5.2786,5.5934) 17.4067f
)(
( 2.2551,4.7344) 25.3411f
)(
Trang 26( 1.8117,4.3919) 18.1004f
)(
( 0.9914,5.6082) 16.0208f
)(
(4.9106,4.7030) 17.9597f
)(
(0.9754,5.3814) 16.1277f
)(
( 2.5548,4.7937) 21.2784f
)(
(3.1300,4.9960) 23.4106f
)(
(9.3561,4.2394) 15.0116f
)(
(11.1346,5.3786) 27.3167f
)(
(1.3359,5.1513) 19.8762f
)(
(11.0890,5.0545) 30.0602f
)(
(9.2116,4.9937) 23.9672f
)(
(3.3675,4.5713) 13.6961f
)(
(3.8430,5.1582) 15.4141f
)(
( 1.7466,5.3955) 20.0959f
)(
(7.9359,4.7573) 13.6669f
)(
Rõ ràng nhiễm sắc thể ν mạnh nhất và nhiễm sắc thể yếu nhất Bây 15giờ ta xây dựng hệ thống kiến trúc bánh xe Roulette cho tiến trình chọn lọc Tổng độ thích nghi của quần thể là:
= 20
1
7768.387eval
F
Xác suất chọn lọc pi của mỗi nhiễm sắc thể ν (i=1, ,20) là: i
( )v /F 0.0067eval
p1 = 1 = p2 =eval( )v2 /F=0.00195
( )v /F 0.0503eval
p3 = 3 = p4 =eval( )v4 /F=0.0440
Trang 27
( )v /F 0.0653eval
p5 = 5 = p6 =eval( )v6 /F=0.0466
( )v /F 0.0413eval
p7 = 7 = p8 =eval( )v8 /F=0.0463
( )v /F 0.0415eval
p9 = 9 = p10 =eval( )v10 /F=0.0548
( )v /F 0.0603eval
p11 = 11 = p12 =eval( )v12 /F=0.0378
( )v /F 0.0704eval
p13 = 13 = p14 =eval( )v14 /F=0.0512
( )v /F 0.0775eval
p15 = 15 = p16 =eval( )v16 /F=0.0615
( )v /F 0.0353eval
p17 = 17 = p18 =eval( )v18 /F=0.0397
( )v /F 0.0518eval
p19 = 19 = p20 =eval( )v20 /F=0.0352
Các vị trí xác suất qi của mỗi nhiễm sắc thể ν (i=1,…,20) là: i
0670.0
q1 = q2 =0.0866 q3 =0.1370
1818.0
q4 = q5 =0.2472 q6 =0.2939
3352.0
q7 = q8 =0.3815 q9 =0.4231
4780.0
q10 = q11 =0.5383 q12 =0.5770
6475.0
q13 = q14 =0.6987 q15 =0.7763
8378.0
q16 = q17 =0.8731 q18 =8929
9647
q19 = q20 =1.0000
Bây giờ ta quay bánh xe Roulette 20 lần, mỗi lần chọn một nhiễm sắc thể cho quần thể mới Giả sử thứ tự (ngẫu nhiên) của 20 số trong khoảng [0,1] được phát sinh là:
0.5138 0.1757 0.3086 0.5345 0.9476
0.1717 0.7022 0.2264 0.4947 0.4247
0.7038 0.3896 0.2772 0.3680 0.9834
0.0053 0.7656 0.6464 0.7671 0.7802
Trang 28Số đầu tiên r=0.5138 lớn hơn q10 và nhỏ hơn q11, nghĩa là nhiễm sắc thể được chọn vào quần thể mới, số thứ hai 0.1757 lớn hơn q
11
là ν4 được chọn cho quần thể mới, vv…
Như vậy quần thể mới gồm có các nhiễm sắc thể sau:
Trang 29Giả sử thứ tự các số ngẫu nhiên là:
0.8229 0.1519 0.6254 0.3146 0.3469
0.9172 0.5197 0.4011 0.6067 0.7854
0.0315 0.8699 0.1665 0.5745 0.7584 0.5818 0.3892 0.2002 0.3556 0.8269
Điều này có nghĩa là các nhiễm sắc thể đã được chọn lai tạo (ta đã gặp may: số nhiễm sắc thể được chọn là chẵn, vậy có thể ghép thành cặp một dễ dàng Trường hợp là số lẻ, chúng ta sẽ cộng thêm m nhiễm sắc thể ngoại hoặc lấy bớt một nhiễm sắc thể - thực hiện điều này một cách ngẫu nhiên thì tốt hơn)
' 18
' 13
' 11
'
2,ν ,ν vàνν
Bây giờ ta cho phối ngẫu một cách ngẫu nhiên: tức là hai nhiễm sắc thể đầu tiên (ví dụ và ) và cặp kế tiếp ( và ) được kết cặp Đối với mỗi cặp trong hai cặp này, ta phát sinh một số nguyên ngẫu nhiên pos thuộc khoảng [1,…,32] (32+1 là tổng chiều dài – số bít – trong một nhiễm sắc thể) Số pos cho biết vị trí của điểm lai tạo Cặp nhiễm sắc thể đầu tiên là
' 2
Trang 31Điều này có nghĩa là ta phải phát sinh 660 số ngẫu nhiên Giả sử có 5 trong số này nhỏ hơn 0.01, vị trí bít và số ngẫu nhiên được trình bày dưới đây:
Trang 34Trong thời kỳ tiến hóa, ta giải mã từng nhiễm sắc thể và tính các giá trị của hàm thích nghi từ giá trị (x1,x2) vừa được giải mã Ta được:
Trang 35Chú ý rằng tổng độ thích nghi F của quần thể mới là 447.0496 cao hơn tổng độ thích nghi của quần thể trước nhiều (387.7768) Cũng thế nhiễm sắc thể tốt nhất hiện nay là có độ thích nghi (33.3518) tốt hơn nhiễm sác thể tốt nhất của quần thể trước (30.0602)
Trang 37( ) (f 10.5887,4.2424) 32.9566
Dễ thấy cá thể tốt nhất là cá thể thứ 11, với cá giá trị (x1,x2)=(9.6238,4.4278) tương ứng với giá trị của hàm mục tiêu f(9.6238,4.4278)=35.4779
Không khó để theo dõi cá thể tốt nhất trong tiến trình tiến hóa Thông thường (trong các cài đặt thuật giải di truyền) cá thể tốt “trội hơn cả” trong mỗi thế hệ được lưu giữ tại một vị trí riêng biệt, bằng cách đó, thuật giải có thể duy trì cá thể tốt nhất tìm được trong suốt quá trình
Trang 38Chương II: CẦN BẰNG KHỐI LƯỢNG CƠ CẤU
2.1 Thu gọn hệ lực quán tính của hệ nhiều vật rắn
Xét một cơ cấu gồm p khâu chịu liên kết giữ, dừng và hôlônôm Cơ cấu có thể coi như một hệ nhiều vật rắn có cấu trúc mạch vòng Véc tơ chính F* và véc tơ chính M*o đối với điểm O cố định của hệ lực quán tính gây ra bởi p-1 khâu động (ta ký hiệu khâu 1 là giá cố định) có thể biểu diễn dưới dạng ma trận như sau [10], [20]:
i i
~ i i o
vmrI
dt
dl
dt
dM
)1.1(v
mdt
dp
dt
dF
Si
Trong đó ta sử dụng các ký hiệu
mi Khối lượng của khâu thứ i
vSi Vận tốc khối tâm Si của khâu thứ i
Vận tốc góc của khâu thứ i
i
ω
Ii Ma trận của texơ quán tính của khâu thứ I đối với khối tâm Si
p Động lượng của cơ cấu
lo Mô men động lượng của cơ cấu đối với một điểm O cố định
Véc tơ rSi có các thành phần là các tọa độ của khối tâm Si trong hệ tọa độcố định {Oxyz} được biểu diễn trên hình 1.1, là một ma trận đối xứng lệch
Trang 39x0
z
yz
0r
,zy
xr
si Si
Si Si
Si Si
~
Si Si
.
x
i
T
Trang 40(1.4)
II
I
II
I
II
II
izz izy
izx
iyz iyy
iyx
ixz ixy
2.2.1 Định nghĩa về cân bằng khối lượng
Một cơ cấu được gọi là cân bằng khối lượng hoàn toàn, nếu véc tơ chính
và véc tơ mômen chính đối với tâm O của hệ lực quán tính gây ra bởi các khâu động của cơ cấu đồng thời triệt tiêu
Định nghĩa trên dẫn đến các phương trình [10]:
)6.1(0
ldt
dM
)5.1(0
pdt
dF
o
* o
2.2.2 Điều kiện cân bằng tổng quát
Kết hợp các công thức (1.1), (1.2) và định nghĩa về cân bằng khối lượng (1.5), (1.6) ta nhận được các điều kiện cân bằng khối lượng tổng quát cho một cơ cấu
p
2
i i Si
)8.1(0
)vmrI
dtd
)7.1(v
mdtd
Si
Ta nhận thấy (1.7) và (1.8) là các điều kiện cân bằng dưới dạng vi phân Tùy thuộc vào đặc điểm của cơ cấu cần khảo sát (cơ cấu phẳng, cơ cấu không