Tải bản đầy đủ (.pdf) (87 trang)

Thuật toán phỏng bầy kiến giải bài toán K-Median

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (11.67 MB, 87 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

BỘ GIÁO DỤC VÀ ĐÀO TẠO.

'TRƯỜNG ĐẠI-HỌC BÁCH KHOA HÀ NỘI

<small> </small>

LUẬN VĂN THẠC SĨ KHOA HỌC

THUAT TOAN PHONG BAY KIẾN GIAI BAI TOAN K-MEDIAN

NGANH : CONG NGHE THONG TIN MA S6:23.04.3898

‘TRAN TRUNG HIẾU

Người hướng dẫn khoa học: PGS TS NGUYEN DUC NGHIA <sub> </sub>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

Với tất cả lịng kính trọng và biết ơn sâu sắc, em xin gửi lời cảm ơn chân thành tới thầy giáo PGS TS Nguyễn Đức Nghĩa, người đã tận tinh day dỗ và hướng dẫn em trong q trình hồn thành luận văn. Em cũng xin gt cảm ơn chân thành tới các Thầy Cô Khoa Công nghệ Thông tin, Trường Đại hoc Bách Khoa Hà nội, những người đã tận tình giảng dạy, truyền cho chúng.

em những kiến thức căn bản trong suốt quá trình học tập tại trường để tạo cơ

sở hoàn thành bài luận văn này.

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

MỤC LỤC

CAC THUAT NGU VIET TAT

LOI NOI DAU

Trang 6 <small>Tự Ỷ </small>

1.3 Các không gian tìm kiếm, đặc tả và các hàm phù hợp 12

1.4 Phân loại các thuật toán phỏng sinh học <sup>13 </sup>

1.4.4. Các ứng dụng trong điều khiển <sup>17 </sup>

1.5 Nguyên lý cơ bản của các thuật toán phỏng sinh học <sup>19 </sup>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

2.4.5 Bài toán định tuyến mạng 36

Chương 4. Giải thuật phỏng bầy kiến giải bài toán k-median _ — 53

4.3.6. Điều kiện dừng của thuật toán 59

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

Chương 5. Kết quả thực nghiệm

5.1 Mô tả thực nghiệm

5.1.1 Đặc điểm các bộ dữ liệu

5.1.2 Thiết kế chương trình

5.2 Kết quả thực nghiệm

5.2.1 Xác định các tham số 5.2.2 Các kết quả tính toán

5.3 Đánh giá kết quả thực nghiệm

5.3.1 Đánh giá về chất lượng thuật toán

5.3.2 Đánh giá về thời gian thực hiện

5.3.3. Đánh giá về độ ôn định

Kết luận và hướng phát triển Tài liệu tham khảo

61 61 61 62 | 64 64 68 75 75 76 77 78 79

<small> </small>

Phụ lục: Cấu trúc dữ liệu và các modul chương trình <sup>81</sup>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

EC EA ACO AS GA TSP QAP

JSP GBAS SMTWTP GAP SCP

Single Machine Total Weighted Tardiness Scheduling Problem Generalized Assignment Problem Set Covering Problem

“Thuật toán di truyền

Bài toán người bán hàng, đi động

Bài tốn phương trình bậc

hai

Bài toán lập lịch bán hàng

Hệ thống Ant dựa trên đồ

thị

Bài toán lập lịch sản xuất

trên một máy đơn.

Bài toán lập lịch tổng quát

Bài toán phủ đỉnh

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

LỜI NÓI ĐÀU

Các hệ thống công nghệ thông tỉn ngày nay càng phát triển, lối tư duy,

cơ chế tính tốn, suy diễn ngày càng tiến gần hơn với kiểu tư duy logie của

con người. Cùng với nó, các hệ thống tính tốn mơ phỏng, theo các eg chế hoạt động sinh học của các thực thể trong cuộc sống cũng, ngày cảng được

nghiên cứu sâu hơn, chỉ tiết hơn, Các bài toán trong thực tế cũng được các

nhà nghiên cứu nắm bắt và giải quyết dễ dàng hơn thông qua các mối liên hệ tồn tại và không ngừng phát triển của các thực thể sinh học. Các hệ thống tinh toán như vậy được nghiên cứu dưới tên gọi các hệ thống tính tốn phỏng sinh

Các vấn đề phục vụ và năng lực phục vụ của các trạm dịch vụ đối với

các yêu cầu của khách hàng ngày nay trở thành một mảng đề tài khá nóng. Do phải tiếp nhận số lượng lớn các yêu cầu từ các khách hàng và vẫn tiếp tục

tăng lên mà các trạm dịch vụ nhiều khi quá tải do năng lực phục vụ không đáp

ứng. Đặc biệt, trong một số loại hình dịch vụ mang tính khẩn cấp, các yêu cầu

cần phục vụ với thời gian nhanh nhắt, thì vấn đề cài đặt các trạm dịch vụ một

cách hợp lý sao cho khả năng đáp ứng là tốt nhất có thể được lại trở nên hết sức quan trọng, Bài toán k-median, mt bai tốn điển hình đáp ứng các kiểu mơ hình trên đã được triển khai với nhiều nghiên cứu chuyên sâu.

Với mục tiêu đi sâu nghiên cứu về hệ thống giải thuật phỏng bay kiến, cũng như ứng dụng nó để giải một lớp bài toán tối ưu tổ hợp đó là bài toán &-

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

median, luận văn này sẽ cố gắng tìm hiểu mơ hình cơ bản nhất của hệ thống,

giải thuật phỏng bẩy kiến, bài toán k-median và ứng dụng giải thuật phỏng,

bẩy kiến để giải bai toán này. Luận văn gồm 5 chương:

« Chương 1 Giới thiệu tổng quan về các hệ thống phỏng sinh học,

các phương pháp tính toán phỏng sinh học, cũng như nguyên lý

cơ bản của một hệ thống thuật toán phỏng sinh học.

nghiên cứu nhiều, Tuy nhiên việc áp dụng thuật toán phỏng by kiến vào giải

bài toán k-median còn chưa được nghiên cứu sâu sắc. Chính vì vậy, trong quá.

trình nghiên cứu, từm hiều, chắc chắn các vấn để tôi đề cập cịn có nhiều thiếu

sót, khiếm khuyết. Do vậy rất mong nhận được sự đóng góp, chỉ đạy của các

thấy cơ, các bạn học có quan tâm tới vấn đề này.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

CHUONG I.

TONG QUAN VE CAC HE THONG TINH TOÁN

PHONG SINH HOC

1.1 Giới thiệu

Các kỹ thuật tính toán phỏng sinh học (EC) [10] được nghiên cứu cho thấy chúng hoàn toàn phù hợp với các phương pháp tính, giải các bài toán tổ hợp. Nguyên lý chung của các kỹ thuật này đều dựa trên các hiện tượng sinh học tự nhiên. Các tính toán này bao gồm lớp các thuật toán phỏng sinh học

(EA), trong đó chứa các giải thuật tìm kiếm dựa trên các tri thức kinh nghiệm.

Các trí thức này có thể được sử dụng để tìm kiếm các lời giải tốt cho các bài

để suy diễn ra các lời giải tốt hơn từ các lời giải trước đó và đặc biệt phù hợp

với các dạng bài tốn khơng, tồn tại các giải thuật hiệu quả (là giải thuật có thời gian tính tốn đa thức). Các giải thuật này thường là đơn giản, mang tính

tổng qt và có thể được ứng dụng trong lớp các bài tốn tìm kiếm và tối ưu. Tắt nhiên, để có một sự đánh giá đúng về việc tại sao và làm thế nào các thuật tốn có thể làm việc, cần có các hiểu biết cơ bản về di truyền và sự

tiến hoá,

1.2 Di truyền và sự tiến hoá

Trong sinh học, sự khác biệt được tạo ra giữa kiểu gen và kiểu hình của

sinh vật. Kiểu gen là tổ hợp các gen mã hóa sinh vật, đặc biệt là các phân tử

DNA có trong, mỗi tế bào của cơ thể sinh vật (cho dù đó là vi khuẩn, nấm,

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small> </small>

thực vật hay động vật). Các phân tử DNA này có chứa các gen, đó là các đoạn

nhỏ của phân tử DNA mã hóa cho các đặc điểm riêng của sinh vật (còn gọi là

tính trạng), ví dụ như da hoặc màu lơng, số lượng chỉ, kích thước sọ, ... Một

cách chính xác hơn, các gen (hoặc các đoạn DNA) này được dịch mã thành

các protein tạo nên các phần của cơ thể, và tạo nên các chức năng cân thi cho sự tồn tại (chuyển hóa, vận động cơ, bảo vệ chống lại bệnh tật, ...). Sự

<small> </small>

hình thành sinh vật cùng với các chức năng hoặc hành vỉ của nó tạo nên kiển

hình, hay sinh vật thực thể khi sống trong thế giới thực. Nói tóm lại, cỏ quá. trình 1 chiều mà thông tin về gen (kiểu gen) xác định (cùng với tác động của.

mơi trường) hình dạng và chức năng (kiểu hình) của sinh vật.

Khi hai sinh vật cùng loài sống cùng nhau và sinh con, các thay đổi ở

mức gen như sau: sao lại các phân tử DNA của cả bố lẫn mẹ và kết hợp với

nhau, và kiểu gen của con nhận được một phần gen từ bố, một phần gen từ

mẹ. Nói cách khác, kiểu gen của từng cá thể con là tổ hợp (một cách ngẫu. nhiên) kiểu gen của bố mẹ, mỗi cá thể con có tổ hợp gen khác nhau. Quá trình.

này được gọi là lại. Hơn nữa, trong quá trình sao chép thong tin gen từ bố mẹ

so với bố mẹ của chúng. Một số tính trạng của thể hệ tiếp theo có từ bố, và.

một số từ mẹ. Hơn nữa, các đột biển ngẫu nhiên này có thể biểu hiện hoàn

<small> </small>

toàn ở một số tính trạng nhất định. Tóm lại, mỗi thay đổi đều có nguồn gốc,

xuất phát từ mức độ kiểu gen (qua lai và đột biến) và biểu hiện ở mức độ kiểu

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

11

<small> </small>

trước khi trưởng thành; chúng có thể bị chết bởi thú ăn thịt, chúng phải tranh

thức ăn với các chuột khác, hoặc chúng có thể phải chống chọi với các mối đe

dọa từ tự nhiên hoặc bắt ngờ khác trước khi chúng có thể sinh sản. Hậu quả là

chỉ có một phần nhỏ mỗi thế hệ chuột sẽ sinh sản, và truyền các thông tỉa di

truyền cho thế hệ sau. Đặc biệt, những con chuộc có kiểu hình tốt, như #ó thể

chạy nhanh hoặc có màu lông cho phép chúng lẫn trốn được trong các bụi để

tránh được thú ăn thịt, mới sống sót và sinh sản. tuy nhiên, các con chuột có

kiểu hình không tốt sẽ chết, và do đó khơng thể sinh sản được. Quá trình này, được tổng kết bằng thành ngữ “tồn tại dành cho kẻ mạnh nhất” được gọi là

chọn lọc tự nhiên: các đặc tính (hoặc các biến đổi) có lợi nhìn chung sẽ được

bảo tồn và phát triển trong quần thể, và các đặc tính (hoặc các biến đổi) bất

lợi sẽ nhìn chung biến mắt, vì khơng truyền đến được thế hệ sau. Hậu quả là

qua thời gian, quần thể nói chung sẽ thay đổi dần dân, hoặc tiến hóa dựa trên

các biến đổi về gen, và thích nghỉ tốt hơn với các thay đổi của môi trường qua chọn lọc tự nhiên.

Điều đó chính là hình thức diễn ra của tiến hóa và chọn lọc tự nhiên

trong thế giới. Tất nhiên đó là một hình ảnh được đơn giản hóa, nhưng điều quan trọng chính là các nguyên lý chủ yếu này. Một cách nhìn đặc biệt về tiến

hóa đã trở nên phổ biến là tiến hóa chính là cách phân tích bài tốn. Bài tốn ở đây chính là sự tồn tại và sinh sản, và sự tiến hóa qua chọn lọc tự nhiên chính là một kỹ thuật phân tích bài tốn. Nói cách khác, tiến hoá sẽ tìm kiếm

trong khơng gian các phần tử DNA (kiểu gen) để mã hoá các thành các kiểu hình có thể đảm bảo tổn tại và phát triển. Những kiểu gen mã hóa các kiểu

hình thành công, sẽ, một cách tương đối, được sử dụng để tạo ra các kiểu gen (qua biến đổi gen) dé duy trì giống nịi. Theo cách này, qua nhiều thế hệ kế

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

tiếp, các cá thé trong quan thể sẽ trở-nên ngày càng thành cơng trong, việc

“phân tích bài tốn”.

14.3 Các khơng gian tìm kiếm, đặc tả và các hàm phù hợp Để có thể sử dụng các nguyên lý tiến hoá sinh học trong việc xây dựng các thuật tốn tìm kiếm, đầu tiên ta cần tìm hiểu các khái niệm không gian tìm kiếm, các đặc tả di truyền và các hàm phù hợp.

1.3.1. Khơng gian tìm kiếm

Khơng gian tìm kiếm của một bài toán đơn giản chính là khơng gian

của tất các các lời giải có thể có để giải bài toán. Chẳng hạn với bài tốn tính tổng: Dua ra một tập gồm ø số x„ thì có tồn tại hay không một tập con Ø các

số này mà tổng của chúng không vượt quá một số m cho trước? Khi đó tập các lời giải cho bài toán này (khơng gian tìm kiếm) là tập tất cả các tập con có thể của ø số, là 2". Một ví dụ khác là bài toán người bán hàng di động (TSP).

Đối tượng cần tìm một hành trình ngắn nhất đi qua » thành phố sao cho mỗi

thành phố chỉ được thăm đúng một lần. Ở đây khơng gian tìm kiếm chính là tập tất cả các hành trình có thể qua ø thành phố này, chính là ø!1.

1.3.2. Các đặc tả di truyền

Đôi khi các đặc tả này là các cách mô tả các lời giải cho một vài bài

toán theo nguyên tắc đơn giản, thuận tiện để tính tốn, chẳng hạn thơng qua

các xâu ký tự. Ví dụ trong bài tốn tính tổng con trên, mỗi lời giải có thể được mơ tả bởi một chuỗi bit có độ dài „. Đưa ra một chuỗi bít, lời giải tương ứng

được định nghĩa bằng cách thêm vào một giá trị x; trong tập con lời giải nếu

bit giá trị thứ ¿ trong chuỗi bit bằng 1. Tương tự trong bài toán TSP, mỗi bộ

lời giải có thể được mô tả bởi một hoán vị của ø số tự nhiên từ 1 đến ø. Mỗi

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Các cách mô tả các lời giải này làm cho bài toán tương tự như mô tả

kiểu gen/kiểu hình trong các hiện tượng sinh học tự nhiên. Các mô tả (các chuỗi bit, các hoán vị) là các kiểu gen và các lời giải tương ứng là các kiểu

hình. Khi đó khơng gian tìm kiếm có thể được mô tả như là không gian của

các chuỗi bịt hay là không gian của các hoán vị.

1.3.3. Các hàm phù hợp

Để áp dụng một thuật toán phỏng sinh học vào một bài toán, ta cần có

một vài cách đánh giá các lời giải. Điều này có thể được thực hiện thông qua các hàm phù hợp. Một hàm phù hợp là một hàm mà đầu vào là các mô tả (hay

các kiểu gen), dịch các mô tả này ra các lời giải tương ứng (hay các kiêu hình), kiểm tra các lời giải này trên bài toán đặt ra, sau đó trả về một giá trị

đánh giá mức độ tốt của lời giải.

Chẳng hạn trong bài toán TSP, đầu vào là một hốn vị, được tính thành

hành trình tương ứng qua các thành phó, và độ dài của hành trình này sẽ được

tính ra.

Xem xét với một bài tốn tìm cực đại, sự phù hợp aên là cực đại, hàm

phù hợp khi đó được cấu trúc sao cho giá trị phù hợp càng cao thì lời giải sẽ càng tốt.

1.4 Phân loại các thuật toán phỏng sinh học

Các ứng dụng của các hệ thống tính toán phỏng sinh học hết sức rộng, rãi [12]. Việc phân loại nhiều khi chỉ mang tính chất tương, đối. Tuy nhiên, về cơ bản có thể phân loại các thuật toán phỏng, sinh học dựa theo các ứng dụng,

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<small>“ </small>

trong thực tế của các thuật tốn đó. Để thuận tiện, có thể phân chia thành các

dạng ứng dụng tiêu biểu như sau:

® Các ứng dụng quy hoạch © Cac tg dung thiét ké

s - Các ứng dụng mơ phỏng và nhận dạng

©_ Các ứng dụng điều khiển

Việc phân loại này chỉ mang tính chất tương đối. Có thể có một vài bài

tốn cụ thể nào đó đúng trong đồng thời nhiều dạng ứng dụng. 1.4.1 Các ứng dụng trong quy hoạch

1.4.1.1 Bài toán định tuyến

Một trong các bài toán nổi tiếng trong hệ thống các bài toán tối ưu tổ hợp dạng này chính là bài toán người bán hàng di động (TSP) . Một người

bán hàng cần phải đi qua một số thành phố, và sau đó trở về nhà. Điều kiện

đặt ra là anh ta phải đi qua tất cả các thành phố với khả năng tối thiểu hoá

quãng đường đi.

Một bài toán khác dạng này là bài toán vận chuyển (Transportation

Problem). Trong, bài toán này, hàng hoá cần được lấy từ một số kho hàng và

phân phối cho một số khách hàng. Vậy đâu sẽ là giải pháp đảm bảo tối ưu chỉ

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<small>15 </small>

<small> </small>

trường, không, đồng nhất, khi một yêu cầu xử lý trực tuyến được đặt ra, các

rôbốt phải đưa ra tức thì các di chuyển phủ hợp.

1.4.1.2 Bài toán lập lịch

Các vấn đề lập lịch chủ yếu tập trung phân tích các kế hoạch đặgra để

thực hiện một số yêu cầu trong một khoảng thời gian nào đó, trong đó các yêu

cầu là có giới hạn, các ràng buộc thay đổi và sẽ có một số đối tượng được tơi

<small>ưu. </small>

Bài tốn lập lịch công việc bán hàng là một dạng bài toán NP đầy đủ. Khung cảnh đặt ra là một nhà máy sản xuất, với các kiểu máy công cụ khác nhau. Có một số cơng việc cần được hoàn thành, mỗi công việc bao gồm một

tập các nhiệm vụ. Mỗi nhiệm vụ yêu cầu một máy riêng thực hiện trong một

khoảng thời gian xác định, và các nhiệm vụ cho mỗi công việc cần được hoàn thành theo yêu cầu. Làm sao để lịch đưa ra có thể thực hiện tắt cả các nhiệm

vụ với chỉ phí tối ưu?

Một dạng bài toán lập lịch khác là đặt ra một thời gian có thể cho một

tập các bài kiểm tra, các bài giảng, hoặc một thể loại tương tự.

Trong tính tốn, các bài tốn lập lịch còn bao gồm cả bài toán phân phối các công việc một cách có hiệu quả cho từng bộ*xử lý trong một hệ thống rất nhiều bộ xử lý.

1.4.1.3 Bài tốn đóng gói

Các thuật toán phỏng sinh học được ứng dụng trong rất nhiều các bài

tốn đóng gói, mà đơn giản nhất là bài tốn balơ rỗng một chiều (Zero-One

Knapsack Problem). Dua ra một ba lô rỗng, và một tập các đồ vật, mỗi đồ vật

<small> </small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

có kích thước và giá trị xác định. Tìm-tập các đồ vật với giá trị lớn nhất có thé

chứa được trong balơ đó. Có nhiều bài tốn thực tế có cùng kiểu này, chẳng

hạn bài toán cấp phát các kênh truyền thông cho khách hàng với chỉ phí cho

các kênh là khác nhau.

Có rất nhiều dạng bài tốn đóng gói hai chiều. Khi việc sản xuất các đồ

vật được thực hiện từ nhiều vật liệu khác nhau, mong, muốn đặt ra là tìm một dải phù hợp nhất các loại vật liệu, sao cho tối thiểu số lượng các vật liệu thừa. Một bài toán tương tự trong lĩnh vực thiết kế mạch điện tử tích hợp, đó là làm

thế nào các mạch điện được sắp xếp để tối thiểu hoá tổng số lượng linh kiện và đường mạch dẫn được sử dụng.

1.4.2 Các ứng dụng trong thiết kế

Việc thiết kế các hệ thống lọc trong điện tử nhận được nhiều sự quan

tâm. Các thuật toán phỏng sinh học thường được sử dụng để thiết kế các hệ

thống điện tử hoặc hệ thống số, được thực hiện tại tần số trả lời mong muốn.

Các thuật toán phỏng sinh học cũng đồng thời được sử dụng trong vấn

đề tối ưu các thiết kế của các hệ thống xử lý tín hiệu và trong thiết kế mạch

tích hợp.

Các kỹ thuật tính tốn phỏng sinh học được sử dụng rộng rãi trong các

mạng Nơron nhân tạo, cả trong thiết kế giao thức mạng cũng như trong tìm

kiếm các tập trọng số tối ưu.

Có rất nhiều các ứng dụng kỹ thuật trong tính tốn phỏng sinh học:

thiết kế cấu trúc, thay thế các suy hao trong các không gian cấu trúc, thiết kế

máy gia tốc tuyến tính, thiết kế hộp số, thiết kế lò phản ứng hoá học ...

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Các tính tốn phỏng sinh học được ứng dụng trong các bài toán khác nhau trong hoá học cũng như sinh học. Roosen và Meyer (1992) [12] sử dụng,

chiến lược phỏng sinh học để xác định trạng thái cân bằng trong các hệ thống hoá học, bằng cách xác định chất entanpi dư thừa tối thiểu trong phân tích.

Việc xác định cấu trúc 3 chiều của các protein, đưa ra các chuỗi các amino axít cũng được thực hiện theo các tính tốn phỏng sinh học.

Trong lĩnh vực kinh tế, các tính tốn phỏng sinh học cũng được sử

dụng để mơ hình hố các thành phần kinh tế trong thị trường.

Quá trình nhận dạng ngược với q trình mơ phỏng. Nó phân tích, xác

định một thiết kế của hệ thống đưa ra là vận hành được.

Rất nhiều hệ thống có thể được mơ tả thông qua các mô hình, đảm bảo

đưa ra các giá trị đầu ra dựa trên một hoặc một số giá trị đầu vào.

1.4.4 Các ứng dụng trong điều khiển

Có hai kiểu xử lý khác nhau sử dụng các tính tốn phỏng sinh học trong, điều khiển: online và offline, Xử lý online sử dụng một thuật toán phỏng sinh

học như là một phần kích hoạt của việc xử lý điều khiển. Với xử lý offline,

khơng có một phỏng sinh học nào được ứng dụng.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

Một vài nhà nghiên cứu đã tìm-kiếm, sử dụng các hệ thống thích nghỉ

có chất lượng của các thuật toán phỏng sinh học để xây dựng các bộ điều khiển trực tuyến cho các hệ thống động. Thuận lợi của một bộ điều khiển

phỏng sinh học là nó có thể phù hợp trong phạm vi hệ thống khi các đặc tính

bị thay đổi theo thời gian với các thay đổi có thể là từ từ hoặc đột biến. Hầu hết các nhà nghiên cứu đưa ra các cách tiếp cận offline cho các điều khiển đối

với các hệ thống không, đổi.

Fonseca và Fleming (1993) [12] sử dụng các thuật toán phỏng sinh học

để thiết kế một bộ điều khiển cho các máy bơm ga. Một hệ thống điều khiển

sẽ tối ưu khả năng đốt cháy trong các lò đa sợi đốt và làm sôi. Các tính tốn

phỏng sinh học đồng thời cũng được thiết lập cho phần hướng dẫn điều khiển và hệ thống dẫn đường.

Ngoài các cách phân loại như đã trình bày ở trên, có thể phân loại các thuật toán phỏng sinh học dựa theo các mơ hình phỏng sinh học trong thực tế.

®- Dựa trên nguyên lý di truyền học, có các thuật tốn di truyền.

® Dựa trên nguyên lý chuyển động của bay kiến, ta có các thuật

<small>“ ` À ak </small>

toán phỏng bây kiên.

s- Dựa trên nguyên lý trèo đổi có thuật tốn trèo đổi (Hill Climbing

Algorithm),

Trong phạm vi luận văn này, ta sẽ nghiên cứu về thuật toán phỏng bầy

kiến và ứng dụng thuật toán để giải bài toán &-median,

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

19

<small> </small>

<small>“ </small>

4.5. Nguyên lý cơ bản của các thuật toán phỏng sinh học

Các thuật toán phỏng sinh học là một dạng tìm kiếm và tối ưu thông

qua các q trình tích luỹ tri thức dựa cơ bản trên các nguyên lý phỏng sinh học và được thực hiện trên các máy tính trong hầu hết các trường, Hợp. Nguyên tắc cơ bản là nếu một lời giải được sinh ra nằm trong tập lời giải có triển vọng và các lời giải khác là không, triển vọng thì lời giải được sinh ra sẽ

hội tụ tốt nhất trong tập lời giải triển vọng. Nếu một lời giải chưa hoàn chỉnh

được thêm vào, quá trình tạo lời giải sẽ thăm dị khơng gian tìm kiếm và chuyển tới vùng lời giải có khả năng tăng các lựa chọn và kế thừa các thuộc

tính của lời giải trước đó. Các quá trình này dựa trên các luật cơ bản của nguyên lý phỏng sinh học Darwinistic.

Để phân tích bài tốn tối ưu với các tri thức phỏng sinh học, các lời giải

phải mô tả phù hợp với các đặc điểm của bài toán đưa ra và các lựa chọn có

thể là tập tương ứng về số lượng các lời giải được mô tả.

Số lượng các lời giải được mô tả được gọi là hàm phù hợp ý. Các ký hiệu 4, B, € mô tả các tập riêng lẻ hay các lời giải. Tình trạng hiện tại của

một xử lý phỏng sinh học được xác định bởi tham số s. Một phần tử riêng lẻ với chỉ sé i trong tap lời giải 4(s) được ký hiệu là a(s). Xác suất lựa chọn a(s) ký hiệu là p„ Khi một mô tả cho một lời giải có thể của Jap bao gdm n phan tử, phần tử thứ ¿ định dạng lời giải có thể sẽ có thuộc tính x, Tức là một tập riêng lẻ bao gồm một vài thuộc tính x và sẽ mơ tả một lời giải có thể thơng,

qua các thuộc tính của nó.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<Đánh giá sự phù hợp của mọi 4, trong .4(s)>

<Lya chon phan tử phù hợp nhất a, nhu là các tổ tiên của

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

trạm làm việc vào năm 1991, Sau đó, rất nhiền các biến thể của thuật toán dựa

trên các nguyên lý cơ bản của nó đã được giới thiệu. Đặc điểm chủ yếu của

một thuật toán ACO là sự kết hợp của các thông tin về cấu trúc của lời giải triển vọng với thông tin về cấu trúc của các lời giải tốt trước đó.

Hiệu quả của thuật toán ACO đã được thể hiện khi so sánh với một số

thuật toán nổi tiếng khác như thuật toán di truyén (GA), Simulated Annealing, Tabu-Search, Local Search... Người ta áp dụng rất thành cơng các thuật tốn kiến trong một số các bài toán tối ưu thường gặp như: bài toán người đưa thư,

bài toán gán, bài toán tô mầu đồ thị, bài toán lập lịch...

Tuy nhiên về mặt lý thuyết, có rat it các cơng, trình nghiên cứu nhằm đưa ra các đánh giá về hiệu quả của thuật tốn. Tình hình này đã được thay

đổi khi lần đầu tiên, năm 2000, W.J Gutjahz chứng minh được tính hội tụ của

một thuật toán ACO, thuật toán GBAS [19, 20]. Gutjahz chứng minh rằng,

trong một số điều kiện nhất định GBAS hội tụ đến lời giải tối ưu với xác suất

tiệm cận đến 1 với độ chính xác tuỳ ý. Tuy nhiên GBAS chưa có một áp dụng

cụ thể nào trên thực tế nên các kết quả này thuần tuý chỉ có ý nghĩa lý thuyết.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

a

Năm 2002 M.Dorigo và T.Stủzle đã chứng minh được tính hội tụ của

hai biến thé quan trọng nhất của ACO, đó là thuật toán Max ~ Min va ASC

[21]. Điều này đã khiến cho ACO có một cơ sở lý thuyết vững vàng và mở ra một loạt các nghiên cứu đầy hứa hẹn về các tham số điều khiển trong ACO.

+ Tính linh hoạU đa năng: Có nghĩa là nó có thể áp dụng mở rộng,

u bài tốn khác nhau có một số điểm tương đồng. Ví dụ

cho nh

như có thể mở rộng dễ dàng từ bài toán bán hằng di động sang

bài toán bán hàng di ng bt i xng ...

ôâ Có tính thích nghỉ cao: Có thể được áp dụng với chỉ những thay.

đổi nhỏ tới những bài toán tổ hợp tối ưu, chẳng hạn bài tốn

phương trình bậc hai (QAP) hay bai toán lập lịch công việc bán

hàng (JSP).

+ _ Có tính phổ biến: Điều này là khá thú vị vì nó cho phép khai thác

các khả năng quay lui trong các kỹ thuật tìm kiếm. Nó đồng thời cũng tạo ra một hệ thống có thể thực hiện các xử lý song song.

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

23

<small> </small>

2.2 Mơ hình mơ phỏng của thuật tốn

Mơ hình được diễn tả dưới đây [22] dựa trên thực tế hoạt động của đàn

kiến trong trong tự nhiên . Ta gọi hệ thống đó là hệ thống Ant (AS).

Š ð|ợ F & ư|

Hình 2.1: Một ví dụ về hoạt động ctia bay kién trong thực té.

Hình 2.1 là ví dụ về hành trình của bẩy kiến. Hình 2.1a cho thấy bầy

kiến đi từ điểm A là nơi có thực phẩm thẳng tới tổ là điểm E và ngược lại.

Bỗng nhiên một cản trở xuất hiện trên đường tại vị trí B. Do đó tại B hoặc D,

by kiến phải quyết định rẽ phải hoặc rẽ trái (Hình 2. Ib). Sự lựa chọn sẽ bị tác

động lớn khi xuất hiện mùi hương thu hút của một con khác giới.

Nếu mùi hương thu hút từ bên phía phải càng lớn sẽ tạo cho bầy kiến một động lực mạnh mẽ hơn và do đó xác suất rẽ phải sẽ lớn hơn. Con kiến

đầu đàn đến điểm B (hoặc D) sẽ có xác suất rẽ phải như rẽ trái (vì khơng có

mùi hương thu hút trước đó trên cả hai tuyến). Bởi vì tuyến B-C-D ngắn hơn

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<small>“ </small>

B-H-D, con kiến đầu đàn sau đó sẽ đến.điểm D trước khi con kiến đầu đàn đi

theo tuyến B-H-D (Hình 2c).

Kết quả là một con kiến đi từ E đến D sẽ tìm thấy mùi hương thu hút

trên tuyến D-C-B và làm cho một nửa đàn kiến còn lại quyết định vượt qua rào cản theo tuyến D-C-B-A va do đó bẩy kiến đã đi qua B-C-D. Do vậy, số

các con kiến đi theo tuyến B-C-D theo đơn vị thời gian sẽ nhiều hơn so với số các con kiến đi theo tuyến B-H-D.

Nếu mùi hương thu hút trên tuyến đi ngắn hơn lớn hơn sẽ thúc day việc

di chuyển nhanh hơn so với tuyến đài hơn, do đó xác suất chọn tuyến ngắn

hơn là lớn hơn.

Tuy nhiên, do sử dụng mơ hình bầy kiến nhân tạo như là một phương

pháp tối ưu, nên hệ thống sẽ có một vài điểm khác so với cơ chế hoạt động

của bẩy kiến trong thực tế:

«- Bầy kiến nhân tạo có một vài bộ nhớ/ ký ức nhất định.

e Chúng không hoàn toàn mù, tức cũng có một vài trí thức nhất định trong việc quan sát, đánh giá các thay đổi của mơi trường. © Chúng sẽ sống trong môi trường mà miễn thời gian là rời rạc. Hình dưới mơ tả một dạng mơ hình của bay kiến nhân tạo.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<small>Hình 2.2: Một ví dụ về đàn kiến nhân tạo </small>

Một ý tưởng được đưa ra là nếu tại một điểm nào đó, một con kiến

chọn một đường đi từ tập các đường đi khác nhau, nó sẽ lựa chọn đường đi có

khả năng đạt tới đích cao nhất. Hơn nữa đường đi đó cũng có nghĩa là đường, đi ngắn nhất.

2.3 Trình bày giải thuật

2.3.1 Một số định nghĩa ban đầu

Cho một bộ (S, / 42), trong đó:

© _Š: tập hợp các lời giải triển vọng

© / hàm đánh giá/: ->R

© @: các điều kiện ràng buộc

© Cần tìm lời giải tối ưu $* thoả /(S*) => min

Trong ACO, bài toán tối ưu tổ hợp (5, ƒ' 2) được giải quyết qua sơ đồ gồm các thành phân sau:

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

2.3.2 Trình bày thuật tốn

Khởi đầu, mỗi con kiến được phân bố ngẫu nhiên trên các đỉnh của Ớ,

sau đó chọn một đỉnh nào đó làm đỉnh kế tiếp trong quá trình dịch chuyển.

Quá trình chấm dứt khi mọi đỉnh đều được duyệt qua. Việc chọn đỉnh kế tiếp

trong quá trình di chuyển của kiến phụ thuộc vào mật độ mùi trên các cung. Điều kiện Ø được áp dụng bảo đảm các lời giải ứng cử viên thoả mãn cáể điều kiện ban đầu. Sau khi các con kiến hồn thành q trình di chuyển, quá trình cập nhật mật độ mùi được thực hiện. Lưu đồ thực hiện có thể được mơ tả

như sau:

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Định nghĩa các kết nói, các điều kiện

<small>giới hạn của bài toán </small>

|

Cáu trúc lời giải ban đầu với hàm

<small>xác suất như đã mô tả </small>

|

<small>Tạo các lân cận hoặc danh sách </small>

không gian lời giải cần tìm kiếm

rT

<sub>Sinh đàn kiến nhân tạo </sub>

}

Đánh giá lời giải triển vọng nhất được sinh <small>ra dụa trên toàn bộ không gian lời giải </small>

<small> </small>

<small> </small>

<small> </small>

<small>Cập nhật tập lời giải dựa trên lời giải </small>

tốt và tạo dạng sách tìm kiếm mới

<small> </small>

<small> </small>

Hình 2.3 Lưu đồ giải thuật ACO

Dựa trên lưu đồ trên, các thủ tục được xây dựng như sau:

Procedure ACO_Algorithms;

Initialize; ⁄Khởi tạo các tham số ban đâu While <Diéu kiện dừng chưa thoả> do

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<small>“ </small>

ConstructAntSolutions; ⁄ Cấu trúc các lời giải dựa trên di

chuyển của bẩy kiến

ApplyLocalSearch; //Tuy chon

UpdatePheromones; Cập nhật các thông tin

For <duyét qua & con kiến> do

// Xay dung tập lời giải cho con kiến thứ ¡

While <x; € X* and x; ¢ S> do

<Chon dinh tiép theo Cj,; theo biéu thtte xdc suất

ngẫu nhiên P(Œ,¡ = Œ | ?; x)>

<Bé sung Œ¡.¡ vào tập x/> End; //while

<V(,J) eS*: tú, J) := tí, J) + g(S*)> <Vự, j): tú, 7) = MAX {Tmiu rÚ, J)}>

End; Kết thúc thủ tục UpdatePheromones

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

thông, qua một vài ứng dụng trong một số bài toán khác nhau [13].

Ở đây, ta sẽ xem xét 4 ứng dụng của thuật toán là các bài toán tối ưu thuộc dạng NP khó: TSP, SMTWTP, GAP, SCP. Ta sẽ sử dụng những, bài

toán này để xem xét các cách thức khác nhau trong việc mô tả lời giải. Trong,

khi bài toán TSP và SMTWTP là một dạng bài tốn hốn vị, trong đó lời giải

được mô tả như là các hoán vị của các thành phần lời giải, lời giải trong bài

toán GAP thiết lập các nhiệm vụ cho các con kiến, cịn trong bài tốn SCP lời

giải được mô tả như là một tập con của các lời giải thành phần có triển vọng. Một trong các ứng dụng khác của ACO là trong các bài toán động mà tiêu biểu là bài toán định tuyến dữ liệu trên mạng. Thuật toán AntNet áp dụng cho bài toán này là một thuật tốn rất thành cơng trong, việc đóng gói, chuyển

mạch dữ liệu trên mạng Internet.

2.4.1 Giải thuật ACO cho bài toan TSP <sup>. </sup>

Bài toán TSP là một bài toán tối ưu tổ hợp thuộc dạng NP-khó. Đây là

một bài tốn điển hình cho việc ứng dụng giải thuật ACO để giải.

Trong hệ thống AS, mỗi con kiến sẽ khởi động từ một thành phố được chọn ngẫu nhiên và có một ký ức nhớ để lưu các thành phân lời giải mà nó sẽ

cấu trúc sau này. Từ thành phố đầu tiên, mỗi con kiến sẽ do chuyển qua các

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

®ny= 1/4, là thông tin về trỉ thức ưu tiên;

© ø / là hai tham số do người dùng định nghĩa, xác định mức độ

ảnh hưởng của vệt mật độ mùi và thơng tin về tri thức;

¢ Ni la cac lang giềng, khả thi của con kiến thứ #, có nghĩa là tập các thành phố mà con kiến thứ & có thể sẽ đến thăm.

Việc cấu trúc lời giải cuối cùng sau khi mỗi con kiến hồn thành hành

trình của mình kết thúc sau khi mỗi con kiến được cấu trúc có độ dài ø. Tiếp

theo các vệt mật độ mùi sẽ được cập nhật theo công, thức:

a(t+1) = (1-p) a(t) + 3;Ar,() với moi (i, 7) (2.2)

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

và thời gian tới hạn đ, và mọi cơng việc có thể được xử lý từ thời điểm 750,

Độ trễ của công việc j được định nghĩa 7 = max{0,Œ,~ đ) với Œj là tha? gian

hoàn thành chuỗi công việc tại thời điểm hiện tại. Mục tiêu là tìm kiếm chuỗi cơng việc sao cho tối thiểu hoá trọng số độ trễ được đưa ra bởi công thức:

<small>bi oT, . </small>

Ứng dụng thuật toán ACO cho bài toán SMTWTP, tập các thành phần € là tập tất cả các công việc. Giống như trong bài toán TSP, trạng thái của bài

toán là tắt cả các phần công việc nối tiếp có thể có. Trong bài tốn SMTWTP,

ta khơng xem xét chỉ phí ứng với các kết nối do hàm mục tiêu phụ thuộc vào

các phần lời giải chưa được cấu trúc.

Thuật toán Ant dùng cho bài toán SMTWTP hoạt động như sau: Mỗi

con kiến bắt đầu với một chuỗi rỗng, và sau đó lặp lại việc gắn một công việc

chưa có lịch vào phần chuỗi được cấu trúc. Mỗi con kiến sẽ lựa chọn công việc kế tiếp sử dụng luật lựa chọn tỷ lệ thức giả ngẫu nhiên. Các vệt mật độ mùi được định nghĩa như sau: 7 là lịch mong, muốn của công việc / tại vị trí i. Các thơng tin về trì thức được định nghĩa theo một trong, 3 bách:

() Luật thời gian tới hạn sớm nhất (EDD): sẽ đưa cơng việc có thời gian tới hạn không tăng được xác định bởi đ,.

(ii) Luật sửa đổi thời gian tới hạn (MDD): đưa vào công việc có thời gian tới han kh6ng tang duge xdc dinh boi mdd) = max{C+p, dj} với C

la tổng thời gian xử lý các công việc đã sắp xếp.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

(ii) Luật khẩn cấp rõ ràng (AU): đưa vào các công việc khẩn cấp được

xác định theo công thức a, = (2⁄2)*exp(-(max{4-Œ,0})/k*p) với k là

tham số luật ưu tiên,

Trong mỗi trường hợp, thông tin tri thức được xác định theo công thức ?„y = 1/hy với hị là một trong các tham số đ, mđij, aw, được định nghĩa ở trên.

Các mật độ mùi tổng quát và địa phương sẽ được cập nhật theo công thức mô tả ở trên.

2.4.3 Bài toán GAP

Trong bài toán GAP, đưa ra một tập các nhiệm vụ 7 ={1...ø} được thiết lập cho tập các agents / ={I..m}, Mỗi agent / chỉ có một dung lượng giới han

a, va mỗi nhiệm vụ ¿ khi thiết lập tới agent j dùng hết một lượng b„ của agent

J, dong thoi chju một chỉ phí thiết lập là đ/„ Mục tiêu là tìm một nhiệm vụ khả thi được thiết lập với chỉ phí nhỏ nhất.

Đặt 1 Nếu nhiệm vụ ¿ được thiết lập cho agent /

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

33

<small> </small>

Ràng buộc (2.4) đảm bảo giới hạn dung lượng tài nguyên của các

agents, trong khi các ràng buộc (2.5) và (2.6) đảm bảo rằng mỗi nhiệm <sup>vụ chỉ </sup>được thiết lập chính xác cho l agent và một nhiệm vụ không, <sup>thể phân chia </sup>

cho một vài agents.

Bài tốn GAP có thể được cài đặt dễ dàng sử dụng thuật toán <sup>Ant Bài </sup>

tốn có thể được mơ tả bởi một đồ thị trong đó tập các thành phan chính là tập

các nhiệm vụ và các agents. Có nghĩa la C =1U J va tap cdc kết <sup>nói trên đồ </sup>

thị. Mỗi thiết lập, bao gồm n cặp (¡/) các nhiệm vụ va agents, <sup>theo di chuyén </sup>

của con kiến trên đồ thị. Mỗi di chuyển thoả mãn (2.5) và (2.6) sẽ <sup>được thiết </sup>lập.

Tại mỗi bước lặp, một con kiến sẽ thực hiện hai quyết định <sup>cơ bản sau: </sup>

(i) nd sé quyết định nhiệm vụ nào được thiết lập tiếp theo va (ii) <sup>nó sẽ quyết </sup>

định agent nào sẽ được thiết lập tới nhiệm vụ đó. Các vệt mật <sup>độ mùi và thơng, </sup>

tin về trì thức có thể được thiết lập theo hai cách trên.

Để đơn giản, đầu tiên một nhiệm vụ sẽ được thiết lập một cách ngẫu

nhiên. Sau đó, tại mỗi bước tiếp theo, một nhiệm vụ sẽ được <sup>thiết lập cho một </sup>

agent đảm bảo chỉ phí thiết lập nhỏ và mỗi agent chỉ cần một <sup>số lượng nhỏ </sup>tương đối tài nguyên để thực hiện nhiệm vụ. Do đó thơng tin về <sup>tri thức có thể </sup>

là ?ậy = 4/d,b„ và xác suất lựa chọn thiết lập có thể giống; luật <sup>xác suất trong, </sup>

hệ thống AS. Sự rắc rối trong quá trình cấu trúc lời giải là GAP <sup>phân tích các </sup>ràng buộc dung lượng tài nguyên, thực tế là với GAP không có <sup>gì đảm bảo </sup>đưa ra một con kiến sẽ cấu trúc được lời giải khả thi đáp ứng <sup>các ràng, buộc. </sup>

Thực tế là để đưa ra một lời giải khả thi, các rằng buộc tài ngun cần được

tính tốn trên tập Nj, tập các láng giềng khả thi của con kiến <sup>thứ &. Trong </sup>GAP, ta định nghĩa Ni bao gom tất cả các apents mà nhiệm vụ ỉ có <sup>thể được</sup>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<small> </small>

thiết lập mà không lo về dung lượng tài nguyên của agents. Nếu khơng có u

cầu về tài nguyên, ta bắt buộc phải xây dựng một lời giải không khả thi và trong trường hợp này ta đơn giản lựa chọn M/ là tập tất cả các agents.

Bài tốn SCP khi đó có thể được định nghĩa như sau:

voi:

Ràng buộc (2.8) đảm bảo mỗi hàng được chứa trong ít nhất 1 cột.

Thuật toán Ant được thiết lập theo cách khá dễ hiểu cho bài toán. Các

cột được chọn như các thành phần lời giải và được kết hợp với một hàm chỉ

phí và tham số mật độ mùi. Tập ràng buộc #2 nói rằng một cột có thể được

thăm bởi một con kiến một và chỉ 1 lần và đảm bảo lời giải cuối cùng sẽ chứa

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

35

<small> </small>

<small>“ </small>

tất cả các hàng. Đường đi của con kiến trên đồ thị mô tả theo các cột thêm vào

lời giải bộ phận. Mỗi con kiến bắt đầu với một lời giải rỗng và thêm dần các

cột cho đến khi hoàn thành. Mật độ mùi 7 va thông tin trí thức 7 được kết

hợp vào mỗi cột ¡. Một cột được chọn nếu xác suất p/() được thoả mãn: -

cột ¿ vào lời giải bộ phận hiện tại.

Một con kiến sẽ kết thúc việc tạo lời giải khi mọi hàng được chứa. Trong một bước tiền tối ưu, một con kiến có thể loại bỏ các dư thừa, là các cột chỉ chứa các hàng, nằm trong một tập con của các hàng khác, trong, lời giải cuối cùng. Việc cập nhật mật độ mùi giống, như trong các phần trước.

Khi thiết lập thuật toán Ant cho bài toán SCP, ta có hai khác biệt chính

với các bài tốn được mơ tả trước đó: (¡) Các vệt mật độ mùi chỉ được kết hợp

tới các thành phần và (ii) Độ dài hành trình của một con kiến có thể phụ thuộc

vào số lượng kiến, có nghĩa là việc tạo lời giải chỉ kết thúc khi tất cả các con

kiến kết thúc hành trình của chúng.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<small>“ </small>

2.4.5 Bài toán định tuyến mạng -

Cho một đồ thị mô tả một mạng truyền thông. Bài toán đặt ra là tìm kiếm một đường dẫn giữa các cặp đỉnh của đồ thị sao cho tổng chỉ phí là tối

thiểu. Một chú ý quan trọng là mặc dù việc tìm đường dẫn trên đồ thị là một

bài toán đơn giản (có thể sử dụng nhiều thuật toán giải bài toán với độ phức tạp là đa thức), nhưng điều này lại đặc biệt khó khi chỉ phí trên các cạnh lại thay đổi liên tục theo thời gian. Đây chính là trường hợp bài toán định tuyến

các gói chuyên mạch trên mạng, một ứng dụng của bài toán đặt ra.

Sau đây, ta sẽ đưa ra mơ tả của bài tốn. Như ta đã biết, trong bài toán,

mỗi con kiến sẽ tìm kiếm một đường dẫn với chỉ phí nhỏ nhất. Để đạt mục

tiêu này, mỗi con kiến sẽ di chuyển ngẫu nhiên từ một đỉnh trong mạng tới

một đỉnh khác. Giả sử mỗi con kiến đi từ đỉnh nguồn s đến đỉnh đích đ, và di chuyển từ s tới đ phải đi qua một số đỉnh trung gian. Khi con kiến thứ & nằm ở

đình ¿ lựa chọn đỉnh 7 tiếp theo dé chuyén dén theo một luật xác suất là hàm của bộ nhớ đàn kiến, mật độ mùi cục bộ và thông tin tri thức.

Trong hệ thong AS, mật độ mùi được xác định trên các cạnh. Tuy

nhiên, đối với bài toán này, mật độ mùi được xác định trên các cặp (cung -

điểm đến). Có nghĩa là một cung (¿ /) có „-l giá trị vét tg € [0,1], voi n 1a sd

lượng đỉnh trên đồ thị, nhìn chung ta # 1u Mỗi cung có thể được kết hợp một giá trị thông tin về tri thức ny = l-qy >, ». Fu VOI gy la dQ dai cla hang

đợi các kết nối từ đỉnh ¿ đến các đỉnh láng giềng j. Hang dgi cang ngắn thì giá

trị thơng tin trí thức càng cao. Đàn kiến sẽ lựa chọn đường đi theo xác suất là hàm của 7„¿ và 7; Trong quá trình xây dựng đường đi tới điểm đích, các con

kiến di chuyển sử dụng cùng một hàng đợi giống như hàng đợi các gói dữ liệu

<small>= tre.</small>

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

tiêu biểu,

Bảng 2.1: Các ứng dụng hiện tại của thuật toán Ant

Tên bài toán | Tác giả Tên thuậttoán —— | Năm *

VRP Bullnheimer, Hart! & Strauss AS-VRP 1997

<small>Gambardella, Taillard & Agazzi_| HAS-VRP 1999 </small>

White, Pagurek & Oppacher ASGA 1998

Di Caro & Dorigo AntNet & AntNet-FA | 1997

<small>Subramanian, Druschel & Chen | Regular ants 1997 </small>

van der Put & Rothkrantz ABC-backward 1998

<small>GAP Ramalhinho Lourene,o & Serra. | MMAS-GAP 1998 </small>

ONRP Navarro Varela & Sinclair ACO-V WP 1999

<small> </small>

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

<small> </small>

2.5 Đánh giá ảnh hưởng các tham số

“Thuật toán Ant tạo các bộ lời giải khả thi dựa chủ. yếu trên các thông tin

tri thức mang tính kinh nghiệm. Một vải tham số đặc trưng cho các thông tin

này do đó sẽ tác động lên hiệu quả của thuật toán. Các tham số đó sẽ được

phân tích trong các phần dưới đây.

2.5.1 Xác định các vệt mật độ mùi

Đầu tiên, một lựa chọn rất quan trọng khi ứng dụng thuật toán Ant để

định nghĩa một thông số mang tính dự đốn là các vệt mật độ mùi. Khi ứng,

dụng thuật toán Ant trong bài toán TSP, mô tả chuẩn của mật độ mùi , xác

định độ mong muốn của con kiến khi thăm thành phố / từ thành phố ¡. Có thông tin dựa trên độ mong muốn trong quan hệ

nghĩa là nó cung cấp một v:

lữa thành phố í và thành phố

bài toán SMTWTP, kết quả tốt hơn đạt được khi sử

dụng thuật tốn Ant gì

dụng mơ tả vị trí tuyệt đối

<small> </small>

ủa các vệt mật độ mùi, nơi mà z, là độ mong,

1). Trái lại, trong bài toán SMTWTP, ø và z" mô tả hai

khả năng chỉ phí rất khác nhau. Khi đó, trong bài tốn SMTWTP vị trí tuyệt

đối dựa trên cơ sở mật độ mùi là một lựa chọn tốt hơn. Vi

định các bộ lời

xác định vệt mật độ mùi là một chỉ

`u quan trọng trong việc xác

<sub>i tip theo của thuật toán.</sub>

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

39

<small> </small>

2.5.2 Cân nhắc các thăm dò và khai thác

Bắt kỳ một thuật tốn siêu trí thức hiệu quả đều phải đưa ra một sự

(đánh giá giữa việc khai thác các kinh nghiệm trong tìm kiếm và thăm dị các

vùng khơng gian tìm kiếm chưa được thăm hoặc chưa khám phá. Trong A€O.

phát với tần suất cao. Chú ý rằng dựa trên các phân bố mật độ mùi, các mẫu

phân bố có thể thay đổi. Do vậy, cách đơn giản nhất để khai thác các kinh

nghiệm tìm kiếm của đàn kiến là liên tục cập nhập mật độ mùi của đàn kiến

như là một hàm của chất lượng lời giải được sinh ra từ mỗi con kiến.

'Việc thăm dò khơng gian tìm kiếm được đưa ra trong thuật toán Ant bởi việc cấu trúc lời giải ngẫu nhiên của đản kiến. Giả sử ta xem xét thuật toán Ant mà khơng có các thơng tỉn về trí thức (điều nảy có thể dễ dàng đạt

(được bing cách đặt /?-0). Trong trường hợp đó việc cập nhật mật độ mùi của

đàn kiến sẽ được địch từ mẫu lời giải khởi tại của khơng gian tìm kiếm tới mẫu đang xem xét trong vùng không gian tìm kiếm. Khi đó, việc thăm đỏ

khơng gian tìm kiếm sẽ được kết hợp trong phần khởi tạo của thuật toán và sẽ

giảm các tính tốn phụ.

Cuối cùng, một vấn đề quan trọng, đó là vai trò trong việc cân nhắc lựa

chọn các thăm đò và khai thác thông qua các tham số œ /Öđể xác định các ảnh

Âu tiên ta xem xét ảnh.

hưởng của vệt mật độ mùi và thông tin tri thức.

hưởng của tham số ø. Với a>0, ø càng lớn việc khai thác các kinh nghiệm

tìm kiếm cảng chắc chắn; ø=0, các vệt mật độ mùi không ảnh hưởng đến quá.

trình cấu trúc lời giải; với œ<0 hẳu hết các lựa chọn có thể được thực hiện bởi

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<small>“ </small>

đàn kiến có độ mong muốn thấp hơn từ khía cạnh vệt mật độ mùi, Do đó các

thay đổi của ø có thể được sử dụng để dịch chuyển từ việc thăm dò sang, khai

thác hay ngược lại. Tham số / xác định độ ảnh hưởng của thông tin tri thức

theo cách tương tự trên.

2.5.3 ACO và tìm kiếm cục bộ

Trong rất nhiều các bài toán tối ưu tổ hợp, thuật toán Ant sẽ thực hiện

tốt hơn nếu kết hợp với một thuật toán tìm kiếm cục bộ. Các thuật tốn tìm

kiếm cục bộ sẽ tối ưu lời giải của đản kiến và lời giải tối ưu cục bộ đó được

sử dụng trong quá trình cập nhật các vệt mật độ mùi.

Việc sử dụng tìm kiếm cục bộ trong các thuật toán Ant rất được quan

tâm. Thực tế là các giải thuật Ant thực hiện tìm kiếm thô, và lời giải chúng

tạo ra có thể sau đó được tối ưu cục bộ bởi một thuật tốn tìm kiếm cục bộ

tương xứng.

Mặt khác, việc sinh lời giải khởi tạo cho thuật toán tìm kiếm cục bộ

khơng phải là một nhiệm vụ dễ dàng. Chẳng hạn, với nhiều bài toán, việc lặp

lại tìm kiếm cục bộ từ một lời giải khởi tạo ngẫu nhiên là không hiệu quả. Thực tế, đàn kiến có thể kết hợp các lời giải thành phần như là một phần của

lời giải cục bộ tốt nhất sau nảy, sinh ra một lời giải khởi tạo cho tìm kiếm cục bộ. Bằng thực nghiệm, có thể tìm thấy sự kết hợp dựa trên xác suất, sự tương.

thích về tri thức cấu trúc với tìm kiếm cục bộ để đưa ra một kết quả hoàn hảo. Trừ phi phải sử dụng thuật tốn tìm kiếm cục bộ như là một điều kiện

cho hiệu quả tốt nhất của nhiều ứng dụng ACO, cịn nhìn chung thuật tốn

Ant có hiệu quả thực hiện rất tốt với những, bài toán mà thuật tốn tìm kiếm

cục bộ không thể áp dụng dễ dàng.

</div>

×