Quy tắc bày tay phải đã đƣợc biết đến từ lâu, nhƣ trong hình 1.13. Theo đó, y chuyển gói tin đến x và từ x lại chuyển gói tin đến z theo chiều ngƣợc chiều kim đồng hồ.
Hình 1.13. Quy tắc bàn tay phải, x nhận gói tin từ y, và chuyển tiếp nó đến láng giềng đầu tiên ngược chiều kim đồng hồ.
GPSR [5] là giao thức định tuyến kết hợp chuyển tiếp tham lam trên đồ thị mạng đầy đủ với chuyển tiếp perimeter trên đồ thị mạng phẳng ở nơi mà chuyển tiếp tham lam không thể thực hiện đƣợc. Tất cả các nút duy trì một bảng láng giềng lƣu trữ địa chỉ và vị trí của các láng giềng vô tuyến một chặng. Bảng này cung cấp tất cả các trạng thái đƣợc yêu cầu cho các quyết định chuyển tiếp GPSR.
Các trƣờng tiêu đề của gói tin sử dụng chuyển tiếp perimeter đƣợc chỉ ra trong bảng 1.
Trƣờng Chức năng
D Vị trí của đích
Lp Vị trí gói tin đi vào chế độ Perimeter Lf Điểm mà gói tin xV đi vào mặt hiện thời e0 Cạnh đầu tiên đi qua trên mặt hiện thời M Chế độ gói tin: Tham lam hay Perimeter
Bảng 1: Các trường tiêu đề gói tin được sử dụng trong chuyển tiếp perimeter
Các tiêu đề của gói tin GPSR[5] chứa một trƣờng cờ cho biết gói tin đang ở chế độ tham lam hay chế độ perimeter. Tất cả các gói tin đƣợc đánh
dấu ở nút nguồn ở chế độ tham lam. Nút nguồn gửi gói tin chứa thông tin vị trí của đích trong các gói tin. Chỉ có nút nguồn của gói tin mới thiết đặt trƣờng vị trí đích, và nó không thay đổi trong suốt quá trình gói tin gửi từ nguồn đến đích.
Khi nhận đƣợc một gói tin đang ở chế độ tham lam, một nút tìm kiếm bảng láng giềng của nó để tìm đƣợc láng giềng gần đích nhất. Nếu láng giềng này gần đích hơn, nút chuyển tiếp gói tin đến láng giềng đó. Khi không có láng giềng nào gần đích hơn, nút đƣợc đánh dấu vào chế độ perimeter.
GPSR chuyển tiếp gói tin ở chế độ tham lam sử dụng phƣơng pháp đi qua đồ thị phẳng. Khi một gói tin đi vào chế độ tham lam ở nút x, đích đến là D, GPSR chuyển tiếp gói tin đến các mặt của đồ thị phẳng gần đích hơn bằng cách quay xD ngƣợc chiều kim đồng hồ tại x, thì sẽ gặp y,..
Hình 1.14. Ví dụ định tuyến trên mặt
Trong ví dụ nhƣ hình 1.14, D là đích; x là nút mà ở đó gói tin đi vào chế độ perimeter; chuyển tiếp nhiều chặng là các đƣờng mũi tên.
Khi một gói tin đi vào chế độ perimeter, GPSR ghi lại trong gói tin vị trí Lp, nơi mà chuyển tiếp tham lam thất bại. Vị trí này đƣợc sử dụng ở nhiều chặng để xác định gói tin có thể quay về chế độ chuyển tiếp tham lam hay không. Mỗi khi GPSR chuyển tiếp một gói tin trên một mặt mới, nó ghi lại trong Lf điểm trên xD đƣợc chia sẻ giữa mặt cũ và mặt mới. Chú ý rằng GPSR không cần đƣợc định vị trong một nút, xD thƣờng giao với các cạnh.
Cuối cùng GPSR ghi lại e0 cạnh đầu tiên mà một gói tin đi qua trên một mặt mới.
Khi nhận đƣợc một gói tin ở chế độ chuyển tiếp perimeter, đầu tiên GPSR so sánh vị trí Lp trong một gói tin ở chế độ perimeter với vị trí của nút chuyển tiếp. GPSR trả gói tin về chế độ tham lam nếu khoảng cách từ nút chuyển tiếp đến D nhỏ hơn từ Lp đến D. Chuyển tiếp perimeter chỉ dành cho việc khôi phục từ cực tiểu địa phƣơng; khi gói tin đến đƣợc vị trí gần đích hơn vị trí mà tại đó chuyển tiếp tham lam bị lỗi.
Khi một gói tin ở chế độ perimeter ở x, GPSR chuyển tiếp nó dọc theo mặt giao bởi đƣờng thẳng xD. Nút x chuyển tiếp gói tin đến cạnh đầu tiên theo chiều ngƣợc chiều kim đồng hồ tại x từ đƣờng xD. Điều này xác định mặt đầu tiên mà chuyển tiếp gói tin đến đó. Sau đó, GPSR chuyển tiếp gói tin xung quanh mặt sử dụng quy tắc bàn tay phải. Có hai trƣờng hợp để xem xét, x và D đƣợc kết nối bởi đồ thị hay không.
Khi x và D đƣợc kết nối bởi đồ thị, đi qua biên của mặt theo hƣớng dẫn đến điểm y mà ở đó xD giao với cạnh của mặt. Đây là trƣờng hợp mà việc đi qua mặt là ở bên trong hoặc ở bên ngoài. Ở y, GPSR đã giảm khá rõ khoảng cách giữa gói tin và đích của nó, so với điểm bắt đầu của gói tin trong chế độ perimeter ở x.
Trong khi chuyển tiếp gói tin quanh mặt phẳng, GPSR xác định cạnh để chọn chặng kế tiếp giao với xD hay không. GPSR có thông tin đƣợc yêu cầu để đƣa ra việc xác định này, nhƣ Lp và D đƣợc ghi trong gói tin, và một nút GPSR lƣu trữ vị trí của chính nó và các láng giềng của nó. Nếu một nút giáp với cạnh mà tại đó điểm giao này y, GPSR thiết lập Lf của gói tin cho y. Ở điểm này, gói tin đƣợc chuyển tiếp trên biên của mặt phẳng kế tiếp, điểm y đƣợc giao cắt bởi xD. Nút chuyển tiếp gói tin dọc theo cạnh đầu tiên của mặt kế tiếp này – theo quy tắc bàn tay phải, cạnh kế tiếp đƣợc xác định theo chiều ngƣợc chiều kim đồng hồ. Cạnh đầu tiên trên mặt phẳng mới đƣợc ghi nhận trong trƣờng e0 của gói tin.
Tiến trình này lặp lại trên các mặt phẳng gần D hơn. Ở mỗi mặt phẳng, gói tin đƣợc tiến tới bằng quy tắc bàn tay phải đến khi đến đƣợc cạnh giao với xD tại y, gần hơn với trƣờng Lf của gói tin đến D. Cuối cùng, đến đƣợc mặt phẳng chứa D, và quy tắc bàn tay phải dẫn đến D dọc theo mặt phẳng đó.
Khi không đến đƣợc D (có thể do ngắt kết nối trên đồ thị), có hai trƣờng hợp: Nút bị ngắt kết nối nằm ở bên trong mặt trong hoặc nằm ngoài mặt ngoài. GPSR sẽ chuyển tiếp một gói tin chế độ perimeter đến khi gói tin đến đƣợc mặt phẳng tƣơng ứng. Khi đến đƣợc mặt phẳng trong hoặc ngoài, gói tin sẽ đi vòng xung quang toàn bộ mặt phẳng, không tìm thấy cạnh giao cắt với xD tại điểm gần D hơn Lf. Khi gói tin đi qua cạnh đầu tiên, nó lấy trên mặt phẳng này lần 2. GPSR thông báo sự lặp lại của chuyển tiếp trên cạnh e0 đƣợc lƣu trữ trong gói tin, và loại bỏ gói tin.
Chú ý rằng, GPSR sẽ chuyển tiếp gói tin theo kiểu chuyển tiếp tham lam cho nhiều chặng tiềm năng, trƣớc khi gói tin lặp lại trên một mặt trong hoặc một mặt ngoài và đƣợc nhận ra là không thể thực hiện đƣợc nữa và chuyển sang chuyển tiếp perimeter trên đồ thị phẳng.
2.2. Đồ thị Gabriel 2.2.1.Định nghĩa 2.2.1.Định nghĩa
Đồ thị Gabriel (GG: Gabriel Graph) đƣợc xây dựng bằng cách kết nối hai đỉnh u và w bất kỳ trong tập đỉnh V của đồ thị G khi và chỉ khi đƣờng tròn đƣờng kính uw không bất kỳ đỉnh nào khác thuộc V.
Ví dụ, ở hình 2.1, ta có ba điểm i, j, k. Để xét mối liên kết i, j có tồn tại hay không, ta vẽ đƣờng tròn đƣờng kính ij. Do k nằm ngoài đƣờng tròn nên ta kết nạp mối liên kết ij vào đồ thị phẳng. Tuy nhiên, về mặt tính toán và thực tế, ngƣời ta lại làm nhƣ sau:
- Gọi dij là khoảng cách giữa i và j tức là độ dài ij, - Gọi djk là khoảng cách giữa j và k tức là độ dài jk,
- Gọi dik là khoảng cách giữa i và k tức là độ dài ik với i và j là hai điểm đang xét liên kết, k là một điểm bất kỳ thuộc tập hợp V của không gian Euclid. Ta công nhận liên kết ij (biểu thị trên hình vẽ là đoạn thẳng ij) nếu nhƣ thỏa mãn điều sau đây:
dij2 < djk2 + dik2 (a.1)
Điều này dễ hiểu vì nếu nhƣ điều ngƣợc lại đúng, tức là k đã nằm trong vòng tròn có đƣờng kính là ij.
2.2.2.Các xây dựng
Từ các điểm của tập V (tập hợp các điểm để xây dựng nên đồ thị Gabriel), ta đi lần lƣợt xét từng điểm trong tập hợp đó. Giả sử ta đang ở điểm p, ta vẽ các đƣờng tròn, đƣờng kính là p và một điểm khác point thuộc V. Đƣơng nhiên, các điểm xét với point trong V là một điểm mà nó liên kết trong đồ thị truyền thông. Nếu nhƣ đƣờng tròn, đƣờng kính là p và một điểm đã chọn không chứa điểm nào khác thì ta nối hai điểm liên thông nhau và ta tạo mối liên kết giữa chúng.
Nhƣ trên đã nói, đó là về mặt lý thuyết. Về mặt thực tế, không ai có thể quan sát đƣợc cả nghìn điểm nhƣ thế. Ta làm theo mục 2.1.1 nhƣ đã trình bày ở trên về mặt định nghĩa phần thực tế.
- Giả sử có một điểm p và một tập điểm p_c[n] (với n là số điểm mà p liên kết trong đồ thị truyền thông, tức là các p_c[i] là các láng giềng của p).
- Ta sẽ kiểm tra lần lƣợt từ điểm p_c[0] cho đến p_c[n] xem có những điểm nào tồn tại liên kết với p (theo Gabriel).
- p và một điểm trong p_c[n] gọi là p_c[x] sẽ tồn tại liên kết nếu nhƣ bình phƣơng khoảng cách giữa p và p_c[x] nhỏ hơn tổng bình phƣơng khoảng cách từ một điểm trong p_c[n] (khác p_c[x]) đến hai điểm p và p_c[x].
Hình 2.2.Cách xây dựng đồ thị Gabriel
Ví dụ, giả sử ta có các điểm A, B, C, D nhƣ trong Hình 2.2. Xuất phát từ điểm A, ta vẽ các đƣờng tròn, đƣờng kính AB, AC, AD. Nhận thấy C nằm trong đƣờng tròn đƣờng kính AD nên A và D không liên thông nhau. Còn A và C, A và B liên thông nhau.Ta tạo các mối liên kết AB, AC. Cụ thể, ta xét điểm A vàcác điểm khác có liên thông hay không nhƣ sau:
- Xét điểm A và các hàng xóm của nó trong đồ thị truyền thông là B, C, D - Xét điểm A với C tức là xét liên kết AC
Nhận thấy: AC2 < AD2+ CD2, AC2 < AB2 + BC2 nên ta công nhận liên kết AC
- Xét điểm A với D tức là xét liên kết AD
Cứ xét nhƣ vậy lần lƣợt đến hết các điểm trong tập V của không gian Euclid ta sẽ thu đƣợc đồ thị Gabriel.
Hình 2.3. Đồ thi Gabriel[23]
Ngoài biểu thức (a.1), để xây dựng các liên kết (cạnh) trong đồ thi phẳng Gabriel, ta có tạo liên kết giữa 2 đỉnh vẫn thỏa mãn Gabriel bằng cách: lấy trung điểm của cạnh uw, giả sử là điểm I. Nếu từ điểm I đến các láng giềng của u mà đều lớn hơn bán kính R của đƣờng tròn đƣờng kính uw, tâm I thì tạo liên kết uw. Còn nếu tồn tại một láng giềng của u mà từ I đến đến đỏ nhỏ hơn R thì ta không tạo liên kết này.
2.3.Đồ thi RNG (Relative Neighborhood Graph) 2.3.1.Định nghĩa
Ralative Neighboorhood Graph (RNG) [24] đƣợc xây dựng bằng cách kết nối hai điểm u, w bất kỳ trong tập đỉnh V (w là láng giềng của u ) khi và chỉ khi khoảng cách giữa hai điểm đang xét u , w luôn nhỏ hơn khoảng cách lớn nhất từ điểm thứ ba t bất kỳ thuộc V (t khác u,v) tới hai điểm đó.
Hình 2.4. Một trường hợp đơn giản về đồ thị RNG với 2 điểm i, j [24]
Một ví dụ về RNG đƣợc cho trong Hình 2.4. Ta xét các điểm i, j, k (liên kết ij chính là liên kết ta đang xem xét xem nó có tồn tại hay không theo nhƣ định nghĩa RNG) và các đoạn thẳng dịj, dik, djk tƣơng ứng với khoảng cách giữa các điểm đó. Ta sẽ xét xem mối liên kết ij có tồn tại hay không bằng cách so sánh dij với Max (dik, djk). Nếu dij mà lớn hơn thì ta không công nhận mối liên kết ij. Còn nếu dij mà nhỏ hơn thì ta tạo mối liên kết ij.
2.3.2.Cách xây dựng
Từ tập hợp các điểm V (tập hợp các điểm muốn xây dựng nên RNG) trong không gian Euclid. Ta đi lần lƣợt từng điểm một. Giả sử ta đang ở điểm A. Ta muốn kiểm tra xem một điểm B có liên thông với A hay không bằng cách kiểm tra với mọi điểm C tùy thuộc V. Nếu nhƣ max(CA, CB) > AB thì ta công nhận A, B liên thông và tạo liên kết AB. Ngƣợc lại thì A, B không liên thông nhau và không tạo liên kết AB.
Xét ví dụ ở Hình 2.5. Ta xét xem A và B có liên thông hay không, ta kiểm tra với mọi điểm C (C khác A và B). Nhận thấy BC > AC nên ta mang BC đi so sánh với AB. Do AB > BC nên ta không công nhận liên kết AB. Mặt khác, ta kiểm tra liên kết AC (hoặc BC). Nhận thấy AB > AC nên ta công nhận A, C liên thông nhau và tạo mối liên kết AC. Cứ xét lần lƣợt nhƣ vậy cho đến khi hết tất cả các điểm của tập hợp V trong không gian Euclid ta đƣợc đồ thị RNG nhƣ Hình 2.6 phía dƣới đây.
Hình 2.6 Đồ thị RNG hoàn chỉnh [24].
Từ cách xây dựng trên đây, ta có thể suy ra điều ngƣợc lại nếu uw max(tv, tw) thì loại bỏ liên kết (cạnh uw).
2.4.Đồ thị Hypocomb (Hypocomb Graph)
Hypocomb [4] là một đồ thị phẳng mới đƣợc đề xuất vào năm 2011. Để xây dựng đồ thị Hypocomb, ta cần phải xây dựng một đồ thị trung gian có tên Besh. Và chỉ có đồ thị
2.4.1 Một số ký hiệu trong đồ thị
- V: tập hợp các điểm trong không gian Euclid (những điểm này để xây dựng nên đồ thị
Hypocomb)
- a, b, c, ….: Là các điểm trong không gian V
- T = {north, west, south, east}: là bốn hƣớng của một điểm bất kỳ trong không gian V
- dir: là một phần tử bất kỳ trong bốn hƣớng của T - -dir: là phần tử ngƣợc với dir
- ^dir: là phần tử vuông góc với dir
(giả sử dir = north, thì –dir = south và ^dir = west, east)
2.4.2 Đồ thị Besh
Trƣớc khi xây đồ thị Besh, ta cần tìm hiểu về luật chặn. Do đồ thi Besh đƣợc xây dựng từ các điểm của tập V và các điểm Besh.
2.4.2.1 Luật chặn
Với a, b V, a b. dir, dir’ T, dir dir’. Nếu nhƣ Radir gặp Rbdir’ tại u. u đƣợc gọi là điểm Besh.
Radir sẽ bị chặn trong các trƣờng hợp sau: - QHC 1: |au| > |bu|
- QHC 2: |au| = |bu| Nếu dir’= ^dir và dir = north hoặc south - QHC 3: |au| = |bu| Nếu dir’ = -dir
(Hai trƣờng hợp đầu gọi là quan hệ chặn trực giao, còn trƣờng hợp thứ ba gọi là quan hệ
Hình 2.7 Quan hệ chặn
Ví dụ ở Hình 2.7 cho ta thấy: - a bị chặn bởi b (QHC 1)
- a bị chặn bởi c (QHC 3) (mặt khác c cũng bị chặn bởi a theo quan hệ chặn này).
2.4.2.2 Định nghĩa đồ thị Besh
Đồ thị Besh bao gồm tập hợp các cạnh và đỉnh, trong đó: - Đỉnh: Là các điểm của V và các điểm Besh
- Cạnh: là cạnh nối giữa các đỉnh trên
2.4.2.3 Xây dựng đồ thị Besh
- Xây dựng các quan hệ chặn giữa các điểm trong V.
- Từ định nghĩa đồ thị, ta xây dựng nên Besh bằng cách kết nối các điểm Besh và điểm
Hình 2.8 Đồ thị Besh
Ở ví dụ đƣợc cho trong Hình 2.8, ta thấy giữa a và h tồn tại quan hệ chặn, do đó ta tạo
cạnh ah. Các cạnh ab, bh, … cũng tƣơng tự nhƣ vậy. Sau khi hoàn thành ta đƣợc đồ thị
Hypocomb.
2.4.3.Đồ thị Reduced Hypocomb
Trong phần trƣớc, ta đã nói đến đồ thị Hypocomb. Trong phần này, ta giản ƣớc đồ thị Hypocomb, giảm số lƣợng các cạnh bằng cách áp dụng quy tắc tạo ra cạnh hạn chế (đƣợc trình bày trong định nghĩa ngay sau đây), ta gọi nó là đồ thị Hypocomb rút gọn (RHC: Reduced Hypocomb) hay RHC(V).
Định nghĩa (Quy tắc tạo cạnh RHC): Với mọi đỉnh a, b thuộc tập đỉnh V và a b, tạo cạnh ab nếu a và b có mối quan hệ bị chặn lẫn nhau.
2.4.4. Local Hypocomb
Đồ thị Local Hypocomb (LHC) là đồ thị RHC đƣợc xây dựng từ UDG (Unit Disk Graph). Bình thƣờng để xây dựng đồ thị Reduced Hypocomb ta