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

phân bổ các trạm thu phát không dây dựa trên thuật toán gen

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 (1.05 MB, 45 trang )





ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ



Nguyễn Thanh Tùng

PHÂN BỔ CÁC TRẠM THU PHÁT KHÔNG DÂY KHÔNG
THUẦN NHẤT
DỰA TRÊN THUẬT TOÁN GEN



KHOÁ 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





ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Nguyễn Thanh Tùng


PHÂN BỔ CÁC TRẠM THU PHÁT KHÔNG DÂY
KHÔNG THUẦN NHẤT
DỰA TRÊN THUẬT TOÁN GEN

KHOÁ 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: TS. Nguyễn Minh Hằng









HÀ NỘI - 2010


Lời cảm ơn

Trước tiên em xin gửi lời cảm ơn sâu sắc đến TS. Nguyễn Minh Hằng, người đã tận
tình hướng dẫn giúp em hoàn thành khóa luận này.
Em xin chân thành cảm ơn các thầy cô trong bộ môn Mạng và truyền thông máy
tính, trường Đại học Công nghệ - Đại học Quốc gia Hà Nội đã tạo điều kiện cho em thực
hiện đề tài.
Sinh viên
Nguyễn Thanh Tùng




Tóm tắt nội dung
Trong khóa luận này chúng ta sẽ thử nghiệm thuật toán gen để giải quyết bài toán
phân bổ các trạm phát không dây không thuần nhất. Các trạm phát có thể là trạm gốc của
mạng 2G và 3G hay các điểm truy cập của mạng WLAN Có nhiều yếu tố ảnh hưởng
đến cách phân bổ trạm phát tuy nhiên chúng ta sẽ tập trung vào các tiêu chí quan trọng
nhất là vùng phủ sóng rộng nhất và tổng chi phí thấp nhất. Phần lớn các phương pháp
được đề xuất để giải quyết vấn đề phân bổ trạm phát đều yêu cầu gán trước tổng số trạm
phát. Khác với các phương pháp đã tồn tại, thuật toán gen có thể tìm được số trạm phát tối
ưu một cách tự động. Ngoài ra, thuật toán này có thể tìm được giải pháp tốt nhất cho vấn
đề đặt các trạm phát không thuần nhất. Kết quả qua các thí nghiệm cho thấy rằng sử dụng
thuật toán gen có thể tiến gần hơn đến giải pháp tối ưu cho bài toán.



















Mục lục
Chương 1 : Giới thiệu 1
Chương 2 : Trình bày vấn đề 6
2.1. Mô hình triển khai 6
2.1.1. Bản đồ 6
2.1.2. Trạm thu 6
2.1.3. Trạm phát 7
2.2. Mô hình đặc tả sự truyền tín hiệu 7
2.3. Mục tiêu 8
2.3.1. Khả năng bao phủ 8
2.3.2. Chi phí 9
2.3.3. Các hàm mục tiêu 9
Chương 3 : Tổng quan về thuâ
̣
t toa
́
n gen 10
3.1. Giới thiệu thuật toán gen 10
3.2. Thuật toán di truyền trên máy tính 11
3.3. Cấu trúc thuật toán gen 13

3.3.1. Khởi tạo quần thể 15
3.3.3. Chọn lọc 15
3.3.5. Đột biến 17
3.3.6. Kiểm tra điều kiện dừng 18
Chương 4 : Áp dụng thuật toán gen vào bài toán 19
4.1. Đặc tả cá thể 22
4.2. Khởi tạo quần thể 22
4.3. Kiểm tra các cá thể. 23
4.4. Tính giá trị hàm thích nghi và thứ hạng các cá thể 23
4.4.1. Hàm thích nghi 24
4.4.2. Tính thứ hạng các cá thể 24
4.5. Sắp xếp lại quần thể 24
4.6. Chọn lọc 24
4.7. Lai ghép 25
4.7.1. Lai ghép đồng dạng giữa các gen 26
4.7.2. Lai ghép một điểm giữa các nhiễm sắc thể 28
4.8. Đột biến 28
4.9. Thế hệ tiếp theo 29
Chương 5 : Thực hiện chương trình mô phỏng và đánh giá kết quả 30


5.1. Đặc tả chương trình mô phỏng 30
5.2. Một số tính toán thử nghiệm 33
Chương 6 : Kết luận 37
6.1. Các vấn đề đã thực hiện được trong khóa luận 37
6.2. Đánh giá kết quả 37
6.3. Hướng nghiên cứu tiếp theo 37

1


