Thuật toán Heuristic

Một phần của tài liệu TIỂU LUẬN MÔN HỌC: CÁC KỸ THUẬT TỐI ƯU Thiết kế mạng hiệu quả sử dụng giải thuật di truyền và Heuristic (Trang 29 - 33)

Mặc dù rất nhiều thuật toán có thể được coi là Heuristic ( Khi mà không thể đảm bảo cho câu trả lời tối ưu). Thuật toán di truyền chia sẻ một chiến lược chung cụa việc bắt chiếc hệ tiến hóa bằng cách sử dụng nguyên lý ‘survival of the fittest’ để định hướng quá trình tim kiếm. Như vậy thuật tóa di truyền đưa ra một các tiếp cận khác biết, rõ ràng và đơn nhất đối với một vấn đề và được nói đến ở phần tiếp theo. Cho đến có có khá nhiều thuật toán heurisic được phát triển và đã giải quyết được một số vấn đề chung trong việc thiết kế mạng. Chúng vào gồm : trao đổi nhánh (Maruyama, 1978; Steiglitzet al., 1969), cut saturation (Gerlaet al., 1974), thuật toán MENTOR (Groveret al., 1991; Kershenbaum, 1993), và một phương pháp mới được giới thiệu trong phần này, gọi là Union of Rings (Blessing, 1998). Các nghiên cứu theo lối kinh nghiệm cho rằng cut saturation đưa ra các thiết kế tốt hơn branch exchange(Boorstyn and Frank, 1977; Gerlaet al., 1974). Trong một vài nghiên cứu khác thì các kết quả của cut saturation đã được báo cáo (King-Timet al., 1997; Pierre and Legault, 1996), Union of Rings(UR) thì đưa ra chi phí thiết kế thấp trong bài toán yêu cầu tối thiểu độ trễ. Bới vì UR đưa ra kết quả hứa hẹn nhất ( dù trên một số lượng test nhỏ ), và nó sẽ được sử dụng như một phương pháp tiêu biểu để so sánh với thuật toán di truyền ở phần tiếp theo. Thuật toán cut saturation và Union of Rings giống nhau là đều dựa trên việc phân tích luồng cực đại và nhát cắt cực tiểu trong một mạng. Một nhát cắt là một tập các cạnh mà khi bỏ nó ra khỏi đồ thị thì nó sẽ chia đồ thị thành 2 hay nhiều phần. Trong một mạng vấn đề về luồng, gán nhãn trên các cạnh của đồ thị biểu thị khả năng của

cạnh. Vì vậy khả năng của nhát cắt là tổng các nhãn trên mỗi cạch trong tập cạnh của vết cắt. Một vế cắt mà khả năng của nó được lấp đầy gọi là nhát cắt bão hòa. Thuật toán cut saturation bắt đầu bằng việc định hướng luống cho đến khi một vế cắt trở lên bão hòa trong đồ thị đưa ra. Để tiếp tục gửi luồng qua mạng, một cạnh phải được thêm vào vết cắt bão hòa. Một cạnh được thêm vào đồ thị sẽ nối vết cắt bão hòa, vì vậy nâng cao khả năng của chúng, và cho phép nhiều luồng qua mạng. Tương tụ các cạnh trong vết cắt bão hòa sẽ được loại bỏ và từ đó giảm thiểu chi phí. Việc thêm cạnh hay loại cạnh đều gây ảnh hưởng là phải định tuyến lại luồng, vì vậy sinh ra vết cắt bão hòa mới trong đồ thị. Chỉ cần chi phí của mạng được cại thiện thì các cạnh sẽ được thêm hoặc loại bỏ. thuật toán kết thúc khi mà đạt được điểm tối ưu địa phương hoặc ko sự thêm hoặc bớt nào tạo ra sự cải thiện chi phí.

Gọi G là đồ thị vô hướng với n node. Trong bài báo chuyên đề của mình về luồng mạng, Ford và Fulkerson (1962) cho thấy tối luồng cực đại giữa bất kỳ source nào và sink nào trong G tương đương giá trị mức tối thiểu của nhát cắt phân chia giữa source và sink – đây là định lý luồng tối đa, nhát cắt tối thiểu. Khi xem xét tất cả các luồng có thể (ví dụ : hàng hoá) trong một mạng, Gomory và Hu (1961) cho thấy rằng chỉ có tối thiểu n-1 nhát cắt trong G tách tất cả các cặp source-sink có thể. Hơn nữa, n- 1 nhát cắt cơ bản này trong G tạo thành một cây, gọi là cây cắt Gomory-Hu, T. Vì T duy trì luồng cực đại giữa tất cả các cặp nút trong G, T được gọi là luông tương đương( flow-equivalent ) với G. Như vậy, mỗi cạnh trong T đại diện cho cả một cắt tối thiểu và một luồng tối đa trong G. Tầm quan trọng của Gomory và kết quả luồng cực đại và thiết bị đa đầu cuối là chỉ có n-1 vấn đề luồng cực đại cần được thực hiện để tim luồng cực đại giữa n (n-1) / 2 các cặp nút trong G.

Hai vấn đề tồn tại với việc sử dụng cây cắt Gomory-Hu như là một thuật toán thiết kế mạng cho các vấn đề định nghĩa tại mục 2.2. Đầu tiên, một cây không thể tồn tại một cạnh duy nhất hay nút thất bại, và thứ hai, nhiều thiết bị đầu cuối, luồng cực đại chi cho phép duy nhât một hàng hóa tại một thời điểm sử dụng mạng.

