Giới thiệu giải thuật Di truyền và Tính toán Tiến hóa
-
Upload
hiroko-boyer -
Category
Documents
-
view
124 -
download
4
description
Transcript of Giới thiệu giải thuật Di truyền và Tính toán Tiến hóa
Giới thiệu giải thuật Di truyền Giới thiệu giải thuật Di truyền và Tính toán Tiến hóavà Tính toán Tiến hóa
PGS.TS. Randy RiblerPGS.TS. Randy [email protected]@lynchburg.edu
Khoa Tin hocKhoa Tin hocTrường đại học Lynchburg, VA, USATrường đại học Lynchburg, VA, USA
Học bổng Fulbright Học bổng Fulbright
Xét sự tiến hóaXét sự tiến hóa Đề cập tới các kết quả trong quá Đề cập tới các kết quả trong quá
trình tiến hóa sinh họctrình tiến hóa sinh học• Loài mới tạo ra tốt hơn loài đã cóLoài mới tạo ra tốt hơn loài đã có• Sự thích nghi với môi trường sốngSự thích nghi với môi trường sống
Quy luật đào thải tự nhiên Quy luật đào thải tự nhiên • Giải thuật không quan tâm nhiều đến Giải thuật không quan tâm nhiều đến
các quần thể.các quần thể. Việc hiểu rõ hơn về nó có thể cải thiện qúa Việc hiểu rõ hơn về nó có thể cải thiện qúa
trình thực hiệntrình thực hiện
Việc tính toán tiến hóaViệc tính toán tiến hóa (Những hạn chế) (Những hạn chế)
ã Mô phỏng sự chọn lọc tự nhiên trên một quy mô Mô phỏng sự chọn lọc tự nhiên trên một quy mô nhỏ hơnnhỏ hơn• Không thể đợi được hàng triệu năm để thử sự tiến hóaKhông thể đợi được hàng triệu năm để thử sự tiến hóa
Tốc độ máy tính đã nhanh và càng nhanh hơnTốc độ máy tính đã nhanh và càng nhanh hơn Việc tính toán tiến hóa thực hiện tốt trên các kiến trúc máy Việc tính toán tiến hóa thực hiện tốt trên các kiến trúc máy
tính phân tántính phân tán
• Kích cỡ quần thể bị nhiều hạn chế Kích cỡ quần thể bị nhiều hạn chế • Quá trình tiến hóa thực tế rất phức tạp, ta chỉ có thể lấy Quá trình tiến hóa thực tế rất phức tạp, ta chỉ có thể lấy
xấp xỉ quá trìnhxấp xỉ quá trình
Không thể biết Quá trình một cách đầy đủKhông thể biết Quá trình một cách đầy đủ Để chính xác hơn, cần phải bổ xung các nguồn tính toánĐể chính xác hơn, cần phải bổ xung các nguồn tính toán
Các giải thuật Các giải thuật Di truyền đơn giảnDi truyền đơn giản
Kỹ thuật tối ưu về hàm đa biến Kỹ thuật tối ưu về hàm đa biến và các lĩnh vực máy họcvà các lĩnh vực máy họcVí dụ: Thiết kế cánh máy bayVí dụ: Thiết kế cánh máy bay
Các biến:Các biến:chiều dài, chiều rộng, xoay theo chiều dài, chiều rộng, xoay theo
trục x, xoay theo trục y trục x, xoay theo trục y
Ví dụ-Thiết kế cánh máy bayVí dụ-Thiết kế cánh máy bay
Các biến:Các biến:• chiều dài cánh (l)chiều dài cánh (l)• chiều rộng cánh (w)chiều rộng cánh (w)• Góc xuống (s)Góc xuống (s)• Góc lên (p)Góc lên (p)
Hàm thích nghi thiết kế Hàm thích nghi thiết kế cánh máy baycánh máy bay
Fitness(l,w,s,p) = Efficiency(l,w,s,p) = Fitness(l,w,s,p) = Efficiency(l,w,s,p) = lift(l,w,s,p) / drag(l,w,s,p)lift(l,w,s,p) / drag(l,w,s,p)• Ở đây đã được đơn giản hóa nhiều, dù Ở đây đã được đơn giản hóa nhiều, dù
chúng ta không hiểu về việc thiết kế chúng ta không hiểu về việc thiết kế cánh máy bay, nhưng một kỹ sư có thể cánh máy bay, nhưng một kỹ sư có thể đưa ra các biến đầu vào thích nghi và đưa ra các biến đầu vào thích nghi và các hàm tính hiệu quả.các hàm tính hiệu quả.
• Trong thực tế có nhiều biến hơn nữa và Trong thực tế có nhiều biến hơn nữa và hàm thích nghi phức tạp hơn– như là có hàm thích nghi phức tạp hơn– như là có thể mô phỏng cả đến hầm gióthể mô phỏng cả đến hầm gió..
Phạm vi mỗi biến là bao nhiêu?Phạm vi mỗi biến là bao nhiêu? Chiều dàiChiều dài
• Khoảng 0 đến 16 m Khoảng 0 đến 16 m 4-bits cung cấp độ phân giải 1 m4-bits cung cấp độ phân giải 1 m 5-bits có thể cung cấp độ phân giải 5 m 5-bits có thể cung cấp độ phân giải 5 m
Chiều rộngChiều rộng• Khoảng 0 đến 8 feetKhoảng 0 đến 8 feet
3-bits cung cấp độ phân giải 1 feet 3-bits cung cấp độ phân giải 1 feet Góc hạGóc hạ
• Khoảng 0 đến 180 độKhoảng 0 đến 180 độ 4-bits cung cấp 180/16 độ4-bits cung cấp 180/16 độ
Góc cấtGóc cất• Khoảng -90 đến 90 độKhoảng -90 đến 90 độ
5-bits cung cấp 180/32 độ5-bits cung cấp 180/32 độ
Áp dụng giải thuật Gen Áp dụng giải thuật Gen vào thiết kế cánh máy bayvào thiết kế cánh máy bay
4 bits cho chiều dài4 bits cho chiều dài 3 bits cho chiều rộng3 bits cho chiều rộng 4 bits cho góc hạ4 bits cho góc hạ 5 bits cho góc cất5 bits cho góc cất
Tổng cộng 16 bits để Tổng cộng 16 bits để mô tả 4 biếnmô tả 4 biến
Cứ 16 bit thì mô tả Cứ 16 bit thì mô tả được một cánh máy được một cánh máy bay.bay.
Tạo chuỗi quần thể ngẫu nhiên về Tạo chuỗi quần thể ngẫu nhiên về các cánh máy baycác cánh máy bay
Lựa chọn kích thước quần thể. Lựa chọn kích thước quần thể. • Dùng trong 500 cá thể để tạo.Dùng trong 500 cá thể để tạo.
Tạo ngẫu nhiên các giá trị 16-bit trong Tạo ngẫu nhiên các giá trị 16-bit trong 500.500.• Mỗi giá trị 16-bit biểu diễn Mỗi giá trị 16-bit biểu diễn chuỗi chuỗi cho một cánh cho một cánh
máy bay thực nghiệm máy bay thực nghiệm • Hàm thích nghi có thể cung cấp phép đo giá trị Hàm thích nghi có thể cung cấp phép đo giá trị
của mỗi cánh hoặc tính hết đến 500 cánh thực của mỗi cánh hoặc tính hết đến 500 cánh thực nghiệmnghiệm
Vì các giá trị được sinh một cách ngẫu nhiên, nên các Vì các giá trị được sinh một cách ngẫu nhiên, nên các cánh không đẹp và có giá trị thích nghi thấp, nhưng cánh không đẹp và có giá trị thích nghi thấp, nhưng cũng có những cánh khá hơncũng có những cánh khá hơn
Thuật ngữThuật ngữ String – Chuỗi các thông tin về Gen String – Chuỗi các thông tin về Gen
được mô tả đầy đủ về một cá thể được mô tả đầy đủ về một cá thể trong quần thể.trong quần thể.
Gene – vị trí của một bít trong 1 Gene – vị trí của một bít trong 1 stringstring
Allele – giá trị của một GenAllele – giá trị của một Gen
Phép lựa chọn tự nhiênPhép lựa chọn tự nhiên Như trong thế giới tự nhiênNhư trong thế giới tự nhiên
• Càng nhiều thành viên khỏe mạnh trong Càng nhiều thành viên khỏe mạnh trong tập thể, thì xác xuất sinh sản “Gen” tập thể, thì xác xuất sinh sản “Gen” càng lớn trong thế hệ tiếp theocàng lớn trong thế hệ tiếp theo
Tạo tổ hợp Gen Tạo tổ hợp Gen cho thế hệ tiếp theocho thế hệ tiếp theo
Thành viên thích nghi cao thì nên Thành viên thích nghi cao thì nên được sử dụng trong tổ hợp Genđược sử dụng trong tổ hợp Gen
Thành viên thích ghi thấp thì bị loại Thành viên thích ghi thấp thì bị loại bỏbỏ• Việc loại ra thành viên thích nghi thấp Việc loại ra thành viên thích nghi thấp
có thể loại bỏ các chuối Gen không quan có thể loại bỏ các chuối Gen không quan trọng trong tổ hợp Gentrọng trong tổ hợp Gen
• Việc hội tụ qúa nhanh tới một kết cục có Việc hội tụ qúa nhanh tới một kết cục có thể cho kết quả không thật tối ưuthể cho kết quả không thật tối ưu
Sự sinh sảnSự sinh sản Chọn 500 ứng cử Chọn 500 ứng cử
viên (cá thể) trong viên (cá thể) trong tổ hợp gen, trong tổ hợp gen, trong đó xác suất sinh đó xác suất sinh sản của thành viên sản của thành viên i sẽ được chọn là :i sẽ được chọn là :
j
jfitnessifitnessiselectp)()())((
Sự sinh sản (tiếp)Sự sinh sản (tiếp)
Một lần nữa 500 ứng cử viên trong tổ Một lần nữa 500 ứng cử viên trong tổ hợp gen của thế hệ tiếp theo được hợp gen của thế hệ tiếp theo được sinh sản, các cặp bố mẹ được chọ lựa sinh sản, các cặp bố mẹ được chọ lựa một cách ngẫu nhiên. Để phân biệt một cách ngẫu nhiên. Để phân biệt giữa hai bố mẹ chúng, chúng ta sẽ giữa hai bố mẹ chúng, chúng ta sẽ chỉ định một là cha và ứng cử viên chỉ định một là cha và ứng cử viên kia là mẹ, cho dù các hàm của chúng kia là mẹ, cho dù các hàm của chúng là đồng nhấtlà đồng nhất
Sự sinh sản (tiếp) Sự sinh sản (tiếp) Mỗi cặp bố mẹ sinh hai con theo một Mỗi cặp bố mẹ sinh hai con theo một
trong hai phương pháp sautrong hai phương pháp sau• Vô tínhVô tính
Mỗi ấu nhi là một bản sao chính xác từ chaMỗi ấu nhi là một bản sao chính xác từ cha Mỗi ấu nhi là một bản sao chính xác từ mẹMỗi ấu nhi là một bản sao chính xác từ mẹ
• Hữu tính (giao nhau)Hữu tính (giao nhau) Một vài bits được sao từ mẹ, vài bits được Một vài bits được sao từ mẹ, vài bits được
sao chép từ chasao chép từ cha Cứ tiếp tục sao từ một cặp bố mẹ cho đến Cứ tiếp tục sao từ một cặp bố mẹ cho đến
chừng nào chừng nào điểm giao nhauđiểm giao nhau, thì sao chép từ , thì sao chép từ cặp bố mẹ khác.cặp bố mẹ khác.
Sinh sản hữu tính Sinh sản hữu tính Giao nhau một nửaGiao nhau một nửa
Bố Bố
MẹMẹ
Ấu nhi 1Ấu nhi 1
Ấu nhi 2Ấu nhi 2
00 00 00 00 00 00 00 00
11 11 11 11 11 11 11 11
00 00 00 00 11 11 11 11
11 11 11 11 00 00 00 00
↓
Sinh sản hữu tínhSinh sản hữu tínhGiao nhau 3 điểmGiao nhau 3 điểm
Bố Bố
MẹMẹ
Ấu nhi 1Ấu nhi 1
Ấu nhi 2Ấu nhi 2
00 00 00 00 00 00 00 00
11 11 11 11 11 11 11 11
00 11 11 00 00 00 11 11
11 00 00 11 11 11 00 00
↓ ↓ ↓
Đột biến genĐột biến gen Mỗi bit đến một ấu nhi có khả năng Mỗi bit đến một ấu nhi có khả năng
bị thay đổi (từ 1 tới 0, hoặc 0 tới 1).bị thay đổi (từ 1 tới 0, hoặc 0 tới 1). Thường thì khả năng đột biến gen Thường thì khả năng đột biến gen
tương đối thấp, nhưng đủ để tạo ra tương đối thấp, nhưng đủ để tạo ra sự đa dạng.sự đa dạng.
Trong các chế độ khác, thì phép đột Trong các chế độ khác, thì phép đột biến là phương thức chủ yếu của sự biến là phương thức chủ yếu của sự thay đổi gen.thay đổi gen.
Tóm tắt giải thuật Gen di truyềnTóm tắt giải thuật Gen di truyền Tạo một quần thể các gen ngẫu nhiên Tạo một quần thể các gen ngẫu nhiên Với mỗi thành viên trong sự sản sinhVới mỗi thành viên trong sự sản sinh
• Áp dụng hàm thích nghi cho mỗi thành Áp dụng hàm thích nghi cho mỗi thành viên của quần thểviên của quần thể
• Thiên lệch về phía những cá thể thích nghi, tạo Thiên lệch về phía những cá thể thích nghi, tạo ra tổ hợp các bố mẹra tổ hợp các bố mẹ
• Trong khi Không có một ấu nhi nào có kích Trong khi Không có một ấu nhi nào có kích thước bằng quần thể nguyên bảnthước bằng quần thể nguyên bản
Chọn hai cặp bố mẹ ngẫu nhiên và tạo ra hai ấu nhi Chọn hai cặp bố mẹ ngẫu nhiên và tạo ra hai ấu nhi bằng cách hoặc là vô tính hay giao nhaubằng cách hoặc là vô tính hay giao nhau
Áp dụng phép đột biếnÁp dụng phép đột biến• Thay thế hoàn toàn thế hệ hiện tại bằng thế hệ Thay thế hoàn toàn thế hệ hiện tại bằng thế hệ
kế tiếpkế tiếp
Tham số cơ bản củaTham số cơ bản củagiải thuật Gen - di truyền giải thuật Gen - di truyền
Kích thước quần thểKích thước quần thể Độ dài genĐộ dài gen Số các điểm giaoSố các điểm giao Xác suất giao nhau ngược, vô tínhXác suất giao nhau ngược, vô tính Số lượng các thế hệSố lượng các thế hệ Khả năng mở các nhân tốKhả năng mở các nhân tố Phức tạp hơn/ Tạo các biến thể nhiều Phức tạp hơn/ Tạo các biến thể nhiều
hơnhơn
Phác đồ (Schema)Phác đồ (Schema) Phác đồ là một mấu về tập con các chuỗi Phác đồ là một mấu về tập con các chuỗi
tương đồng tại các vị trí xác địnhtương đồng tại các vị trí xác định• Chứa dãy các số 1, 0, và * (ký tự thay thế)Chứa dãy các số 1, 0, và * (ký tự thay thế)• Ví dụ:Ví dụ:
1**1**• Tương đương với (100, 101, 110, 111)Tương đương với (100, 101, 110, 111)
*10***10**• Tương đơng với (01000, 01001, 01010, 01011,Tương đơng với (01000, 01001, 01010, 01011,
11000, 11001, 11011, 11000, 11001, 11011, 11011)11011)
Số nhiều của từ Số nhiều của từ schemaschema là là schemata.schemata.
Đếm các phác đồĐếm các phác đồ Với một phác đồ nhị phân chiều dài k, thì Với một phác đồ nhị phân chiều dài k, thì
có thể có 3có thể có 3kk phác đồ phác đồ• Mỗi vị trí có thể chứa 0, 1, hoặc *Mỗi vị trí có thể chứa 0, 1, hoặc *
Một chuỗi nhị phân độ dài k có thể có các Một chuỗi nhị phân độ dài k có thể có các thành viên trong 2thành viên trong 2k k phác đồ khác nhau phác đồ khác nhau• Mỗi vị trí có thể gồm các số chính xác hoặc *Mỗi vị trí có thể gồm các số chính xác hoặc *
Ví dụVí dụ• 101 có các thành viên trong các phác đồ là (101, 10*, 101 có các thành viên trong các phác đồ là (101, 10*,
1*1, 1**, *01, *0*, **1, ***)1*1, 1**, *01, *0*, **1, ***) Các phác đồ trên các quần thểCác phác đồ trên các quần thể
• Xếp hạng từ 2Xếp hạng từ 2kk (tất cả các chuỗi đều giống (tất cả các chuỗi đều giống nhau) đến n*2nhau) đến n*2kk (tất cả các chuỗi đều có phác (tất cả các chuỗi đều có phác đồ khác nhau)đồ khác nhau)
Chu kỳ của phác đồChu kỳ của phác đồ Bậc o(H) của các phác đồ là số lượng các Bậc o(H) của các phác đồ là số lượng các
giá trị cố địnhgiá trị cố định• Số các chuỗi 1 và 0Số các chuỗi 1 và 0
0**10 bậc 30**10 bậc 3 0*1*11* bậc 40*1*11* bậc 4
Độ dài định nghĩa của phác đồ Độ dài định nghĩa của phác đồ δδ(H) là (H) là khoảng cách giữa giá trị đầu tiên và giá trị khoảng cách giữa giá trị đầu tiên và giá trị cố định cuối cùngcố định cuối cùng• Số các vị trí trong đó điểm giao có thể gây đổ Số các vị trí trong đó điểm giao có thể gây đổ
vỡ phác đồvỡ phác đồ 0**10 độ dài định nghĩa là 40**10 độ dài định nghĩa là 4 0*1*11* độ dài định nghĩa là 50*1*11* độ dài định nghĩa là 5
Hiệu quả sinh sản mong muốnHiệu quả sinh sản mong muốnNhiều phác đồ trong quần thểNhiều phác đồ trong quần thể
Một phác đồ cá biệt thay đổi theo tỉ số Một phác đồ cá biệt thay đổi theo tỉ số giữa thích nghi trung bình của phác đồ giữa thích nghi trung bình của phác đồ và thích nghi trung bình của quần thểvà thích nghi trung bình của quần thể• m cá thể trong phác đồ cá biệt H tại thời m cá thể trong phác đồ cá biệt H tại thời
điểm t là m(H, t)điểm t là m(H, t)
f
HftHmtHm
)(),()1,(
Phép sinh sản trong Phép sinh sản trong phác đồ thích nghiphác đồ thích nghi
Giả sử 1 phác đồ cá thể H duy trì trung bình một Giả sử 1 phác đồ cá thể H duy trì trung bình một lượng là clượng là c
),(*)1()(),()1,( tHmcffcftHmtHm
Bắt đầu tại t=0 và gán 1 giá trị tĩnh c, chúng ta có
tcHmtHm )1(*)0,(),(
Phép sinh sản chiếm định các phác đồ theo các thế hệ tương lai thay đổi theo hàm mũ
Phép phá vỡ phác đồ Phép phá vỡ phác đồ nhờ vào gen hữu tínhnhờ vào gen hữu tính
PPss = Khả năng sống = Khả năng sống sót của gen hữu tínhsót của gen hữu tính
PPdd = Khả năng bị tiêu = Khả năng bị tiêu diệt bởi gen hữu tínhdiệt bởi gen hữu tính
PPcc = Khả năng của = Khả năng của gen hữu tính chống gen hữu tính chống lại gen vô tínhlại gen vô tính
ll là chiều dài của là chiều dài của phác đồphác đồ
δδ(H) là chiều dài định (H) là chiều dài định nghĩa của phác đồ nghĩa của phác đồ
1)(*1
lHPP cs
Phép phá vỡ phác đồ Phép phá vỡ phác đồ nhờ vào sự đột biếnnhờ vào sự đột biến
PPmm = khả năng đột biến của mỗi bit = khả năng đột biến của mỗi bit o(H) là bậc của phác đồ (số các giá trị cố o(H) là bậc của phác đồ (số các giá trị cố
định)định)
Khả năng của một phác đồ cá biệt sẽ bị tiêu Khả năng của một phác đồ cá biệt sẽ bị tiêu diệt đột biến làdiệt đột biến là
(1-p(1-pmm))o(H) o(H)
Với mỗi giá trị nhỏ nhất của pVới mỗi giá trị nhỏ nhất của pmm, chúng ta có , chúng ta có thể làm sấp xỉ điều này cho 1 – o(H)pthể làm sấp xỉ điều này cho 1 – o(H)pmm
Định luật cơ bản của các giải thuật Định luật cơ bản của các giải thuật gen di truyêngen di truyên
])(1)(1[)(*),()1,( mc pHo
lHp
fHftHmtHm
Ngắn, đạt thứ tự thấp, giá trị trên trung bình của các phác đồ nhận được tăng theo hàm mũ trong các thế hệ kế tiếp
Vị trí các bit trên Gen là quan trọngVị trí các bit trên Gen là quan trọng
Cho phép phát triển nhanhCho phép phát triển nhanh• Phép thay đổi động vị trí mỗi bít của GenPhép thay đổi động vị trí mỗi bít của Gen
Đảo ngượcĐảo ngược• Chọn các sinh sản kế tiếp của gen, đảo ngược dư Chọn các sinh sản kế tiếp của gen, đảo ngược dư
liệu và phép dịchliệu và phép dịch Không có hiệu ứng trên nội dung gen, chỉ là Không có hiệu ứng trên nội dung gen, chỉ là
cách thức thông tin được lưu trữ.cách thức thông tin được lưu trữ. Nhiều thông tin yêu cầu thêm vào được lưu Nhiều thông tin yêu cầu thêm vào được lưu
trữ, mô tả vị trí của mỗi bit.trữ, mô tả vị trí của mỗi bit.
Ví dụ phép đảo ngượcVí dụ phép đảo ngược
00 11 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515
00 11 11 11 00 00 11 00 11 11 00 11 11 00 00 00
00 11 22 33 44 99 88 77 66 55 1010 1111 1212 1313 1414 1515
00 11 11 11 00 11 11 00 11 00 00 11 11 00 00 00
Chọn ngẫu nhiên hai điểm trong sự liên tiếp với phép đảo ngược. Ví dụ này, dùng 5 và 9. Các số bit và dữ liệu đều bị đảo ngược. Bây giờ các bits 4 và 9 liền kề nhau giảm dần, các giao nhau (hữu tính) bị phá vỡ.
Phép đảo ngược làm phức tạp gen Phép đảo ngược làm phức tạp gen hữu tínhhữu tính
44 55 99 00 1111 1212 11 1313 1414 1010 1515 22 33 66 77 88
00 11 11 11 00 00 11 00 11 11 00 11 11 00 00 00
00 11 22 33 44 99 88 77 66 55 1010 1111 1212 1313 1414 1515
11 11 11 00 00 11 00 00 11 11 11 11 11 00 00 11
Ta kết hợp thế nào hai gen với các trật tự bít khác nhau?• Insist that parents have same organization (not very good)• Discard if crossover yields duplicate bit numbers• Reorder one parent, chosen at random, to match the other • Reorder the less fit of the two parents to match the other
Trong trường hợp nào thì giải thuật Trong trường hợp nào thì giải thuật Gen cho kết quả tôt?Gen cho kết quả tôt?
Các hàm đa phươngCác hàm đa phương Các hàm rời rạc hoặc không liên tụcCác hàm rời rạc hoặc không liên tục Các hàm nhiều chiều, kết hợp nhiều Các hàm nhiều chiều, kết hợp nhiều
chiềuchiều Hàm phi tuyến phụ thuộc tham sốHàm phi tuyến phụ thuộc tham số Dùng giải pháp sấp xỉ giải bài toán Dùng giải pháp sấp xỉ giải bài toán
kết hợp NP-complete kết hợp NP-complete
From Introduction to Genetic Algorithms Tutorial, Erik D. Goodman, Gecco 2005
Hương vị của tính toán tiến hóaHương vị của tính toán tiến hóa Các giải thuật gen (GA)Các giải thuật gen (GA) Lập trình tiến hóa (EP)Lập trình tiến hóa (EP) Hệ thống bộ phân lớpHệ thống bộ phân lớp Các mạng nơ ronCác mạng nơ ron Lập trình gen (GP)Lập trình gen (GP) Trí tuệ nhân tạo (AL)Trí tuệ nhân tạo (AL)
Lời cảm ơnLời cảm ơn
Các phương trình lý thuyết phác đồ Các phương trình lý thuyết phác đồ của David E. Goldberg’s, của David E. Goldberg’s, Genetic Genetic Algorithms in Search, Optimization Algorithms in Search, Optimization and Machine Learningand Machine Learning..