Chương 1 : Giới thiệu
Với sự phát triển của mạng 2.5G, 3G và các thế hệ sau 3G, sự phân bổ cơ sở hạ tầng
trở nên rất quan trọng cho việc trao đổi thông tin nhanh và đáng tin cậy. Công nghệ không
dây hiện nay bao gồm GSM, WCDMA, WLAN, GPRS, WiMax đã rất ổn định. Tuy nhiên
làm thế nào để phân bổ các trạm phát không dây hiệu quả vẫn là một vấn đề phức tạp.
Có 2 cách tiếp cận chính để giải bài toán “phân bổ các trạm phát không dây”. Cách
tiếp cận thứ nhất sẽ tìm tập con tốt nhất có thể từ tập hợp các trạm thu phát không dây dựa
trên vị trí của chúng hay gọi là “chọn lọc các trạm phát”. Cách tiếp cận thứ hai gọi là “đặt
các trạm phát không dây”. Phương pháp này sẽ tìm số trạm phát cần đặt và vị trí của mỗi
trạm. Do số trạm phát được dùng không được biết trước khi triển khai, gây ra khó khăn
khi tìm giải phát tối ưu.
Đặt các trạm phát không dây đã dần trở thành một vấn đề NP-hard [2]. Trong khi
không thể tìm được những giải pháp tối ưu trong thời gian đa thức, nhiều phương pháp đã
được xây dựng dựa trên sự phát triển của công nghệ tính toán. Điển hình là phương pháp
stEAPT[2] xem xét việc gán tần số và kênh nhiễu. Hurley[3], theo dõi việc di chuyển,
trao đổi thông tin, sự chồng chéo giữa các trạm để từ đó đưa ra những cải tiến phù hợp.
Zhang[4], đề nghị việc tối ưu hóa đa mục tiêu trong quan hệ giữa vùng phủ sóng và chi
phí. Unbehaun[5] , chọn 1 tập con trong các điểm truy cập mạng WLAN bằng phương
pháp cắt bớt và tìm lại chúng thông qua việc tìm kiếm các vùng lân cận và tối ưu dần giải
pháp. Lee and Kang[6], xem xét các khoảng trống trong phương thức CDMA bằng cách
sử dụng thuật toán tìm kiếm Tabu với 2 danh sách Tabu và so sanh kết quả với thuật toán
gen. Có một vài phương pháp khác dựa trên thuật toán gen. Ví dụ giải pháp của Cerri và
Russo về bài toán trạm điện với yêu cầu về chất lượng dịch vụ, khả năng hệ thống, phân
phối trạm [7] [8]. Họ đã đưa ra mô hình mới bằng cách giả lập mạng. Raisanen và
Whitaker [9] so sánh hiệu năng của SEAMO, SPEA2, NSGA-II và PESA. Park [10][11]
đưa ra phương thức dựa trên thuật toán di truyền để tìm tổng số trạm phát và vị trí của
chúng. Nagy và Farkas[12] dùng thuật toán di truyền để đặt các trạm trong các tòa nhà sử
dụng mô hình trải phổ Motley-Keenan. Maple [13], sử dụng thuật toán di truyền song
song với nghiên cứu các đặt trưng để làm giảm thời gian rỗi trong quá trình xử lí.
Đã có một số phương pháp được đánh giá khá tốt như Amaldi [14] đặt các điểm

truy cập của mạng 802.11 bằng phương pháp tìm kiếm tham ăn và phương thức tìm kiếm
2

với hyperbolic và các hàm căn phù hợp. Hao [15] phát triển giải pháp tối ưu nhiều lớp
với ba tầng chính là đinh nghĩa số kích cỡ và kích cỡ trung bình của một phần tử, sau đó
đặt và tìm kích cỡ của từng phần tử, cuối cùng là tối ưu các tham số của trạm phát. Dựa
trên bài toán phi tuyến, Sherali [16] đã kết hợp với phương pháp Hooke và Jeeves đẻ tìm
kiếm giải pháp tìm các đường bỏ phí nhằm tìm ra vị trí đặt trạm phát.
Trong hầu hết các phương pháp trên, số trạm thu phát phải được gán trước. Tuy
nhiên trong thực tế, số trạm ứng với mỗi mô hình khác nhau rất khó có thể tính toán
trước. Điều này có nghĩa là người dùng sẽ không nhận được kết quả mong muốn nếu đưa
vào số trạm ban đầu không hợp lý. Nói một cách khác, người sử dụng sẽ phải giải quyết
vấn đề có bao nhiêu trạm cần đặt rồi sau đó gán cho bài toán đặt trạm. Một số phương
pháp tính toán và sử dụng cận trên của vị trí đặt. Việc ước lượng cận trên được xác định
một cách đại khái. Nếu muốn đặt nhiều trạm hơn sẽ phải tính toán lại cận trên. Do đó rất
khó tối ưu bài toán.
Với sự phát triển của nền công nghiệp phần cứng, các thiết bị đi động có thể hỗ trợ
nhưng giao thức không dây khác nhau như : Bluetooth, 802.11…Nói cách khác, một thiết
bị di động có thể được bao phủ bởi các trạm không đồng nhất. Các trạm này có thể khác
nhau về các tham số cài đặt như là : bán kính nguồn phát hay chi phí Hơn nữa, khi hai
trạm thu phát có cùng kiến trúc, khả năng thu phát vẫn có thể khác nhau. Việc đặt các
trạm thu phát với những khác biệt về thành phần và hệ thống trở nên rất khó khăn. Trong
luận văn này, chúng ta tập trung giải quyết vấn đề “Phân bố các trạm thu phát không dây
không đồng nhất” này.
Hình dung bài toán đặt trạm phát qua ví dụ cụ thể sau. Hình 1 minh họa vấn đề đặt
các trạm phát không dây không thuần nhất Các kiểu trạm phát trong ví dụ này là khác
nhau. Hình tròn lớn đại diện cho kiểu trạm phát thứ nhất với vùng phủ sóng lớn hơn như
là các trạm gốc trong hệ thống 3G. Hình tròn nhỏ đại diện cho kiểu trạm phát khác với
vùng phủ sóng nhỏ hơn như là các điểm truy cập của mạng IEEE 802.11 WLAN. Hình
vuông đại diện vùng được bao phủ bởi hai kiểu trạm phát trên. Tổng số của từng kiểu