Ngoài ra, nó có thể ngạc nhiên khi biết rằng cây cắt Gomory-Hu không phải là đồ thị luồng tương đương trọng số tối thiểu (minimum weight flow-equivalent graph)cái mà kết nối tất cả các nút của G (trọng số của một đồ thị chỉ đơn giản là tổng của năng lực các cạnh của nó). Cũng không phải là cây tối thiểu kéo dài của Prim

phí để gửi một đơn vị của dòng chảy qua cạnh bất kỳ là một (một điều kiện chi phí đơn vị), thì đồ thị trọng số tối thiểu cũng là một đồ thị chi phí tối thiểu, và là tối ưu theo đơn vị điều kiện chi phí. Một tài sản hấp dẫn của thị luồng tương đương trọng số tối thiểu (MWFEG) đó là, ít nhất, hai kết nối (như vậy, giải quyết vấn đề 1 ở trên). Nếu MWFEG có thể được sửa đổi để cho phép sử dụng đồng thời đồ thị của nhiều loại hàng hóa, và chứa một hàm chi phí mạnh mẽ hơn, nó có thể tạo ra kết quả gần như tối ưu. Đây là ý tưởng chính đằng sau sự Liên hiệp các Nhẫn (Union of Rings)thuật toán.

Frank và Frisch (1971) mô tả một quá trình tổng hợp mà MWFEG của G có thể được xây dựng. Tuy nhiên, nó liên quan đến các nhiệm vụ phức tạp và mất thời gian tính toán các ma trận bán chủ yếu phân vùng, chủ yếu phần vùng của ma trận kề của G. Như hình dưới đây, các bước không cần thiết để tính toán MWFEG của G. Thuật toán Union of Rings, sử dụng MWFEG, được trình bày như sau:

1. Phác họa các yêu cầu ma trân, R, như là một đồ thị hoàn chỉnh, gán nhãn các cạn (i,j) với yêu cầu luồng tối thiểu rij

2. Tính toán T, và spanning tree cực đại của R

3. Chuyển đổi T vào đồ thị luồng tương đương tuyến tính, L, bằng cách sử dụng thuật toán 1 bên dưới

4. Nhân tố Linto một tập hợp các vòng khả năng thống nhất, như mô tả của Frank và Frisch (1971)

5. Thêm vào tập các vòng ở 3 để tạo thành 1 topo mạng, N.

6. Loại bỏ các cạnh cắt ngắn trong N mà chi phí không hiệu quả, và tái định tuyến lưu lượng của chúng trên các cạnh khác trong N. Bước này tạo ra cấu trúc liên kết mạng cuối cùng, NΝ

Bước 1 và 2 xác định các yêu cầu nổi trội của vấn đề. Hu đã chỉ ra rằng, nếu các yêu cầu chiếm ưu thế làm thỏa mãn giữa tất cả các nút, thì tất cả các yêu cầu có thể được thỏa mãn (Hu, 1982). Rõ ràng, các cây bao trùm tối đa của một đồ thị yêu cầu đầy đủ đáp ứng mọi yêu cầu chi phối (lấy một yêu cầu tại một thời điểm). Bước 3, 4 và 5 chuyển đổi cây thành một biểu đồ lưu lượng tương đương 2 chiều. Bước 3 được giải thích bởi Ví dụ 1 dưới đây. Bước 6 là một quá trình tối ưu hóa địa phương, ở chỉ có một số các cạnh trong N được xem xét để loại bỏ. Vì mục tiêu của sự hoàn chỉnh, thuật toán 1 như sau:

1. Ban đầu, tất cả các nút được đánh dấu. Tùy ý chọn một nút bắt đầu từ TAND và đánh dấu nó. Nút này là sự bắt đầu của đồ thị tuyến tính L.

2. Chọn cạnh có năng lực lớn nhất gần với nút được đánh dấu, và một nút chưa được đánh dấu,nút trong T là cặp nút cạnh cặp tiếp theo để thêm vào cho L. Phá vỡ mối quan hệ tùy ý

3. Đánh dâu cho các nút chưa được đánh dấu mà gần với cạnh được chọn ở bước 2

4. Nếu tất các các nốt được dánh dấu thì dừng, ngược lại thì quay lại bước 2

Thuật toán Union of Rings được mô tả tốt nhất bằng một ví dụ. Vấn đề thiết kế riêng biết trong câu hỏi được đưa ra tại King-Timet al. (1997). Vấn đề là để liên kết mười thành phố của Trung Quốc thành một mạng lưới, tùy thuộc vào yêu cầu dự phòng (ít nhất có hai con đường phân chia giữa mỗi cặp nút), yêu cầu luồng tối thiểu (thể hiện dưới dạng ma trận kề trong Bảng 2.1), và một sự trễ nhánh tối đa của 0.1 giây.

• Đường 6Mbps giá 1 đơn vị trên km • Đường 45Mbps giá 4 đơn vị trên km • Đường 150Mbps giá 9 đơn vị trên km

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 Bảng 2.1: Yêu cầu luồng tối thiểu

Một phần của tài liệu TIỂU LUẬN MÔN HỌC: CÁC KỸ THUẬT TỐI ƯU Thiết kế mạng hiệu quả sử dụng giải thuật di truyền và Heuristic (Trang 29 - 33)