Trong các thuật toán này người ta kết hợp thông tin Heuristic và thông tin học tăng cường thể hiện qua các vết mùi của các con kiến nhân tạo để giải các bài toán tối ưu tổ hợp khóbằng cá
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Quỳnh Anh
THUẬT TOÁN PHÂN LỚP ĐÀN KIẾN VỚI THUỘC
TÍNH LIÊN TỤC
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Quỳnh Anh
THUẬT TOÁN PHÂN LỚP ĐÀN KIẾN VỚI THUỘC
TÍNH LIÊN TỤC
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: PGS.TS Hoàng Xuân Huấn
Cán bộ đồng hướng dẫn:Ths Đỗ Đức Đông
Trang 3Tóm tắt nội dung
Khóa luận trình bày thuật toán phân lớp sử dụng phương pháp tối ưu hóa đànkiến làm việc với thuộc tính liên tục Đầu tiên giới thiệu phương pháp tối ưu hóa đànkiến Đây là mô hình thiết kế các thuật toán cho bài toán tối ưu hóa tổ hợp Trong các
thuật toán này người ta kết hợp thông tin Heuristic và thông tin học tăng cường thể
hiện qua các vết mùi của các con kiến nhân tạo để giải các bài toán tối ưu tổ hợp khóbằng cách đưa về bài toán tìm đường đi tối ưu trên đồ thị cấu trúc tương ứng được xâydựng từ đặc điểm của từng bài toán Một số thuật toán dựa vào phương pháp này đã
được đưa ra như Ant System, Ant Colony System, Min Max Ant System Tiếp theo
là bài toán phân loại dựa trên luật kết hợp Từ một bộ dữ liệu có nhiều mẫu, mỗi mẫu
có một số thuật tính, tìm ra các luật để chia các mẫu này vào các lớp khác nhau Đểgiải quyết bài toán phân loại thuậ toán ID3 đã được đưa ra Thuật toán này sẽ xâydựng một cây quyết định, dựa vào cây này để phân lớp tập dữ liệu Từ thuật toán nàythông qua một số thủ tục cắt tỉa cây hình thành thuật toán C4.5 Cây quyết định sẽđược cắt tỉa để đưa ra các luật và sẽ dùng các luật này để phân lớp Áp dụng phươngpháp tối ưu hóa đàn kiến vào bài toán phân lớp chúng ta có thuật toán Ant-miner Ant-miner chỉ áp dụng với dữ liệu đã qua bước rời rạc hóa Một phát triển của Ant-miner làcAnt-miner làm việc với các thuộc tính liên tục Các thuộc tính liên tục trong cAnt-miner sẽ được xử lý dựa trên thông tin Entropy Và cuối cùng là thử nghiệm phươngpháp cập nhật mùi khác vào trong thuật toán cAnt-Miner Chương trình thực nghiệmđược viết bằng ngôn ngữ JAVA để kiểm tra các kết quả đã nêu trên
Mục lục
Trang 4Bảng các kí hiệu, chữ viết tắt
Trang 6Mở đầu
Bài toán phân lớp là một vấn đề quan trọng và được quan tâm nhiều trong lĩnhvực khai thác dữ liệu Có rất nhiều thuật toán đã được đưa ra để giải quyết bài toánnày Gần đây phương pháp tối ưu hóa đàn kiến đã được áp dụng để xây dụng thuậttoán Ant-miner dùng cho phân lớp dữ liệu Thuật toán này đã tỏ ra khá hiệu quả, kếtquả thực nghiệm nhìn chung là tốt hơn hẳn các thuật toán đã có Tuy nhiên nó chỉ làmviệc với dữ liệu đã rời rạc hóa Trong [4] Fernando et al giới thiệu cAnt-miner là mộtcải tiến của Ant-Miner làm việc với dữ liệu liên tục
Khóa luận này trình bày khảo cứu của tác giả về thuật toán CAnt-Miner theo tàiliệu [2] Trên cơ sở đó, xây dựng chương trình thử nghiệm thuật toán và so sánh hiệuquả của nó với các quy tắc cập nhật mùi mới SMMAS
Ngoài phần kết luận, nội dung của khóa luận được trình bày như sau
Chương 1- giới thiệu phương pháp tối ưu hóa đàn kiến và các phương pháp cậpnhật mùi chính như: AS, ACS và Mã-Min AS và minh họa bằng bài toán TSP và bàitoán dò đường
Chương 2- giới thiệu bài toán phân lớp nhờ các luật kết hợp và các phương pháptìm luật kết hợp như ID3, C4.5 và Ant-Miner
Chương 3- Trình bày thuật toán Cant-Miner đã nêu trong [2] và nghiên cứu vềhiệu quả của thuật toán và các quy tắc cập nhật mùi khác nhau: MMAS, SMMAS và3-LAS chương trình được viết bằng JAVA
Trang 7Chương 1 Giới thiệu về phương pháp tối ưu hóa đàn kiến ACO
Chương này giới thiệu khái quát về phương pháp ACO giải bài toán tối ưu hóa tổhợp Sau khi chỉ ra các đặc điểm của phương pháp: Bước chọn ngẫu nhiên, cập nhậtvết mùi, giả lập hành động cho kiến; chúng tôi nêu một số thuật toán chính: AntSystem (AS), Ant colony system (ACS), Max min ant system (MMAS) Và chỉ ra sựkhác biệt giữa các thuật toán này Lược đồ ứng dụng cho bài toán Travel SalemanProblem (TSP) sau đó là Vehicle Route Problems (VRPs) được giới thiệu để minh họacho phương pháp
1.1 Ý tưởng của phương pháp
Tối ưu hóa đàn kiến (ACO) là một phương pháp dùng để thiết kế các heuristic
cho thuật toán giải bài toán tối ưu hóa tổ hợp Thuật toán đầu tiên được phân vào trongkhuôn khổ này đã được đề xuất vào năm 1991bởi M Dorigo [5] và sau đó rất nhiềuphiên bản dựa trên nguyên tắc cơ bản của ACO đã được đưa ra trong các hội nghị
khoa học Đặc điểm chính của thuật toán ACO là sự kết hợp của thông tin heuristic và
thông tin vết mùi
Phương pháp tối ưu hóa đàn kiến là cách tiếp cận meta-Heuristic mô phỏng hành
vi tìm đường đi từ tổ tới nguồn thức ăn và ngược lại của con kiến thực trong tự nhiên.Trên đường đi của mình các con kiến thực để lại một vết hóa chất được gọi là vết mùibáo cho các con kiến khác thông tin về đường đi đó một cách gián tiếp Sau đó các conkiến khác sẽ lựa chọn đường đi nào có cường độ mùi lớn nhất tại thời điểm lựa chọn
để đi nhờ đó tìm được đường đi ngắn nhất
Thuật toán Meta-heuristic dùng để thoát khỏi cực trị địa phương dựa vào một số heuristic cơ bản: heuristic xây dựng từ một giải pháp chưa hoàn chỉnh và bổ sung thêm các yếu tố để xây dựng một giải pháp tốt, hoặc một heuristic tìm kiếm địa
phương bắt đầu từ một giải pháp hoàn chỉnh và lặp đi lặp lại quá trình sửa đổi một sốyếu tố của nó để đạt được một giải pháp tốt hơn Thông thường, cơ chế kiểm soát đượcthực hiện bằng tập hợp xác định hoặc ngẫu nhiên các giải pháp láng giềng gần nhất đểxem xét trong việc tìm kiếm địa phương, hoặc bằng cách kết hợp các yếu tố khác nhauđược thực hiện bởi các giải pháp (như trường hợp của chiến lược tiến hóa và ditruyền)
Trang 8Đặc điểm của thuật toán ACO là sử dụng các yếu tố của các giải pháp trước đó.Trong thực tế nó xây dựng một giải pháp thông qua việc sử dụng các bước ngẫu nhiên.
Và xác suất ngẫu nhiên này được tính thông qua heuristic của giáp pháp trước đó
cùng với thông tin vết mùi Tuy nhiên hai thông tin này cần được điều chỉnh bằng cáctham số cụ thể
Trong các thiết kế thuật toán sử dụng phương pháp ACO phải đối mặt với sự cânnhắc mức độ giữa các thông tin đặc trưng được sử dụng và thông tin vết mùi để cóđược phân bố xác suất có hiệu quả cho sự xuất hiện của các giải pháp tốt Các ứngdụng khác nhau sử dụng thay đổi một trong hai tham số cấp độ của biến quyết định, do
đó đòi hỏi số lượng lớn các lần lặp lại trước khi nhận được một phân phối chính xác
1.2 Phương pháp tối ưu hóa đàn kiến ACO(Ant Colony Optimization)
ACO là một lớp các thuật toán, thành viên đầu tiên được gọi là Ant system (AS),
đã được đề xuất bởi Colorni, Dorigo và Maniezzo trong [6] Ý tưởng cơ bản chính làcác hành vi của loài kiến trong thực tế, đó là một tìm kiếm song song trên một số giảipháp để xây dựng tính toán dựa trên dữ liệu địa phương và một cấu trúc bộ nhớ động
có chứa thông tin về chất lượng của các kết quả thu được trước đó
Một bài toán tối ưu hóa tổ hợp là một bài toán được xác định trên một bộ cácthành phần cơ bản C = c1, , Cn Một tập con S của các thành phần đại diện cho một
giải pháp F ⊆ 2C là tập con của các giải pháp khả thi, do đó một giải pháp S là khả thi
khi và chỉ khi S ⊆ F Một hàm chi phí z được định nghĩa trên miền giải pháp, z: 2C
R, mục tiêu là để tìm một giải pháp khả thi chi phí tối thiểu S *, tức là để tìm S*: S*
∈ F và z(S*) ≤ z(S), ∀ S ∈ F.
Vì thế các chức năng của một thuật toán ACO có thể được tóm tắt như sau Mộttập hợp tính toán đồng bộ và không đồng bộ (một thuộc địa của loài kiến) di chuyểnqua các trạng thái của bài toán tương ứng với các giải pháp giải quyết một phần củabài toán Chúng di chuyển bằng cách áp dụng một chính sách quyết định ngẫu nhiênđịa phương dựa trên hai tham số, gọi là đường mòn và vết mùi Bằng cách di chuyển,xây dựng từng bước một giải pháp cho vấn đề Khi một con kiến hoàn thành một giảipháp, hoặc trong giai đoạn xây dựng, tổ kiến đánh giá các giải pháp và sửa đổi các giátrị đường mòn trên các thành phần được sử dụng trong giải pháp của nó Thông tin vết
mùi (pheromone) sẽ chỉ đạo các tìm kiếm của kiến trong tương lai.
Trang 9Hơn nữa, một thuật toán ACO bao gồm hai cơ chế khác: bốc hơi và các giả lậphành động Bốc hơi làm giảm tất cả các giá trị đường mòn qua thời gian, để tránh tích
tụ không giới hạn của vết mùi qua một số thành phần Giả lập hành động có thể được
sử dụng để thực hiện các hành động tập trung mà không thể thực hiện bởi kiến duynhất, chẳng hạn như gọi trình thủ tục tối ưu hóa địa phương, hoặc cập nhật thông tintoàn cục sử dụng để ra quyết định trong quá trình tìm kiếm từ một điểm địa phương
Cụ thể hơn, một kiến là một tính toán đơn giản, được lặp đi lặp lại xây dựng mộtgiải pháp để giải quyết vấn đề, các giải pháp của một phần vấn đề được xem là mộttrạng thái Và quá trình chính là cốt lõi của thuật toán ACO, trong đó tại mỗi lần lặp,mỗi kiến di chuyển (thực hiện một bước) từ trạng thái i đến một trạng thái ψ, tươngứng với một phần để hoàn chỉnh giải pháp Ở mỗi bước σ, mỗi kiến k thiết lập một bộ
Akσ(ι) mở rộng của giải pháp khả thi hiện nay, và di chuyển đến một trong nhữngtrạng thái tiếp quyết định bởi giá trị xác suất Phân bố xác suất được quy định như sau.Đối với kiến k, xác suất pιψk từ trạng thái i đến một ψ phụ thuộc vào sự kết hợp củahai giá trị:
ηι ψ được tính bởi hàm đánh giá (heuristic) cho việc di chuyển từ ι đến ψ
τιψ thông tin vết mùi mà các con kiến lưu lại
Đương đi được cập nhật khi tất cả các con kiến đã hoàn thành giải pháp củamình, tăng, giảm mức độ đường đi tương ứng với mức độ "tốt" hay "xấu" của các giảipháp tương ứng
Trang 10Nếu α = 0 con kiến sẽ lựa chọn đỉnh tiếp theo dựa vào tư tưởng tham lam thông thường tức là cạnh nào ngắn nhất sẽ được ưu tiên chọn trước, nếu β = 0 sự lựa chọn sẽ
chỉ phụ thuộc vào cường độ vết mùi bài toán dễ rơi vào trường hợp tối ưu địa phương.Sau mỗi vòng lặp t của thuật toán, tức là khi tất cả các con kiến đã hoàn thànhgiải pháp của mình, những đường đi được cập nhật bằng công thức:
đại diện cho tổng các vết mùi đóng góp của tất cả các con kiến đi qua nó (đi từtrạng thái i đến trạng thái ψ) để xây dựng giải pháp của chúng, (0 1) là một tham sốngười dùng định nghĩa được gọi là hệ số bốc hơi Những kiến đóng góp tỷ lệ thuận vớichất lượng của các giải pháp đạt được, tức là các giải pháp tốt hơn sẽ đóng góp nhiềuhơn vào đường đi nó sử dụng
Ví dụ, trong trường hợp của TSP, di chuyển tương ứng với cạnh của đồ thị, do đóviệc di chuyển từ trạng thái i đến trạng thái j tương ứng với cạnh(ij) được thêm vào lúckết thúc và việc di chuyển sẽ là cạnh (ij) Chất lượng của giải pháp của kiến k sẽ là Lk
chiều dài của các đường đi tìm thấy bởi các kiến và công thức sẽ trở thành
với
m là số kiến là lượng cập nhật của kiến k cho cạnh ij và được tính bởi
Thuật toán AS
Trang 111.Khởi tạo
Khởi tạo
2.Xây dựng lời giải
Với mỗi kiến K (ở trạng thái i) bắt đầu
Lặp
Chọn một sác xuất di chuyển
Thêm trạng thái di chuyển vào danh sách cấm của kiến K
Dừng khi kiến k đã xây dụng xong lời giải
Nếu chưa kết thúc quay lại 2
1.2.2 Thuật toán ACS (Ant colony system)
AS là thuật toán đầu tiên lấy ý tưởng từ hành vi thực tế của loài kiến Và đã được
áp dụng cho người bán hàng TSP nhưng không thể cạnh tranh với các thuật toán nổitiếng trong lĩnh vực này Mặt khác, nó đã có công giới thiệu thuật toán ACO và chothấy tiềm năng của việc sử dụng vêt mùi nhân tạo và những con kiến nhân tạo vào việcxây dựng giải pháp tìm kiếm tốt hơn cho bài toán tối ưu hóa luôn luôn phức tạp Cácnghiên cứu tiếp theo đã được thúc đẩy bởi hai mục tiêu: đầu tiên là để cải thiện hiệusuất của thuật toán và thứ hai là để kiểm tra và giải thích hành vi của nó tốt hơn.Gambardella và Dorigo đề xuất trong năm 1995 thuật toán Ant-Q, một phần mở rộngcủa AS được tích hợp một số ý tưởng từ Q-learning, và vào năm 1996 đưa ra AntColony System (ACS) một phiên bản đơn giản của Ant-Q mà vẫn duy trì mức độ hiệusuất, đo bằng độ phức tạp thuật toán và kết quả của nó Kể từ khi ra đời ACS là cơ sở
Trang 12của nhiều thuật toán được xây dựng trong những năm tiếp theo ACS khác với AStrước đó bởi vì trong ba khía cạnh chính:
Cập nhật vết mùi
AS cập nhật các dấu vết mùi bằng cách sử dụng tất cả các giải pháp sinh ra bởicác con kiến Mỗi cạnh thuộc một trong các giải pháp được sửa đổi bởi một số lượngmùi tỷ lệ thuận với giá trị của giải pháp của đó Vào cuối giai đoạn này các vết mùicủa toàn bộ hệ thống bay hơi và quá trình xây dựng và cập nhật được lặp lại Ngược
lại, trong ACS chỉ có giải pháp tốt được sử dụng để cập nhật các vết mùi Như trường
hợp trong AS, cập nhật toàn cục được dự định để tăng xác suất của tuyến đường có thểnhưng ACS cơ chế hiệu quả hơn vì nó tránh được thời gian hội tụ dài bằng cách trựctiếp tập trung tìm kiếm trong một khu vực tốt nhất của các giải pháp hiện hành củathuật toán
Trong ACS, giai đoạn bốc hơi cuối cùng được thay thế bằng một cập nhật địa phương của vết mùi áp dụng trong giai đoạn xây dựng lời giải Mỗi lần di chuyển kiến
từ trạng thái hiện nay để đến trạng thái tiếp theo vết mùi liên quan đã được sửa đổitheo cách sau:
trong đó 0 ≤ ρ ≤ 1 là một tham số (thường đặt ở 0,9)
là giá trị vết mùi ban đầu
Lnn là độ dài đường đi được sinh ra bởi việc thực hiện một lần lặp ACS mà không
có thành phần vết mùi (điều này tương đương với một hàm đánh giá k láng giềng gầnnhất)
Hiệu quả của cập nhật địa phương là làm cho xác suất của các cạnh thay đổi tựđộng: mỗi một con kiến sử dụng một cạnh này sẽ thêm cho nó một lượng mùi và chỉcho các cạnh mà không bao giờ thuộc về đường đi tốt nhất thì vết mùi vẫn là τ0 Mộttính chất thú vị các cập nhật địa phương và toàn cục là các cơ chế cập nhật là vết mùi τ
ij (t) của mỗi cạnh sẽ hạn chế bởi τ0 Một cách tiếp cận tương tự như đã được đề xuấtvới cái tên Max Min-AS (MMAS) trong đó vết mùi được giới hạn với giá trị của cáclượng mùi ban đầu
Trang 13theo sử dụng tỉ lệ ngẫu nhiên theo quy tắc AS lựa chọn ngẫu nhiên với một phân phốixác suất tùy thuộc vào ηij và τij Các ACS tỉ lệ giả ngẫu nhiên chuyển đổi trạng thái
cung cấp một cách trực tiếp để cân bằng giữa các tiểu trạng thái mới thăm dò và khai
thác , tích lũy kiến thức Trạng thái tốt nhất được chọn với xác suất q 0 (đó là một tham
số 0≤ q0 ≤ 1 thường cố định đến 0,9) và với xác suất (1 - q 0) trạng thái tiếp theo đượclựa chọn ngẫu nhiên với một phân bố xác suất dựa trên η ij vàτ ij trong đó α thườngbằng 1) và β ((thường là bằng 2)
nếu q<q 0
Lai tạo và cải tiến hiệu suất
ACS được áp dụng cho các giải pháp của đối xứng và bất đối xứng cho vấn đề
người bán hàng (TSP / ATSP) Một danh sách ứng cử viên là một cấu trúc dữ liệu tĩnh của cl, trong đó có một thành phố i, các thành phố ưa thích cl được viếng thăm Một kiến trong ACS đầu tiên sử dụng danh sách ứng cử viên với các quy tắc chuyển trạng
thái để lựa chọn thành phố di chuyển đến Nếu không một thành phố nào trong danhsách ứng cử viên có thể đến thăm các con kiến lựa chọn các thành phố gần nhất có sẵnchỉ bằng cách sử dụng giá trị hàm đánh giá ηij ( heuristic) ACS cho TSP (ATSP) đã được cải thiện bằng cách kết hợp các đánh giá (heuristic) tối ưu hóa địa phương (lai
tạo) ý tưởng là mỗi thời điểm một giải pháp được tạo ra bởi các kiến nó được lấy ở
mức tối thiểu trong các trạng thái bằng cách áp dụng một đánh giá (heuristic) tối ưu
hóa địa phương dựa trên một chiến lược cạnh trao đổi, giống như 2-opt, 3-opt Các giảipháp tối ưu hóa mới được coi là giải pháp cuối cùng được sinh ra tại thời điểm hiện tạicủa con kiến và được sử dụng để cập nhật vết mùi toàn cầu cho đường đi
Trang 14Thuật toán ACS này thực hiện một chính sách kết hợp quản lý vết mùi mới, mộtchiến lược chuyển trạng thái mới và các thủ tục tìm kiếm địa phương cạnh tranh thuậttoán cho các giải pháp của TSP Điều này đã mở ra một ranh giới mới cho các thuậttoán dựa ACO Theo đó một phương pháp tiếp cận kết hợp một giai đoạn xây dựngcác vết mùi và giai đoạn tìm kiếm địa phương xây dựng giải pháp tối ưu hóa, thuậttoán ACO đã có thể giải quyết một số vấn đề tối ưu hóa, kể cả vấn đề định tuyến vàlập lịch sẽ được trình bày trong phần sau
1.2.3 Thuật toán hệ kiến MaxMin-AS
Max-Min Ant System (MMAS) được đề xuất bởi Stutzle và Hoos trong [8] làmột cải tiến để khai thác ưu điểm của phương pháp hệ kiến ban đầu (AS) Việc cập
nhật vết mùi của AS có thể dẫn đến hiện tượng tắc nghẽn (stagnation) trong khi tìm
kiếm.Cần có một cơ chể để tránh sự tắc nghẽn này, max min - Ant được thể phát triển
để đáp ứng các yêu cầu này, khác với AS tại 3 điểm chính:
i, để khai thác lời giải tốt nhất trong mỗi lần lặp hoặc trong cả thuật toán, saumỗi lần lặp việc cập nhật vết mùi được thực hiện Kiến này có thể là kiến tìm thấy lời
giải tốt nhất trong lầnlặp lại hiện tại (iteration-best ant) hoặc là kiến tìm thấy lời giải tốt nhất từ đầu đến thời điểm hiện tại (global-best ant)
ii, Để tránh tắc nghẽn việc cập nhật mùi được giới hạn trong khoảng [τmin,τmax]iii, ngoài ra việc khởi tạo vết mùi được thực hiện theo τmax , theo cách này để cóthể khám phá ở mức cao hơn khi bắt đầu thuật toán
cập nhật vết mùi
vết mùi được cập nhật sau mỗi lần lặp theo công thức:
trong đó và là độ dài của đương đi tốt nhất trong lần lặp hiên tại Sib hoặc lờigiải tốt nhất của thuật toán đến thời điểm hiện tại Sgb
Thông thường Sgb được sử dụngtrong thuật toán ACS, MMAS tập trung vào lời giải hiện tại
Giới hạn cập nhật vết mùi
Trong quá trình xây dựng lời giải MMAS sử dụng giới hạn vết mùi cho cáccạnh Sau mỗi lần lặp cần xác định vết mùi có vượt quá giới hạn hay không Nếu tađặt nếu ta đặt
Trang 151.3 Một số bài toán đã được giải quyết bằng phương pháp ACO 1.3.1 Người bán hàng TSP (traveling salesman problem)
Các ứng dụng ACO đầu tiên được dành để giải quyết vấn đề đối xứng và bất đốixứng trong bài toán người bán hàng (TSP) Một người bán hàng cần đi tới rất nhiềuthành phố để giao hàng, anh ta cần tìm con đường ngắn nhất đi qua tất cả các thànhphố ( mỗi thành phố một lần) sau đó quay lại thành phố suất phát Cho một tập các
thành phố V = (v1, , v n }, một tập các cạnh (mỗi cạnh là đường nối giữa 2 thành phố)
A = ((i, j): i, j ∈ V) và chi phí d ij = d ji (độ dài đường đi từ thành phố i đến thành phố
j)liên quan đến cạnh (i, j) ∈ A, TSP là vấn đề của việc tìm kiếm đường đi độ dài tối thiểu đóng và thăm mỗi thành phố một lần Trong trường hợp d ij và d ji của ít nhất một
cạnh (i, j) có giá trị khác nhau bài toán TSP trở nên bất đối xứng
Để giải bài toán TSP, AS sử dụng các vệt mùi τ ij gắn với mỗi cạnh (i,j) và ban đầu được khởi tạo bởi giá trị τ 0 Đồ thị của bài toán là một đồ thị có cấu trúc, mỗi cạnh
là đường nối giữa hai thành phố Có m con kiến nhân tạo được đặt ngẫu nhiên tại các đỉnh trong đồ thị, và mỗi bước lặp t của thuật toán, chúng thực hiện các thủ tục xây
dựng lời giải và cập nhật mùi Một con kiến ở cạnh i sẽ chọn cạnh đi đến theo xác suấtngẫu nhiên:
Trong đó τ là giá trị vết mùi η là giá trị độ dài đường đi
Bước cập nhật mùi và giả lập hành động cho kiến thực hiện như trong thuật toán
AS nêu trên
Kết quả cuối cùng sẽ đưa ra một đường đi giải quyết bài toán TSP
Trang 161.3.2 Vấn đề dò đường cho phương tiện giao thông
Đây là một phần mở rộng trực tiếp của TSP, vấn đề đầu tiên được áp dụng cho
AS, là vấn đề định tuyến xe (VRPs) Chúng ta có một tập hợp các phương tiện đóng tạimột trạm để phục vụ cho các khách hàng trước khi trở về trạm, và mục tiêu là để giảmthiểu số lượng xe sử dụng và tổng khoảng cách chuyến đi
Đồ thị sử dụng cho bài toán là một đồ thị có cấu trúc, mỗi đỉnh là một điểm đến,mỗi cạnh là một đường đi có thể giữa 2 điểm đến, trọng số trên mỗi cạnh là độ dàiđường đi Một số khó khăn gặp phải: năng lực vận chuyển là hạn chế là đối với cácchuyến xe, cũng như có thể một số khó khăn khác phát sinh từ thực tế ứng dụng,chẳng hạn như khung thời gian, trọng tải xe, chiều dài tối đa của chuyến đi, vv Đó là
vấn đề cơ bản mà VRP phải giải quyết, các phương pháp xếp hạng AS, các phiên bản dựa trên xếp hạng AS và đạt kết quả tốt Các tác giả sử dụng các tiêu chuẩn đánh giá
khác nhau để nâng cao chất lượng các giải pháp và VRP thay đổi cách xây dựng danhsách cấm để hạn chế về tổng chiều dài tối đa của một xe và về năng lực của nó
Từ những kết quả này, và những kết quả tuyệt vời thu được bằng cách sử dụngACS với TSP, SOP và QAP, ACS đã được áp dụng cho một phiên bản VRP tốt hơn đểđưa vào thực tế, được gọi là VRPTW VRPTW được dùng để giải quyết vấn đề giảmthiểu thời gian và chi phí trong trường hợp một đội xe phân phối hàng hóa từ kho đếnmột tập hợp các khách hàng VRPTW đã giảm thứ bậc, chức năng phân cấp: mục tiêuđầu tiên là giảm thiểu số lượng các chuyến đi (hoặc xe) và mục tiêu thứ hai là để giảmthiểu tổng thời gian di chuyển Một giải pháp với một số lượng các chuyến đi thấp hơnluôn luôn là một giải pháp thích hợp ngay cả khi thời gian đi là cao hơn Vấn đề thứbậc VRPTW là rất hay gặp và có thể trong trường hợp vấn đề khó khăn rất nhỏ (đốivới ví dụ khi tổng năng lực tối thiểu của số lượng xe rất gần với tổng khối lượng đểcung cấp hoặc khi khung thời gian của khách hàng hạn hẹp), cả hai mục tiêu có thể làđối nghịch: các giải pháp xây dựng thời gian tối thiểu có thể bao gồm một số lượng xecao hơn giải pháp với số lượng xe tối thiểu
Để đáp ứng vấn đề đa mục tiêu với ACS, Multiple Ant Colony System choVRPTW (Mac-VRPTW) đã được đưa ra Mac-VRPTW được tổ chức với một hệthống cấp bậc đàn kiến nhân tạo của ACS được thiết kế để tối ưu hóa hệ thống vớimục tiêu đa chức năng: đàn kiến ACS đầu tiên (ACS-VEI) giảm thiểu số lượng xetrong khi đàn kiến ACS thứ hai (ACS-TIME) giảm thiểu khoảng cách chuyến đi Cả
Trang 17hai đều sử dụng vết mùi trên đương đi nhưng chúng hợp tác bằng cách trao đổi thôngtin lẫn nhau thông qua các cập nhật vết mùi Trong thuật toán cả hai được tối ưu hóamục tiêu cùng một lúc: ACSVEI cố gắng giảm số lượng xe trong khi tìm kiếm mộtgiải pháp khả thi với số lượng xe luôn luôn ít hơn các giải pháp khả thi trước đó
Do đó ACS-VEI khác với ACS truyền thống áp dụng cho TSP Trong ACS-VEIgiải pháp tốt nhất hiện thời là giải pháp (thường là không khả thi) với số lượng caonhất của khách hàng được phục vụ, trong khi ở ACS giải pháp tốt nhất hiện thời là mộtgiải pháp ngắn nhất Ngược lại, ACS-TIME là một ACS truyền thống: ACSTIME, tối
ưu hóa thời gian đi lại của các giải pháp khả thi được tìm thấy bởi ACS-VEI TrongHAS-SOP, ACS-TIME là kết hợp với một thủ tục tìm kiếm địa phương để cải thiệnchất lượng của các giải pháp tính toán Việc tìm kiếm địa phương sử dụng cấu trúc dữliệu tương tự như cấu trúc dữ liệu thực hiện trong HAS-SOP và được dựa trên việctrao đổi hai dây chuyền phụ của khách hàng Một trong chuỗi này phụ trách sản phẩm,còn lại thực hiện chèn thêm một khách hàng
Thực nghiệm đã chỉ ra rằng hiệu suất của hệ thống tăng lên trong trường hợp giảipháp tốt nhất của ACS-TIME được sử dụng, kết hợp với các giải pháp tốt nhất củaACS − VEI, để cập nhật các vết trong ACS-VEI
Chương 2 Bài toán phân lớp vào các thuật toán giải quyết
2.1 Nội dung bài toán
Về mặt hình thức, bài toán có thể diễn giải như sau: cho sẵn một tập huấn luyện
ta cần tạo ra một phân lớp mà có thể ánh xạmột đối tượng vào nhãn phân loại của nó
2.2 Thuật toán phân loại cây quyết định (ID3)
Thuật toán ID3 được sử dụng để xây dựng cây quyết định Cho môt tập huấnluyện T của các mẫu, mỗi mẫu có các thuộc tính c1, … ,cn
Thuật toán ID3 ( R: tập các thuộc tính chưa phân loại, C: tập các thuộc tính đãphân loại, S: tập huấn luyện ) trả về một cây quyết định :
ID3
Trang 18•Tạo nút gốc (Root) cho cây
•Nếu tất cả các mẫu đều là khẳng định, trả về cây một nút gốc với nhãn là+
•Nếu tất cả các mẫu đều là phủ định, trả về cây một nút gốc với nhãn là
-•Nếu tập các thuộc tính là rỗng, trả về cây một nút gốc có nhãn là giá phổbiến nhất của thuộc tính đich trong tập mẫu
•Trường hợp khác:
Begin:
oA thuộc tính phân loại tập các mẫu tốt nhất trong tập các thuộc tính
oThuộc tính quyết định cho nút gốc A
oVới mỗi giá trị có thể ai của thuộc tính A
thêm một nhánh cây mới bên dưới nút gốc tương ứng với điều kiện A =
Trang 192.3 Thuật toán phân loại C4.5
Đây là một mở rộng của ID3 với một số thủ tục cắt tỉa ID3 sinh ra cây quyếtđịnh còn C4.5 sẽ sinh ra tập luật
cắt tỉa cây