không được biết trước. Phải đặt các hình tròn lớn và nhỏ với số lượng nào đó để phủ kín
hình vuông đã cho.

3

Hình 1 : Đặt các kiểu trạm phát khác nhau tới hình vuông.
Tiếp theo chúng ta sẽ hình dung sơ lược về cách giải bài toán đặt trạm phát không
đồng nhất. Một hướng đi dễ hình dung nhất là chia bài toán thành hai bước chinh để xử lí.
Theo dõi ví dụ trong hình 2, bước đầu tiên đặt hình tròn lớn vào trước. Tiếp theo đặt hình
tròn nhỏ vào. Tuy nhiên dễ dàng nhận thấy kết quả của phương pháp này không được tối
ưu. Giả thiết, chi phí cho kiểu trạm phát thứ nhất là 120 và chi phí cho kiểu trạm phát thứ
hai là 10. Theo hình 3, chỉ sử dụng các trạm phát nhỏ là tốt hơn bời vì tổng chi phí khi đó
chỉ là 100. Tóm lại, điều quan trọng nhất của bài toán đặt các trạm phát không dây không
thuần nhất là tìm ra giải pháp tối ưu đồng thời cho 2 yếu tố : tổng số trạm phát và vị trí
tương ứng.
4

Hình 2 : Chia nhỏ bài toán thành 2 bước.

Hình 3 : (a) : Trạm phát với công suất nhỏ, chi phí = 10, (b) : Trạm phát với
công suất lớn, chi phí = 120, (c) : Tổng số chi phí sử dụng ở bước 2 là 150, (d) : Tổng
chi phí sau khi sử dụng thuật toán là 100
5

Thuật toán được đề xuất trong khóa luận này nhằm giải quyết vấn để phân bổ các
trạm thu phát không dây không thuần nhất gồm ba vấn đề cần lưu ý:
1. Không gán trước số trạm và cận trên của trạm như hầu hết các phương pháp trước.
Thuật toán chúng ta đưa ra có thể tự động tìm số trạm cần đặt.
2. Do số trạm không biết trước, chúng ta sử dụng thuật toán gen có chiều dài biến thiên
để giải quyết vấn đề đặt các trạm phát không dây.

3. Thuật toán đưa ra có thể giải quyết đồng thời cả vấn đề không thuần nhất giữa các
trạm.
Nội dung chính của khóa luận được tổ chức như sau : Chương 2 định nghĩa vấn đề
đặt trạm phát không dây. Chương 3 mô tả tổng quan về thuật toán gen. Chương 4 sẽ áp
dụng thuật toán gen để giải bài toán đặt trạm phát. Quá trình mô phỏng và kết quả được
trình bày trong chương 5. Cuối cùng chương 5 sẽ tổng kết lại khóa luận.















6


Chương 2 : Trình bày vấn đề
Triển khai mạng không dây phụ thuộc vào bản đồ địa lý. Cách thức triển khai là xác
định đồng thời có bao nhiêu trạm phát, kiểu của từng trạm phát và vị trí của chúng. Trong
chương này, chúng ta sẽ làm rõ khái niệm về bản đồ bài toán, trạm phát và trạm thu được
mô tả trong phần 2.1. Trong phần tiếp theo 2.2 mô hình truyền sóng sẽ được giới thiệu .
Cuối cùng phần 2.3 định nghĩa các đối tượng của bài toán.

2.1. Mô hình triển khai
2.1.1. Bản đồ
Trong bản đồ M, chúng ta sử dụng tỉ lệ chia 
r
, một dạng lưới của trạm thu. Mỗi
điểm lưới chứa một trạm thu. Sau khi đặt trạm thu, chúng ta đặt các trạm phát trên bản đồ
với tỉ lệ chia 
t
.
Có hai kiểu tập hợp lưới trên bản đồ M đó là : lưới bao phủ và lưới đặt trạm. Vùng
bao phủ là tập hợp các điểm cần được phủ sóng. Vùng đặt trạm là nơi các trạm phát có thể
được đặt tại đó. Cả vùng bảo phủ và vùng đặt trạm được xác định trước bởi người thiết
kế. Lưu ý rằng vùng đặt trạm có thể khác vùng phủ sóng. Chúng ta định nghĩa hai vùng
này như sau :
 = { 

= (

, 
,


) } : Tập hợp các điểm cần phủ sóng ứng với tỉ lệ chia

