Giúp sinh viên nắm được vấn đề biểu diễn đồ thị, trang bị cácbiểu đồ cây và một số thuật toán thiết kế hệ thống, các phương pháp định tuyếntrong hệ thống thông tin, lý thuyết về phân bổ
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
KHOA KỸ THUẬT VÀ CÔNG NGHỆ
Trang 2Giảng viên: PHẠM HỒNG THỊNH
Đơn vị: Kỹ thuật & Công nghệ, Trường Đại học Quy Nhơn
Email: phamhongthinh@qnu.edu.vn
Quy Nhon University, Vietnam
BÀI GIẢNG TÍN HIỆU VÀ HỆ THỐNG
I Mục tiêu môn học
Học phần thuộc khối kiến thức cơ sở ngành Kỹ thuật điện tử - viễn thông
Học phần trang bị cho sinh viên các kiến thức cơ bản về đồ hình ứng dụng trong
kỹ thuật thông tin Giúp sinh viên nắm được vấn đề biểu diễn đồ thị, trang bị cácbiểu đồ cây và một số thuật toán thiết kế hệ thống, các phương pháp định tuyếntrong hệ thống thông tin, lý thuyết về phân bổ dung lượng tuyến tính Ngoài racòn giúp cho sinh viên nắm được tín hiệu và các quy tắc cơ bản về hệ thốngtuyến tính, ứng dụng phép biến đổi Z, biến đổi Fourier trong xử lý tín hiệu, cácphép toán ứng dụng trong bộ lọc tương tự, hệ thống và các tín hiệu rời rạc thờigian và cuối cùng là biết cách thiết kế hệ thống xử lý
I Nội dung môn học
Chương 1 Đồ thị và các thuật toán trong mạng viễn thông
Chương 2 Biểu đồ cây ứng dụng trong kỹ thuật thông tin
Chương 3 Một số thuật toán thiết kế mạng
Chương 4 Định tuyến
Chương 5 Các bài toán về lưu lượng mạng
Chương 6 Lý thuyết về phân bổ dung lượng tuyến tính
Chương 7 Tín hiệu và các quy tắc cơ bản về hệ thống tuyến tính
Chương 8 Đáp ứng hệ thống
Chương 9 Phép biến đổi Fourier
Chương 10 Các phép toán ứng dụng trong bộ lọc tương tự
Chương 11 Hệ thống và các tín hiệu rời rạc thời gian
Chương 12 Thiết kế các bộ lọc tín hiệu
Nội dung chương 1
1.1 Giới thiệu1.2 Đồ thị vô hướng1.3 Đồ thị có hướng1.4 Biểu diễn đồ thị trên máy tính1.5 Thuật toán về đồ thịBài tập
Chương 1 Đồ thị và các thuật toán trong mạng viễn thông
1.1 Giới thiệu
Ví dụ:
- Hình a cho ta một Graph (Đồ thị) có 4 đỉnh A, B, C, D và 5 cạnh AD, AB, AC,
BC, CC Các hình a, b, c đều cùng một graph
- Hai đầu mút của cạnh trùng nhau tại đỉnh C ta gọi là một khuyên, k/h là CC
Một đồ thị (Graph) là một tập hợp hữu hạn các điểm (gọi là đỉnh của Graph) cùng với
tập hợp các đoạn đường cong hay thẳng (cạnh của Graph) có các đầu mút tại các đỉnh của
- Một graph không có khuyên, trong đó 2 đỉnh cóthể được nối bằng nhiều cạnh gọi là mộtđagraph
- Graph đầy đủ khi mỗi cặp đỉnh đều được nối vớimột cạnh
G H
Trang 3• Mỗi cạnh e ϵ E được liên kết với một cặp đỉnh {i,
j} ϵ V2, không phân biệt thứ tự
Lưu ý rằng:
1.3 Đồ thị có hướng
Một đồ thị có hướng G=(V,E) được định nghĩa bởi:
• Tập hợp V được gọi là tập các đỉnh của đồ thị;
Trang 4Đường đi, chu trình và tính liên thông
Đường đi:
Ví dụ có các đường đi như sau:
Đường đi, chu trình và tính liên thông
Chu trình:
Ví dụ có các chu trình như sau:
Đường đi cóđỉnh đầu trùng với đỉnh cuốiđược gọi là chu trình
Đường đi hay chu trình được gọi làđơnnếu như không có cạnh(cung) nào bị lặp lại
Vd Không phải là đường điđơn: a, e1, b, e4, d, e3, c, e2, b, e1, a do có cạnhe1 lặp lại
Đường đi, chu trình và tính liên thông
Tính liên thông:
Ví dụ: Trong hình sau, G là liên thông còn H là không liên thông
Định nghĩa 1: Đồ thị vô hướng G = (V,E) được gọi là liên thông nếu luôn
tìm được đường đi giữa hai đỉnh bất kỳ của nó
Định nghĩa 2: Đồ thị có hướng G = (V, A) được gọi là liên thông mạnh
nếu luôn tìm được đường đi giữa hai đỉnh bất kỳ của nó
Định nghĩa 3: Đồ thị có hướng G = (V, A) được gọi là liên thông yếu nếu
đồ thị vô hướng tương ứng với nó là đồ thị vô hướng liên thông
Nhận xét: Liên thông mạnh cũng là liên thông yếu nhưng liên thông yếu thì không thể là
Định nghĩa 3: Đồ thị có hướng G = (V, A) được gọi là liên thông yếu nếu
đồ thị vô hướng tương ứng với nó là đồ thị vô hướng liên thông
Nhận xét: Liên thông mạnh cũng là liên thông yếu nhưng liên thông yếu thì không thể làliên thông mạnh
A
BE
G là liên thông mạnh và H là liên thông yếu
A
BE
Định lý: Đồ thị vô hướng liên thông là định hướng được khi và chỉ khi mỗi cạnh của
nó nằm trên ít nhất một chu trình
1.4 Biểu diễn đồ thị trên máy tính
1.4.1 Ma trận liên thuộc đỉnh - cung
Ví dụ: Ma trận liên thuộc đỉnh – cung của đồ thị sau:
1.4 Biểu diễn đồ thị trên máy tính
1.4.2 Ma trận liên thuộc đỉnh – cạnh
Ví dụ: Ma trận liên thuộc đỉnh – cạnh của đồ thị sau:
Trang 51.4 Biểu diễn đồ thị trên máy tính
1.4.3 Ma trận kề hay ma trận liên thuộc đỉnh – đỉnh
Ví dụ: Ma trận liên thuộc đỉnh – đỉnh của đồ thị sau:
Với:
1.4 Biểu diễn đồ thị trên máy tính 1.4.3 Ma trận kề hay ma trận liên thuộc đỉnh – đỉnhNhận xét:
• a[i, j] = a[j, i] Ma trận kề của đồ thị vô hướng là ma trận đối xứng
• Tổng các phần tử trên dòng i (cột j) của ma trận kề chính bằng bậc củađỉnh i (đỉnh j)
Đối với đồ thị có hướng thì ma trận kề cũng định nghĩa tương tự
Lưu ý: Ma trận kề của đồ thị có hướng không phải là ma trận đối xứng
1.4 Biểu diễn đồ thị trên máy tính
Danh sách cạnh (cung)
m: số cạnh
n: số đỉnh
Khi m < 6n biểu diễn đồ thị dưới dạng danh sách cạnh (đồ thị thưa)
Mỗi cạnh m tương ứng với hai biến Dau(e), Cuoi(e) Để lưu trữ đồ thị ta
DS cạnh (cung) của đồ thị cho trong hình là:
Trong hình này ds cạnh hay cung đều như nhau
NX: Đối với đồ thị vô hướng, ds cạnh có điểm đầu và cuối
không được lặp lại
1.4 Biểu diễn đồ thị trên máy tính
Ví dụ: Tìm danh sách cạnh (xét vô hướng) và cung (xét có hướng) của đồthị sau:
1.4 Biểu diễn đồ thị trên máy tính
Danh sách kề
Mỗi đỉnh v, ta lưu trữ ds các đỉnh kề với nó, k/h Ke(v), tức là:
Ke(v) = {u ϵ V; (v,u) ϵ E}
Đồ thị có hướng được biểu diễn bởi một mảng con trỏ V_out[1], V_out[2], …,
V_out[n] Trong đó mỗi con trỏ tương ứng với một đỉnh Mỗi V_out[i] chỉ đến một
nút đầu lưu trữ mục dữ liệu của nút tương ứng đỉnh vivà chứa một con trỏ chỉ đến
một ds liên kết của các đỉnh kề Mỗi nút có 2 trường:
Ví dụ danh sách kềG/s các mục dữ liệu tương ứng các đỉnh theo thứ tự A, B, C, D, E, F
DS kề V_out[]
Ví dụ : Lập ds kề V_in[]
(Dựa vào mũi tên đi ra tại đỉnh đang xét)(Dựa vào mũi tên đi vào tại đỉnh đang xét)
Trang 6Ví dụ danh sách kề
Danh sách kề V_in[]
1.5 Thuật toán về đồ thịPASCAL có thể mô tả danh sách kề như sau:
Const
m = 1000; (m: số cạnh)
n = 100; (n: số đỉnh)Var
Ke : array[1 m] of integer;
Tro : array[1 n+1] of integer;
Trong đó Tro(i) ghi nhận vị trí bắt đầu của ds kề của đỉnh i, i=1,2,…,n, Tro(n+1)=2m+1Khi có dòng lệnh quy ước
for u ϵ Ke(v) dobegin
………
end;
Có thể thay thế bởi cấu trúc lệnh cụ thể trên PASCAL như sau:
for i:= Tro(v) to Tro[V+1] – 1 dobegin
E = [(E,C), (B,F), (D,C), (D,F), (F,B), (C,F), (A,F), (E,D)
3 Hãy xây dựng ma trận kề, danh sách kề của các đồ thị trên
Trang 7Nội dung chương 2
1
2.1 Giới thiệu và những khái niệm cơ bản
2.2 Cây bao trùm tối thiểu
2.3 Các bài toán mở rộng
2.4 Mạng không mắc các lỗi riêng biệt
Bài tập
Chương 2 Biểu đồ cây ứng dụng trong kỹ thuật thông tin
2.1 Giới thiệu và những khái niệm cơ bản
2
Một ví dụ về cây
Định nhĩa 1:
• CÂY là đồ thị vô hướng liên thông và không có chu trình
• RỪNG là một đồ thị gồm p thành phần liên thông, trong đó mỗi
thành phần liên thông là một cây
Lưu ý: cây không chứa khuyên và cạnh song song
3
2.1 Giới thiệu và những khái niệm cơ bản
Định nhĩa 2: Cây có gốc (còn gọi là cây gia phả)
Ví dụ:
4
2.1 Giới thiệu và những khái niệm cơ bảnĐịnh nhĩa 3: Cây bao trùm
Ví dụ: Đồ thị trong hình (a) có cây bao trùm trong hình (b)
Cây T đgl cây bao trùm của đồ thị liên thông G nếu T là đồ thị con của G và Tchứa tất cả các đỉnh của G
2.2 Cây bao trùm tối thiểu
Trang 82.2.1 Thuật toán Kruskal
Hình (b) là cây bao trùm nhỏ nhất có trọng lượng 12
2.2.2 Thuật toán Prim
9
2.2.2 Thuật toán Prim
10
Ví dụ: Tìm cây bao trùm tối thiểu
2.2.2 Thuật toán Prim
11
Hình (b) là cây bao trùm nhỏ nhất có trọng lượng 12
Ví dụ: Với đỉnh xuất phát v1ta có các cạnh được lần lượt thêm vào cây T theo thứ tựlà:
2.3 Các bài toán mở rộng
12
Bài toán Steiner
Thêm những đỉnh nhân tạođược gọi làcác điểm Steinervào trong mặt phẳng đểtạo thànhcây bao trùm nhỏ nhất mới T’qua những đỉnh P cho trước Tất nhiên cây T’ có trọnglượng nhỏ hơn cây T
Trang 9Bài toán Euler và Bài toán Hamilton
2.4 Mạng không mắc các lỗi riêng biệt
14
Một tập hợp các lỗi mạng được cho là bị cô lập nếu tất cả các cặp lỗi có
thể bị cô lập Chúng ta giả định rằng có hai loại mạng bị lỗi có thể:lỗi đường
truyềnvàlỗi nút mạng
i Hailỗi đường truyền được cách ly nếu các đường dây không hoạt động
không phải là sự cố đối với mộtnút mạng chung
ii Hai lỗinút mạng được cách ly nếu các nút không hoạt động không phải
là cácnút lân cận không được kết nối bằng một đường dây
iii Lỗi đường truyền và lỗi nút mạng được cách ly nếu đường dây không
hoạt động không phải là sự cố xảy ra với cácnút lân cận không hoạt
động
Bài tập
15
Bài tập: Cho ma trận trọng số như sau:
a) Vẽ đồ thị vô hướng đối với ma trận trên
b) Tìm cây bao trùm tối thiểu sử dụng thuật toán Prim và thuật toán
Kruskal
(6, 1) ; (5,1); (4,5); (6, 2); (3,4)
Trang 10Nội dung chương 3
1
Chương 3 Một số thuật toán thiết kế mạng
3.1 Kết nối đa điểm trong mạng lưới trung tâm
3.2 Thuật toán tiếp cận nghiệm suy (Heuristic)
3.3 Sự kết nối thiết bị đầu cuối với bộ tập trung trong mạng
lưới trung tâm
Bài tập
3.1 Kết nối đa điểm trong mạng lưới trung tâm
2
3.1.1 Vấn đề ràng buộc và không ràng buộc
Giả sử có n bộ kết nối hay các máy tính (1, 2, …, n) kết nối với một CPU
trung tâm với 2 ràng buộc sau:
(i) Các liên kết có dung lượng M (ràng buộc dung lượng)
(ii) Không quá m bộ kết nối sẽ không thể giao tiếp với CPU nếu có bất
kỳ liên kết nào bị lỗi (ràng buột độ tin cậy)
Nếu tốc độ bản tin cho mỗi bộ kết nối và dung lượng trên mỗi liên kết
được biết thì vấn đề thiết kế mạng có hàm cost nhỏ nhất phải thỏa mãn 2
điều kiện trên Đây đgl cây bao trùm tối thiểu có ràng buộc
3.1 Kết nối đa điểm trong mạng lưới trung tâm
3
Ví dụ:
Cây bao trùm tối thiểu không ràng buộc (như hình)
(6,1), (5,1) , (4,5), (2,6) và (3,4) Tổng cost = 58
ĐK 1: Giả sử dung lượng mỗi liên kết C=500 Kbps
ĐK 2: Không quá 2 bộ kết nối sẽ không thể giao tiếp với
CPU (nút 1) nếu có bất kỳ liên kết nào bị lỗi
Giả sử cho tốc độ bản tin từ nút 2-6 lần lượt là:
Vậy ta gọi giải pháp cho vấn đề ràng buộc làCÂY KHẢ THI TỐI ƯU
thỏa mãn hàm cost nhỏ nhất và ràng buộc độ tin cậy
3.1 Kết nối đa điểm trong mạng lưới trung tâm
Tìm các kết nối nào có cost thấp hơn của bất kỳ giải pháp nào trong S11và S12
S11: Tìm cây bao trùm tối thiểu chứa (6,1), (5,1) và (4,5) Ta có thể sử dụng thuậttoán Prim với các cost của các kết nối này đặt bằng 0
Nhìn chung để tăng tốc độ thuật toán ta phải xác định kết nối nào được chọn thì cóthể loại trừ những kết nối khác
Vậy nếu chọn (6,1), (5,1) và (4,5) thì ta loại trừ (2,4) và (3,4) vì nếu chọn hai kếtnối này thì sẽ vi phạm cả hai ràng buộc
Để đảm bảo các kết nối này bị loại ta đặt chúng có cost = x
Trang 113.1 Kết nối đa điểm trong mạng lưới trung tâm
S12 : Tìm cây bao trùm tối thiểu chứa (6,1), (5,1) nhưng không có (4,5)
Vậy ta có cây bao trùm tối thiểu là: (6,1), (5,1) , (4,1), (2,6) và (3,4) Có tổng cost là
59
3.1 Kết nối đa điểm trong mạng lưới trung tâm
9
Giữ lại tập con có tổng cost nhỏ hơn, loại bỏ tập con lớn hơn
Giữ lại s12; loại bỏ s11
Xác định xem tập con giữ lại có giải pháp khả thi mà cost có bằng dưới hạn
dưới không
- Nếu tồn tại đó là giải pháp khả thi tối ưu
- Nếu không, ta tiếp tục chia nhỏ s12thành s121 và s122
Vậy giải pháp cho vấn đề có ràng buột được minh họa như hình:
3.2 Thuật toán tiếp cận nghiệm suy (Heuristic)
10
Thuật toán Heuristic (Kruskal)
Bước 0: Định nghĩa ma trận hàm cost C = {Cij}
𝐶 = Giá trị liên kết; 𝑖 ≠ 𝑗
ꝏ ; 𝑖 = 𝑗 Khởi tạo cây T gồm n đỉnh và không có cạnh
Bước 1: Chọn cost min trong C Đặt là 𝐶Bước 2: Nếu việc thêm (k, l) vào cây T mà phá vỡ ít nhất một ràng buộcthì đặt:
𝐶 = 𝐶 = ꝏ và quay lại Bước 1 Ngoài ra thêm kết nối này và đặt 𝐶 = 𝐶 = ꝏBước 3: Nếu cây T có (n-1) cạnh thì dừngNgoài ra quay lại Bước 1
3.2 Thuật toán tiếp cận nghiệm suy (Heuristic)
11
Sử dụng Thuật toán Heuristic (Kruskal) xét vd trên:
Ba lần lặp đầu tiên lần lượt dẫn đến việc bổ sung (6,1), (5,1) và (5,4)Vậy cây hiện tại đã có 3 cạnh như hình:
B1: Tối thiểu cost trong C là 𝐶 (= 𝐶 ) = 12B2: Nếu thêm (4,1) vào cây T Hình thành chutrình (vi phạm)
Đặt 𝐶 = 𝐶 = ꝏ và quay lại B1B1: Tối thiểu cost trong C là 𝐶 (= 𝐶 ) = 13B2: Nếu thêm (6,4) vào cây T Hình thành chutrình
Đặt 𝐶 = 𝐶 = ꝏB3: Cây T có 4 cạnh B1
T là cây hiện tại
Tiếp tục, ta có cây bao trùm tối thiểu tối ưu là: (6,1), (5,1) , (4,5), (2,6) và(3,1) Có tổng cost là 61
Trang 123.2 Thuật toán tiếp cận nghiệm suy (Heuristic)
13
12, 13, 15, 17 thì tạo thành chu trình
16, 18 thì bị ràng buộc về dung lượng tốc độ > 500 Kbps
Cuối cùng 19 là thỏa mãn
3.3 Sự kết nối thiết bị đầu cuối với bộ tập
trung trong mạng lưới trung tâm
14
3.3.1 Đặt vấn đề
- Các thiết bị đầu cuối Ticó thể nối trực tiếp với CPU (C1) hoặc đến các bộ
kết nối trung tâm (concentrators) Cj Các bộ kết nối này lần lượt được nối với
CPU
- Giả định cho trước các Ti, cũng như cost có thể có của các liên kết từ Cjđến
C1
Giả định có n thiết bị đầu cuối (terminals) T1, …, Tn
m bộ kết nối trung tâm C2, C3,…, Cm+1 Với CPU (C1)
fjlà cost cố định từ Cjđến C1
ejlà số thiết bị đầu cuối tối đa có thể kết nối đến Cj
Với C1: f1= 0, e1≥ n
3.3 Sự kết nối thiết bị đầu cuối với bộ tập
trung trong mạng lưới trung tâm
Tổng đầu là các cost liên kết từ Cjđến C1
Tổng sau là cost liên kết từ Tiđến Cj
𝐶 là cost liên kết từ Tiđến Cj
3.3 Sự kết nối thiết bị đầu cuối với bộ tập trung trong mạng lưới trung tâm
16
Mục tiêu là tối thiểu hàm cost
Đây là vấn đề lập trình số nguyên 0-1 Có thể có2 trường hợp 0 và 1
3.3 Sự kết nối thiết bị đầu cuối với bộ tập trung trong mạng lưới trung tâm
17
3.3.2 Thuật toán ADD*
• Bước 0: Kết nối tất cả các Tiđến C1
• Bước 1: Đối với mỗi thiết bị tập trung đóng Cj, mở Cjvà kết nối nó với thiết
bị đầu cuối có dung lượng ejsao cho giảm cost lớn nhất
Tính hàm cost 𝜏,đây là cost của cấu hình mới khi mở Cj
• Bước 2:Tìm 𝜏 nhỏ nhất (𝜏 )
Nếu 𝜏 ≥ cost của cấu hình hiện tại dừng thuật toán
Ngoài ra mở Cp, quay lại Bước 1
*A Heuristic Program for Locating Warehouses
3.2 Sự kết nối thiết bị đầu cuối với bộ tập trung trong mạng lưới trung tâm
18
Ví dụ thuật toán ADD
Cho cấu hình như hình vẽ, với:
Giá trị cost kết nối được cho bởi matrận sau:
𝑒 = 5, 𝑒 = 𝑒 = 2 𝑣à 𝑓 = 9, 𝑓 = 8
Trang 133.3 Sự kết nối thiết bị đầu cuối với bộ tập
trung trong mạng lưới trung tâm
3.3 Sự kết nối thiết bị đầu cuối với bộ tập
trung trong mạng lưới trung tâm
3.3 Sự kết nối thiết bị đầu cuối với bộ tập
trung trong mạng lưới trung tâm
Tổng cost hiện tại 67 cộng với 9 = 76 nên các
chênh lệch trên không giảm cost xuống dưới
67 Không thể cải thiện nên thuật toán kết
thúc với cấu hình như hình trên
3.3 Sự kết nối thiết bị đầu cuối với bộ tập trung trong mạng lưới trung tâm
22
**Warehouse Location under Continuous Economics of Scale
3.3.3 Thuật toán DROP**
Bước 0: Kết nối các Tiđến một trong những C1, C2, …, Cm+1có tổng cost càng nhỏ càng tốt
Bước 1: Đối với mỗi thiết bị tập trung mở Cj, đóng Cjvà phân phối lại bất
kỳ thiết bị đầu cuối nào được kết nối với nó trong số phần còn lại (baogồm cả C1) theo cách giảm cost đến mức nhiều nhất có thểTính hàm cost 𝜏,đây là cost của cấu hình mới khi đóng Cj
Bước 2: Tìm𝜏nhỏ nhất (𝜏) Nếu𝜏≥ cost của cấu hình hiện tại dừng thuật toán Ngoài ra đóng Cp, quay lại Bước 1
23
Ví dụ sử dụng thuật toán DROP
Bước 0: Kết nối các Tiđến một trong những C1, C2, …, Cm+1có tổng cost 75
T3có thể nối đến C2hoặc C3 (tùy chọn)
Nếu kết nối T3đến C3và T4đến C1giảm 8 đơn vị
Vậy 𝜏 = 75 – 9 + 1 = 67Đóng C3(trừ 8 đơn vị từ hàm cost) Chỉ có liên quan đến T2
𝐶 − 𝐶 = 6; Ta không kết nối T2đến C2vì sẽ vượt quá e2(=2, tức là C2
đã kết nối 2 Tirồi) Nếu kết nối T2đến C1giảm 2 đơn vịVậy 𝜏 = 75 - 8 + 6 = 73
Trang 14Ví dụ sử dụng thuật toán DROP
Bước 2: 𝜏 chính là𝜏 đóng C2 Cấu hình bây giờ là:
LẦN LẶP THỨ HAI
Bước 1: Nếu ta đóng C3thì cấu hình trở thành Bước 0 của thuật toán ADD với tổng
cost = 68 Do đó, thuật toán dừng với cấu hình như trên
26
Bài tập
Với dung lượng mỗi liên kết là C=50 Kbps (Điều kiện 1)
Điều kiện 2: Không quá 2 bộ kết nối giao tiếp với CPU
Cho tốc độ bản tin từ nút 2-6 lần lượt là: 40, 25, 25, 20, 20 Kbps
a Tìm cây bao trùm tối thiểu với giải pháp không xét vấn đề ràng buột
b Sử dụng Thuật toán Heuristic (Kruskal) để tìm cây khả thi tối ưu
Bài tập 1 Cho ma trận trọng số như sau:
27
Bài tập
𝑒 = 5, 𝑒 = 𝑒 = 2 𝑣à 𝑓 = 11, 𝑓 = 15
Với
Sử dụng thuật toán ADD và DROP tìm giải pháp cận tối ưu
Bài tập 2 Cho cấu hình và ma trận trọng số như sau:
Trang 15Chương 4 ĐỊNH TUYẾN (ROUTING)
1
4.1 Giới thiệu
4.2 Mạng lưới với tải trọng dương
4.3 Mạng lưới với tải trọng dương và âm
Thuật toán Warshall
có mạng điện thoại, liên mạng, Internet, mạng giao thông.
4.2 Mạng lưới với tải trọng dương
3
Trong phần này ta sử dụng chiều dài thay cho trọng lượng và
đường đi ngắn nhấtthay chođường đi có trọng lượng nhỏ nhất
4.2 Mạng lưới với tải trọng dương
4
Ma trận L của bài toán đường đi ngắn nhất được định nghĩa:
(P: Path)Shortest Path: Đường đi ngắn nhất
4.2 Mạng lưới với tải trọng dương
5
THUẬT TOÁN DIJKSTRA
THUẬT TOÁN DIJKSTRA
6
>
Trang 16THUẬT TOÁN DIJKSTRA
Trang 174.3.2 Thuật toán Bellman - Ford
13
NGUYÊN LÝ THUẬT TOÁN
1 Gán các giá trị ban đầu:
VD: Cho đồ thị có hướng, có trọng lượng bất kỳ, không có chu trình, gốc là đỉnh 1
Gán các giá trị ban đầu:
Bước 1: Chọn đỉnh 3 vì Pr*(3) = {1}; Cập nhật Nhan[3] = 1; Tính Dodai[3] = -2; Pr[3] = 1;
Bước 2: Ở bước lặp này ta có thể chọn đỉnh 5 (hay đỉnh 2)
Cập nhật Nhan[5] = 1; Tính Dodai[5] = 2; Pr[5] = 3;
Bước 3: Chọn đỉnh 2 Cập nhật Nhan[2] = 1; Tính Dodai[2] = -1; Pr[2] = 3;
Bước 4: Chọn đỉnh 6 Cập nhật Nhan[6] = 1; Tính Dodai[6] = 1; Pr[6] = 5;
Bước 5: Chọn đỉnh 4 Cập nhật Nhan[4] = 1; Tính Dodai[4] = -4; Pr[4] = 6;
4.3.2 Thuật toán Bellman - Ford
16
Kết quả:
Dodai = [0, -1, -2, -4, 2, 1]
Pr = [1, 3, 1, 6, 3, 5]
Đường đi ngắn nhất từ s1đến s2: s1 s3s2 với độ dài là -1
Đường đi ngắn nhất từ s1đến s3: s1 s3 với độ dài là -2
Đường đi ngắn nhất từ s1đến s4: s1 s3s5s6s4với độ dài là -4
Đường đi ngắn nhất từ s1đến s5: s1 s3s5 với độ dài là 2
Đường đi ngắn nhất từ s1đến s6: s1 s3s5s6 với độ dài là 1
4.3.3 Thuật toán Floyd (1962)
17
Là thuật toán tìm đường đi ngắn nhất giữa tất cả các cặp đỉnh.
4.3.3 Thuật toán Floyd (1962)
18
Thuật toán thực hiện bằng 3 vòng lặp lồng nhau Khi kết thúc thì L[i, j] sẽ là độ dài đường đi ngắn nhất từ đỉnh i đến đỉnh j nếu tồn tại.
Trang 184.3.3 Thuật toán Floyd (1962)
Ma trận P: Hàng thứ nhất: Đỉnh trước của đỉnh 2 là đỉnh 1; Đỉnh trước của 4 là đỉnh 1;
Hàng thứ hai (chỉ xét a[i, j]=1: Đỉnh trước của đỉnh 3 là đỉnh 2;
Hàng thứ ba: Đỉnh trước của đỉnh 2 là đỉnh 3; Đỉnh trước của đỉnh 4 là đỉnh 3;
Hàng thứ tư: Đỉnh trước của đỉnh 1 là đỉnh 4; Đỉnh trước của đỉnh 2 là đỉnh 4;
24
Bài tập chương 4Bài tập 1: Cho đồ thị có hướng như hình sau Tìm đường đi ngắn nhất từđỉnh 1 đến đỉnh 8 sử dụng thuật toán Dijkstra
1610
9181112
20
12
354
67
8
Trang 19a) Tìm đường đi ngắn nhất từ đỉnh 1 đến đỉnh 8b) Tìm đường đi ngắn thứ hai từ đỉnh 1 đến đỉnh 8
Trang 20Nội dung chương 5
Các bài toán về lưu lượng mạng hay luồng trong mạng
(Network Flows) là một lớp các bài toán liên quan đến nhiều lĩnh
vực khác nhau như toán ứng dụng, tin học, công nghệ, quản lý,
quản trị, … Bài toán về lưu lượng mạng có lịch sử phát triển khá
lâu đời kể từ khi những công trình đầu tiên liên quan đến lĩnh vực
này được công bố bởi Gustav Kirchhof và các nhà tiên phong
khác Họ là những người đầu tiên phân tích có hệ thống về dòng
điện Họ đã sử dụng mạng (hay đồ thị) như những phương tiện hữu
ích biểu diễn nhiều hệ thống vật lý khác nhau.
4
5.2.1 Giới thiệu về luồng cực đại
Chúng ta muốn biết lượng thông tin tối đa có thể được truyền đi trongmột đơn vị thời gian từ nút nguồn s đến nút đích t và t có thể nhận đượcmột lượng thông tin không giới hạn trong một đơn vị thời gian Nếu khôngđúng như vậy, mạng có thể được điều chỉnh lại
Luồng cực đại được phát biểu: Trong một mạng với các cung có độthông qua uij, ta muốn gửi một luồng có giá trị cực đại giữa 2 nút đặt biệt,nút nguồn s và nút đích t mà không vượt quá khả năng thông qua của cáccung
5.2 Thuật toán Ford-Fulkerson cho luồng cực đại
Vấn đề luồng cực đại
5
Bài toán luồng cực đại tìm một phương án phù hợp để gửi 1 luồng có giá
trị lớn nhất có thể từ nút nguồn s đến nút đích t
Nếukhả năng thông qua cực đạicủa cung (i,j) là uij, bài toán luồng cực
đại có thể biểu diễn như một trường hợp riêng của bài toán luồng cực tiểu nếu
ta đặt b(i) = 0, Ɐ i ϵ N; cij= 0, Ɐ (i,j) ϵ A và thêm vào mạng cung (t,s) với cts
= -1 và uts= ꝏ
6
5.2 Thuật toán Ford-Fulkerson cho luồng cực đại
Trang 215.2 Thuật toán Ford-Fulkerson cho luồng cực đại
7
5.2.2 Các ký hiệu và giả thiết
Cực đại hóa giá trị luồng v thỏa mãn ràng buột:
(1)(2)
5.2.2 Các ký hiệu và giả thiết
8
Ta gọi vector x = {xij} thỏa mãn ràng buột (1) và (2) là luồng và giátrị v tương ứng gọi là giá trị của luồng Xem xét bài toán luồng cực đạivới các giả thiết sau:
• Mạng G là mạng có hướng
5.2 Thuật toán Ford-Fulkerson cho luồng cực đại
9
5.2.3 Luồng và lát cắt (flows and cuts)
5.2.3.1 Mạng thặng dư (residual network)
Tập hợp các cung lùi = {(2, 3), (4, 5)}
Trang 22Hình 5.1 Minh họa luồng thặng dư
a) Luồng ban đầu b) Luồng thặng dư
Thuật toán đường tăng trưởng tìm luồng cực đại
16
𝛿 := min{ rij : (i,j) ϵ P};
Tăng luồng thêm giá trị là 𝛿 dọc theo P và cập nhật G(x)
Thuật toán đường tăng trưởng tìm luồng cực đại
17
Trong hình (a), thuật toán chọn đường đi 1-3-4 để tăng trưởng
Độ thông qua thặng dư của con đường này :
𝛿= min{r13, r34} = min{4, 5} = 4
Bước tăng trưởng này giảm độ thông qua thặng dư của cung (1,3) đi 4 đơn vị
Ví dụ: Giải bài toán luồng cực đại bằng thuật toán luồng tăng trưởng cho như hình a)
53
Trang 235.2.5 Thuật toán gán nhãn tìm đường tăng trưởng
B0 Có được một luồng nhất quán, khả thi
B1 Gán cặp nhãn (0, ꝏ) đến nút nguồn s Tất cả các đỉnh khác chưa được gán nhãn
B2 Chọn bất kỳ nút j nào đã được gán nhãn và kiểm tra tất cả các cung (i, j) và (j, k) trong
đó i và k là các nút chưa được gắn nhãn
(i) Đối với bất kỳ cung (i, j) với f(i, j) > 0, gán cặp nhãn {j, f (i, j)} cho nút i
(ii) Đối với bất kỳ cung (i, k) với c(j, k) - f(j, k) > 0, gán cặp nhãn {(j, c(j, k) - f(j, k)}
cho nút k
B3 Lặp lại bước 2 cho đến khi không thể gắn nhãn được nữa
(i) Nếu nút đích t không có nhãn, dừng lại
Luồng hiện tại là cực đại và nếu S biểu thị tập hợp các nút có nhãn
thì T = N - S, (S, T) là lát cắt nhỏ nhất
(ii) Nếu t được gắn nhãn, xây dựng một đường tăng trưởng, xác định giá trị 𝛿
Tăng cường luồng bởi giá trị 𝛿, xóa tất cả các nhãn và chuyển sang bước 1
Thuật toán Ford-Fulkerson
24
Ví dụ: Cho đồ thị như hình
Tìm luồng cực đại từ nút 1 đến nút 6 sử dụng luồng được mô tả ở đó cho Bước 0
Lưu ý: Nói chung có một sự lựa chọn các nút được lấy làm nút j mỗi khiBước 2
được lặp lại Đối với việc gắn nhãn trong Hình, thứ tự làj = 1, j = 3, j = 4, j = 5 Nếuchúng ta chọn j = 2 thay vì j = 4, chúng ta sẽ tạo ra một chuỗi luồng tăng trưởng kháchay một đường tăng trưởng khác
Trang 24Thuật toán Ford-Fulkerson
25
Bước 3: Nút 6 được gắn nhãn
Dù chúng ta thực hiện lựa chọn nào, giá trị của luồng cực đại sẽ giống
nhau nhưng nói chung, các luồng trong các cung riêng lẻ có thể khác nhau
Xác định đường tăng trưởng P từ s đến t:
Tăng luồng thêm giá trị là 𝛿 = 1 dọc theo P và cập nhật G(x)
Tăng luồng thêm giá trị là 𝛿 = 1 dọc theo P và cập nhật G(x)
Thuật toán Ford-Fulkerson
27
Lần lặp thứ ba
Bước 1 và 2:
[ j = 1, j = 3, j = 2 ]
Bước 3: Nút 6 không được gắn nhãn Dừng thuật toán
Giá trị luồng cực đại từ nút 1 đến 6 là 16 đơn vị với lát cắt nhỏ nhất:
Trang 255.3.3 Bài toán phân công (assignment problem)
31
5.3.4 Bài toán vận tải (transportation problem)
32
phân phối từ kho i đến khách hàng j
5.3.5 Bài toán lưu thông (circulation problem)
Thay một đỉnh và một đích thành nhiều đỉnh và nhiều đích; với các
hàng hóa khác nhau giữa hai tổ hợp nguồn-đích khác nhau thì bài toán cực
đại tổng số các luồng từ nguồn đến đích là bài toán luồng đa hàng hóa hay
lưu lượng đa hàng
Do các thuật toán giải bài toán lưu lượng đa hàng rất khác biệt về bản
chất và không phải đều hiệu quả như phương pháp gán nhãn Do vậy, vấn
đề tối đa hóa tổng của các luồng hàng hóa khác nhau là một vấn đề khó
Bài tập
36
Bài tập: Tìm luồng cực đại và xác định lát cắt tối thiểu cho mạng sau
Trang 26Nội dung chương 6
1
Chương 6 Lý thuyết về phân bổ dung lượng đường truyền
6.1 Những giả thuyết cơ bản
6.2 Phân bổ dung lượng trong mạng tập trung
6.3 Phân bổ dung lượng trong mạng phân tán
6.4 Một số điểm tổng quát
6.1 Những giả thuyết cơ bản
2
Một bản tin truyền từ S đến T : cần phải xử lý và xếp hàng đợi tại bộ kết
nối tập trung Vì vậy cần có những giả thuyết cơ bản sau:
1 Độ trễ T:
T = t/gian đợi + t/gian xử lý
𝑇 = + (data/giây)
Trong đó, ta có 𝜇 bản tin đến mỗi giây, độ dài bản tin trug bình là 1/𝜇,
C là dung lượng đường truyền/s và n là các bản tin đang đợi
2 Thời gian trễ bản tin trung bình E(T):
𝐸 𝑇 = 𝐸 𝑛
𝜇𝐶 +
1
𝜇𝐶=1
𝜇𝐶 − λVới λ là tốc độ bản tin đến trung bình
6.1 Những giả thuyết cơ bản
3
3 Tỷ lệ đến bản tin là P (Poisson):
𝑃(𝑘 đế𝑛 𝑠𝑎𝑢 𝜏 𝑔𝑖â𝑦) = (λ𝜏) 𝑒
𝑘!
𝐸 𝑘 = λ𝜏 vậy λ là tốc độ bản tin đến trung bình
Thời gian trung bình giữa các bản tin đến là 1/λ
Nếu chiều dài bản tin là r Hàm mật độ xác suất của nó là:
(4)
(2)
1
342
5
CPU6
Giả sử cho mạng hình sao, mỗi bộ kết nối tâp trung (16) liên kết trực tiếp đếnCPU Số trong dấu ngoặc đơn là số thiết bị đầu cuối (terminal) Mỗi terminal, trungbình truyền 3 bản tin/phút; chiều dài bản tin trung bình là 100 bits
Trên mỗi liên kết thứ i từ bộ kết nối tập trung thứ i, biểu thị một dung lượng Ci, ta có:
1 Tốc độ bản tin trung bình cho đường dây là λi
λi= Số thiết bị đầu cuối× 10%
với 𝐶 là tổng dung lượng của mạng
6.2 Phân bổ dung lượng trong mạng tập trung
246
0.50.10.250.20.4
400400400400
0.2860.2560.2670.278
686137343549
0.1570.7870.3140.196λ
Trang 276.3 Phân bổ dung lượng trong mạng phân tán
7
Bây giờ chúng ta xem xét một trường hợp tổng quát hơn trong đó
các bản tin được trao đổi giữa các bộ tập trung Xem xét đồ hình sau:
Số lượng bản tin mỗi giây được gửi trung bình từ bộ tập trung s đến
bộ tập trung t được cho bởi entry msttrong ma trận bản tin (hoặc lưu lượng)
M Libiểu thị kết nối thứ i mà dung lượng thì lại được ký hiệu là Ci
M =
6.3 Phân bổ dung lượng trong mạng phân tán
8
Để xác định dung lượng được phân bổ cho các đường truyền trong mạng phân
tán, trước hết chúng ta phải biếtbản tin được định tuyến như thế nào Trong thực
tế, thường là tuyến đường dẫn ngắn nhất được sử dụng và chúng ta sẽ giả định
rằng các tính toán liên quan đã được thực hiện cho 5 node như hình
Thay vì bao gồm thông tin về khoảng cách, chúng ta sẽ giả định rằng đường đi
ngắn nhất từ s đến ttrong Hình là đường sử dụng số lượng đường dây nhỏ nhất
Tất cả các tuyến đường ngắn nhất, ngoại trừ các tuyến đường từ 1 đến 4 và 2 đến
5, sau đó có thể được xác định dễ dàng từ hình vẽ (Với s < t)
Nếu bây giờ, chúng ta được cung cấp thêm thông tin rằng con đường ngắn
nhất từ 1 đến 4 là (1,2), (2,4) và từ 2 đến 5 là (2,4), (4,5) thì thông tin định tuyến
đã được hoàn tất
6.3 Phân bổ dung lượng trong mạng phân tán
9
Vấn đề tiếp theo là xác định tốc độ bản tin trung bình λicho mỗi
đường dây i Một lần nữa, kinh nghiệm cho thấy rằng chúng ta có thể giả
định sự độc lập của các hàng đợi, vì vậy λilà tổng tốc độ bản tin trung bình
đối với tất cả các bản tin được định tuyến dọc theo đường truyền i
Để đơn giản hóa các phép tính, vẫn tốt hơn chúng ta giả định rằng tất
cả các liên kết đều có dung lượng như nhau ở mỗi hướng Ngoài ra M là đối
xứng nên tốc độ bản tin trung bình trên bất kỳ liên kết nào cũng sẽ giống
nhau theo từng hướng Do đó, chúng ta có thể chỉ tập trung vào luồng bản
tin theo một hướng từ s đến t, trong đós < t Do đó, tốc độ bản tin một
chiều trung bình cho các liên kết từ 1 đến 7 là:
6.3 Phân bổ dung lượng trong mạng phân tán
2.40.550.51.60.95
2000200020002000
54.656.851.454.3
270538188752545
39.427.9122.041.9
1) Chọn dung lượng đường truyền để giảm thiểu trễ trung bình
2) Trong mạng tập trung mà chi phí không tỷ lệ tuyến tính với dunglượng Khi đó chúng ta muốn chỉ định dung lượng - được chọn từ một
số lượng hữu hạn dung lượng khả dụng cho các đường truyền thông
để giảm thiểu thời gian trễ trung bình tối đa từ bất kỳ vị trí nào trongmạng đến CPU
3) Nếu chúng ta giả định thực tế hơn rằng phân phối thời gian xử lý làmột phân phối chung, thì chúng ta có một mô hình xếp hàng M/G/1
Việc phân tích mô hình này sẽ phức tạp hơn và những người quantâm nên tham khảo các tài liệu khác
Trang 28Nội dung Chương 7
1
Chương 7 Tín hiệu và các quy tắc cơ bản về hệ thống
tuyến tính7.1 Cơ bản về tín hiệu
7.2 Phân loại tín hiệu
7.3 Các phép toán trên tín hiệu
7.4 Các loại tín hiệu thông dụng cơ bản
Trang 30Tín hiệu xác định và tín hiệu ngẫu nhiên
f(t-T) được là trễ (dịch) so với f(t) T giây
Đảo thời gian
17
Tín hiệu chẵn (even) và tín hiệu lẻ (odd)
18
Trang 33f(t) = [u(t+1) – u(t)] + e-t.u(t)
f(t-2) = [u(t-1) – u(t-2)] + e-(t-2).u(t-2)