MỤC LỤC MỤC LỤC 1 DANH MỤC HÌNH VẼ 3 DANH MỤC BẢNG BIỂU 3 CHƯƠNG 1: CÁC KỸ THUẬT TÍNH TOÁN HEURISTIC VÀ THÍCH ỨNG TRONG VIỄN THÔNG: GIỚI THIỆU CHUNG 4 1.1 Các vấn đề tối ưu hóa trong viễn thông 4 1.2 Bài toán động và thích ứng. 5 1.3 Các kỹ thuật Heuristic hiện đại 6 1.3.1 Tìm kiếm cục bộ 7 1.3.2 Tìm kiến dựa trên tập hợp (PopulationBased Search) 13 1.4 Kỹ thuật tính toán thích ứng 15 1.4.1. Tính toán hệ thần kinh 17 1.4.2 Logic mờ 18 1.4.3 Lý thuyết trò chơi 19 1.5 Tổng kết 19 CHƯƠNG 2: THIẾT KẾ MẠNG HIỆU QUẢ SỬ DỤNG GIẢI THUẬT DI TRUYỀN VÀ HEURISTIC 21 2.1 Giới thiêu 21 2.2 Định nghĩa vấn đề 22 2.2.1 Tổi thiểu chi phí 22 2.2.2 Luồng cực đại 22 2.2.3 Luồng nhiều hàng hóa 23 2.2.4 Định tuyến hiệu quả 23 2.2.5. Dự phòng đủ (Sufficient Redundancy) 24 2.2.6 Độ trễ chấp nhận 24 2.2.7 Bảo toàn luồng 25 2.3 Vấn đề phức tạp 26 2.4 Thuật toán Heuristic 28 2.4.1. Topology 32 2.4.2 Phân luồng 36 2.4.3 Phân khả năng 36 2.4.4 Độ trễ 39 2.4.5 Kết quả 39 2.5 Thuật toán Genetic 40 2.6 Kết luận 42 2.7 Phụ lục 44 2.7.1 Chứng minh thuật toán 1 44 2.7.2 Độ phức tạp thời gian 46 TÀI LIỆU THAM KHẢO 47 DANH MỤC HÌNH VẼ Hình 2.1: Các vần đề trong trong vấn đề thiết kế mạng và mỗi quan hệ lẫn nhau giữa chúng 28 Hình 2.2: Cây bao trùm lớn nhất và đồ thị tuyến tính luồng tương ứng của nó 31 Hình 2.3: Cây bao trùm lớn nhán cảu đồ thị yêu cầu đầy đủ của bàng 2.1 32 Hình 2.4: Đồ thị luồng tương ứng tuyến tính tương ứng với câu bao trùm hình 2.3 33 Hình 2.5: quá trình lấy vòng dung lượng đồng nhất từ luồng tương đương tuyến tính 33 Hình 2.6: vòng dung lượng đồng đều trích từ đồ thị hình 2.4. 33 Hình 2.7: Hình mạng sau khi áp dụng thuật toán union of rings 35 Hình 2.8: Kết quả các cấu trúc liên kết mạng từ mỗi phương pháp so sánh với vấn đề 10 thành phố của Trung Quốc. Mạng tận cùng bên trái là kết quả của phương pháp Branch Exchange, mạng ở giữa là kết quả của thuật toán di truyền, và các mạng lưới bên phải là kết quả từ thuật toán union of rings. 35 DANH MỤC BẢNG BIỂU Bảng 2.1: Yêu cầu luồng tối thiểu 32 Bảng 2.2: Tóm tắt của các thiết kế cuối cùng 40 Bảng 2.3: Kết quả cuối cùng 41 CHƯƠNG 1: CÁC KỸ THUẬT TÍNH TOÁN HEURISTIC VÀ THÍCH ỨNG TRONG VIỄN THÔNG: GIỚI THIỆU CHUNG 1.1 Các vấn đề tối ưu hóa trong viễn thông Sự phức tạp và kích thước của các mạng viễn thông hiện đại cung cấp cho chúng ta nhiều thách thức và cơ hội. Trong cuốn sách này, những thách thức mà chúng tôi tập trung vào là những liên quan đến việc tối ưu hóa. Điều này chỉ đơn giản đề cập tới những trường hợp mà trong đó chúng ta đang hướng tới tìm một cách tiếp cận phương án tốt nhất giữa nhiều phương án có thể có để giải quyết bài toán. Ví dụ, có một số lượng lớn cách để thiết kế các cấu trúc liên kết một mạng dữ liệu riêng cho một công ty lớn. Làm thế nào chúng ta có thể tìm thấy một thiết kế đặc biệt tốt trong tất cả
Trang 1TIỂU LUẬN MÔN HỌC: CÁC KỸ THUẬT TỐI ƯU
Tên đề tài:
Thiết kế mạng hiệu quả sử dụng giải
thuật di truyền và Heuristic
Giảng viên hướng dẫn : PGS TS Lê Nhật Thăng Người thực hiện : Đỗ Quang Đức
Đỗ Viết Dũng Lớp : M13CQCS01 - B
Hà Nội, tháng 5, 2014
Trang 2MỤC LỤC
MỤC LỤC 1
DANH MỤC HÌNH VẼ 3
DANH MỤC BẢNG BIỂU 3
CHƯƠNG 1: CÁC KỸ THUẬT TÍNH TOÁN HEURISTIC VÀ THÍCH ỨNG TRONG VIỄN THÔNG: GIỚI THIỆU CHUNG 4
1.1 Các vấn đề tối ưu hóa trong viễn thông 4
1.2 Bài toán động và thích ứng 5
1.3 Các kỹ thuật Heuristic hiện đại 6
1.3.1 Tìm kiếm cục bộ 7
1.3.2 Tìm kiến dựa trên tập hợp (Population-Based Search) 13
1.4 Kỹ thuật tính toán thích ứng 15
1.4.1 Tính toán hệ thần kinh 17
1.4.2 Logic mờ 18
1.4.3 Lý thuyết trò chơi 19
1.5 Tổng kết 19
CHƯƠNG 2: THIẾT KẾ MẠNG HIỆU QUẢ SỬ DỤNG GIẢI THUẬT DI TRUYỀN VÀ HEURISTIC 21
2.1 Giới thiêu 21
2.2 Định nghĩa vấn đề 22
2.2.1 Tổi thiểu chi phí 22
2.2.2 Luồng cực đại 22
2.2.3 Luồng nhiều hàng hóa 23
2.2.4 Định tuyến hiệu quả 23
2.2.5 Dự phòng đủ (Sufficient Redundancy) 24
2.2.6 Độ trễ chấp nhận 24
2.2.7 Bảo toàn luồng 25
2.3 Vấn đề phức tạp 26
2.4 Thuật toán Heuristic 28
2.4.1 Topology 32
2.4.2 Phân luồng 36
2.4.3 Phân khả năng 36
2.4.4 Độ trễ 39
2.4.5 Kết quả 39
2.5 Thuật toán Genetic 40
Trang 32.6 Kết luận 42
2.7 Phụ lục 44
2.7.1 Chứng minh thuật toán 1 44
2.7.2 Độ phức tạp thời gian 46
TÀI LIỆU THAM KHẢO 47
Trang 4DANH MỤC HÌNH VẼ
Hình 2.1: Các vần đề trong trong vấn đề thiết kế mạng và mỗi quan hệ lẫn nhau giữa chúng 28
Hình 2.2: Cây bao trùm lớn nhất và đồ thị tuyến tính luồng tương ứng của nó 31
Hình 2.3: Cây bao trùm lớn nhán cảu đồ thị yêu cầu đầy đủ của bàng 2.1 32
Hình 2.4: Đồ thị luồng tương ứng tuyến tính tương ứng với câu bao trùm hình 2.3 33
Hình 2.5: quá trình lấy vòng dung lượng đồng nhất từ luồng tương đương tuyến tính 33
Hình 2.6: vòng dung lượng đồng đều trích từ đồ thị hình 2.4 33
Hình 2.7: Hình mạng sau khi áp dụng thuật toán union of rings 35
Hình 2.8: Kết quả các cấu trúc liên kết mạng từ mỗi phương pháp so sánh với vấn đề 10 thành phố của Trung Quốc Mạng tận cùng bên trái là kết quả của phương pháp Branch Exchange, mạng ở giữa là kết quả của thuật toán di truyền, và các mạng lưới bên phải là kết quả từ thuật toán union of rings 35
DANH MỤC BẢNG BIỂU Bảng 2.1: Yêu cầu luồng tối thiểu 32
Bảng 2.2: Tóm tắt của các thiết kế cuối cùng 40
Bảng 2.3: Kết quả cuối cùng 41
Trang 5CHƯƠNG 1: CÁC KỸ THUẬT TÍNH TOÁN HEURISTIC VÀ THÍCH ỨNG TRONG VIỄN THÔNG: GIỚI THIỆU CHUNG
1.1 Các vấn đề tối ưu hóa trong viễn thông
Sự phức tạp và kích thước của các mạng viễn thông hiện đại cung cấp chochúng ta nhiều thách thức và cơ hội Trong cuốn sách này, những thách thức mà chúngtôi tập trung vào là những liên quan đến việc tối ưu hóa Điều này chỉ đơn giản đề cậptới những trường hợp mà trong đó chúng ta đang hướng tới tìm một cách tiếp cậnphương án tốt nhất giữa nhiều phương án có thể có để giải quyết bài toán Ví dụ, cómột số lượng lớn cách để thiết kế các cấu trúc liên kết một mạng dữ liệu riêng cho mộtcông ty lớn Làm thế nào chúng ta có thể tìm thấy một thiết kế đặc biệt tốt trong tất cảcác khả năng? Ngoài ra, chúng ta có thể thử tìm một cách tốt để gán kênh tần số chonhiều người sử dụng mạng di động Có một loạt các khó khăn phức tạp liên quan ởđây, số lượng các phương án có thể đáp ứng các khó khăn vẫn còn quá lớn để chúngtôi hy vọng sẽ kiểm tra lần lượt từng phương án trong số chúng Vì vậy, một lần nữa,chúng ta cần một số cách để tìm ra giải pháp tốt trong tất cả các khả năng
Những thách thức hiện tại là cơ hội cho sự hợp tác giữa các kỹ sư viễn thông,các nhà nghiên cứu và phát triển trong khoa học máy tính và trí tuệ nhân tạo cộngđồng Đặc biệt, có một bộ các công nghệ phần mềm mới nổi nhằm tối ưu hóa các vấn
đề mà hiện nay đang được được sử dụng trong ngành công nghiệp, nhưng có tiềmnăng lớn cho các giải pháp có lợi nhuận và hiệu quả cho nhiều bài toán trong ngànhviễn thông
Phần lớn cuốn sách này tập trung vào các kỹ thuật tối ưu hóa, và các công trìnhnghiên cứu trong các chương sắp tới trình bày một phần việc áp dụng những kỹ thuậtnày cho các bài toán liên quan đến viễn thông Các kỹ thuật sử dụng bao gồm cácphương pháp "tìm kiếm địa phương “ như ủ mô phỏng (Aarts và Korst, 1989) và tìmkiếm tabu (Glover, 1989; 1989a), và các kỹ thuật tìm kiếm 'dựa trên tập hợp' như thuậttoán di truyền (Hà Lan, 1975 ; Goldberg, 1989), chiến lược phát triển (Schwefel, 1981;Back, 1996), lập trình tiến hóa (Fogel, 1995) và lập trình di truyền (Koza, 1992) Mục1.3 giới thiệu ngắn gọn và cơ bản các kỹ thuật trên, dành cho các kỹ sư viễn thông,quản lý hoặc nghiên cứu, những người hiểu biết quá nhiều về vấn đề này, nhưng chưa
Trang 6biết cách để giải quyết chúng Chương sau thảo luận về việc sử dụng liên quan đến cácbài toán đặc biệt trong viễn thông.
1.2 Bài toán động và thích ứng.
Một khía cạnh cơ bản của nhiều vấn đề tối ưu hóa trong viễn thông là một thực
tế rằng các giải pháp tối ưu là động Những gì có thể là giải pháp tốt nhất bây giờ cóthể không phải là giải pháp lý tưởng trong một vài giờ, hoặc thậm chí một vài phút Ví
dụ, các nhà cung cấp dịch vụ của một cơ sở dữ liệu phân tán ( như video theo yêu cầu,dịch vụ web - bộ nhớ đệm, vv) phải cố gắng để đảm bảo chất lượng dịch vụ cho mỗikhách hàng Để làm điều này liên quan đến việc chuyển hướng cơ sở dữ liệu của kháchhàng truy cập đến các máy chủ khác nhau tại các thời điểm khác nhau ( khách hàngkhông thể nhận biết) để thực hiện phù hợp cân bằng tải giữa các máy chủ Kỹ thuật tối
ưu hóa hiện đại có thể được sử dụng để phân phối tải trọng phù hợp trên các máy chủ,tuy nhiên giải pháp này trở nên không hợp lệ ngay sau khi có sự thay đổi trung bìnhtrong mô hình truy cập cơ sở dữ liệu của khách hàng Một ví dụ khác là định tuyến góichung trong một mạng point-to -point Theo truyền thống, bảng định tuyến tại mỗi nútđược sử dụng để tìm kiếm ' bước kế tiếp ' tốt nhất cho một gói dựa trên điểm đến cuốicùng của nó Chúng ta có thể tưởng tượng một kỹ thuật tối ưu hóa áp dụng cho vấn đềnày, kỹ thuật này dựa vào mô hình tổng thể và xác định các bảng định tuyến thích hợpcho mỗi nút, do đó ùn tắc chung và sự chậm trễ có thể được giảm thiểu, tức là trongnhiều trường hợp là ' bước kế tiếp " tốt nhất có thể không tìm được nút tiếp theo trêncon đường ngắn nhất, vì liên kết này có thể được được sử dụng nhiều rồi Tuy nhiên,đây rõ ràng là một chương trình cần được thực hiện lặp đi lặp lại như những biểu đồthay đổi lưu lượng truy cập
Việc thực hiện lặp đi lặp lại của các kỹ thuật tối ưu hóa là một trong những cách
có thể để tiếp cận các bài toán động, nó thường là một cách khá phù hợp, đặc biệt làkhi các giải pháp tốt yêu cầu cần thiết phải rất nhanh, vì môi trường thay đổi rất nhanhchóng Thay vào đó, một phạm vi khác của các kỹ thuật tính toán hiện đại thườngthích hợp cho các bài toán như vậy Chúng ta có thể gọi chung lớp này là kỹ thuật
"thích ứng", mặc dù việc sử dụng ở các chương sau trong cuốn sách này thực sự khá
đa dạng Đặc biệt, chương sau sẽ sử dụng tính toán thần kinh (neural), logic mờ và lýthuyết trò chơi để giải quyết tối ưu hóa thích nghi trong môi trường động, trong một sốtrường hợp kết hợp với tìm kiếm cụ bộ hoặc dựa vào tập hợp Về cơ bản, một kỹ thuật
Trang 7tối ưu hóa cung cấp một cách nhanh chóng và hiệu quả để tìm một giải pháp tốt trongnhiều giải pháp, một kỹ thuật thích ứng phải cung cấp một giải pháp tốt gần như làngay lập tức.
Thủ thuật ở đây đó là các phương pháp sử dụng tiến trình “off-line” để học vềvấn đề đang giải quyết sao cho khi mà các kết quả tốt và nhanh được yêu cầu thì chúng
sẽ được chuyển đi Ví dụ, một cách tiếp cận thích hợp cho việc định tuyến gói tin trongcác mặt thay đổi trong mô hình giao thông sẽ bao gồm một số liên tục nhưng tôi thiểuhóa xử lý mà được cập nhật liên tục trong bảng định tuyến tại mỗi nút dựa trên thôngtin hiện tại về độ trễ và mức độ giao thông
Trong phần còn lai của chương này chúng ta sẽ giới thiệu ngắn gọn về sự tối ưu
và và các kỹ thuật thích ứng mà chúng ta đã đề cập ở trên Chi tiết sẽ được nói ở cácchương sau Sau đó chúng ta sẽ nói một chút về ba phần trong cuốn sách này trong cácchương tiếp theo Sau cùng, chúng ta sẽ chỉ ra tại sao những kỹ thuật này là quan trọngtrong viễn thông, và chúng sẽ ngày càng phát triển theo thời gian
1.3 Các kỹ thuật Heuristic hiện đại
Có một loạt các phương pháp nổi tiếng trong hoạt động nghiên cứu, như là :quy hoạch động (DynamicProgramming), quy hoạch tuyến tính( IntegerProgramming ) V v đã được sử dụng để giải quyết các lọa vấn đề tối ưu khác nhau.Tuy nhiên, một cộng đồng lớn của các nhà khoa học máy tính và các nhà nghiên cứutrí tuệ nhân tạo ngày nay đang dành rất nhiều nỗ lực vào những ý tưởng hiện đại hơnđược gọi là “metaheuristics” hay còn gọi là “heuristic” Vấn đề khác nhau cơ bản giữacác phương pháp hiên đại và phương pháp cổ điển đó là, nó dễ áp dụng hơn Tực lànếu đưa ra một vấn đề thực tế điển hình và phức tạp thì nó sẽ cần ít công sức để pháttriển cách tiếp cận mô hình tôi thép để giải quyết vấn đề đó hơn là trình bày vấn đềtheo cách quy hoạch tuyến tính có thể áp dụng trên nó
Điều này không nói rằng các phương pháp hiện đại sẽ làm tốt hơn phương pháp
cổ điển Trên thực tế, kịch bản thực tế và điển hình khi mà cả hai loại phương phápđược áp dụng đó là:
Một chuyên gia metaheuristics so sánh hại loại kỹ thuật: phương pháp hiện đạilàm tốt hơn phương pháp cổ điện
Trang 8 Một chuyên gia nghiên cứu các hoạt động cổ điển so sánh hai loại kỹ thuật:phương pháp cổ điển vượt trội hơn phương pháp hiện đại.
Mặc dù sự quan sát này dựa trên một khía cạnh quan trọng trong việc giải quyếtcác vấn đề tối ưu bạn càng hiểu rõ các kỹ thuật riêng biệt mà bạn đang áp dụng thì bạncàng có khả sử dụng và khai thác nó để đạt được kết quả tốt hơn
Trong phần này chúng tôi chỉ cung cấp khía quát về một số thuật toán tối ưuhiện đại, và do đó không cung cấp khá đầy đủ thông tin cho một người đọc để có thểchỉnh cho phù hợp với các vấn đề cụ thể Mặc dù chúng tôi không chỉ cho bạn cách đểsáng tạo với chúng, nhưng chúng tôi chỉ ra điểm mấu chốt ở đâu Làm cách nào để ápdụng sáng tạo chúng thì phụ thuộc và rất nhiều vấn đề, nhưng chương sau sẽ cung cấpcác thông tin cho từng trường hợp cụ thể Những gì sẽ trở nên rõ ràng từ chương này,tuy nhiên, đó là những kỹ thuật được đánh giá cao chung trong ứng dụng của chúng.Trong thực tế, bất cứ khi nào cũng có một số cách khá sẵn để đánh giá hoặc tính điểmgiải pháp ứng cử viên cho vấn đề của bạn, sau đó các kỹ thuật này có thể được ápdụng
Về bản chất các kỹ thuật này được chia làm 2 nhóm: tìm kiếm địa phương, tìmkiếm dựa trên dân số Đó sẽ là những thứ sẽ được bàn đến tiếp theo đây
1.3.1 Tìm kiếm cục bộ
Giả sử rằng bạn đang cố gắng để giải quyết một vấn đề P, và bạn có một tập hợp S là các giải pháp tiềm năng cho vấn đề này Bạn không nhất thiết phải có tập S, vì
nó quá lớn để có thể hiểu rõ toàn bộ Tuy nhiên, bạn có một số cách để tạo ra các giải
pháp từ nó Ví dụ, S có thể là một tập hợp các cấu trúc liên kết cho một mạng, và các giải pháp ứng cử s, s ', s'',… là các đề cử cấu trúc kết nối cụ thể mà bạn đã đưa ra theo cách nào đó Thêm vào đó, hãy tưởng tượng rằng bạn có một hàm chuẩn hóa f(s)
(fitness function) có chức năng đưa ra kết quả của một giải pháp đề cử Kết quả tốt hơn
đồng nghĩa với việc đó là giải pháp tốt hơn Lấy ví dụ, chúng ta đang cố gắng tìm ra
những cấu trúc liên kết mạng đáng tin cậy nhất, sau đó f (s) có thể tính toán xác suất
thất bại của liên kết giữa hai nút đặc biệt quan trọng Trong trường hợp chúng ta muốn
sử dụng nghịch đảo của giá trị này nếu chúng ta thực sự muốn gọi nó là ‘chuẩn hóa’
(fitness) Trong những trường hợp khi mà kết quả thấp hơn, thì tốt hơn và thường thì thích hợp hơn đó là coi f(s) là một hàm chi phí.
Trang 9Chúng ta còn cần thêm một điều nữa, mà chúng ta gọi là một toán tử lân cận
(neighbourhood operator) Đây là hàm có chức năng lấy ra một giải pháp đề cử s, và tạo ra một giải pháp đề cử mới s’ - thường chỉ hơi khác một chút so với s Chúng ta sẽ
sử dụng thuật ngữ ‘biến cố’ (mutation) để mô tả cho toán tử này Ví dụ, nếu chúng ta
biến đổi một cấu trúc liên kết mạng, kết quả biến đổi có thể bao gồm một liên kết thêmkhông có trong cấu trúc liên kết ‘cha mẹ’, hoặc cũng có thể là giống như nhau Ngoài
ra, biến cố có thể loại bỏ, hoặc di chuyển, một liên kết
Bây giờ chúng ta có thể mô tả một cách cơ bản về tìm kiếm cục bộ Trước tiên,hãy xem xét một trong những phương pháp tìm kiếm cục bộ đơn giản nhất, được gọi là
phương pháp leo đồi (hillclimbing), thực hiện theo các bước dưới đây:
1 Bắt đầu: tạo ra một giải pháp đề cử ban đầu (có thể bằng một cách ngẫu nhiên);gọi đây là giải pháp hiện tại, c Đánh giá nó
2 Biến đổi c để tạo ra một biến cố m, sau đó đánh giá m
3 Nếu f(m) là tốt hơn hơn hoặc tương đương f(c), vậy thì cần thay thế c với m (Ví
dụ c bây giờ là một bản sao của m).
4 Lặp lại bước 2, cho đến khi nào đạt tới một tiêu chí kết thúc
Ý tưởng của hillclimbing nên được trình bày rõ ràng theo thuật toán nêu trên Ởbất kỳ bước nào, chúng ta có một giải pháp hiện tại, và khi chúng ta nhìn vào một âncận của giải pháp này – có vài điểm khác nhau Nếu giải pháp lân cận là một bộ lọc
(fitter) (hoặc tương đương), vậy thì có vẻ như là đây một ý tưởng tốt để chuyển sang
lân cận đó; do đó, cần bắt đầu lại với lân cận giống như là với một giải pháp hiện tạimới Ý tưởng căn bản đằng sau điều này, và đằng sau phương pháp tìm kiếm cục bộnói chung, đó là sự hội tụ của các giải pháp tốt Bạn có thể không thực sự mong đợimột cấu trúc liên kết đáng tin cậy xuất hiện, ví dụ, thêm một liên kết đơn vào một cấutrúc liên kết không đáng tin cậy Tuy nhiên, bạn có thể mong đợi rằng một sự thay đổinhư vậy có thể biến một cấu trúc liên kết đáng tin cậy thành một cấu trúc liên kết đángtin cậy hơn
Trong tìm kiếm cục bộ, chúng ta khai thác ý tưởng này bằng cách liên tục tìmkiếm trong vùng lân cận của giải pháp hiện tại Sau đó chúng ta sẽ chuyển đến mộtgiải pháp phù hợp, và tái thực thi quá trình này Sự nguy hiểm ở đây là chúng ta có thểgặp khó khăn trong với cái gọi là ‘tối ưu cục bộ’, tức là giải pháp hiện tại là không đủtốt cho mục đích của chúng ta, nhưng tất cả các phương án lân cận của nó thậm chí
Trang 10còn tồi hơn Đây là điểm không tốt đối với thuật toán leo đồi (hillclimbing), vì đơn
giản là nó sẽ bị mắc kẹt ở đó Các phương pháp tìm kiếm cục bộ khác ngoàihillclimbing, có cách để giải quyết chính xác tình huống này
Các phương pháp tìm kiếm cục bộ khác được phân biệt chúng với hillclimbing,tuy nhiên, có một số cách để giải quyết tình trạng này một cách chính xác Chúng ta sẽxem xét lại 2 phương pháp ở đây, đây là những phương pháp được sử dụng phổ biến
và được sử dụng ở phần sau trong cuốn sách này Dưới đây là mô phỏng luyện kim(simulated annealing) và tìm kiếm tabu (tabu search)
Simulated annealing
Simulated anneling giống với hillclimbing Sự khác biệt duy nhất là việc thêm vào của
1 cặp tham số, một bước phụ mà một số cuốn sách thực hiện với những tham số này,
và đây là điểm chính, bước 3 được thay đổi để sử dụng các tham số này:
1 Bắt đầu: Tạo và đánh giá giải pháp ứng cử ban đầu (một cách ngẫu nhiên); gọi
đây là giải pháp hiện tại c Khởi tạo tham số nhiệt độ T và độ làm mát r (0<r<1).
2 Biến đổi c tạo ra m, kết quả của việc biến đổi c, và đánh giá m
3 Nếu đánh giá test(f(m), f(c), T) là đúng, thì thay thế c bằng m (c bây giờ là bảnsao của m)
4 Cập nhật tham số nhiệt độ (T thành rT)
5 Lặp lại bước 2, cho tới khi đạt được tiêu chí kết thúc
Vấn đề xảy ra trong mô phỏng luyện kim đó là đôi khi chúng ta chấp nhận kếtquả của việc biến đổi ngay cả khi nó kém hơn cả giải pháp hiện tại Tuy nhiên, chúngkhông xảy ra thường xuyên và khả năng kết quả của việc biến đổi kém hơn là rất thấp.Ngoài ra, chúng ta có ít khả năng làm như vậy trong thời gian tới Kết quả tổng thể làthuật toán có cơ hội tốt để thoát khỏi optima cục bộ, do đó có thể tìm kiếm các miềntốt hơn của không gian sau này Tuy nhiên, hướng cơ bản của sự dịch chuyển về cácmiền tốt hơn được duy trì Tất cả những điều này được thực hiện trong chức năng testcủa bước 3 Một ví dụ về loại sử dụng test là đầu tiên thực hiện:
( ( ) f m f c T ( ))/
Trang 11Giả thiết rằng chúng ta thực hiện tối ưu hóa cost (nếu không chúng ta chỉ cầnchuyển dổi f(m) và f(c)) Nếu kết quả của việc biến đổi tốt hơn hoặc tương đương giảipháp hiện tại, thì biểu thức trên sẽ lớn hơn hoặc bằng 1 Nếu kết quả của việc biến đổikém hơn, thì kết quả sẽ nhỏ hơn 1 và kém hơn kết quả biến đổi là gần bằng 0 Do đó,kết quả của biểu thức được sử dụng như một xác suất Tạo ngẫu nhiên 1 số rand, với0<rand<1 và thực hiện test trong bước 3 chỉ đơn giản là kiểm tra có hay không biểuthức nhỏ hơn rand Nếu vậy (luôn luôn được như vậy nếu kết quả biến đổi tốt hơnhoặc tương đương), chúng ta chấp nhận kết quả biến đổi T là tham số nhiệt độ Vớibắt đầu lớn và giảm dần (xem bước 4) theo thời gian Điều bạn có thể nói từ biểu thứctrên, là xác suất của kết quả biến đổi kém chấp nhận được cũng sẽ giảm dần theo thờigian.
Mô phỏng luyện kim tạo ra một phương pháp mạnh, mặc dù nó khá khó khăn
để đạt được những tham số đúng Tham khảo A good modern account, Dowsland(1995)
Tabu Search
Một cách khác để thoát khỏi optima cục bộ được cung cấp bởi tìm kiếm tabu(Glover 1989; 1989a; Glover and Laguna, 1997) Có nhiều khía cạnh tinh vi để tìmkiếm tabu, ở đây chúng ta chỉ tìm hiểu về bản chất của kỹ thuật Giới thiệu một cách rõràng và đầy đủ được cung cấp trong Glover and Laguna (1995; 1997)
Phương pháp tìm kiểm Tabu, như nhiều phương pháp tìm kiếm cục bộ kháckhông bàn và xem xét về các láng giềng của giải pháp hiện tại và thậm chí chọn mộttrong láng giềng để chuyển đến Đặc tính có tính phân biệt này của phương pháp tìmkiếm Tabu là về vấn đề đưa ra sự lựa chọn như thế nào Đây không đơn giản là việclựa chọn láng giềng nào phù hợp nhất trong số những láng giềng đã được kiểm tra.Phương pháp tìm kiếm Tabu tính đến cả sự biến đổi (mutation) mà cho chúng ta kếtquả Ví dụ, nếu láng giềng tốt nhất trong giải pháp của bạn là láng giềng mà kết nối
bằng việc thay đổi liên kết từ nút k, nhưng chúng ta đã thực hiện việc kết nối đó trong
lần lặp trước thì có thể một láng giềng khác sẽ được lựa chọn thay thế, thậm chí nếu sự
di chuyển tốt nhất hiện tại là di chuyển gần đây nhất cũng có thể không được chấpnhận Tìm kiếm tabu cung cấp một cơ chế dựa trên chỉ tiêu nguyện vọng cho phép tachọn nhiều hơn nếu láng giềng đang được xem xét mà phù hợp hơn so với láng giềnghiện tại
Trang 12Do vậy, bất kỳ việc cài đặt phướng pháp tìm kiếm tabu nào đều duy trì một vàidạng bộ nhớ ghi lại những thuộc tính nhất định của những di chuyển gần đây Nhữngthuộc tính này phụ thuộc nhiều vào vấn đề đang xem xét và đây là một phần của việc
áp dụng phương pháp tìm kiếm tabu Ví dụ, nếu chúng ta cố gắng tối ưu hóa topomạng, một dạng của bộ biến đổi sẽ phải thay đổi đường cáp liên kết giữa nút a và nút
b Hoặc là trong việc cài đặt phương pháp tìm kiếm tabu, chúng ta có lẽ chỉ ghi lại sự
kiện thay đổi đường cáp ở lần lặp thứ i, hoặc là đơn giản chỉ ghi lại sự thay đổi trong
liên kết giữa nút a với một nút mà liên kết với nút b Nếu chúng ta chỉ ghi lại kiểuthuộc tính trước đó thì những di chuyển có thể xảy ra gần thời điểm đó có thể khôngđược chấp nhận và không phụ thuộc vào các nút có liên quan Nếu chúng ta chỉ ghi lạithuộc tính sau đó thì những thay đổi tiềm năng bao gồm nút a và (hoặc) nút b có thểkhông được chấp nhận nhưng những di chuyển thay đổi cáp có thể được chấp nhận
Phương pháp tìm kiếm cục bộ Artful
Có một vài điểm chú ý về việc thuật toán tabu minh họa đó là khía cạnh quantrọng của phương pháp tìm kiểm cục bộ tốt là quyết định láng giềng nào cần di chuyểnđến Tất cả các phương pháp tìm kiếm cục bộ thực hiện các ý tưởng cơ bản về dichuyển cục bộ đều là những ý tưởng tốt Ví dụ, nếu giải pháp hiện tại của bạn tốt thì cóthể có một giải pháp tốt hơn gần đó và có thể có một giải pháp tốt hơn nữa
Tuy nhiên, rõ ràng là thỉnh thoảng (có lẽ là thường xuyên) chúng ta phải chấpnhận thực tế là chúng ta chỉ có thể tìm kiếm các giải pháp được cải tiến bằng cách tạmthời thực hiện các giải pháp khác tồi hơn Thuật toán mô phỏng annealing và phươngpháp tìm kiếm tabu là hai cách tiếp cận để giải quyết vấn đề này Tuy nhiên, đối vớimột vấn đề cụ thể thì cách tốt nhất trong triển khai và thiết kế hai cách tiếp cận trên làkhông rõ ràng Có nhiều sự lựa chọn có thể đưa ra: cách đầu tiên có thể là làm cáchnào để trình bày một giải pháp đưa ra tại vị trí đầu tiên Lấy ví dụ, một topo mạng cóthể được biểu diễn dưới dạng cách danh sách của các liên kết trong đó mỗi cặp liên kết
là một cặp nút (a,b) Việc giải mã danh sách đó thành một topo mạng đơn giản là vẽliên kết cho mỗi cặp nút trong danh sách đó Nói cách khác, chúng ta có thể biểu diễnmột topo mạng như là một chuỗi nhị phân chứa thông tin về các liên kết có thể có Mỗi
vị trí trong chuỗi bit này sẽ có thể thể hiện một liên kết điểm tới điểm Do vậy, mộtgiải pháp đưa ra là “10010 ” có thể chỉ ra một liên kết điểm tới điểm giữa nút 1 và 2,
Trang 13không có liên kết giữa nút 1 và nút 3 hoặc là giữa nút 1 và nút 4 hoặc là có một liên kếtgiữa nút 1 và nút 5
Nói chung, trên đây là những cách để đưa ra một phương pháp đại diện cho cácgiải pháp của vấn đề Tất nhiên sự lựa chọn cũng ảnh hưởng đến thiết kế của các
“operator hàng xóm” Trong ví dụ trên, loại bỏ 1 liên kết từ topology liên quan đến 2loại hoạt động khác nhau trong 2 đại diện Trong trường hợp danh sách cặp node,chúng ta cần thực sự loại bỏ 1 cặp từ danh sách Trong trường hợp nhị phân, chúng tathay đổi một bit 1 đến một bit 0 trong một vị trí cụ thể trong chuỗi
Đề ra các đại diện và vận hành tốt là một phần của nghệ thuật sử dụng hiệu quảtìm kiếm địa phương để giải quyết các vấn đề tối ưu hóa cứng Tuy nhiên một phầnquan trọng khác của nghệ thuật này là vấn đề sử dụng tri thức cụ thể hoặc chuẩn đoántồn tại khi có thể Ví dụ, một vấn đề với một trong hai đại diện mà chúng ta đã ghinhận cho đến nay cho topology mạng là một topology được tạo ngẫu nhiên điển hìnhcũng có thể là không kết nối Đó là một giải pháp ứng cử có thể chỉ đơn giản là khôngchứa các đường dẫn giữa mỗi cặp nút Thông thường, chúng ta chỉ quan tâm đến cácmạng hướng kết nối, vì vậy bất kỳ thuật toán tìm kiếm nào mà effort dành cho kết nốivới các mạng hướng không kết nối thẩm định thì có vẻ khá lãng phí Đây là nơi màmiền tri thức cơ bản và những chuẩn đoán tồn tại sẽ có ích Đầu tiên, bất kỳ một nhàthiết kế mạng tốt nào đều sẽ biết các khái niệm lý thuyết đồ thị khác nhau, chẳng hạnnhư là: cây spanning, thuật toán đường đi ngắn nhất… Nó không khó để đưa ra 1 thayđổi đại diện danh sách cặp node là đã kết nối, đảm bảo rằng tất cả các giải pháp ứngviên s chứa 1 cây spanning cho mạng Một cách để làm điều này là liên quan đến việcgiải thích những cặp node đầu tiên gián tiếp Thay vì (a, b) chỉ ra rằng mạng này chứaliên kết giữa a và b, nó sẽ có nghĩa là node a đã kết nối sẽ được liên kết với node bkhông kết nối Bằng cách này, mọi cặp node tiếp theo cho thấy làm thế nào để thamgia như 1 node chưa được sử dụng để phát triển cây spanning Khi tất cả các node đãđược kết nối như vậy, cặp node còn lại có thể được giải thích trực tiếp
Tuy nhiên vấn đề chúng ta giải quyết sẽ liên quan đến vấn đề chi phí, do đó chiphí của các liên kết cụ thể sẽ đóng vai trò quan trọng trong “hàm thích hợp” Miền trithức cho chúng ta biết một số thuật toán nổi tiếng và nhanh chóng đưa ra đáp án choviệc tìm cây spanning chi phí nhỏ nhất (Kruskal, 1956; Prim, 1957) Do đó nó có thểlàm cho ý nghĩa tốt, tùy thuộc vào các chi tiết khác nhau của vấn đề, để khởi tạo mỗi
Trang 14giải pháp ứng viên với cây chi phí nhỏ nhất, và tất cả những gì chúng ta cần là đại diệncho các liên kết chúng ta thêm vào cây này.
Có rất rất nhiều cách trong đó miền tri thức hoặc chuẩn đoán tồn tại có thể được
sử dụng để hưởng lợi từ phương pháp tiếp cận tìm kiếm địa phương cho vấn đề tối ưuhóa Một số về vấn đề này có thể cho chúng ta biết, ví dụ những loại biến đổi có cơ hộitốt hơn dẫn đến hàng xóm tốt Một phương thức chuẩn đoán hiện có cho biết nhanhchóng giao các kênh trong mạng di động, có thể được sử dụng để cung cấp điểm khởitạo cho tìm kiếm địa phương mà cố gắng để tìm ra giải pháp tốt hơn
1.3.2 Tìm kiến dựa trên tập hợp (Population-Based Search)
Một lựa chọn khác của thuật toán, hiện giờ đang rất phổ biến, được xây dựngdựa trên ý tưởng về tìm kiếm địa phương bằng cách sử dụng tập hợp các giải pháp
“hiện tại” thay vì chỉ một Có 2 cách mà điều này có khả năng tương cường cơ hội tìmkiếm giải pháp tốt Đầu tiên, khi chúng ta có 1 tập hợp, chúng ta có thể dành thời gian
1 cách hiệu quả để tìm kiếm trong nhiều khu vực lân cận khác nhau như một Thuậttoán dựa trên tập hợp có xu hướng chia sẻ effort tính toán đến các giải pháp ứng viênkhác nhau trong 1 cách thiên vị bởi sự thích hợp tương quan của chúng Đó là, nhiềuthời gian sẽ được dùng để tìm kiếm các vùng lân cận của các giải pháp tốt hơn là cácgiải pháp trung bình
Tuy nhiên, tối thiểu cần một ít thời gian cho việc tìm kiếm trong những miềnnghiệm ôn hòa hoặc thô, nên điều này dẫn đến việc tìm kiếm một đột biến đặc biệt tốttrên đường đi, sau đó các cân bằng tải của nỗ lực tính toán sẽ được sửa đổi cho phùhợp
Một hướng tiếp cận khác được cung cấp bởi kỹ thuật dựa trên tổ hợp là chúng
ta thử sử dụng toán tử tái tổ hợp Đây là cách để tạo ra những đột biến, nhưng lần này
từ 2 hoặc nhiều các nghiệm cha chứ không phải chỉ 1 Do đó kết quả được gọi là một
tổ hợp chứ không phải là một đột biến Tái tổ hợp cung cấp một cách có nguyên tắctưởng đối để giải thích sự dịch chuyển của một vùng lân cận lớn Một trong những khókhăn của tìm kiếm cục bộ là ngay cả các kỹ thuật tiên tiến như mô phỏng và tìm kiếmcũng khó khăn để tối ưu cục bộ, nó chỉ “thoát” trừ khi nó có thể là một đột biến kháquyết liệt Đó là thuật toán có thể thử tất cả các chuyển động cục bộ có thể, và do đóphải bắt đầu thử với các di chuyển phi cục bộ nếu nó có bất kỳ cơ hội nào để đạt được
Trang 15bất kỳ nơi nào Vấn đề thực tế ở đây là có rất nhiều khả năng di chuyển phi cục bộ.Thật vậy các hàng xóm ”phi cục bộ” là toàn bộ không gian khả năng!
Tái tổ hợp là một phương pháp cung cấp một cách lựa chọn di chuyển phi cục
bộ tốt từ một không gian lớn các khả năng Ví dụ, nếu 2 nghiệm cha là mỗi vécto của kphần tử, một toán tử tái tổ hợp được gọi là giao đơn điệu (uniform crossover), sẽ tạo ramột nghiệm con từ 2 nghiệm cha này bằng cách, với mỗi phần tử được trả ra lấy ngẫunhiên giá trị của nó tử một trong 2 điểm Mỗi nghiệm con có thể khác biệt tới 50% cha
mẹ của nó, và lớn hơn rất nhiều so với sự khác biệt điển hình giữa một nghiệm chađơn với một vài hàng xóm cục bộ của nó
Dưới đây là những bước cho một thuật toán dựa trên tổ hợp chung:
1 Bắt đầu: sinh ra một tập ban đâu các giải pháp có khả năng nhất (candidate).Đánh giá chúng
2 Lựa chọn một vài tập làm cha
3 Áp dụng toán tử tái tổ hợp và đột biến để từ các bộ cha mẹ tạo ra các bộ con
4 Kết hợp các bộ con được sinh ra vào tập hợp
5 Cho đến khi đạt được tiêu chí kết thúc, thì quay trở lại bước 2
Có rất nhiều cách để thực hiện ở mỗi bước, nhưng có những điểm quan trọngnhư sau Bước 2 thường sử dụng chiến lược chọn lọc tự nhiên (survival of the fittest),đây là nơi mà các tải chia sẻ (load sharing) được thảo luận ở trên sẽ được áp dụng Cácnghiệm ứng viên được tạo thành, càng nhiều cơ hội nó trở thành cha, và do đó cónhiều cơ hội hơn để thuật toán tìm ra các vùng lân cận của nó Có những kỹ thuật chọnlựa khác nhau, hầu hết đều được tham số hóa để thay đổi mức độ để các tổ hợp chađược tạo ra ưa thích hơn ( các áp lực chọn lọc) Bước 3 áp dụng các toán tử tái tổ hợphoặc đột biến, hoặc cả hai Đây có tất cả các toán tử tái tổ hợp và đột biến, nhưng nhưchung tôi gợi ý trên, những lợi ích thực sự đến khi một vài suy nghĩ đã được đưa vàothiết kế cụ thể các loại toán tử sử dụng miền tri thức Trong bước 4, nhớ rằng chúng taluôn duy trì một kích thước tổ hợp cố định Vì vậy, nếu chúng ta có một tổ hợp 100,nhưng 20 phần tử con được thêm vào, thì 20 của 120 phần tử phải được loại bỏ Mộtcách tiếp cận phổ biến nhất là chỉ đơn giản loại bò 20 phần tử ít phù hợp nhất với cácnhóm kết hợp, nhưng có một vài phương pháp khác; chúng ta có thể sử dụng côngnghệ được gọi là “dồn nén” (crowding), eg De Jonh (1975), trong đó đa dạng đóng vai
Trang 16trò quyết đinh về những giải pháp ứng viên để loại bỏ Ví dụ, chúng ta chắc chắn sẽthích để loại bỏ giải pháp S có lợi và một giải pháp t ít phù hợp, nếu điều đó xảy ra làtrường hợp đó là một bản sao trong dân số, nhưng t là “mới”.
Ví dụ, chúng tôi chắc chắn sẽ thích để loại bỏ giải pháp tội ủng hộ một giảipháp t ít phù hợp, nếu điều đó xảy ra là trường hợp đó salready có một bản sao trongdân số, nhưng tis 'mới' Cuối cùng, chúng ta phải chỉ ra một số vấn đề thuật ngữ Có rấtnhiều thuật toán dựa trên dân số, và trong thực tế, họ thường được gọi là thuật toántiến hóa ( địa bàn ) Một thuật ngữ phổ biến được sử dụng là thuật toán di truyền, màđúng đề cập đến một gia đình của các phương pháp như vậy mà luôn luôn sử dụng mộtnhà điều hành tái tổ hợp (Hà Lan, 1965; Goldberg, 1989), trong khi các gia đình kháccủa thuật toán như vậy, gọi là lập trình tiến hóa ( Fogel, 1995) và tiến hóa chiến lược( trở lại, 1996), xu hướng sử dụng đột biến một mình, nhưng khá thông minh về cách
họ sử dụng nó Trong mọi trường hợp, một giải pháp ứng cử viên có xu hướng đượcgọi là một phần tử của nó chromosomeand được gọi là gen
1.4 Kỹ thuật tính toán thích ứng
Để giải quyết các nhu cầu tối ưu hóa vốn có trong môi trường liên tục thay đổiviễn thông, sử dụng trực tiếp của các kỹ thuật tối ưu hóa địa phương hoặc dân số dựađôi khi có thể là khá phù hợp Điều này có thể bởi vì nó có thể mất quá lâu để hội tụ vềmột giải pháp tốt, và như vậy vào thời điểm các giải pháp đến, vấn đề đã thay đổi!
Những gì chúng ta cần thay vì trong bối cảnh này là một cách để đưa ra quyếtđịnh rất nhanh, nhưng rất tốt, là Ví dụ, để quyết định những gì là tốt nhất ' bước kếtiếp " là cho một gói tin đến tại nút một với điểm đến d, chúng ta có lẽ có thể chạy một
mô phỏng của mạng lưới cho các mô hình giao thông hiện hành hiện tại và ước tínhthời gian đến khả năng tại điểm đến cho cho bước nhảy tiếp theo có thể Kết quả củamột mô phỏng như vậy sẽ cung cấp cho chúng ta một sự lựa chọn đầy đủ thông tin, vàsau đó chúng tôi có thể gửi các gói dữ liệu phù hợp trên đường
Bây giờ, nếu chúng ta có thể ở trên trong một vài micro giây, chúng tôi sẽ cómột chiến lược gói tin định tuyến phù hợp và rất có lợi nhuận Tuy nhiên, vì nó có thể
sẽ mất vài giờ để làm một mô phỏng chính xác bằng cách sử dụng loại sức mạnh xử lý
và bộ nhớ thường có sẵn tại mạng chuyển mạch, trong thực tế nó là một ý tưởng vô lý!
Trang 17Thay vào đó, chúng ta cần một số cách để đưa ra quyết định tốt một cách nhanhchóng, nhưng nơi quyết định sẽ bằng cách nào đó có tính đến các hoàn cảnh hiện hành.
Lý tưởng nhất, chúng tôi đang tìm kiếm một ' hộp đen ' mà, khi cho ăn với một câu hỏi
và một số chỉ tiêu môi trường, cung cấp một câu trả lời hợp lý và ngay lập tức Một ví
dụ về một hộp đen như là một bảng định tuyến của các loại thường được tìm thấytrong các mạng chuyển mạch gói Các câu hỏi của một gói tin truyền thông là : " Cuốicùng tôi muốn để có được d, vì vậy mà tôi nên đi tiếp theo? ' Bảng định tuyến, thôngqua một tra cứu đơn giản lập chỉ mục của d, rất nhanh chóng cung cấp một câu trả lời
và gửi nó trên đường Những rắc rối với điều này, tất nhiên, là nó về cơ bản là khôngthích nghi Trừ một số giao thức quản lý mạng tiên tiến đang hoạt động, bảng địnhtuyến sẽ luôn luôn cung cấp cho các câu trả lời tương tự, ngay cả khi liên kết trở đi từ
đề nghị bước kế tiếp để dis rất nhiều tắc nghẽn tại thời điểm này Hộp đen của chúngtôi do đó phải thường xuyên thay đổi bằng cách nào đó, và thích ứng với các điều kiệnhiện hành Trong thực tế, chương tám và chín cả hai thảo luận về cách để làm điều nàyliên quan đến các bảng định tuyến trong các mạng chuyển mạch gói
Vì vậy, kỹ thuật thích ứng trong bối cảnh viễn thông có xu hướng liên quan đếncác hộp đen, hoặc các mô hình, mà bằng cách nào đó tìm hiểu và thích ứng với ' ẩn 'nhưng có thể phản ứng rất nhanh chóng và thích hợp khi được hỏi cho một quyết định.Trong một số các chương có liên quan đến thích ứng, các kỹ thuật được sử dụng lànhững người chúng ta đã thảo luận đã có trong phần 1.3, nhưng thay đổi một cáchthích hợp trong ánh sáng của sự cần thiết phải quyết định nhanh chóng Mặc dù vậy, ởnhững người khác, nhất định kỹ thuật quan trọng khác hiện đại được sử dụng, mà bâygiờ chúng tôi sẽ giới thiệu một thời gian ngắn
Đây là sự ước lượng về thần kinh, logic mờ và lý thuyết trò chơi Vai trò củaước lượng thần kinh trong hoàn cảnh này là phát triển một mô hình ẩn, mô hình đónghiên cứu ( từ ví dụ) để làm thế nào có quyết định đúng đắn trong tập các trường hợpkhác nhau Kết quả tạo ra sẽ như một mạng lưới thần kinh, sau đó để làm việc trựctuyến như thế nào thì nhà sản xuất sẽ quyết định Vai trò của logic mờ là đưa ra cách
để tạo ra các quy định vững chắc, đây là những quy định để ra quyết định Điều này về
cơ bản là tạo ra cách giải quyết của hộp đen, giống như một mạng lưới thần kinhnhưng với hoạt động bên trong khác nhau Cuối cùng lý thuyết trò chơi sẽ đưa ra mộtcách nhìn khác, đó là một kịch bản mạng năng động Về cơ bản, nếu chúng ta xem một
Trang 18số khía cạnh của quản lý mạng như là một 'trò chơi', một tập hợp các phương trình vàcác mô hình được biết đến bắt đầu hoạt động, nó sẽ lần lượt cung cấp những phép tínhgần đúng của mạng năng động thực sự Do đó, các quyết định quản lý mạng nào đó cóthể được hỗ trợ bằng cách sử dụng các phương trình này.
1.4.1 Tính toán hệ thần kinh
Tính toán hệ thần kinh (Rumelhart và MacClelland năm 1989; Haykin, 1998)
về cơ bản là một kỹ thuật phân loại mô hình, nhưng ngay từ cái nhìn đầu tiên nó đãcho thấy khả năng ứng dụng rộng rãi hơn Sức mạnh thực sự của phương pháp nàynằm trong thực tế và chúng ta không cần phải biết cách phân biệt các loại mô hình Tacần xây dựng một hệ thống chuyên gia dựa trên nguyên tắc cổ điển, ví dụ chúng ta cầnphải có các quy tắc rồi mới xây dựng thành hệ thống Nếu chúng ta sử dụng cách tínhtoán hệ thần kinh, tuy nhiên một loại đặc biệt của hộp đen được gọi là “mạng lưới thấnkinh” sẽ chủ yếu học các quy tắc cơ bản bằng ví dụ Một ứng dụng điển hình của kỹthuật này là đánh giá rủi ro tín dụng Các quy tắc là cơ sở ra quyết định về người sẽhoặc sẽ không thể là một rủi ro tín dụng, giả định rằng chúng ta bỏ qua trường hợpnhững người có tài sản thế chấp cao nhưng lương thấp, nó tương đối phức tạp Chúng
ta có thể đào tạo một mạng lưới thần kinh để dự đoán rủi ro xấu, tuy nhiên, chỉ đơngiản bằng cách cung cấp một bộ các ví dụ được biết trước, chẳng hạn như 'người p từvùng r với lương s và nghề y trả cho khoản vay kích cỡ m; người q với mức lươngt và vv Với p, r, s, vv, như đầu vào, các mạng lưới thần kinh dần dần tự điều chỉnhtrong nội bộ một cách hợp lý để cuối cùng sẽ cho kết quả chính xác (chỉ khả năng mặcđịnh của khoản vay) và đó chính là những ví dụ đã được đào tạo trước Đáng chú ý, vàrất hữu ích, chúng ta có thể hi vọng là các mạng lưới thần kinh có thể đưa là các dựđoán một cách nhanh chóng và tốt khi chúng ta cung cấp thông tin đầu vào mà trước
đó chưa có trong dữ liệu
Trong nội bộ, một mạng lưới thần kinh là một cấu trúc rất đơn giản; nó chỉ làmột tập hợp các nút (đôi khi được gọi là "tế bào thần kinh nhân tạo”) với các liên kếtđầu vào và đầu ra, mỗi nút trong số đó có cách xử lý khá đơn giản nó thêm các sốthông qua các liên kết đầu vào của nó, mỗi trọng số bằng một giá trị mạnh (gọi là trọnglượng) liên quan đến việc liên kết giữa nó với đối tượng khác, sau đó nó sẽ xử lý tổnghợp và gửi kết quả lên liên kết đầu ra của nó Với cách gọi là " feed-forward " mạnglưới thần kinh là một tập hợp các nút như vậy, tổ chức thành lớp Vấn đề sẽ được đưa
Trang 19vào lớp đầu tiên, sau đó nó xử lý và kết quả sẽ được đưa vào lớp thứ 2, và cứ như vậy,mặc dù chúng thường chỉ có 3 lớp Rõ ràng những con số đi ra ở cuối ( kết quả) sẽ phụthuộc vào những gì đã đi vào đầu vào, nó liên quan mật thiết và được xác định bởitrọng số của các liên kết.
Cách cổ điển, đây là một phương pháp gọi là lan truyền ngược (Rumelhart vàMacClelland 1989), nhưng cũng có nhiều phiên bản hiện đại Trên thực tế, các loạimạng mà chúng tôi đã mô tả ngắn gọn ở đây chỉ là một trong nhiều loại có sẵn(Haykin, 1999)1989), nhưng có rất nhiều biến thể hiện đại Trên thực tế, các loại mạngchúng ta đã mô tả một cách ngắn gọn ở đây chỉ là một trong nhiều loại có sẵn
1.4.2 Logic mờ
Trong một số trường hợp chúng ta có thể nghĩ về các quy tắc hợp lệ cho miềngiá trị của vấn đề Ví dụ, “nếu lưu lượng đông đúc, sử dụng node a’ và ‘nếu lưu lượngrất đông đúc, sử dụng node b’ Tuy nhiên, những quy luật như vậy không thực sự hữuích nếu không có một cách tốt để quyết định rằng “đông đúc” hay “rất đông đúc” thực
sự có ý nghĩa gì Trong cách tiếp cận hệ thống chuyên gia cổ điển, chúng ta sẽ áp dụngngưỡng được xác định trước cho những cái gọi là “biến ngôn ngữ”, và quyết định, ví
dụ, “lưu lượng đông đúc” có nghĩa là việc sử dụng liên kết trong câu hỏi là giữa 70%
và 85% Điều này có vẻ tốt, nhưng không khó để thấy rằng việc sử dụng 69.5% có thể
là nguyên nhân gây ra các vấn đề; trong một kịch bản như vậy, quy luật có điều kiện là
“lưu lượng trung bình” (có thể là từ 55% đến 70%) sẽ được sử dụng, nhưng nó có thểthích hợp hơn, và mang lại một kết quả tốt hơn là sử dụng “lưu lượng đông đúc”
Logic mờ cung cấp một cách để sử dụng các biến ngôn ngữ để giải quyết vấn
đề ngưỡng một cách rất tự nhiên và mạnh mẽ Thực tế, nó gần như loại bỏ nhu cầungưỡng, thay vì giới thiệu những thứ gọi là “các chức năng thành viên” Chúng takhông còn có lưu lượng đông đúc hay trung bình Thay vào đó, một giá trị lưu lượngnhất định cho lưu lượng ở mức đông đúc và một giá trị cho mức độ trung bình Cácmức độ phụ thuộc vào các giá trị số thực tế bằng cách các chức năng thành phần,thường đơn giản là “chức năng hình tam giác” Ví dụ, mức độ lưu lượng nặng có thể là
0 giữa 0% và 35% sử dụng, sau đó nó có thể tăng lên 1 giữa 35% và 75%, và sau đólại giảm xuống 0 giữa 75% và 90% Chức năng thành phần (membership function) chobiến ngôn ngữ “rất nặng” sẽ chồng chéo nhau với điều này, bởi vậy một giá trị lưulượng 82.5% có thể là ‘nặng’ đến mức 0.5 và ‘rất nặng’ đến mức 0.7
Trang 20Với mỗi điều kiện môi trường nhất định, các quy tắc khác nhau sẽ áp dụngnhững mức độ khác nhau Đặc biệt, logic mờ cung cấp nhiều cách để xác định mức độ
mà các quy luật khác nhau được áp dụng khi các thành phần điều kiện trong quy luậtliên quan đến nhiều biến ngôn ngữ Chương 8 sử dụng logic mờ, sẽ thảo luận chi tiếthơn về vấn đề này
Sức mạnh chính của logic mờ là chúng ta chỉ cần đảm bảo rằng các chức năngthành phần là hợp lý Hệ thống kết quả, với các quyết định phù hợp, hướng tới cácbiến thể trong các chức năng thành phần, trong giới hạn hợp lý Tuy nhiên chúng ta cóthể phải làm một số việc, là xây dựng các nguyên tắc hoạt động Đây là nơi việc học
‘offline’ đưa ra trong khi chúng ta đang sử dụng logic mờ trong một môi trường thíchnghi Đôi khi, các thuật toán di truyền có thể được sử dụng cho nhiệm vụ xây dựngmột tập các quy luật tốt
1.5 Tổng kết
Phương pháp Heuristic và các kĩ thuật thích hợp được ứng dụng trong rất nhiềutrong viễn thông liên quan tới việc tối ưu Nó được chia làm 3 phần chính, tươngđương với 3 vấn đề thường gặp Thứ nhất, đó là vấn đề thiết kế và tổ chức mạng.Trong thực tế, có rất nhiều hoạt động sử dụng kĩ thuật Heuristic hiện đại, việc thiết kếmạng sẽ đơn giản với các vấn đề tối ưu do các vấn đề này đã được xác định rõrang.Điều đó có nghĩa là Chúng ta có thể tiết kiệm nhiều thời gian và công sức để pháttriển 1 kĩ thuật tối ưu tốt nhờ sử dụng các thuật toán và cơ chế đặc tả Khi một giảipháp được thiết kế, nó có thể được thực hiện cài đặt trong vài tuần hoặc vài tháng Ngược lại, với vấn đề định tuyến và sử dụng giao thức được nói đến trong phần 2, baogồm các kĩ thuật tối ưu động gồm 2 vấn đề liên quan đến tối ưu thời gian tiêu thụ.vấn
đề chính ở phần này là tập trung vào các phương thức để thực thi và tích hợp mô hình
Trang 21“hộp đen”.Trong một trường hợp, hộp đen là mạng tự nhiên, trường hợp khác, nó làtập luật logic mờ hay 1 form được đặc tả trong bảng định tuyến
Phần 3 xem xét phạm vi vấn đề, bao gồm phần mềm, chiến thuật, phương thứcquản lý lưu lượng Phát triển phần mềm cũng có nhiều vấn đề trong lĩnh vực viễnthông tuy nhiên nó cũng cung cấp nhiều giải pháp hợp lý trong việc cung cấp dịch vụ.Các vấn đề cung cấp dịch vụ, trang bị trong mạng, đều cần tới những ưu điểm và tínhlinh động của các phần mềm.Tuy nhiên các phần mềm cần nhiều thời gian để pháttriển Phần 3 cũng chỉ ra tầm quan trọng của “chiến lược” bang cách xem xét các vấn
đề của việc quản lý 1 mạng động phức tạp Các vấn đề bao gồm cấp phát dịch vụ, quảntrị luồng dữ liệu Trong mỗi trường hợp, một cách tiếp cận dựa vào lý thuyết gameđược tích hợp Cuối cùng, ở phần 3 cũng chỉ ra vẫn đề quản lý băng thông trong cảmạng cố định và mạng di động
Chính vì vậy, chúng tôi đã bao quát một phạm vi rộng của các vấn đề tối ưumạng viễn thông trong quyển sách này Chúng tôi đã trình bày một tập các vấn đề cầnđược hoàn thiện Các vấn đề tương tự trong việc kết nối các kĩ thuật lại cũng đượcnhắc đến Việc phát triển các kĩ thuật tính toán đã được tích hợp và cài đặt nhanhchóng trong lĩnh vực viễn thông
Trang 22CHƯƠNG 2: THIẾT KẾ MẠNG HIỆU QUẢ SỬ DỤNG GIẢI
THUẬT DI TRUYỀN VÀ HEURISTIC
2.1 Giới thiêu
Tính hiệu quả của việc thiết kế mạng truyền thông là thử thách đối với vấn đềtối ưu Nó khó bởi các yêu cầu xung đột và phụ thuộc lẫn nhau cần được tối ưu đểnâng cao hiệu năng của mạng Mục tiêu của các nhà thiết kế là đưa ra một mạng có chiphí tối thiểu và luồng thông tin là cực đại giữa các cặp nút nguồn và kho (source-sink)
sử dụng mạng đồng thời Một phương pháp thiết kế tối ưu cần đưa ra một hinh tháimạng (topo mạng ) mà định tuyến hiệu quả các thông điệp trong một lượng thời gianchấp nhận được Vấn để của việc thiết kế với chi phí tối thiểu, đang hàng hóa, và luồngcực đại với các thông điệp được định tuyến hiệu quả trong một topo mạng tổ hợp gọi
là NP-complete (Clementi and Di Ianni, 1996; Gavish, 1992;King-Timet al., 1997).Vấn đề NP-complete là những vấn đề không có thuật toán có thể tìm ra phương án tối
ưu ngoài các phương án như : vét cạn, brute force Vì vậy thử thách ở đây là phát triểnmột thuật toán chạy trên đa thức, cái sẽ đưa ra một thiết kế gần với sự tối ưu nhất cóthể Vi giưới hạn dưới trong vấn đề thiết kế mạng chỉ được biết tới trong các trườnghợp đơn giản (bao gồm chỉ một kiểu liên kết truyên thông, ví dụ : Dutta and Mitra(1993); Ng and Hoang (1983; 1987); Gerla and Kleinrock (1977) ) Các phương pháplựa chọn cho việc lựa chọn thuật toán tốt để so sánh kết quả của chúng trên các vấn đểnhất định Cách tiếp cận nói trong chương này để cài đặt một vài phương pháp nổitiếng và đánh giá chúng một cách khách quan dựa trên các thí dụ được sinh ra ngẫunhiên trong vấn đề thiết kế mạng
Bởi vì sự quang tâm đặc biệt trong vấn đề thiết kế mạng tối ưu, rất nhiều cáchtiếp cận đã được phát triển: trao đổi nhánh bao gồm (Maruyama, 1978; Steiglitzet al.,1969),cắt bão hòa - cut saturation (Gerlaet al., 1974), thuật toán di truyền (Elbaum andSidi, 1995; King-Timet al.,1997; Pierre and Legault, 1996), thuật toán MENTOR(Groveret al., 1991; Kershenbaum,1993), và tôi thép Trong chương này, chúng ta sẽxem xét các kết của của một vài phương pháp ở trên và thực hiện nghiên cứu chuyênsâu một vài kỹ thuật heuristic và di truyền
Trang 232.2 Định nghĩa vấn đề
Một topo cơ bản của mạng truyên thông có thể được mô hình hóa bởi một đồthị vô hướng gồm các cạnh và các nút ký hiệu G(V,E) Vấn đề thiết kế mạng là tổ hợpmột topo mạng mà thỏa mãn tập 4 yêu cầu dưới đây:
2.2.1 Tổi thiểu chi phí
Mỗi cạnh biểu thị cho một tập các đường truyên thông mà kết nối giữa hai nút
Mỗi loại đường có 1 đơn vị chi phí u(a,b) là chi phí khoảng cách của loại đường b trên
cạnh a (với các đường liên kết các nút (i,j ) Đơn vị chi phí của một dòng là là một hàmdung lượng của dòng đó Ví dụ, một đường 6Mbps có chi phía là 2$/dặm, một đường5Mbps có chi phía là 45$/dặm Các loại đường thông tin liên lạc có sẵn trong năng lựcrời rạc, được thiết lập bởi các công ty điện thoại địa phương hoặc nhà cung cấpphương tiện truyền thông Việc tính phí tuân theo ‘economy of scale’ (giảm chi phí sảnphẩm khi sản phẩm được tiêu thụ với số lượng lớn), khi đó chi phí sẽ giảm khi dunglượng cấc đường tăng Ngoài ra, một số bảng phí có thể có một khoản phí cố định chomỗi loại đường, thêm vào một chi phí cho mỗi phí khoảng cách Trong trường hợpnày, cả hai thành phần của chi phí dòng phải được kết hợp vào một đơn vị chi phí trênmỗi kiểu đường, mỗi cạnh (vì mỗi cạnh có lẽ có chiều dài duy nhất) Chi phí cố địnhđược chia cho chiều dài của đường và bổ sung vào chi phí cho mỗi đơn vị khoảng cách
để mang lại một chi phí đơn vị cho mỗi loại đường, mỗi cạnh Nếu một đồ thị vôhướng G(V,E) có m cạnh và mỗi cạnh (i, j) có khoảng cách d(ij) và biểu diễn l kiểuđường, mỗi loại có 1 đơn vị chi phí là u(ab) thì hàm mục tiêu của vấn đề tối ưu là:
Với x(ab) số lượng kiểu đường b được lựa chọn cho cạnh a Chú ý rằng mỗicạnh a có 2 cách biểu diễn khác nhau : (i, j) và ( j, i ) vì vậy d(ij) còn được gọi là d(a)
Trang 24tổng đường giữa mọi cặp nút được đưa ra bởi ma trận luồng F và f(st) là luồng trongG(V,E) từ nguồn s cho tới kho t, thì yêu cầu luông cực đại có thể viết như sau :
Chú ý vì R và F là hai ma trận đối xứng : f(st) = f(ts), r(st) = r(ts), f(ii) = r(ii) =0; Khái niệm về đồ thị vô hướng và ma trận đối xứng ở đây được hỗ trợ bởi thực tế làluồng vận chuyển vốn hai chiều (ví dụ, một đường T-2 đồng thời mang hai tín hiệu tại
6 Mbps trong cả hai hướng)
2.2.3 Luồng nhiều hàng hóa
Sử dụng đồng thời mạng bằng nhiều cặp source-sink được mô hình hóa bằngcách chỉ định một mặt hàng duy nhất cho các dòng chảy giữa mỗi cặp nút trong G (V,E) Vì vậy ở đây có khoảng n(n!1)∋ 2 luồng phân biệt hoặc các hoàng hóa trong mạng.Hạn chế khả năng giới hạn tổng luồng trên mỗi cạnh, hoặc dưới, c(ij) là tổng khả năngcủa cạnh (i, j) Gọi giới hạn 48
10 biểu thị cho luồng hàng hóa k trên cạnh (i, j), sự ràngbuộc này được biểu diễn như sau:
Với b là số hàng hóa trên cạnh (i, j) chú ý rằng ij
2.2.4 Định tuyến hiệu quả
Bất kể hình thái của G(V,E) ra sao, thì vẫn cần một thuật toán để định tuyến cácluồng đồng thời từ source tới sink Điều này có thể mang hình thức của một con đườnggán cho một hàng hóa (đường dẫn định tuyến ảo), hoặc thiết lập các đường dẫn đượcchỉ định cho một mặt hàng duy nhất (bifurcated routing) Trong cả hai trường hợp, sựphân công của luồng trên mỗi cạnh phải được làm rõ bởi bất kỳ phương pháp tổng hợpmạng nào Hầu hết các phương pháp sử dụng một số hình thức của con đường địnhtuyến ngắn nhất (Dijkstra, 1959), với sự khác biệt duy nhất là làm thế nào "chiều dài"của một cạnh được xác định Trong một số mô hình, chiều dài có thể biểu thị khoảngcách vật lý Ở những mô hình khác, nó có thể chỉ ra sự chậm trễ (tính bằng giây) hoặcđơn vị chi phí Khi chiều dài của mỗi cạnh là một, sau đó con đường với số lượng tối