r
. Đây là tập hợp các điểm trong không gian 3 chiều.
 = { 

= (


, 
,


) } : Tập hợp các điểm vùng đặt trạm phát với tỉ lệ chia

t
. Đây là tập hợp các điểm trong không gian 3 chiều.
2.1.2. Trạm thu
Các thiết bị di động như điện thoại di động có thể di chuyển và thu tín hiệu trong
vùng phủ sóng CG. Chúng ta coi mỗi thiết bị di động này như là một trạm thu và đặt
chúng trong vào các ô của tập hợp lưới cần bao phủ. Tập hợp các trạm thu này có thể định
nghĩa như sau :
 = { 

= ( 

, 

),      }
7

Trạm thu r
i
được đặt tại vị trí position
i
= (x
i
, y
i

, z
i
)  CG . Cường độ tí hiệu từ
ít nhất một trạm phát cần lớn hơn ngưỡng threshold
i
để đảm bảo yêu cầu về chất lượng
dịch vụ ( QoS ).
2.1.3. Trạm phát
Trạm phát là các thiết bị có khả năng phát và truyền tín hiệu tới các trạm thu. Trạm
phát có thể là các node B trong mạng 3G, các trạm gốc trong mạng GSM hay các điểm
truy cập trong mạng WLAN…Các trạm phát có các chi tiết khác nhau như là phạm vi
phát sóng và chi phí. Giả sử có K kiểu trạm phát có thể dùng trong bài toán. Tập hợp K
kiểu trạm phát này được định nghĩa như sau :
 = {

= (

, 

),      | 

 
,
 
  à 

 

   }
Trong đó, power

k


R và cost
k
 R được cho trước bởi người thiết kế. Nếu K  2 thì
bài toán sẽ xử lí vấn đề không thuần nhất giữa các trạm. Ngược lại, nếu K = 1 hay chỉ có
một kiểu trạm phát, bài toán sẽ xử lí vấn đề đặt trạm phát đồng nhất.
Theo mô tả trong mục 2.1.1, mỗi trạm phát sẽ được đặt trong vùng đặt trạm. Tất cả
các trạm phát được đặt trong vùng đặt trạm của bản đồ có thể định nghĩa như một tập hợp:
 = {

= (

, 

),     , 

 }
Trong đó, mỗi trạm phát t
j
được đặt ở vị trí position
j
= (x
j
, y
j
z
j
)  PG và type

k

kiểu của trạm phát.
2.2. Mô hình đặc tả sự truyền tín hiệu
Gọi cường độ tín hiệu từ trạm phát t
j
đến trạm thu r
i
là S
ịj
. Giá trị này được tính
thông qua mô hình truyền tín hiệu. Một mô hình đơn giản là “free space propagation
model” hay với giả thiết là các vùng trong bản đồ không cản trở tín hiệu truyền đi. Công
thức tính giá trị S
ịj
trong mô hình này được tinh như sau :


=








()






Trong đó :
- G
i
, G
j
là khả năng thu của ăngten gắn với trạm thu và trạm phát
8

- P
j
là cường độ nguồn phát tại trạm phát j
-  là bước sóng
- d
ij
là khoảng cách giữa trạm thu và trạm phát
2.3. Mục tiêu
Có nhiều yếu tố ảnh hưởng tới việc triển khai mạng không dây. Tuy nhiên, trong
khóa luận này chúng ta quan tâm tới hai yếu tố là khả năng bao phủ và chi phí. Khả năng
bao phủ chịu ảnh hưởng từ việc đặt trạm phát. Tổng chi phí của trạm phát sẽ ảnh hưởng
tới việc tìm ra tổng số trạm phát khi triển khai. Trong phần sau chúng ta sẽ làm rõ hơn về
khả năng bao phủ và chi phí đã đưa ra.
2.3.1. Khả năng bao phủ
Với mỗi trạm thu r
i
, nếu cường độ tín hiệu S
ij
từ trạm phát t

j
lớn hơn ngưỡng
threshold
j
thì trạm thu r
i
có thể được phục vụ bởi từ trạm phát t
j
. Hơn nữa, trạm phát
t
j
sẽ được thêm vào tập các trạm phát có thể phục vụ trạm thu r
i
( AS
i
). Chúng ta định
nghĩa tập AS
i
như sau :


= {

| 

  à 

 

}

Chúng ta nói rằng trạm thu r
i
có thể được bao phủ bởi tập hợp các trạm phát khi :






= 
 




 
   


Trong đó :

AS
i

là kích cỡ của tập AS
i

Giá trị coverage
T


r
i

= 1 cho ta biết rằng trạm thu r
i
được bao phủ bởi ít
nhất một trạm phát t
j
 T.
Tổng khả năng bao phủ của tập hợp trạm phát được tính như sau :




=











Trong đó : 0  coverage

T


 1 và n là tổng số trạm thu r
i
. Mục tiêu đầu tiên của
bài toán là khả năng bao phủ của tập trạm phát là lớn nhất có thể.


9

