M ở đầu
3.1.2. Vấn đề RA trong những mạng một chiều (One-Dimensional Networks)
Trong phần này chúng ta sẽ giới thiệu một số thuật toán cho việc tìm kiếm những giải pháp cho vấn đề RA.Trước khi trình bày thuật toán chúng ta cần định nghĩa một cách sơ bộ
Cho N là một tập hợp những điểm (Node) nằm trên một đường thẳng.Không mất tính tổng quát, chúng ta giả sử rằng các node được sắp xếp tăng dần tùy thuộc theo tọa độ
trong không gian, chẳng hạn như u1 là node bên trái nhất và un là node bên phải nhất. Cho một bộ những node và một RA, chúng ta gọi những cạnh (ui, uj) trong đồ thị truyền thông thu được là một backward nếu mà i > j, có nghĩa là cạnh đi từ phải sang trái. Với bất kỳ i, j nào (1≤ i < j ≤ n) chúng ta định nghĩa tập hợp Ei,j gồm tất cả các cạnh backward có
điểm đầu cuối thuộc {ui , uj}, Ei,j = {(us, ur) : i≤ r < s ≤ j} Một số cạnh backward được giới thiệu trong hình bên dưới. (Những cạnh bôi đen là những cạnh backward)
Hình 4: Các cạnh backward
Thuật toán cho việc tìm kiếm một giải pháp tối ưu dựa trên nền tảng là những phép đệ
quy. Cho một RA tối ưu kết nối cho các node (u1, uk) với 1≤ k <n , sau đó chúng ta sẽ
xây dựng được một RA tối ưu kết nối cho (u1, uk+1). Tư tưởng chính của thuật toán này là khi chúng ta đã có một RA tối ưu với k node là RAk thì RA tiếp theo có thể được xác
định. Giả sử chi phí của RAk là 0 (giả thiết, nghĩa là c(RAk) cũng bằng 0) và khi có thêm một node gia nhập thêm vào thì chi phí của RAk+1 sẽ được tăng lên một giá trị đã được xác định điều này được thể hiện trong định nghĩa sau:
Định nghĩa 3.2.1 (RA increamental cost)
Cho N = {u1, . . . , un} là một tập hợp các node và E là bộ những cạnh giữa những node trong N. RA được sinh ra bởi E được gọi là RAE , RAE là “minimal assignment” khi RAE(ui)≥δ(ui,uj)với bất kỳ một cạnh có hướng (ui, uj)∈ E.Chi phí tăng thêm của range assignment liên quan tới E được gọi là cE(RA), được xác định như sau: cE(RA) =
∑: ( )≠ ( )( ( ))
i i E u RAu RA
i RA ui α . Chúng ta gọi những cạnh trong E là ‘free of cost ’ đối với range assignment RA.
22
Những giả thiết dựa trên nền tảng của thuật toán quay lui, với bất kỳ j ≤ k và bất kỳ l ≥ k, tồn tại một Range assigment RA với một chi phí nhỏ nhất trong số các đồ thị truyền thông sẽ có các thuộc tính sau đây:
- Giữa một cặp node bất kỳđều có đường tồn tại - Có một cạnh nối trực tiếp giữa ui và ul,l<=i <=k
- Với bất kỳ một cạnh (backward) trong E thì đều free of cost với RA
Cho (N’, E) là một đồ thị kết nối tất cả các node N’ và có các cạnh là E, và N’ ⊂ N, và khi đồ thị này nhận thêm một node v trong N chúng ta gọi là reciever node. Một Range assigment được gọi là total cho ((N’ , E), v) khi và chỉ khi:
- Đồ thị được tạo ra bởi N’ node thu được bằng cách thêm vào các cạnh của E tạo nên một kết nối mạnh nghĩa là (RA(ui) ≥δ(ui, uj ))
- Đều tồn tại cạnh giữa (u,v ) với ui∈ N và kết nối giữa v và ui là mạnh nghĩa là (RA(ui) ≥δ(ui, v ))
Chi phí của cho tổng Range assigment của ((N’ , E), v) là chi phí được tăng thêm liên quan đến RAE, hay như định nghĩa về RA increamental cost là cE(RA). Như vậy tổng cộng range assigment cho ((N’ , E), v) với một chi phí nhỏ nhất được gọi là tối ưu . Trong phần sau đây chúng ta gọi Feas((N’ , E), v) là tập hợp những range assigment Feas((N’ , E), v) và Opt ((N’ , E), v) là tập hợp những optimal range assigment. Cuối cùng, cho u ∈ N và một đại lượng xác thực là r, chúng ta coi rằng Opt((N’, E), v, (u, r))) là tập hợp những range assigment với chi phí nhỏ nhất và RA(u) = r.
Thuật toán Optimal1dRA để tìm ra giải pháp tối ưu cho vấn đề RA được trình bày sau đây:
1. Khởi tạo
1.1 Cho RAi có Range assigment là RAi (u1) = δ(u1, ui), và RAi(u1) = 0 nếu i =0
1.2 Nếu không for i = 2 … n khởi tạo Opt(({u1}, ∅), ui) = RAi 2. Bước k
2.1 Giả sử chúng ta biết Opt(({u1, . . . , uk}, Ei,k), ul) ,với bất kỳ 1≤ i <≤ k và k ≤ l ≤ n.
2.2 Với j, m bất kỳ , 1 ≤ j ≤ k + 1 ≤ m ≤ n
23
2.4 for với mỗi giá trị của r, tìm một range assignment RA trong Opt(({u1, . . . , uk}, Ej,k+1), uk+1, (uk+1, r))
2.5. Nếu RA có chi phí nhỏ hơn so với RAhiện thời cho j , m thì lưu RA
2.6. Kết thúc bước k, chúng ta biết một range assignment Opt(({u1, . . . , uk+1}, Ei,k+1), ul), với bất kỳ 1 ≤ i ≤ k + 1 ≤ l ≤ n 3. ở bước n
Một Range assignment tối ưu chính là một trong Opt(({u1, . . . , un}, ∅), un)
Tư tưởng chính của thuật toán này là: đầu tiên khởi tạo một RAi(u1) nếu i là 1 thì RA1(u1) = 0
Nếu i khác 1 thì tìm các RA tối ưu của u1 với bất kỳ 1 node khác.
Trong bước đệ quy giả sử chúng ta đã biết Opt(({u1, . . . , uk}, Ei,k), ul) với bất kỳ
1≤ i ≤ k và k≤ l ≤ n. với mỗi node thêm vào chúng ta tìm được một RA tối ưu khi thêm vào mỗi node đó
Tại bước cuối cùng khi thêm một node cuối cùng chúng ta sẽ tìm được một RA tối
ưu nhất cho toàn bộ node N.
Các nhà nghiên cứu đã chứng minh được độ phức tạp của thuật toán này là O(n4). So sánh thuật toán Optimal1dRA khi tìm kiếm một RA tối ưu với giả thiết là các Transmitting Range là bằng nhau thì thuật toán sẽđơn giản hơn rất nhiều .