2.3.2. Chi phí
Một mục tiêu khác chúng ta cần quan tâm là chi phí. Tổng chi phí của tập hợp các
trạm phát T bằng tổng chi phí của tất cả các trạm phát.




=  






2.3.3. Các hàm mục tiêu
Mục đích của vấn đề đặt trạm là tìm được tập trạm phát T sao cho vùng phủ sóng
lớn nhất và chi phí thấp nhất. Trong luận văn này, chúng ta sử dụng phương thức đa mục
tiêu ( multi-objective ) dựa trên thuật toán gen. Để thuận lợi cho việc tính toán biến đổi
mục tiêu bao phủ thành cực tiểu hóa khu phục không bao phủ :





 = 




Từ đây, bài toán phải giải quyết được hai mục đích : cực tiểu hóa coverage(T)’ và
cost(T) là nhỏ nhất. Hai hàm mục tiêu này được mô tả bởi công thức :
Min{ coverage(T)’ } và Min{ cost(T) }















10

Chương 3 : Tổng quan về thuâ
̣
t toa
́

n gen
3.1. Giới thiệu thuật toán gen
Trong một khu nhà bỏ trống có nhiều mèo và chuột. Ban đầu chuột có hai loại:
lông trắng hoặc đen. Sau thời gian sống với mèo, ban đêm chuột đen ít bị mèo nhìn thấy
nên sống lâu hơn và sinh đẻ thêm do đó phát triển, trong đó chuột trắng ngày càng tuyệt
giống vì bị mèo ăn thịt và không có nhiều để sinh đẻ thêm. Trong thực tế chỉ có những
sinh vật biết tiến hóa để thích nghi với hoàn cảnh sẽ tồn tại và phát triển.
Thuâ
̣
t toa
́
n gen hay còn gọi là thuật toán di truyền là thuâ
̣
t toa
́
n tìm ki ếm dựa trên
chọn lọc tự nhiên và quá trình thích nghi. Thuật toán này được áp dụng cho một loạt các
vấn đề phức tạp để tìm ra một lời giải chính xác hoặc gần đúng. Thuật toán di truyền là
một lớp đặc biệt của thuật toán tiến hóa, được lấy cảm hứng từ tiến hóa sinh học di
truyền, đột biến, lựa chọn và tái kết hợp.
Thuật toán di truyền cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên
quang 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 như một tiên đề luôn luô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ờ hai quá trình 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 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 của môi
trườ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á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 sẽ mang những thể trạng của cha – mẹ (di truyền), cũng có thể mang
những trạng thái hoàn toàn mới(đột biến). Di truyền và đột biến là hai cơ chế có vai trò
như nhau trong quá trình tiến hóa, dù rằng đột biến xảy ra với xác xuất nhỏ hơn so với
hiện tượng di truyền. Các thuật giải tiến hóa tuy có những điểm khác biệt nhưng điều mô
phỏng 4 quá trình cơ bản: lai ghép, đột biến, sinh sản và chọn lọc tự nhiên.


11

3.2. Thuật toán di truyền trên máy tính
Với khả năng hiện nay, máy tính đã giúp được rất nhiều bài toán khó mà trước kia
không thể giải được. Mặc dù vậy, vẫn còn một số lớn các bài toán chưa có thuật giải hợp
lý để giải chúng. Trong số đó bài toán tối ưu là bài toán thường xuyên gặp phải trong các
ứng dụng thực tế.
Bài toán tối ưu có thể được xem như bài toán tìm kiếm lời 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 lớn cần phải dùng
những kĩ thuật trí tuệ nhân tạo đặc biệt. Thuật toán di truyền (GA) là một trong những kĩ
thuật đó. GA là một thuật toán mô tả các hiện tượng tự nhiên: kế thừa, đấ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. Khái niệm kế thừa và đấu tranh sinh
tồn được giải thích qua ví dụ về sự tiến hóa của quần thể thỏ như sau:
Có một quần thể thỏ. Trong số đó có một số con nhanh nhẹn và thông minh hơn
những con khác. Những chú thỏ nhanh nhẹn và thông minh có xác suất bị chồn cáo ăn thịt
nhỏ hơn, do đó chúng tồn tại để làm những gì tốt nhất có thể: tạo thêm nhiều thỏ tốt. Dĩ
nhiên một số thỏ chậm chạp, kém thông minh cũng vẫn sống sót bởi may mắn. Quần thể
những chú thỏ sống sót sẽ bắt dầu sinh sản. Việc sinh sản này sẽ tạo ra một hỗn hợp tốt về
“nguyên liệu di truyền thỏ”. Một số thỏ chậm chạp có con với những con thỏ nhanh, một
số thỏ nhanh với thỏ nhanh, một số thỏ thông minh với thỏ kém thông minh, … Và trên
tất cả, thiên nhiên thỉnh thoảng ném vào một vào con thỏ “hoang dã” bằng cách làm đột

biến nguyên liệu di truyền thỏ. Những chú thỏ con, do kết quả sau này sẽ nhanh hơn và
thông minh hơn những con trong quần thể gốc vì có nhiều bố mẹ nhanh nhẹn và thông
minh hơn những con trong quần thể gốc vì có nhiều bố mẹ nhanh nhẹn và thông minh hơn
đã thoát chết khỏi chồn cáo (Và ở bên kia thái cực những con chồn cáo cũng trải qua quá
trình tiến hóa tương tự).
Khi tìm kiếm lời giải tối ưu, thuật toán di truyền cũng thực hiện các bước tương ứng
với câu chuyện đấu tranh sinh tồn của loài thỏ.
Thuật toán 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 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
gọi là chuỗi hay các nhiễm sắc thể. Điều này hơi khác so với sinh học: mỗi tế bào của một
chủng loại sinh học mang một số nhiễm sắc thể nào đó (ví dụ ở người là 46 nhiễm sắc
thể) nhưng trong thuật toán di truyền, ta chỉ nói về những cá thể có một nhiễm sắc thể.
12

Các nhiễm sắc thể được tạo thành từ các đơn vị là 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 đặc trưng.
Mỗi nhiễm sắc thể (gồm một nhóm gen) 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ên 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. Leo đồi là một ví dụ về
chiến lược cho phép khai thác cà cải thiện lời giải tốt nhất hiện hành nhưng lại bỏ qua
việc khảo sát không gian tìm kiếm. Ngược lại, tìm kiếm ngẫu nhiên là một ví dụ điển hình
của chiến lược khảo sát không gian tím kiếm mà không chú ý việc khai thác những vùng
hứa hẹn của không gian. Thuật toán di truyền (GA) là phương pháp tim kiếm tạo được sự
cân đối đáng kể giữa việc khai thác và khảo sát không gian tìm kiếm.
Thực ra, GA thuộc lớp các thuật toán xác suất những lại rất khác những thuật toán
ngẫu nhiên. Khác biệt quan trong 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 (mà ta gọi là một quần thể). Tất cả các
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.
Ta so sánh GA với một phương pháp tìm kiếm hiện đang được sử dụng rộng rãi là
thuật toán leo đồi:
Phương pháp leo đồi dùng kĩ thuật lặp và áp dụng cho một điểm duy nhất (điểm hiện
hành trong không gian tìm kiếm). Trong mỗi bước lặp, một điểm mới được chọn từ lân
cận của điểm hiện hành (vì thế leo đồi còn được gọi là phương pháp tìm kiếm lân cận hay
tìm kiếm cục bộ). Nếu điểm mới cho giá trị (của hàm mục tiêu) tốt hơn, điểm mới sẽ trở
thành điểm hiện hành. Nếu không một lân cận điểm khác sẽ được chọn và thử. Quá trình
sẽ dùng nếu khong cải thiện thêm được cho lời giải hiện hành.
Rõ ràng phương pháp leo đồi chỉ cung cấp các giá trị tối ưu cục bộ và những giá trị
này phụ thuộc rất nhiều vào điểm khởi đầu. Hơn nữa, không có thông tin sẵn có về sai số
tương đối của lời giải tìm được.
Để tăng cơ hội tìm được giá trị tối ưu nhất có thể, phương pháp leo đồi thường được
thực hiện nhiều lần, mỗi lần với một tập hợp điểm khởi đầu khác nhau (những điểm này
không cần chọn ngẫu nhiên – một tập hợp các điểm khởi đầu của một lần thực thi phụ
thuộc nhiều vào kết quả của những lời giải trước đó).
13

Như đã đề cập, GA thực hiện tiến trình tìm kiếm lời giải tối ưu theo nhiều hướng,
bằng cách duy trì một quần thể các lời giải, và thúc đẩy sự hình thành và trao đổi thông
tin giữa các hướng này. Quần thể trải qua quá trình tiến hóa: ở mỗi thế hệ lại tái sinh các
lời giải tốt, còn các lời giải xấu thì bị loại bỏ. Để phân biệt các lời giải khác nhau, hàm
mục tiêu đóng vai trò môi trường.
Cấu trúc của một giải thuật di truyền đơn giản tương tự với cấu trúc của một chương
trình tiến hóa nào. Ở bước lặp giả sử t, thuật toán di truyền duy trì một quần thể các lời
giải (các nhiễm sắc thể) P(t) = {x
1
, x
2
,…,x

n
}. Mỗi lời giải x
i
được tính để biết độ thích
nghi của nó. Rồi một quần thể mới (lần lặp thứ t+1) được hình thành bằng cách chọn giữ
lại những cá thể thích nghi nhất. Một số các thể của quần thể này trải qua những biến đổi
nhơ lai tạo (phép lai) và đột biến (phép đột biến), hình thành lời giải mới. Phép lai kết hợp
những tính chất cảu hai nhiễm sắc thể cha – mẹ để tạo thành nhiễm sắc thể con.
Khác với phép lai, phép đột tạo ra những cá thể mới với có nhiễm sắc thể không liên
quan đến những cá thể còn lại của quẩn thể. Phép đột biến cho phép đưa thêm các thông
tin mới vào quần thể làm cho chất liệu di truyền phong phú thêm.
3.3. Cấu trúc thuật toán gen
Thuật toán gen được sử dụng rất linh hoạt ứng với từng bài toán cụ thể. Tuy nhiên, cấu
trúc phổ biến nhất của thuật toán gen hoạt động như sau : khởi tạo ngẫu nhiên một quần thể
gồm nhiều cá thể đơn lẻ khác nhau. Các cá thể trong quần thể sẽ được gán một giá trị gọi là
độ thích nghi. Hàm tính giá trị thích nghi này được xây dựng phụ thuộc vào các tiêu chí mà
người lập trình đưa ra. Các cá thể được chọn để tái sinh đựa trên độ thích nghi. Những cá thể
này thực hiện quá trình tái sinh và tạo ra một hoặc nhiều cá thể con, sau đó những cá thể con
này được đột biến ngẫu nhiên. Sau các quá trình này thu được một hỗn tạp gồm cả cá thể vừa
sinh ra và cá thể cũ. Chọn quần thể cho thế hệ tiếp theo từ quần thể hỗn tạp này. Tiếp tục quá
trình trên cho tới khi tìm được kết quả mong muốn hoặc chính xác số thế hệ thực hiện đã được
gán trước. Lược đồ sau mô tả về quá trình này như sau :
14


Hình [4] : Lược đồ cấu trúc thuật toán Gen

Cấu trúc thuật giải di truyền tổng quát bằng giả mã :









(1) Khởi tạo quần thể gồm các cá thể
(2) Tính độ thích nghi của tất cả các cá thể
(3) while ( chưa đến trạng thái dừng ) do
(4) Chọn lọc các cá thể để lai ghép
(5) Lai ghép giữa các cá thể ở bước 4
(6) Đột biến các cá thể sinh ra ở bước 5
(7) Tính độ thích nghi của các cá thể sinh ra ở bước 6
(8) Sinh ra quần thể mới
End while

15

Chi tiết về các bước sẽ được mô tả sau đây :
3.3.1. Khởi tạo quần thể
Quần thể đầu tiên được khởi tạo bằng cách sinh ngẫu nhiên các các thể. Số lượng
các cá thể sinh ra phụ thuộc vào tính chất của bài toán, thông thường vào khoảng vài trăm
đến vài nghìn cá thể. Lưu ý rằng việc chọn kích thước quần thể quá nhỏ sẽ khó tìm được
kết quả tối ưu.
Để chương trình có thể hoạt động các cá thể cần được biễu diễn một cách hợp lý,
phù hợp với đặc điểm của bài toán. Mỗi cá thể sau khi được mã hóa gọi là một nhiễm sắc
thể.
3.3.2. Đánh giá độ thích nghi
Độ thích nghi của cá thể là tham số quan trọng phục vụ cho quá trình chọn lọc, lai
ghép và đột biến. Độ thích nghi của mỗi nhiễm sắc thể được tính thông qua hàm mục tiêu.

3.3.3. Chọn lọc
Mặc dù có nhiều phương pháp chọn lọc khác nhau, tuy nhiên có hai phương pháp
tiêu biểu được sử dụng rộng rãi nhất là chọn lọc roulette wheel và chọn lọc tournament.
a. Phương pháp chọn lọc roulette wheel
for các cá thể trong quần thể
tổng += độ thích nghi của cá thể
end for

for các cá thể trong quần thể
xác suất chọn = ( độ thích nghi / tổng )
end for

loop until chọn đủ cá thể cho quần thể mới
number = giá trị ngẫu nhiên giữa 0 và 1
for các cá thể trong quần thể
if number < xác suất chọn
then chọn cá thể này
end
end loop

16

Trong phương pháp chọn lọc là roulette wheel, mỗi cá thể được gắn với một xác
suất chọn lọc, xác suất tính tương ứng với giá trị của hàm tiến hóa. Sau đó, hai cá thể
được chọn ngẫu nhiên dựa trên xác suất của chúng và tiến hành sinh sản. Theo dõi giả mã
trên về quá trình chọn lọc roulette wheel.

b. Phương pháp chọn lọc tournament
Trong phương pháp chọn lọc tournament, hai cá thể được chọn ngẫu nhiên với
xác suất như nhau rồi đêm đi đấu loại. Cá thể nào có độ thích nghi lớn hơn sẽ được chọn.

Theo dõi giả mã sau về quá trình chọn lọc tournament :








3.3.4. Lai ghép
Sau khi chọn được cặp cá thể cha, tiến hành lai ghép để tạo ra các nhiễm sắc thể con.
Một vài phương pháp lai ghép tiêu biểu là : lai ghép một điểm, lai ghép đa điểm, lai ghép
đồng dạng. Xác suất lai ghép thông thường vào khoảng 0.6 đến 0.7. Vì vậy đôi khi tồn tại
một số cá thể được nhân bản sang thế hệ sau.
Trong khóa luận này, tôi sử dụng phương pháp lai ghép đa tầng, là phương pháp lai
kết hợp giữa các phương pháp lai khác nhau, các bước lai được thực hiện qua nhiều tầng.
Trong phạm vi khóa luận sẽ trình bày hai phương pháp lai căn bản phục vụ cho quá trình
lai ghép đa tầng là : lai ghép một điểm và lai ghép đồng dạng.
a. Lai ghép một điểm
k = số vòng cần đấu loại
do ( số vòng đấu )
- Chọn ngẫu nhiên 2 cá thể trong quần thể với xác suất như nhau( không chọn
lại ).
- Đấu loại thu được 1 cá thể.
- Cho cá thể này vào quần thể trung gian. Thực hiện tiếp vòng sau với quần thể
này
end

17


Thủ tục của phương pháp lai một điểm là sinh ngẫu nhiên một giá trị ( nhỏ hơn
hoặc bằng kích thước của nhiễm sắc thể ngắn hớn ) gọi là điểm lai ghép. Sau đó tiến hành
trao đổi thành phần của hai nhiễm sắc thể cha để thu được hai nhiễm sắc thể con. Ví dụ
sau mô tả về quá trình lai một điểm :
Với hai nhiễm sắc thể cha đã chọn :
Cha : 7 3 7 6 1 3
Mẹ : 1 7 4 5 2 2 5
Sinh ngẫu nhiên điểm lai ghép, giả sử là 2, ta thu được hai nhiễm sắc thể con :
Con 1 : 7 3| 4 5 2 2
Con 2 : 1 7| 7 6 1 3 5
b. Lai ghép đồng dạng
Trong phương pháp lai ghép này, các thành phần của nhiễm sắc thể con sẽ được
thừa hưởng tương ứng từ một trong hai nhiễm sắc thể cha hoặc mẹ với một xác suất cho
trước. Ví dụ sau mô tả quá trình lai ghép đồng dạng :
Cho hai nhiễm sắc cha mẹ :
Cha : 7 *3 *7 *6 *1* 3
Mẹ : 1 *7 *4* 5 *2 *2
Ứng với mỗi vị trí, sinh ngẫu nhiên một giá trị trong khoảng từ 0 đến 1, giả sử 0.2,
0.7, 0.9, 0.4, 0.6, 0.1. Nếu giá trí này nhỏ hơn 0.5 thì con 1 sẽ lấy giá trị từ cha, con 2 sẽ
lấy giá trị từ mẹ. Ngược lại nếu giá trị này lớn hơn hoặc bằng 0.5 thì con 1 sẽ lấy giá trị từ
mẹ và con 2 sẽ lấy giá trị từ cha.
Con 1 : 7 *7* 4* 6 *2* 3
Con 2 : 1* 3* 7* 5* 1* 2
3.3.5. Đột biến
Sau bước lai ghép, ta thu được một quần thể trung gian.Tất cả vị trí của từng gen
trong từng nhiễm sắc thể trong quần thể trung gian này sẽ được đột biến với xác suất P.
Xác suất P thông thường vào khoảng 0.001.
18

3.3.6. Kiểm tra điều kiện dừng

Sau quá trình lai ghép, ta thu được một quẩn thể mới. Tiến hành xây dựng lại một
quần thể mới với một tiêu chi nào đó. Tiếp tục chạy thuật toán với quần thể mới này. Quá
trình này được lặp đi lặp lại đến khi thu được kết quả tối ưu. Đôi khi khó có thể nhận ra
kết quả tối ưu này, khi đó thuật toán sẽ chạy với số bước quy định trước.




















19

Chương 4 : Áp dụng thuật toán gen vào bài toán
Thuật toán chúng ta đưa ra là thuật toán di truyền ( GA ). Thuật toán di truyền được
sử dụng rộng rãi để tìm nghiệm tối ưu của các vấn đề khác nhau. Thuật toán di truyền đưa
ra được các kết quả gần tối ưu dựa trên nguyên lý tiến hóa cơ bản của thế giới tự nhiên.

Bởi vì có nhiều kiểu trạm phát khác nhau nên chúng ta cần lưu ý hai đặc điểm của
vấn đề đặt trạm phát không dây. (I) Các trạm phát không dây có thể đồng nhất hoặc
không đồng nhất. Do cường độ phát và chi phí của các trạm phát có thể khác nhau, việc
dự đoán có bao nhiêu kiểu của trạm phát sẽ được sử dụng là rất khó khăn. Trong thực tế
(II) số trạm phát không được định nghĩa trước.
Xét đặc điểm đầu tiên, các phương pháp trước đây thường chia nhỏ làm hai bước.
Đầu tiên, số trạm phát được gán một cách ước lượng trước khi tiến hành đặt chúng. Sau
đó, các trạm phát này được đặt và chịu rằng buộc về số lượng đã gán trước. Quá trình này
được minh họa trong hình 5 . Tuy nhiên, việc ước lượng số trạm phát hầu như được tiến
hành đại khái và không hướng nhiều đến các mục đích yêu cầu. Khi tiến hành đặt trạm
phát có thể thu được kết quả không tốt.









Hình 5 : Các phương pháp cũ giải quyết vấn đề đặt trạm phát không dây

Bắt đầu
Tính toán ước lượng tổng số
trạm phát cho từng kiểu
Đặt trạm phát
Kết thúc

×