Professional Documents
Culture Documents
Điều Khiển Hệ Đa Tác Tử
Điều Khiển Hệ Đa Tác Tử
d ij
*
d ij
Agent i Agent j
Agent j
g ji
Desired
g ij
* g ji
* position
Trajectory g ij
Initial formation Desired formation
Initial
Agent i position
Điều khiển hệ đa tác tử
Bản quyền
Giáo trình này được chia sẻ qua website cá nhân của TS. Trịnh Hoàng Minh (https://sites.google.com/
view/minhhoangtrinh). Việc sử dụng nội dung trong tài liệu này với mục đích tham khảo, học tập, giảng
dạy là miễn phí. Tuy nhiên, người đọc không được sao chép các nội dung của giáo trình khi chưa có đồng
ý từ các tác giả.
Ghi chú
Giáo trình này được viết bằng LATEX, dựa trên template kaobook. Template kaobook được phân phối
miễn phí qua Overleaf. Người đọc có thể sử dụng template này tại: KOMA-Script, LATEX, kaobook.
Ngày xuất bản
Phiên bản 10/2022
Lời nói đầu
Phân tích và điều khiển hệ đa tác tử là một hướng nghiên cứu đã và đang được quan tâm trên thế giới từ
khoảng đầu những năm 2000. Nội dung nghiên cứu bao gồm các hệ đa tác tử trong tự nhiên (hiện tượng
tụ bầy ở chim, cá), trong kĩ thuật (hệ các robot tự hành, mạng cảm biến, lưới điện thông minh), hay các
hiện tượng xã hội (mạng xã hội, mạng học thuật).
Mặc dù nghiên cứu về các hệ đa tác tử hiện nay đã phân chia thành nhiều hướng nghiên cứu nhỏ và
chuyên sâu, hiện nay không có nhiều những sách tham khảo, kể cả bằng tiếng Anh, bao quát các kiến
thức cơ bản về điều khiển hệ đa tác tử. Tài liệu này được biên soạn với mong muốn cung cấp một nguồn
tham khảo ngắn gọn bằng tiếng Việt cho học viên trong hai học phần Điều khiển nối mạng và Điều khiển
hệ đa tác tử tại Đại học Bách Khoa Hà Nội.
Tài liệu được chia thành ba phần chính. Phần I giới thiệu về hệ đa tác tử và cung cấp một số kiến thức cơ
bản về lý thuyết đồ thị. Phần II trình bày về hệ đồng thuận tuyến tính và một số phương pháp phân tích
và thiết kế các luật đồng thuận và đồng bộ hóa đầu ra. Phần III giới thiệu về một số ứng dụng của hệ đa
tác tử bao gồm điều khiển đội hình, giữ liên kết và tránh va chạm, định vị mạng cảm biến, và một số mô
hình động học quan điểm trong nghiên cứu mạng xã hội. Để sử dụng tài liệu, người đọc cần có kiến thức
cơ bản về Đại số tuyến tính, Giải tích, Tín hiệu hệ thống và Lý thuyết điều khiển tuyến tính. Một số kiến
thức liên quan về Đại số tuyến tính, Lý thuyết điều khiển liên quan cũng được cung cấp trong phần Phụ
lục của tài liệu.
Tài liệu tiếng Việt này sẽ không tránh được những sai sót. Tác giả hi vọng sẽ nhận được những ý kiến
góp ý về nội dung của tài liệu từ độc giả. Cuối cùng, tác giả muốn gửi lời cảm ơn tới những thầy cô,
bạn bè, và sinh viên trong và ngoài nước đã hướng dẫn, thảo luận và góp ý về các nội dung trong tài liệu này.
Mục lục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
I Cơ sở 1
2 Lý thuyết đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Đồ thị vô hướng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Đồ thị hữu hướng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 Đồ thị có trọng số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Đại số đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Một số ma trận của đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1.1 Ma trận bậc và ma trận kề . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1.2 Ma trận liên thuộc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1.3 Ma trận Laplace của đồ thị vô hướng . . . . . . . . . . . . . . . . . . . 14
2.2.2 Ma trận Laplace của đồ thị hữu hướng . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 Ghi chú và tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4 Bài tập . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
II Hệ đồng thuận 24
3.1 Sơ đồ khối thuật toán đồng thuận theo góc nhìn của tác tử 𝑖. . . . . . . . . . . . . . . . . . 26
3.2 Mô phỏng thuật toán đồng thuận với ba đồ thị khác nhau: 𝐺1 là đồ thị đều gồm 16 đỉnh, mỗi
đỉnh có 3 đỉnh kề, 𝐺2 là đồ thị chu trình gồm 20 đỉnh và 𝐺3 là đồ thị Bucky (quả bóng đá)
gồm 60 đỉnh. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Mô phỏng chuyển động của các tác tử với luật đồng thuận (3.19). . . . . . . . . . . . . . . . 34
3.4 Mô phỏng hệ đồng thuận ở Ví dụ 3.3.1. Các biến trạng thái x𝑖 → x 𝑗 khi 𝑡 → +∞. . . . . . . 37
3.5 Đồ thị 𝐺1 là liên thông mạnh và có chu kỳ bằng 2; Đồ thị 𝐺2 và 𝐺3 là có gốc ra, thành phần
liên thông mạnh chứa gốc ra là không có chu kỳ, trong đó đồ thị 𝐺3 có chứa khuyên; Đồ thị
𝐺4 , 𝐺5 là liên thông mạnh và không có chu kỳ. . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.6 Mô phỏng đối chiếu thuật toán đồng thuận liên tục và không liên tục . . . . . . . . . . . . . 42
3.7 Sơ đồ khối mô tả thuật toán đồng thuận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.8 Mô phỏng hệ đồng thuận gồm 8 tác tử trong Ví dụ 3.5.1. Các biến đầu ra y𝑖 , 𝑖 = 1 , . . . , 8 , dần
đạt tới đồng thuận sau khoảng 100 giây. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.9 Sơ đồ mô tả bộ đồng bộ hóa (3.50). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.10 Mô phỏng Ví dụ 3.5.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.11 Đồ thị ở Bài tập 3.7.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.1 (a) Đồ thị 𝐺 ứng với L. (b) Đồ thị 𝐺0 ứng với L> . (c) Đồ thị 𝐺¯ ứng với L̄ = 𝚪L + L> 𝚪. . 57
4.2 Mô phỏng thuật toán đồng thuận với ba đồ thị hữu hướng khác nhau. . . . . . . . . . . . . 60
4.3 Đồ thị 𝐺 có ba chu trình, trong đó hai chu trình là độc lập. . . . . . . . . . . . . . . . . . . 62
4.4 Mô phỏng minh họa Ví dụ 4.3.2. Những cạnh màu đỏ tạo thành một cây bao trùm của đồ thị.
Các biến tương đối 𝜻(𝑡) → 0 khi 𝑡 → +∞. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.5 Hệ Σ gồm 𝑛 hệ con thụ động với hàm kết nối 𝝓(·). . . . . . . . . . . . . . . . . . . . . . . . 64
4.6 Mô phỏng mô hình Kuramoto đơn giản cho hệ 6 tác tử ở Ví dụ 4.4.1. . . . . . . . . . . . . . 65
4.7 Các đồ thị trong Bài tập 4.6.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.1 Hệ qui chiếu toàn cục ( 𝑔 Σ), hệ qui chiếu chung (𝑐 Σ), và các hệ qui chiếu cục bộ (𝑖 Σ và 𝑗 Σ). 74
5.2 Mô phỏng thuật toán điều khiển đội hình dựa trên vị trí tuyệt đối. . . . . . . . . . . . . . . 77
5.3 Mô phỏng thuật toán điều khiển đội hình dựa trên vị trí tương đối trong 2D và 3D. . . . . 78
5.4 Một số ví dụ minh họa lý thuyết cứng khoảng cách. . . . . . . . . . . . . . . . . . . . . . . 81
5.5 Minh họa Ví dụ 5.4.2: (a) cấu hình mong muốn, (b) & (c) & (d) & (e) bốn cấu hình khác nhau
thuộc U∗ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.6 Đội hình đặt trong Ví dụ 5.4.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.7 Đội hình gồm 5 tác tử: (a) và (b): p tiến tới một đến một cấu hình mong muốn; (c) và (d) p
tiến tới một cấu hình không mong muốn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.8 Ví dụ về tính cứng hướng vi phân: Trong ℝ2 , các đội hình (a), (b), (c) là cứng hướng vi phân,
các đội hình (d), (e), (f) là không cứng hướng vi phân. Trong ℝ3 , các đội hình (g), (h), (i), (j)
là cứng hướng vi phân, các đội hình (k), (l) là không cứng hướng vi phân. . . . . . . . . . . 89
5.9 Xây dựng đồ thị cứng hướng phổ quát trong ℝ3 xuất phát từ một cạnh nối hai đỉnh. . . . . 92
5.10 Xây dựng đồ thị cứng hướng phổ quát trong ℝ3 xuất phát từ chu trình 𝐶4 . . . . . . . . . . 92
5.11 Minh họa phân tích ổn định thuật toán điều khiển đội hình chỉ dựa trên vector hướng: (a) Luật
điều khiển chỉ sử dụng vector hướng; (b) Ví dụ về hai điểm cân bằng đối xứng tâm và có cùng
trọng tâm; (c) 𝜹 luôn nằm trong tập S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.12 Mô phỏng đội hình 4 tác tử dưới luật điều khiển (5.42) trong trường hợp 2D và 3D. . . . . 95
5.13 Các đồ thị 𝐺1 và 𝐺2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1 Minh họa bài toán giữ liên kết: mỗi tác tử có một miền trao đổi thông tin mô tả bởi một hình
tròn tâm tại vị trí tác tử. Nếu hai tác tử nằm trong miền thông tin của nhau thì tồn tại một
cạnh mô tả sự tương tác giữa hai tác tử. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.2 Hàm trọng số 𝑎 𝑖𝑗 (p) = 𝜎𝜔 (𝜖 − 𝑑 𝑖𝑗 (p(𝑡))) tương ứng với một số bộ tham số 𝜔 và 𝜖 khác nhau.
Dễ thấy 𝑎 𝑖𝑗 (p) → 0 khi 𝑑 𝑖𝑗 (k p𝑖 − p 𝑗 k) → 𝛿 = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.3 Minh họa việc tránh va chạm của các tác tử. . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.4 Biểu diễn hàm 𝛽 𝑖𝑗 (k p𝑖 − p 𝑗 k) với 𝑑 = 0.75 , 1 , 1.5. . . . . . . . . . . . . . . . . . . . . . . . . 105
6.5 Mô phỏng luật giữ liên kết trong Ví dụ 6.2.1. . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.6 Mô phỏng luật giữ liên kết trong Ví dụ 6.2.2. . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.1 Mô tả mạng cảm biến với các nút tham chiếu và các nút mạng thường. Mỗi cạnh của đồ thị
thể hiện luồng thông tin (đo đạc hoặc truyền thông) giữa các nút mạng.Nhiễu 𝜺𝑖𝑗 có thể xuất
hiện trong từng cạnh của đồ thị. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.2 Minh họa định vị mạng cảm biến gồm 10 nút với luật định vị mạng (7.9) . . . . . . . . . . 117
7.3 Định vị nút 4 dựa vào 3 nút mốc và 3 khoảng cách . . . . . . . . . . . . . . . . . . . . . . . 118
7.4 Ví dụ đồ thị cứng 3-liên thông có 2 hiên thực hóa trong 2D. Đồ thị này không thừa cứng. . 118
7.5 Đồ thị trong Bài tập 7.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
7.6 Mạng cảm biến (𝐺, p) trong Bài tập 7.3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.1 Mô phỏng hệ 4 tác tử với mô hình F-J trong hai trường hợp khác nhau của đồ thị tương tác. 124
8.2 Mô phỏng hệ 10 tác tử với mô hình Taylor mở rộng . . . . . . . . . . . . . . . . . . . . . . . 126
8.3 Mô phỏng mô hình F-J với ma trận C = 0.8 0.20.3 0.7 . . . . . . . . . . . . . . . . . . . 129
8.4 Mô phỏng mô hình F-J với ma trận C = 0.8 −0.2 − 0.3 0.7 . . . . . . . . . . . . . . . . . 130
8.5 Mô hình Ye 1 khi hệ có và không có định kiến. . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.6 Mô hình Ye 2 khi hệ có và không có định kiến. . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.7 Tăng mức độ liên kết giữa các tác tử làm mô hình Ye 1 mất ổn định trong khi đó sẽ đẩy nhanh
quá trình đồng thuận nhưng không làm thay đổi điểm đồng thuận của mô hình Ye 2. . . . . 131
8.8 Đồ thị mô tả các tác tử trong ví dụ 8.4.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.9 Đồng thuận với ma trận Laplace theo mô hình Ahn: Trái - Chủ đề 1 (𝑥 𝑖,1 , 𝑖 = 1 , . . . , 5). Giữa -
Chủ đề 2 (𝑥 𝑖,2 , 𝑖 = 1 , . . . , 5). Phải - Chủ đề 3 (𝑥 𝑖,3 , 𝑖 = 1 , . . . , 5). . . . . . . . . . . . . . . . 132
8.10 Mô phỏng mô hình Hegselmann - Krausse với 𝑑 = 0.2 , 0.4 , . . . , 1.2. . . . . . . . . . . . . . 134
8.11 (a) Đồ thị dấu cân bằng cấu trúc; (b) Đồ thị dấu không cân bằng cấu trúc . . . . . . . . . 135
8.12 Mô phỏng mô hình Altafini với các đồ thị trong Ví dụ 8.6.1. . . . . . . . . . . . . . . . . . . 136
9.1 Ví dụ đồ thị trọng số ma trận trong đó cạnh màu đỏ thể hiện một cạnh xác định dương và
cạnh màu xanh thể hiện một cạnh xác định dương hoặc bán xác định dương. Đồ thị với các
cạnh màu đỏ là một cây bao trùm xác định dương của 𝐺. . . . . . . . . . . . . . . . . . . . 139
9.2 Đồ thị minh họa hệ bốn tác tử trong Ví dụ 9.2.1. . . . . . . . . . . . . . . . . . . . . . . . . 143
9.3 Ví dụ 9.2.1: Thay đổi của biến trạng thái của hệ với luật đồng thuận (9.5). . . . . . . . . . 143
9.4 Đồ thị gồm 5 đỉnh ở Ví dụ 9.2.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.5 Ví dụ 9.2.2: Thay đổi của biến trạng thái của hệ với luật đồng thuận (9.5). . . . . . . . . . 144
9.6 Ví dụ về đồ thị cây có hướng với đỉnh 1 là gốc ra. . . . . . . . . . . . . . . . . . . . . . . . . 148
Cơ sở
1 Giới thiệu về hệ đa tác tử
Tuy khái niệm về hệ đa tác tử mới được ra đời trong vài thập kỉ gần
đây, các hệ thống đa tác tử (tự nhiên và nhân tạo) đã được quan sát,
phân tích, nghiên cứu bởi nhiều ngành khoa học và kĩ thuật khác nhau
từ rất lâu.
Đầu tiên có thể kể đến các hiện tượng bầy đàn trong tự nhiên ở chim sẻ,
cá, và côn trùng. Khi di cư lên đầu nguồn để sinh sản, cá hồi bơi thành
đàn lớn để tiết kiệm năng lượng cũng như tăng khả năng sống sót trước
các loài thiên địch. Một đàn châu chấu có thể di chuyển với số lượng
hàng triệu con từ vùng này sang vùng khác, tạo thành hiện tượng mưa
châu chấu có sức tàn phá lớn hơn rất nhiều so với vài trăm cá thể đơn
lẻ. Một hiện tượng thú vị khác là các con đom đóm trong một diện
tích rộng lại có thể đồng điệu chớp sáng cùng với nhau. Nghiên cứu
của các nhà sinh vật học đã chỉ ra rằng, tuy các hiện tượng này thể
hiện bên ngoài khá phức tạp, cơ chế nảy sinh chúng lại khá đơn giản,
và hầu như chỉ dựa trên tương tác giữa các cá thể lân cận trong hệ.
Một mô hình đơn giản lấy cảm hứng từ tự nhiên đã được đề xuất bởi
[110]: Reynolds (1987), “Flocks, herds Reynolds [110]. Trong mô hình này, mỗi tác tử (được gọi là một boid
and schools: A distributed behavioral trong bài báo) di chuyển trong không gian ba chiều tuân theo ba qui
model”
tắc đơn giản là chia tách, căn chỉnh, và gắn kết. Với ba luật đơn giản
trên, Reynolds đã mô phỏng lại được một loạt các hiện tượng quan
sát được trong tự nhiên. Một mô hình khác được đề xuất bởi nhóm
[148]: Vicsek andothers (1995), “Novel nghiên cứu của nhà vật lý học Vicsek [148] mô tả hệ các tác tử chuyển
type of phase transition in a system động trên mặt phẳng với cùng tốc độ nhưng với hướng khác nhau. Mỗi
of self-driven particles”
tác tử cập nhật hướng đi của mình dựa trên trung bình cộng về góc
hướng của tác tử đó và các tác tử lân cận và một thành phần nhiễu từ
môi trường. Phân tích và mô phỏng cho thấy, nếu như nhiễu là không
đáng kể, theo thời gian, các tác tử dần di chuyển theo cùng một hướng.
[58]: Jadbabaie andothers (2003), Phân tích toán học của các hiện tượng này sau đó được trình bày vào
“Coordination of groups of mobile au-
khoảng năm 2003 dựa trên lý thuyết về các hệ đồng thuận rời rạc [58].
tonomous agents using nearest neigh-
bor rules” Hiện nay, những hiện tượng tự nhiên thường được nghiên cứu từ quan
1.2 Điều khiển hệ đa tác tử 3
sát thực tế, sau đó lập mô hình giản lược và phân tích ngược lại dựa
trên toán học. Tương tác lẫn nhau giữa các tác tử trong hệ thường
được mô tả dựa trên cung cụ chính là lý thuyết đồ thị đại số. Lý thuyết
điều khiển là một trong những công cụ đang được sử dụng rộng rãi
trong phân tích các hệ đa tác tử, giúp đưa ra một số kết luận về tính
hội tụ, ổn định, điều khiển được và tính quan sát được. Hơn thế, những
luật tự điều chỉnh trong tự nhiên [self-organized systems] là cảm hứng
self-organized systems
để thiết kế lời giải cho các bài toán về hệ đa tác tử nhân tạo.
Ví dụ về hệ đa tác tử nhân tạo có thể kể đến hệ thống sản xuất và
phân phối điện năng. Trong hệ thống này, mỗi nhà máy phát điện lớn
hay mỗi hộ gia đình có máy phát điện cỡ nhỏ (máy phát điện gió, diesel
hay pin mặt trời) đều có thể coi là một tác tử, nhưng qui mô và mức
ảnh ưởng của các tác tử trong hệ khác nhau. Lưới điện đã được xây
dựng và không ngừng mở rộng từ khi điện năng còn chưa được sử dụng
rộng rãi. Việc vận hành và xây dựng lưới điện phần lớn tự phát theo
nhu cầu. Điều này dẫn đến những vấn đề về an toàn và khả năng chống
chịu, phục hồi của hệ thống khi sự cố xảy ra. Nhiều sự kiện xảy ra trên
thế giới đã cho thấy, một sự cố xảy ra tại một nơi gây ảnh hưởng sập
lưới trên diện rộng hay thậm chí toàn bộ lưới điện. Do ảnh hưởng sâu
rộng của lưới điện với đời sống con người, nghiên cứu về hệ thống điện
từ góc độ một hệ đa tác tử là một hướng nghiên cứu đã và đang được
nhiều quan tâm [39, 56].
[39]: Dörfler andothers (2018), “Elec-
Một ví dụ khác là các hệ thống giao thông trên đường cao tốc, khi trical networks and algebraic graph
các hệ thống xe tự lái đi vào hoạt động. Khi lưu thông trên đường cao theory: Models, properties, and ap-
plications”
tốc, các xe tải cần lập thành một đội xe (platooning) để di chuyển với [56]: Hoang andothers (2017), “A dis-
cùng vận tốc và giữ khoảng cách giữa các xe định trước. Việc lập đội tributed control algorithm via saddle
xe ngoài đảm bảo tính an toàn và tiết kiệm nhiên liệu còn giúp tăng point dynamics for optimal resource
lưu lượng xe và hạn chế ách tắc trên đường. Bài toán lập đội xe là một allocation problem over netwoked sys-
tems”
trường hợp riêng trong bài toán lớn hơn là bài toán về điều khiển đội
hình sẽ được phân tích ở chương 5 [88]. Từ một góc độ khác, ta có thể
[88]: Oh andothers (2015), “A survey
coi mỗi con đường cùng lưu lượng xe là một tác tử, và mạng lưới giao
of multi-agent formation control”
thông là một hệ thống đa tác tử khổng lồ. Giả sử rằng hệ thống đèn
tín hiệu có thể điều khiển lưu lượng và sự luân chuyển xe giữa các con
đường, bài toàn điều khiển giao thông có thể qui về bài toán sản xuất
và phân phối hay rộng hơn là bài toán tối ưu phân tán [79, 62, 80].
[79]: Nedić andothers (2018), “Dis-
Một hướng nghiên cứu đang được quan tâm hiện nay là về các hiện tributed optimization for control”
tượng xã hội học, hay nghiên cứu về các mạng xã hội. Những mô hình [62]: Kim andothers (2014), “Dis-
tributed coordination and control for
toán phân tích động học của ý kiến được đưa ta từ nửa sau của thế a freeway traffic network using con-
kỷ 20 (mô hình French-Degroot [48, 35], Abelson [1], hay Friedkin- sensus algorithms”
Johnsen [49]) tương đồng với mô hình hệ đồng thuận trong điều khiển. [80]: Nguyen andothers (2017), “Dis-
Mối liên hệ thú vị này, cùng với các hiện tượng xã hội khó dự đoán xảy tributed learning in a multi-agent po-
tential game”
ra trên các mạng xã hội nảy sinh các bài toán phân tích các mạng xã
[48]: French Jr. (1956), “A formal the-
hội. Hơn thế nữa, việc phân tích và dự báo các hiện tượng lan truyền ory of social power”
thông tin có thể được sử dụng chống lại việc sử dụng mạng xã hội vào [35]: DeGroot (1974), “Reaching a
các mục đích xấu, ví dụ như lan truyền tin tức giả, hay chi phối dư consensus”
luận ở các chính quyền độc tài [104, 103]. [1]: Abelson (1967), “Mathematical
models in social psychology”
[49]: Friedkin (1986), “A formal the-
ory of social power”
1.2 Điều khiển hệ đa tác tử [104]: Proskurnikov andothers (2017),
“A tutorial on modeling and analysis
of dynamic social networks: Part I”
Từ góc nhìn của hệ thống điều khiển, trọng tâm nghiên cứu về hệ đa [103]: Proskurnikov andothers (2018),
tác tử đi về ba bài toán: (i) mô hình hóa hệ đa tác tử, (ii) phân tích “A tutorial on modeling and analysis
of dynamic social networks: Part II”
4 1 Giới thiệu về hệ đa tác tử
tính hội tụ, ổn định và chất lượng của hệ đa tác tử, (iii) thiết kế luật
điều khiển cũng như tổng hợp các hệ đa tác tử theo những mục tiêu,
giới hạn cho trước.
Một mô hình toán học hữu ích cần phải thể hiện được động học/động
lực học của từng tác tử, sự tương tác giữa các tác tử trong hệ thống,
và sự vận động của tất cả tác tử như một hệ thống thống nhất. Tuy
nhiên, mô hình này cũng cần phải đủ đơn giản cho việc phân tích, thiết
kế luật điều khiển, và mô phỏng. Các hệ đa tác tử, từ định nghĩa, luôn
mang trong mình tính phân tán và phi tập trung. Trong nhiều trường
hợp, việc thiết kế một bộ điều khiển trung tâm để điều khiển mọi tác
tử riêng rẽ là không thực tế. Bởi vậy, nghiên cứu điều khiển hệ đa tác
tử chủ yếu quan tâm tới việc thiết kế các thuật toán, sách lược điều
khiển phi tập trung và phân tán. Tính phi tập trung/phân tán của các
sách lược điều khiển thể hiện ở các điểm sau:
Qui Mô Bài toán điều khiển hệ đa tác tử là một bài toán phức tạp,
với một hay một số yêu cầu khác nhau đối với các biến trạng
thái chung, hay còn gọi là những biến toàn cục của hệ.
Giới Hạn Thông Tin Mỗi tác tử bị giới hạn về khả năng liên lạc, đo
đạc các thông tin toàn cục của hệ. Giả sử mỗi tác tử chỉ có thông
tin về một số biến trạng thái của hệ (biến trạng thái cục bộ), và
có thể trao đổi thông tin với một số lượng nhỏ các tác tử lân cận
khác trong hệ. Những thông tin thu được từ đo đạc và trao đổi
của mỗi tác tử gọi chung là các thông tin địa phương. Hơn nữa,
phạm vi điều khiển của một tác tử cũng bị hạn chế, một tác tử
chỉ có thể tác động tới một số tác tử xung quanh mình.
Luật Điều Khiển Địa Phương Mỗi tác tử đưa ra quyết định điều khiển
dựa trên các thông tin địa phương để giải quyết một bài toán
nhỏ của mình, nhằm đạt được các yêu cầu đối với các biến trạng
thái địa phương.
Động Học/Động Lực Học Toàn Hệ Sự thay đổi/vận động chung của
hệ đa tác tử dựa trên việc các tác tử giải quyết các bài toán nhỏ
một cách độc lập (có thể tuần tự hoặc đồng thời) và thường khác
biệt và phức tạp hơn khá nhiều so với động học/động lực học
của từng tác tử đơn lẻ.
Như vậy, ta có thể nhìn nhận một thuật toán điều khiển phân tán là
một cách phân chia một bài toán lớn thành nhiều bài toán nhỏ, sao
cho các bài toán nhỏ có thể giải quyết bởi mỗi tác tử nhờ các thông
tin địa phương.
So sánh với thiết kế điều khiển tập trung, điều khiển phi tập trung/phân
tán không đòi hỏi có một bộ điều khiển trung tâm mà chỉ dựa trên
việc trao đổi, đo đạc, và tính toán tại địa phương. Điều này giúp giảm
chi phí hiện thực hóa các hệ đa tác tử. Một lợi ích khác của điều khiển
phi tập trung/phân tán là khả năng mở rộng và phát triển hệ đa tác
tử. Do các tác tử được xét tương tự nhau (có thể sai khác nhau về tỉ
lệ), các luật điều khiển phi tập trung/phân tán cho mỗi tác tử là tương
tự nhau và không phụ thuộc vào số lượng tác tử. Điều đó có nghĩa là
ta chỉ cần thiết kế một luật điều khiển phổ quát cho tác tử một lần, và
không cần thay đổi luật điều khiển này khi tăng số lượng tác tử trong
hệ sau này. Cuối cùng, do ta chia nhỏ bài toán lớn thành các bài toán
nhỏ cho các tác tử, ảnh hưởng khi một tác tử không hoàn thành nhiệm
vụ tới toàn hệ sẽ được hạn chế. Chú ý rằng một số nghiên cứu xét tới
1.3 Ghi chú và tài liệu tham khảo 5
điều khiển hệ đa tác tử có phương trình động học/động lực học cụ thể
khác nhau. Luật điều khiển và phân tích trong những trường hợp này
thường bao quát được những sai khác mô hình của từng tác tử trong
hệ.
Đi kèm với những lợi thế kể trên, các phương pháp điều khiển phi tập
trung/phân tán cũng có những hạn chế, khó khăn của mình. Đầu tiên
là khó khăn trong thiết kế luật điều khiển phi tập trung/phân tán. Giả
sử ta có một hệ thống và các yêu cầu cần đạt được. Khi có đầy đủ
thông tin về các biến trạng thái, ta có thể phân tích và thiết kế bộ điều
khiển tập trung một cách dễ dàng dựa trên các phương pháp thiết kế
điều khiển truyền thống. Tuy nhiên, khi thiết kế luật điều khiển phi
tập trung/phân tán, mỗi tác tử bị hạn chế về thông tin, do đó nhiều
khi mặc dù các tác tử hoàn thành nhiệm vụ riêng của mình, hệ đa tác
tử vẫn không đạt được toàn bộ các yêu cầu của bài toán thiết kế. Nói
cách khác, lượng thông tin giảm bớt được đánh đổi bởi chất lượng của
hệ thống và sẽ được minh họa trong bài toán điều khiển đội hình ở
chương sau. Thứ hai, mặc dù các luật điều khiển địa phương thường
đơn giản, động học chung của cả hệ đa tác tử thường phức tạp hơn rất
nhiều. Các hệ đa tác tử trong thực tế là các hệ phi tuyến và có những
yếu tố bất định trong mô hình cũng như bị ảnh hưởng từ môi trường
bên ngoài. Tuy nhiên, những mô hình xấp xỉ hóa, tuyến tính là cơ sở
3: Một phần lớn nội dung của tài liệu
cho nghiên cứu các mô hình phức tạp hơn.3 Nhìn chung, các hệ đa tác này sẽ đề cập tới việc mô hình hóa,
tử đều có một cơ sở nghiên cứu chung (đại số tuyến tính, lý thuyết đồ phân tích và thiết kế các hệ đa tác tử
thị,lý thuyết điều khiển) và tùy ứng dụng cụ thể mà có một số công cụ tuyến tính.
phân tích, thiết kế được phát triển riêng. Một vấn đề khác là an toàn
của các hệ đa tác tử khi bị tấn công hay khi có tác tử gặp sự cố. Một
tác động địa phương có thể bị nhân lên thành một thảm họa cho cả hệ
thống nếu như hệ không được thiết kế với khả năng phát hiện và cô
lập các sự cố một cách phân tán và theo thời gian thực.
Một điểm đặc biệt của các hệ đa tác tử nhân tạo (lưới điện, hệ giao
thông, mạng xã hội,...) là chúng đã được xây dựng và phát triển trước
khi có một lý thuyết chung về hệ đa tác tử. Sự phát triển của các hệ đa
tác tử sẽ nảy sinh nhu cầu về nghiên cứu về hệ đa tác tử. Để sử dụng
tài liệu này, người đọc cần kiến thức cơ bản về đại số tuyến tính [119], [119]: Strang (1988), Linear Algebra
lý thuyết điều khiển [8, 84, 60], lý thuyết đồ thị [152, 19] và tối ưu and Its Applications
hóa [24]. Một số kiến thức liên quan về đại số tuyến tính, lý thuyết [8]: Antsaklis andothers (2006), Lin-
điều khiển tuyến tính và phi tuyến được trình bày trong phần phụ lục ear Systems
để tiện tham khảo. [84]: Ogata (2009), Modern control
engineering
Trong phần I, cơ sở về lý thuyết đồ thị sẽ được trình bày ở chương 2. [60]: Khalil (2002), Nonlinear Systems
Tiếp theo, ở phần II, một số kết quả quan trọng trong phân tích hệ [152]: West (1996), Introduction to
graph theory
đồng thuận sẽ được trình bày. Những kết quả về hệ đồng thuận tuyến [19]: Biggs (1993), Algebraic Graph
tính ở chương 3, mặc dù đơn giản nhưng là khởi điểm cho các nghiên Theory
cứu về các hệ đa tác tử trong hai thập kỉ qua. Những ứng dụng của hệ [24]: Boyd andothers (2004), Convex
đồng thuận trong các bài toán như điều khiển đội hình, giữ liên kết, optimization
tránh va chạm, định vị mạng cảm biến và một số mô hình động học
quan điểm trong nghiên cứu mạng xã hội sẽ được giới thiệu ở phần III,
trong các chương 5–8 nhằm cung cấp những ví dụ cụ thể về việc thiết
kế, phân tích các hệ đa tác tử hiện nay. Các ví dụ mô phỏng, tính toán
6 1 Giới thiệu về hệ đa tác tử
viết trên MATLAB/SIMULINK được cung cấp để hỗ trợ độc giả tiếp
cận các kết quả lý thuyết trong tài liệu.
Lý thuyết đồ thị 2
Đồ thị là một cấu trúc rời rạc gồm các đỉnh và các cạnh nối các đỉnh 2.1 Đồ thị ........ . . . . 7
đó. Tính trừu tượng hóa cao của đồ thị cho phép mô tả nhiều bài toán 2.1.1 Đồ thị vô hướng . . . . . 7
trong các lĩnh vực khác nhau. Không quá khi nhận xét rằng, gần như 2.1.2 Đồ thị hữu hướng . . . . 10
mọi bài toán về hệ đa tác tử đều ít nhiều dựa trên những kết quả khác 2.1.3 Đồ thị có trọng số . . . . 11
nhau từ lý thuyết đồ thị. Ví dụ, người ta có thể dùng đồ thị để biểu 2.2 Đại số đồ thị . . . . . . . . 11
diễn ảnh hưởng xã hội giữa các thành viên trong một tổ chức, để mô 2.2.1 Một số ma trận của đồ
tả dòng phương tiện giữa các nút giao thông khác nhau, hay để biểu thị . . . . . . . . . . . . . . . 11
2.2.2 Ma trận Laplace của đồ
diễn những luồng thu thập, trao đổi thông tin trong một mạng cảm
thị hữu hướng . . . . . . . 17
biến, . . . .
2.3 Ghi chú và tài liệu tham
Mục tiêu của chương này là tổng kết những kết quả của lý thuyết đồ khảo . . . . . . . . . . . . . . 20
thị thường dùng trong nghiên cứu về hệ đa tác tử. Đầu tiên, các định 2.4 Bài tập . . . . . . . . . . . . 21
nghĩa và kết quả cơ bản về đồ thị theo lý thuyết tập hợp được giới
thiệu trong mục 2.1. Tiếp theo, mục 2.2 trình bày các cấu trúc đại số
để mô tả đồ thị, ví dụ như ma trận liền kề, ma trận liên thuộc, và ma
1: Bởi vậy, với đồ thị vô hướng 𝐺, ta
trận Laplacian. Hai mục 2.1 và 2.2 là nền tảng để mô tả các hệ đa tác
chỉ cần liệt kê (𝑣 𝑖 , 𝑣 𝑗 ) là đủ hiểu rằng
tử và sẽ được dùng trong phân tích hệ đồng thuận ở Chương 3. cả (𝑣 𝑖 , 𝑣 𝑗 ) và (𝑣 𝑗 , 𝑣 𝑖 ) đều thuộc 𝐸.
2.1 Đồ thị 𝑣4 𝑣3
Một đồ thị đơn, hữu hạn, vô hướng (hay gọi ngắn gọn là một đồ thị)
𝐺 = (𝑉 , 𝐸), gồm một tập đỉnh 𝑉 = {𝑣 1 , 𝑣2 , . . . , 𝑣 𝑛 } với |𝑉 | = 𝑛 > 0 𝑣1 𝑣2
phần tử, và một tập cạnh 𝐸 = {(𝑣 𝑖 , 𝑣 𝑗 )| 𝑖, 𝑗 = 1 , . . . , 𝑛, 𝑖 ≠ 𝑗} ∈ 𝑉 × 𝑉 (a) 𝐺1
với |𝐸| = 𝑚 phần tử. Ta gọi 𝑣 𝑖 ∈ 𝑉 và (𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸 tương ứng là môt
đỉnh và một cạnh của đồ thị 𝐺. Do đồ thị là vô hướng nên nếu có 𝑣1
(𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸 thì cũng có (𝑣 𝑗 , 𝑣 𝑖 ) ∈ 𝐸.1 Khi có nhiều đồ thị khác nhau, ta
kí hiệu tập đỉnh và tập cạnh tương ứng của đồ thị 𝐺 bởi 𝑉(𝐺) và 𝐸(𝐺). 𝑣2 𝑣5
Trong một số ngữ cảnh, để đơn giản, ta có thể kí hiệu đỉnh 𝑣 𝑖 bởi 𝑖,
cạnh (𝑣 𝑖 , 𝑣 𝑗 ) bởi (𝑖, 𝑗) hoặc 𝑒 𝑖𝑗 .
Mỗi đồ thị 𝐺 có một biểu diễn hình học tương ứng, gồm các vòng tròn
𝑣3 𝑣4
nhỏ biểu diễn các đỉnh 𝑣 𝑖 ∈ 𝑉, và các đoạn thẳng (hay các cung) nối
(b) 𝐺2
𝑣 𝑖 với 𝑣 𝑗 nếu (𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸.
𝑣10
Ví dụ 2.1.1 Trên hình 2.1:
I Đồ thị 𝐺1 = (𝑉1 , 𝐸1 ) có tập đỉnh 𝑉1 = {𝑣 1 , 𝑣 2 , 𝑣 3 , 𝑣 4 } và tập 𝑣20 𝑣50
cạnh 𝐸1 = {(𝑣1 , 𝑣2 ), (𝑣2 , 𝑣3 ), (𝑣3 , 𝑣4 ), (𝑣4 , 𝑣1 ), (𝑣1 , 𝑣3 )}.
I Đồ thị 𝐺2 = (𝑉2 , 𝐸2 ) có tập đỉnh 𝑉2 = {𝑣 1 , 𝑣 2 , 𝑣 3 , 𝑣 4 , 𝑣 5 } và tập
cạnh 𝐸2 = {(𝑣1 , 𝑣2 ), (𝑣2 , 𝑣3 ), (𝑣3 , 𝑣4 ), (𝑣4 , 𝑣5 ), (𝑣5 , 𝑣1 )}.
I Đồ thị 𝐺3 = (𝑉3 , 𝐸3 ) có tập đỉnh 𝑉3 = {𝑣 1 , 𝑣 2 , 𝑣 3 , 𝑣 4 , 𝑣 5 } và tập 𝑣30 𝑣40
cạnh 𝐸3 = {(𝑣1 , 𝑣3 ), (𝑣3 , 𝑣5 ), (𝑣5 , 𝑣2 ), (𝑣2 , 𝑣4 ), (𝑣4 , 𝑣1 )}.
(c) 𝐺3
Hình 2.1: Một số ví dụ về đồ thị vô
Giả sử (𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸(𝐺) thì ta nói 𝑣 𝑖 , 𝑣 𝑗 là hai đỉnh kề nhau (kí hiệu hướng.
𝑣 𝑖 ∼ 𝑣 𝑗 ), và đỉnh 𝑣 𝑖 gọi là liên thuộc với cạnh (𝑣 𝑖 , 𝑣 𝑗 ). Hai cạnh phân
8 2 Lý thuyết đồ thị
biệt có chung một đỉnh gọi là hai cạnh kề. Hai đồ thị là đẳng cấu nếu
tồn tại một song ánh giữa hai tập đỉnh mà bảo toàn quan hệ liền kề.
Từ nay, ta không phân biệt giữa hai đồ thị đẳng cấu . Nếu 𝐺 và 𝐻 là
hai đồ thị đẳng cấu , ta viết 𝐺 𝐻 hoặc đơn giản là 𝐺 = 𝐻.
Tập láng giềng của đỉnh 𝑣 𝑖 của đồ thị 𝐺 được định nghĩa bởi 𝑁(𝑣 𝑖 ) =
{𝑣 𝑗 | (𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸}. Bậc của đỉnh 𝑣 𝑖 là số phần tử của tập láng giềng
𝑁(𝑣 𝑖 ), tức là deg(𝑣 𝑖 ) = |𝑁(𝑣 𝑖 )|. Ta cũng có thể định nghĩa bậc của một
đỉnh trong đồ thị là số cạnh liên thuộc với nó. Khi chỉ có một đồ thị
𝐺, ta có thể dùng kí hiệu rút gọn 𝑁(𝑣 𝑖 ) = 𝑁𝑖 và deg(𝑣 𝑖 ) = deg𝑖 . Khi có
nhiều đồ thị khác nhau, ta thêm kí hiệu đồ thị như một chỉ số dưới. Ví
dụ nếu 𝐻 là một đồ thị con được dẫn xuất của 𝐺 và 𝑣 ∈ 𝐻 thì
Nếu 𝐸0 ⊂ 𝐸(𝐺) thì 𝐺 − 𝐸0 , (𝑉 , 𝐸(𝐺) \ 𝐸0) gọi là đồ thị thu hẹp từ 𝐺 sau
khi ta xóa đi các cạnh trong 𝐸0. Tương tự, nếu 𝑉 0 ⊂ 𝑉(𝐺) thì 𝐺 − 𝑉 0 là
đồ thị thu hẹp từ 𝐺 sau khi xóa đi các đỉnh thuộc 𝑉 0, với qui ước rằng
khi một đỉnh 𝑣 ∈ 𝑉 0 bị xóa đi thì các cạnh kề với 𝑣 cũng bị xóa đi. Nói
cách khác, nếu 𝐺 = (𝑉 , 𝐸) thì 𝐺 − 𝑉 0 = (𝑉 \ 𝑉 0 , 𝐸 ∩ (𝑉 \ 𝑉 0) × (𝑉 \ 𝑉 0)).
Nếu 𝑉 0 = {𝑣}, ta thường viết 𝐺 − 𝑣 thay cho 𝐺 − {𝑣}. Tương tự, ta viết
𝐺 − 𝑒 thay cho 𝐺 − {𝑒}. Với đồ thị 𝐻 ⊂ 𝐺, ta có thể viết 𝐺 − 𝐻 thay
cho 𝐺 − 𝑉(𝐻). Nếu cạnh 𝑒 ∈ 𝑉 × 𝑉 \ 𝐸 thì đồ thị mở rộng từ 𝐺 bằng
cách thêm vào cạnh 𝑒 được kí hiệu là 𝐺 + 𝑒 = (𝑉 , 𝐸 ∪ {𝑒}). Ta cũng có
những định nghĩa tương tự cho đồ thị mở rộng nhờ thêm đỉnh.
2.1 Đồ thị 9
Hình 2.2: Ví dụ về các lát cắt cạnh của đồ thị 𝐺 gồm 5 đỉnh và 8 cạnh.
Với 𝑉 = {𝑣1 , . . . , 𝑣 𝑛 }, {deg(𝑣 𝑖 )}1𝑛 gọi là chuỗi bậc của 𝐺. Thông thường,
ta sắp xếp các đỉnh sau cho chuỗi bậc là đơn điệu tăng hoặc đơn điệu
giảm. Dễ thấy rằng
𝑛
X
deg(𝑣 𝑖 ) = 2 |𝐸(𝐺)| = 2𝑚,
𝑖=1
P𝑛
do đó tổng chuỗi bậc 𝑖=1
deg(𝑣 𝑖 ) luôn luôn là một số chẵn.
Với 𝑢 và 𝑣 là hai đỉnh không nhất thiết trùng nhau của 𝐺, một
đường mòn 𝑊 nối 𝑢 − 𝑣 là một chuỗi luân phiên giữa đỉnh và cạnh,
𝑢1 , 𝑒1 , 𝑢2 , 𝑒2 , . . . , 𝑢𝑙 , 𝑒 𝑙 , 𝑢𝑙+1 , sao cho 𝑢1 = 𝑢 (đỉnh đầu), 𝑢𝑙+1 = 𝑣 (đỉnh
cuối), và các cạnh 𝑒 𝑖 = (𝑢𝑖 , 𝑢𝑖+1 ) ∈ 𝐸(𝐺), 1 ≤ 𝑖 ≤ 𝑙 là đôi một khác nhau.
Thông thường, ta kí hiệu 𝑊 = 𝑣1 𝑣2 . . . 𝑣 𝑙+1 bởi dưới dạng này có thể xác
định rõ các cạnh của 𝑊. Độ dài của đường mòn 𝑊 này là 𝑙. Tập đỉnh
và tập cạnh của 𝑊 được kí hiệu lần lượt là 𝑉(𝑊) = {𝑣 𝑖 | 𝑖 = 1 , . . . , 𝑙 + 1}
và 𝐸(𝑊) = {𝑒 𝑖 | 𝑖 = 1 , . . . , 𝑙 + 1}. Một lối mòn có tất cả các đỉnh đôi
một khác nhau (có thể trừ đỉnh đầu và đỉnh cuối) gọi là một đường
đi. Một lối mòn có đỉnh đầu và đỉnh cuối trùng nhau được gọi là một
mạch (circuit). Một đường đi có đỉnh đầu và đỉnh cuối trùng nhau với
độ dài 𝑙 ≥ 3 được gọi là một chu trình.
Một đồ thị là liên thông nếu tồn tại ít nhất một đường đi giữa hai đỉnh
bất kì của đồ thị. Ngược lại, ta gọi đồ thị là không liên thông. Một đồ
thị con liên thông tối đa của 𝐺 là một đồ thị con 𝐻 = (𝑉(𝐻), 𝐸(𝐺) ∩
𝑉(𝐻) × 𝑉(𝐻)) sao cho 𝐻 là liên thông và không có đường đi nào trong
𝐸(𝐺) nối 𝐻 với các đỉnh 𝑣 ∈ 𝑉(𝐺) \ 𝑉(𝐻). Ta thường gọi 𝐻 là một
thành phần của đồ thị 𝐺.
Một đồ thị liên thông không chứa chu trình nào gọi là một cây. Một
đồ thị không chứa chu trình nào gọi là một rừng. Một cây chứa tất cả
các đỉnh của đồ thị gọi là một cây bao trùm. Một cây có 𝑛 đỉnh thì
luôn có 𝑛 − 1 cạnh. Đường đi giữa hai đỉnh bất kì trong một cây là duy
nhất. Một rừng gồm 𝑛 đỉnh và 𝑐 thành phần có 𝑛 − 𝑐 cạnh.
Khoảng cách giữa hai đỉnh 𝑢, 𝑣, kí hiệu bởi 𝑑(𝑢, 𝑣) là độ dài nhỏ nhất
10 2 Lý thuyết đồ thị
Hình 2.3: Ví dụ về các lát cắt đỉnh của đồ thị 𝐺 gồm 5 đỉnh và 8 cạnh.
của một đường đi nối 𝑢 với 𝑣. Nếu như không tồn tại một đường đi
nào nối 𝑢 − 𝑣, hay nói cách khác, 𝑢 và 𝑣 thuộc về hai thành phần khác
nhau, ta qui ước 𝑑(𝑢, 𝑣) = ∞.
Ghi chú 2.1.1 Trong các định nghĩa ở trên, ta không xét đồ thị có
chứa khuyên (một cạnh nối một đỉnh với chính nó) và giả thuyết
rằng giữa hai đỉnh bất kì chỉ được nối bởi một cạnh (không có các
cạnh cạnh bội). Một đồ thị có cạnh bội gọi là một đa đồ thị. Một đa
đồ thị có chứa khuyên gọi là một giả đồ thị.
Giả sử 𝐺 = (𝑉 , 𝐸) là một đồ thị liên thông. Mỗi lát cắt đỉnh là một
tập con của 𝑉 mà khi loại bỏ nó thì đồ thị mất tính liên thông. Trị số
liên kết đỉnh của 𝐺, kí hiệu 𝜅0 (𝐺) là số đỉnh nhỏ nhất trong mọi lát
cắt đỉnh của 𝐺. Tương tự, ta định nghĩa lát cắt cạnh là một tập con
của 𝐸 mà nếu loại bỏ nó sẽ làm đồ thị 𝐺 mất tính liên thông. Số cạnh
tối thiểu trong mọi lát cắt cạnh của 𝐺 gọi là trị số liên kết cạnh và kí
hiệu bởi 𝜅1 (𝐺). Ví dụ về các lát cắt đỉnh và lát cắt cạnh được cho như
trong Hình 2.2 và 2.3
Một đồ thị hữu hướng 𝐺 định nghĩa bởi một tập đỉnh 𝑉 = 𝑉(𝐺) cùng
với một tập các cạnh hữu hướng 𝐸 = 𝐸(𝐺) ∈ 𝑉 × 𝑉. Một cạnh có hướng
(𝑢, 𝑣) ∈ 𝐸 (với 𝑢 ≠ 𝑣) được biểu diễn hình học bởi một cung có hướng
từ đỉnh 𝑢 tới đỉnh 𝑣. Khi làm việc với đồ thị hữu hướng, (𝑢, 𝑣) và (𝑣, 𝑢)
là hai cạnh khác nhau và có thể cùng tồn tại. Hơn nữa, nếu (𝑢, 𝑣) ∈ 𝐸
thì không suy ra được rằng (𝑣, 𝑢) ∈ 𝐸. Hầu hết các định nghĩa cho đồ
thị vô hướng có thể được mở rộng ngay cho đồ thị có hướng. Với mỗi
đỉnh 𝑢 ∈ 𝑉, ta định nghĩa bậc-ra của đỉnh 𝑢 là số cạnh có hướng xuất
phát từ 𝑢, kí hiệu deg+ (𝑢). Định nghĩa tập láng giềng-ra của đỉnh 𝑢
2: Chú ý rằng một số tài liệu sử dụng
bởi 𝑁 + (𝑢) = {𝑣| (𝑢, 𝑣) ∈ 𝐸} thì ta có deg+ (𝑢) = |𝑁 + (𝑢)|.2 Hoàn toàn
kí hiệu deg𝑜𝑢𝑡 (𝑢) và 𝑁𝑜𝑢𝑡 (𝑢) với cùng
ý nghĩa. tương tự, ta có thể định nghĩa bậc-vào deg− (𝑢) và tập láng giềng-vào
𝑁 − (𝑢) của đỉnh 𝑢. Nếu đồ thị 𝐺 có deg+ (𝑢) = deg− (𝑢) với mọi 𝑢 ∈ 𝑉
thì 𝐺 gọi là một đồ thị cân bằng.
𝑢 − 𝑣, thì 𝐺 gọi là một đồ thị liên thông mạnh. Có thể thấy rằng khi
đồ thị là vô hướng thì việc xét hai khái niệm liên thông yếu và liên
thông mạnh là tương đương.
Nếu trong đồ thị hữu hướng 𝐺 = (𝑉 , 𝐸), tồn tại một đỉnh 𝑢 ∈ 𝑉 sao
cho với mọi 𝑣 ∈ 𝐸, 𝑣 ≠ 𝑢, ta đều tìm được một đường đi hữu hướng từ
𝑢 tới 𝑣 trong 𝐺, thì đỉnh 𝑢 gọi là một gốc-ra của 𝐺, và 𝐺 gọi là một
đồ thị có gốc-ra tại 𝑢. Khi đó, 𝐺 chứa một cây bao trùm có hướng 𝑇
sao cho từ gốc-ra 𝑢 có thể đi đến tất cả các đỉnh khác trong 𝑇. Tương
tự, nếu trong 𝐺 tồn tại một đỉnh 𝑢 ∈ 𝑉 sao cho với mọi 𝑣 ∈ 𝐸, 𝑣 ≠ 𝑢,
ta đều tìm được một đường đi hữu hướng trong 𝐺 từ 𝑣 tới 𝑢, thì đỉnh
𝑢 gọi là một gốc-vào của 𝐺, còn 𝐺 được gọi là một đồ thị có gốc-vào
tại 𝑢. Khi đó, 𝐺 chứa một cây bao trùm có hướng 𝑇 sao cho gốc-vào 𝑢
có thể đi tới được từ tất cả các đỉnh khác trong 𝑇. Với một đồ thị liên
thông mạnh thì mọi đỉnh của đồ thị đều vừa là một gốc-vào cũng như
là một gốc-ra.
Với mỗi đỉnh 𝑢 bất kì của 𝐺, ta luôn có thể tìm được một đồ thị con,
liên thông mạnh, tối đa 𝐻 của 𝐺 sao cho 𝑢 ∈ 𝑉(𝐻). Ở đây, thuật ngữ
“tối đa” mang ý nghĩa là không tồn tại một đồ thị con liên thông mạnh
𝐾 nào của 𝐺 sao cho 𝐻 là một đồ thị con dẫn xuất của 𝐾. Chú ý rằng
đồ thị 𝐻 có thể chỉ chứa một đỉnh 𝑢. Với mọi đồ thị 𝐺, ta luôn có thể
phân hoạch 𝐺 thành các đồ thị con liên thông mạnh, tối đa. Mỗi đồ thị
con này gọi là một thành phần của 𝐺. Do tính tối đa của mỗi thành
phần, phân hoạch này của 𝐺 là duy nhất.
𝑣1 𝑣2 𝑣3 𝑣4 3 0 0 0
0 1 1 1 𝑣1
0 2 0 0
𝑣2 , D(𝐺1 ) = .
1 0 1 0
A(𝐺1 ) =
0 0 3 0
1 1 0 1 𝑣3 0
0 0 2
1 0 1 0 𝑣4
Dễ thấy ma trận kề A = A> luôn có các phần tử trên đường chéo chính
bằng 0, và các phần tử khác đều không âm. Hơn nữa, nếu đồ thị 𝐺 là
vô hướng thì ma trận kề là đối xứng A = A> .
Ma trận liên thuộc cho ta thông tin về cấu trúc của đồ thị 𝐺. Cụ thể,
nếu đồ thị 𝐺 là liên thông thì không gian rỗng của ma trận H được sinh
bởi vector 1𝑛 = [1 , . . . , 1]> , nói cách khác ker(H) = span{1𝑛 }. Trong
khi đó, không gian rỗng (hay hạt nhân) của ma trận H> liên hệ với
không gian chu trình 4 của đồ thị 𝐺.
4: cycle space
Xét một đồ thị định hướng 𝐻 của 𝐺 và giả sử rằng 𝐺 là liên thông.
Trong 𝐻, một vector đường đi đánh dấu5 z tương ứng với một đường
đi hữu hướng 𝑃 sao cho phần tử thứ 𝑖 của z = [𝑧1 , . . . , 𝑧 𝑚 ]> nhận giá
trị:
𝜇 = 𝑚 − 𝑛 + 1. (2.4)
Ví dụ 2.2.3 Xét ma trận liên thuộc trong ví dụ 2.2.2 (đồ thị trên
hình 2.4(a)). Không gian rỗng của H được sinh bởi vector 14 do đồ
thị là liên thông yếu. Dễ thấy hạt nhân của H> chứa các vector
I z1 = [1 , −1 , 0 , 1 , 0]> tương ứng với chu trình đi qua các đỉnh
𝑣1 , 𝑣2 , 𝑣3 , 𝑣1 ;
I z2 = [0 , 1 , −1 , 0 , 1]> tương ứng với chu trình đi qua các đỉnh
𝑣1 , 𝑣2 , 𝑣3 , 𝑣1 ;
I z3 = [1 , 0 , −1 , 1 , 1]> tương ứng với chu trình đi qua các đỉnh
𝑣1 , 𝑣2 , 𝑣3 , 𝑣4 , 𝑣1 .
Do z3 = z1 + z2 , z3 phụ thuộc tuyến tính với z1 và z2 . Như vậy
𝜇(𝐻) = 2 và ker(H> ) = span{z1 , z2 }. Có thể kiểm tra lại rằng 𝜇 =
𝑚 − 𝑛 + 1 = 5 − 4 + 1 = 2.
14 2 Lý thuyết đồ thị
−𝑎 𝑖𝑗 , nếu 𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗,
𝑙 𝑖𝑗 = P𝑛
𝑎 ,
𝑗=1 𝑖𝑗
nếu 𝑖 = 𝑗.
Ta cũng có thể định nghĩa ma trận L dựa trên ma trận liên thuộc. Với
một định hướng bất kỳ của 𝐺, ta có một ma trận liên thuộc H tương
ứng. Ma trận Laplace có thể viết dưới dạng:
L = H> H . (2.6)
Như vậy, với 𝐺 là đồ thị vô hướng thì ma trận Laplace L là đối xứng
và bán xác định dương. Do đó, các trị riêng của L là các số thực và ta
có thể sắp xếp chúng theo thứ tự tăng dần như sau:
Định lý 2.2.1 (Các tính chất của ma trận Laplace) Xét đồ thị vô
hướng 𝐺 = (𝑉 , 𝐸) với ma trận Laplace L. Ta có:
1. L là đối xứng: L = L> .
2. L là bán xác định dương. Các giá trị riêng của L, sắp xếp
theo thứ tự tăng dần, thỏa mãn:
0 = 𝜆1 ≤ 𝜆2 ≤ . . . ≤ 𝜆 𝑛 .
3. L thuộc tập các ma trận thuộc lớp M. Mỗi ma trận thuộc lớp
M thỏa mãn M = [M]𝑖𝑗 ∈ ℝ 𝑛×𝑛 có các phần tử ngoài đường
chéo không dương ([M]𝑖𝑗 ≤ 0 , ∀𝑖 ≠ 𝑗), nhưng phần thực của
các trị riêng của nó đều không âm (𝜆 𝑖 (M) ≥ 0, ∀𝑖 = 1 , . . . , 𝑛).
4. Tổng các hàng và các cột của L đều bằng 0. Nói cách khác,
ma trận L và L> đều nhận vector 1𝑛 là một vector riêng ứng
với trị riêng 𝜆1 (𝐺) = 0.
5. Đồ thị 𝐺 là liên thông khi và chỉ khi 𝜆2 (𝐺) > 0. Giá trị 𝜆2 (𝐺)
còn gọi là là giá trị riêng Fiedler hay trị số liên thông của đồ
thị 𝐺.
6. Nếu 𝐺 gồm 𝑐 thành phần liên thông, ta có thể đánh số các
đỉnh của 𝐺 sao cho ma trận L có thể viết dưới dạng một
ma trận khối đường chéo L = blkdiag(L1 , . . . , L𝑐 ), trong đó
L𝑖 , 𝑖 = 1 , . . . , 𝑐, là những ma trận Laplace tương ứng của
mỗi thành phần liên thông trong 𝐺. Số chiều của không gian
rỗng của L bằng với số thành phần liên thông của đồ thị
(dim(ker(L)) = 𝑐).
2.2 Đại số đồ thị 15
7. Vết của ma trận Laplace bằng hai lần số cạnh của 𝐺, nói cách
khác trace(L) = 2𝑚.
8. (Định lý ma trận - cây) Kí hiệu L𝑣 𝑖 là ma trận thu được từ L
sau khi xóa đi hàng và cột ứng với đỉnh 𝑣 𝑖 bất kì của đồ thị.
Số cây bao trùm đồ thị 𝐺 được tính bởi 𝜏(𝐺) = det(L𝑣 𝑖 ).
9. Phương trình Lx = b có nghiệm khi và chỉ khi b> 1𝑛 = 0.
Nghiệm của phương trình có dạng x = 𝛼 1𝑛 + L† b, trong đó 𝛼 ∈
ℝ và L† = Pdiag(0, 𝜆−2 1 , . . . , 𝜆−𝑛 1 )P> là ma trận giả nghịch đảo
Moore-Penrose của L, P = [v1 , . . . , v𝑛 ] với v 𝑘 là các vector riêng
đã được chuẩn hóa tương ứng với các giá trị riêng 𝜆1 , . . . , 𝜆𝑛
của ma trận L. Ma trận L† là đối xứng, bán xác định dương,
có tổng hàng và tổng cột bằng 0, và thỏa mãn L† L = LL† =
I𝑛 − 𝑛1 1𝑛 1>
𝑛.
10. Giả sử 𝐺 là đồ thị liên thông và 𝐺0 là đồ thị thu được từ 𝐺 sau
khi xóa đi các đỉnh 𝑉1 = 1 , . . . , 𝑙, 𝑙 ≥ 1, thì ma trận Laplace có
thể viết dưới dạng:
L11 L12
L= , (2.8)
L21 L22
Chứng minh. 1-4. Các tính chất này được suy từ cách định nghĩa ma
trận Laplace theo các phương trình (2.5)–(2.6).
5. Từ phương trình (2.6), ta có ker(L) = ker(H> H) = ker(H). Do
hạt nhân của H được sinh bởi vector 1𝑛 khi và chỉ khi 𝐺 là liên
thông, ta có điều phải chứng minh.
6. Tương tự tính chất 5, ta có thể đánh số các cạnh của từng
thành phần liên thông 𝐺 𝑘 = (𝑉𝑘 , 𝐸 𝑘 ), 𝑘 = 1 , . . . , 𝑐 trong 𝐺
sao cho 𝑒1 , . . . , 𝑒 𝑚1 thuộc 𝐺1 , 𝑒 𝑚1 +1 , . . . , 𝑒 𝑚1 +𝑚2 thuộc 𝐺2 , . . . ,
và 𝑒P𝑐−1 𝑚 𝑘 +1 , . . . , 𝑒P𝑐𝑘=1 𝑚 𝑘 , với 𝑐𝑘=1 𝑚 𝑘 = 𝑚. Do các thành phần
P
𝑘=1
liên thông không có đỉnh chung, ma trận liên thuộc của đồ thị có
dạng:
H1 0
··· 0
0 H2 ··· 0
..
· · · . . . ..
H= (2.9)
. .
0 ··· 0 H𝑐
16 2 Lý thuyết đồ thị
thì
0|𝑉1 |
..
.
Hv 𝑘 = H 𝑘 1 |𝑉𝑘 | = 0𝑛 , do H 𝑘 1 |𝑉𝑘 | = 0 |𝑉𝑘 | .
..
.
0|𝑉 |
𝑐
Như vậy, dim(ker(H)) = 𝑐. Do
H> H1 0 ··· 0
1 >
0 H2 H2 ··· 0
L = H> H = . .. ..
··· .. . .
0 ··· 0 >
H𝑐 H𝑐
= blkdiag(L1 , . . . , L𝑐 ). (2.10)
xóa đi hàng 1 và các cột tương ứng với các cạnh không thuộc 𝑆).
Ngược lại, nếu các cạnh của 𝑆 tạo thành một cây bao trùm của
𝐺 thì det(H> 𝑣1 [𝑆]) = ±1.
Thật vậy, nếu các cạnh của 𝑆 không tạo thành một cây bao trùm
của 𝐺 thì một tập các cạnh (giả thuyết không kề với 𝑣1 ) trong
𝑆 sẽ tạo thành của một chu trình trong 𝐺. Chọn vector đường
đi đánh dấu z tương ứng với chu trình này thì H> 𝑣 1 [𝑆]z = 0. Điều
này chứng tỏ các cột của H> 𝑣1 [𝑆] phụ thuộc tuyến tính, từ đó ta
suy ra det(H> 𝑣1 [𝑆]) = 0 .
Giả sử các cạnh của 𝑆 lập thành một cây bao trùm 𝑇 của 𝐺.
Với 𝑒 là một cạnh của 𝑇 liên thuộc với 𝑣1 thì cột tương ứng của
𝑒 trong ma trận H> 𝑣1 [𝑆] chỉ chứa duy nhất một phần tử khác 0
(nhận giá trị ±1). Trong ma trận H> 𝑣 1 [𝑆], sau khi xóa đi hàng và
cột tương ứng với phần tử khác 0 của 𝑒, ta thu được một ma
0 0>
trận H𝑣>1 ∈ ℝ(𝑛−2)×(𝑛−2) . Chú ý rằng det(H> 𝑣1 [𝑆]) = ±det(H𝑣1 [𝑆]).
Gọi 𝑇 0 = 𝑇 \ 𝑒 là cây thu được từ 𝑇 sau khi thu hẹp cạnh 𝑒 vào
0 0
đỉnh 𝑣. Khi đó H𝑣>1 [𝑆] chính là ma trận H𝑣>1 (𝑇 0) sau khi xóa đi
hàng tương ứng với đỉnh 𝑢. Do đó, theo nguyên tắc quy nạp theo
số đỉnh 𝑛 (trường hợp 𝑛 = 2 dễ thấy det(H> 𝑣1 [𝑆]) = ±1), ta có
0
det(H𝑣>1 ) = ±1.
Tiếp theo, ta chứng minh định lý ma trận - cây. Do L = H> H,
ta suy ra L𝑣1 = H> 𝑣1 H𝑣1 . Theo định lý Cauchy-Binet:
X
det(L𝑣1 ) = det(H>
𝑣1 [𝑆])det(H𝑣 1 [𝑆]),
𝑆
Do det(H>
𝑣 1 [𝑆]) = det(H𝑣 1 [𝑆]), ta suy ra
X
det(L𝑣1 ) = (det(H>
𝑣 1 [𝑆])) .
2
Áp dụng kết quả vừa chứng minh ở trên, với mỗi tập 𝑆 tạo thành
một cây bao trùm của 𝐺 thì det(H> 𝑣 1 [𝑆]) = ±1, trong khi ngược
lại thì det(H>
𝑣1 [𝑆]) = 0 . Do đó, tổng ở vế phải của đẳng thức trên
đúng bằng số cây bao trùm của đồ thị 𝐺.
9. Do ma trận L là suy biến với ker(L) = im(1𝑛 ) nên im(L) ⊥
im(1𝑛 ). Do đó, phương trình Lx = b có nghiệm khi và chỉ khi
b ∈ im(L), tức là 1> 𝑛 b = 0. Nghiệm của phương trình được cho
bởi:
x = 𝛼 1𝑛 + L† b , (2.11)
𝑎 𝑖𝑗 , nếu (𝑣 𝑗 , 𝑣 𝑖 ) ∈ 𝐸,
[A]𝑖𝑗 = (2.12)
0, các trường hợp khác.
D = diag(deg− (𝑣 𝑖 )),
D = diag(A1𝑛 ). (2.13)
L , D − A = diag(A1𝑛 ) − A. (2.14)
Với định nghĩa này, ta vẫn có L1𝑛 = diag(A1𝑛 )1𝑛 − A1𝑛 = 0, hay
1𝑛 ∈ ker(L) và L luôn có một trị riêng bằng 0. Tuy nhiên, L lúc này
không đối xứng nên tổng các cột của L có thể khác 0.
6: matrix-tree theorem
Định lý ma trận - cây6 cho đồ thị hữu hướng được phát biểu như
sau:
18 2 Lý thuyết đồ thị
Định lý 2.2.2 (Định lý ma trận - cây [147, 152]) Với 𝑣 là một đỉnh
bất kì của đồ thị hữu hướng có trọng số 𝐺, ta có
X Y
det(L𝑣 (𝐺)) = 𝑎 𝑖𝑗 ,
𝑇∈T𝑣 (𝑣 𝑗 ,𝑣 𝑖 )∈𝑇
trong đó T𝑣 là tập hợp các cây bao trùm của 𝐺 có gốc ra tại 𝑣,
(𝑣 𝑗 ,𝑣 𝑖 )∈𝑇 𝑎 𝑖𝑗 là tích trọng số của các cạnh thuộc cây bao trùm 𝑇,
Q
và L𝑣 (𝐺) là ma trận thu được từ L(𝐺) sau khi xóa đi hàng và cột
tương ứng với đỉnh 𝑣.
Đối với một đồ thị hữu hướng, có trọng số 𝐺, điều kiện cần và đủ để
𝐺 chứa một cây bao trùm có gốc ra (hay 𝐺 là một đồ thị có gốc ra)
được cho trong định lý sau đây:
Định lý 2.2.3 Một đồ thị hữu hướng 𝐺 với 𝑛 đỉnh chứa một cây bao
trùm có gốc ra khi và chỉ khi rank(L) = 𝑛 − 1. Khi đó, ker(L) =
im(1𝑛 ).
Chứng minh. Điều cần chứng minh tương đương với việc đa thức đặc
tính của L nhận 0 là một nghiệm đơn. Viết đa thức đặc tính dưới dạng
với L𝑣 là ma trận thu được từ L sau khi xóa đi hàng và cột thứ 𝑣. Từ
định lý ma trận - cây, ta có det(L𝑣 ) ≠ 0 khi và chỉ khi tồn tại một cây
bao trùm có gốc ra tại 𝑣 ∈ 𝐺. Cuối cùng, do L1𝑛 = 0 luôn đúng, nếu
rank(L(𝐺)) = 𝑛 − 1, ta suy ra ker(L(𝐺)) = im{1𝑛 }.
Một số tính chất của ma trận L của đồ thị hữu hướng, có trọng số 𝐺
được tóm tắt trong định lý sau:
Định lý 2.2.4 (Ma trận Laplace của đồ thị hữu hướng, có trọng số)
Giả thuyết rằng 𝐺 = (𝑉 , 𝐸, 𝐴) là một đồ thị hữu hướng, có trọng số
và có gốc-ra. Khi đó,
1. L nhận 1𝑛 là một vector riêng bên phải ứng với giá trị riêng
𝜆1 = 0. Các giá trị riêng khác của L thỏa mãn Re(𝜆 𝑖 ) > 0 , 𝑖 =
2 , . . . , 𝑛. Hơn nữa, các giá trị riêng của L đều nằm trong đĩa
tròn tâm Δ + 𝑗 0, bán kính Δ = max𝑖 deg− (𝑣 𝑖 ) trên mặt phẳng
phức (Hình 2.5).
2. Nếu 𝐺 là liên thông mạnh thì ma trận L là tối giản, tức là
không tồn tại ma trận hoán vị P để PLP> có dạng ma trận
khối đường chéo trên. Nếu như 𝐺 có gốc ra, thì tồn tại ma trận
2.2 Đại số đồ thị 19
𝐵 𝑖 = {𝑠 ∈ ℂ | |𝑠 − 𝑙 𝑖𝑖 | ≤ 𝑅 𝑖 } (2.17)
L0 L0 L0
11 12 13
L0 = 0 L022 L023 , (2.19)
0
0 L033
Tiếp tục quá trình đánh số như vậy sẽ thu được ma trận Laplace
như ở phương trình (2.16).
3. Giả sử 𝐺 là đồ thị liên thông mạnh. Định nghĩa ma trận B =
𝜌I𝑛 − L với 𝜌 > max𝑖 𝑙 𝑖𝑖 thì B là một ma trận không âm. Các
20 2 Lý thuyết đồ thị
phần tử nằm ngoài đường chéo chính của B giống hệt với các
phần tử nằm ngoài đường chéo chính của A, do đó đồ thị nhận B
là ma trận kề cũng là một đồ thị liên thông mạnh. Từ đây suy ra
B là không rút gọn được. Thêm nữa, B1𝑛 = (𝜌I𝑛 − L)1𝑛 = 𝜌1𝑛 .
Theo lý thuyết Perron-Frobenius (xem phụ lục A), 𝜌, giá trị
riêng trội của B, là một giá trị riêng đơn và vector riêng bên
trái 𝜸 của B có thể được chọn là vector duy nhất thỏa mãn
𝜸> B = 𝜌𝜸> , 𝛾𝑖 > 0 , ∀𝑖 = 1 , . . . , 𝑛, và 𝜸> 1𝑛 = 1. Từ 𝜸 > B = 𝜌𝜸>
suy ra 𝜸> L = 0> 𝑛 , hay 𝜸 là vector riêng bên trái của L ứng với
giá trị riêng 0.
Ngược lại, giả sử L có duy nhất vector riêng bên trái 𝜸 thỏa
mãn 𝜸> L = 0> 𝑛 , 𝛾𝑖 > 0 , ∀𝑖 = 1 , . . . , 𝑛, và 𝜸 1𝑛 = 1 nhưng 𝐺
>
không liên thông mạnh. Do 𝐺 không liên thông mạnh, tồn tại
một cách đánh số các đỉnh của 𝐺 sao cho ma trận L có thể biểu
diễn ở dạng (2.18), trong đó L22 là ma trận Laplace tương ứng
𝑗𝜔 với thành phần liên thông mạnh tối đa chứa các gốc ra.
Từ chứng minh phần thuận, tồn tại 𝜻 là vector riêng bên trái
duy nhất ứng với giá trị riêng 0 của ma trận L22 với 𝜁 𝑖 > 0,
Δ
𝑖 𝜁 𝑖 = 1. Nhận thấy rằng với 𝜸 = [0 , 𝜻 ] thì (𝜸 ) L = 0𝑛 ,
P 0 > > > 0 > >
+ + trái với giả thuyết rằng 𝜸 là vector riêng duy nhất của L ứng
−Δ + 0 𝑗 0 Δ + 0𝑗 𝜎
với giá trị riêng 0. Từ đây suy ra điều phải chứng minh.
𝐵0 𝐵
Theo định lý Gersgorin, mọi giá trị riêng của L nằm trong miền
𝐶 = 6𝑖=1 𝐶 𝑖 , trong đó
S
(a) Đồ thị 𝐺
𝐶1 = 𝐶2 = 𝐶3 = 𝐶6 = {𝑠 = 𝜎 + 𝑗𝜔 ∈ ℂ | (𝜎 − 1)2 + 𝜔2 = 1},
𝐶4 = {𝑠 = 𝜎 + 𝑗𝜔 ∈ ℂ | (𝜎 − 3)2 + 𝜔2 = 9}
và
𝐶5 = {𝑠 = 𝜎 + 𝑗𝜔 ∈ ℂ | (𝜎 − 2)2 + 𝜔2 = 4}.
Dễ thấy, Δ = 3 và 𝐶 ≡ 𝐶4 chứa mọi đĩa tròn 𝐶 𝑖 , 𝑖 = 1 , . . . , 6.
Những kiến thức về đồ thị trong chương này có thể tìm thấy trong
[19]: Biggs (1993), Algebraic Graph hầu hết các giáo trình về lý thuyết đồ thị. Những tài liệu [19, 52] cung
Theory cấp những kiến thức bổ sung về lý thuyết đồ thị, ví dụ như bài toán
[52]: Godsil andothers (2001), Alge-
braic graph theory
ghép cặp, bài toán tô màu đồ thị, hay lý thuyết đồ thị tới hạn,. . . . Một
số kết quả mở rộng về phổ của ma trận Laplace hữu hướng được xây
2.4 Bài tập 21
dựng từ lý thuyết Perron-Frobenius có thể tham khảo ở các tài liệu [26,
105, 57]. [26]: Bullo (2019), Lectures on net-
work systems
[105]: Qu (2009), Cooperative control
of dynamical systems: applications to
2.4 Bài tập autonomous vehicles
[57]: Horn andothers (1990), Matrix
Analysis
Bài tập 2.4.1 Hai đồ thị 𝐺1 và 𝐺2 trên Hình 2.7 có đẳng cấu hay
không? Cùng câu hỏi với hai đồ thị 𝐻1 và 𝐻2 trên Hình 2.8.
Bài tập 2.4.3 Chứng minh rằng một đồ thị đơn gồm 𝑛 đỉnh và 𝑘
thành phần liên thông có nhiều nhất (𝑛−𝑘)(𝑛−𝑘+
2
1)
cạnh.
Bài tập 2.4.4 Tồn tại hay không một đồ thị với chuỗi bậc cho bởi:
(a) 1, 2, 2, 3, 3, 3, 4; (b) 1, 2, 2, 3, 3, 4, 4? Trong trường hợp đồ thị (b) 𝐺2
tồn tại, hãy biểu diễn tất cả các đồ thị thỏa mãn chuỗi bậc đó. Hình 2.7: Đồ thị vô hướng 𝐺1 và 𝐺2 .
Bài tập 2.4.5 Kí hiệu số cây bao trùm đồ thị 𝐺 bởi 𝜏(𝐺). Với 𝑒 là
một cạnh bất kỳ của 𝐺, chứng minh rằng:
Bài tập 2.4.6 Kí hiệu e𝑖 là vector đơn vị với phần tử thứ 𝑖 bằng 1 và
các phần tử khác bằng 0. Với mỗi cạnh (𝑣 𝑖 , 𝑣 𝑗 ) của 𝐺, ta định nghĩa
vector e𝑖𝑗 = e 𝑗 − e𝑖 . Chứng minh rằng:
(a) 𝐻1
i. Mỗi hàng của ma trận H> tương ứng với một vector e𝑖𝑗 ∈ 𝐸.
ii. Ma trận Laplace có thể viết dưới dạng: L = (𝑣 𝑖 ,𝑣 𝑗 )∈𝐸 e𝑖𝑗 e>
P
𝑖𝑗
.
Bài tập 2.4.7 Với mỗi ma trận A ∈ ℝ 𝑛×𝑛 , kí hiệu A𝑖𝑗 là ma trận thu
được từ A sau khi xóa đi hàng 𝑖 và cột 𝑗. Phần phụ đại số của A𝑖𝑗
được tính bởi 𝐶 𝑖𝑗 = (−1)𝑖+𝑗 det(A𝑖𝑗 ). Ma trận phụ hợp của ma trận
A được cho bởi 𝑎𝑑𝑗(A) = [𝐶 𝑗𝑖 ], với tính chất A 𝑎𝑑𝑗(A) = 𝑑𝑒𝑡(A)I𝑛 . (b) 𝐻2
Xét đồ thị liên thông 𝐺 = (𝑉 , 𝐸) với |𝑉 | = 𝑛 và ma trận Laplace L, Hình 2.8: Đồ thị vô hướng 𝐻1 và 𝐻2 .
chứng minh rằng:
i. adj(L) = 𝜏(𝐺)J, với J = 1𝑛 1> 𝑛.
ii. 𝜏(𝐺) = 𝑛1 𝑛𝑖=2 𝜆 𝑖 (L), với 𝜆 𝑖 , 𝑖 = 2 , . . . , 𝑛 là các trị riêng dương
Q
của L.
ii. Hãy lập các ma trận kề A(𝑆3 ) và A(𝑆4 ) tương ứng của 𝑆3 và
𝑆4 .
iii. Tính tích Kronecker A3 = A1 ⊗ A2 và vẽ đồ thị nhận A3 là ma
trận kề.
Bài tập 2.4.9 Đồ thị đảo ngược của một đồ thị hữu hướng 𝐺 là một
đồ thị hữu hướng trong đó mọi cạnh có hướng của 𝐺 đều được đảo
ngược. Đồ thị loại bỏ hướng của 𝐺 là đồ thị thu được sau khi thay
mỗi cạnh (có hướng) của 𝐺 bằng một cạnh vô hướng tương ứng.
Những phát biểu sau là đúng hay sai?
i. Đồ thị hữu hướng G là liên thông mạnh khi và chỉ khi đồ thị
đảo ngược của nó là liên thông mạnh.
ii. Một đồ thị hữu hướng chứa một cây bao trùm có gốc ra khi và
chỉ khi đồ thị đảo ngược của nó chứa một cây bao trùm có gốc
ra.
iii. Nếu như đồ thị loại bỏ hướng của G là liên thông thì phải có
G hoặc đồ thị đảo ngược của G là có chứa một cây bao trùm
có gốc ra.
iv. Đồ thị hữu hướng G là cân bằng khi và chỉ khi đồ thị đảo
ngược của nó là cân bằng.
Bài tập 2.4.10 Chứng minh rằng một đồ thị gồm 𝑛 đỉnh và có hơn
(𝑛−1)(𝑛−2)
2 cạnh là liên thông.
Bài tập 2.4.11 Chứng minh rằng một đồ thị gồm 𝑛 đỉnh và có hơn
𝑛 − 1 cạnh thì phải chứa một chu trình.
Bài tập 2.4.12 Xét đồ thị 𝐺 hữu hướng với ma trận kề A ∈ ℝ 𝑛×𝑛 .
Chứng minh rằng các phần tử [𝑏 𝑖𝑗 ] của ma trận B = A2 tương ứng
với số đường đi với độ dài bằng 2 trong 𝐺 giữa 𝑖 và 𝑗. Tổng quát hoá
kết quả trên, chứng minh rằng đồ thị có gốc ra nếu tồn tại 𝑘 ∈ ℕ+
P𝑘
sao cho ma trận 𝑖= 1
A𝑖 có một cột gồm toàn phần tử dương. Hơn
nữa, chứng mình rằng đồ thị là liên thông mạnh khi và chỉ khi tồn
P𝑘
tại một số 𝑘 ∈ ℕ+ sao cho ma trận 𝑖= 1
A𝑖 có tất cả các phần tử
dương.
Bài tập 2.4.13 Chứng minh rằng với đồ thị vô hướng có ma trận liên
thuộc H và ma trận Laplace L thì L = H> H. Kết quả trên sẽ thay
đổi như thế nào đối với đồ thị có trọng số?
¯ = 𝑛 − 𝜆𝑛+2−𝑗 (𝐺).
𝜆 𝑗 (𝐺)
Bài tập 2.4.15 Gọi L là ma trận Laplace của đồ thị 𝐺 hữu hướng
gồm 𝑛 đỉnh. Chứng minh rằng không tồn tại vector riêng bên phải v
nào của L nằm ngoài im(1𝑛 ) sao cho mọi phần tử của v đều dương.
Bài tập 2.4.16 Tìm các giá trị riêng của ma trận A và ma trận L
ứng với:
i. Đồ thị chu trình vô hướng gồm 𝑛 đỉnh.
ii. Đồ thị chu trình hữu hướng gồm 𝑛 đỉnh.
iii. Đồ thị đều 𝐾 𝑛 vô hướng.
iv. Đồ thị sao 𝑆𝑛 .
v. Đồ thị bánh xe 𝑊𝑛 .
Phần II
Hệ đồng thuận
Thuật toán đồng thuận 3
Bài toán đồng thuận là một trong những bài toán cơ bản nhất trong 3.1 Hệ đồng thuận gồm các
điều khiển hệ đa tác tử, trong đó các tác tử dần tiến tới một điểm tác tử tích phân bậc nhất 25
chung về một vài biến được quan tâm dựa trên trao đổi thông tin với 3.1.1 Phát biểu bài toán . . . . 25
một vài tác tử lân cận [14]. Một thuật toán (hay một giao thức) đồng 3.1.2 Trường hợp tổng quát . 26
thuận là một luật cập nhật đưa các biến được quan tâm của các tác tử 3.1.3 Một số trường hợp riêng 28
hội tụ về một giá trị chung [58, 89, 107]. Các biến được quan tâm có 3.2 Đồng thuận với các tác
thể là thời gian gặp mặt, trọng tâm của đội hình, nhiệt độ của một khu tử tích phân bậc hai . . . 31
vực, hay góc định hướng của các tác tử. Các thuật toán đồng thuận có 3.3 Hệ đồng thuận tuyến
ứng dụng rộng rãi trong bài toán hội ngộ, điều khiển đội hình, tụ bầy, tính tổng quát . . . . . . . 36
căn chỉnh góc định hướng. 3.4 Hệ đồng thuận tuyến
tính không liên tục . . . . 38
Nghiên cứu các hệ đồng thuận mở ra mối liên hệ mật thiết giữa khả 3.4.1 Mô hình và điều kiện
năng hội tụ của hệ về một giá trị chung và cấu trúc trao đổi thông tin đồng thuận . . . . . . . . . 38
bên dưới giữa các tác tử. Ta sẽ xem xét bài toán đồng thuận khi biến 3.4.2 Liên hệ với mô hình hệ
được quan tâm của các tác tử thay đổi theo một mô hình động học đồng thuận liên tục . . . 40
bậc nhất liên tục hoặc không liên tục. 3.5 Đồng bộ đầu ra hệ tuyến
tính dựa trên quan sát
trạng thái . . . . . . . . . . 43
3.5.1 Đồng bộ hóa dựa trên
3.1 Hệ đồng thuận gồm các tác tử tích phân bậc bộ quan sát trạng thái
Luenberger . . . . . . . . . 43
nhất 3.5.2 Bộ quan sát kết hợp đồng
bộ hóa đầu ra . . . . . . . 47
3.1.1 Phát biểu bài toán 3.6 Ghi chú và tài liệu tham
khảo . . . . . . . . . . . . . . 50
Xét một hệ gồm 𝑛 tác tử đánh dấu từ 1 đến 𝑛. Giả sử tại thời điểm 3.7 Bài tập . . . . . . . . . . . . 51
𝑡 ≥ 0, mỗi tác tử có một biến trạng thái 𝑥 𝑖 (𝑡) ∈ ℝ và có thể đo được
các biến tương đối 𝑥 𝑖𝑗 (𝑡) = 𝑥 𝑗 (𝑡) − 𝑥 𝑖 (𝑡) từ một số tác tử lân cận. Các
tác tử cập nhật biến trạng thái của mình dựa trên tổng có trọng số
của các biến tương đối. Để thể hiện sự tương tác giữa các tác tử trong
hệ, ta sử dụng một đồ thị hữu hướng, có trọng số 𝐺 = (𝑉 , 𝐸, 𝐴). Mỗi [14]: Baillieul andothers (2015), En-
đỉnh của đồ thị đại diện cho một tác tử và mỗi cạnh (𝑗, 𝑖) của đồ thị cyclopedia of systems and control
mô tả rằng tác tử 𝑖 đo được biến tương đối 𝑥 𝑖𝑗 . Kí hiệu tập các tác tử
lân cận của tác tử 𝑖 bởi 𝑁𝑖 = {𝑗 = 1 , . . . , 𝑛| (𝑗, 𝑖) ∈ 𝐸}, mỗi tác tử cập
nhật biến trạng thái của mình theo luật sau:
[58]: Jadbabaie andothers (2003),
X X “Coordination of groups of mobile au-
𝑥¤ 𝑖 (𝑡) = 𝑎 𝑖𝑗 𝑥 𝑖𝑗 (𝑡) = − 𝑎 𝑖𝑗 (𝑥 𝑖 (𝑡) − 𝑥 𝑗 (𝑡)), ∀𝑖 = 1 , . . . , 𝑛. (3.1) tonomous agents using nearest neigh-
𝑗∈𝑁𝑖 𝑗∈𝑁𝑖 bor rules”
[89]: Olfati-Saber andothers (2007),
Sơ đồ khối thể hiện thuật toán đồng thuận đối với tác tử 𝑖 được cho “Consensus and cooperation in net-
worked multi-agent systems”
trên Hình 3.1.
[107]: Ren (2007), “Distributed atti-
tude alignment in spacecraft forma-
Kí hiệu vector trạng thái của hệ 𝑛 tác tử bởi x(𝑡) = [𝑥 1 , . . . , 𝑥 𝑛 ]> ∈ ℝ 𝑛 , tion flying”
ta có thể biểu diễn phương trình của cả hệ như sau
x¤ = −L(𝐺)x(𝑡), (3.2)
trong đó L(𝐺) là ma trận Laplace (ra) của đồ thị tương tác giữa các
tác tử 𝐺. Trong một số tài liệu, người ta cũng gọi 𝐺 là luồng thông tin 1: information flow
1 của hệ.
26 3 Thuật toán đồng thuận
Hình 3.1: Sơ đồ khối thuật toán đồng thuận theo góc nhìn của tác tử 𝑖.
Trong bài toán đồng thuận, nếu 𝑥 𝑖 = 𝑥 𝑗 , thì ta nói hai tác tử 𝑖 và 𝑗
đồng thuận với nhau. Nếu 𝑥 𝑖 = 𝑥 𝑗 , ∀𝑖, 𝑗 = 1 , . . . , 𝑛, thì ta nói hệ 𝑛 tác
tử đạt được đồng thuận. Định nghĩa tập đồng thuận bởi
A = {x ∈ ℝ 𝑛 | 𝑥 1 = 𝑥2 = . . . = 𝑥 𝑛 },
thì A là một không gian con của ℝ 𝑛 được sinh bởi vector 1𝑛 . Dễ thấy
rằng nếu vector x ∈ A thì x = 𝛼1𝑛 , với 𝛼 ∈ ℝ.
Trong các mục sau đây, ta xét tính hội tụ của hệ đồng thuận (3.2)
trong một số trường hợp khác nhau của đồ thị 𝐺.
Xét đồ thị 𝐺 = (𝑉 , 𝐸, 𝐴), điều kiện tổng quát để hệ (3.2) tiến tới đồng
thuận là 𝐺 có chứa một cây bao trùm có gốc ra. Kết quả này được cho
trong định lý sau:
Định lý 3.1.1 Với một đồ thị 𝐺 có chứa một cây bao trùm có gốc ra,
quỹ đạo trạng thái của (3.2) với điều kiện đầu x0 = x(0) thỏa mãn
𝑛
X
lim x(𝑡) = (1𝑛 𝜸 > )x0 = 1𝑛 𝛾𝑖 𝑥 𝑖 (0) ,
𝑡→+∞
𝑖=1
với 1𝑛 và 𝜸 tương ứng là các vector riêng bên phải và bên trái ứng
với giá trị riêng 0 của L đã được chuẩn hóa sao cho 𝜸> 1𝑛 = 1. Nói
cách khác, x(𝑡) → A, ∀x0 ∈ ℝ 𝑛 , khi và chỉ khi 𝐺 chứa một cây bao
trùm có gốc ra.
Chứng minh. Vì đồ thị là có một gốc ra, ma trận L có một giá trị
riêng đơn tại 0 trong khi các trị riêng khác của L có phần thực không
3.1 Hệ đồng thuận gồm các tác tử tích phân bậc nhất 27
âm. Do đó, L có thể phân tích theo dạng chuẩn Jordan như sau:
L = PJP−1 (3.3)
J(𝜆1 ) 0 ··· 0
. ..
0 J(𝜆2 ) .. .
−1
=P . P , (3.4)
. .
.. .. ..
0
0
· · · 0 J(𝜆 𝑛)
với J𝑖 (𝜆 𝑖 ) là ma trận khối Jordan tương ứng với giá trị riêng 𝜆 𝑖 . Chú ý
rằng J1 (𝜆1 ) = 0 do ma trận Laplace chỉ có duy nhất một giá trị riêng
0, và số ma trận khối Jordan J𝑖 không nhất thiết phải bằng 𝑛. Ma
trận P = [p1 , . . . , p𝑛 ] có vector cột đầu tiên là p1 = 1𝑛 , và ma trận
P−1 = [q1 , . . . , q𝑛 ]> có q>
1 là vector riêng bên trái của L ứng với giá
trị riêng 𝜆1 = 0. Vì P−1 P = I𝑛 , ta có q> 1 1𝑛 = 1, nên ta đặt 𝜸 = q1 . Chú
ý rằng các phần tử của ma trận P có thể là các số phức.
Theo lý thuyết về hệ tuyến tính, quỹ đạo trạng thái của hệ đồng thuận
(3.2) thỏa mãn
Do các giá trị riêng khác 0 của L đều có phần thực dương,
lim 𝑒 −J(𝜆𝑖 )𝑡 = 0 , ∀𝑖 = 2 , . . . , 𝑛.
𝑡→+∞
Bởi vậy,
1 0 ··· 0
.. ..
. .
0 0 −1
lim x(𝑡) = P . P x0
𝑡→+∞ .. . . . ..
. 0
0 · · · 0 0
= (p1 q>
1 )x0
= (1𝑛 𝜸> )x0
𝑛
X
= 𝛾𝑖 𝑥 𝑖 (0) 1𝑛 ,
𝑖=1
P𝑛
hay các tác tử dần tiến tới đồng thuận tại 𝑥 ∗ = 𝑖=1
𝛾𝑖 𝑥 𝑖 (0), khi
𝑡 → +∞.
Giá trị 𝑥 ∗ = 𝑛𝑖=1 𝛾𝑖 𝑥 𝑖 (0) gọi là giá trị đồng thuận. Chú ý rằng, do
P
𝜸> L = 0> , ta có
𝑑 > 𝑑
(𝜸 x(𝑡)) = 𝜸> (x(𝑡)) = −𝜸> Lx(𝑡) = 0. (3.5)
𝑑𝑡 𝑑𝑡
Trong nhiều ứng dụng, lớp các thuật toán đồng thuận cho giá trị đồng
thuận tại trung bình cộng của 𝑥 𝑖 (0), 𝑖 = 1 , . . . , 𝑛, được đặc biệt quan
tâm. Ví dụ khi ta có 𝑛 cảm biến theo dõi nhiệt độ của một khu vực,
các cảm biến trao đổi giá trị đo và muốn tìm giá trị trung bình nhiệt
để đại diện cho nhiệt độ của cả khu vực. Các thuật toán này được gọi
2: average consensus algorithm
chung là các thuật toán đồng thuận trung bình cộng2 .
Với thuật toán đồng thuận (3.2), điều kiện cần và đủ để giá trị đồng
thuận là trung bình cộng phụ thuộc vào đồ thị 𝐺. Đầu tiên, xét 𝐺
là một đồ thị vô hướng, liên thông. Khi đó, do L = L> và L1𝑛 = 0,
ta cũng có 1> >
𝑛 L = 0 . So sánh với phương trình (3.5), ta suy ra
𝜸 = 1𝑛 /𝑛, lim𝑡→+∞ 𝑒 −L𝑡 = 𝑛1 1𝑛 1>𝑛 , và giá trị đồng thuận được xác
𝑛
định bởi 1> 1
𝑥 ( )
P
x
𝑛 0 = 𝑛 𝑖=1 𝑖
0 - trung bình cộng của tất cả các biến
𝑥 𝑖 (0), ∀𝑖 ∈ I.
Từ quan sát trên, ngoài điều kiện đồng thuận là 𝐺 chứa một cây bao
trùm có gốc ra, để giá trị đồng thuận là trung bình cộng thì ma trận
Laplace phải nhận 1> 𝑛 làm một vector riêng bên trái ứng với giá trị
riêng 0. Điều này tương đương với việc 𝑙 𝑖𝑖 = 𝑛𝑖=1 𝑎 𝑖𝑗 = 𝑛𝑗=1 𝑎 𝑖𝑗 , hay
P P
Định lý 3.1.3 Thuật toán (3.2) là một thuật toán đồng thuận trung
bình cộng khi và chỉ khi đồ thị 𝐺 là liên thông yếu và cân bằng.
Cuối cùng, xét đồ thị 𝐺 là liên thông mạnh nhưng không cân bằng. Vì
𝐺 liên thông mạnh nên mọi đỉnh của 𝐺 đều là một gốc vào. Do điều kiện
đồng thuận được thỏa mãn, hệ tiến tới đồng thuận tại 𝑥 ∗ = 𝑛𝑖=1 𝛾𝑖 𝑥 𝑖 (0).
P
Theo Định lý 2.2.4, 𝜸 có các phần tử 𝛾𝑖 > 0, ∀𝑖 = 1 , . . . , 𝑛, và 𝑛𝑖=1 𝛾𝑖 =
P
1. Ta suy ra với 𝐺 là liên thông mạnh, giá trị đồng thuận của hệ (3.2)
là trung bình cộng có trọng số của các giá trị 𝑥 𝑖 (0), 𝑖 = 1 , . . . , 𝑛.
Ví dụ 3.1.1 Mô phỏng thuật toán đồng thuận với một số đồ thị khác
nhau. Giá trị đầu của các biến trạng thái được chọn ngẫu nhiên với
−5 ≤ 𝑥 𝑖 (0) ≤ 5. Với luật đồng thuận (3.1), hệ dần tiến tới không gian
đồng thuận với cả 3 đồ thị. Tốc độ tiến tới đồng thuận phụ thuộc
vào giá trị riêng liên kết 𝜆2 (L) và biểu hiện trên các Hình 3.2 (b),
(d), (f).
4 f o r j =1:16
5 i f (mod( j , 1 6 )==mod( i +1 ,16) ) | | ( mod( j , 1 6 )==mod( i
-1 ,16) ) | | . . .
6 (mod( j , 1 6 )==mod( i +4 ,16) ) | | ( mod( j , 1 6 )==mod( i - 4 , 1 6 ) )
7 A( i , j ) =1;
8 end
9 end
10 end
11 G = graph (A) ;
12 global L
13 L=l a p l a c i a n (G) * eye ( 1 6 ) ;
14
15 % G i a i phuong t r i n h v i phan dung ode45
16 x0 = 1 0 * ( rand ( 1 6 , 1 ) - 0 . 5 ) ; % Dieu k i e n dau
17 [ t , x ] = ode45 ( @control_law , [ 0 5 ] , x0 ) ;
18
19 % Bieu d i e n t r e n do t h i
20 f i g u r e ( 2 ) ; h o l d on ;
21 f o r i =1:16
22 p l o t ( t , x ( : , i ) ’ , ’ LineWidth ’ , 1 . 5 ) ;
23 end
24 x l a b e l ’ Thoi g i a n [ s ] ’ ;
25 y l a b e l ’ Bien t r a n g t h a i x_i ( t ) ’ ;
26 t i t l e ’ x_i ( t ) ’
27 box on ;
28
29 %% Ham t i n h l u a t dong thuan
30 f u n c t i o n dpdt = c o n t r o l _ l a w ( t , p )
31 global L
32 dpdt = -L*p ;
33 end
30 3 Thuật toán đồng thuận
Hình 3.2: Mô phỏng thuật toán đồng thuận với ba đồ thị khác nhau: 𝐺1 là đồ thị đều gồm 16 đỉnh, mỗi đỉnh có 3 đỉnh kề, 𝐺2
là đồ thị chu trình gồm 20 đỉnh và 𝐺3 là đồ thị Bucky (quả bóng đá) gồm 60 đỉnh.
3.2 Đồng thuận với các tác tử tích phân bậc hai 31
3.2 Đồng thuận với các tác tử tích phân bậc hai
Ở mục này, ta xét hệ gồm các tác tử có mô hình là khâu tích phân bậc
hai:
𝑥¤ 𝑖 = 𝑦 𝑖 ,
𝑦¤ 𝑖 = 𝑢𝑖 , 𝑖 = 1 , . . . , 𝑛, (3.6)
với 𝑥 𝑖 ∈ ℝ, 𝑦 𝑖 ∈ ℝ, và 𝑢𝑖 ∈ ℝ.3 Luật đồng thuận được đề xuất cho hệ 3: Thông thường, biến 𝑥 𝑖 , 𝑦 𝑖 , 𝑢𝑖 mô
tả vị trí, vận tốc và gia tốc của một
(3.6) là:
chất điểm trong không gian.
X
𝑢𝑖 = − 𝑥 𝑖 − 𝑥 𝑗 ) + 𝛽 𝑦𝑖 − 𝑦 𝑗 , 𝑖 = 1 , . . . , 𝑛, (3.7)
𝑗∈𝑁𝑖
trong đó 𝛽 > 0 là một hằng số dương. Thuật toán đồng thuận (3.7) là
phi tập trung theo nghĩa mỗi tác tử chỉ cần có thông tin từ một vài tác
tử láng giềng. Ta sẽ chứng minh rằng với luật điều khiển (3.7), hệ đạt
được đồng thuận dưới dạng |𝑥 𝑖 − 𝑥 𝑗 | → 0 và |𝑦 𝑖 − 𝑦 𝑗 | → 0, khi 𝑡 → +∞.
Chú ý rằng nếu 𝑥 𝑖 và 𝑦 𝑖 thể hiện vị trí và vận tốc của tác tử thứ 𝑖 thì
(3.7) thể hiện gia tốc của tác tử này.
Đặt x = [𝑥1 , . . . , 𝑥 𝑛 ]> và y = [𝑦1 , . . . , 𝑦𝑛 ]> . Khi sử dụng luật điều khiển
(3.7) cho hệ, ta có thể viết lại (3.6) dưới dạng ma trận như sau:
x¤ 0 I𝑛 x x
= 𝑛×𝑛 =M . (3.8)
y¤ −L −𝛽L y y
A11 A12
Với một ma trận khối có dạng A = thì det(M) = det(A11 A22 −
A21 A22
A21 A12 ) nếu như hai ma trận A11 và A21 là giao hoán được (tức là
A11 A21 = A21 A11 ). Ta áp dụng công thức trên để tìm các giá trị riêng
của M:
𝜆I 𝑛
−I 𝑛
= det 𝑠 2 I𝑛 + (1 + 𝛽𝑠)L (3.9)
det(𝑠 I2𝑛 − M) = det
L 𝑠 I𝑛 + 𝛽L
Chú ý rằng det(𝑠 I𝑛 + L)= 𝑛𝑖=1 (𝑠 + 𝜆 𝑖 ), trong đó 𝜆 𝑖 kí hiệu giá trị riêng
Q
thứ 𝑖 của L. Vì vậy, so sánh với phương trình (3.9), ta có:
𝑛
Y
det 𝑠 2 I𝑛 + (1 + 𝛽𝑠)L = (𝑠 2 + (1 + 𝛽𝑠)𝜆 𝑖 ).
(3.10)
𝑖=1
Phương trình (3.10) chứng tỏ rằng, các giá trị riêng của M đều có thể
thu được từ phương trình 𝑠 2 + 𝜆 𝑖 𝛽𝑠 + 𝜆 𝑖 = 0. Nghiệm của phương trình
này được cho bởi:
q
−𝛽𝜆 𝑖 ± 𝛽 2 𝜆2𝑖 − 4𝜆 𝑖
𝑠 𝑖± = , (3.11)
2
Từ phương trình (3.11), dễ thấy rằng ứng với mỗi giá trị riêng 𝜆 𝑖 = 0
của L thì M có tương ứng hai giá trị riêng bằng 0. Với giả thuyết rằng
đồ thị 𝐺 là liên thông thì L chỉ có một giá trị riêng duy nhất bằng 0,
32 3 Thuật toán đồng thuận
còn các giá trị riêng khác đều có phần thực dương (Định lý 2.2.4). Từ
đây, ta suy ra M có hai giá trị riêng bằng 0, kí hiệu là 𝑠1+ = 𝑠 1− = 0.
Định lý sau đây cho ta một điều kiện cần và đủ để hệ đạt được đồng
thuận:
Định lý 3.2.1 Hệ (3.8) dần đạt tới đồng thuận khi và chỉ khi ma trận
M có đúng hai giá trị riêng bằng 0 và các giá trị riêng khác tính theo
(3.11) đều có phần thực âm. Khi đó, x → 1𝑛 𝜸> x(0) + 𝑡 1𝑛 𝜸> y(0) khi
𝑡 → +∞, trong đó 𝜸 ∈ ℝ 𝑛 là một vector riêng bên phải (có các phần
tử không âm) của L ứng với giá trị riêng 0 và 𝜸 > 1𝑛 = 1.
Chứng minh. (Điều kiện đủ) Đầu tiên, ta chứng minh rằng giá trị riêng
0 của M có bội hình học là 1 trong trường hợp M có đúng hai giá trị
𝑎 , q𝑏 ] là một vector riêng của M ứng với giá
> >
riêng bằng 0. Đặt q = [q>
𝑛
trị riêng 0 (q𝑎 , q𝑏 ∈ ℝ ) thì
0𝑛×𝑛 I𝑛 q𝑎 0
Mq = = 𝑛 , (3.12)
−L −𝛽L q𝑏 0𝑛
tương đương với việc giá trị riêng 0 của M có bội hình học là 1.
M = PJP−1
0 𝜼>
1 01×(2𝑛−2) 1
..
= [ w1 , . . . , w2 𝑛 ] . ,
0 0 01×(2𝑛−2) (3.13)
0(2𝑛−2)×1 0(2𝑛−2)×1 J0
𝜼>
2𝑛
trong đó J là dạng Jordan của M, w 𝑗 ∈ ℝ2𝑛 , 𝑗 = 1 , . . . , 2𝑛, là các vector
riêng và vector riêng suy rộng bên phải của ma trận M, 𝜼 𝑗 , 𝑖 = 1, . . . , 2𝑛,
là các vector riêng và vector riêng suy rộng bên trái của M, và J0 là ma
trận Jordan có dạng đường chéo khối (có dạng tam giác trên) ứng với
các giá trị riêng khác không 𝑠 𝑖+ và 𝑠 𝑖− , 𝑖 = 2 , . . . , 𝑛.
[0𝑛 , 1𝑛 ] thì Lw1 = 0𝑛 và Lw2 = w1 . Khi đó, có thể kiểm tra rằng
> > >
𝜼1 = [𝜸> , 0> ]> và 𝜼2 = [0> , 𝜸> ]> là các vector riêng và vector riêng suy
rộng của M ứng với giá trị riêng 0. Chú ý rằng 𝜼1> w1 = 1 và 𝜼2> w2 = 1.
Do các giá trị riêng 𝑠 𝑖± của M đều có phần thực âm, ta có
Như vậy, khi 𝑡 → +∞ thì x(𝑡) → 1𝑛 𝜸> x(0) + 𝑡 1𝑛 𝜸 > y(0) và y(𝑡) →
1𝑛 𝜸 > y(0). Nói cách khác, ta có |𝑥 𝑖 (𝑡)− 𝑥 𝑗 (𝑡)| → 0 and |𝑦 𝑖 (𝑡)− 𝑦 𝑗 (0)| → 0
khi 𝑡 → +∞, hay hệ đạt được đồng thuận.
(Điều kiện cần) Giả sử rằng điều kiện đủ “ M có hai giá trị riêng bằng 0
và các giá trị riêng khác đều có phần thực âm” không thỏa mãn. Do M
có ít nhất hai giá trị riêng 0, nên điều kiện đủ này không thỏa mãn khi M
có nhiều hơn hai giá trị riêng bằng 0 hoặc nó có ít nhất môt giá trị riêng
với phần thực dương. Không mất tính tổng quát, giả sử rằng 𝜄1 = 𝜄2 = 0
và Re(𝜄3 )≥ 0, với 𝜄 𝑘 , 𝑘 = 1 , . . . , 2𝑛, kí hiệu cho giá trị riêng thứ 𝑘 của M.
Với J = [𝐽𝑘𝑙 ] là ma trận Jordan của M thì 𝐽𝑘 𝑘 = 𝜄 𝑘 , 𝑘 = 1, . . . , 2𝑛. Khi
đó ta có lim𝑡→+∞ 𝑒 𝐽𝑘 𝑘 𝑡 ≠ 0 , 𝑘 = 1, 2, 3, tức là ba cột đầu của lim𝑡→+∞ 𝑒 J𝑡
J𝑡
là độc lập tuyến tính. Bởi vậy, rank(lim 𝑡→+∞ 𝑒 )≥ 3. Vì hệ tiến tới
> x(0)
x (0 ) 1 p(𝑡)
đồng thuận khi và chỉ khi lim𝑡→+∞ 𝑒 J𝑡 → 𝑛 , trong
y(0) 1𝑛 q(𝑡)> y(0)
đó p, q ∈ ℝ 𝑛 . Bởi vậy, rank(lim𝑡→+∞ 𝑒 J𝑡 )≤ 2 và ta được một điều vô
lý.
Từ Định lý 3.2.1, nếu như ban đầu các tác tử đứng yên (𝑦 𝑖 (0) =
0 , ∀𝑖 = 1 , . . . , 𝑛), thì khi 𝑡 → +∞, ta có 𝑥 𝑖 (𝑡) → 𝑛𝑖=1 𝛾𝑖 𝑥 𝑖 (0) và
P
𝑦 𝑖 (𝑡) → 0 , ∀𝑖 = 1 , . . . , 𝑛.
Nếu như vận tốc ban đầu của các tác tử khác không và ta mong muốn
hệ đạt được đồng thuận về vị trí tại một điểm, thì có thể sử dụng luật
đồng thuận sau:
X
𝑢𝑖 = −𝛼𝑦 𝑖 − 𝑥 𝑖 − 𝑥 𝑗 ) + 𝛽 𝑦𝑖 − 𝑦 𝑗 , 𝑖 = 1, . . . , 𝑛, (3.15)
𝑗∈𝑁𝑖
trong đó 𝛼 > 0.
Ta có thể viết hệ khi áp dụng luật đồng thuận (3.15) dưới dạng ma
trận như sau:
x¤ 0 I𝑛 x x
= 𝑛×𝑛 =N . (3.16)
y¤ −L −𝛼 I𝑛 − 𝛽L y y
𝑠 I𝑛
−I 𝑛
det(𝑠 I2𝑛 − N) = det
L (𝑠 + 𝛼)I𝑛 + 𝛽L
= det (𝑠 2 I𝑛 + 𝛼𝑠)I𝑛 + (1 + 𝛽𝑠)L
(3.17)
Từ đây, các nghiệm của phương trình (3.17) có thể thu được bằng cách
giải phương trình 𝑠 2 + 𝛼𝑠 + 𝜆 𝑖 (1 + 𝛽𝑠) = 0. Nghiệm của phương trình
này được cho bởi:
với 𝑠 𝑖+ và 𝑠 𝑖− là các giá trị riêng của N ứng với 𝜆 𝑖 . Khác với M, mỗi
giá trị riêng tại 0 của L sẽ cho tương ứng một giá trị riêng tại 0 của
ma trận N. Giả sử 𝜆1 = 0, ta có 𝑠 1+ = 0 và 𝑠 1− = −𝛼.
34 3 Thuật toán đồng thuận
1
x(𝑡) → 1𝑛 (𝜸 > x(0)) + 1𝑛 (𝜸 > y(0)),
𝛼
y(𝑡) → 0𝑛
khi 𝑡 → +∞ khi và chỉ khi N có một giá trị riêng đơn và mọi giá trị
riêng khác của N có phần thực âm.
Chứng minh. (Điều kiện đủ). Chứng minh này tương tự như chứng
minh điều kiện đủ của Định lý 3.2.1 chỉ khác rằng với ma trận N thì
𝜼1 = [𝜸1> , (1/𝛼)𝜸1> ]> , w1 = [1>
𝑛 , 0𝑛 ] và
> >
0>
0 2𝑛−1
J=
02𝑛−1 J0
(a) Vận tốc theo trục 𝑥 trong đó J0 là thành phần của ma trận Jordan J của N ứng với (2𝑛 − 1)
giá trị riêng có phần thực âm.
(Điều kiện cần). Nếu như x(𝑡) → 1𝑛 𝜸> x(0) + 𝛼1 1𝑛 𝜸 > y(0) và y(𝑡) → 0𝑛
khi 𝑡 → +∞, ta biết rằng lim𝑡→+∞ P𝑒 J𝑡 P−1 có hạng bằng 1. Điều này
dẫn tới việc lim𝑡→+∞ 𝑒 J𝑡 cũng có hạng bằng 1. Nếu điều kiện đủ không
thỏa mãn, tương tự như chứng minh điều kiện cần của Định lý 3.2.1,
ta có thể thấy rằng lim𝑡→+∞ 𝑒 J𝑡 phải có hạng ít nhất là 2, và đây là
một điều vô lý.
p¤ 𝑖 = v𝑖 ,
X
v¤ 𝑖 = u𝑖 = −𝑘 1 (p𝑖 − p 𝑗 ) − 𝑘2 v𝑖 , (3.19)
𝑗∈𝑁𝑖
1 % Ma t r a n L a p l a c e
2 g l o b a l L k1 k2
3 L = [ 1 0 -1 0 ;
4 -1 1 0 0 ;
5 0 -1 1 0 ;
6 -1 0 0 1 ] ;
7 k1 = 1 ; k2 = 3 ;
8 % G i a i pt v i phan dung ode45
9 x0 = 1 0 * ( rand ( 8 , 1 ) - 0 . 5 ) ; % Dieu k i e n dau cua x
10 y0 = 2 * ( rand ( 8 , 1 ) - 0 . 5 ) ; % Dieu k i e n dau cua y
11 r 0 = [ x0 ; y0 ] ;
12 [ t , r ] = ode45 ( @control_law , [ 0 : 0 . 0 1 : 1 5 ] , r 0 ) ;
13 r = r ’;
14 t_end = l e n g t h ( t ) ;
15 % Bieu d i e n t r e n do t h i
16 f i g u r e ( 1 ) ; h o l d on ;
17 f o r i =1:4
18 p l o t ( t , r (7+2* i , : ) , ’ LineWidth ’ , 1 . 5 ) ;
19 end
20 x l a b e l ’ Thoi g i a n [ s ] ’ ; y l a b e l ’ Bien t r a n g t h a i ’ ;
21 box on ; t i t l e ’v_{ i x } ( t ) ’
22 l e g e n d ( ’ v_{1 x } ’ , ’ v_{2 x } ’ , ’ v_{3 x } ’ , ’ v_{4 x } ’ )
23
24 f i g u r e ( 2 ) ; h o l d on ;
25 f o r i =1:4
26 p l o t ( t , r (8+2* i , : ) , ’ LineWidth ’ , 1 . 5 ) ;
27 end
28 x l a b e l ’ Thoi g i a n [ s ] ’ ; y l a b e l ’ Bien t r a n g t h a i ’ ;
29 box on ; t i t l e ’v_{ i y } ( t ) ’
30 l e g e n d ( ’ v_{1 y } ’ , ’ v_{2 y } ’ , ’ v_{3 y } ’ , ’ v_{4 y } ’ )
31
32 f i g u r e ( 3 ) ; h o l d on ;
33 f o r i =1:4
34 p l o t ( r (2* i - 1 , 1 ) , r (2* i , 1 ) , ’ s ’ ) ;
35 end
36 f o r i =1:4
37 p l o t ( r ( 2 * i - 1 , t_end ) , r ( 2 * i , t_end ) , ’ o ’ ) ;
38 end
39 f o r i =1:4
40 p l o t ( r ( 2 * i - 1 , : ) , r ( 2 * i , : ) , ’ LineWidth ’ , 1 . 5 ) ;
41 end
42 xlabel ’x ’ ; ylabel ’y ’ ;
43 box on ; t i t l e ’ T r a j e c t o r i e s o f 4 a g e n t s ’
44 l e g e n d ( ’ Agent 1 ’ , ’ Agent 2 ’ , ’ Agent 3 ’ , ’ Agent 4 ’ )
45 axis equal
46
47 %% Ham t i n h dao ham
48 f u n c t i o n drdt = control_law ( t , r )
49 g l o b a l L k1 k2
50 N = [ z e r o s ( 4 , 4 ) eye ( 4 ) ;
51 - k1 *L - k2 * eye ( 4 ) ] ;
52 d r d t = kron (N, eye ( 2 ) ) * r ;
53 end
36 3 Thuật toán đồng thuận
1 , . . . , z𝑛 ] có
Đặt z = (P> ⊗ I𝑑 )x thì hệ (3.23) viết cho biến z = [z> > >
dạng
z¤ = I𝑛 ⊗ (A − BK1 ) − (Λ ⊗ BK2 ) z.
(3.24)
Chứng minh. (Điều kiện đủ) Giả sử 𝑛 − 1 hệ con (3.25) là ổn định tiệm
cận, các ma trận A − BK1 − 𝜆 𝑘 BK2 là Hurwitz. Nghiệm của (3.23) được
3.3 Hệ đồng thuận tuyến tính tổng quát 37
trong đó P = [p1 , . . . , p𝑛 ], P̄ = P⊗ I𝑑 , p1 = √1 1𝑛 .
𝑛
Do lim𝑡→+∞ 𝑒 (A−BK1 −𝜆𝑖 BK2 )𝑡 =
0𝑑×𝑑 , ta có:
0 1 0 0
A = 0 0 1 , B = 0 , K1 = [1, 1, 1], K2 = 400 · [1, 7, 1].
(b) Kết quả mô phỏng
0 0 0 1 Hình 3.4: Mô phỏng hệ đồng thuận
ở Ví dụ 3.3.1. Các biến trạng thái
Khi đó, ma trận A − BK1 có các giá trị riêng tại −1 + 0 𝚥, 0 ± 𝚥 và x𝑖 → x 𝑗 khi 𝑡 → +∞.
1 g l o b a l L A B K1 K2
2 H = - eye ( 8 ) ;
3 f o r i =1:7
4 H( i , i +1) = 1 ;
5 H( 8 , 1 ) = 1 ;
6 end
7 L = H’ *H;
8 A = [0 1 0;
9 0 0 1;
10 0 0 0];
11 B = [ 0 ; 0; 1 ] ;
12 K1 = [ 1 1 1 ] ;
13 K2 = 4 0 0 * [ 1 , 7 , 1 ] ;
14
15 x0 = 5 * ( rand ( 2 4 , 1 ) - 0 . 5 ) ; % Dieu k i e n dau l a y ngau n h i e n
16 [ t , y ] = ode45 ( @control_law , [ 0 , 3 0 ] , x0 ) ;
17 x = y’;
18
19 figure (1) ;
20 h o l d on ;
21 f o r i =1:8
22 p l o t ( t , x ( 3 * ( i - 1 ) + 1 , : ) , ’ r - ’ , ’ LineWidth ’ , 1 ) ;
23 p l o t ( t , x ( 3 * ( i - 1 ) + 2 , : ) , ’ b - ’ , ’ LineWidth ’ , 1 ) ;
24 p l o t ( t , x ( 3 * ( i - 1 ) + 3 , : ) , ’m- ’ , ’ LineWidth ’ , 1 ) ;
25 end
26 x l a b e l ( ’ Thoi g i a n [ s ] ’ , ’ F o n t s i z e ’ , 1 3 , ’ I n t e r p r e t e r ’ , ’ l a t e x ’ ) ;
27 y l a b e l ( ’ Bien t r a n g t h a i ’ , ’ F o n t s i z e ’ , 1 3 , ’ I n t e r p r e t e r ’ , ’ l a t e x ’ ) ;
28 box on ;
29 t i t l e ( ’ He dong thuan tuyen t i n h bac 3 ’ , ’ F o n t s i z e ’ , 1 3 , ’ I n t e r p r e t e r ’ , ’ l a t e x ’ )
30 l e g e n d ( { ’ $x_{ i 1 } ,~ i =1 ,\ l d o t s , 2 0 $ ’ , ’ $x_{ i 2 } ,~ i =1 ,\ l d o t s , 2 0 $ ’ , . . .
31 ’ $x_{ i 3 } ,~ i =1 ,\ l d o t s , 2 0 $ ’ } , ’ F o n t s i z e ’ , 1 3 , ’ I n t e r p r e t e r ’ , ’ l a t e x ’ )
32
33 %% Ham t i n h dao ham
34 f u n c t i o n dpdt = c o n t r o l _ l a w ( t , p )
35 g l o b a l A B K1 K2 L
36 dpdt = ( kron ( eye ( 8 ) ,A-B*K1) - kron (L , B*K2) ) *p ;
37 end
Trong mục này, ta xét một lớp thuật toán đồng thuận khi các tác tử
chỉ cập nhật biến trạng thái tại các thời điểm 𝑘 = 1, 2, . . . , +∞. Xét hệ
gồm 𝑛 tác tử, trong đó mỗi tác tử có biến trạng thái 𝑥 𝑖 [𝑘] ∈ ℝ , ∀𝑘 =
1 , 2 , . . ..
Đồ thị 𝐺 mô tả sự trao đổi thông tin trong hệ được giả sử là hữu hướng,
có trọng số và các trọng số này thỏa mãn 𝑛𝑗=1 𝑤 𝑖𝑗 = 1. Lưu ý rằng ở
P
đây, đồ thị 𝐺 có thể có các khuyên (cạnh từ đỉnh 𝑣 𝑖 tới chính nó), và
do đó 𝑤 𝑖𝑖 có thể khác 0. Định nghĩa tập 𝑀 𝑖 = {𝑗 ∈ 𝑉 | 𝑤 𝑖𝑗 > 0} gồm
các tác tử lân cận của tác tử 𝑖 (có thể bao gồm cả 𝑖). Tại thời điểm 𝑘,
tác tử 𝑖 ∈ 𝑉 cập nhật biến trạng thái của mình theo luật đồng thuận
sau:
X
𝑥 𝑖 [𝑘 + 1] = 𝑤 𝑖𝑗 𝑥 𝑗 [𝑘], (3.29)
𝑗∈𝑀 𝑖
3.4 Hệ đồng thuận tuyến tính không liên tục 39
(d) 𝐺4 (e) 𝐺5
Hình 3.5: Đồ thị 𝐺1 là liên thông mạnh và có chu kỳ bằng 2; Đồ thị 𝐺2 và 𝐺3 là có gốc ra, thành phần liên thông mạnh chứa
gốc ra là không có chu kỳ, trong đó đồ thị 𝐺3 có chứa khuyên; Đồ thị 𝐺4 , 𝐺5 là liên thông mạnh và không có chu kỳ.
Luật đồng thuận (3.29) là một luật lặp tuyến tính và phân tán theo
nghĩa nó chỉ đòi hỏi biến trạng thái của tác tử 𝑖 và các tác tử lân cận
của nó. Ta có thể viết lại luật (3.29) dưới dạng vector như sau:
chu trình đơn của 𝐺 là lớn hơn 1. Ngược lại, đồ thị 𝐺 gọi là không có
chu kỳ (xem Ví dụ ở Hình 3.5).
khi và chỉ khi 𝑖 thuộc thành phần liên thông mạnh tối đa chứa các
gốc ra của đồ thị.
Định lý 3.4.2 Với luật đồng thuận (3.30), các tác tử dần tiến tới đồng
thuận khi 𝑘 → +∞ khi và chỉ khi đồ thị 𝐺 có gốc ra và thành phần
liên thông mạnh tối đa chứa các gốc ra là không có chu kỳ.
Như vậy hệ tiến tới đồng thuận tại giá trị đồng thuận 𝜸> x[0] =
P𝑛
𝛾 𝑥 [0].
𝑖=1 𝑖 𝑖
(Điều kiện cần) Giả sử 𝐺 không có gốc ra thì từ Bổ đề 3.4.1, giá trị
riêng 1 là một nghiệm bội 𝑚 > 1 của đa thức đặc tính của W. Bởi vậy,
dạng Jordan của W 𝑘 có dạng W 𝑘 = MJ 𝑘 M−1 , với M là ma trận khả
nghịch và J 𝑘 là một ma trận tam giác trên với 𝑚 phần tử đường chéo
bằng 1. Như vậy bậc của lim 𝑘→+∞ W 𝑘 ít nhất là bằng 𝑚 > 1, khác với
không gian đồng thuận. Điều này có nghĩa là tồn tại các điều kiện đầu
x[0] sao cho hệ không tiến tới đồng thuận, trái với giả thuyết của định
lý.
Chú ý rằng nếu như có thêm giả thuyết là đồ thị 𝐺 tương ứng với
ma trận W là liên thông mạnh và trong 𝐺 có ít nhất một khuyên
thì ma trận W là ma trận ngẫu nhiên hàng, không thể thu gọn, và
không có chu kì. Các kết quả ở định lý 3.4.2 vẫn đúng chỉ khác là
vector riêng bên trái 𝜸> của W lúc này có tất cả các phần tử dương
(𝛾𝑖 > 0 , ∀𝑖 = 1, . . . , 𝑛).
Ta xét một trường hợp riêng, trong đó hệ đồng thuận không liên tục
được xem như trạng thái của hệ đồng thuận liên tục x¤ (𝑡) = −Lx(𝑡) tại
các thời điểm 𝑡 = 𝑘𝛿, với 𝑘 = 0 , 1 , 2 , . . . , ∞.
Đặt z[𝑘] = x(𝑘𝛿) thì theo công thức nghiệm của phương trình vi phân,
ta có:
trong đó W = 𝑒 −𝛿L. Một số tính chất của ma trận W được cho trong
bổ đề sau.
𝑘
thì (−𝛿L)
𝑘 ! 1𝑛 = 0 với mọi 𝑘 = 1 , . . . , 𝑛. Do đó W1𝑛 = I𝑛 1𝑛 = 1𝑛 ,
hay W là ma trận ngẫu nhiên hàng.
2. Chọn 𝜇 > max𝑖 𝑙 𝑖𝑖 thì 𝑒 −𝛿L = 𝑒 −𝜇𝛿 𝑒 𝛿(𝜇I𝑛 −L) nên các phần tử của
hai ma trận W và 𝑒 𝛿(𝜇I𝑛 −L) đều có cùng dấu. Hơn nữa, ma trận
L+ = 𝛿(𝜇I𝑛 − L) có tất cả các phần tử là không âm nên
∞
𝛿(L+ ) 𝑘
𝑒 𝛿(𝜇I𝑛 −L) =
X
(3.34)
𝑘=0
𝑘!
Định lý 3.4.4 Hệ đồng thuận cho bởi (3.32) dần đạt tới đồng thuận
khi 𝑘 → +∞.
Chứng minh. Kết luận này có thể thu được ngay từ tính hội tụ của
mô hình đồng thuận liên tục. Một cách khác, ta thấy rằng W là một
ma trận ngẫu nhiên hàng, không thể phân rã và không có chu kỳ. Sự
hội tụ của mô hình thu được nhờ áp dụng Định lý 3.4.2.
Ví dụ 3.4.1 Xét hệ gồm 8 tác tử với đồ thị hữu hướng 𝐺 như ở Hình
3.6(a). Kết quả mô phỏng thuật toán đồng thuận liên tục và thuật
toán đồng thuận không liên tục với 𝛿 = 0.5 được cho ở Hình 3.6(b).
Dễ thấy sự hội tụ của mô hình không liên tục (trạng thái biểu diễn
bởi ‘o’) và mô hình liên tục (trạng thái biểu diễn bởi nét liền) là như
nhau.
Code mô phỏng MATLAB của Ví dụ 3.4.1 được cho ở dưới đây. Lưu ý
rằng MATLAB có thư viện hỗ trợ tính toán, thực hiện một số thuật
toán và biểu diễn các đồ thị.
42 3 Thuật toán đồng thuận
Hình 3.6: Mô phỏng đối chiếu thuật toán đồng thuận liên tục và không liên tục
Trong mục này, ta giới thiệu một phương pháp thiết kế luật đồng thuận
dựa trên thiết kế bộ quan sát trạng thái. Các giả thuyết chính ở mục
này bao gồm:
x¤ 𝑖 = Ax𝑖 + Bu𝑖
y𝑖 = Cx𝑖 , (3.35)
Như vậy trong bài toán này, các tác tử không có được thông tin đầy đủ
về trạng thái của mình, cũng như không đo được biến trạng thái tương
đối như trong phần lớn các bài toán đồng thuận đã xét ở mục trước.
biến
r = (P−1 ⊗ I𝑑 )s , (3.43)
r¤ 𝑖 = (A + 𝜆 𝑖 BK)r𝑖 , 𝑖 = 1 , . . . , 𝑛, (3.46)
𝑒 A𝑡 r1 (0) 𝑒 A𝑡
0𝑑 0𝑑
s(𝑡) → (P ⊗ I𝑑 ) .. = (P ⊗ I𝑑 ) .. (𝜸> ⊗ I𝑑 )s(0)
. .
0𝑑 0𝑑
= 1𝑛 ⊗ (𝑒 A𝑡 s̄(0)), (3.47)
khi 𝑡 → +∞, trong đó s̄(0) = 𝑛𝑖=1 𝛾𝑖 s𝑖 (0) là trung bình theo trọng số
P
của các biến s𝑖 (0), 𝜸> L = 0>
𝑛 , và 𝜸 1𝑛 = 1. Như vậy, (L⊗ I𝑑 )s(𝑡) → 0𝑑𝑛
>
khi 𝑡 → +∞.
7: exogeneous input Xét hệ (3.40) với biến trạng thái 𝜼 và các tín hiệu bên ngoài7 d1 (𝑡) =
(I𝑛 ⊗ HC)e và d2 (𝑡) = (L ⊗ I𝑑 )s(𝑡). Khi không có tác động bên ngoài
8: nominal system (d1 = d2 = 0𝑑𝑛 ) thì hệ danh định8 của (3.45) cho bởi
với A + BK Hurwitz là ổn định tiệm cận theo hàm mũ. Các tín hiệu bên
ngoài thỏa mãn k d1 k = k(I𝑛 ⊗ HC)e k → 0 và d2 = k(L ⊗ I𝑑 )s k → 0
3.5 Đồng bộ đầu ra hệ tuyến tính dựa trên quan sát trạng thái 45
khi 𝑡 → +∞. Điều này chứng tỏ 𝜼(𝑡) dần tiến tới nghiệm của hệ không
bị kích thích của (3.48), tức là 𝜼 → 0𝑑𝑛 khi 𝑡 → +∞.
Ví dụ 3.5.1 Xét hệ gồm 8 tác tử với luật đồng thuận dựa trên bộ
quan sát trạng thái. Các ma trận hệ thống của mỗi tác tử 𝑖 được
cho bởi:
−1 1 0 0
−1.25 1 , B = 0 , và C = 1 1 1 ,
A= 0
0 −5.5625 1.25 1
27 xhat0 = 2 * ( rand ( 2 4 , 1 ) - 0 . 5 ) ;
28 e0 = x0 - xhat0 ;
29 e t a 0 = 2 * ( rand ( 2 4 , 1 ) - 0 . 5 ) ;
30 s 0 = - e t a 0 + xhat0 ;
31
32 % G i a i phuong t r i n h v i phan
33 [ t , z ] = ode45 ( @control_law , [ 0 , 1 5 0 ] , [ x0 ; s 0 ; e0 ] ) ;
34 z = z ’;
35
36 f i g u r e ( 1 ) ; h o l d on ;
37 f o r i =1:8
38 p l o t ( t , z ( 3 * ( i - 1 ) + 1 , : ) , ’ r - ’ , ’ LineWidth ’ , 1 ) ;
39 p l o t ( t , z ( 3 * ( i - 1 ) + 2 , : ) , ’ b - ’ , ’ LineWidth ’ , 1 ) ;
40 p l o t ( t , z ( 3 * ( i - 1 ) + 3 , : ) , ’m- ’ , ’ LineWidth ’ , 1 ) ;
41 end
42 t i t l e ( ’Mo phong dong bo hoa he 8 t a c tu ’ )
43 l e g e n d ( { ’x_{1 i } ’ , ’ x_{2 i } ’ , ’ x_{3 i } ’ } , ’ F o n t s i z e ’ , 1 3 )
44 x l a b e l ( ’ Thoi g i a n [ s ] ’ , ’ F o n t s i z e ’ , 1 3 ) ;
45 y l a b e l ( ’ Bien t r a n g t h a i ’ , ’ F o n t s i z e ’ , 1 3 ) ;
46 box on ;
47
48 f i g u r e ( 2 ) ; h o l d on ;
49 f o r i =1:8
50 p l o t ( t , z ( 3 * ( i - 1 ) + 1 , : )+z ( 3 * ( i - 1 ) + 2 , : )+z ( 3 * ( i - 1 ) + 3 , : ) , ’
LineWidth ’ , 1 ) ;
51 end
52 t i t l e ( ’Mo phong dong bo hoa he 8 t a c tu ’ )
53 l e g e n d ( { ’y_{ i } , i =1 , \ l d o t s , 8 ’ } , ’ F o n t s i z e ’ , 1 3 )
54 x l a b e l ( ’ Thoi g i a n [ s ] ’ , ’ F o n t s i z e ’ , 1 3 ) ;
55 y l a b e l ( ’ Bien dau ra ’ , ’ F o n t s i z e ’ , 1 3 ) ;
56 box on ;
57
58 % Luat dong bo hoa
59 f u n c t i o n dpdt = c o n t r o l _ l a w ( t , z )
60 global A B C H K L
61
62 x = z (1:24) ;
63 s = z (25:48) ;
64 e = z (49:72) ;
65
66 Sbar1 = kron ( eye ( 8 ) ,A) - kron (L , eye ( 3 ) ) ;
67 Sbar2 = kron ( eye ( 8 ) ,H*C) ;
68
69 Xbar1 = kron ( eye ( 8 ) ,A+B*K) ;
70 Xbar2 = kron ( eye ( 8 ) ,B*K) ;
71
72 Ebar1 = kron ( eye ( 8 ) ,A + H*C) ;
73
74 dpdt = [ Xbar1 *x - Xbar2 * ( s + e ) ;
75 Sbar1 *x - Sbar2 * e ;
76 Ebar1 * e ] ;
77
78 end
3.5 Đồng bộ đầu ra hệ tuyến tính dựa trên quan sát trạng thái 47
Giả sử các tác tử đo được sai lệch đầu ra tương đối, gộp chung lại
thành vector
X
𝜻𝑖 = (y𝑖 − y 𝑗 ), 𝑖 = 1 , . . . , 𝑛. (3.49)
𝑗∈𝑁𝑖
Do thiếu thông tin về các biến trạng thái, ta thiết kế thêm một bộ [70]: Li andothers (2009), “Consen-
quan sát trạng thái cho từng tác tử và thiết kế luật đồng thuận dựa sus of multiagent systems and syn-
chronization of complex networks: A
trên biến quan sát được như sau [70]: unified viewpoint”
X
𝜼¤ 𝑖 = (A + BK)𝜼 𝑖 + H C(𝜼 𝑖 − 𝜼 𝑗 ) − 𝜻 𝑖 ,
𝑗∈𝑁𝑖
u𝑖 = K𝜼 𝑖 , (3.50)
Với luật đồng thuận (3.50), hệ (3.35) có thể được viết lại dưới dạng
ma trận:
Tương tự như ở mục 3.5.1, thực hiện phép đổi biến 𝜹 = (P−1 ⊗ I𝑑 )𝜹, ta
có:
𝑒 A𝑡 𝜹1 (0)
0𝑑
𝜹(𝑡) → .. , (3.55)
.
0𝑑
khi 𝑡 → +∞. Từ đây suy ra,
𝑒 A𝑡
0𝑑
𝜻(𝑡) → (P ⊗ I𝑑 ) . (𝜸 > ⊗ I𝑑 )𝜻(0) = 1𝑛 ⊗ (𝑒 A𝑡 𝜻(
¯ 0)), (3.56)
..
0𝑑
¯ 0) = P𝑛 𝛾𝑖 𝜻 𝑖 (0).
với 𝜻( 𝑖=1
ta thấy (L ⊗ HC)𝜻 có vai trò như một thành phần đầu vào bên ngoài
tác động vào hệ danh định
(L ⊗ HC)𝜻 → (L ⊗ HC)1𝑛 ⊗ (𝑒 A𝑡 𝜻(
¯ 0))
= L1𝑛 ⊗ HC(𝑒 A𝑡 𝜻(
¯ 0)) = 0𝑑𝑛 . (3.59)
x(𝑡) → −1𝑛 ⊗ (𝑒 A𝑡 𝜻(
¯ 0)) = −1𝑛 ⊗ 𝑒 A𝑡 (x̄(0) − 𝜼(
¯ 0)), (3.60)
−1 1 0
−1.25 1 , B = 0 0 1 , C = 1 1 1 ,
A = 0
0 −5.5625 1.25
F = − −0.0730 0.5255 7.5474 , K = − 1 −3.25 5 .
Các giá trị đầu x𝑖 (0), v𝑖 (0) được lấy ngẫu nhiên trong khoảng [−1 , 1].
Hình 3.5.2 thể hiện đồ thị 𝐺 và kết quả mô phỏng. Các biến đầu ra
y𝑖 (𝑡) dần đạt tới đồng thuận sau khoảng 15 giây. Các biến trạng thái
x𝑖 (𝑡) dần đạt tới đồng thuận còn v𝑖 → 0 khi 𝑡 → +∞. (a)
42 f i g u r e ( 2 ) ; h o l d on ;
43 f o r i =1:8
44 p l o t ( t , x i ( 6 * ( i - 1 ) + 4 , : ) , ’ r - ’ , ’ LineWidth ’ , 1 ) ;
45 p l o t ( t , x i ( 6 * ( i - 1 ) + 5 , : ) , ’ b - ’ , ’ LineWidth ’ , 1 ) ;
46 p l o t ( t , x i ( 6 * ( i - 1 ) + 6 , : ) , ’m- ’ , ’ LineWidth ’ , 1 ) ;
47 end
48 t i t l e ( ’ Dong bo hoa he 8 t a c tu ’ )
49 l e g e n d ( { ’v_{1 i } ’ , ’ v_{2 i } ’ , ’ v_{3 i } ’ } , ’ F o n t s i z e ’ , 1 3 )
50 x l a b e l ( ’ Thoi g i a n [ s ] ’ , ’ F o n t s i z e ’ , 1 3 ) ;
51 y l a b e l ( ’ Bien t r a n g t h a i ’ , ’ F o n t s i z e ’ , 1 3 ) ;
52 box on ;
53
54 % Bieu d i e n c a c b i e n y_i
55 f i g u r e ( 3 ) ; h o l d on ;
56 f o r i =1:8
57 p l o t ( t , x i ( 6 * ( i - 1 ) + 1 , : )+x i ( 6 * ( i - 1 ) + 2 , : )+x i ( 6 * ( i - 1 )
+ 3 , : ) , ’ LineWidth ’ , 1 ) ;
58 end
59 t i t l e ( ’ Dong bo hoa he 8 t a c tu ’ )
60 l e g e n d ( { ’y_{ i } , i = 1 , \ l d o t s , 8 ’ } , ’ F o n t s i z e ’ , 1 3 , ’
Location ’ , ’ southeast ’ )
61 x l a b e l ( ’ Thoi g i a n [ s ] ’ , ’ F o n t s i z e ’ , 1 3 ) ;
62 y l a b e l ( ’ Bien dau ra ’ , ’ F o n t s i z e ’ , 1 3 ) ;
63 box on ;
64
65 %% Ham t i n h dao ham
66 f u n c t i o n dpdt = c o n t r o l _ l a w ( t , y )
67 global A B C F K L
68
69 Abar = [ A, B*K;
70 z e r o s ( 3 ) , A+B*K ] ;
71
72 Hbar = [ z e r o s ( 3 ) , z e r o s ( 3 ) ;
73 -F*C, F*C ] ;
74
75 dpdt = ( kron ( eye ( 8 ) , Abar ) + kron (L , Hbar ) ) *y ;
76
77 end
Các kết quả cơ bản về hệ đồng thuận trong chương này đều dựa trên lý
thuyết về phương trình vi phân/sai phân tuyến tính. Mặc dù đơn giản,
các kết quả này là nền tảng cho hầu hết các mở rộng sau này. Điểm
quan trọng nhất cần lưu ý là mối quan hệ giữa đồ thị 𝐺 và sự hội tụ
của thuật toán đồng thuận. Với luật đồng thuận cho tác tử tích phân
bậc nhất, điều kiện cần và đủ để hệ đạt đồng thuận tại giá trị trung
bình cộng là đồ thị tương tác là liên thông mạnh và cân bằng. Khi đồ
thị là liên thông mạnh, giá trị đồng thuận là trung bình có trọng số
của biến trạng thái của các tác tử. Điều kiện cần và đủ để hệ tiến tới
đồng thuận là đồ thị có gốc ra. Giá trị đồng thuận lúc này chỉ phụ
thuộc vào giá trị đầu của các tác tử thuộc thành phần liên thông mạnh
tới hạn chứa gốc ra.
Về tài liệu tham khảo, tổng quan, các kết quả chính, và ứng dụng của
hệ đồng thuận được mô tả khá chi tiết trong [89] và [109]. Thuật toán
3.7 Bài tập 51
đồng thuận với tác tử bậc hai được trình bày ở [108]. Thuật toán đồng
thuận với các mô hình tác tử khác nhau hầu như đều đã được nghiên
cứu, ví dụ như tác tử tích phân bậc hai [108], tích phân bậc cao [163],
tuyến tính tổng quát [113, 71],... Trong khi đó, bài toán đồng thuận
trên các mặt cong có lời giải phức tạp hơn. Điều kiện đồng thuận lúc
này không chỉ liên quan cả với đồ thị mà còn cả tính chất của mặt cong
[112]. Một số vấn đề liên quan như đồng thuận khi có trễ, có nhiễu
được xem xét trong các tài liệu [89, 158, 31].
Cuối cùng, hệ đồng thuận rời rạc đã được nghiên cứu với ứng dụng
trong nghiên cứu các mô hình động học ý kiến hoặc giải thích các mô
hình vật lý (mô hình Vicsek) [58], [109], [35]. Tài liệu [26] cung cấp
phân tích khá chi tiết về thuật toán đồng thuận rời rạc.
𝑎11 B . . . 𝑎 𝑛 1 B
. .. ..
A ⊗ B = .. . .
𝑎𝑛1 B . . . 𝑎 𝑛𝑛 B
Cho một hệ đa tác tử với đồ thị vô hướng, liên thông 𝐺 = (𝑉 , 𝐸). Giả
sử rằng mỗi tác tử có một vector trạng thái x𝑖 = [𝑥 𝑖 1 , . . . , 𝑥 𝑖𝑑 ]> ℝ 𝑑
với 𝑑 ≥ 1.
i. Hãy viết giao thức đồng thuận ở dạng ma trận trong trường
hợp 𝑑 ≥ 2 sử dụng tích Kronecker. Giả sử mỗi tác tử 𝑖 có thể
sử dụng thông tin về biến tương đối 𝑥 𝑖 − x 𝑗 với mọi 𝑖 ∈ 𝑁𝑖 .
ii. Hãy viết tập đồng thuận trong trường hợp này và chứng minh
tập đồng thuận là bất biến theo thời gian. Chứng minh trọng
tâm của hệ x∗ = 𝑛1 𝑛𝑖=1 x𝑖 (𝑡) là không thay đổi theo thời gian.
P
iii. Định nghĩa biến sai lệch 𝜹 𝑖 = x𝑖 − x∗ . Sử dụng hàm Lyapunov
𝑉 = 12 𝑛𝑖=1 k𝜹 𝑖 k 2 , hãy chứng minh 𝜹 𝑖 → 0 khi 𝑡 → +∞.
P
Bài tập 3.7.2 Xét bốn robot trên mặt phẳng với vị trí p𝑖 ∈ ℝ2 , 𝑖 =
1 , 2 , 3 , 4 chuyển động với phương trình p¤ 𝑖 = u𝑖 , với u𝑖 ∈ ℝ2 là vector
vận tốc đặt. Nhiệm vụ của các robot là tập kết tại một điểm chung
và thông tin mỗi robot có được chỉ thu được từ các cảm biến gắn trên
chính robot đó. Cyclic pursuit là một phương án đơn giản thường
được sử dụng để giải các bài toán này. Mỗi robot 𝑖 sẽ đuổi theo một
robot thứ 𝑖 + 1 (Ở đây ta qui ước 4 + 1 ≡ 1.) Nói các khác, ta sử dụng
luật u𝑖 = p𝑖+1 − p𝑖 và thu được hệ phương trình động học của hệ kín:
p1 p1 © −1 1 0 0
p1
𝑑
ª
p2 p2 0 −1 1 0 p2
= −(L⊗ I2 ) = ⊗ I2 ®
®
𝑑𝑡 p3
p3 0
0 −1 1 ® p3
p4
p4 « 1
0 0 −1 ¬ p4
i.Trọng tâm của bốn robot p̄ là một vector hằng với mọi 𝑡 ≥ 0.
ii.Các robot sẽ gặp nhau tại p̄ khi 𝑡 → +∞.
iii.Tìm các giá trị riêng và vector riêng của ma trận L.
iv. Nếu ban đầu vị trí của 4 tác tử tạo thành một hình vuông thì
tại mọi thời điểm 0 ≤ 𝑡 ≤ +∞, vị trí của 4 tác tử vẫn tạo thành
một hình vuông.
v. Mô phỏng hệ bốn robot với MATLAB với các điều kiện đầu
khác nhau để kiểm chứng lại các kết luận trên.
[26]: Bullo (2019), Lectures on net- Bài tập 3.7.3 [26] Xét giao thức đồng thuận x¤ = −Lx với mạng mô
work systems tả bởi đồ thị như ở Hình 3.11.
i. Các tác tử trong hệ có đạt được đồng thuận khi 𝑡 → +∞ hay
không?
ii. Nếu như các tác tử đạt được đồng thuận thì giá trị đồng thuận
có trùng với giá trị trung bình hay không?
iii. Trình bày cách thêm vào đồ thị một cạnh để hệ đạt được đồng
thuận tại giá trị trung bình.
Hình 3.11: Đồ thị ở Bài tập 3.7.3
Bài tập 3.7.4 Bằng cách nào ta có thể cải biên luật đồng thuận để
các tác tử hội tụ tới một điểm cân bằng x∗ = 𝛼1𝑛 + d, trong đó
d ∈ ℝ 𝑛 và 𝛼 ∈ ℝ?
[90]: Olfati-Saber andothers (2004), Bài tập 3.7.5 [90] Xét một giao thức đồng thuận trên một đồ thị có
“Consensus problems in networks of trọng số với trễ cho bởi
agents with switching topology and
time-delays” X
𝑥¤ 𝑖 = 𝑎 𝑖𝑗 (𝑥 𝑗 (𝑡 − 𝜏) − 𝑥 𝑖 (𝑡 − 𝜏)), 𝑖 = 1 , . . . , 𝑛, (3.61)
𝑗∈𝑁𝑖
với 𝜏 > 0. Chứng minh rằng giao thức đồng thuận với trễ này ổn
định nếu
𝜋
𝜏< ,
2𝜆𝑛 (𝐺)
trong đó 𝜆𝑛 (𝐺) là giá trị riêng lớn nhất của ma trận Laplace tương
ứng của 𝐺. Từ đó rút ra nhận xét rằng với các giao thức đồng thuận
có trễ, tồn tại một sự đánh đổi giữa tốc độ hội tụ với giới hạn ổn
định đối với trễ trên các cạnh.
[74]: Mesbahi andothers (2010), Bài tập 3.7.6 [74] Tích De Cartes của hai đồ thị 𝐺1 = (𝑉1 , 𝐸1 ) và
Graph Theoretic Methods in Multia- 𝐺2 = (𝑉2 , 𝐸2 ) được kí hiệu bởi
gent Networks
𝐺 = 𝐺1 𝐺2
hai đồ thị:
x¤ 1 = −L(𝐺1 )x1
x¤ 2 = −L(𝐺2 )x2
x¤ = −L(𝐺)x
Bài tập 3.7.7 (Thuật toán đồng thuận PI) Xét hệ với 𝑛 tác tử cho
bởi phương trình
𝑥¤ 𝑖 = 𝑢𝑖 + 𝑑, 𝑖 = 1 , . . . , 𝑛,
với 𝛼 > 0 thì kết quả sẽ thay đổi như thế nào?
iii. Mô phỏng hệ đồng thuận với các luật đồng thuận ở trên.
Bài tập 3.7.8 Vẽ sơ đồ hệ đồng thuận theo góc nhìn của tác tử 𝑖 cho
hệ đồng thuận bậc hai (3.7) và (3.15) (Tham khảo Hình 3.1).
54 3 Thuật toán đồng thuận
Bài tập 3.7.9 (Đồng thuận theo tỉ lệ [111]) Cho hệ đồng thuận gồm
𝑛 tác tử tương tác qua một đồ thị hữu hướng, có gốc ra. Mỗi tác tử
tác tử 𝑖 trong hệ có một giá trị 𝑠 𝑖 ≠ 0 và thực hiện cập nhật biến
trạng thái theo phương trình:
X
𝑥¤ 𝑖 = −sign(𝑠 𝑖 ) (𝑠 𝑖 𝑥 𝑖 − 𝑠 𝑗 𝑥 𝑗 ), 𝑖 = 1, . . . , 𝑛. (3.62)
𝑗∈𝑁𝑖
i. Hãy viết phương trình đồng thuận dưới dạng ma trận x¤ = −Θx.
ii. Chứng minh rằng Θ chỉ có duy nhất một giá trị riêng bằng 0,
các giá trị riêng khác của Θ đều nằm bên phải trục ảo.
iii. Chứng mình rằng 𝑠 𝑖 𝑥 𝑖 → 𝑠 𝑗 𝑥 𝑗 khi 𝑡 → +∞, hay hệ sẽ dần đạt
tới đồng thuận theo tỉ lệ.
Bài tập 3.7.10 (Đồng thuận theo tỉ lệ ma trận [141]) Cho hệ đồng
thuận gồm 𝑛 tác tử tương tác qua một đồ thị vô hướng, liên thông.
Mỗi tác tử tác tử 𝑖 trong hệ có một giá trị S𝑖 ∈ ℝ 𝑑×𝑑 là một ma
trận xác định dương hoặc xác định âm, không nhất thiết phải đối
xứng. Định nghĩa hàm dấu sign(S𝑖 ) = 1 nếu S𝑖 là xác định dương và
sign(S𝑖 ) = −1 nếu S𝑖 là xác định âm. Mỗi tác tử thực hiện cập nhật
biến trạng thái theo phương trình:
X
x¤ 𝑖 = −sign(S𝑖 ) (S𝑖 x𝑖 − S 𝑗 x 𝑗 ), 𝑖 = 1 , . . . , 𝑛, (3.63)
𝑗∈𝑁𝑖
trong đó x𝑖 ∈ ℝ 𝑑 là vector biến trạng thái của tác tử thứ 𝑖 trong hệ.
i. Hãy viết phương trình đồng thuận dưới dạng ma trận x¤ = −Θx.
ii. Chứng minh rằng Θ chỉ có 𝑑 giá trị riêng bằng 0, các giá trị
riêng khác của Θ đều nằm bên phải trục ảo.
1. Chứng minh rằng S𝑖 x𝑖 → S 𝑗 x 𝑗 khi 𝑡 → ∞, hay hệ sẽ dần đạt
tới đồng thuận theo tỉ lệ.
Phân tích hệ đồng thuận theo
phương pháp Lyapunov và quá trình
đồng thuận cạnh 4
4.1 Hàm bất đồng thuận . . . 55
Trong chương này, ta nghiên cứu hệ đồng thuận sử dụng công cụ là
4.2 Phân tích quá trình đồng
lý thuyết ổn định Lyapunov. Mặc dù các hệ đồng thuận giới thiệu ở thuận theo phương pháp
chương trước khá đơn giản và có thể phân tích trực tiếp từ lý thuyết Lyapunov . . . . . . . . . . . 57
ma trận, phương pháp phân tích theo lý thuyết Lyapunov cho phép ta
4.3 Quá trình đồng thuận cạnh 61
nhìn nhận sâu sắc hơn về quá trình tiến tới đồng thuận, từ đó mở rộng
4.4 Đồng bộ hóa đầu ra các hệ
các kết quả của chương trước [163].
thụ động . . . . . . . . . . . . 63
4.5 Ghi chú và tài liệu tham
Tiếp theo, thay vì quan tâm tới động học các biến trạng thái 𝑥 𝑖 , ta khảo . . . . . . . . . . . . . . . 66
sẽ xét đến các biến tương đối (𝑥 𝑖 − 𝑥 𝑗 ) ứng với các cạnh (𝑗, 𝑖) trong 4.6 Bài tập . . . . . . . . . . . . . 66
hệ. Khi biểu diễn động học theo các cạnh, mô hình trạng thái của hệ
đồng thuận cạnh có thể được biểu diễn nhờ ma trận Laplace cạnh. Việc
phân tích quá trình đồng thuận theo động học cạnh chỉ ra rằng, ta
luôn có thể biểu diễn quá trình đồng thuận bởi một mô hình rút gọn
gồm (𝑛 − 1) phương trình vi phân ứng với các cạnh của một cây bao
[163]: Zhang andothers (2011), “Lya-
trùm của đồ thị 𝐺, còn động học của (𝑚 − 𝑛 + 1) cạnh còn lại có thể punov, adaptive, and optimal design
suy từ (𝑛 − 1) phương trình nói trên. techniques for cooperative systems on
directed communication graphs”
Mở rộng hơn, mô hình đồng thuận theo cạnh có tính thụ động. Dựa
trên tính chất của hệ thụ động, ta có thể phân tích hệ đồng thuận với
các tác tử và các tương tác phi tuyến. Việc đưa đầu ra của một hệ
đa tác tử về đồng thuận được gọi chung là bài toán đồng thuận đầu
ra. Chúng ta sẽ xét một ví dụ về đồng thuận đầu ra (pha của các dao
động tử) thông qua mô hình Kuramoto đơn giản.
Xét hệ đồng thuận gồm 𝑛 tác tử với mô hình là khâu tích phân bậc
nhất, với đồ thị thông tin 𝐺 và luật đồng thuận:
1: disagreement function
x¤ (𝑡) = −Lx(𝑡). (4.1)
Như đã định nghĩa ở chương trước, không gian đồng thuận được định
nghĩa bởi A = {x ∈ ℝ 𝑛 |𝑥1 = . . . = 𝑥 𝑛 }. Ta có thể định nghĩa mức độ
bất đồng thuận1 giữa hai tác tử 𝑖, 𝑗 bất kì bởi (𝑥 𝑖 − 𝑥 𝑗 )2 với nhận xét
rằng khi (𝑥 𝑖 − 𝑥 𝑗 )2 = 0, hai tác tử 𝑖 và 𝑗 đạt được đồng thuận.
Tiếp theo, xét 𝐺 là đồ thị hữu hướng và cân bằng. Khi đó deg+ (𝑣 𝑖 ) =
56 4 Phân tích hệ đồng thuận theo phương pháp Lyapunov và quá trình đồng thuận cạnh
P𝑛 P𝑛
deg− (𝑣 𝑖 ) hay 𝑗=1
𝑎 𝑖𝑗 = 𝑖=1
𝑎 𝑗𝑖 . Do đó, ta có thể viết các tổng
𝑛
X 𝑛
X X 𝑛
𝑛 X
x> Lx = 𝑥 2𝑖 𝑎 𝑖𝑗 − 𝑎 𝑖𝑗 𝑥 𝑖 𝑥 𝑗
𝑖=1 𝑗=1 𝑖=1 𝑗=1
𝑛 X
X 𝑛
= 𝑎 𝑖𝑗 𝑥 𝑖 (𝑥 𝑖 − 𝑥 𝑗 ),
𝑖=1 𝑗=1
𝑛 𝑛 𝑛
𝑛 X
x> L> x =
X X X
𝑥 2𝑖 𝑎 𝑗𝑖 − 𝑎 𝑖𝑗 𝑥 𝑖 𝑥 𝑗
𝑖=1 𝑗=1 𝑖=1 𝑗=1
X 𝑛
𝑛 X 𝑛 X
X 𝑛
= 𝑎 𝑖𝑗 𝑥 2𝑗 − 𝑎 𝑖𝑗 𝑥 𝑖 𝑥 𝑗
𝑗=1 𝑖=1 𝑖=1 𝑗=1
𝑛 X
X 𝑛
= 𝑎 𝑖𝑗 𝑥 𝑗 (𝑥 𝑗 − 𝑥 𝑖 ).
𝑖=1 𝑗=1
P𝑛
Như vậy, ta có thể chọn 𝑉𝐿 = 21 x> (L + L> )x = 𝑖,𝑗=1
𝑎 𝑖𝑗 (𝑥 𝑖 − 𝑥 𝑗 )2 . Dễ
thấy nếu thêm điều kiện đồ thị 𝐺 là liên thông yếu thì 𝑉𝐿 = 0 khi và
chỉ khi 𝑥 𝑖 = 𝑥 𝑗 , ∀𝑖, 𝑗 = 1 , . . . , 𝑛, 𝑖 ≠ 𝑗, hay nói cách khác, hệ (4.1) đạt
được đồng thuận.
Cuối cùng, xét trường hợp 𝐺 là hữu hướng và liên thông mạnh. Khi
đó, theo Định lý 2.2.4, ma trận Laplace L có một giá trị riêng đơn
𝜆1 = 0, với vector riêng bên phải 𝜸 > có tất cả các phần tử dương. Xét
ma trận M = 𝚪L + L> 𝚪, trong đó 𝚪 = diag(𝛾𝑖 ), ta có M là một ma
trân đối xứng. Hơn nữa,
𝑛
X 𝑛
X
x> 𝚪Lx = 𝛾𝑖 𝑥 𝑖 𝑎 𝑖𝑗 (𝑥 𝑖 − 𝑥 𝑗 )
𝑖=1 𝑗=1
𝑛 X
X 𝑛
= 𝛾𝑖 𝑎 𝑖𝑗 𝑥 𝑖 (𝑥 𝑖 − 𝑥 𝑗 ).
𝑖=1 𝑗=1
P𝑛 P𝑛
Từ 𝜸 > L = 0> , ta suy ra 𝛾𝑖 𝑗=1
𝑎 𝑖𝑗 = 𝑗=1
𝛾 𝑗 𝑎 𝑗𝑖 . Do đó,
𝑛
X 𝑛
X 𝑛
X 𝑛
X 𝑛 X
X 𝑛
𝛾𝑖 𝑥 𝑖 𝑎 𝑖𝑗 (𝑥 𝑖 − 𝑥 𝑗 ) = 𝛾𝑖 𝑥 2𝑖 𝑎 𝑖𝑗 − 𝛾𝑖 𝑎 𝑖𝑗 𝑥 𝑖 𝑥 𝑗
𝑖=1 𝑗=1 𝑖=1 𝑗=1 𝑖=1 𝑗=1
𝑛
X 𝑛
X 𝑛 X
X 𝑛
= 𝑥 2𝑖 𝛾 𝑗 𝑎 𝑗𝑖 − 𝛾𝑖 𝑎 𝑖𝑗 𝑥 𝑖 𝑥 𝑗
𝑖=1 𝑗=1 𝑖=1 𝑗=1
𝑛
X 𝑛
X 𝑛 X
X 𝑛
= 𝑥 2𝑗 𝛾𝑖 𝑎 𝑖𝑗 − 𝛾𝑖 𝑎 𝑖𝑗 𝑥 𝑖 𝑥 𝑗
𝑗=1 𝑖=1 𝑖=1 𝑗=1
𝑛 X
X 𝑛
= 𝛾𝑖 𝑎 𝑖𝑗 𝑥 𝑗 (𝑥 𝑗 − 𝑥 𝑖 ).
𝑖=1 𝑗=1
4.2 Phân tích theo phương pháp Lyapunov 57
Như vậy,
Ta chứng minh rằng với 𝐺 là liên thông mạnh thì ker(M) = ker(L) =
𝑣4 0.75 𝑣3
im(1𝑛 ). Thật vậy, nếu x là vector riêng ứng với trị riêng 0 của L thì
x> Mx = 2x> 𝚪Lx = 0, suy ra x ∈ ker(M). Vì ker(L) = im{1𝑛 }, ta suy
ra im(1𝑛 ) ⊆ ker(M). Ma trận M là ma trận Laplace ứng với đồ thị 1 0.25 0.5
𝐺¯ với cùng một tập đỉnh như 𝐺 và với trọng số của cạnh (𝑣 𝑖 , 𝑣 𝑗 ) là
𝑎¯ 𝑖𝑗 = 𝛾𝑖 𝑎 𝑖𝑗 + 𝛾 𝑗 𝑎 𝑗𝑖 . Dễ thấy rằng 𝐺¯ là một đồ thị vô hướng. Vì 𝐺 là liên
thông mạnh, 𝐺¯ là liên thông mạnh. Điều này dẫn đến rank(M) = 𝑛 − 1, 𝑣1 0.5 𝑣2
và ker(M) = im(1𝑛 ). Điều này chứng tỏ hệ đạt đồng thuận khi và chỉ (a) 𝐺
khi 𝑉𝐿 = 0.
𝑣4 0.75 𝑣3
Ví dụ 4.1.1 Trên hình 4.1(a), 𝐺 là đồ thị hữu hướng với ma trận
Laplace cho bởi 1 0.25 0.5
0.75 −0.5 −0.25 0
−0 . 5 0 . 5
0 0 𝑣1 𝑣2
L = . 0.5
− 0 . 25 − 0 . 5 0 . 75 0
(b) 𝐺0
0
0 −1 1
𝑣4 1 𝑣3
Dễ thấy 𝐺 là một đồ thị liên thông mạnh và không cân bằng. Trên
hình 4.1(b), 𝐺0 là đồ thị hữu hướng với ma trận Laplace cho bởi L> .
Ma trận L có một vector riêng bên trái 𝜸> = [ 43 , 43 , 43 , 1]. Cuối cùng, 1 1/3 1/3
hình 4.1(c) là đồ thị vô hướng tương ứng với ma trận L̄ = 𝚪L+L> 𝚪.
𝑣1 2/3 𝑣2
(c) 𝐺¯
Hình 4.1: (a) Đồ thị 𝐺 ứng với L. (b)
Đồ thị 𝐺0 ứng với L> . (c) Đồ thị 𝐺¯
4.2 Phân tích quá trình đồng thuận theo phương ứng với L̄ = 𝚪L + L> 𝚪.
pháp Lyapunov
Dựa vào các kết quả ở trên, ta sẽ phân tích quá trình đồng thuận
x¤ (𝑡) = −Lx(𝑡) với các giả thuyết khác nhau về đồ thị 𝐺.
Đầu tiên, nếu đồ thị 𝐺 là vô hướng và liên thông. Xét hàm Lyapunov
𝑉 = 12 x> x, khi đó,
𝑉¤ = x> x¤ = −x> Lx ≤ 0 [60]: Khalil (2002), Nonlinear Systems
Theo nguyên lý bất biến LaSalle, các quĩ đạo hội tụ tới tập bất biến
lớn nhất S = {x ∈ ℝ 𝑛 | Lx = 0} [60]. Vì đồ thị là liên thông, ta suy
ra S = im(1𝑛 ). Do đó, x(𝑡) → 𝛼1𝑛 với 𝛼 ∈ ℝ khi 𝑡 → +∞, hay hệ
dần tiến tới đồng thuận. Dựa vào định lý 3.1.2, ta suy ra: (i) tập bất
biến ứng với quĩ đạo x(0) chỉ bao gồm phần tử 𝑥 ∗ = 𝑛1 𝑛𝑖=1 𝑥 𝑖 (0); (ii)
P
ta có:
¤ = −(x − 𝑥 ∗ 1𝑛 )> Lx
𝑊
= −(x − 𝑥 ∗ 1𝑛 )> L(x − 𝑥 ∗ 1𝑛 )
≤ −𝜆2 (L)(x − 𝑥 ∗ 1𝑛 )> (x − 𝑥 ∗ 1𝑛 )
≤ −2𝜆2 (L)𝑊 .
Tiếp theo, xét đồ thị 𝐺 là hữu hướng, cân bằng, và liên thông yếu. Lúc
này, với hàm Lyapunov 𝑉 = x> x, ta có
Xét đồ thị 𝐺 hữu hướng và liên thông mạnh. Chọn hàm Lyapunov
𝑉 = x> 𝚪x, ta có:
Như vậy, vector riêng bên trái ứng với trị riêng 0 đóng vai trò quan
trọng trong việc chọn hàm Lyapunov. Nói cách khác, phương trình
Lyapunov ứng với hệ (4.1) có nghiệm là 𝚪 = diag(𝜸).
Đối với đồ thị có một cây có gốc-vào nhưng không liên thông mạnh,
vector riêng bên trái 𝜸> của L có các phần tử bằng 0 ứng với các đỉnh
không thuộc thành phần liên mạnh tới hạn chứa gốc ra của 𝐺. Ta có
thể đánh dấu các đỉnh nằm trong thành phần liên thông mạnh chứa
gốc vào bởi 𝑣1 , . . . , 𝑣 𝑙 . Các đỉnh còn lại là 𝑣 𝑙+1 , . . . , 𝑣 𝑛 . Từ đó, ta có
thể viết ma trận L dưới dạng:
L11 0
L= ,
L21 L22
y¤ = −L11 y , (4.2)
z¤ = −L22 z − L21 y. (4.3)
Chú ý rằng L22 1𝑛−𝑙 = (L0 + diag(−L21 1𝑛−𝑙 ))1𝑛−𝑙 = −L21 1𝑛−𝑙 . Do đó,
lim𝑡→+∞ z(𝑡) = 1𝑛−𝑙 𝑥 ∗ .
Cuối cùng, ta có thể định nghĩa q = [𝑞1 , . . . , 𝑞 𝑛−𝑙 ]> = L−221 1𝑛−𝑙 , P =
diag(𝑝 𝑖 ) = diag(1/𝑞 𝑖 ), Q = PL22 + L>
22 P, thì P và Q là các ma trận đối
xứng xác định dương và ta có thể chọn hàm Lyapunov cho (4.3) bởi
𝑉𝑧 = z> Pz.
Ví dụ 4.2.1 (Mô phỏng hệ đồng thuận với một số đồ thị hữu hướng
khác nhau) Trong ví dụ này, ta mô phỏng thuật toán đồng thuận
với một số đồ thị có hướng khác nhau. Các kết quả mô phỏng được
cho trong Hình 4.2.
Trong mô phỏng 1, giá trị đầu được cho bởi x(0) = [1 , 2, 3, 4, 5]> . Đồ
thị 𝐺1 là chu trình có hướng gồm 5 đỉnh. Dễ thấy 𝐺1 là đồ thị cân
bằng. Do đó, các tác tử dần đạt đồng thuận tại giá trị trung bình
cộng 15 5𝑖=1 𝑥 𝑖 (0) = 3.
P
Trong mô phỏng 2 và 3, giá trị đầu được cho bởi x(0) = [1 , 2 , 3 , 4 , 5 , 6]> .
Đồ thị 𝐺2 là đồ thị có gốc ra. Thành phần liên thông mạnh chứa gốc
ra là chu trình có hướng gồm 3 đỉnh 1, 2, 3. Do đó, các tác tử dần đạt
đồng thuận tại giá trị trung bình cộng 13 (𝑥1 (0) + 𝑥2 (0) + 𝑥3 (0)) = 2.
Đồ thị 𝐺3 có gốc ra duy nhất là đỉnh 1 nên các tác tử dần đạt tới
đồng thuận tới 𝑥1 (0) = 1.
60 4 Phân tích hệ đồng thuận theo phương pháp Lyapunov và quá trình đồng thuận cạnh
(a) 𝐺1 (b)
(c) 𝐺2 (d)
(e) 𝐺3 (f)
Hình 4.2: Mô phỏng thuật toán đồng thuận với ba đồ thị hữu hướng khác nhau.
4.3 Quá trình đồng thuận cạnh 61
Xét hệ đồng thuận tuyến tính mô tả bởi đồ thị vô hướng, liên thông
𝐺 = (𝑉 , 𝐸), trong đó các tác tử trong hệ được mô tả bởi khâu tích
phân bậc nhất. Mô hình đồng thuận được cho bởi:
x¤ = −Lx , (4.4)
𝜻¤ = −L𝑒 𝜻, (4.5)
trong đó L𝑒 , HH> ∈ ℝ 𝑚×𝑚 được gọi là ma trận Laplace cạnh2 . Rõ 2: edge Laplacian
ràng, L𝑒 là một ma trận đối xứng, bán xác định dương. Do 𝐺 là liên
thông, 𝑚 ≥ 𝑛 − 1. Gọi 𝜆 là một giá trị riêng bất kỳ của L và v là một
vector riêng tương ứng thì ta có:
Do đó, 𝜆 cũng là một giá trị riêng của L𝑒 với Hv là một vector riêng
ứng. Ta lại có rank(L)=rank(H)=rank(L𝑒 )=𝑛 − 1. Bởi vậy, L𝑒 có
đúng 𝑛 − 1 giá trị riêng dương (cũng chính là các giá trị riêng dương
của L) và (𝑚 − 𝑛 + 1) giá trị riêng 0 với các vector riêng là các vector
nằm trong không gian chu trình của 𝐺 (Chương 2).
¯ với 𝑥¯ = 𝑛1 1>
Đặt 𝜹 = x − 1𝑛 𝑥, 𝑛 x thì ta biết rằng k𝜹k → 0 khi 𝑡 → +∞.
Bởi vậy, k𝜻k = k Hx k = k H𝜹k ≤ k H k k𝜹k → 0, khi 𝑡 → +∞. Điều này
chứng tỏ rằng khi các đỉnh tiến tới đồng thuận thì trạng thái các cạnh
cũng tương ứng tiến tới 0.
Giả sử ta đã đánh số các cạnh của đồ thị 𝐺 sao cho các cạnh của một
cây bao trùm 𝑇 lần lượt là 𝑒1 , . . . , 𝑒 𝑛−1 , ta có thể viết lại ma trận H
dưới dạng:
H𝐸(𝑇)
H= , (4.7)
H𝐸\𝐸(𝑇)
trong đó H𝐸(𝑇) ∈ ℝ(𝑛−1)×𝑛 là ma trận liên thuộc của cây bao trùm 𝑇
và H𝐸\𝐸(𝑇) ∈ ℝ(𝑚−𝑛+1)×𝑛 là ma trận liên thuộc ứng với phần đồ thị còn
lại của 𝐺 sau khi xóa đi các cạnh trong 𝐸(𝑇). Do 𝑇 liên thông, H𝐸(𝑇)
thỏa mãn ker(H𝐸(𝑇) ) = im(1𝑛 ). Do mỗi hàng trong H𝐸\𝐸(𝑇) đều có thể
được biểu diễn bởi một tổ hợp tuyến tính của các hàng trong H𝐸(𝑇) ,
tồn tại ma trận T ∈ ℝ(𝑚−𝑛+1)×(𝑛−1) sao cho H𝐸\𝐸(𝑇) = TH𝐸(𝑇) . Chú ý
rằng H𝐸(𝑇) là đủ hạng hàng nên L𝑒 (𝑇) = H𝐸(𝑇) H>𝐸(𝑇)
là khả nghịch và
ta có thể viết
−1
T = H𝐸\𝐸(𝑇) H𝐸(𝑇) H𝐸(𝑇) H>
𝐸(𝑇)
. (4.8)
I
Đặt R = 𝑛−1 , ta có H = RH𝐸(𝑇) và L𝑒 = HH> = RH𝐸(𝑇) H>
𝐸(𝑇)
R> =
T
RL𝑒 (𝑇)R> .
62 4 Phân tích hệ đồng thuận theo phương pháp Lyapunov và quá trình đồng thuận cạnh
Hình 4.3: Đồ thị 𝐺 có ba chu trình, trong đó hai chu trình là độc lập.
Trở lại với phương trình đồng thuận cạnh (4.5), ta có thể biểu diễn
>
𝑡 , 𝜻𝑐
y = 𝜻> > = R𝜻𝑡 ,
trong đó 𝜻 𝑡 là vector biến trạng thái cạnh ứng với cây bao trùm 𝑇, còn
𝜻 𝑐 ứng với các cạnh còn lại. Bởi vậy, từ (4.5), ta có
R 𝜻¤ 𝑡 = −L𝑒 R 𝜻 𝑡 . (4.9)
Từ phương trình (4.10) và cấu trúc ma trận R, ta thấy rằng hệ rút gọn
bậc mô tả bởi:
𝜻¤ 𝑡 = −L𝑒 (𝑇)R> R 𝜻 𝑡 (4.11)
mô tả được hoàn toàn hệ đồng thuận cạnh (4.5). Chỉ cần biết được
động học của các biến trạng thái ứng với một cây bất kỳ, ta có thể thu
được các biến trạng thái 𝜻 𝑐 còn lại theo công thức 𝜻 𝑐 = T𝜻 𝑡 .
Ví dụ 4.3.1 Xét đồ thị 𝐺 như trên Hình 4.3. Với cây bao trùm gồm
các cạnh tô màu đỏ, ta có thể viết lại
−1 1 0 0
0
"
# −1 0 1 0
0
H𝐸(𝑇) 0 0 −1 0 1
(a) Đồ thị 𝐶20 0 1 0 1
H= = , và T = .
0 0 −1 1 0 0 0 1 −1
H𝐸\𝐸(𝑇)
−1 0 0 1 0
0 0 0 −1 1
(4.12)
3 H = - eye ( 2 0 ) ;
4 f o r i =1:1:19
5 H( i , i +1) = 1 ;
6 H( 2 0 , 1 ) = 1 ;
7 end
8
9 HT = H( 1 : 1 9 , : ) ; HC = H( 2 0 , : ) ;
10 T = HC/HT;
11 R = [ eye ( 1 9 ) ; T ] ;
12 Le = H*H ’ ;
13 LeT = HT*HT’ ;
14
15 % Khoi t a o g i a t r i dau
16 z e t a t 0 = 1 0 * ( rand ( 1 9 , 1 ) - 0 . 5 ) ;
17
18 % G i a i phuong t r i n h v i phan
19 [ t , z e t a t ] = ode45 ( @control_law , [ 0 , 3 0 ] , z e t a t 0 ) ;
20
21 % Bieu d i e n t r e n do t h i
22 figure (1) ;
23 h o l d on ;
24 f o r i =1:19
25 p l o t ( t , z e t a t ( : , i ) ’ , ’ LineWidth ’ , 1 . 5 ) ;
26 end
27 x l a b e l ’ Thoi g i a n [ s ] ’ ;
28 y l a b e l ’ Bien t r a n g t h a i ung v o i cay bao trum ’ ;
29 t i t l e ’ \ zeta_ { t } ( t ) , ( i , j ) \ i n E ’
30 box on ;
31
32 z e t a c = T* z e t a t ’ ;
33 z e t a = [ z e t a t z e t a c ’ ] ; % Bien t r a n g t h a i ung v o i moi
canh t r o n g do t h i
34
35 %% Ham t i n h dao ham
36 function dzetadt = control_law ( t , zeta )
37 g l o b a l LeT R
38 d z e t a d t = -LeT * (R’ *R) * z e t a ;
39 end
Trong mục này, ta xét hệ đồng thuận phi tuyến. Quan hệ phi tuyến có
thể nằm ở mô hình tác tử hoặc ở quan hệ tương tác giữa các tác tử. [9]: Arcak (2007), “Passivity as a de-
Công cụ để phân tích ở đây là lý thuyết về hệ thụ động [9, 161]. sign tool for group coordination”
[161]: Zelazo andothers (2010), “Edge
agreement: Graph-theoretic perfor-
Xét hệ phi tuyến mance bounds and passivity analysis”
với f thỏa mãn điều kiện Lipschitz địa phương với biến z (tức là với
mọi z1 , z2 ∈ 𝐷, luôn tồn tại 𝐿 > 0 sao cho k f(z1 ) − f(z2 )k ≤ 𝐿k z1 − z2 k)
và f(0 , 0) = 0. Khi đó hệ (4.13) là thụ động nếu tồn tại một hàm khả
vi liên tục, bán xác định dương 𝑉, gọi là hàm trữ năng thỏa mãn
¤
u(𝑡)> y(𝑡) ≥ 𝑉(𝑡), ∀𝑡 ≥ 0. (4.14)
64 4 Phân tích hệ đồng thuận theo phương pháp Lyapunov và quá trình đồng thuận cạnh
Nếu ở phương trình (4.14), 𝑉¤ được thay thế bởi 𝑉¤ + 𝜓(z) với hàm 𝜓 là
xác định dương, thì hệ gọi là thụ động chặt. Hơn nữa, do biến đầu ra
¤
trùng với biến trạng thái, u> (𝑡)y(𝑡) ≥ 𝑉(𝑡) + 𝜓(y(𝑡)), ∀𝑡, và hệ (4.13)
là thụ động chặt đầu ra.
Định lý 4.4.1 Giả sử hệ (4.13) là thụ động thì gốc tọa độ là ổn định
Lyapunov. Nếu hệ (4.13) là thụ động chặt thì gốc tọa độ sẽ là ổn
định tiệm cận.
𝑉¤ 𝑖 ≤ y>
𝑖 u 𝑖 − 𝜓 𝑖 (x𝑖 ) (4.16)
P𝑛
và hàm Lyapunov 𝑉 = 𝑖=1
𝑉𝑖 . Ta có,
𝑛 𝑛
𝑉¤ =
X X
y>
𝑖 u𝑖 − 𝜓 𝑖 (x𝑖 )
𝑖=1 𝑖=1
𝑛
X
= −y> H̄> 𝝓(H̄y) − 𝜓 𝑖 (x𝑖 ) ≤ 0. (4.18)
𝑖=1
Như vậy, x(𝑡) bị chặn. Hơn nữa, theo nguyên lý bất biến LaSalle,
Ví dụ 4.4.1 [Mô hình Kuramoto đơn giản] Xét hệ 𝑛 tác tử dao động
với tần số góc 𝜔 𝑖 > 0 và có góc pha cho bởi 𝜃𝑖 (𝑡). Sự tương tác giữa
các tác tử được mô tả bởi một đồ thị vô hướng 𝐺 và cho bởi phương
trình:
𝑘 X
𝜃¤ 𝑖 (𝑡) = 𝜔 𝑖 − sin(𝜃𝑖 − 𝜃 𝑗 ), 𝑖 = 1 , . . . , 𝑛. (4.20)
𝑛 𝑗∈𝑁
𝑖
4.4 Đồng bộ hóa đầu ra các hệ thụ động 65
Mô hình Kuramoto được nghiên cứu rộng rãi trong vật lý và có ứng
dụng trong giải thích các hiện tượng đồng bộ pha trong tự nhiên
hoặc mô hình đồng bộ các nguồn tạo dao động.
Xét mô hình Kuramoto đơn giản, trong đó các tần số góc 𝜔 𝑖 = 𝜔 𝑗 = 𝜔,
đồng thời liên kết giữa các tác tử được mô tả bởi đồ thị vô hướng,
liên thông 𝐺. Phương trình mô tả hệ được cho bởi
𝑘
𝜻¤ = − H> sin(H𝜻) (4.22)
𝑛
Có thể kiểm tra rằng hệ (4.22) là một hệ thụ động. Đồng thời, hàm
sin(𝑥) thỏa mãn các điều kiện (i) và (ii) khi |𝑥| < 𝜋2 . Ta suy ra
𝜻(𝑡) → im(1𝑛 ) khi 𝑡 → +∞. Điều này kéo theo việc 𝜃𝑖 → 𝜃 𝑗 , khi
𝑡 → +∞.
Mô phỏng hệ với mô hình Kuramoto đơn giản gồm 6 tác tử được
cho như trong Hình 4.6. Trong ví dụ này, đồ thị 𝐺 được chọn có ma
trận liên thuộc
−1 1 0 0 0 0
−1 0 1 0 0 0
0 −1 0 1 0 0
H = 0 0 −1 1 0 0
0
0 −1 0 1 0
0
0 −1 0 0 1
0
0 0 −1 0 1
4 -1 0 1 0 0 0 ;
5 0 -1 0 1 0 0 ;
6 0 0 -1 1 0 0 ;
7 0 0 -1 0 1 0 ;
8 0 0 -1 0 0 1 ;
9 0 0 0 -1 0 1 ] ;
10 omega = 1 ;
11 t h e t a 0 = p i / 2 * ( rand ( 6 , 1 ) - 0 . 5 ) ;
12
13 [ t , t h e t a ]= ode45 ( @kuramoto , [ 0 5 ] , t h e t a 0 ) ;
14 t h e t a=t h e t a ’ ;
15 t_end=l e n g t h ( t ) ;
16
17 figure (1)
18 h o l d on
19 f o r k =1:6
20 plot ( t , theta (k , : ) )
21 end
22 l e g e n d ( { " \ theta_1 " , " \ theta_2 " , " \ theta_3 " , " \ theta_4 " , " \
theta_5 " , " \ theta_6 " } )
23 x l a b e l ’ Thoi g i a n [ s ] ’
24 y l a b e l ’ Goc pha \ t h e t a _ i [ rad ] ’
25 box on
26
27 %% Tinh dao ham
28 f u n c t i o n d t h e t a d t = kuramoto ( t , t h e t a )
29 g l o b a l H omega
30 d t h e t a d t = o n e s ( 6 , 1 ) *omega - H’ * s i n (H* t h e t a ) ;
31 end
Một số kết quả về chọn hàm Lyapunov cho hệ đồng thuận trong chương
này được tham khảo từ [163]. Phương pháp Lyapunov cho ta một cách
gián tiếp để phân tích quá trình đồng thuận, không chỉ cho hệ đồng
thuận tuyến tính mà còn cho các hệ đồng thuận với tác tử có mô hình
phức tạp hơn, các hệ đồng thuận có trễ, có đồ thị thay đổi theo thời
gian [89],... Một số nghiên cứu khác tập trung vào thiết kế luật đồng
thuận trong thời gian hữu hạn, dựa trên một số định lý có dạng gần
giống định lý Lyapunov [151, 33, 98, 82]. Các thuật toán đồng thuận
với tín hiệu đầu vào thay đổi theo thời gian được giới thiệu ở [118, 47,
61, 13].
Các kết quả về đồng thuận cạnh, mô hình đồng thuận rút gọn và phân
tích hệ đồng thuận theo phương pháp thụ động hóa ở chương này được
trình bày từ tài liệu [161].
Bài tập 4.6.1 Xét hệ đồng thuận của các tác tử dạng tích phân bậc
4.6 Bài tập 67
𝑥¤ 𝑖 1 = 𝑥 𝑖 2 ,
X
𝑥¤ 𝑖 2 = −𝑘1 (𝑥 𝑖 1 − 𝑥 𝑗 1 ) − 𝑘2 𝑥 𝑖 2 , 𝑖 = 1 , . . . , 𝑛,
𝑗∈𝑁𝑖
Bài tập 4.6.2 Câu hỏi giống như bài tập 4.6.1 nhưng với hệ đồng
thuận cho bởi:
𝑥¤ 𝑖 1 = 𝑥 𝑖 2 ,
X X
𝑥¤ 𝑖 2 = −𝑘 1 (𝑥 𝑖 1 − 𝑥 𝑗 1 ) − 𝑘 2 𝑥 𝑖 2 − 𝑘3 (𝑥 𝑖 2 − 𝑥 𝑗 2 ), 𝑖 = 1 , . . . , 𝑛.
𝑗∈𝑁𝑖 𝑗∈𝑁𝑖
Bài tập 4.6.3 Xét hệ đồng thuận bị ảnh hưởng bởi nhiễu:
X
𝑥¤ 𝑖 = − (𝑥 𝑖 − 𝑥 𝑗 ) + 𝜔 𝑖 (𝑡), 𝑖 = 1 , . . . , 𝑛, (4.23)
𝑗∈𝑁𝑖
trong đó 𝜔 𝑖 (𝑡) thỏa mãn |𝜔 𝑖 (𝑡)| ≤ 𝑘 𝑖 𝑒 −𝜌𝑖 𝑡 . Chứng minh rằng x tiến tới
tập đồng thuận khi 𝑡 → +∞. Gợi ý: Sử dụng bổ đề: “Nếu x¤ = Ax + 𝝎
là hệ thỏa mãn A là ma trận Hurwitz, 𝝎 → 0 khi 𝑡 → +∞ thì x = 0
là ổn định tiệm cận.” kết hợp với việc viết lại hệ (4.23) dưới dạng
ma trận, phân tích L = P𝚲P−1 và đổi biến z = P−1 x.
Bài tập 4.6.4 [18, 134] Với D ⊆ ℝ 𝑑 và x ∈ D. Nếu tồn tại một hàm [18]: Bhat andothers (1998), “Finite-
liên tục 𝑉(x) : D → ℝ sao cho các điều kiện sau thỏa mãn time stability of continuous au-
tonomous systems”
(i) 𝑉(x) là xác định dương, [134]: Trinh andothers (2020), “Point-
ing consensus and bearing-based so-
(ii) Tồn tại 𝜅 > 0, 𝛼 ∈ (0 , 1), và một tập mở U0 ∈ D chứa gốc tọa
lutions to the Fermat-Weber location
độ mà tại đó problem”
¤ x) + 𝜅(𝑉(x))𝛼 ≤ 0 , ∀x ∈ U0 \ {0𝑑 },
𝑉(
thì 𝑉(x) tiến tới 0 trong thời gian hữu hạn bị chặn trên bởi 𝑇 ≤
𝑉(0)1−𝛼 /(𝜅(1 − 𝛼)).
Sử dụng kết quả trên, xét hệ đồng thuận với đồ thị 𝐺 vô hướng.
Chứng minh rằng luật đồng thuận cho bởi
sig𝛼 (𝑥 𝑖 − 𝑥 𝑗 ), 𝑖 = 1 , . . . , 𝑛,
X
𝑥¤ 𝑖 = −𝑘 (4.24)
𝑗∈𝑁𝑖
Bài tập 4.6.5 Xét mô hình của một mạng robot tương tác qua một
68 4 Phân tích hệ đồng thuận theo phương pháp Lyapunov và quá trình đồng thuận cạnh
trong đó:
I q𝑖 = [𝑞 𝑖 1 , . . . , 𝑞 𝑖𝑑 ]> : vector các tọa độ suy rộng của các biến
khớp
I u𝑖 = [𝑢𝑖 1 , . . . , 𝑢𝑖𝑑 ]> : vector điều khiển đầu vào (ngoại lực)
I M(q𝑖 ) = M(q𝑖 )> > 0 , ∀q𝑖 : ma trận quán tính, thỏa mãn
0 < 𝑘 𝑚 ≤ k M(q𝑖 )k ≤ 𝑘 𝑚¯ .
I C(q𝑖 , q¤ 𝑖 )q¤ 𝑖 : thành phần lực hướng tâm và lực Coriolis, M ¤ (q𝑖 ) =
C(q𝑖 , q¤ 𝑖 ) + C(q𝑖 , q¤ 𝑖 )> .
>
I g(q𝑖 ) = 𝜕𝜕𝑃 q𝑖
: trọng lực, 𝑃(q𝑖 ): hàm thế năng, g(q𝑖 ) = 0 ⇐⇒
q𝑖 = 0𝑑 .
i. Xét robot 𝑖, sử dụng hàm Lyapunov 𝑉 = 12 (q¤ 𝑖 )> M𝑖 (q𝑖 )q¤ 𝑖 +𝑃(q𝑖 ),
chứng minh rằng với luật điều khiển u𝑖 = −K𝑑 q¤ 𝑖 , trong đó
K𝑑 = K>𝑑
> 0 thì q𝑖 = 0𝑑 , q¤ 𝑖 = 0𝑑 là ổn định tiệm cận toàn cục.
ii. Xét luật đồng thuận cho mỗi tác tử dạng:
X
u𝑖 = M(q𝑖 )(− 𝑎 𝑖𝑗 (q𝑖 − q 𝑗 ) − 𝑘 q¤ 𝑖 ) + C(q𝑖 , q¤ 𝑖 )q¤ 𝑖 + g(q𝑖 ),
𝑗∈𝑁𝑖
Bài tập 4.6.6 Xét đồ thị 𝐺 vô hướng, liên thông, gồm 𝑛 đỉnh và 𝑚
cạnh với ma trận Laplace L và ma trận Laplace cạnh L𝑒 . Với 𝑇 là
một cây bao trùm của 𝐺 và giả sử 𝜆 𝑖 (A) kí hiệu giá trị riêng nhỏ thứ
𝑖 của ma trận A. Chứng minh rằng khi đó
Bài tập 4.6.7 Với 𝐺 = (𝑉 , 𝐸) là một cây với ma trận Laplace cạnh
L𝑒 có phổ là 𝜆1 ≤ . . . ≤ 𝜆𝑛 . Gọi 𝐺0 là đồ thị thu được nhờ thêm
một cạnh mới vào 𝐺, và L0𝑒 là ma trận Laplace cạnh tương ứng với
các giá trị riêng 𝜆ˆ 1 ≤ . . . ≤ 𝜆ˆ 𝑛+1 . Chứng minh rằng:
0 ≤ 𝜆ˆ 1 ≤ 𝜆1 ≤ 𝜆ˆ 2 ≤ . . . 𝜆𝑛 ≤ 𝜆ˆ 𝑛+1 . (4.26)
4.6 Bài tập 69
Bài tập 4.6.8 Với đồ thị 𝐺 vô hướng, liên thông, gồm 𝑛 đỉnh và 𝑚
cạnh, chứng minh các quan hệ sau:
H
h i
= 1𝐸(𝑇)
−1
i. Với S𝑣 = H>
𝐸(𝑇)
H𝐸(𝑇) H>
𝐸(𝑇)
1𝑛 và (S𝑣 )−1 > thì
𝑛 1𝑛
" −1 #
−1 L𝑒 (𝑇) H𝐸(𝑇) H> 0𝑛−1
(S𝑣 ) LS𝑣 = 𝐸(𝑇) . (4.27)
0>
𝑛−1 0
L𝑒 (𝑇)R> R
−1 0
(S𝑒 ) L𝑒 S𝑒 = . (4.28)
0 0𝑚−𝑛+1,𝑚−𝑛+1
S 0
iii. Với S = S𝑒 (S̄𝑣 )−1 , trong đó S̄𝑣 = >𝑣 thì
0 I𝑛−𝑚
L 0
(S)−1 L𝑒 S = . (4.29)
0 0𝑚−𝑛,𝑚−𝑛
Bài tập 4.6.9 Chứng minh rằng ma trận Laplace cạnh của một đồ
thị đường thẳng 𝑃𝑛 và ma trận nghịch đảo của nó được cho bởi
2 −1
−1 2 −1
.. .. ..
L𝑒 (𝑃𝑛 ) = . . . ,
(a)
− 1 2 − 1
−1 2
min(𝑖, 𝑗)(𝑛 − max(𝑖, 𝑗))
và [(L𝑒 (𝑃𝑛 ))−1 ]𝑖𝑗 = .
𝑛
(b)
Bài tập 4.6.10 Tìm các ma trận H, L𝑒 , T tương ứng của các đồ thị
trong Hình 4.7. Tìm một cơ sở của không gian chu trình của các đồ
thị đó.
sign(x)> Lx ≤ 0 ,
và bất đẳng thức này là chặt khi và chỉ khi tồn tại một cạnh
(𝑖, 𝑗) sao cho sign(𝑥 𝑖 ) ≠ sign(𝑥 𝑗 ).
70 4 Phân tích hệ đồng thuận theo phương pháp Lyapunov và quá trình đồng thuận cạnh
Bài tập 4.6.12 Xét đồ thị vô hướng, liên thông 𝐺 gồm 𝑛 đỉnh và
𝑚 cạnh. Gọi 𝑇(𝐺) là một cây bao trùm của 𝐺. Chứng minh rằng
𝜆 𝑖 (L) ≥ 𝜆 𝑖 (L𝑒 (𝑇)).
Bài tập 4.6.13 Phân tích các hệ đồng thuận sau dựa trên lý thuyết
ổn định Lyapunov:
𝑥¤ 𝑖 = − 𝑗∈𝑁𝑖 sign(𝑥 𝑖 − 𝑥 𝑗 ), 𝑖 = 1 , . . . , 𝑛.
P
i.
𝑥¤ 𝑖 = − 𝑗∈𝑁𝑖 sat(𝑥 𝑖 − 𝑥 𝑗 ), 𝑖 = 1 , . . . , 𝑛.
P
ii.
𝑥¤ 𝑖 = − 𝑗∈𝑁𝑖 tanh(𝑥 𝑖 − 𝑥 𝑗 ), 𝑖 = 1 , . . . , 𝑛.
P
iii.
x¤ 𝑖 = − 𝑗∈𝑁𝑖 A𝑖𝑗 (x𝑖 − x 𝑗 ), 𝑖 = 1 , . . . , 𝑛, trong đó x𝑖 ∈ ℝ 𝑑 , A𝑖𝑗 =
P
iv.
A 𝑗𝑖 = A>𝑖𝑗
∈ ℝ 𝑑×𝑑 là các ma trận đối xứng, xác định dương.
[73]: Mei (2018), “Model reference Bài tập 4.6.14 (Thuật toán đồng thuận thích nghi) [73] Xét hệ đa
adaptive consensus for uncertain tác tử mô tả bởi đồ thị 𝐺 vô hướng, liên thông. Giả sử mô hình tác
multi-agent systems under directed
graphs”
tử được cho bởi 𝑥¤ 𝑖 = 𝑢𝑖 + 𝑓𝑖 (𝑥 𝑖 , 𝑡)𝜃𝑖 , trong đó 𝜃𝑖 ∈ ℝ là một tham số
chưa biết còn 𝑓𝑖 (𝑡) là một hàm đã biết thỏa mãn điều kiện Lipschitz.
Xét thuật toán đồng thuận thích nghi cho bởi:
(𝑥 𝑖 − 𝑥 𝑗 ) − 𝑓𝑖 (𝑥 𝑖 , 𝑡)𝜃ˆ 𝑖
X
𝑢𝑖 = − (4.30)
𝑗∈𝑁𝑖
¤̂ X
𝜃𝑖 = 𝛾𝑖 𝑓𝑖 (𝑥 𝑖 , 𝑡) (𝑥 𝑖 − 𝑥 𝑗 ), 𝑖 = 1 , . . . , (4.31)
𝑗∈𝑁𝑖
Dựa Sai lệch Sai lệch Liên thông [86, 77, 67, 68]
trên cục bộ, cục bộ
khoảng góc định và góc
cách hướng định
hướng
Dựa Tọa độ Đồ thị [42, 63, 127, 85, 78,
trên tương cứng 123]
tọa độ đối địa khoảng
tương phương cách
đối địa
phương
Tọa độ Tọa độ Đồ thị [36, 93, 101]
tương tương không
đối địa đối địa cứng
phương phương khoảng
cách
Khoảng Khoảng Đồ thị [6, 28, 124]
cách cách cứng
khoảng
cách
Vector Góc Đồ thị đơn [16, 21, 20, 170, 171]
Dựa hướng giản 𝐶3 ,
trên địa 𝐶4 hoặc
vector phương 𝐶𝑛
hướng Vector Góc Đồ thị [25, 64, 59]
hướng cứng yếu
địa
phương
Vector Vector Đồ thị [22, 40, 115, 132, 165,
hướng hướng cứng 144, 139]
hướng
trong ℝ 𝑑
Vector Vector Đồ thị [46, 160, 114, 76]
hướng hướng cứng
địa địa hướng
phương phương trong
và Góc và góc 𝑆𝐸(𝑑)
định định
hướng hướng
tương tương
đối đối
Vector Vector Đồ thị [165, 135, 136]
hướng hướng cứng
địa địa hướng
phương phương trong ℝ 𝑑
và góc và góc
định định
hướng hướng
tương tương
đối đối
74 5 Điều khiển đội hình
Các biến trạng thái của một tác tử phân tán bao gồm một số đại lượng
viết trong một hệ qui chiếu gắn với tác tử đó. Thông thường, các biến
trạng thái được chọn gồm vị trí và vận tốc của tác tử cùng với hướng
của các hệ tọa độ tham chiếu (gọi chung là định hướng của tác tử trong
không gian). Để so sánh các giá trị của tác tử, vị trí và định hướng của
tác tử cần phải được cho dưới cùng một hệ tọa độ tham chiếu. Trong
không gian ℝ 𝑑 , định hướng của một tác tử 𝑖 được cho bởi một ma trận
R𝑖 ∈ 𝑆𝑂(𝑑), trong khi định hướng và vị trí được thể hiện bởi các phần
tử trong 𝑆𝐸(𝑑). Do mỗi tác tử có một hệ tọa độ tham chiếu riêng, định
hướng của các tác tử thường có sai lệch so với nhau cũng như so với hệ
tham chiếu toàn cục.
Trên hình 5.1, hệ qui chiếu toàn cục được kí hiệu bởi 𝑔 Σ, còn các hệ
Hình 5.1: Hệ qui chiếu toàn cục ( 𝑔 Σ), qui chiếu cục bộ/địa phương được kí hiệu bởi 𝑖 Σ và 𝑗 Σ. Các trục tọa độ
hệ qui chiếu chung (𝑐 Σ), và các hệ qui của tác tử 𝑖 và 𝑗 không trùng nhau cũng như không trùng với hệ tọa
chiếu cục bộ (𝑖 Σ và 𝑗 Σ).
độ toàn cục. Ma trận R𝑖 ∈ 𝑆𝑂(𝑑) mô tả phép chuyển tọa độ từ hệ tọa
độ 𝑔 Σ tới 𝑖 Σ. Ma trận để chuyển từ 𝑗 Σ tới 𝑖 Σ được cho bởi R𝑖𝑗 = R𝑖 R−𝑗 1 .
Như vậy, ma trận R−𝑖 1 mô tả phép chuyển từ hệ tọa độ địa phương 𝑖 Σ
tới hệ tọa độ toàn cục 𝑔 Σ.
Kí hiệu Σ∗ là một hệ qui chiếu chung, không nhất thiết phải trùng với
𝑔 Σ. Một hệ tọa độ với các trục trùng với Σ∗ được gọi là một hệ qui
Trong nhiều bài toán điều khiển đội hình, ta thường mong muốn các
tác tử có thể xác định vị trí và hướng dựa trên một hệ qui chiếu chung
𝑐 Σ. Ma trận R ∈ 𝑆𝑂(3) mô tả phép chuyển tọa độ từ 𝑔 Σ sang 𝑐 Σ. Nếu
𝑐
như hướng của các tác tử được điều chỉnh sao cho 𝑖 Σ = 𝑗 Σ = 𝑐 Σ thì ta
nói rằng các tác tử được đồng thuận về hướng.
Với mỗi tác tử 𝑖, ta kí hiệu vị trí của tác tử này trên hệ tham chiếu toàn
cục là p𝑖 ∈ ℝ 𝑑 . Với hai tác tử 𝑖 và 𝑗, vector sai lệch z𝑖𝑗 = p𝑖 − p 𝑗 là một
vector viết trong hệ tham chiếu toàn cục 𝑔 Σ. Vector này cũng có thể
𝑗 𝑗 𝑗 𝑗
biểu diễn bởi z𝑖𝑖𝑗 = p𝑖𝑖 − p𝑖𝑗 = −p𝑖𝑗 trong 𝑖 Σ hoặc là z𝑖𝑗 = p 𝑗 − p𝑖 = −p𝑖
𝑗
trong 𝑖 Σ do p𝑖𝑖 = p 𝑗 = 0. Chú ý rằng vector z𝑖𝑗 có hướng từ 𝑗 tới 𝑖,
𝑗 𝑗
trong khi z 𝑗𝑖 có hướng từ 𝑖 tới 𝑗. Chú ý rằng z 𝑗𝑖 = p𝑖 (vị trí của 𝑖 đo
bởi 𝑗 trong hệ qui chiếu 𝑗 Σ) hay z𝑖𝑗𝑖 = −p𝑖𝑗 (vị trí của 𝑗 đo bởi 𝑖 trong
hệ qui chiếu 𝑖 Σ). Mặc dù p 𝑗 − p𝑖 = z 𝑗𝑖 = −z𝑖𝑗 = −(p𝑖 − p 𝑗 ), do hệ qui
5.1 Giới thiệu 75
𝑗
chiếu của các tác tử khác nhau, ta có p𝑖 ≠ −p𝑖𝑗 do
𝑗 𝑗
z 𝑗𝑖 = p𝑖 = R 𝑗 R−𝑖 1 z𝑖𝑗𝑖 = R 𝑗𝑖 (−p𝑖𝑗 ).
Nhận xét rằng mặc dù có hướng và hệ qui chiếu khác nhau, các vector
𝑗 𝑗
z𝑖𝑖𝑗 , z𝑖𝑗𝑖 , z𝑖𝑗 , và z 𝑗𝑖 đều có độ dài như nhau và bằng khoảng cách giữa
hai tác tử 𝑖 và 𝑗. Ta kí hiệu khoảng cách từ tác tử 𝑖 tới tác tử 𝑗 bởi
𝑗
𝑑 𝑖𝑗 = k p𝑖 − p 𝑗 k = k z𝑖𝑖𝑗 k = k z𝑖𝑗 k = k z𝑖𝑗 k = 𝑑 𝑗𝑖 .
Một đại lượng (tương đối) khác có thể được đo đạc giữa hai tác tử 𝑖 và
p −p
𝑗 là vector (đơn vị) hướng g𝑖𝑗 = k p 𝑗 −p𝑖 k với giả thuyết rằng p𝑖 ≠ p 𝑗 . Dễ
𝑗 𝑖
𝑗
thấy k g𝑖𝑖𝑗 k = k g𝑖𝑗 k = 1. Chú ý rằng g𝑖𝑗 = −g 𝑗𝑖 , tuy nhiên g𝑖𝑖𝑗 ≠ −g 𝑗𝑖 với
cùng lý do như với các vector vị trí tương đối.
Với mỗi tác tử 𝑖, ta giả thuyết rằng tác tử 𝑖 có mô hình tích phân bậc
nhất
p¤ 𝑖 = u𝑖 , 𝑖 = 1 , . . . , 𝑛, (5.1)
với u𝑖 là tín hiệu điều khiển. Phương trình (5.1) được viết trên hệ qui
chiếu 𝑔 Σ. Ta có thể biến đổi (5.1) như sau
R𝑖 p¤ 𝑖 = R𝑖 u𝑖
hay, p¤ 𝑖𝑖 = u𝑖𝑖 , (5.2)
với u𝑖𝑖 là tín hiệu điều khiển biểu diễn trên hệ qui chiếu địa phương 𝑖 Σ
gắn với tác tử 𝑖.
Tiếp theo, ta định nghĩa khái niệm về các cấu trúc (tập cạnh) mô tả
tương tác giữa các tác tử trong hệ, bao gồm: đo đạc, điều khiển, và
truyền tin.
Định nghĩa 5.1.1 (Cấu trúc đo đạc, điều khiển, truyền tin) Nếu tác
tử 𝑖 đo một biến tương đối nào đó với tác tử 𝑗 thì tác tử 𝑗 là một
láng giềng-ra của 𝑖 trong đồ thị đo đạc 𝐺 𝑠 , kí hiệu bởi 𝑗 ∈ 𝑁𝑖𝑜 , và
(𝑖, 𝑗) ∈ 𝐸 𝑠 . Nếu tín hiệu điều khiển của tác tử 𝑖 dựa trên chuyển động
của tác tử 𝑗 thì 𝑗 là một láng giềng ra của 𝑖 trong đồ thị điều khiển
𝐺 𝑎 , kí hiệu bởi (𝑖, 𝑗) ∈ 𝐸 𝑎 . Nếu tác tử 𝑗 gửi một biến thông tin tới
tác tử 𝑖 thì 𝑗 là một láng giềng-ra của tác tử 𝑖 trong đồ thị thông tin
𝐺 𝑐 , kí hiệu bởi (𝑖, 𝑗) ∈ 𝐸 𝑐 .
Như vậy, trong một bài toán điều khiển đội hình tổng quát, các cấu trúc
về đo đạc, điều khiển, cũng như truyền tin là khác nhau: 𝐸 𝑠 ≠ 𝐸 𝑎 ≠ 𝐸 𝑐 .
Khi nói đến một cấu trúc của một đội hình mà không nói gì thêm, ta
ngầm nói đến cả ba cấu trúc này.
Khi một tác tử 𝑖 đo vị trí tương đối với tác tử 𝑗, 𝑖 có thể không cập
nhật vị trí của mình dựa trên vị trí tương đối mà chỉ dựa trên khoảng
cách giữa hai tác tử, hay dựa trên vector hướng từ 𝑖 tới 𝑗. Trong tài
liệu này, ta sử dụng thuật ngữ điều khiển đội hình dựa trên “X” nếu
như các tác tử trong hệ điều khiển vị trí của mình dựa trên biến “X” và
không tính tới việc các tác tử đo đạc hay truyền tin các biến nào khác.
Với qui ước này, ta sẽ lần lượt xét các phương pháp điều khiển đội
hình dựa trên vị trí tuyệt đối, vị trí tương đối, khoảng cách và vector
76 5 Điều khiển đội hình
hướng. Đây là các phương pháp điều khiển đội hình đã và đang được
quan tâm nghiên cứu gần đây.
5.2 Điều khiển đội hình dựa trên vị trí tuyệt đối
Khi tất cả các tác tử đều có thể nhận thông tin vị trí của mình từ hệ
tham chiếu toàn cục 𝑔 Σ, bài toán điều khiển đội hình trở nên khá đơn
giản. Cụ thể, khi mỗi tác tử 𝑖 biết được p𝑖 và mong muốn đạt tới vị
trí đặt p∗𝑖 thì luật điều khiển đội hình (5.1) viết cho mỗi tác tử có thể
thiết kế đơn giản dưới dạng
e¤ 𝑝 = −𝑘 𝑝 e𝑝 . (5.4)
Để cải thiện chất lượng điều khiển, ta có thể giả thiết rằng các tác tử
có thể trao đổi thông tin về vị trí với nhau qua đồ thị 𝐺 và thêm vào
luật điều khiển đội hình (5.3) thành phần 𝑗∈𝑁𝑖 𝑎 𝑖𝑗 (p 𝑗 − p∗𝑗 ) − (p𝑖 − p∗𝑖 )
P
p¤ = −𝑘 𝑝 (p − p∗ ) − (L ⊗ I𝑑 )(p − p∗ ), (5.6)
𝜹¤ = −𝑘 𝑝 𝜹 − (L ⊗ I𝑑 )𝜹
= − (𝑘 𝑝 I𝑛 + L) ⊗ I𝑑 𝜹
(5.7)
Giả sử rằng 𝐺 là một đồ thị có gốc-ra thì theo Định lý 2.2.4, các trị
riêng của ma trận 𝑘 𝑝 I𝑛 + L đều lớn hơn hoặc bằng 𝑘 𝑝 , điều này chứng
tỏ thành phần điều khiển từ trao đổi thông tin có thể làm tăng tốc độ
đạt được đội hình.
Ví dụ 5.2.1 Mô phỏng điều khiển đội hình gồm 20 tác tử dựa trên
vị trí tuyệt đối trong 2D và 3D được cho ở Hình 5.2. Với luật điều
khiển đã cho, các tác tử di chuyển trực tiếp tới vị trí đặt trong không
gian (các đỉnh của một đa giác đều gồm 20 đỉnh).
5.3 Điều khiển đội hình dựa trên vị trí tương đối 77
Code MATLAB của ví dụ 5.2.1 (mô phỏng đội hình trên 2D) được
cho dưới đây, trong đó hàm PlotFormation dùng để biểu diễn đội hình
được dùng chung trong các ví dụ ở mục này được cho ở Phụ lục C.1.
1 % Tham s o mo phong
2 n = 20; d = 2; o = 1;
3 global P k
4 P = z e r o s ( 2 , n ) ; % Vi t r i dat
5 f o r i =0:1:n -1
6 P ( : , i +1) = 5 * [ c o s ( i * p i / 1 0 ) ; s i n ( i * p i / 1 0 ) ] ;
7 % Doi hinh dat ( duong t r o n )
8 end
9 P = P(:) ;
(a) Đội hình trong không gian 2 chiều
10 k = 1;
11 % control gain
12 p0 = 2 5 * ( rand ( 4 0 , 1 ) - 0 . 5 ) ;
13 % Dieu k i e n dau
14 [ t , p ] = ode45 ( @control_lawC , [ 0 : 0 . 0 0 1 : 5 ] , p0 ) ;
15 Pl otF orm ation ( n , d , t , p ’ , H, o )
16
17 % Ham t i n h l u a t d i e u k h i e n d o i hinh
18 f u n c t i o n dpdt = control_lawC ( t , x i )
19 global P k
20 dpdt = - k * ( x i -P) ;
21 end
Trong phương án điều khiển dựa trên vị trí tương đối, hệ các tác tử
cần thỏa mãn các giả thuyết sau:
Biến đo Các tác tử có các hệ qui chiếu cục bộ được định hướng như
nhau và giống như hệ qui chiếu toàn cục. Tuy nhiên, các tác tử
không cần biết gốc tọa độ của hệ qui chiếu toàn cục này. Trong
hệ tham chiếu địa phương, các tác tử có thể đo vị trí tương đối
(vector sai lệch vị trí) và vận tốc tương đối (đối với tác tử bậc
hai) của một số tác tử láng giềng. Chú ý rằng do các hệ qui chiếu
địa phương là cùng hướng với hệ qui chiếu toàn cục, vector vị trí
tương đối đo trong các hệ qui chiếu đều như nhau.
Đồ thị tương tác Tương tác về đo đạc giữa các tác tử được cho bởi
đồ thị vô hướng 𝐺, với giả thuyết 𝐺 = (𝑉 , 𝐸) là một đồ thị liên
thông. Đội hình đặt được cho bởi một tập các vector sai lệch vị
trí mong muốn giữa các tác tử tương ứng với 𝐺.
Xét hệ gồm 𝑛 tác tử trong đó mỗi tác tử trong đội hình có mô hình là
khâu tích phân bậc nhất:
p¤ 𝑖 = u𝑖 , 𝑖 = 1 , . . . , 𝑛. (5.8)
Tập Γ = {z∗𝑖𝑗 }(𝑖,𝑗)∈𝐸 được gọi là khả thi nếu như tập
là khác tập rỗng. Ngược lại, nếu Ep∗ = ∅, ta gọi Γ là không khả thi.
Với bài toán này, luật điều khiển đội hình được thiết kế như sau:
X
u𝑖 = 𝑘 𝑝 𝑎 𝑖𝑗 (z𝑖𝑗 − z∗𝑖𝑗 ) (5.10)
𝑗∈𝑁𝑖
X
= 𝑘𝑝 𝑎 𝑖𝑗 (p 𝑗 − p𝑖 − (p∗𝑗 − p∗𝑖 )), (5.11)
𝑗∈𝑁𝑖
𝜹¤ = −𝑘 𝑝 (L ⊗ I𝑑 )𝜹. (5.12)
Theo lý thuyết về hệ đồng thuận, với 𝐺 là một đồ thị liên thông thì
¯ trong đó 𝜹¯ = 1 P𝑛 (p∗ (0) − p𝑖 (0)) là một vector
𝜹(𝑡) → 𝜹∗ = 1𝑛 ⊗ 𝜹, 𝑛 𝑖=1 𝑖
hằng. Do đó,
Phân tích hệ trong trường hợp tập Γ không khả thi sẽ được xét trong
bài tập 5.7.1.
Ví dụ 5.3.1 Ta mô phỏng điều khiển đội hình dựa trên vị trí tương
đối cho hệ gồm 20 tác tử với đồ thị tương tác là chu trình 𝐶20 và
đội hình đặt là các đỉnh của một đa giác đều 20 cạnh. Kết quả mô
phỏng được cho trong Hình 5.2. Các tác tử dần tạo thành đội hình
đặt khi 𝑡 → +∞.
1 % Tham s o mo phong
(b)
2 global P k L d
Hình 5.3: Mô phỏng thuật toán điều 3 n = 20; d = 3; o = 1;
khiển đội hình dựa trên vị trí tương 4 H = - eye ( n ) ; % Ma t r a n l i e n thuoc
đối trong 2D và 3D.
5 for i = 1 : 1 : n-1
6 H( i , i +1) = 1 ;
7 end
8 H( n , 1 ) = 1 ;
9
5.4 Điều khiển đội hình dựa trên khoảng cách 79
10 L = H’ *H; % Ma t r a n L a p l a c e
11 P = zeros (d , n) ;
12 f o r i =0:1:n -1
13 P ( : , i +1) = 5 * [ c o s ( i * p i / 1 0 ) ; s i n ( i * p i / 1 0 ) ; 0 ] ; % Doi
hinh dat ( Duong t r o n )
14 end
15 P = P(:) ;
16 k = 1; % He s o d i e u k h i e n
17 p0 = 2 0 * ( rand ( d*n , 1 ) - 0 . 5 ) ; % Dieu k i e n dau
18 [ t , p ] = ode45 ( @control_lawC , [ 0 : 0 . 0 0 1 : 3 0 ] , p0 ) ;
19 Pl otF orm ation ( n , d , t , p ’ , H, o )
20
21 % Tinh l u a t d i e u k h i e n
22 f u n c t i o n dpdt = control_lawC ( t , x i )
23 global L P d
24 dpdt = - kron (L , eye ( d ) ) * ( x i -P) ;
25 end
Xét hệ gồm 𝑛 tác tử được mô hình là khâu tích phân bậc hai:
p¤ 𝑖 = v𝑖 ,
v¤ 𝑖 = u𝑖 , 𝑖 = 1 , . . . , 𝑛. (5.14)
Thực hiện phép đổi biến 𝜹 = p𝑖 − p∗𝑖 , ta thu được phương trình
𝜹¤ 𝑖 = v𝑖 ,
X
v¤ 𝑖 = −𝑘 1 (𝜹 𝑖 − 𝜹 𝑗 ) − 𝑘 2 v𝑖 , 𝑖 = 1 , . . . , 𝑛. (5.16)
𝑗∈𝑁𝑖
Đối chiếu lại với phần thiết kế hệ đồng thuận với tác tử tích phân bậc
hai ở mục trước, hệ (5.16) tiến tới đồng thuận 𝜹 𝑖 → 𝛿∗ , v𝑖 → 0𝑑 . Điều
này tương đương với việc p𝑖 (𝑡) → p∗𝑖 + 𝜹∗ , 𝑡 → +∞.
Phương án điều khiển dựa trên khoảng cách (hay điều khiển đội hình
dựa trên vị trí tương đối trong hệ tọa độ riêng), hệ các tác tử cần thỏa
mãn các giả thuyết sau:
80 5 Điều khiển đội hình
I Mô hình tác tử: Các tác tử được mô hình hóa bởi khâu tích phân
bậc nhất:
p¤ 𝑖𝑖 = u𝑖𝑖 , 𝑖 = 1 , . . . , 𝑛, (5.17)
I Biến đo: Các tác tử có các hệ tham chiếu riêng được định hướng
khác nhau và không có thông tin về hệ tham chiếu toàn cục.
Trong hệ tham chiếu riêng, các tác tử có thể đo vị trí tương đối
(vector sai lệch vị trí) p𝑖𝑖𝑗 = p𝑖𝑗 − p𝑖𝑖 của các tác tử láng giềng
𝑗 ∈ 𝑁𝑖 .
I Đồ thị tương tác: Tương tác về đo đạc giữa các tác tử được cho
bởi đồ thị vô hướng 𝐺, với giả thuyết 𝐺 là một đồ thị cứng (rigid).
Đội hình đặt được cho bởi một tập các khoảng cách mong muốn
Γ = {𝑑 ∗𝑖𝑗 = k p∗𝑗 − p∗𝑖 k}(𝑖,𝑗)∈𝐸 .
Mặc dù các tác tử trong hệ đo được vị trí tương đối của các tác tử
khác trong ℝ 𝑑 , do các vector vị trí tương đối này không được biểu diễn
trên cùng một hệ tọa độ chung, việc điều khiển đội hình dựa trên sai
lệch vị trí là không khả thi. Thay vào đó, biến điều khiển lúc này được
chọn là khoảng cách giữa các tác tử. Dễ thấy, khoảng cách giữa các
tác tử có thể đo được dễ dàng từ vector sai lệch cục bộ và hoàn toàn
không phụ thuộc vào các hệ qui chiếu. Do ta chỉ điều khiển tập các
khoảng cách tương đối, một câu hỏi đặt ra là cần chọn bao nhiêu biến
khoảng cách và cần chọn các biến này như thế nào để khi các biến
này được thỏa mãn thì đội hình thu được chỉ sai khác đội hình đặt bởi
một phép tịnh tiến và một phép quay. Lời giải cho câu hỏi này có ở
lý thuyết cứng, một nhánh nghiên cứu của toán học thường được ứng
dụng trong nghiên cứu về cơ học hay cấu trúc phân tử hóa học [153,
10, 53, 32].
Xét hai cấu hình p và q của cùng một đồ thị 𝐺 trên ℝ 𝑑 . Hai cấu
4: distance equivalency hình p và q là tương đương về khoảng cách4 nếu như k p𝑖 − p 𝑗 k =
5: distance congruency k q𝑖 − q 𝑗 k, ∀(𝑖, 𝑗) ∈ 𝐸, và là tương đồng về khoảng cách5 nếu như
k p𝑖 − p 𝑗 k = k q𝑖 − q 𝑗 k, ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗.
5.4 Điều khiển đội hình dựa trên khoảng cách 81
Một cấu hình p của 𝐺 là cứng 6 nếu như tồn tại 𝜖 > 0 sao cho mọi 6: rigid
cấu hình q của 𝐺 thỏa mãn ∈ 𝐵 𝜖 , {q ∈ ℝ 𝑑𝑛 | k q − p k < 𝜖} và q tương
đương về khoảng cách với p thì q cũng tương đồng về khoảng cách với
p. Đội hình (𝐺, p) là cứng khoảng cách toàn cục7 nếu như mọi cấu hình 7: global rigidity
q tương đương về khoảng cách với p thì cũng tương đồng về khoảng
cách với p.
Việc xét trực tiếp liệu một cấu hình p có là cứng khoảng cách hay
không dựa trên định nghĩa là không đơn giản khi số đỉnh 𝑛 lớn. Để
đơn giản hóa việc xác định tính cứng của đồ thị, ta có khái niệm cứng
8: infinitesimal rigidity
khoảng cách vi phân8 - một xấp xỉ bậc nhất về tính cứng của p. Đánh
số các cạnh của đồ thị từ 1 tới 𝑚, với kí hiệu 𝑒 𝑘 ≡ 𝑒 𝑘 𝑖𝑗 ≡ (𝑖, 𝑗), ta có
các vector sai lệch vị trí tương ứng z 𝑘 ≡ z𝑖𝑗 = p 𝑗 − p𝑖 , 𝑘 = 1 , . . . , 𝑚. Ta
định nghĩa hàm (bình phương các) khoảng cách:
>
f𝐺 (p) , k z1 k 2 , . . . , k z𝑚 k = [. . . , k z𝑖𝑗 k 2 , . . .]> ∈ ℝ 𝑚 .
(5.18)
Ma trận cứng (rigidity matrix) của đội hình (𝐺, p) được định nghĩa
là:
1 𝜕f𝐺 (p)
R(p) = . (5.19)
2 𝜕p
Chú ý rằng ma trận cứng luôn có ít nhất 𝑑 + 𝑑(𝑑 − 1)/2 = 𝑑(𝑑 + 1)/2
vector riêng tương ứng với giá trị riêng 0. Các vector riêng này tương
ứng với các chuyển động bảo toàn tính cứng của đội hình, cụ thể là
phép tịnh tiến và phép quay theo các trục tọa độ của 𝑔 Σ.
(b) Đội hình cứng
Ví dụ 5.4.1 Ma trận cứng của đồ thị trên hình 5.4(b) được cho như
sau:
(p1 − p2 )> (p2 − p1 )> 0> 0>
(p1 − p3 )> (p3 − p1 )>
0> 0>
(p1 − p4 )> (p4 − p1 )>
R (p) = 0> 0>
(p2 − p3 )> (p3 − p2 )>
0> 0> (c) Đội hình cứng
(p3 − p4 )> (p4 − p3 )>
0> 0>
toàn cục
Hình 5.4: Một số ví dụ minh họa lý
Có thể nhận xét rằng, ma trận cứng có cấu trúc khá tương tự như thuyết cứng khoảng cách.
ma trận liên thuộc. Tuy nhiên, ở hàng thứ 𝑘 tương ứng với cạnh
(𝑖, 𝑗) thì (p𝑖 − p 𝑗 )> được thay cho −1, (p𝑖 − p 𝑗 )> được thay cho 1, và
0> được thay cho 0.
Đồ thị 𝐺 là cứng phổ quát trong ℝ 𝑑 nếu như hầu hết mọi cấu hình
của 𝐺 trong ℝ 𝑑 đều là cứng, ngoại trừ một tập con của ℝ 𝑑 với độ đo
Lebesgue bằng 0. Để đơn giản, người ta cũng gọi tắt 𝐺 là đồ thị cứng
với ý rằng 𝐺 là cứng phổ quát.
Dựa vào ma trận cứng, nếu tồn tại một cấu hình p của 𝐺 sao cho
rank(R(p)) = 𝑑𝑛 − 𝑑(𝑑+
2
1)
thì 𝐺 là đồ thị cứng. Cấu hình p của 𝐺 thỏa
𝑑(𝑑+1)
mãn rank(R(p)) = 𝑑𝑛 − 2 gọi là một cấu hình với các tọa độ ở vị
82 5 Điều khiển đội hình
trí tổng quát, hay gọi tắt là một cấu hình tổng quát. Ngược lại, cấu
hình p của 𝐺 mà ở đó rank(R(p)) < 𝑑𝑛 − 𝑑(𝑑+ 2
1)
gọi là một cấu hình
suy biến.
Trên không gian hai chiều, mọi đồ thị Laman đều là đồ thị cứng tổng
quát. Chứng minh cụ thể của phát biểu này có thể tham khảo từ bài
[66]: Laman (1970), “On graphs and
rigidity of plane skeletal structures” báo của Laman [66] và sẽ không được trình bày trong tài liệu này.
Henneberg đề xuất phương pháp xây dựng các đồ thị Laman trong hai
chiều như sau: bắt đầu từ một đồ thị gồm hai đỉnh (1 và 2) và một
cạnh (1 , 2). Với mỗi bước, ta mở rộng đồ thị nhờ một trong hai toán tử
sau đây:
1. Cộng đỉnh: Thêm một đỉnh 𝑘 và hai cạnh nối 𝑘 với hai đỉnh 𝑖, 𝑗
hiện có trong đồ thị.
2. Chia cạnh: Xóa một cạnh (𝑖, 𝑗) hiện có trong đồ thị và thêm vào
một đỉnh 𝑘 cùng ba cạnh (𝑘, 𝑖), (𝑘, 𝑗), (𝑘, 𝑙), trong đó 𝑙 là một
đỉnh trong đồ thị hiện tại khác 𝑖, 𝑗.
Đồ thị thu được từ xây dựng Henneberg là một đồ thị Laman. Ngược
lại, người ta cũng chứng minh được rằng mọi đồ thị Laman trong không
gian hai chiều đều có thể thu được nhờ xây dựng Henneberg.
Định nghĩa 5.4.1 cho ta một phương án để kiểm tra các đồ thị là cứng
phổ quát với số cạnh tối thiểu. Tuy nhiên, cách kiểm tra này đòi hỏi
phải xét mọi tập con của đồ thị,do đó việc kiểm tra sẽ yêu cầu khối
lượng tính toán cao. Một số điều kiện tương đương khác để kiểm tra
một đồ thị cứng tối thiểu với độ phức tạp thấp hơn là dựa trên định lý
Crapo và định lý Récski [34, 17].
Với các khoảng cách được cho từ một đội hình đặt p∗ = vec(p∗1 , . . . , p∗𝑛 ) ∈
ℝ 𝑑𝑛 , ta định nghĩa các biến sai lệch khoảng cách 𝜎𝑖𝑗 = k p𝑖 −p 𝑗 k 2 −(𝑑∗𝑖𝑗 )2 =
(𝑑 𝑖𝑗 )2 − (𝑑∗𝑖𝑗 )2 , ∀(𝑖, 𝑗) ∈ 𝐸 và
là tổng các sai lệch khoảng cách mong muốn giữa các tác tử trong hệ
thì luật điều khiển đội hình thiết kế theo phương pháp gradient được
viết trên hệ tọa độ của tác tử 𝑖 như sau:
Dễ thấy rằng luật điều khiển (5.22) là một luật phân tán, và luật này
chỉ sử dụng các biến đo được bởi tác tử 𝑖 trong 𝑖 Σ.
Chuyển phương trình (5.22) sang hệ quy chiếu toàn cục 𝑔 Σ, ta có:
X
𝑑2𝑖𝑗 − (𝑑∗𝑖𝑗 )2 (p 𝑗 − p𝑖 ), ∀𝑖 = 1 , . . . , 𝑛.
p¤ 𝑖 = − (5.23)
𝑗∈𝑁𝑖
Ta viết lại luật điều khiển đội hình (5.23) dưới dạng ma trận như sau:
p¤ = −∇p 𝑉
1 𝜕f𝐺 (p) >
f𝐺 (p) − f𝐺 (p∗ )
=−
2 𝜕p
= −R(p)> 𝝈. (5.24)
Dễ thấy, với luật điều khiển (5.25) thì (1𝑛 ⊗ I2 )> p¤ = 0 nên trọng tâm của
đội hình là bất biến theo thời gian. Kết hợp với quan hệ p> (I𝑛 ⊗ J)p¤ = 0,
ta suy ra momen động lượng p> (I𝑛 ⊗ J)p của hệ cũng là không đổi theo
thời gian [121].
Để phân tích sự hội tụ của hệ, ta định nghĩa các tập hợp:
Q = {p ∈ ℝ 𝑑𝑛 | p¤ = 0}, (5.26)
𝑑𝑛
D = {p ∈ ℝ | 𝝈 = 0}, (5.27)
U = Q \ D, (5.28)
trong đó Q chứa các điểm cân bằng của (5.24), D là tập các điểm cân
bằng mong muốn (tập các đội hình thỏa mãn mọi khoảng cách đặt 𝑑∗𝑖𝑗 ),
và U là những điểm cân bằng không mong muốn. Sự tồn tại của tập
U = {p ∈ ℝ 𝑑𝑛 | R(p)> 𝝈 = 0𝑑𝑛 , 𝝈 ≠ 0𝑚 } gây khó khăn cho việc xét tính
ổn định của các đội hình tương ứng với một đồ thị cứng bất kỳ.
Với hàm Lyapunov được cho bởi 𝑉(𝝈) = 14 𝝈 > 𝝈 thì dọc theo một quỹ
đạo của (5.29), ta có:
𝑛k p̄ − p𝑖 k = k p1 − p𝑖 + . . . + p𝑛 − p𝑖 k
≤ k p1 − p𝑖 k + . . . + k p𝑛 − p𝑖 k
𝑛
X
= k p 𝑗 − p𝑖 k (5.31)
𝑗=1
Lấy tổng các bất phương trình (5.31) theo 𝑖 = 1, . . . , 𝑛, ta thu được:
𝑛
X 𝑛 X
X 𝑛
𝑛 k p̄ − p𝑖 k ≤ k p 𝑗 − p𝑖 k
𝑖=1 𝑖=1 𝑗=1
𝑚
X 𝑚
X 𝑚
X
𝜎𝑘 = k z𝑘 k 2 − k z∗𝑘 k 2 = k z k − k z∗ k 2 . (5.33)
𝑘=1 𝑘=1 𝑘=1
Do
2
𝑚
X 𝑚
X
𝜎𝑘 ≤𝑚 𝜎2𝑘 = 4𝑚𝑉(𝝈(𝑡)), (5.34)
𝑘=1 𝑖=1
ta suy ra điều kiện đủ để p tiệm cận tới một cấu hình trong D là
√ √
k z∗ k 2 − 2 𝑚𝛾 ≤ k z(0)k 2 ≤ k z∗ k 2 + 2 𝑚𝛾. (5.35)
5.4 Điều khiển đội hình dựa trên khoảng cách 85
Xét trường hợp 3 điểm thẳng hàng và không có 2 điểm nào trùng nhau.
Do tính đối xứng, ta chỉ cần xét trường hợp điểm p2 nằm giữa p1 và
p3 , tức là 𝑑12 +𝑑23 = 𝑑13 . Phương trình p¤ 2 = 0 cho ta 𝑑12 = 𝑑23 = 12 𝑑13 .
Thay vào phương trình p¤ 1 = −(𝑑12 2
− 1)(p1 − p2 )− 2(4𝑑12
2
− 1)(p1 − p2 ) = p∗1 p3 ≡ p∗2
−(9 𝑑12 − 3)(p1 − p2 ) = 0, ta suy ra 𝑑12 = √ = 𝑑23 (vô lý).
2 1
(d)
3
hướng). Do đó, trong một số tài liệu, nó được gọi là ma trận Laplace Hình 5.5: Minh họa Ví dụ 5.4.2: (a)
cấu hình mong muốn, (b) & (c) & (d)
cứng. Giá trị riêng dương nhỏ nhất của ma trận này cũng là một chỉ & (e) bốn cấu hình khác nhau thuộc
số để xác định tính cứng của đồ thị [140]. U∗ .
Với cách biểu diễn này, (5.24) có dạng một giao thức đồng thuận với
các trọng số 𝜎 𝑘 , 𝑘 = 1 , . . . , 𝑚, phụ thuộc vào biến trạng thái p. Do các
trọng số 𝜎 𝑘 , 𝑘 = 1 , . . . , 𝑚 có thể nhận giá trị âm và phụ thuộc vào cấu
hình, ta không áp dụng được phương pháp phân tích như cho hệ đồng
thuận thông thường. Mặt khác, (5.39) mô tả một hệ đồng thuận trọng
số phụ thuộc trạng thái p bị tác động bởi một tín hiệu đầu vào ở dạng
phản hồi trạng thái u(p) = H̄> (diag(f𝐺 (p∗ )) ⊗ I2 )H̄p.
86 5 Điều khiển đội hình
Ví dụ 5.4.3 Để minh họa sự tồn tại của các điểm cân bằng không
mong muốn, ta xét ví dụ trình bày trong [97, 137] về một đội hình
gồm 5 tác tử với đồ thị 𝐺 cho trên Hình 5.7 các khoảng cách đặt
mong muốn được cho bởi: 𝑑12 ∗2
= 𝑑23
∗2
= 10, 𝑑13
∗2
= 4, 𝑑14
∗2
= 𝑑34
∗2
= 5,
𝑑25 = 41 và 𝑑45 = 26.
∗ ∗
Luật điều khiển đội hình dựa trên khoảng cách (5.23) đã được sử
dụng. Tương ứng với hai cấu hình ban đầu khác nhau, hệ hội tụ
Hình 5.6: Đội hình đặt trong Ví dụ tới hai cấu hình hoàn toàn khác nhau (mong muốn và không mong
5.4.3. muốn).
(a) (b)
(c) (d)
Hình 5.7: Đội hình gồm 5 tác tử: (a) và (b): p tiến tới một đến một cấu hình mong muốn; (c) và (d) p tiến tới một cấu hình
không mong muốn.
42 end
43 axis tight
44 box on ;
45
46 f u n c t i o n dpdt = c o n t r o l _ l a w ( t , p )
47 g l o b a l fP H m d kp
48 z = kron (H, eye ( d ) ) *p ;
49 Z1 = r e s h a p e ( z , d ,m) ;
50 Z = [];
51 f o r i =1:m
52 Z = b l k d i a g ( Z , Z1 ( : , i ) ) ;
53 end
54 R = Z ’ * kron (H, eye ( d ) ) ;
55 sigma = Z ’ * z - fP ;
56 dpdt = - kp*R’ * sigma ;
57 end
58
59 f u n c t i o n fG = d i s t a n c e ( p )
60 global H m d
61 z = kron (H, eye ( d ) ) *p ’ ;
62 Z1 = r e s h a p e ( z , d ,m) ;
63 Z = [];
64 f o r i =1:m
65 Z = b l k d i a g ( Z , Z1 ( : , i ) ) ;
66 end
67 fG = Z ’ * z ;
68 end
88 5 Điều khiển đội hình
p 𝑗 − p𝑖 z𝑖𝑗
g𝑖𝑗 = = ,
k p 𝑗 − p𝑖 k k z𝑖𝑗 k
trong đó z𝑖𝑗 = p 𝑗 − p𝑖 là vector sai lệch. Với mỗi vector hướng g𝑖𝑗 , ta
định nghĩa một ma trận chiếu vuông góc tương ứng Pg𝑖𝑗 = I𝑑 − g𝑖𝑗 g>𝑖𝑗
.
10: bearing equivalency Hai đội hình (𝐺, p) và (𝐺, q) là tương đương về hướng10 nếu Pg𝑖𝑗 (q𝑖 −
q 𝑗 ) = 0 , ∀(𝑣 𝑖 , 𝑣 𝑗 ) ∈ 𝐸. Hơn nữa, (𝐺, p) và (𝐺, q) là tương đồng về
11: bearing congruency hướng11 nếu P(p𝑖 −p 𝑗 ) (q𝑖 − q 𝑗 ) = 0 , ∀𝑖 ≠ 𝑗, 𝑖, 𝑗 = 1 , . . . , 𝑛. Một đội hình
12: globally bearing rigid
(𝐺, p) là cứng hướng toàn cục12 nếu như một đội hình bất kỳ tương
đương về hướng với (𝐺, p) thì cũng tương đồng về hướng với (𝐺, p).
Đặt g = vec(g1 , . . . , g𝑚 ) = [. . . , g>
𝑖𝑗
, . . .]> , ma trận cứng hướng được
định nghĩa như sau:
𝜕g Pg
H̄ ∈ ℝ 𝑑𝑚×𝑑𝑛 ,
𝑘
R𝑏 = = blkdiag
𝜕p k z𝑘 k
5.5 Điều khiển đội hình dựa trên vector hướng 89
Hình 5.8: Ví dụ về tính cứng hướng vi phân: Trong ℝ2 , các đội hình (a), (b), (c) là cứng hướng vi phân, các đội hình (d), (e),
(f) là không cứng hướng vi phân. Trong ℝ3 , các đội hình (g), (h), (i), (j) là cứng hướng vi phân, các đội hình (k), (l) là không
cứng hướng vi phân.
Tính cứng hướng của một đội hình bảo toàn khi tăng số chiều 𝑑 của
không gian. Nếu (𝐺, p) là cứng hướng vi phân trong ℝ 𝑑 thì (𝐺, p) cũng
cứng hướng vi phân trong ℝ 𝑑+1 . Hơn nữa, không gian sinh bởi các
chuyển làm thay đổi tỉ lệ của đội hình là trực giao với không gian các
chuyển động vi phân làm quay đội hình. Hệ quả của nhận xét này là
trong không gian 𝑑 = 2 chiều, một đội hình là cứng hướng vi phân
trong ℝ2 khi và chỉ khi nó cứng khoảng cách vi phân trong ℝ2 .
Định nghĩa ma trận cứng hướng được hiệu chỉnh R̃𝑏 = (diag(k z 𝑘 k) ⊗
I𝑑 )R𝑏 = blkdiag Pg𝑘 H̄, thì ker(R𝑏 ) = ker(R̃𝑏 ). Ma trận Laplace hướng
được định nghĩa bởi L𝑏 = R̃> R̃ là đối xứng, bán xác định dương, và
𝑏 𝑏
ker(L𝑏 ) = ker(R𝑏 ). Các phần tử khối của ma trận trên được cho bởi:
−P , (𝑖, 𝑗) ∈ 𝐸,
g𝑖𝑗
[L𝑏 ]𝑖𝑗 = 0𝑑×𝑑 , (𝑖, 𝑗) ∉ 𝐸, (5.40)
P 𝑗∈𝑁 Pg , 𝑖 = 𝑗.
𝑖 𝑖𝑗
Định nghĩa 5.5.1 (Đồ thị cứng hướng phổ quát) [172] Đồ thị 𝐺 là [172]: Zhao andothers (2017), “Laman
cứng hướng phổ quát14 trong ℝ 𝑑 nếu tồn tại ít nhất một cấu hình graphs are generically bearing rigid
in arbitrary dimensions”
p ∈ ℝ 𝑑𝑛 sao cho (𝐺, p) là cứng hướng vi phân.
Tập các đội hình cứng hướng vi phân là trù mật trong ℝ 𝑑 , tức là
nếu một đội hình (𝐺, p) là cứng hướng vi phân thì ta luôn tìm được 14: generic bearing rigidity
90 5 Điều khiển đội hình
một đội hình (𝐺, q) cứng hướng vi phân trong mọi lân cận 𝐵 𝜖 = {p0 ∈
ℝ 𝑑𝑛 | k p0 − p k < 𝜖}, với mọi 𝜖 > 0. Đồ thị 𝐺 là không cứng hướng (phổ
quát) nếu như nó không là cứng hướng phổ quát, nói cách khác (𝐺, p)
không cứng hướng vi phân với mọi cấu hình p của 𝐺 trong ℝ 𝑑 .
Do tính cứng hướng vi phân là bảo toàn khi tăng số chiều của không
gian nên tính cứng hướng phổ quát cũng bảo toàn khi tăng số chiều
của không gian. Thật vậy, đồ thị chu trình 𝐶3 là cứng hướng phổ quát
trong ℝ2 nên cũng cứng hướng phổ quát trong ℝ 𝑑 , với 𝑑 ≥ 3. Trong
khi đó, đồ thị 𝐶4 là không cứng hướng trong ℝ2 nhưng là cứng hướng
phổ quát trong ℝ3 . Do đó, 𝐶4 cũng cứng hướng phổ quát trong ℝ 𝑑 , với
𝑑 ≥ 3.
Định nghĩa 5.5.2 (Đồ thị cứng hướng tối thiểu) Đồ thị 𝐺 là cứng
hướng tối thiểu trong ℝ 𝑑 khi và chỉ khi không tồn tại đồ thị H nào
gồm 𝑛 đỉnh mà H là cứng hướng phổ phát trên ℝ 𝑑 và có ít hơn 𝑚
cạnh. Với định nghĩa này, có thể chứng minh rằng đồ thị 𝐶 𝑛 là cứng
hướng phổ quát tối thiểu trong ℝ 𝑑 khi và chỉ khi 𝑛 ≤ 𝑑 + 1.
Đồ thị 𝐺 gồm 𝑚 cạnh là 1-thừa cứng hướng trong ℝ 𝑑 khi và chỉ khi
mỗi đồ thị con bao trùm của 𝐺 với 𝑚 − 1 cạnh cũng là đồ thị cứng
15: minimal bearing rigidity phổ quát. Một số phương pháp xây dựng các đồ thị cứng hướng tối
[133]: Trinh andothers (2020), “Mini- thiểu15 và đồ thị 1-thừa cứng hướng được trình bày tại [133]. Ý tưởng
mal and redundant bearing rigidity:
Conditions and applications”
chung của phương pháp xây dựng đồ thị cứng hướng phổ quát tối thiểu
với 𝑛 đỉnh trong ℝ 𝑑 xuất phát từ toán tử cộng đỉnh trong xây dựng
16: Thuật ngữ “open ear” được dùng
ở [154] Henneberg. Tại mỗi bước, một chuỗi các đỉnh và cạnh16 với độ dài
không quá 𝑑 được thêm vào hai đỉnh phân biệt của đồ thị cứng hướng
phổ quát hiện tại. Phương pháp xây dựng đồ thị cứng hướng phổ quát
này được mô tả ở Thuật toán 1. Số cạnh tối thiểu được cho bởi hàm
số 𝑓 (𝑛, 𝑑) như sau:
𝑛, nếu 𝑛 ≤ 𝑑 + 1 ,
𝑓 (𝑛, 𝑑) = (5.41)
𝑓 (𝑛 − 𝑑 + 1 , 𝑑) + 𝑑, nếu 𝑛 > 𝑑 + 1.
Algorithm 1: Xây dựng một đồ thị cứng phổ quát tối thiểu gồm
𝑛 (𝑛 ≥ 3) đỉnh trong ℝ 𝑑 (𝑑 ≥ 2)
Require: 𝑑 ≥ 2: số chiều, 𝑛 ≥ 3: số đỉnh trong đồ thị
1: if 𝑛 ≤ 𝑑 + 1 then
2: 𝐺 ← C𝑛 ;
3: else
4: 𝑘 ← 0;
5: 𝐺[𝑘] ← C𝑑+1 ;
6: 𝑞 ← (𝑛 − 𝑑 − 1);
7: while 𝑞 ≥ 𝑑 − 1 do
8: 𝑘 ← 𝑘 + 1;
9: 𝐺[𝑘] ← Cộng một vòng hở gồm 𝑑 − 1 đỉnh và 𝑑 cạnh vào hai
đỉnh phân biệt của 𝐺;
10: 𝑞 ← (𝑞 − 𝑑 + 1);
11: end while
12: if 𝑞 > 0 then
13: 𝐺 ← Cộng một vòng hở gồm 𝑞 đỉnh trong và 𝑞 + 1 cạnh vào
hai đỉnh phân biệt của 𝐺[𝑘];
14: else
15: 𝐺 ← 𝐺[𝑘];
16: end if
17: end if
18: return 𝐺;
Luật điều khiển chỉ sử dụng vector hướng thiết kế cho các tác tử được
cho bởi [165]:
X
u𝑖 = − Pg𝑖𝑗 g∗𝑖𝑗 , 𝑖 = 1 , . . . , 𝑛, (5.42)
𝑗∈𝑁𝑖
P𝑛
Định nghĩa p̄ = 1
𝑛 𝑗=1
p𝑖 = 1 >
𝑛 (1𝑛 ⊗ I𝑑 )p và 𝑠 = √1 k p − 1𝑛
𝑛
⊗ p̄ k lần lượt
là trọng tâm và kích thước của đội hình. Do
1 Pg 𝑘
p¤̄ = (1> ⊗ I𝑑 )H̄> blkdiag g∗
𝑛 𝑛 k z𝑘 k
1 > > Pg 𝑘
= (1𝑛 H ⊗ I𝑑 )blkdiag g∗
𝑛 k z𝑘 k
= 0𝑑 (5.44)
(p − 1𝑛 ⊗ p̄)>
𝑠¤ = √ R̃> g∗ = 0 , (5.45)
𝑛 k p − 1𝑛 ⊗ p̄ k 𝑏
trọng tâm và kích thước của đội hình là không thay đổi theo thời
gian.
92 5 Điều khiển đội hình
Hình 5.9: Xây dựng đồ thị cứng hướng phổ quát trong ℝ3 xuất phát từ một cạnh nối hai đỉnh.
Hình 5.10: Xây dựng đồ thị cứng hướng phổ quát trong ℝ3 xuất phát từ chu trình 𝐶4 .
0 = (p∗ )> p¤ = (p∗ )> H̄> blkdiag Pg𝑘 g∗ = (z∗ )> blkdiag Pg𝑘 g∗
𝑚
X 𝑚
X
= (z∗𝑘 )> Pg𝑘 g∗𝑘 = k z∗𝑘 k(g∗𝑘 )> Pg𝑘 g∗𝑘
𝑖=1 𝑖=1
Như vậy, tại điểm cân bằng, Pg𝑘 g∗𝑘 = 0, ∀𝑘 = 1 , . . . , 𝑚. Điều này chứng
tỏ rằng điểm cân bằng là tương đương về hướng với đội hình đặt p∗ .
Mặt khác, từ giả thuyết về tính cứng hướng vi phân của (𝐺, p∗ ), ta
suy ra các điểm cân bằng đều tương đồng về hướng với đồ thị ban đầu.
Kết hợp thêm điều kiện về trọng tâm p̄∗ = p̄(0) và kích thước 𝑠 ∗ = 𝑠(0),
ta suy ra ứng với một điều kiện đầu, tồn tại hai điểm cân bằng: p∗ ứng
với các vector hướng g𝑖𝑗 = g∗𝑖𝑗 , ∀𝑖, 𝑗 ∈ 𝑉; và p0 ứng với các vector hướng
g𝑖𝑗 = −g∗𝑖𝑗 , ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗 (xem Hình 5.11(b)).
(a) (b)
Từ đây, 𝑉¤ 1 = 0 khi và chỉ khi p = p∗ hoặc p = p0. Chú ý rằng hai điểm
cân bằng là rời nhau, nên khi xét một lân cận bất kỳ của p0 không
chứa p0 trong S, ta có 𝑉1 > 0. Theo định lý Chetaev, điểm cân bằng p0
là không ổn định [60].
Tiếp theo, ta chứng minh điểm cân bằng p = p∗ là ổn định. Xét hàm
Lyapunov 𝑉 = 12 k𝜹k 2 . Dọc theo một quĩ đạo của (5.43), ta có
g∗𝑘 g∗>
𝑘
)g 𝑘 , nên từ bất phương trình (5.47) suy ra
𝑚
𝑉¤ ≤ −
X
k z∗𝑘 k g>
𝑘 Pg 𝑘 g 𝑘
∗
𝑖=1
𝑚 k z∗ k
𝑘
X
≤− z>
𝑘 Pg 𝑘 z 𝑘
∗
𝑖=1 k z𝑘 k 2
𝑚
min 𝑘 k z∗𝑘 k X
≤− z>
𝑘 Pg 𝑘 z 𝑘 ,
∗ (5.48)
max 𝑘 k z 𝑘 k 2 𝑖=1
Với mọi 𝑖 ≠ 𝑗, ta có
k z𝑖𝑗 k = k p𝑖 − p 𝑗 k ≤ k p𝑖 − p̄ k + k p 𝑗 − p̄ k
≤ k p1 − p̄ k + . . . + k p𝑛 − p̄ k
√
≤ k p − 1𝑛 ⊗ p̄ k = 𝑛𝑠
√ min 𝑘 k z∗𝑘 k
nên max 𝑘 k z 𝑘 k ≤ 𝑛𝑠. Từ đây, đặt 𝜁 = 𝑛𝑠 2
thì
𝑉¤ ≤ −𝜁𝜹> H̄> blkdiag Pg∗𝑘 H̄ 𝜹
= −𝜹> R̃> ∗ ∗
𝑏 (p )R̃𝑏 (p )𝜹 (5.49)
Ví dụ 5.5.2 Để minh họa thuật toán điều khiển đội hình chỉ dựa trên
vector hướng, ta mô phỏng đội hình gồm 4 tác tử như trên Hình 5.12.
Cấu hình đặt là một hình vuông song song với mặt phẳng Oxy. Nhìn
chung, thời gian hội tụ của thuật toán chỉ sử dụng vector hướng khá
dài do khi góc sai lệch là nhỏ thì tín hiệu điều khiển u𝑖 cũng gần như
bằng 0. Việc tăng tốc luật điều khiển đội hình sử dụng vector hướng
có thể thực hiện bằng cách thêm một hệ số khuếch đại 𝑘 𝑝 trong luật
điều khiển hoặc biến đổi luật điều khiển để hệ đạt tới cấu hình đặt
trong thời gian hữu hạn [130, 82] (Xem Bài tập 5.7.15).
(a) (b)
Hình 5.12: Mô phỏng đội hình 4 tác tử dưới luật điều khiển (5.42) trong trường hợp 2D và 3D.
9 [ A,G] = Pgk ( g ’ ) ;
10
11 p0 = 30* rand ( 1 2 , 1 ) ;
12
13 [ t , p ] = ode45 ( @control_law , [ 0 : 1 5 0 ] , p0 ) ;
14 p = p’;
15
16 p1_0=p ( 1 : 3 , : ) ;
17 p2_0=p ( 4 : 6 , : ) ;
18 p3_0=p ( 7 : 9 , : ) ;
19 p4_0=p ( 1 0 : 1 2 , : ) ;
20 t_end = l e n g t h ( t ) ;
21
22 h o l d on
23
24 figure (1)
25 p l o t 3 ( p1_0 ( 1 , 1 : t_end ) , p1_0 ( 2 , 1 : t_end ) , p1_0 ( 3 , 1 : t_end )
, ’ k ’ , ’ LineWidth ’ , 1 ) ;
26 p l o t 3 ( p1_0 ( 1 , 1 ) , p1_0 ( 2 , 1 ) , p1_0 ( 3 , 1 ) , ’ o ’ , ’ MarkerSize
’ , 1 3 , ’ MarkerEdgeColor ’ , ’ b ’ , ’ MarkerFaceColor ’ , ’ w’ ) ;
27 p l o t 3 ( p1_0 ( 1 , t_end ) , p1_0 ( 2 , t_end ) , p1_0 ( 3 , t_end ) , ’ s ’ , ’
MarkerSize ’ , 1 3 , ’ MarkerEdgeColor ’ , ’ r ’ , ’
MarkerFaceColor ’ , ’ w’ ) ;
28
29 % Trajectories
30 p l o t 3 ( p1_0 ( 1 , 1 : t_end ) , p1_0 ( 2 , 1 : t_end ) , p1_0 ( 3 , 1 : t_end
) , ’ k ’ , ’ LineWidth ’ , 1 ) ;
31 p l o t 3 ( p2_0 ( 1 , 1 : t_end ) , p2_0 ( 2 , 1 : t_end ) , p2_0 ( 3 , 1 : t_end
) , ’ k ’ , ’ LineWidth ’ , 1 , ’ L i n e S t y l e ’ , ’ - ’ ) ;
32 p l o t 3 ( p3_0 ( 1 , 1 : t_end ) , p3_0 ( 2 , 1 : t_end ) , p3_0 ( 3 , 1 : t_end
) , ’ k ’ , ’ LineWidth ’ , 1 , ’ L i n e S t y l e ’ , ’ - ’ ) ;
33 p l o t 3 ( p4_0 ( 1 , 1 : t_end ) , p4_0 ( 2 , 1 : t_end ) , p4_0 ( 3 , 1 : t_end
) , ’ k ’ , ’ LineWidth ’ , 1 , ’ L i n e S t y l e ’ , ’ - ’ ) ;
34
35 % Connecting f i n a l p o s i t i o n s
36 l i n e ( [ p1_0 ( 1 , t_end ) , p2_0 ( 1 , t_end ) ] , [ p1_0 ( 2 , t_end ) , p2_0
( 2 , t_end ) ] , [ p1_0 ( 3 , t_end ) , p2_0 ( 3 , t_end ) ] , ’ Color ’ , ’
r ’ , ’ LineWidth ’ , 1 . 5 , ’ L i n e S t y l e ’ , ’ - - ’ ) ; % ( 2 , 1 )
37 l i n e ( [ p1_0 ( 1 , t_end ) , p4_0 ( 1 , t_end ) ] , [ p1_0 ( 2 , t_end ) , p4_0
( 2 , t_end ) ] , [ p1_0 ( 3 , t_end ) , p4_0 ( 3 , t_end ) ] , ’ Color ’ , ’
r ’ , ’ LineWidth ’ , 1 . 5 , ’ L i n e S t y l e ’ , ’ - - ’ ) ; % ( 4 , 1 )
38 l i n e ( [ p4_0 ( 1 , t_end ) , p2_0 ( 1 , t_end ) ] , [ p4_0 ( 2 , t_end ) , p2_0
96 5 Điều khiển đội hình
center ’ ) ;
64
65 axis equal
66 grid off
67
68 xlabel x
69 ylabel y
70
71 box on
72 view ( 3 )
73 t i t l e ’Quy dao cua 4 t a c tu ’
74
75 l e g e n d ( { ’ Quy dao ’ , ’ Vi t r i bat dau ’ , ’ Vi t r i k e t thuc
’ } , ’ NumColumns ’ , 1 ) ;
76
77 f u n c t i o n [ P , z ] = Pgk ( p )
78 global H
79 z = kron (H, eye ( 3 ) ) *p ;
80 l = length ( z ) /3;
81
82 for i = 1: l
83 mag = s q r t ( z ( 3 * i , : ) ^2+z ( 3 * i - 1 , : ) ^2+z ( 3 * i - 2 , : ) ^2) ;
84 z ( 3 * i , : ) = z ( 3 * i , : ) /mag ;
85 z ( 3 * i - 1 , : ) = z ( 3 * i - 1 , : ) /mag ;
86 z ( 3 * i - 2 , : ) = z ( 3 * i - 2 , : ) /mag ;
87 end
88 Z = reshape ( z ’ , [ 3 , 5 ] ) ;
89 Z = Z’;
90 P = [];
91 for i = 1: l
92 A = eye ( 3 ) - Z ( i , : ) ’ * Z ( i , : ) / (Z ( i , : ) *Z ( i , : ) ’ ) ;
93 P = b l k d i a g (P ,A) ;
94 end
95 end
96
97 f u n c t i o n dpdt = c o n t r o l _ l a w ( t , p )
98 global H G
99
100 [ P , Z ] = Pgk ( p ) ;
101 dpdt = kron (H’ , eye ( 3 ) ) *P*G;
102 end
Tạo đội hình đặt là bài toán cơ bản trong điều khiển đội hình. Chương
này đã giới thiệu một số phương pháp điều khiển đội hình dựa trên các
biến đo, biến điều khiển khác nhau, đồng thời giới thiệu những phương
pháp đã và đang được nghiên cứu khác. Một số hướng phát triển gần
đây đi vào một số khía cạnh khác như: xét mô hình tác tử gần hơn với
thực tế [27], ảnh hưởng của nhiễu [150] và trễ tới việc thành lập đội
hình, điều động đội hình (đội hình di chuyển theo một số tác tử dẫn
đầu) [149], thay đổi đội hình đặt, ghép/chia đội hình, kết hợp thêm
một số tính năng khác ngoài tạo đội hình đặt như tránh va chạm, giữ
liên kết, giữ tính cứng,. . . Ngoài ra, một loạt các bài toán điều khiển
tạo đội hình dừng ở các đội hình với đồ thị vô hướng. Việc điều khiển
98 5 Điều khiển đội hình
các đội hình có hướng gần hơn với cấu trúc thực tế về đo đạc cũng như
truyền thông trong đội hình, tuy vậy đặt ra những vấn đề về kĩ thuật
khi tính đối xứng của đội hình bị phá vỡ. Do đó, hiện điều khiển đội
hình dựa trên khoảng cách hay vector hướng giải quyết được với các
cấu trúc đặc biệt như tác tử dẫn đàn-tác tử theo sau [29, 55, 157, 120,
96, 100, 132, 135], hoặc chu trình có hướng [139]. Một số phương án
điều khiển trong thời gian hữu hạn hay trong thời gian định trước gần
đây cũng đã được áp dụng trong điều khiển đội hình và định vị mạng
cảm biến [123, 138, 130, 82].
Bài tập 5.7.1 [37] Xét bài toán điều khiển đội hình dựa trên vị trí
tương đối trong đó tập các vector sai lệch vị trí đặt Γ = {z∗𝑖𝑗 }(𝑖,𝑗)∈𝐸
là không khả thi. Chứng minh rằng khi đó, với luật điều khiển đội
hình: X
p¤ 𝑖 = (p 𝑗 − p𝑖 − z∗𝑖𝑗 ), 𝑖 = 1 , . . . , 𝑛, (5.50)
𝑗∈𝑁𝑖
thì vận tốc của các tác tử dần hội tụ tới một giá trị chung xác định
bởi 𝑛1 𝑛𝑖=1 𝑗∈𝑁𝑖 z∗𝑖𝑗 .
P P
Bài tập 5.7.2 [95] Phân tích bài toán điều khiển đội hình cứng khoảng
cách vi phân với đồ thị đầy đủ 𝐾 4 trong ℝ3 .
Bài tập 5.7.3 Trình bày phương pháp mở rộng Henneberg cho đồ
thị cứng trên 2D. Áp dụng để xây dựng một đồ thị cứng tối thiểu
gồm 8 đỉnh. Chứng minh tính cứng hướng được bảo toàn khi ta giữ
nguyên đội hình và tăng số chiều của không gian.
Bài tập 5.7.4 So sánh các phương pháp điều khiển đội hình dựa trên
khoảng cách và dựa trên vector hướng về các giả thiết chính, luật
điều khiển, ưu nhược điểm.
Bài tập 5.7.5 (Tính chất của các ma trận chiếu trực giao) Với x ≠ 0𝑑 ,
>
định nghĩa ma trận chiếu trực giao Px = I𝑑 − kxxx k 2 . Chứng minh rằng:
i.Px = P>x ≥ 0.
ii.Px có 𝑛 − 1 giá trị riêng bằng 1 và một giá trị riêng bằng 0.
iii.ker(Px ) = im(1𝑛 ).
iv. Px y = 0𝑑 khi và chỉ khi y = 𝑘 x, 𝑘 ∈ ℝ.
v. Nếu x ≠ 𝑘 y (không cùng phương) thì M = Px + Px là một ma
trận đối xứng, xác định dương. Tìm các giá trị riêng của M.
vi. Nếu tồn tại ít nhất hai trong số các vector x1 , . . . , x𝑚 không
cùng phương thì ma trận M = 𝑚
P
P là đối xứng và xác định
𝑖=1 x𝑖
dương.
p 𝑗 −p𝑖 𝜕g𝑖𝑗 Pg
vii. Với vector hướng g𝑖𝑗 = k p 𝑗 −p𝑖 k
thì 𝜕p 𝑖
= − k p −𝑖𝑗p k .
𝑖 𝑗
5.7 Bài tập 99
Bài tập 5.7.6 (Tổng của hai ma trận chiếu trực giao) Cho hai vector
hướng không cùng phương g1 và g2 ∈ ℝ 𝑑 , 𝑑 ≥ 3. Chứng mình rằng
ma trận M = Pg1 + Pg2 là đối xứng, xác định dương. Tìm các giá
trị riêng và vector riêng tương ứng của M. (Gợi ý: chứng minh M
nhận Pg1 g2 ± Pg2 g1 là các vector riêng tương ứng với các giá trị riêng
1 ± g>1 g2 , và các vector riêng v 𝑘 ⊥ span(g1 , g2 ), 𝑘 = 3 , . . . , 𝑑, tương
ứng với các giá trị riêng 2.
Bài tập 5.7.7 Xác định tính cứng khoảng cách phổ quát của các đồ
thị 𝐺1 và 𝐺2 như trên Hình 5.13. Tìm xây dựng Henneberg để xây
dựng các đồ thị đó.
Bài tập 5.7.8 [172] Giả sử đồ thị 𝐺 = (𝑉 , 𝐸) là cứng hướng trên ℝ 𝑑 (a)
thì khi thêm vào 𝐺 một số cạnh bất kỳ để được đồ thị 𝐺0 thì đồ thị
mới này cũng cứng hướng.
Bài tập 5.7.9 [133] Giả sử hai đồ thị 𝐺1 và 𝐺2 là cứng hướng phổ
quát trên ℝ 𝑑 . Chứng minh rằng:
i. Khi 𝑑 = 2, ta cần thêm ít nhất 3 cạnh để ghép hai đồ thị 𝐺1 ,
𝐺2 thành một đồ thị cứng hướng phổ quát.
ii. Nếu 𝑑 ≥ 3, ta cần thêm ít nhất 2 cạnh để ghép hai đồ thị 𝐺1 , (b)
𝐺2 thành một đồ thị cứng hướng phổ quát. Hình 5.13: Các đồ thị 𝐺1 và 𝐺2 .
Bài tập 5.7.11 [165] Chứng minh nếu đội hình (𝐺, p) là cứng khoảng
cách vi phân trong ℝ2 thì nó cũng cứng hướng vi phân trong ℝ 𝑑 .
Bài tập 5.7.12 [133] Chứng minh rằng một đồ thị 𝐺 = (𝑉 , 𝐸) với
|𝑉 | = 𝑛 là cứng hướng trên ℝ 𝑑 thì có tối thiểu là
𝑛−2
𝑓 (𝑛, 𝑑) = 1 + × 𝑑 + mod(𝑛 − 2 , 𝑑 − 1) + sign(mod(𝑛 − 2 , 𝑑 − 1))
𝑑−1
(5.51)
cạnh.
Bài tập 5.7.13 [30] Xét một hệ gồm ba tác tử, trong đó tác tử số
1 đứng yên, tác tử thứ hai cần đạt được khoảng cách đặt 𝑑12 ∗
với
tác tử 1, và tác tử số 3 cần đạt được hai khoảng cách đặt 𝑑31 và 𝑑32
∗ ∗
.
Giả sử hai tác tử 2 và 3 sử dụng luật điều khiển đội hình dựa trên
khoảng cách, tức là
p¤ 1 = 0 ,
∗ 2
p¤ 2 = −((𝑑21 )2 − (𝑑21 ) )(p1 − p2 ),
∗ 2 ∗ 2
p¤ 3 = −((𝑑31 )2 − (𝑑31 ) )(p1 − p3 ) − ((𝑑32 )2 − (𝑑32 ) )(p2 − p3 ).
100 5 Điều khiển đội hình
Xác định các tập điểm cân bằng ứng với tác tử 2 và tác tử 3. Chứng
minh rằng với luật điều khiển cho như trên, trong hầu hết mọi trường
hợp, ba tác tử sẽ đạt được đội hình đặt khi 𝑡 → +∞. Xác định tập
các điều kiện đầu mà các tác tử sẽ không đạt được đội hình đặt. Kết
quả sẽ thay đổi như thế nào nếu cả ba tác tử đều di chuyển, đồ thị
tương tác là chu trình hữu hướng 𝐶3 , và đội hình đặt là tam giác với
ba kích thước 𝑑12
∗
, 𝑑23
∗
, và 𝑑31
∗
?
Bài tập 5.7.14 [135] Xét đội hình gồm 3 tác tử trong không gian 2
chiều. Hai tác tử 1 và 2 đứng yên, còn tác tử thứ ba di chuyển theo
luật điều khiển dựa trên vector hướng cho bởi p¤ 3 = −Pg3 1 g∗31 − Pg32 g∗32
với g∗31 và g∗32 là hai vector hướng đặt cho trước.
1. Tìm điều kiện của p1 và p2 để tồn tại điểm cân bằng p∗3 thỏa
mãn cả hai vector hướng cho trước. Khi đó, xác định công thức
tìm p∗3 theo p1 , p2 , g∗31 và g∗32 .
2. Chứng minh rằng với điều kiện tìm được ở ý 1 thì điểm cân bằng
của hệ (nghiệm của p¤ 3 = 0) là duy nhất và là p3 = p∗3 . Sử dụng
hàm Lyapunov 𝑉 = 12 k p3 − p∗3 k 2 để chứng minh p3 (𝑡) → p∗3 khi
𝑡 → +∞.
3. Với cùng phương án điều khiển trên, áp dụng cho đồ thị thu
được từ xây dựng Henneberg. Chứng minh tính ổn định tiệm
cận của đội hình gồm 𝑛 tác tử dựa trên lý thuyết ổn định ISS
[60].
Bài tập 5.7.15 (Điều khiển đội hình chỉ sử dụng vector hướng trong
thời gian hữu hạn [130]) Xét bài toán điều khiển đội hình dựa trên
vector hướng với 𝐺 là đồ thị vô hướng, cứng hướng phổ quát theo
luật điều khiển:
X 𝛼
p¤ 𝑖 = − Pg𝑖𝑗 sig Pg𝑖𝑗 g∗𝑖𝑗 , 𝑖 = 1 , . . . , 𝑛,
𝑗∈𝑁𝑖
trong đó hàm sig(·) được định nghĩa như sau: với x = [𝑥1 , . . . , 𝑥 𝑑 ]> ∈
ℝ 𝑑 thì sig(x)𝛼 = [sign(𝑥1 )|𝑥1 | 𝛼 , . . . , sign(𝑥 𝑑 )|𝑥 𝑑 | 𝛼 ]> , với sign(·) là hàm
dấu cho bởi sign(𝑥 𝑘 ) = 1 nếu 𝑥 𝑘 > 0 , sign(𝑥 𝑘 ) = −1 nếu 𝑥 𝑘 < 0 và
sign(𝑥 𝑘 ) = 0 nếu 𝑥 𝑘 = 0.
Bài tập 5.7.16 (Điều động đội hình dựa trên lý thuyết cứng hướng
[167]) Xét bài toán điều khiển đội hình trong đó 𝐺 là đồ thị vô
hướng, cứng hướng vi phân trong ℝ 𝑑 .
i. Giả sử các tác tử di chuyển theo luật điều khiển:
X
p¤ 𝑖 = − Pg∗𝑖𝑗 (p𝑖 − p 𝑗 ), 𝑖 = 1 , . . . , 𝑛,
𝑗∈𝑁𝑖
trong đó g∗𝑖𝑗 là các vector hướng đặt. Chứng minh rằng với luật
điều khiển trên, p → Ω = {p ∈ ℝ 𝑑𝑛 | Pg∗𝑖𝑗 g𝑖𝑗 = 0, ∀𝑖 ≠ 𝑗, 𝑖, 𝑗 ∈
𝑉 }, khi 𝑡 → +∞.
ii. Giả sử trong đội hình có một vài tác tử đánh số từ 1 tới 𝑙 ≥ 2
di chuyển với vận tốc hằng h ∈ ℝ 𝑑 , tức là p¤ 𝑖 = h, h¤ = 0𝑑 , 𝑖 =
5.7 Bài tập 101
1 , . . . , 𝑙. Các tác tử này (gọi là các tác tử dẫn đàn) ban đầu đã
ở vị trí thỏa mãn các vector hướng đặt. Các tác tử còn lại di
chuyển với luật điều khiển cho bởi:
X
p¤ 𝑖 = − Pg∗𝑖𝑗 (p𝑖 − p 𝑗 ) + 𝝃𝑖 ,
𝑗∈𝑁𝑖
𝝃¤ 𝑖 = −
X
Pg∗𝑖𝑗 (p𝑖 − p 𝑗 ), 𝑖 = 𝑙 + 1 , . . . , 𝑛.
𝑗∈𝑁𝑖
Bài tập 5.7.17 (Điều động đội hình chỉ dựa trên vector hướng [164])
Xét bài toán điều khiển đội hình trong đó 𝐺 là đồ thị vô hướng, cứng
hướng vi phân trong ℝ 𝑑 .
i. Giả sử các tác tử di chuyển theo luật điều khiển:
X
p¤ 𝑖 = (g𝑖𝑗 − g∗𝑖𝑗 ), 𝑖 = 1 , . . . , 𝑛,
𝑗∈𝑁𝑖
trong đó g∗𝑖𝑗 là các vector hướng đặt. Viết lại hệ dưới dạng ma
trận và chứng minh rằng với luật điều khiển trên, p → Ω =
{p ∈ ℝ 𝑑𝑛 | Pg∗𝑖𝑗 g𝑖𝑗 = 0 , ∀𝑖 ≠ 𝑗, 𝑖, 𝑗 ∈ 𝑉 }, khi 𝑡 → +∞.
ii. Giả sử trong đội hình có một vài tác tử đánh số từ 1 tới 𝑙 ≥ 2
di chuyển với vận tốc hằng h ∈ ℝ 𝑑 , tức là p¤ 𝑖 = h, h¤ = 0𝑑 , 𝑖 =
1 , . . . , 𝑙. Các tác tử này (gọi là các tác tử dẫn đàn) ban đầu đã
ở vị trí thỏa mãn các vector hướng đặt. Các tác tử còn lại di
chuyển với luật điều khiển cho bởi:
X
p¤ 𝑖 = (g𝑖𝑗 − g∗𝑖𝑗 ) + 𝝃𝑖 ,
𝑗∈𝑁𝑖
𝝃¤ 𝑖 =
X
(g𝑖𝑗 − g∗𝑖𝑗 ), 𝑖 = 𝑙 + 1 , . . . , 𝑛.
𝑗∈𝑁𝑖
Chứng minh rằng khi 𝑡 → +∞, hệ gồm 𝑛 tác tử dần đạt được
g𝑖𝑗 → g∗𝑖𝑗 , ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗 và p¤ 𝑖 → h, ∀𝑖 = 𝑙 + 1 , . . . , 𝑛.
6 Giữ liên kết và tránh va chạm
6.1 Giữ liên kết . . . . . . . . . 102 Trong các bài toán điều khiển đội hình được xét ở Chương 5, ta chưa
6.2 Tránh va chạm . . . . . . . 104 xét tới những ràng buộc thực tế như giới hạn về truyền thông hay
6.3 Bài tập . . . . . . . . . . . . 111
miền liên lạc của các tác tử. Đồng thời, vì lý do an toàn, các tác tử cần
tránh va chạm lẫn nhau khi thực hiện nhiệm vụ điều khiển đội hình.
Chương này giới thiệu một số phương án để giải quyết hai vấn đề liên
quan tới các ràng buộc thực tế được đề cập ở trên, độc lập với nhiệm
vụ điều khiển đội hình. Phương pháp chung giải quyết các vấn đề này
là định nghĩa một hàm thế sao cho khi điều kiện ràng buộc không được
thỏa mãn thì giá trị của hàm thế sẽ tiến tới vô cùng. Từ đây, luật điều
khiển được thiết kế theo hướng ngược chiều gradient sẽ giúp các tác tử
không vi phạm các ràng buộc được đặt ra. Nội dung về điều khiển giữ
[159]: Zavlanos andothers (2007), liên kết và tránh va chạm trong chương này dựa trên tài liệu [159].
“Potential fields for maintaining con-
nectivity of mobile networks”
thông của đồ thị và việc giữ cho 𝜆2 (𝑡) dương cũng tương đương với việc
giữ tính liên thông của đồ thị.
I nếu (𝑗, 𝑖) ∈ 𝐸(p(𝑡)) thì 𝑎 𝑖𝑗 > 0 (ta giả sử không có khuyên trong
đồ thị, tức là 𝑎 𝑖𝑖 = 0)
I nếu (𝑗, 𝑖) ∉ 𝐸(p(𝑡)) thì 𝑎 𝑖𝑗 = 0.
Định nghĩa hàm 𝑎 𝑖𝑗 (p(𝑡)) : R𝑑𝑛 ↦→ ℝ sao cho 𝑎 𝑖𝑗 (p(𝑡)) > 0 khi 𝑑 𝑖𝑗 (p(𝑡)) <
𝛿 và 𝑎 𝑖𝑗 (p(𝑡)) → 0 khi 𝑑 𝑖𝑗 (p(𝑡)) ≥ 𝛿. Ví dụ, ta có thể chọn 𝑎 𝑖𝑗 (p) =
𝜎𝜔 (𝜖 − 𝑑 𝑖𝑗 (p(𝑡))), trong đó 𝜎𝜔 (𝑦) = 1+𝑒1−𝜔𝑦 , 𝜔 > 0 là hàm sigmoid,
𝜖, 𝜔 > 0 là hai tham số để thay đổi hình dạng của hàm 𝑎 𝑖𝑗 (𝑡).
Với định nghĩa trên, do 𝑑 𝑖𝑗 = 𝑑 𝑗𝑖 , ma trận kề thỏa mãn tính đối xứng
A(p) = A(p)> . Định nghĩa ma trận Laplace L(p(𝑡)) = diag(A(p(𝑡))1𝑛 )−
A(p(𝑡)). Các giá trị riêng của ma trận Laplace thỏa mãn:
Định nghĩa tập XC𝑛 = {p(𝑡) ∈ ℝ 𝑑𝑛 | 𝜆2 (p(𝑡)) > 0} tương ứng với các cấu
hình làm cho đồ thị liên thông. Ta phát biểu lại bài toán giữ liên kết
dưới dạng: “Thiết kế luật điều khiển u𝑖 (𝑡) sao cho nếu p(0) ∈ XC𝑛 thì
p(𝑡) ∈ XC𝑛 , ∀𝑡 ≥ 0.
Hình 6.2: Hàm trọng số 𝑎 𝑖𝑗 (p) =
Để thiết kế luật điều khiển giữ liên kết, ta cần có thông tin về 𝜆2 (L(𝑡)). 𝜎𝜔 (𝜖 − 𝑑 𝑖𝑗 (p(𝑡))) tương ứng với một số
Việc ước lượng 𝜆2 có thể thực hiện được nhưng sẽ đòi hỏi thuật toán bộ tham số 𝜔 và 𝜖 khác nhau. Dễ thấy
khá phức tạp. Thay vì trực tiếp ước lượng giá trị 𝜆2 và điều khiển 𝑎 𝑖𝑗 (p) → 0 khi 𝑑 𝑖𝑗 (k p𝑖 − p 𝑗 k) → 𝛿 = 1.
để giá trị này dương, ta sẽ giữ cho giá trị 𝑛𝑖=2 𝜆 𝑖 (p) là dương. Định
Q
nghĩa ma trận M(p = Q> LQ trong đó Q = [q1 , . . . , q𝑛−1 ] ∈ ℝ 𝑛×(𝑛−1)
với các vector q𝑖 ∈ ℝ 𝑛 thỏa mãn: (i) q> q = 0 , ∀𝑖 ≠ 𝑗, 𝑖 = 1 , . . . , 𝑛 − 1
𝑖 𝑗
và q>𝑖
q 𝑖 = 1 , ∀𝑖 = 1 , . . . , 𝑛 − 1 ; và (ii) q >
1
𝑖 𝑛
= 0 , ∀𝑖 = 1, . . . , 𝑛.
Dễ thấy M(p) là một ma trận đối xứng, bán xác định dương với mọi p.
Hơn nữa, do
Q>
M(p) 0𝑛−1
h i
L(p) Q √1 1𝑛 = , (6.3)
√1 1> 𝑛 0> 0
𝑛 𝑛 𝑛−1
các giá trị riêng của M(p) lần lượt là 𝜆2 (L(𝑡)) ≤ . . . ≤ 𝜆𝑛 (p(𝑡)). Do đó,
𝜆2 (L(p)) > 0 thỏa mãn khi và chỉ khi
𝑛
Y
det(M(p)) = 𝜆 𝑖 (p) > 0. (6.4)
𝑖=2
Đồ thị sẽ mất liên thông nếu như det(M(p)) = 0, bởi vậy, ta có thể
định nghĩa hàm thế
1
Φ𝑐 (p(𝑡)) = , 𝛼>0 (6.5)
det(Q> L(p)Q)𝛼
thì Φ𝑐 (p(𝑡)) → +∞ khi p(𝑡) → 𝜕XC𝑛 . Luật điều khiển tương ứng được
cho bởi:
¤ p(𝑡)) = −k∇p Φ𝑐 (p)k 2 ≤ 0. Nói cách khác, luật điều khiển trên
sẽ làm Φ(
sẽ đảm bảo cho p(𝑡) ∈ XC𝑛 , ∀𝑡 ≥ 0.
Sử dụng lý thuyết giải tích ma trận, ta tìm một công thức ở dạng rõ
cho luật giữ liên kết (6.6). Với ma trận M(p) = [𝑚 𝑖𝑗 (p)], kí hiệu phần
phụ đại số của M là C(p) và 𝑐 >𝑖𝑗
(= 𝑐 𝑗𝑖 (p)) là phần tử thứ 𝑖, 𝑗 của C> (p).
Ta có:
𝑛−1
𝑛−1 X
𝑑 𝜕 𝑑
X
detM(p) = detM(p) 𝑚 𝑖𝑗 (p), (6.7)
𝑑p𝑘 𝑖=1 𝑗=1 𝜕𝑚 𝑖𝑗
𝑑p𝑘
thì
𝑛−1
𝑛−1 X
𝑑 X 𝑑
detM(p) = 𝑐 𝑖𝑗 (p) 𝑚 𝑖𝑗 (p)
𝑑p 𝑘𝑙 𝑖=1 𝑗=1
𝑑 p 𝑘𝑙
𝑛−1 X
𝑛−1
𝑑 𝑑
X
= 𝑐>
𝑗𝑖 (p) 𝑚 𝑖𝑗 (p) = trace C> (p) M(p) . (6.8)
𝑗=1 𝑖=1
𝑑p 𝑘𝑙 𝑑p 𝑘𝑙
Thay M−1 (p)detM(p) = C> (p) vào biểu thức trên, ta thu được:
𝑑 𝑑
detM(p) = trace det(M(p))M−1 (p) M(p)
𝑑 p 𝑘𝑙 𝑑p 𝑘𝑙
𝑑
−1
= det(M(p))trace M (p) M(p) (6.9)
𝑑p 𝑘𝑙
Từ đây, ta thu được công thức của luật điều khiển giữ liên kết như
sau:
Chú ý rằng luật giữ liên kết (6.6) không đưa hệ về cấu hình cực đại
hóa giá trị 𝜆2 (L). Hơn nữa, luật giữ liên kết sẽ được dùng kèm theo
luật điều khiển đội hình chứg không dùng độc lập. Nếu các tác tử chỉ
sử dụng luật giữ liên kết (6.6), khi 𝑡 → +∞, các tác tử có xu hướng tụ
lại về một điểm.
Một cách tương tự, ta có thể định nghĩa bài toán giữ tính cứng khoảng
[162]: Zelazo andothers (2015), “De- cách [162], giữ tính cứng hướng, hay tổng quát hơn là giữ hạng của
centralized rigidity maintenance con-
trol with range measurements for một ma trận đối xứng bán xác định dương.
multi-robot systems”
Trong bài toán tránh va chạm, mỗi tác tử cần giữ khoảng cách đủ xa
với các tác tử khác cũng như với vật cản. Gọi p𝑖 , p 𝑗 lần lượt là vị trí
của tác tử 𝑖 và vị trí của tác tử 𝑗 hoặc vật cản. Tác tử 𝑖 cần giữ cho
6.2 Tránh va chạm 105
Tương tự như với bài toán điều khiển giữ liên kết, ta sẽ thiết kế tương
ứng hàm thế tránh va chạm nhận giá trị tại +∞ khi các tác tử va chạm
với nhau. Gọi 𝛽 𝑖𝑗 (p(𝑡)) là hàm trọng số thỏa mãn:
I 𝛽 𝑖𝑗 (p) ∈ [0 , 1],
I 𝛽 𝑖𝑗 (p(𝑡)) = 0 khi k p𝑖 − p 𝑗 k = 0 và 𝛽 𝑖𝑗 (p(𝑡)) = 1 khi k p𝑖 − p 𝑗 k ≥ 𝑑.
1
Φ𝑎 (p(𝑡)) = 𝛼 , (6.12)
𝛽(p(𝑡))
Q𝑛
trong đó 𝛽(p(𝑡)) = 𝑖,𝑗=1
𝛽 𝑖𝑗 (p(𝑡)) thỏa mãn Φ𝑎 (p(𝑡)) → +∞ nếu tồn
tại 𝛽 𝑖𝑗 (p(𝑡)) → 1.
Ta có luật điều khiển
u(𝑡) = −∇p Φ 𝑎 p(𝑡) (6.13)
Khi mỗi tác tử cần làm nhiều hơn một nhiệm vụ, ta có thể thiết kế
các hàm thế tương ứng cho từng tác tử rồi tổng hợp lại. Ví dụ như
khi muốn các tác tử tránh va chạm đồng thời giữ liên kết, ta có thể sử
dụng hàm thế Φ(p(𝑡)) = 𝑐1 Φ𝑐 (p(𝑡)) + 𝑐 2 Φ𝑎 (p(𝑡)), với 𝑐1 , 𝑐2 > 0 là trọng
số cho mỗi nhiệm vụ. Luật điều khiển tương ứng là u = −∇p Φ p(𝑡) .
Dễ thấy khi một tác tử có nhiều hơn một nhiệm vụ, các nhiệm vụ này
có thể xung đột nhau và phụ thuộc vào việc chọn trọng số cho từng
việc.
Ví dụ 6.2.1 Mô phỏng thuật toán giữ liên thông với các tham số
được chọn 𝑛 = 10, 𝑑 = 2, 𝛿 = 1, 𝜎 = 0.25, 𝜖 = 0.4547, 𝑔𝑎𝑖𝑛 = 10 và
𝛼 = 0.25. Các tọa độ x,y ban đầu của các tác tử được lấy ngẫu nhiên
trong khoảng [−10, 10].
Ma trận Q được chọn là
1 % Mo phong Vi du 7 . 1
2 clear all
3
4 g l o b a l n d sigma e p s i l o n J a l p h a g a i n Q
5
6 n = 1 0 ; d = 2 ; sigma = 0 . 2 5 ; e p s i l o n = 0 . 4 5 4 7 ; g a i n =
10;
7 J = eye ( n ) - 1/n* o n e s ( n , n ) ; a l p h a = 0 . 2 5 ;
8 v = (n - s q r t (n) ) /(n*(n - 1 ) ) ;
6.2 Tránh va chạm 107
9 Q = h o r z c a t ( o n e s ( n - 1 , 1 ) *( -1+( n - 1 ) *v ) , eye ( n - 1 ) - o n e s ( n
- 1 , n - 1 ) *v ) ’ ;
10
11 rng ( 3 ) ; % Lua chon v i t r i dau ngau n h i e n
12 p0 = 2 0 * ( rand ( n*d , 1 ) - 0 . 5 ) ;
13
14 % Ve do t h i tu 0 - 10 s
15 [ t1 , pt1 ] = ode45 ( @updateLaw , [ 0 , 1 0 ] , p0 ) ;
16 figure (1)
17 P lo tF or ma t ion1 ( n , d , t1 , pt1 ’ , 1 ) ;
18
19 % Ve do t h i tu 0 - 20 s
20 [ t2 , pt2 ] = ode45 ( @updateLaw , [ 0 , 2 0 ] , p0 ) ;
21 figure (2)
22 P lo tF or ma t ion1 ( n , d , t2 , pt2 ’ , 1 ) ;
23 %
24 % % Ve do t h i tu 0 - 50 s
25 [ t3 , pt3 ] = ode45 ( @updateLaw , [ 0 , 5 0 ] , p0 ) ;
26 figure (3)
27 P lo tF or ma t ion1 ( n , d , t3 , pt3 ’ , 1 ) ;
28
29 % Ve do t h i tu 0 - 100 s
30 [ t4 , pt4 ] = ode45 ( @updateLaw , [ 0 , 1 0 0 ] , p0 ) ;
31 figure (4)
32 P lo tF or ma t ion1 ( n , d , t4 , pt4 ’ , 1 ) ;
33
34 % Ve do t h i tu 0 - 200 s
35 [ t5 , pt5 ] = ode45 ( @updateLaw , [ 0 , 2 0 0 ] , p0 ) ;
36 figure (5)
37 P lo tF or ma t ion1 ( n , d , t5 , pt5 ’ , 1 ) ;
38
39 % Ve do t h i tu 0 - 500 s
108 6 Giữ liên kết và tránh va chạm
96 A1sym = A1 + A1 ’ ;
97 A2sym = A2 + A2 ’ ;
98
99 dL1 = d i a g ( A1sym* o n e s ( n , 1 ) ) - A1sym ;
100 dL2 = d i a g ( A2sym* o n e s ( n , 1 ) ) - A2sym ;
101
102 dL = [ dL1 ; dL2 ] ;
103 end
104
105 % Ham s i g m o i d
106 function y = sigmoid1 ( x )
107 y = 1 / ( 1 + exp ( - x ) ) ;
108 end
109 %
Code mô phỏng hệ đa tác tử trong Ví dụ 6.2.2 được cho ở dưới đây. (a) 𝑡 = 10s
1 % Mo phong v i du 7 . 2 , l u a t dong thuan k e t hop g i u
khoang cach
2 clear all
3 g l o b a l n d sigma e p s i l o n g a i n D muy L
4 n = 2 0 ; d = 2 ; sigma = 0 . 2 5 ;
5 e p s i l o n = 0.4547; gain = 10;
6 D = 2 ; muy = (1+D^4) / (D^4) ;
7
8 H = - eye ( n ) ; % Ma t r a n l i e n thuoc
9 for i = 1 : 1 : n-1 (b) 𝑡 = 20s
10 H( i , i +1) = 1 ;
11 end
12 H( n , 1 ) = 1 ;
13
14 L = H’ *H;
15 rng ( 3 ) ;
16
17 p0 = 2 0 * ( rand ( n*d , 1 ) - 0 . 5 ) ;
18
19 % Ve do t h i tu 0 - 10 s
20 [ t1 , pt1 ] = ode45 ( @updateLaw , [ 0 : 0 . 0 1 : 1 0 ] , p0 ) ; (c) 𝑡 = 50s
21 figure (1) Hình 6.6: Mô phỏng luật giữ liên kết
22 P lo tF or ma t ion1 ( n , d , t1 , pt1 ’ , 1 ) ; trong Ví dụ 6.2.2.
23
24 % Ve do t h i tu 0 - 50 s
110 6 Giữ liên kết và tránh va chạm
83
84 Bsym = B + B ’ ;
85 end
86
87
88 % Tinh dao ham cua ma t r a n B
89 f u n c t i o n dB = calcdB ( p , i )
90
91 g l o b a l n d muy D
92 P = reshape (p , d , n) ;
93 dB = [ 0 ; 0 ] ;
94
95 f o r j = [ 1 : i - 1 , i +1:n ]
96 d i j = norm (P ( : , i ) - P ( : , j ) , 2 ) ;
97 E = ( d i j ^2 - D^2) ;
98 i f (E<= 0 )
99 d B i j = ( - 4 *muy*E) / ( 1 + E^2) ^2*(P ( : , i ) - P ( : , j )
);
100 dB = dB + d B i j / ( 1 - (E) ^2/(1 + (E) ^2) ) ;
101 end
102 end
103
104 end
Bài tập 6.3.1 (Bài toán giữ tính cứng khoảng cách vi phân của đội
hình) Xét một đội hình gồm 𝑛 tác tử trong không gian hai chiều,
được mô tả bởi (𝐺, p). Giả sử ban đầu, đội hình thỏa mãn tính cứng
khoảng cách vi phân.
i Gọi R(p) là ma trận cứng khoảng cách vi phân của đội hình và
định nghĩa ma trận Laplace cứng khoảng cách M = R(p)R(p)> .
Chứng minh rằng rank(M(p)) = rank(R(p)) ≤ 2𝑛 − 3.
ii Tìm các vector riêng sinh không gian ker(M).
iii Sử dụng 𝜆4 (M) như là một chỉ số về tính cứng vi phân của đội
hình. Thiết kế luật điều khiển giữ tính cứng khoảng cách vi
phân cho hệ.
iv Mô phỏng hệ với luật điều khiển giữ tính cứng vi phân ở ý (iii).
v Nếu tăng số chiều của không gian lên 𝑑 = 3 thì các ý trên sẽ
thay đổi tương ứng như thế nào?
Bài tập 6.3.2 (Bài toán giữ tính cứng hướng vi phân của đội hình)
Xét một đội hình gồm 𝑛 tác tử trong không gian 𝑑 chiều, được mô
tả bởi (𝐺, p). Giả sử ban đầu, đội hình thỏa mãn tính cứng hướng vi
phân.
i Gọi R𝑏 (p) là ma trận cứng hướng vi phân của đội hình và định
nghĩa ma trận Laplace cứng vi phân M𝑏 = R𝑏 (p)R𝑏 (p)> . Chứng
minh rằng rank(M𝑏 (p)) = rank(R𝑏 (p)) ≤ 𝑑𝑛 − 𝑑 − 1.
ii Tìm các vector riêng sinh không gian ker(M).
iii Sử dụng 𝜆 𝑑+1 (M) như là một chỉ số về tính cứng hướng vi phân
của đội hình. Thiết kế luật điều khiển giữ tính cứng hướng vi
112 6 Giữ liên kết và tránh va chạm
Bài tập 6.3.3 Xét một đội hình gồm 3 tác tử trong không gian hai
chiều với đồ thị tương tác 𝐶3 . Mỗi tác tử thực hiện luật điều khiển
đội hình kết hợp tránh va chạm:
X
p¤ 𝑖 = (p 𝑗 − p𝑖 − (p∗𝑗 − p∗𝑖 )) − ∇p𝑖 Φ𝑎 (p), (6.16)
𝑗∈𝑁𝑖
trong đó Φ𝑎 (p) được định nghĩa như ở phương trình (6.12), với
𝛼 = 0 . 5.
i Nếu vector sai lệch đặt p∗𝑗 − p∗𝑖 thỏa mãn k p∗𝑗 − p∗𝑖 k > 𝑑, hãy
xét khả năng tồn tại các điểm cân bằng không mong muốn của
hệ 3 tác tử.
ii Mô phỏng hệ khi 𝑑 = 1 và cấu hình đặt là một tam giác đều
với ba cạnh có độ dài bằng 3.
iii Mô phỏng hệ khi 𝑑 = 1 và cấu hình đặt là một tam giác đều
với ba cạnh có độ dài bằng 1.5.
Định vị mạng cảm biến 7
7.1 Bài toán định vị mạng
7.1 Bài toán định vị mạng cảm biến cảm biến . . . . . . . . . . 113
7.2 Định vị mạng dựa trên
Đối tượng trong chương này là mạng cảm biến không dây có khả năng vị trí tương đối . . . . . 113
đo đạc, tính toán và truyền thông. Theo [11], định vị mạng cảm biến 7.2.1 Trường hợp không có
là quá trình các tác tử (hay còn gọi là các nút mạng) xác định vị trí nút tham chiếu . . . . . 113
của mình trong không gian dựa trên thông tin thu được nhờ đo đạc và 7.2.2 Trường hợp có nút tham
trao đổi thông tin với các nút mạng khác. Ở tài liệu này, phương pháp chiếu trong mạng . . . . 114
tiếp cận bài toán định vị mạng phần lớn dựa trên tính đối ngẫu giữa 7.2.3 Phương pháp dựa trên
bài toán định vị mạng và bài toán điều khiển đội hình. Ngoài ra, trong vector hướng . . . . . . . 115
7.2.4 Phương pháp dựa trên
trường hợp biến đo là khoảng cách, phương pháp xây dựng mạng thỏa
khoảng cách . . . . . . . 117
mãn tính cứng toàn cục cũng như tính định vị được sẽ được trình bày.
7.3 Bài tập . . . . . . . . . . . 118
Một mạng1 được cho bởi (𝐺, p), trong đó 𝐺 = (𝑉 , 𝐸) là một đồ thị vô 1: network
hướng và p = vec(p1 , . . . , p𝑛 ) ∈ ℝ 𝑑𝑛 là vector vị trí tuyệt đối của các
[11]: Aspnes andothers (2006), “A the-
nút mạng. Nếu như các nút mạng có thể lấy được vị trí tuyệt đối của ory of network localization”
mình, có thể nhờ cài đặt bên ngoài, hoặc có thể thông qua GPS, bài
toán định vị mạng trở nên tầm thường. Do đó, trong chương này, ta
sẽ giả sử mọi tác tử không biết vị trí tuyệt đối, hoặc chỉ một vài tác
tử trong mạng (đánh số từ 1 tới 𝑙) là có thông tin về vị trí tuyệt đối
của mình. Các tác tử khác trong mạng, đánh số từ 𝑙 + 1 tới 𝑛, giữ biến
p̂𝑖 ∈ ℝ 𝑑 và cập nhật biến này dựa trên các biến đo được. Tương tự như
trong bài toán điều khiển đội hình, chúng ta phân loại bài toán thành
định vị mạng dựa trên vị trí tương đối, dựa trên khoảng cách và dựa
trên vector hướng.
trong đó z𝑖𝑗 thu được từ đo đạc, p̂ 𝑗 nhận được từ tác tử 𝑗, và ẑ𝑖𝑗 = p̂ 𝑗 − p̂𝑖 ,
phương trình viết cho hệ với 𝑛 nút mạng có dạng:
trong đó p = vec(p̂1 , . . . , p̂𝑛 ) ∈ ℝ 𝑑𝑛 là cấu hình ước lượng tại thời điểm
𝑡 ≥ 0.
r¤ = − L ⊗ I𝑑 r ,
(7.3)
là một hệ đồng thuận đối với biến r. Theo lý thuyết về hệ đồng thuận,
ta có
Giả sử các nút 1 , . . . , 𝑙 biết được vị trí tuyệt đối của mình trong không
gian. Khi đó, các nút mạng này, gọi là các nút tham chiếu, không cần
cập nhật biến ước lượng p̂𝑖 của mình mà chỉ cần gửi thông tin về vị
trí tuyệt đối của mình cho các nút khác trong mạng. Nói cách khác,
phương trình định vị mạng viết cho nút 𝑖 = 1 , . . . , 𝑙 được cho bởi:
Luật định vị mạng viết cho các nút mạng 𝑙 + 1 , . . . , 𝑛 cũng được cho
như ở phương trình (7.1) (Xem Hình 7.1). Đặt p𝑙 = [p> 1 , . . . , p𝑙 ] ,
> >
𝑓 > > 𝑙 > > 𝑓
p = [p𝑙+1 , . . . , p𝑛 ] , p̂ = [p̂1 , . . . , p𝑙 ] , và p̂ = [p𝑙+1 , . . . , p𝑛 ] . Ta
> > > > >
Do L𝑓 𝑓 là ma trận xác định dương, hệ (7.7) chỉ có điểm cân bằng duy
nhất p̂ 𝑓 = p 𝑓 là ổn định tiệm cận theo hàm mũ. Điều này tương đương
với việc các giá trị ước lượng sẽ hội tụ tới vị trí thực của các nút khi
𝑡 → +∞.
Nếu ta xét thêm sự ảnh hưởng của nhiễu hằng 𝝐 𝑖𝑗 = −𝝐 𝑖𝑗 tới từng cạnh
(𝑗, 𝑖) với 𝑗 ∉ {1, . . . , 𝑙} thì
𝑙 𝑛
p¤̂ 𝑖 = −
X X
𝑎 𝑖𝑗 (p̂𝑖 − p 𝑗 − (p𝑖 − p 𝑗 )) − 𝑎 𝑖𝑗 (p̂𝑖 − p̂ 𝑗 − (p𝑖 − p 𝑗 ) + 𝝐 𝑖𝑗 )
𝑗=1 𝑗=𝑙+1
phương trình định vị mạng lúc này được tương ứng cho bởi
Từ đây suy ra r(𝑡) = 0 ổn định tiệm cận theo hàm mũ, hay p̂ 𝑓 (𝑡) → p̂ 𝑓 ∗ ,
khi 𝑡 → +∞. Như vậy, nhiễu hằng số làm cho kết quả định vị mạng
bị sai lệch so với vị trí thực một khoảng giới hạn bởi k(L−𝑓 1𝑓 ⊗ I𝑑 )d k ≤
kL−𝑓 1𝑓 ⊗ I𝑑 k k d k ≤ 𝜎(L−𝑓 1𝑓 )k d k, trong đó 𝜎(L−𝑓 1𝑓 ) = 𝜆min (L𝑓 𝑓 )−1 là giá
trị suy biến lớn nhất của ma trận đối xứng, xác định dương L−𝑓 1𝑓 .
Xét mạng gồm 𝑛 nút (𝐺, p) cứng hướng vi phân trong ℝ 𝑑 . Ta giả sử
mỗi nút mạng có thể đo vector hướng g𝑖𝑗 và nhận thông tin về p̂ 𝑗 từ
một số nút mạng 𝑗 ∈ 𝑁𝑖 . Tương tự như trong mục Xét hai trường hợp
mạng có nút tham chiếu và mạng không có nút tham chiếu.
Luật định vị mạng trong trường hợp này được cho bởi:
p¤̂ 𝑖 = −
X
Pg𝑖𝑗 (p̂𝑖 − p̂ 𝑗 ), ∀𝑖 = 1 , . . . , 𝑛, (7.9)
𝑗∈𝑁𝑖
116 7 Định vị mạng cảm biến
trong đó Pg𝑖𝑗 tính toán được từ vector hướng g𝑖𝑗 là một ma trận chiếu
trực giao. Sử dụng ma trận Laplace cứng hướng L𝑏 = R̃> R̃ , (7.9) có
𝑏 𝑏
thể biểu diễn lại dưới dạng
Như vậy, cấu hình mạng ước lượng sẽ hội tụ tới một cấu hình tương
đồng về hướng với cấu hình mạng thực tế p. Do không có các nút tham
chiếu, tồn tại khả năng các tác tử hội tụ tới một cấu hình ngược với
cấu hình gốc về các vector hướng (ĝ𝑖𝑗 = −g𝑖𝑗 , ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗). Các nút
mạng có thể kiểm tra vector hướng ứng với cấu hình cuối, từ đó khởi
tạo lại giá trị p̂(0) của mình để định vị lại mạng. Tuy nhiên, cách này
không đảm bảo rằng cấu hình cuối sau khi định vị mạng lại sẽ thỏa
mãn ĝ𝑖𝑗 = g𝑖𝑗 , ∀𝑖, 𝑗 ∈ 𝑉 , 𝑖 ≠ 𝑗.
Giả sử tồn tại các nút tham chiếu 1 , . . . , 𝑙 trong mạng, với 𝑙 ≥ 2. Vị trí
các nút mạng cần thỏa mãn điều kiện
L𝑏𝑙𝑙 L𝑏𝑙 𝑓
L𝑏 p = p = 0,
L𝑏 𝑓 𝑙 L𝑏 𝑓 𝑓
Do các nút tham chiếu có thông tin về vị trí tuyệt đối của mình, chúng
[169]: Zhao andothers (2016), “Local- không cần cập nhật giá trị ước lượng mà chỉ truyền các giá trị này tới
izability and distributed protocols for các nút mạng khác. Luật định vị mạng viết cho các nút 𝑙 + 1, . . . , 𝑛 có
bearing-based network localization in dạng giống như (7.9), và có thể biểu diễn chung lại như sau [169]:
arbitrary dimensions”
p¤̂ 𝑓 = −L𝑏 𝑓 𝑙 p𝑙 − L𝑏 𝑓 𝑓 p̂ 𝑓
= −L𝑏 𝑓 𝑓 (p̂ 𝑓 − p 𝑓 ). (7.12)
7.2 Định vị mạng dựa trên vị trí tương đối 117
Hình 7.2: Minh họa định vị mạng cảm biến gồm 10 nút với luật định vị mạng (7.9)
Từ tính đối xứng, xác định dương của L𝑏 𝑓 𝑓 , dễ thấy p̂ 𝑓 (𝑡) → p 𝑓 khi
𝑡 → +∞. Nói cách khác, vị trí ước lượng các nút mạng sẽ dần tiến
tới vị trí tuyệt đối của nút trong không gian. Sự ảnh hưởng của nhiễu
hằng tới luật định vị mạng lúc này cũng có thể phân tích tương tự như
với định vị mạng sử dụng vị trí tương đối.
Ý nghĩa của luật định vị mạng (7.10): do mục tiêu của bài toán là định
vị các nút mạng sao cho cấu hình cuối là tương đồng về hướng đối với
cấu hình thực tế, p̂ 𝑓 có thể coi là nghiệm của bài toán tối ưu
1
minimize 2 k Pg𝑖𝑗 H̄(p̂ − p)k 2
𝑙 𝑙 (7.13)
s.t. p̂ = p
Để xác định duy nhất một vị trí p4 trong không gian 2 chiều dựa trên
khoảng cách, ta cần vị trí của ba nút tham chiếu p1 , p2 , p3 trong không
gian và ba khoảng cách 𝑑4𝑖 = k p4 − p𝑖 k, 𝑖 = 1 , 2 , 3. Vị trí của nút 4 là
giao của ba đường tròn (p1 , 𝑑14 ), (p2 , 𝑑24 ) và (p3 , 𝑑34 ).
Xét bài toán định vị một mạng cảm biến dựa trên khoảng cách trong
không gian 2 chiều. Từ quan sát trong trường hợp định vị một nút
118 7 Định vị mạng cảm biến
nêu trên, ta sẽ xây dựng một đồ thị có thể định vị được bằng khoảng
cách.
Một đồ thị là 𝑘-liên thông cạnh nếu xóa đi 𝑘 cạnh bất kỳ trong 𝐺 thì
đồ thị thu được vẫn là liên thông. Tương tự, một đồ thị 𝐺 là 𝑘−dư
cứng nếu xóa đi 𝑘 cạnh bất kỳ trong 𝐺 thì ta vẫn được một đồ thị
cứng khoảng cách phổ quát. Ví dụ về đồ thị 1-thừa cứng trong ℝ2 là đồ
thị đầy đủ gồm 4 đỉnh K4 . Ví dụ về đồ thị 3-liên thông nhưng không
1-thừa cứng được cho trên Hình 7.4.
Một đồ thị 𝐺 với 𝑛 ≥ 4 đỉnh là cứng toàn cục phổ quát trong ℝ2 khi
và chỉ khi nó là 3−liên thông và 1-thừa cứng trong ℝ2 [11].
Một phương án xây dựng các đồ thị cứng toàn cục phổ quát có thể
định vị được bằng khoảng cách trong ℝ 𝑑 :
I Xuất phát từ một đồ thị đầy đủ gồm 𝑑 + 1 đỉnh 𝐾 𝑑+1 .
I Tại mỗi bước 𝑘 = 𝑑 + 2 , . . . , 𝑛, ta thêm một đỉnh mới và 𝑑 + 1
cạnh với các đỉnh hiện có của đồ thị.
Khi đó, đồ thị thu được thỏa mãn tính cứng hướng phổ quát và có thể
định vị được dựa trên khoảng cách khi 𝑑 + 1 nút 1, . . . , 𝑑 + 1 là các nút
tham chiếu trong mạng. Mỗi nút 𝑘 = 𝑑 + 2, . . . , 𝑛 định vị vị trí của
mình dựa trên {𝑑 𝑖𝑗 , p 𝑗 } 𝑗∈𝑁𝑖 ∩{1,...,𝑘−1} sau đó gửi vị trí định vị được cho
các nút 𝑗 ∈ 𝑁𝑖 ∩ {𝑘 + 1 , . . . , 𝑛}.
Bài tập 7.3.1 Xét mạng cảm biến với đồ thị 𝐺 được cho như ở Hình
7.5. Chọn một nút bất kỳ trong mạng là nút tham chiếu, hãy viết
ma trận Laplace nối đất tương ứng của mạng.
Bài tập 7.3.3 Trình bày cách lập một đồ thị 3-thừa cứng khoảng cách
gồm 10 đỉnh trong 2D phục vụ cho định vị mạng dựa trên khoảng
cách.
Bài tập 7.3.4 Xét mạng cảm biến với (𝐺, p) được cho như ở Hình
7.6. Viết ma trận cứng hướng và kiểm tra tính cứng hướng vi phân
của mạng. Chọn nút 1 và 2 là nút tham chiếu, hãy viết ma trận
L𝑏 𝑓 𝑓 tương ứng của mạng.
Bài tập 7.3.5 Xét bài toán định vị mạng cảm biến dựa trên vector
hướng với (𝐺, p) là cứng hướng vi phân với p = vec(p1 , . . . , p𝑛 ) là vị Hình 7.6: Mạng cảm biến (𝐺, p) trong
trí tuyệt đối của các nút mạng, p𝑖 ∈ ℝ 𝑑 . Giả sử trong mạng có 𝑙 ≥ 2 Bài tập 7.3.4
nút tham chiếu, đồng thời ma trận L𝑏 được phân hoạch tương ứng
dưới dạng
L𝑏𝑙𝑙 L𝑏𝑙 𝑓
L𝑏 =
L𝑏 𝑓 𝑙 L𝑏 𝑓 𝑓
Bài tập 7.3.6 Với L là ma trận Laplace của một đồ thị vô hướng, liên
thông, có trọng số gồm 𝑛 nút. Định nghĩa ma trận X = L + 𝑛𝑘 1𝑛 1> 𝑛,
với 𝑘 ∈ ℝ. Chứng minh rằng:
1. X là xác định dương nếu 𝑘 > 0.
−1
2. X−1 = L + 𝑛𝑘 1𝑛 1>
𝑛 = L+ + 𝑘𝑛
1
1 𝑛 1> +
𝑛 , trong đó L là ma trận
giả nghịch đảo của L được thỏa mãn (i) LL+ L = L, (ii)
L+ LL+ = L+ , và (iii) LL+ = L+ L = I𝑛 − 𝑛1 1𝑛 1>
𝑛.
Bài tập 7.3.7 (Rút gọn Kron [38]) Với L là ma trận Laplace của
một đồ thị vô hướng, liên thông, có trọng số gồm 𝑛 nút. Xét phương
trình y = Lx, với x ∈ ℝ 𝑛 là vector các biến chưa biết, y ∈ ℝ 𝑛 là một
vector.
120 7 Định vị mạng cảm biến
1. Giả sử nút thứ 𝑛 trong đồ thị được chọn là nút tham chiếu.
Rút gọn 𝑥 𝑛 từ phương trình [y]𝑛 = [Lx]𝑛 và thế vào 𝑛 − 1
phương trình đối với y[1:𝑛−1] = [𝑦1 , . . . , 𝑦𝑛−1 ]> và x[1:𝑛−1] =
[𝑥1 , . . . , 𝑥 𝑛−1 ]> , ta thu được phương trình dạng:
Chứng minh rằng: (i) các phần tử của ma trận rút gọn Kron
của 𝐺 ứng với nút 𝑛, L𝑟𝑒𝑑 , được cho bởi 𝑙 𝑖𝑗 − 𝑙 𝑖𝑛 𝑙 𝑗𝑛 /𝑙𝑛𝑛 ; (ii) ma
trận L𝑟𝑒𝑑 là ma trận Laplace của một đồ thị vô hướng, liên
thông; (iii) tìm công thức tính các giá trị của L𝑟𝑒𝑑 cho trường
hợp đồ thị hình sao 𝑆4 (biến đổi Δ − 𝑌).
2. Tổng quát hóa kết quả trên cho trường hợp 2 ≤ 𝑙 ≤ 𝑛 − 1 nút
trong mạng được chọn là nút tham chiếu.
Bài tập 7.3.8 (Định vị mạng khi có trễ) Giả sử mạng cảm biến được
mô tả bởi đồ thị 𝐺 vô hướng, liên thông gồm 𝑛 nút mạng. Mỗi tác
tử trong hệ cập nhật biến ước lượng vị trí của mình dựa trên luật
định vị mạng dựa trên sai lệch vị trí.
1. Giả sử mỗi nút cần một khoảng thời gian 𝜏 > 0 để xử lý thông
tin thu về và tính toán luật cập nhật, phương trình cập nhật
ước lượng vị trí của nút 𝑖 được cho bởi [90]:
p¤̂ 𝑖 =
X
(p̂𝑖 (𝑡 − 𝜏) − p̂ 𝑗 (𝑡 − 𝜏)) − (p𝑖 − p 𝑗 ) , 𝑖 = 1 , . . . , 𝑛.
𝑗∈𝑁𝑖
(7.15)
𝜋
Chứng minh rằng nếu 𝜏 < 2𝜆𝑛 (L)
thì các nút sẽ dần định vị
được vị trí thực của mình. Mô phỏng cho trường hợp đồ thị
được cho ở Hình 7.6.
2. Giả sử trong mạng có nhiễu truyền thông 𝜏 > 0, phương trình
cập nhật ước lượng vị trí của nút 𝑖 được cho bởi [116]:
p¤̂ 𝑖 =
X
(p̂𝑖 (𝑡) − p̂ 𝑗 (𝑡 − 𝜏)) − (p𝑖 − p 𝑗 ) , 𝑖 = 1, . . . , 𝑛. (7.16)
𝑗∈𝑁𝑖
Phân tích tính ổn định của mạng trong trường hợp này.
Bài tập 7.3.9 Giả sử mạng cảm biến được mô tả bởi đồ thị 𝐺 vô
hướng, liên thông gồm 𝑛 nút mạng. Mỗi tác tử trong hệ cập nhật
biến ước lượng vị trí của mình dựa trên luật định vị mạng dựa trên
sai lệch vị trí.
p¤̂ 𝑖 =
X
(p̂𝑖 − p̂ 𝑗 ) − (p𝑖 − p 𝑗 ) , 𝑖 = 1 , . . . , 𝑛.
(7.17)
𝑗∈𝑁𝑖
Chứng minh rằng luật định vị mạng (7.17) cho nghiệm của bài toán
tối ưu:
1
minimize 2 k H̄p̂ − H̄p k 2 (7.18)
Bài tập 7.3.10 (Điều khiển đội hình dựa trên định vị mạng) [87, 70]
Xét đội hình gồm 𝑛 tác tử trong không gian 𝑑 chiều, vị trí của các
tác tử được cho bởi vector p𝑖 ∈ ℝ 𝑑 , 𝑖 = 1 , . . . , 𝑛. Giả sử đồ thị 𝐺 mô
tả tương tác đo, điều khiển, và trao đổi thông tin giữa các tác tử
trong đội hình là có gốc ra. Mỗi tác tử 𝑖 có thông tin về đội hình
đặt p∗ thông qua các vector sai lệch đặt p∗𝑖 − p∗𝑗 , (𝑖, 𝑗) ∈ 𝐸. Giả thiết
rằng mỗi tác tử 𝑖 ngoài đo vị trí tương đối p𝑖 − p 𝑗 , 𝑗 ∈ 𝑁𝑖 còn có thể
trao đổi thông tin với các tác tử khác trong đội hình. Mỗi tác tử 𝑖
trong đội hình thực hiện ước lượng vị trí p̂𝑖 ∈ ℝ 𝑑 và trao đổi biến
ước lượng này với các tác tử 𝑗 ∈ 𝑁𝑖 . Dựa trên biến ước lượng, các
tác tử thực hiện luật điều khiển đội hình cho bởi
p¤̂ 𝑖 = −
X
(p̂𝑖 − p̂ 𝑗 − (p𝑖 − p 𝑗 ) + (p∗𝑖 − p∗𝑗 )) + u𝑖 (7.19a)
𝑗∈𝑁𝑖
p¤ 𝑖 = u𝑖 (7.19b)
u𝑖 = −𝑘 p̂𝑖 , (7.19c)
Bài tập 7.3.11 (Điều khiển đội hình dựa trên định vị mạng theo lý
thuyết cứng hướng) [128] Xét đội hình gồm 𝑛 tác tử trong không
gian 𝑑 chiều, vị trí của các tác tử được cho bởi vector p𝑖 ∈ ℝ 𝑑 ,
𝑖 = 1 , . . . , 𝑛. Giả sử đồ thị 𝐺 mô tả tương tác đo, điều khiển, và trao
đổi thông tin giữa các tác tử trong đội hình là có gốc ra. Mỗi tác tử
𝑖 có thông tin về đội hình đặt p∗ thông qua các vector sai lệch đặt
p∗𝑖 − p∗𝑗 , (𝑖, 𝑗) ∈ 𝐸. Đội hình đặt (𝐺, p∗ ) là cứng hướng vi phân. Giả
thiết rằng mỗi tác tử 𝑖 ngoài đo vị trí tương đối p𝑖 − p 𝑗 , 𝑗 ∈ 𝑁𝑖 còn
có thể trao đổi thông tin với các tác tử khác trong đội hình. Mỗi tác
tử 𝑖 trong đội hình thực hiện ước lượng vị trí p̂𝑖 ∈ ℝ 𝑑 và trao đổi
biến ước lượng này với các tác tử 𝑗 ∈ 𝑁𝑖 . Dựa trên biến ước lượng,
các tác tử thực hiện luật điều khiển đội hình cho bởi
p¤̂ 𝑖 = −
X
Pg∗𝑖𝑗 (p̂𝑖 − p̂ 𝑗 − (p𝑖 − p 𝑗 )) + u𝑖 (7.20a)
𝑗∈𝑁𝑖
p¤ 𝑖 = u𝑖 (7.20b)
u𝑖 = −𝑘 p̂𝑖 , (7.20c)
8.1 Mô hình French - Degroot 122 Nghiên cứu về các hiện tượng xã hội đã đưa đến những mô hình toán
8.2 Mô hình Friendkin - học liên quan tới đồ thị và hệ đồng thuận. Trong thời gian gần đây, các
Johnsen . . . . . . . . . . . 123 mô hình động học ý kiến/quan điểm cổ điển đã được xem xét lại dưới
8.3 Mô hình Abelson và mô góc nhìn của lý thuyết điều khiển, đồng thời một số mô hình mới đã
hình Taylor . . . . . . . . . 125 được đề xuất nhờ sự hợp tác giữa một số nhà xã hội học và nhà điều
8.4 Mô hình Friendkin - khiển học [51, 104, 103].
Johnsen đa chiều và một
số mở rộng . . . . . . . . . 126
8.5 Mô hình Hegselmann-
Krause . . . . . . . . . . . . 132
8.1 Mô hình French - Degroot
8.6 Mô hình Altafini . . . . . 135
Xét một hệ n tác tử, mỗi tác tử có một quan điểm/ý kiến riêng cho bởi
𝑥 𝑖 [𝑘], 𝑖 = 1, . . . , 𝑛, 𝑘 = 0 , 1 , 2 , . . .. Mạng xã hội thể hiện tương tác giữa
các tác tử, được mô tả bởi một đồ thị 𝐺 = (𝑉 , 𝐸) có tính đến khuyên
(các cạnh có dạng (𝑖, 𝑖)). Trọng số 𝜔 𝑗𝑖 tại mỗi cạnh (𝑗, 𝑖) của 𝐺 thể
hiện ảnh hưởng xã hội của tác tử 𝑖 trong việc hình thành quan điểm
của tác tử 𝑗. Tại mỗi thời điểm 𝑘 ≥ 0, mỗi tác tử tổng hợp ý kiến của
[35]: DeGroot (1974), “Reaching a bản thân và các tác tử khác trong hệ để thay đổi ý kiến của bản thân
consensus” theo phương trình [35]:
X
𝑥 𝑖 (𝑘 + 1) = 𝑎 𝑖𝑗 𝑥 𝑖 (𝑘), 𝑖 = 1 , . . . , 𝑛. (8.1)
𝑗∈𝑀 𝑖
ory of social power” được đề xuất bởi French để nghiên cứu về quyền lực xã hội [48]. Degroot
đề xuất mô hình (8.1) độc lập với French nhằm nghiên cứu sự thay đổi
quan điểm của một nhóm người sau một số lần họp mặt và trao đổi
ý kiến. Có thể thấy rằng, mô hình French-Degroot thực chất là một
mô hình đồng thuận rời rạc. Viết lại phương trình (8.1) dưới dạng ma
trận
về hệ (8.2):
I Nếu đồ thị 𝐺 là liên thông mạnh thì (8.2) hội tụ tới đồng thuận
khi và chỉ khi 𝐺 là không có chu kỳ. Ngược lại, (8.2) không hội
tụ với hầu hết mọi điều kiện đầu x(0).
8.2 Mô hình Friendkin - Johnsen 123
I Hệ (8.2) hội tụ khi và chỉ khi mọi thành phần liên thông mạnh
tối đa của 𝐺 là không có chu kì. Hệ (8.2) hội tụ tới đồng thuận
khi và chỉ khi 𝐺 có gốc ra và thành phần liên thông mạnh chứa
gốc ra là không có chu kỳ.
I Nếu đồ thị có 𝑎 𝑖𝑖 > 0 với ∀𝑖 = 1 , . . . , 𝑛 thì (8.2) hội tụ. Nếu có
thêm giả thuyết 𝐺 là có gốc ra thì (8.2) hội tụ tới giá trị đồng
thuận.
I Giả sử hệ (8.2) hội tụ tới giá trị đồng thuận. Khi đó, 𝜸 là vector
riêng bên trái duy nhất của A ứng với giá trị riêng 1 và thỏa mãn
𝜸 > 1𝑛 = 1 , 𝛾𝑖 ≥ 0 , ∀𝑖 = 1 , . . . , 𝑛. Mỗi phần tử 𝛾𝑖 thể hiện mức ảnh
hưởng của tác tử 𝑖 tới ý kiến đồng thuận và còn được gọi là chỉ
số trung tâm hay chỉ số ảnh hưởng của tác tử thứ 𝑖 trong mạng
xã hội [48].
Friendkin và Johnsen [49, 50] đề xuất một mở rộng của mô hình French-
Degroot bằng cách xem xét thêm ảnh hưởng của định kiến tới sự thay
đổi quan điểm của các tác tử. Mô hình Friedkin-Johnsen (F-J) được [49]: Friedkin (1986), “A formal the-
cho bởi: ory of social power”
[50]: Friedkin andothers (1990), “So-
X
𝑥 𝑖 (𝑘 + 1) = 𝜃𝑖𝑖 𝑎 𝑖𝑗 𝑥 𝑗 (𝑘) + (1 − 𝜃𝑖𝑖 )𝑢𝑖 , (8.3) cial influence and opinions”
𝑗∈𝑀 𝑖
Xét trường hợp Θ ≠ I𝑛 . Một tác tử 𝑖 là có định kiến nếu 𝜃𝑖 < 1. Một
tác tử 𝑖 là bị ảnh hưởng bởi định kiến nếu 𝑖 là tác tử có định kiến hoặc
𝑖 bị ảnh hưởng bởi một tác tử có định kiến, hay nói cách khác, tồn tại
một đường đi từ một tác tử 𝑗 có định kiến tới 𝑖. Tác tử 𝑖 không bị ảnh
hưởng bởi định kiến gọi là một tác tử độc lập. Với cách phân chia này,
đồ thị 𝐺 có thể được đánh số lại sao cho các tác tử bị ảnh hưởng bởi
định kiến được cho bởi 1 , . . . , 𝑟 và các tác tử độc lập là 𝑟 + 1 , . . . , 𝑛,
với 𝑟 ≥ 1. Ý kiến của hai nhóm tác tử này được cho tương ứng bởi các
vector x1 ∈ ℝ 𝑟 và x2 ∈ ℝ 𝑟 , thay đổi theo phương trình:
trong đó A22 là một ma trận ngẫu nhiên hàng (do đó hệ con (8.6)) có
dạng mô hình French-Degroot. Một số kết quả về tính hội tụ của (8.2) [102]: Proskurnikov andothers (2016),
được tóm gọn lại như sau [102]: “Opinion dynamics in social networks
with hostile camps: Consensus vs. po-
larization”
I Hệ con (8.5) là ổn định tiệm cận với ma trận Θ11 A11 là ổn định
Schur (tức là ma trận có bán kính quang phổ 𝜌(Θ11 A11 ) < 1). Hệ
124 8 Mô hình động học ý kiến
Code MATLAB tham khảo của ví dụ trên được cho dưới đây:
1 clear all
2 x0 = rand ( 4 , 1 ) ; % Dieu k i e n dau
3 N = 31;
4 x = z e r o s ( 4 ,N) ;
5 W = [0.220 0.120 0.360 0.300;
6 0.147 0.215 0.344 0.294;
7 0.000 0.000 1.000 0.000;
(b) 8 0.090 0.178 0.446 0 . 2 8 6 ] ;
Hình 8.1: Mô phỏng hệ 4 tác tử với 9 Lambda = eye ( 4 ) - d i a g ( [ 0 . 2 2 0 . 2 1 5 1 0 . 2 8 6 ] ) ;
mô hình F-J trong hai trường hợp 10 x ( : , 1 ) = x0 ;
khác nhau của đồ thị tương tác. 11 i = 1;
12 w h i l e ( i <N)
13 x ( : , i +1) = Lambda*W*x ( : , i ) +( eye ( 4 ) -Lambda ) * x0 ;
14 i = i +1;
15 end
16 y = mean ( x ) ;
17
18 figure (1) ;
19 h o l d on ;
20 f o r j =1:4
8.3 Mô hình Abelson và mô hình Taylor 125
21 stem ( 0 : N- 1 , x ( j , 1 : N) )
22 end
23 p l o t ( 0 : N- 1 , y ( 1 , 1 :N) )
24 x l a b e l ’ So l a n lap ’ ;
25 y l a b e l ’ Gia t r i y k i e n ’ ;
26 l e g e n d ( { ’ $x_1$ ’ , ’ $x_2$ ’ , ’ $x_3$ ’ , ’ $x_4$ ’ , ’ $ \ bar {x}$ ’ } , ’
Interpreter ’ , ’ latex ’ )
27 box on ;
Mô hình Abelson có thể coi là dạng liên tục của mô hình Degroot. Điều
kiện để mọi tác tử hội tụ tới giá trị đồng thuận là đồ thị G có gốc ra.
Mô hình Taylor mở rộng mô hình Abelson, giải thích sự phân hóa về
quan điểm do ảnh hưởng của các nguồn thông tin bên ngoài:
X 𝑙
X
𝑥¤ 𝑖 (𝑡) = 𝑎 𝑖𝑗 (𝑥 𝑗 − 𝑥 𝑖 ) + 𝑏 𝑖𝑟 (𝑠 𝑟 − 𝑥 𝑖 ), 𝑖 = 1 , . . . , 𝑛. (8.9) [125]: Taylor (1968), “Towards a
𝑗∈𝑁𝑖 𝑟=1 mathematical theory of influence and
attitude change”
trong đó 𝑠1 , . . . , 𝑠 𝑙 là các hằng số mô tả ảnh hưởng từ bên ngoài và [107]: Ren (2007), “Distributed atti-
tude alignment in spacecraft forma-
𝑏 𝑖𝑟 ≥ 0 thể hiện ảnh hưởng từ nguồn thông tin thứ 𝑘 tới tác tử 𝑖. Khi tion flying”
𝐺 là có gốc ra, mô hình Taylor ổn định tiệm cận và hội tụ tới một điểm
cân bằng duy nhất xác định bởi đồ thị 𝐺 và các giá trị 𝑠 1 , . . . , 𝑠 𝑙 [125,
107]. Chú ý rằng mô hình Taylor (8.9) được nghiên cứu trong [107]
với tên gọi bài toán điều khiển khoanh vùng 1 , trong đó các tác tử 1: containment control
cần hội tụ tới bao lồi định nghĩa bởi tập vị trí của các tác tử dẫn đầu
(leader).
Ví dụ 8.3.1 Xét ví dụ bài toán điều khiển khoanh vùng với 3 leader
tại p1 = [0 , 0]> , p2 = [1 , 0]> và p3 = [0 , 1]> và 7 tác tử thường với vị
trí đầu được lấy ngẫu nhiên trong khoảng −3 tới 3. Vị trí đầu của
các leader được kí hiệu bởi khuyên tròn nhỏ màu đỏ, còn các tác tử
khác kí hiệu bởi màu đen.
Mô phỏng cho thấy sau khoảng 10 giây, các tác tử hội tụ về miền
tam giác với ba đỉnh p𝑖 , 𝑖 = 1 , 2 , 3 như trên Hình 8.2. Chú ý rằng
các tác tử không thay đổi vị trí (không cập nhật ý kiến) từ các tác
tử thường.
1 clear all
2 global L
3 rng ( 1 0 )
4 x f = 6 * ( rand ( 1 4 , 1 ) - 0 . 5 ) ; % Dieu k i e n dau
5 x01 = [ 0 ; 0 ] ; x02 = [ 1 ; 0 ] ; x03 = [ 0 ; 1 ] ;
6 x0 = [ x01 ; x02 ; x03 ; x f ] ;
126 8 Mô hình động học ý kiến
7
8 A = [0 0 0 0 0 0 0 0 0 0;
9 0 0 0 0 0 0 0 0 0 0;
10 0 0 0 0 0 0 0 0 0 0;
11 1 1 0 0 1 0 0 0 0 0;
12 0 1 0 1 0 1 0 0 0 0;
13 0 0 1 0 1 0 1 1 0 0;
14 0 0 0 0 0 1 0 1 0 1;
15 0 0 0 0 0 1 1 0 1 1;
16 0 0 0 0 0 0 0 1 0 1;
17 0 0 0 0 0 0 1 1 1 0];
18 L = d i a g ( sum (A’ ) ) -A;
19
20 [ t , x ] = ode45 ( @taylor , 0 : 0 . 0 1 : 1 0 , x0 ) ;
21 %x = x ’ ;
22 tend = l e n g t h ( t ) ;
23 f i g u r e ( 1 ) ; h o l d on
24 for i = 1:3
25 p l o t ( x ( 1 , 2 * i - 1 ) , x ( 1 , 2 * i ) , ’ or ’ ) ;
26 end
27 f o r i =4:10
28 plot (x (: ,2* i -1) ,x (: ,2* i ) , ’ - -k ’ ) ;
29 p l o t ( x ( 1 , 2 * i - 1 ) , x ( 1 , 2 * i ) , ’ ok ’ ) ;
30 p l o t ( x ( tend , 2 * i - 1 ) , x ( tend , 2 * i ) , ’ ^ k ’ ) ;
31 end
32 l i n e ( [ x01 ( 1 , 1 ) , x02 ( 1 , 1 ) ] , [ x01 ( 2 , 1 ) , x02 ( 2 , 1 ) ] , " C o l o r " , "
r ")
33 l i n e ( [ x01 ( 1 , 1 ) , x03 ( 1 , 1 ) ] , [ x01 ( 2 , 1 ) , x03 ( 2 , 1 ) ] , " C o l o r " , "
r ")
34 l i n e ( [ x03 ( 1 , 1 ) , x02 ( 1 , 1 ) ] , [ x03 ( 2 , 1 ) , x02 ( 2 , 1 ) ] , " C o l o r " , "
r ")
35
Hình 8.2: Mô phỏng hệ 10 tác tử với 36 axis equal
mô hình Taylor mở rộng 37 xlabel ’x ’ ;
38 ylabel ’y ’ ;
39 l e g e n d ( { ’ $x_i , ~ i =1, \ l d o t s , 10 $ ’ } , ’ I n t e r p r e t e r ’ , ’ l a t e x
’)
40 box on ;
41
42 % Ham g i a i phuong t r i n h v i phan
43 f u n c t i o n dx = t a y l o r ( t , x )
44 global L
45 dx = - kron (L , eye ( 2 ) ) *x ;
46 end
Trong trường hợp C = I𝑛 , mô hình (8.10) trở thành mô hình F-J thông
thường. Định nghĩa x = vec(x1 , . . . , x>
𝑛 ), ta viết lại mô hình (8.10) dưới
dạng ma trận như sau:
Mô hình (8.11) thể hiện rằng quá trình hình thành quan điểm của mỗi
tác tử là sự tương tác giữa những ảnh hưởng từ bên ngoài (ma trận A),
định kiến ban đầu (ma trận Θ) và hệ thống niềm tin của mỗi tác tử
(ma trận C). Một số kết quả về mô hình (8.11) được tóm tắt lại như
sau:
I Mô hình (8.11) ổn định khi và chỉ khi 𝜌(ΘA)𝜌(C) < 1. Khi đó,
x(∞) = lim 𝑘→+∞ x(𝑘) = (I𝑑𝑛 − ΘA ⊗ C)−1 [(I𝑛 − Θ) ⊗ I𝑑 ]u.
I Trong trường hợp hệ có một số tác tử độc lập, ta đánh số thứ
tự các tác tử như ở mô hình F-J thường. Mô hình (8.11) hội tụ
khi và chỉ khi tồn tại giới hạn C∗ = lim 𝑘→+∞ C 𝑘 đồng thời hoặc
C∗ = 0 hoặc tồn tại A22 22
∗ = lim 𝑘→+∞ A . Khi đó,
với qui ước rằng khi C∗ = 0 nhưng lim 𝑘→+∞ A22 không tồn tại thì
ta gán A22
∗ = 0.
Hai mô hình liên tục tương ứng của mô hình F-J đa chiều được đề xuất
gần đây trong [155] có dạng như sau:
I Mô hình 1:
X
x¤ 𝑖 = 𝑎 𝑖𝑗 C(x 𝑗 − x𝑖 ) + (C − I𝑑 )x𝑖 + 𝑏 𝑖 (x𝑖 (0) − x𝑖 ) (8.13)
𝑗∈𝑁𝑖
x¤ = − (L − I𝑛 ) ⊗ C + (B + I𝑛 ) ⊗ I𝑑 x + (B ⊗ I𝑑 )x(0) (8.14)
I Mô hình 2:
X
x¤ 𝑖 = 𝑎 𝑖𝑗 (x 𝑗 − x𝑖 ) + (C − I𝑑 )x𝑖 + 𝑏 𝑖 (x𝑖 (0) − x𝑖 ) (8.15)
𝑗∈𝑁𝑖
Theo một góc nhìn khác, ta có thể coi ma trận C đóng vai trò như
một trọng số ma trận đồng nhất ảnh hưởng vào quá trình đồng thuận
[142]: Trinh andothers (2018), của mỗi tác tử [142]. Mô hình đồng thuận đa chiều ở [3, pages –3cm]
“Matrix-weighted consensus and its sử dụng các trọng số ma trận phụ thuộc vào biến trạng thái được cho
applications”
dưới dạng:
[3]: Ahn andothers (2020), “Opinion
dynamics with cross-coupling topics:
A𝑖,𝑗 (x 𝑗 − x𝑖 ), 𝑖 = 1 , . . . , 𝑛,
X
Modeling and analysis”
x¤ 𝑖 = (8.17)
𝑗∈𝑁𝑖
𝑖,𝑗
trong đó A𝑖,𝑗 = [𝑎 𝑝,𝑞 (x 𝑗 − x𝑖 )] ∈ ℝ 𝑑×𝑑 là ma trận trọng số phụ thuộc
vào trạng thái tương đối giữa hai tác tử 𝑖 và 𝑗 trong hệ, tùy trường
hợp mà được định nghĩa bởi:
I Quan hệ phản hồi ngược (quan điểm càng khác nhau thì trọng
số càng lớn):
𝑖,𝑗 𝑖,𝑗
𝑎 𝑝,𝑞 = 𝑘 𝑝,𝑞 · sign(𝑥 𝑗,𝑝 − 𝑥 𝑖,𝑝 ) · sign(𝑥 𝑗,𝑞 − 𝑥 𝑖,𝑞 ) (8.18)
I Quan hệ phản hồi thuận (quan điểm càng gần nhau thì trọng số
càng lớn):
𝑖,𝑗
𝑖,𝑗 𝑘 𝑝,𝑞 · sign(𝑥 𝑗,𝑝 − 𝑥 𝑖,𝑝 ) · sign(𝑥 𝑗,𝑞 − 𝑥 𝑖,𝑞 )
𝑎 𝑝,𝑞 = (8.19)
(𝑐 1 k𝑥 𝑗,𝑝 − 𝑥 𝑖,𝑝 k + 𝑐 0 )(𝑐 1 k𝑥 𝑗,𝑞 − 𝑥 𝑖,𝑞 k + 𝑐 0 ))
0.8 0.2
C= ,
0.3 0.7
mô phỏng cho ta
Có thể thấy rằng, ngoài tác tử 3 không thay đổi quan điểm thì quan
điểm của các tác tử về việc ăn chay và ăn thịt đều có xu hướng tích
cực hơn (tăng lên). Điều này tỏ ra mâu thuẫn do hai chủ đề đối
nghịch nhau (người ăn chay thường có xu hướng không đánh giá tích
cực chế độ ăn toàn thịt).
8.4 Mô hình Friendkin - Johnsen đa chiều và một số mở rộng 129
(a) (b)
0.8 0.2
Hình 8.3: Mô phỏng mô hình F-J với ma trận C = .
0.3 0.7
Tiếp theo, với cùng giá trị đầu x(0) nhưng ma trận logic C được thay
bởi
0 . 8 −0 . 2
C= ,
−0 . 3 0 . 7
Trong trường hợp này, giá trị hội tụ x(∞) thể hiện tính nhất quán
trong quan điểm của các tác tử (tích cực về chế độ ăn chay, tiêu cực
về chế độ ăn toàn thịt). Việc lựa chọn ma trận logic C vì vậy ảnh
hưởng tới tính hợp lý của mô hình. Một số nghiên cứu hiện nay cố
gắng ước lượng giá trị của ma trận logic từ phân tích các dữ liệu
thực tế.
Ví dụ 8.4.2 Xét ví dụ về mô hình Ye trong [155]: Xét hệ 8 tác tử với [155]: Ye andothers (2020),
đồ thị tương tác giữa các tác tử được cho bởi “Continuous-time opinion dy-
namics on multiple interdependent
topics”
1
0 −1 0 0 0 0 0
−1 1 0 0 0 0 0 0
. .
0
− 0 8 1 − 0 2 0 0 0 0
0 0 −1 1 0 0 0 0
L =
0 0 0 − 0 . 4 1 0 − 0 .6 0
0
0 − 0 . 2 0 − 0 . 8 1 0 0
0
0 0 0 0 −1 1 0
−0.3 −0.7 0 0 0 0 0 1
Ma trận MiDs thể hiện logic giữa ba chủ đề được cho bởi
1 0 0
C = −0.1 0.2 0.7
(8.20)
0 . 1 −0 . 8 0 . 1
Ma trận này có thể mô tả 3 chủ đề như sau:
130 8 Mô hình động học ý kiến
(a) (b)
0.8 −0 . 2
Hình 8.4: Mô phỏng mô hình F-J với ma trận C = .
−0 . 3 0.7
1 1
Topic 1 Topic 1
Topic 2 Topic 2
Topic 3 Topic 3
0.5 0.5
0 0
-0.5 -0.5
-1 -1
0 5 10 15 20 25 30 0 50 100 150 200
Time, t Time, t
(a)
I Chủ đề 1: Triều Tiên có vũ khí hạt nhân đủ khả năng tấn công
tới Mỹ.
I Chủ đề 2: Do Trung Quốc là đồng minh của Triều Tiên, Trung
Quốc sẽ bảo vệ Bắc Hàn khi bị tấn công.
I Chủ đề 3: Mỹ sẽ tấn công Triều Tiên bằng vũ khí hạt nhân.
Với các giá trị quan điểm ban đầu được lấy ngẫu nhiên trong khoảng
-1 tới 1, ta mô phỏng mô hình Ye trong một số trường hợp.
Đầu tiên, xét 𝑏 𝑖 = 0 , ∀𝑖 = 1 , . . . , 8. Kết quả mô phỏng với cả hai mô
hình Ye cho thấy các tác tử tiến tới đồng thuận về cả 3 chủ đề, hơn
nữa điểm đồng thuận của cả hai mô hình là như nhau.
Ta thêm vào mô hình vector định kiến b = [0 , 0.1, 0, 0.05 , 0 , 0.4 , 0 , 0.3]> .
Lúc này, các tác tử không đạt được đồng thuận.
Cuối cùng, ta tăng tương tác giữa các tác tử bằng cách thay L bởi
3L và mô phỏng hệ. Kết quả mô phỏng được cho trên Hình và 8.7.
Mô hình 1 cho thấy hệ trở nên mất ổn định. Trong khi đó, việc tăng
mức độ tương tác đẩy nhanh quá trình tiến tới đồng thuận trong mô
hình 2. Như vậy, mô hình 2 không cho phép mô tả quá trình quá tải
về thông tin giữa các tác tử mà thực chất là một biến thể của thuật
toán đồng thuận thông thường.
8.4 Mô hình Friendkin - Johnsen đa chiều và một số mở rộng 131
1 1
Topic 1 Topic 1
Topic 2 Topic 2
Topic 3 Topic 3
0.5 0.5
0 0
-0.5 -0.5
-1 -1
0 5 10 15 20 25 30 0 50 100 150 200
Time, t Time, t
(a) (b)
50 1
Topic 1 Topic 1
Topic 2 Topic 2
Topic 3 Topic 3
0.5
0 0
-0.5
-50 -1
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Time, t Time, t
Hình 8.7: Tăng mức độ liên kết giữa các tác tử làm mô hình Ye 1 mất ổn định trong khi đó sẽ đẩy nhanh quá trình đồng
thuận nhưng không làm thay đổi điểm đồng thuận của mô hình Ye 2.
Ví dụ 8.4.3 Ví dụ sau được trình bày lại từ [3]. Xét hệ gồm 5 tác [3]: Ahn andothers (2020), “Opinion
tử với đồ thị cho như bởi Hình 8.8. Quan điểm ban đầu của các dynamics with cross-coupling topics:
Modeling and analysis”
tác tử được cho bởi x1 = [1 , 2 , 3]> , x2 = [2 , 4 , 4]> , x3 = [3, 1, 5]> ,
x4 = [4 , 3 , 2]> , x5 = [5 , 6 , 1]> . Có thể thấy rằng quan điểm ban đầu
2
của các tác tử về ba chủ đề là khác nhau. Các trọng số ma trận giữa 5
các tác tử được cho bởi
1
1 1 0 1 ,3 1 0 0
4
A1,2
= 1 1 0 ;A = 0 1 1
3
0 0 0
0 1 1
2 0 1 1 1 1 Hình 8.8: Đồ thị mô tả các tác tử
2 ,3
3 ,4 trong ví dụ 8.4.3.
A = 0 2 1 ;A = 1 1 1
1 1 2
1 1 1
1 0 1
4 ,5
A = 0 1 0
1 0 1
đều là các ma trận đối xứng bán xác định dương. Với các ma trận
trọng số ở trên, ta có thể dự đoán rằng các tác tử sẽ đạt được đồng
thuận về tất cả các chủ đề. Hình 8.9 thể hiện mô phỏng về từng chủ
đề.
132 8 Mô hình động học ý kiến
Values of topic 1
Values of topic 2
Values of topic 3
Hình 8.9: Đồng thuận với ma trận Laplace theo mô hình Ahn: Trái - Chủ đề 1 (𝑥 𝑖,1 , 𝑖 = 1 , . . . , 5). Giữa - Chủ đề 2
(𝑥 𝑖,2 , 𝑖 = 1 , . . . , 5). Phải - Chủ đề 3 (𝑥 𝑖,3 , 𝑖 = 1 , . . . , 5).
Trong thực tế, một tác tử thường chỉ xem xét ý kiến của những tác
tử có quan điểm gần với ý kiến của tác tử đó. Nhận xét này là cơ sở
để đề xuất các mô hình với miền tự tin giới hạn, trong đó mỗi tác tử
[54]: Hegselmann andothers (2002), hoàn toàn không quan tâm tới các ý kiến nằm ngoài một miền cho
“Opinion dynamics and bounded con- trước. Hegselmann-Krause [54] định nghĩa miền tự tin của tác tử 𝑖 bởi
fidence models, analysis, and simula- [𝑥 𝑖 − 𝑑, 𝑥 𝑖 + 𝑑] ⊂ ℝ, trong đó 𝑑 > 0 là giới hạn tin tưởng. Mỗi tác tử 𝑖
tion”
chỉ tương tác với một tập tác tử tin cậy 𝐼 𝑖 (x) = {𝑗| |𝑥 𝑗 − 𝑥 𝑖 | ≤ 𝑑} theo
mô hình Hegselmann-Krause (H-K):
𝑥 𝑖 (𝑘 + 1) = 𝐶 𝑖 (x)
1 X
= 𝑥 𝑗 (𝑘), 𝑖 = 1 , . . . , 𝑛, (8.21)
|𝐼 𝑖 (x(𝑘))| 𝑗∈𝐼 𝑖 (x(𝑘))
1
A = [𝑎 𝑖𝑗 (x)], 𝑎 𝑖𝑗 = , khi 𝑗 ∈ 𝐼 𝑖 (x), và 𝑎 𝑖𝑗 (x) = 0 ngược lại.
|𝐼 𝑖 (x)|
(8.22)
Với mô hình H-K, sự hội tụ của mô hình hoàn toàn phụ thuộc vào điều
kiện đầu và khoảng cách 𝑑.
I Với mọi điều kiện đầu x(0), trạng thái của hệ (8.21) ngừng thay
đổi sau một số 𝑘 hữu hạn, x(𝑘) = x̄, ∀𝑘 ≥ 𝑘∗ , trong đó x̄ và thời
gian dừng phụ thuộc vào x(0) và 𝑑. Tại trạng thái dừng, hai tác
tử bất kỳ hoặc đạt đồng thuận 𝑥¯ 𝑖 = 𝑥¯ 𝑗 , hoặc là không tin tưởng
nhau | 𝑥¯ 𝑖 − 𝑥¯ 𝑗 | > 𝑑.
I Hệ (8.21) bảo toàn thứ tự của các phần tử 𝑥 1 , . . . , 𝑥 𝑛 theo thời
gian, nghĩa là nếu theo thứ tự 𝑗1 , . . . , 𝑗𝑛 , ta có 𝑥 𝑗1 ≤ . . . ≤ 𝑥 𝑗𝑛 thì
𝐶 𝑗1 (x) ≤ . . . ≤ 𝐶 𝑗𝑛 (x).
I Nếu ban đầu hai tác tử 𝑖 và 𝑗 nằm về hai thành phần liên thông
khác nhau của đồ thị 𝐺(x(𝑘 0 )) thì chúng sẽ không bao giờ nằm
cùng một thành phần liên thông trong đồ thị 𝐺(x(𝑘)), 𝑘 ≥ 𝑘0 .
Khi 𝑘 tăng, các thành phần liên thông mạnh của 𝐺(x(𝑘)) sẽ chia
thành các thành phần nhỏ hơn nhưng sẽ không thể nhập lại với
nhau.
8.5 Mô hình Hegselmann-Krause 133
Hình 8.10: Mô phỏng mô hình Hegselmann - Krausse với 𝑑 = 0.2 , 0.4 , . . . , 1.2.
8.6 Mô hình Altafini 135
Khác với các mô hình đã đề cập ở trên, mô hình Altafini nghiên cứu
mạng xã hội với hai khả năng tương tác: hợp tác và cạnh tranh, mô tả
bởi một đồ thị dấu. Đồ thị dấu và cân bằng cấu trúc: Một đồ thị có dấu
𝐺 = (𝑉 , 𝐸, 𝑊), trong đó (𝑉 , 𝐸) mô tả một đồ thị, trong đó 𝜔 𝑗𝑖 ∈ 𝑊
tương ứng với cạnh (𝑗, 𝑖) ∈ 𝐸 có thể nhận giá trị dương (hợp tác), không
(trung lập), và cạnh tranh (âm). Đồ thị được giả sử là đối xứng dấu,
hay 𝜔 𝑖𝑗 𝜔 𝑗𝑖 ≥ 0,tức là tương tác giữa hai tác tử là như nhau.
𝑛
X
𝑥¤ 𝑖 = |𝑎 𝑖𝑗 |(𝑥 𝑗 sign(𝑎 𝑖𝑗 ) − 𝑥 𝑖 )
𝑗=1
𝑛
X
= (𝑎 𝑖𝑗 𝑥 𝑗 |𝑎 𝑖𝑗 | − 𝑥 𝑖 ), 𝑖 = 1 , . . . , 𝑛. (8.23)
𝑗=1
Mô hình (8.23) luôn luôn hội tụ với mọi giá trị đầu x(0). Giả sử đồ thị
dấu 𝐺 cân bằng cấu trúc, với tập đỉnh được chia thành 𝑉 = 𝑉1 ∪ 𝑉2 ,
ta có thể định nghĩa phép biến đổi Gauge:
và biến đổi mô hình (8.23) về dạng mô hình Abelson với các trọng số
không âm:
𝑛
X
𝑦¤ 𝑖 (𝑡) = |𝑎 𝑖𝑗 |(𝑦 𝑗 (𝑡) − 𝑦 𝑖 (𝑡)), ∀𝑖 = 1 , . . . , 𝑛. (8.25)
𝑗=1
I Nếu 𝐺 là đồ thị không có gốc ra, các tác tử hội tụ về các cụm
khác nhau phụ thuộc vào tính liên thông trong 𝐺.
Ngược lại, khi 𝐺 không cân bằng cấu trúc nhưng là liên thông mạnh,
ma trận −L là Hurwitz nên 𝑥 𝑖 (𝑡) → 0, ∀𝑖 = 1 , . . . , 𝑛.
3 −2 0 1 0 0
3 . 7 −1 0 . 5 0 . 2
−2 0
−1 1 . 7 0 0.3 −0.4
0
L =
1 0.5 0 2 . 5 −1 0
0
0 . 2 0 . 3 −1 1 . 5 0
0
0 −0 . 4 0 0 0.4
Mô phỏng thuật toán đồng thuận (8.23) với đồ thị 8.11(a) cho ta kết
quả như ở Hình 8.12(a). Dễ thấy các tác tử đạt được đồng thuận 2
phía với giá trị cuối đối lập nhau.
Tiếp theo, với đồ thị 8.11(b), ta có
3 −2 0 1 0 0
−2 3.7 −1 0 . 5 −0 . 2
0
1.7 0.3 −0.4
0 −1 0
L = .
1 0.5 0 2 . 5 −1 0
0 −0 . 2 0 . 3 −1 1 . 5 0
(a)
0
0 −0 . 4 0 0 0.4
Đồ thị dấu lúc này không thỏa mãn tính cân bằng cấu trúc. Mô
phỏng của hệ với đồ thị lúc này có dạng như trên Hình 8.6.1(b). Có
thể thấy rằng 𝑥 𝑖 (𝑡) → 0 , ∀𝑖 = 1 , . . . , 6 giống như kết quả lý thuyết.
1 % Mo phong mo hinh A l t a f i n i
2 clear all
3 rng ( 1 )
4 x0 = 2 * ( rand ( 6 , 1 ) - 0 . 5 ) ; % Dieu k i e n dau
5 T = 20;
(b)
6 g l o b a l L L1
Hình 8.12: Mô phỏng mô hình Altafini 7 L = [ 3.0 -2.0 0.0 1.0 0.0 0.0;
với các đồ thị trong Ví dụ 8.6.1.
8 -2.0 3.7 -1.0 0.5 0.2 0.0;
9 0.0 -1.0 1.7 0 0.3 -0.4;
10 1.0 0.5 0 2 . 5 -1 0;
11 0.0 0.2 0.3 -1 1 . 5 0;
12 0.0 0.0 -0.4 0 0 0.4];
13
14 L1 = [ 3 . 0 - 2 . 0 0.0 1.0 0.0 0.0;
15 -2.0 3.7 -1.0 0.5 -0.2 0.0;
16 0.0 -1.0 1.7 0 0.3 -0.4;
17 1.0 0.5 0 2 . 5 -1 0;
18 0.0 -0.2 0.3 -1 1 . 5 0;
19 0.0 0.0 -0.4 0 0 0.4];
20
21 [t ,x] = ode45 ( @ a l t a f i n i , [ 0 , T ] , x0 ) ;
22
23 figure (1) ;
8.6 Mô hình Altafini 137
24 h o l d on ;
25
26 plot (t ,x(: ,1) )
27 plot (t ,x(: ,2) )
28 plot (t ,x(: ,3) )
29 plot (t ,x(: ,4) )
30 plot (t ,x(: ,5) )
31 plot (t ,x(: ,6) )
32
33 x l a b e l ’ Thoi gian ’ ;
34 y l a b e l ’ Gia t r i y k i e n ’ ;
35 l e g e n d ( { ’ $x_1$ ’ , ’ $x_2$ ’ , ’ $x_3$ ’ , ’ $x_4$ ’ , ’ $ {x}_5$ ’ , ’ $ {x
}_6$ ’ } , . .
36 ’
Interpreter ’ , ’ latex ’ )
37 box on ;
38
39 [ t1 , x1 ] = ode45 ( @ a l t a f i n i 1 , [ 0 , 2 *T ] , x0 ) ;
40
41 figure (2) ;
42 h o l d on ;
43
44 p l o t ( t1 , x1 ( : ,1) , ’ LineWidth ’ , 1)
45 p l o t ( t1 , x1 ( : ,2) , ’ LineWidth ’ , 1)
46 p l o t ( t1 , x1 ( : ,3) , ’ LineWidth ’ , 1)
47 p l o t ( t1 , x1 ( : ,4) , ’ LineWidth ’ , 1)
48 p l o t ( t1 , x1 ( : ,5) , ’ LineWidth ’ , 1)
49 p l o t ( t1 , x1 ( : ,6) , ’ LineWidth ’ , 1)
50
51 x l a b e l ’ Thoi gian ’ ;
52 y l a b e l ’ Gia t r i y k i e n ’ ;
53 l e g e n d ( { ’ $x_1$ ’ , ’ $x_2$ ’ , ’ $x_3$ ’ , ’ $x_4$ ’ , ’ $ {x}_5$ ’ , ’ $ {x
}_6$ ’ } , . .
54 ’ Interpreter
’ , ’ latex ’ )
55 box on ;
56
57 f u n c t i o n dx = a l t a f i n i ( t , x )
58 global L
59 dx = -L*x ;
60 end
61
62 f u n c t i o n dx = a l t a f i n i 1 ( t , x )
63 g l o b a l L1
64 dx = - L1*x ;
65 end
9 Hệ đồng thuận trọng số ma trận
9.1 Đồ thị với trọng số ma Trong chương này, một mở rộng tự nhiên của thuật toán đồng thuận
trận . . . . . . . . . . . . . 138 thông thường sẽ được giới thiệu. Mô hình đồng thuận thông thường
9.2 Thuật toán đồng thuận mô tả mối liên kết nhị nguyên giữa các tác tử trong hệ (hoặc có tương
trọng số ma trận . . . . 139 tác với nhau 𝑎 𝑖𝑗 > 0 hoặc không có tương tác với nhau 𝑎 𝑖𝑗 = 0). Trong
9.2.1 Điều kiện đồng thuận . 139 thực tế, nếu chỉ xét hệ hợp tác, các tác tử có thể liên kết mạnh, liên
9.2.2 Hiện tượng phân cụm . 141 kết một phần hoặc không có liên kết với nhau. Để mô tả mối tương tác
9.3 Đồng thuận trọng số ma này trong mạng, ta có thể sử dụng các trọng số ma trận A𝑖𝑗 thay thế
trận với hệ có leader . . 144 cho các trọng số vô hướng trong luật đồng thuận thông thường. Các
9.3.1 Trường hợp leader đứng luật đồng thuận này gọi là đồng thuận với trọng số ma trận.
yên . . . . . . . . . . . . . 144
9.3.2 Trường hợp leader Hệ đồng thuận trọng số ma trận [142] được đề xuất dựa trên tổng quát
chuyển động . . . . . . . 146 hóa một sống nghiên cứu độc lập đã có. Việc sử dụng trọng số ma trận
9.4 Đồ thị trọng số ma trận quay ở bài toán cyclic pursuit [106], đồng bộ hóa hệ qui chiếu [126, 67],
hữu hướng . . . . . . . . 147 trọng số ma trận đối xứng xác định dương ở bài toán định vị mạng
9.4.1 Đồ thị có dạng cây với [15], và trọng số ma trận đối xứng bán xác định dương trong đồng
một gốc ra . . . . . . . . 148 thuận các mạng dao động nhiều chiều [146, 145], hay điều khiển đội
9.4.2 Đồ thị trọng số ma trận hình và định vị mạng với ràng buộc vector hướng [167, 169]. Việc sử
cân bằng . . . . . . . . . . 148 dụng trọng số ma trận liên hệ giữa các chủ đề cũng là ý tưởng để xây
9.5 Ghi chú và tài liệu tham dụng một số mô hình động học ý kiến nhiều chiều [3, 155].
khảo . . . . . . . . . . . . . 150
Định nghĩa 9.1.1 𝑇 là một cây xác định dương nếu nó có mọi cạnh
xác định dương. 𝑇 là một cây bao trùm xác định dương của 𝐺 nếu
nó chứa mọi đỉnh của 𝐺 và có tất cả các cạnh xác định dương.
0𝑑×𝑑
A12 A13 ··· A1𝑛
A21 0 𝑑×𝑑 A23 ··· A2𝑛
.. . .. .. .. .
A= . .. . . . (9.1)
A𝑛−1,1 · · · A𝑛−1,𝑛−2 0𝑑×𝑑 A𝑛−1,𝑛
A𝑛 1
A𝑛 2 ··· A𝑛,𝑛−1 0𝑑×𝑑
Tương ứng với mỗi đỉnh 𝑖 ∈ 𝑉, ta định nghĩa bậc của đỉnh 𝑖 bởi D𝑖 =
P𝑛
A . Ma trận bậc của đồ thị được cho bởi D = blkdiag(D1 , . . . , D𝑛 ) =
𝑗=1 𝑖𝑗
blkdiag(L(1𝑛 ⊗ I𝑑 )). Ma trận Laplace với trọng số ma trận được định
nghĩa tương ứng bởi
L= D−A
Dễ thấy ma trận Laplace trọng số ma trận thỏa mãn tính đối xứng,
bán xác định dương, đồng thời
Với đồ thị trọng số ma trận, ta có thể định nghĩa thuật toán đồng
thuận:
𝑛
X
x¤ 𝑖 = − A𝑖𝑗 (x𝑖 − x 𝑗 ), ∀𝑖 = 1 , . . . , 𝑛, (9.4)
𝑖=1
140 9 Hệ đồng thuận trọng số ma trận
và sự hội tụ của mô hình phụ thuộc vào sự hội tụ của ma trận eL𝑡 .
Mặt khác, chú ý rằng trọng tâm hệ định nghĩa bởi x̄(𝑡) = 𝑛1 𝑛𝑖=1 x𝑖 (𝑡) =
P
1 >
𝑛 (1𝑛 ⊗ I𝑑 )x là bất biến theo thời gian
𝑑x̄ 1 1
= (1> x = − (1>
𝑛 ⊗ I𝑑 )¤ ⊗ I𝑑 )Lx = 0𝑑 (9.7)
𝑑𝑡 𝑛 𝑛 𝑛
Định lý 9.2.1 Điều kiện cần và đủ để hệ đạt đồng thuận tại trọng
tâm x̄ với mọi giá trị đầu x(0) là im(1𝑛 ⊗ I𝑑 ) = ker(L).
1
x(𝑡) = P 𝑒 −Λ𝑡 P−1 x(0) → (1𝑛 ⊗ I𝑑 )(1𝑛 ⊗ I𝑑 )> x(0) = 1𝑛 ⊗ x̄, (9.9)
𝑛
Việc kiểm tra điều kiện về hạng không cho ta phương án để xây dựng
hoặc xác định nhanh một đồ thị trọng số ma trận. Một điều kiện đủ
để hệ đạt đồng thuận tại trọng tâm được cho như sau:
Hệ quả 9.2.2 Hệ (9.5) sẽ đạt được đồng thuận tại trọng tâm nếu 𝐺
chứa một cây bao trùm xác định dương.
Chứng minh. Ta có thể sắp xếp các cạnh của đồ thị 𝐺 sao cho các
cạnh 𝑒1 , . . . , 𝑒 𝑛−1 tương ứng là các cạnh của cây bao trùm xác định
dương 𝑇 của 𝐺. Gọi H là ma trận liên thuộc của 𝐺. Với cách phân chia
này, ta có thể viết H dưới dạng
H𝐸(𝑇)
H= . (9.10)
H𝐸(𝐺)\𝐸(𝑇)
9.2 Thuật toán đồng thuận trọng số ma trận 141
Mục này đưa ra một số điều kiện để kiểm tra từ đồ thị trọng số ma
trận tính đồng thuận hoặc phân cụm khi thực hiện thuật toán đồng
thuận trọng số ma trận (9.5).
Bổ đề 9.2.3 Với luật đồng thuận (9.5), x(𝑡) → ker(L) khi 𝑡 → +∞.
Bổ đề 9.2.4 Giả sử 𝑇 ⊂ 𝐺 là một cây xác định dương gồm 𝑙 đỉnh, với
thuật toán đồng thuận (9.5), x𝑖 (𝑡) → x 𝑗 (𝑡), ∀𝑖, 𝑗 ∈ 𝑇, khi 𝑡 → +∞.
H1 0
Chứng minh. Biểu diễn x = [x𝑇> , x𝑉\𝑉(𝑇)
>
]> và H = H2 0 , trong đó
H3 H4
[ H1 0 ] ∈ ℝ (𝑙−1)×𝑛
ứng với các cạnh trong 𝑇, [H2 0] ứng với các cạnh
nối các đỉnh thuộc 𝑉(𝑇) nhưng không chứa cây 𝑇, và [H3 H4 ] tương
ứng với các cạnh còn lại trong 𝐸(𝐺). Chú ý rằng H2 phụ thuộc tuyến
142 9 Hệ đồng thuận trọng số ma trận
tính vào H1 bởi H2 = TH1 . Một điểm cân bằng bất kỳ của (9.5) cần
thỏa mãn H̄x∗ = 0, hay
1/2 1/2
blkdiag(A1 , . . . , A𝑙−1 )H̄1 x𝑇∗ = 0. (9.14)
Vì 𝑇 là một cây xác định dương, H̄1 x𝑇∗ = 0. Từ đây suy ra mỗi điểm
cân bằng x∗ của (9.5) phải thỏa mãn x𝑇∗ ∈ ker(H̄1 ) = im{1𝑙 ⊗ I𝑑 }, hay
mọi biến trạng thái của 𝑙 tác tử nằm trong cây xác định dương 𝑇 phải
bằng nhau. Mặt khác, do x(𝑡) → x∗ ∈ ker(L) nên các tác tử trong 𝑇 sẽ
dần tiến tới đồng thuận.
Kết quả sau đây cung cấp một điều kiện để xác định liệu hai đỉnh
thuộc về cùng một cụm với luật đồng thuận (9.5).
Định lý 9.2.5 Với 𝑇 là một cây xác định dương, cụm lớn nhất chứa
𝑇, kí hiệu bởi C(𝑇) sẽ chứa:
(i) mọi đỉnh trong 𝑇,
(ii) các đỉnh 𝑖 ∉ 𝑇, sao cho tập S𝑖 = {𝑃𝑘 = {𝑣1𝑘 . . . 𝑣 |𝑃
𝑘
|
}| 𝑣1𝑘 =
𝑘
𝑘
𝑖, 𝑣 |𝑃 |
∈ 𝑇, và ∀𝑗 = 1 , . . . , |𝑃𝑘 | − 1 , 𝑣 𝑗𝑘 ∉ 𝑇}, thỏa mãn
𝑘
S|𝑃𝑘 |−1
a Với mỗi đường đi 𝑃𝑘 , định nghĩa ker(𝑃𝑘 ) = 𝑗=1
ker(A𝑣 𝑘 𝑣 𝑘 ),
𝑗 𝑗+1
ta có \
|S𝑖 |
dim 𝑘=1
ker(𝑃𝑘 ) = 0. (9.15)
Chứng minh. Từ Bổ đề 9.2.4, mọi x 𝑗 (𝑗 ∈ 𝑉(𝑇)) hội tụ tới một giá trị
vector chung x𝑇∗ . Xét đỉnh 𝑖 ∉ 𝑉(𝑇) thỏa mãn điều kiện (ii) và x∗𝑖 là giá
trị tại điểm cân bằng của tác tử 𝑖. Khi đó, dựa trên định nghĩa của
ker(𝑃𝑘 ) thì
x∗𝑖 − x𝑇∗ ∈ ker(𝑃𝑘 ), ∀𝑃𝑘 ∈ S𝑖 . (9.16)
Từ phương trình (9.15), nghiệm duy nhất của (9.16) là x∗𝑖 − x𝑇∗ = 0, hay
x∗𝑖 = x𝑇∗ . Vì vậy, các tác tử thuộc cụm C(𝑇) đạt được đồng thuận.
Tương tự, xét hai cây xác định dương 𝑇1 , 𝑇2 liên kết qua tập cạnh
S = {(𝑖, 𝑗) ∈ 𝐸| 𝑖 ∈ 𝑇1 , 𝑗 ∈ 𝑇2 }. Nếu (𝑖,𝑗)∈S A𝑖𝑗 là xác định dương thì 𝑇1
P
và 𝑇2 thuộc về cùng một cụm.
Hai ví dụ dưới đây minh họa cho các kết quả được trình bày ở mục
này.
0 0 1 0 0 0
x
0
-2
1 0 0 1 0 0 -4
Dễ thấy A14 là ma trận xác định dương còn các ma trận khác là bán
xác định dương. Từ đây, ta xác định được một cây xác định dương 𝑇
chứa đỉnh 𝑣1 và 𝑣4 của đồ thị. Hơn nữa, ker(A12 ) = span{[1 , 0 , 0]> },
ker(A13 ) = span{[0, 1, 0]> , [0 , 0 , 1]> }, và ker(A23 ) = span{[0 , 1 , 0]> }.
Tồn tại hai đường đi từ 𝑣2 tới 𝑣 1 (hay cũng là tới cây 𝑇) là 𝑃1 = 𝑣2 𝑣1
và 𝑃2 = 𝑣2 𝑣3 𝑣1 . Từ định nghĩa ta có:
(b) Thay đổi theo trục 𝑦.
ker(𝑃1 ) = ker(A12 ) = span{[1 , 0 , 0]> }
[
ker(𝑃2 ) = ker(A13 ) ker(A23 ) = span{[0 , 1 , 0]> , [0 , 0 , 1]> }
Do đó, ker(𝑃1 ) ker(𝑃2 ) = {0}, tức là hai tác tử thuộc về cùng một
T
cụm C(𝑇) theo Định lý 9.2.5 (ii).
Đối với đỉnh 𝑣3 , tồn tại 2 cạnh (đường đi) từ đỉnh 3 tới C =
{𝑣1 , 𝑣2 , 𝑣4 } là 𝑃3 = 𝑣3 𝑣1 và 𝑃4 = 𝑣3 𝑣 2 . Do ker(𝑃3 ) ker(𝑃4 ) =
T
ker(A23 ) = span{[0, 1, 0]> }, đỉnh 𝑣3 không thuộc C.
(c) Thay đổi theo trục 𝑧.
Mô phỏng luật đồng thuận (9.5) được cho ở Hình 9.3. Kết quả cho
Hình 9.3: Ví dụ 9.2.1: Thay đổi của
thấy x∗1 = x∗2 = x∗4 ≠ x∗3 , giống như đã phân tích ở trên. biến trạng thái của hệ với luật đồng
thuận (9.5).
Ví dụ 9.2.2 Ta minh họa một trường hợp chỉ xuất hiện ở thuật toán
đồng thuận trọng số ma trận. Xét hệ gồm năm tác tử trong ℝ2 với
đồ thị trọng số ma trận 𝐺 cho trên Hình Fig. 9.4. Các trọng số ma
144 9 Hệ đồng thuận trọng số ma trận
Do các trọng số đều là các ma trận bán xác định dương, không tồn
tại cây bao trùm xác định dương nào trong 𝐺. Sử dụng Định lý 9.2.5,
ta có thể tính được ker(A12 ) = ker(A24 ) = span{[1, 0]> }, ker(A13 ) =
ker(A34 ) = ker(A35 ) = span{[0 , 1]> }, và ker(A25 ) = span{[1 , 1]> }.
Tồn tại 4 đường đi từ 𝑣4 tới 𝑣 1 như sau:
I 𝑃1 = 𝑣 4 𝑣 2 𝑣 1 : ker(𝑃1 ) = ker(A24 ) ∪ ker(A12 ) = span{[1 , 0]> }.
I 𝑃2 = 𝑣 4 𝑣 3 𝑣 1 : ker(𝑃2 ) = ker(A34 ) ∪ ker(A13 ) = span{[0 , 1]> }.
I 𝑃3 = 𝑣 4 𝑣 2 𝑣 5 𝑣 3 𝑣 1 : ker(𝑃3 ) = ker(A24 ) ∪ ker(A25 ) ∪ ker(A12 ) ∪
ker(A35 ) = ℝ2 .
I 𝑃4 = 𝑣 4 𝑣 3 𝑣 5 𝑣 3 𝑣 1 : ker(𝑃4 ) = ker(A34 ) ∪ ker(A35 ) ∪ ker(A25 ) ∪
ker(A12 ) = ℝ2 .
Do đó ∩4𝑘=1 𝑃𝑘 = span{[1 , 0]> }∩span{[0, 1]> } = ∅, hay dim(∩4𝑘=1 𝑃𝑘 ) =
0. Từ định lý 9.2.5, ta thấy rằng 𝑣 1 và 𝑣 4 ở cùng một cụm C1 . Kiểm
(a) Thay đổi theo trục 𝑥 tra có thể thấy được 𝑣5 không thuộc cụm này. Từ đây ta kết luận
rằng đồ thị gồm bốn cụm: C1 = {𝑣1 , 𝑣4 }, C2 = {𝑣2 }, C3 = {𝑣3 }, và
C4 = {𝑣5 }.
Trong ví dụ này, mặc dù hai đỉnh 2 và 3 đều là láng giềng của đỉnh
1, chúng không cùng thuộc một cụm với đỉnh 1. Trong khi đó, đỉnh
4 ở cùng một cụm với đỉnh 1 mặc dù chúng không có một liên kết
trực tiếp nào. Kết quả mô phỏng của hệ năm tác tử với thuật toán
đồng thuận (9.5) được cho trong Hình 9.5.
Xét trường hợp trong hệ có một số tác tử đặc biệt không cập nhật
thông tin nhờ luật đồng thuận (9.5) mà giữ nguyên biến trạng thái của
mình. Ta gọi các tác tử này là các leader của hệ, và không mất tính
tổng quát, kí hiệu các tác tử này bởi 𝑖 = 1 , . . . , 𝑙 với 𝑙 ≥ 1. Các tác tử
khác cập nhật biến trạng thái theo (9.5) và gọi là các follower.
(c) Quỹ đạo của các tác tử. Giả sử đồ thị 𝐺 mô tả tương tác giữa các tác tử trong hệ là một đồ thị
Hình 9.5: Ví dụ 9.2.2: Thay đổi của trọng số ma trận thỏa mãn ker(L) = im(1𝑛 ⊗ I𝑑 ). Với sự phân chia đồ
biến trạng thái của hệ với luật đồng thị thành các leader và các follower, ta có thể viết lại ma trận Laplace
thuận (9.5).
9.3 Đồng thuận trọng số ma trận với hệ có leader 145
𝑛 − 𝑑.
(Điều kiện đủ) Giả sử (1 𝑓 ⊗ I𝑑 )> L𝑓 𝑙 (1𝑙 ⊗ I𝑑 ) là đối xứng, xác định dương
thì do L𝑓 𝑓 = L0 + blkdiag(L𝑓 𝑙 (1𝑙 ⊗ I𝑑 )), với một vector w ∈ ℝ 𝑑𝑓 bất
kỳ, ta có
w ∈ ker(L0)
\
ker(blkdiag(L𝑓 𝑙 (1𝑙 ⊗ I𝑑 ))).
0 = w> L𝑓 𝑙 blkdiag(1𝑙 ⊗ I𝑑 )w
= 𝝎> (1 𝑓 ⊗ I𝑑 )> blkdiag(L𝑓 𝑙 (1𝑙 ⊗ I𝑑 ))(1 𝑓 ⊗ I𝑑 )𝝎
= 𝝎> (1 𝑓 ⊗ I𝑑 )> L𝑓 𝑙 (1𝑙 ⊗ I𝑑 )𝝎
𝑙 X
X 𝑛
= 𝝎> A𝑖𝑗 𝝎.
𝑗=1 𝑖=𝑙+1
P𝑙 P𝑛
Do (1 𝑓 ⊗ I𝑑 )> L𝑓 𝑙 (1𝑙 ⊗ I𝑑 ) = 𝑗=1 𝑖=𝑙+1
A𝑖𝑗 là đối xứng và xác định
dương, nghiệm duy nhất thỏa mãn là 𝝎 = 0𝑑 . Điều này tương đương
với việc L𝑓 𝑓 là đối xứng, xác định dương.
(Điều kiện cần) Giả sử (1 𝑓 ⊗ I𝑑 )> L𝑓 𝑙 (1𝑙 ⊗ I𝑑 ) không là đối xứng, xác
định dương. Trong phương trình (9.19), chọn w = 1 𝑓 ⊗ 𝝎 với 𝝎 thỏa
mãn (1 𝑓 ⊗ I𝑑 )> L𝑓 𝑙 (1𝑙 ⊗ I𝑑 )𝝎 = 0𝑑 thì w ≠ 0𝑑 là một vector riêng ứng
với giá trị riêng bằng 0 của L𝑓 𝑓 . Điều này chứng tỏ L𝑓 𝑓 không xác
định dương.
x¤ 𝑖 = 0𝑑 , 𝑖 = 1 , . . . , 𝑙, (9.20)
𝑛
X
x¤ 𝑖 = − A𝑖𝑗 (x𝑖 − x 𝑗 ), 𝑖 = 𝑙 + 1 , . . . , 𝑛. (9.21)
𝑗=1
x∗𝐿 = x𝐿 (0)
L𝑓 𝑙 x∗𝐿 + L𝑓 𝑓 x∗𝐹 = 0𝑑𝑓 (9.23)
Ta chứng minh các tác tử sẽ dần hội tụ tới điểm cân bằng duy nhất
x∗ = vec(x𝐿 (0), −L−𝑓 1𝑓 L𝑓 𝑙 x𝐿 (0)) này. Thật vậy, với phép đổi biến x̃𝐹 =
x𝐹 − x∗𝐹 thì từ phương trình (9.22), ta thu được:
Do ma trận −L𝑓 𝑓 là đối xứng, xác định âm nên ta suy ra x̃𝐹 = 0𝑑𝑓 là
ổn định theo hàm mũ. Như vậy, x𝐹 (𝑡) → x∗𝐹 khi 𝑡 → +∞.
Xét trường hợp đặc biệt, các leader có cùng điều kiện đầu x1 (0) =
. . . = x𝑙 (0) = x∗ . Lúc này, ta viết lại x𝐿 = 1𝑙 ⊗ x1 (0). Mặt khác, do
L𝑓 𝑓 (1 𝑓 ⊗ x𝑙 ) = L0(1 𝑓 ⊗ x𝑙 ) + blkdiag(L𝑓 𝑙 (1𝑙 ⊗ I𝑑 ))(1 𝑓 ⊗ x𝑙 ) = L𝑓 𝑙 (1𝑙 ⊗ x𝑙 )
nên x∗𝐹 = −L−𝑓 1𝑓 L𝑓 𝑙 (1𝑙 ⊗ x𝑙 ) = 1 𝑓 ⊗ x𝑙 . Do đó, trong trường hợp này, các
follower sẽ dần đạt tới đồng thuận với leader.
P𝑙
với 𝑗=1
R𝑖𝑗 = I𝑑 . Nếu như đồ thị là vô hướng với các trọng số hằng,
ma trận −L−𝑓 1𝑓 L𝑓 𝑙 là một ma trận với mọi phần tử không âm. Các tác
tử sẽ hội tụ tới bao lồi của các điểm x1 (0), . . . , x𝑙 (0). Trong trường hợp
trọng số ma trận, hiện chưa có phân tích cụ thể về tính chất của các
ma trận R𝑖𝑗 .
Ta xét trường hợp các leader chuyển động với vận tốc hằng, x¤ 𝑖 = v𝐿 , 𝑖 =
1 , . . . , 𝑙 và v¤ 𝐿 = 0𝑑 . Luật đồng thuận (9.22) lúc này không đưa hệ về
trạng thái đồng thuận. Thay cho (9.22), các follower sử dụng luật đồng
9.4 Đồ thị trọng số ma trận hữu hướng 147
thì
−L𝑓 𝑓 I𝑑 𝑓
r¤ = r = Mr. (9.31)
−L𝑓 𝑓 0𝑑 𝑓 ×𝑑 𝑓
𝑑𝑓
Y
= (𝑠 2 + 𝜇 𝑘 𝑠 + 𝜇 𝑘 ) = 0, (9.32)
𝑘=1
Trong trường hợp vận tốc của leader thay đổi theo thời gian, luật điều
khiển PI không đưa hệ về đồng thuận. Một trong các phương pháp có
thể sử dụng để thiết kế luật đồng thuận dựa trên điều khiển trượt được
trình bày ở [81].
Trường hợp đồ thị trọng số ma trận hữu hướng, ta vẫn định nghĩa như
trong đồ thị hữu hướng thông thường. Ứng với mỗi cạnh (𝑖, 𝑗) ∈ 𝐸, ta
có một trọng số ma trận A 𝑗𝑖 đối xứng, bán xác định dương. Ma trận
Laplace trọng số ma trận được định nghĩa tương ứng bởi:
−A𝑖𝑗 , 𝑗 ≠ 𝑖,
L𝑖𝑗 = P𝑛
A ,
𝑗=1 𝑖𝑗
𝑖 = 𝑗.
Không mất tính tổng quát, ta đánh số đỉnh 1 là gốc ra. Đánh số các
đỉnh 𝑣 𝑖 , 𝑖 = 2, . . . , 𝑛 sao cho 𝑖 > 𝑗 khi và chỉ khi khoảng cách từ 𝑣 𝑖 tới
𝑣1 lớn hơn hoặc bằng khoảng cách từ 𝑣 𝑗 tới 𝑣1 . Ví dụ về một đồ thị
thỏa mãn điều kiện trên được cho như ở Hình 9.6. Ma trận kề của đồ
thị này được cho bởi:
0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑
A21 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑
A31 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑
A41 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑
A =
A51 0𝑑×𝑑 A53 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑
0𝑑×𝑑 A62 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑
0𝑑×𝑑 A72 A73 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑
0𝑑×𝑑 A82 A83 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑 0𝑑×𝑑
Chú ý rằng đỉnh 5 có khoảng cách tới đỉnh 1 bằng 2. Ma trận Laplace
tương ứng có dạng ma trận khối tam giác dưới. Có thể chứng minh
được điều kiện đồng thuận với mọi điều kiện đầu của hệ là mọi ma
trận khối đường chéo của L, tức là L𝑖𝑖 = 𝑛𝑗=1 A𝑖𝑗 đều là các ma trận
P
Tiếp theo, ta xét trường hợp đồ thị 𝐺¯ thỏa mãn tính liên thông mạnh.
Hơn nữa, ta giả sử trọng số của 𝐺 thỏa mãn điều kiện cân bằng tổng
quát hóa được phát biểu như sau [131]:
9.4 Đồ thị trọng số ma trận hữu hướng 149
Giả thuyết 9.4.1 Tồn tại các số thực dương 𝑝1 , . . . , 𝑝 𝑛 sao cho
𝑛
X 𝑛
X
𝑝𝑖 A𝑖𝑗 = 𝑝 𝑗 A 𝑗𝑖 , (9.33)
𝑗=1 𝑗=1
hay tồn tại vector p = [𝑝 1 , . . . , 𝑝 𝑛 ]> với các phần thực dương thỏa
mãn
(p> ⊗ I𝑑 )L = 0𝑑×𝑛𝑑 . (9.34)
Do đó,
Vì A𝑖𝑗 ≥ 0, phương trình (9.38) chứng tỏ rằng Q là bán xác định dương.
Hơn nữa x> Qx = 0 khi và chỉ khi x 𝑗 − x𝑖 ∈ ker(A𝑖𝑗 ), ∀(𝑗, 𝑖) ∈ 𝐸.
Do L(1𝑛 ⊗ I𝑑 ) = 0𝑑𝑛×𝑑 và L> P̄(1𝑛 ⊗ I𝑑 ) = L> (p ⊗ I𝑑 ) = 0𝑑𝑛×𝑑 , ma trận
Q có 𝑑 giá trị riêng bằng 0 tương ứng với im(1𝑛 ⊗ I𝑑 ). Hơn nữa, do Q
là ma trận bán xác định dương, ta có thể biểu diễn Q = C> C và viết
lại phương trình (9.35) như sau:
Hệ quả 9.4.1 Giả sử Giả thuyết (9.4.1) được thỏa mãn và đồ thị 𝐺
150 9 Hệ đồng thuận trọng số ma trận
chứa một cây bao trùm xác định dương 𝑇, không gian không quan
sát được của cặp ma trận (C, −L) được sinh bởi im(1𝑛 ⊗ I𝑑 ).
Chứng minh. Xét phương trình (9.38), x> Qx = 0 khi và chỉ khi x 𝑗 −
x𝑖 ∈ ker(A𝑖𝑗 ), ∀(𝑖, 𝑗) ∈ 𝐸(𝑇). Vì A𝑖𝑗 là các ma trận xác định dương,
x 𝑗 = x𝑖 , ∀𝑖, 𝑗 ∈ 𝑉, hay nói cách khác, x ∈ im(1𝑛 ⊗ I𝑑 ). Chú ý rằng
ker(Q) = ker(C), nên khi 𝐺 chứa một cây bao trùm xác định dương
[8]: Antsaklis andothers (2006), Lin- thì ker(C) = im(1𝑛 ⊗ I𝑑 ). Dựa trên kết quả ở tài liệu [8], phương trình
ear Systems (9.39) chứng tỏ rằng im(1𝑛 ⊗ I𝑑 ) chính là không gian không quan sát
được của cặp ma trận (C, −L).
Chứng minh. Xét hàm Lyapunov 𝑉 = x> P̄x là xác định dương và khả
vi liên tục. The derivative of 𝑉 along a trajectory of (9.5) is
Chú ý rằng điều kiện trong Định lý (9.4.2) chỉ là một điều kiện đủ.
Việc xây dựng những đồ thị trọng số ma trận thỏa mãn tính cân bằng,
ngoại trừ những trường hợp tầm thường là không đơn giản.
Những kết quả trình bày ở chương này được lấy phần lớn từ [143, 142].
Một số phát triển thêm gần đây bao gồm tính điều khiển được và quan
sát được [92], xây dựng đồ thị trọng số ma trận với chất lượng cho
trước [12, 45], đồng thuận trọng số ma trận bậc hai [75, 81], đồng thuận
trọng số ma trận không liên tục [129], có đồ thị thay đổi theo thời gian
[91], hay có trễ [99].
Phụ lục
A Một số kết quả về lý thuyết ma trận
Các kết quả trong phục lục A, B có thể tham khảo tại các tài liệu về
đại số tuyến tính [119] hay lý thuyết điều khiển [5, 83, 8]. Các tài liệu
hướng dẫn sử dụng MATLAB/SIMULINK với định hướng điều khiển
có thể tham khảo tại https://ctms.engin.umich.edu/CTMS/index.php?
aux=Home.
𝑥1
𝑥2
x= . .
..
𝑥 𝑛
Với A và B là hai ma trận có cùng kích thước, ta có thể định nghĩa các
phép toán cộng, trừ ma trận và nhân với một đại lượng vô hướng. Ma
trận
C = 𝑘1 A + 𝑘2 B,
có các phần tử 𝑐 𝑖𝑗 = 𝑘 1 𝑎 𝑖𝑗 + 𝑘 2 𝑏 𝑖𝑗 , còn phép trừ ma trận A − B = A +(−B).
Các phép cộng ma trận thỏa mãn tính kết hợp và giao hoán.
A + (B + C) = (A + B) + C
A+B=B+A
1 0 . . . 0
0 1 . . . . .
.
𝑛×𝑛
I𝑛 = . ∈ℝ .
.. . . . . . . 0
0 . . . 0 1
Với mọi ma trận A kích thước 𝑚 × 𝑛 và B kích thước 𝑛 × 𝑚 thì AI𝑛 = A
và I𝑛 B = B.
Một ma trận với toàn bộ các phần tử bằng 0 gọi là ma trận không. Ma
trận không kích thước 𝑛 × 𝑛 được kí hiệu bởi 0𝑛 .
𝑎21 𝑎 23 ··· 𝑎 2𝑛
𝑎22 ··· 𝑎 2𝑛
.. .. 𝑎31 𝑎 33 ··· 𝑎 3𝑛
|𝐴| =𝑎11 . . − 𝑎12 .. .. ..
. . .
𝑎𝑛2 ··· 𝑎 𝑛𝑛
𝑎𝑛1 𝑎𝑛3 ··· 𝑎 𝑛𝑛
𝑎 21 𝑎22 𝑎24 ··· 𝑎 2𝑛
𝑎 31 𝑎32 𝑎34 ··· 𝑎 3𝑛
+ 𝑎13 .. .. .. .. −···
. . . .
𝑎𝑛1 𝑎𝑛2 𝑎𝑛4 ··· 𝑎 𝑛𝑛
𝑛
(−1)𝑖+𝑗 𝑎 𝑖𝑗 | A𝑖𝑗 |,
X
=
𝑗=1
Ma trận vuông A kích thước 𝑛 × 𝑛 là không suy biến (suy biến) khi và
chỉ khi | A | ≠ 0 (tương ứng | A | = 0). Khi A là không suy biến thì tồn
tại duy nhất ma trận B (kích thước 𝑛 × 𝑛 ) thỏa mãn AB = BA = I𝑛
A
gọi là ma trận nghịch đảo của A, kí hiệu B = A−1 = det(𝑎𝑑𝑗A) , trong đó
A 𝑎𝑑𝑗 = [| A𝑖𝑗 |]> với | A𝑖𝑗 | là định thức của A𝑖𝑗 .
A. Với mỗi giá trị riêng của A, luôn tồn tại ít nhất một vector riêng x
thỏa mãn phương trình
Ax = 𝜆 𝑖 x.
Nếu 𝜆 𝑘 là một nghiệm đơn của đa thức đặc tính thì tồn tại duy nhất
một vector riêng x với | x | = 1. Ngược lại, nếu 𝜆 𝑘 là một nghiệm bội
của đa thức thì có thể tồn tại nhiều hơn một vector riêng được chuẩn
hóa ứng với giá trị riêng này. Với mỗi ma trận A thì
𝑛
Y
|A| = 𝜆𝑖 .
𝑖=1
Ma trận A thỏa mãn phương trình đặc tính của chính nó (định lý
Cayley - Hamilton), tức là nếu
thì
Với A = [𝑎 𝑖𝑗 ] ∈ ℂ𝑛×𝑛 , vị trí của các giá trị riêng của A có thể được
ước lượng dựa trên Định lý Gerschgorin : Với mỗi giá trị riêng 𝑠 𝑘 của
A, luôn tồn tại một chỉ số 𝑖 = 1 , 2 , . . . , 𝑛, sao cho 𝑠 𝑘 nằm trong đường
tròn tâm 𝑎 𝑖𝑖 bán kính 𝑅 𝑖 = 𝑛𝑗=1,𝑗≠𝑖 |𝑎 𝑖𝑗 |. Như vậy, mọi giá trị riêng của
P
A đều nằm trong phần mặt phẳng hợp bởi các đĩa tròn Gerschhorin
𝐶1 ∪ 𝐶2 ∪ . . . 𝐶 𝑛 , trong đó
𝐶 𝑖 = {𝑠 ∈ ℂ | |𝑠 − 𝑎 𝑖𝑖 | ≤ 𝑅 𝑖 }, 𝑖 = 1 , . . . , 𝑛. (A.4)
Không gian ảnh của ma trận A ∈ ℝ 𝑚×𝑛 , kí hiệu bởi im(A) được định
nghĩa bởi im(A) = {Ax ∈ ℝ 𝑚 | x ∈ ℝ 𝑛 }. Hạt nhân của A được định nghĩa
bởi ker(A) = {x ∈ ℝ 𝑛 | Ax = 0𝑚 }. Dễ thấy im(A> ) trực giao với ker(A)
do với mọi y ∈ im(A> ), x ∈ ker(A) thì y = A> x1 và y> x = x>
1 Ax = 0.
Hai ma trận A, B có kích thước 𝑛 × 𝑛 là đồng dạng khi và chỉ khi tồn tại
một ma trận không suy biến P có kích thước 𝑛 × 𝑛 sao cho B = PAP−1 .
Hai ma trận đồng dạng có cùng các giá trị riêng. Ma trận A là chéo
hóa được nếu tồn tại ma trận không suy biến P sao cho
A = PΛP−1
với Λ là một ma trận đường chéo với các phần tử trên đường chéo
chính là các giá trị riêng của A.
Với mỗi ma trận vuông A luôn tồn tại ma trận P sao cho
PAP−1 = J = blkdiag(J 𝑘 ),
A.6 Ma trận hàm mũ 155
𝜆𝑘 1 0 ···
.. ..
𝜆𝑘 . .
0 ∈ ℂ𝑚×𝑚
J 𝑘 = .. .. ..
. . .
1
0 ··· 0 𝜆 𝑘
Các vector riêng và vector riêng suy rộng tương ứng với giá trị riêng
𝜆 𝑘 được tìm từ việc giải lần lượt các phương trình:
(A − 𝜆 𝑘 I)v1 = 0 , (A.5)
(A − 𝜆 𝑘 I)v2 = v1 , (A.6)
..
.
(A − 𝜆 𝑘 I)v𝑚 = v𝑚−1 . (A.7)
1 2 1 3
𝑒A = I + A + A + A +...,
2! 3!
𝑒 A 𝑒 B = 𝑒 B 𝑒 A = 𝑒 A+B . (A.8)
𝑑 A𝑡
𝑒 = A 𝑒 A𝑡 = 𝑒 A𝑡 A
𝑑𝑡
𝑒 A𝑡1 𝑒 A𝑡2 = 𝑒 A(𝑡1 +𝑡2 ) (A.9)
𝑒 A 𝑡 𝑒 −A 𝑡 = 𝑒 0 𝑡 = I .
156 A Một số kết quả về lý thuyết ma trận
A ⊗ ( B + C) = A ⊗ B + A ⊗ C
(B + C) ⊗ A = B ⊗ A + C ⊗ A
(A ⊗ B) ⊗ C = A ⊗ (B ⊗ C)
𝑘(A ⊗ B) = 𝑘 A ⊗ B (A.11)
(A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD)
(A ⊗ B)> = A> ⊗ B>
rank(A ⊗ B) = rank(A)rank(B)
Giả sử các ma trận vuông A ∈ ℂ𝑚×𝑚 có các cặp giá trị riêng - vector
riêng tương ứng là (𝜆 𝑖 , u𝑖 ), 𝑖 = 1 , . . . , 𝑛, và B ∈ ℂ𝑛×𝑛 có các cặp giá trị
riêng - vector riêng tương ứng là (𝜇 𝑗 , v 𝑗 ), 𝑗 = 1 , . . . , 𝑛 thì A ⊗ B có các
cặp giá trị riêng - vector riêng là (𝜆 𝑖 𝜇 𝑗 , u𝑖 ⊗ v 𝑗 ), 𝑖 = 1 , . . . , 𝑛 ; 𝑗 = 1 , . . . , 𝑚.
Ta cũng có các tính chất:
Ma trận A ∈ ℝ 𝑛×𝑛 đối xứng được gọi là xác định dương khi và chỉ khi
với mỗi vector x ∈ ℝ 𝑛 sao cho x ≠ 0𝑛 thì dạng toàn phương
𝑛
X
x> Ax = 𝑎 𝑖𝑗 𝑥 𝑖 𝑥 𝑗 > 0 (A.15)
𝑖,𝑗=1
Ma trận A ∈ ℝ 𝑛×𝑛 đối xứng được gọi là bán xác định dương khi và chỉ
khi với mỗi vector x ∈ ℝ 𝑛 sao cho x ≠ 0𝑛 thì x> Ax là không âm.
A.9 Chuẩn của vector và ma trận 157
Tương ứng với các chuẩn vector ở trên, ta có các chuẩn ma trận tương
ứng là 𝜆max (A> A)1/2 , max𝑖 ( 𝑛𝑗=1 |𝑎 𝑖𝑗 |) và max 𝑗 ( 𝑛𝑖=1 |𝑎 𝑖𝑗 |). Đồng thời,
P P
k Ax k ≤ k A k k x k, k A + B k ≤ k A k + B , và k AB k ≤ k A k k B k.
Xét hệ liên tục, tuyến tính, bất biến và nhân quả cho bởi phương
trình:
rank( C) = 𝑛.
Nếu hệ điều khiển được hoàn toàn, ta luôn tìm được ma trận K để ma
trận (A − BK) có 𝑑 giá trị riêng chọn trước bất kỳ.
B.2 Lý thuyết ổn định Lyapunov 159
rank(O) = 𝑛.
Nếu hệ quan sát được hoàn toàn, ta luôn tìm được ma trận L để ma
trận (A − LC) có 𝑑 giá trị riêng chọn trước bất kỳ.
Trong mục này, ta điểm lại một số kết quả cơ bản của phương pháp
Lyapunov trong phân tích ổn định các hệ thống tự trị (autonomous
systems). Chứng minh và các ví dụ minh họa của các kết quả này, độc
giả quan tâm có thể xem tại các sách tham khảo kinh điển về lý thuyết
điều khiển phi tuyến như [60, 117].
x¤ = f(x), (B.5)
I Ổn định nếu, với mỗi 𝜖 > 0, tồn tại 𝛿 = 𝛿(𝜖) > 0 sao cho
Ngược lại, nếu điều kiện trên không thỏa mãn, x = 0𝑑 là một
điểm cân bằng không ổn định.
I Ổn định tiệm cận nếu nó là ổn định, đồng thời 𝛿 có thể được
chọn sao cho
k x(0)k < 𝛿 ⇒ lim x(𝑡) = 0𝑑 .
𝑡→∞
Định lý B.2.1 (Phương pháp trực tiếp của Lyapunov) Giả sử tồn tại
phiếm hàm 𝑉 : 𝐷 → ℝ khả vi liên tục thỏa mãn:
I 𝑉(x) là xác định dương đối với x: 𝑉(0) = 0 và 𝑉(x) > 0 , ∀x ∈
𝐷 \ {0},
¤ x) là bán xác định âm đối với x: 𝑉(
I 𝑉( ¤ x) ≤ 0 , ∀x ∈ 𝐷.
Trong định lý Lyapunov, việc tìm hàm 𝑉 thỏa mãn 𝑉¤ xác định âm
thường gặp nhiều khó khăn. Định lý bất biến LaSalle cung cấp một
công cụ để chứng minh tính ổn định tiệm cận khi 𝑉¤ là bán xác định
âm.
Một tập là bất biến đối với (B.5) nếu
x(0) ∈ 𝑀 ⇒ x(𝑡) ∈ 𝑀, ∀𝑡 ≥ 0.
Định nghĩa khoảng cách từ x(𝑡) tới tập bất biến 𝑀 là khoảng cách nhỏ
nhất từ x(𝑡) tới một điểm bất kỳ trong 𝑀:
Khi đó, x(𝑡) là tiến tới tập 𝑀 khi 𝑡 tiến tới vô cùng nếu với mỗi 𝜖 > 0
cho trước, tồn tại 𝑇 > 0 sao cho
Trong định lý B.2.3, nếu 𝐷 = ℝ 𝑑 và hàm 𝑉 thỏa mãn thêm điều kiện
k x k → ∞ ⇒ 𝑉(x) → ∞, đồng thời không có nghiệm nào là dừng trong
𝐸 = {x ∈ ℝ 𝑑 | 𝑉¤ = 0}, ngoại trừ nghiệm tầm thường x(𝑡) ≡ 0𝑑 , thì gốc
tọa độ là ổn định tiệm cận.
B.3 Bổ đề Barbalat
Bổ đề Barbalat là một công cụ cho phân tích tính hội tụ của một hệ
động học, thường được sử dụng trong trường hợp hệ là phụ thuộc thời
gian.
B.3 Bổ đề Barbalat 161
Một hàm f : ℝ 𝑑 → ℝ 𝑛 là liên tục đều nếu với mỗi 𝜖 > 0, tồn tại 𝛿 > 0
sao cho:
1 f u n c t i o n y = PlotFormation ( n , d , t , p , H, o )
2 % n : number o f a g e n t s
3 % d : dimension o f the space
4 % t : s i m u l a t i o n time i n t e r v a l
5 % p: position
6 % H: i n c i d e n c e matrix
7 % o : option
8 set (0 , ’ defaultTextInterpreter ’ , ’ latex ’ ) ;
9 s t r 1 = ’#87CEFA’ ;
10 s t r 2 = ’#FFB6C1 ’ ;
11 s t r 3 = ’#C0C0C0 ’ ;
12 c o l o r 1 = s s c a n f ( s t r 1 ( 2 : end ) , ’%2 x%2x%2x ’ , [ 1 3 ] ) / 2 5 5 ;
13 c o l o r 2 = s s c a n f ( s t r 2 ( 2 : end ) , ’%2 x%2x%2x ’ , [ 1 3 ] ) / 2 5 5 ;
14 c o l o r 3 = s s c a n f ( s t r 3 ( 2 : end ) , ’%2 x%2x%2x ’ , [ 1 3 ] ) / 2 5 5 ;
15
16 i f ( ( d*n==s i z e ( p , 1 ) ) && ( n == l e n g t h (H( 1 , : ) ) ) )
17 i f o==1
18 figure (1)
19 h o l d on
20 m = l e n g t h (H( : , 1 ) ) ;
21 r = 1:n ;
22 t_end = l e n g t h ( t ) ;
23 i f d==2
24 p l o t ( p ( 1 , : ) , p ( 2 , : ) , ’ Color ’ , c o l o r 3 , ’ LineWidth
’ , 1) ;
25 p l o t ( p ( 1 , 1 ) , p ( 2 , 1 ) , ’ o ’ , ’ MarkerSize ’ , 1 2 , ’
MarkerEdgeColor ’ , ’ b ’ , ’ MarkerFaceColor ’ , ’w’ ) ;
26 p l o t ( p ( 1 , t_end ) , p ( 2 , t_end ) , ’ o ’ , ’ MarkerSize ’ ,
1 2 , ’ MarkerEdgeColor ’ , ’ r ’ , ’ MarkerFaceColor ’ , ’w’ )
;
27 f o r k=1:m
28 i n d e x 1 = r (H( k , : ) <0) ; i n d e x 2 = r (H( k , : ) >0) ;
29 l i n e ( [ p( index1 *2 -1 ,1) , p( index2 *2 -1 ,1) ] , [ p(
i n d e x 1 * 2 , 1 ) , p ( i n d e x 2 * 2 , 1 ) ] , ’ Color ’ , c o l o r 1 , ’
LineWidth ’ , 1 , ’ L i n e S t y l e ’ , ’ - - ’ ) ;
30 l i n e ( [ p ( i n d e x 1 * 2 - 1 , t_end ) , p ( i n d e x 2 * 2 - 1 , t_end ) ] ,
[ p ( i n d e x 1 * 2 , t_end ) , p ( i n d e x 2 * 2 , t_end ) ] , ’ Color ’ ,
c o l o r 2 , ’ LineWidth ’ , 1 , ’ L i n e S t y l e ’ , ’ - - ’ ) ;
31 end
32 f o r i =1:n
33 p l o t ( p ( 2 * i - 1 , 1 ) , p ( 2 * i , 1 ) , ’ o ’ , ’ MarkerSize ’ ,
1 2 , ’ MarkerEdgeColor ’ , ’ b ’ , ’ MarkerFaceColor ’ , ’w’ )
;
34 p l o t ( p ( 2 * i - 1 , t_end ) , p ( 2 * i , t_end ) , ’ o ’ , ’
MarkerSize ’ , 1 2 , ’ MarkerEdgeColor ’ , ’ r ’ , ’
MarkerFaceColor ’ , ’w’ ) ;
35 p l o t ( p ( 2 * i - 1 , : ) , p ( 2 * i , : ) , ’ Color ’ , c o l o r 3 , ’
LineWidth ’ , 1 ) ;
36 t e x t ( p ( 2 * i - 1 , 1 ) , p ( 2 * i , 1 ) , s p r i n t f ( ’%d ’ , i ) , ’
C.1 Hàm biểu diễn các đội hình 2D và 3D 163
F o n t S i z e ’ , 8 , ’ Color ’ , ’ k ’ , ’ H o r i z o n t a l A l i g n m e n t ’ , ’
center ’ ) ;
37 t e x t ( p ( 2 * i - 1 , t_end ) , p ( 2 * i , t_end ) , s p r i n t f ( ’%d ’ ,
i ) , ’ F on t S iz e ’ , 8 , ’ Color ’ , ’ k ’ , ’
HorizontalAlignment ’ , ’ center ’ ) ;
38 end
39 xlabel x
40 ylabel y
41 else
42 i f d==3
43 p l o t 3 ( p ( 1 , 1 : t_end ) , p ( 2 , 1 : t_end ) , p ( 3 , 1 : t_end ) ,
’ Color ’ , c o l o r 3 , ’ LineWidth ’ , 1 ) ;
44 p l o t 3 ( p ( 1 , 1 ) , p ( 2 , 1 ) , p ( 3 , 1 ) , ’ o ’ , ’ MarkerSize ’ ,
1 2 , ’ MarkerEdgeColor ’ , ’ b ’ , ’ MarkerFaceColor ’ , ’w
’) ;
45 p l o t 3 ( p ( 1 , t_end ) , p ( 2 , t_end ) , p ( 3 , t_end ) , ’ o ’ , ’
MarkerSize ’ , 1 2 , ’ MarkerEdgeColor ’ , ’ r ’ , ’
MarkerFaceColor ’ , ’w’ ) ;
46 f o r k=1:m
47 i n d e x 1 = r (H( k , : ) <0) ; i n d e x 2 = r (H( k , : ) >0) ;
48 l i n e ( [ p( index1 *3 -2 ,1) , p( index2 *3 -2 ,1) ] , [ p(
index1 *3 -1 ,1) , p( index2 *3 -1 ,1) ] , [ p( index1 *3 ,1) ,p(
i n d e x 2 * 3 , 1 ) ] , ’ Color ’ , c o l o r 1 , ’ LineWidth ’ , 1 , ’
LineStyle ’ , ’ - - ’ ) ;
49 l i n e ( [ p ( i n d e x 1 * 3 - 2 , t_end ) , p ( i n d e x 2 * 3 - 2 , t_end ) ] ,
[ p ( i n d e x 1 * 3 - 1 , t_end ) , p ( i n d e x 2 * 3 - 1 , t_end ) ] , [ p (
i n d e x 1 * 3 , t_end ) , p ( i n d e x 2 * 3 , t_end ) ] , ’ Color ’ ,
c o l o r 2 , ’ LineWidth ’ , 1 , ’ L i n e S t y l e ’ , ’ - ’ ) ;
50 end
51 f o r i =1:n
52 plot3 (p(3* i - 2 , 1 ) , p(3* i - 1 , 1 ) , p(3* i , 1 ) , ’ o ’ , ’
MarkerSize ’ , 1 2 , ’ MarkerEdgeColor ’ , ’ b ’ , ’
MarkerFaceColor ’ , ’w’ ) ;
53 p l o t 3 ( p ( 3 * i - 2 , t_end ) , p ( 3 * i - 1 , t_end ) , p ( 3 * i ,
t_end ) , ’ o ’ , ’ MarkerSize ’ , 1 2 , ’ MarkerEdgeColor ’ , ’
r ’ , ’ MarkerFaceColor ’ , ’w’ ) ;
54 p l o t 3 ( p ( 3 * i - 2 , 1 : t_end ) , p ( 3 * i - 1 , 1 : t_end ) , p ( 3 * i
, 1 : t_end ) , ’ Color ’ , c o l o r 3 , ’ LineWidth ’ , 1 ) ;
55 text (p(3* i - 2 , 1 ) , p(3* i - 1 , 1 ) , p(3* i , 1 ) , s p r i n t f
( ’%d ’ , i ) , ’ F on t S iz e ’ , 8 , ’ Color ’ , ’ k ’ , ’
HorizontalAlignment ’ , ’ center ’ ) ;
56 t e x t ( p ( 3 * i - 2 , t_end ) , p ( 3 * i - 1 , t_end ) , p ( 3 * i , t_end
) , s p r i n t f ( ’%d ’ , i ) , ’ Fo n t Si z e ’ , 8 , ’ Color ’ , ’ k ’ , ’
HorizontalAlignment ’ , ’ center ’ ) ;
57 end
58 view ( 3 )
59 xlabel x
60 ylabel y
61 zlabel z
62 end
63 end
64 axis equal
65 box on
66 l e g e n d ( { ’ Quy dao ’ , ’ Vi t r i bat dau ’ , ’ Vi t r i k e t thuc
’ } , ’ NumColumns ’ , 1 ) ;
67 else
68 y = 1;
69 end
164 C Mô phỏng MATLAB
70 y = 1;
71 else
72 % Print error
73 f p r i n t f ( ’ There a r e e r r o r s i n i n p u t data , p l e a s e
check a g a i n ! \n ’ )
74 y = 0;
75 end
76 end
C.2 Biểu diễn sự thay đổi của đội hình theo thời
gian
1 %% Mo phong d i e u k h i e n d o i hinh t h e o s a i l e c h v i t r i
2 %%
3 g l o b a l p_d L
4
5 % Khoi t a o v i t r i ban dau
6 n = 9;
7 p0 = 2 0 * ( rand ( 2 * n , 1 ) - 0 . 5 ) ;
8
9 % Ma t r a n L a p l a c e
10 L = n* eye ( n ) - o n e s ( n , n ) ;
11
12 % Doi hinh dat
13 P_d = [ 0 0 ; 1 1 ; 1 - 1 ; 3 0 ; 0 3 ; 0 - 3 ; -1 1 ; -1 - 1 ; - 3
0] ’;
14
15 p_d = P_d ( : ) ;
16 [ t , p ] = ode45 ( @control_law , [ 0 : 0 . 0 1 : 1 ] , p0 ) ;
17 p = p’;
18 t_end = l e n g t h ( t ) ;
19
20 figure (1)
21 h o l d on
22 s t r = ’#DEDAE0’ ;
23 c o l o r = s s c a n f ( s t r ( 2 : end ) , ’%2 x%2x%2x ’ , [ 1 3 ] ) / 2 5 5 ;
24 f o r i =1:n
25 p l o t 3 ( t ( 1 , 1 ) , p ( 2 * i - 1 , 1 ) , p ( 2 * i , 1 ) , ’ Color ’ , ’ r ’ , "
Marker " , " x " ) ;
26 p l o t 3 ( t , p ( 2 * i - 1 , 1 : t_end ) , p ( 2 * i , 1 : t_end ) , ’ Color ’ ,
c o l o r , ’ LineWidth ’ , 1 , " L i n e S t y l e " , " - " ) ;
27 p l o t 3 ( t ( t_end , 1 ) , p ( 2 * i - 1 , t_end ) , p ( 2 * i , t_end ) , ’ ob ’ )
;
28 end
29
30 H = [ -1 1 0 0 0 0 0 0 0;
31 -1 0 1 0 0 0 0 0 0;
32 -1 0 0 0 0 0 0 1 0;
33 -1 0 0 0 0 0 1 0 0;
34 0 -1 0 1 0 0 0 0 0;
35 0 -1 0 0 1 0 0 0 0;
36 0 0 -1 1 0 0 0 0 0;
37 0 0 -1 0 0 1 0 0 0;
38 0 0 0 -1 1 0 0 0 0;
39 0 0 0 -1 0 1 0 0 0;
40 0 0 0 0 -1 0 1 0 0;
C.2 Biểu diễn sự thay đổi của đội hình theo thời gian 165
41 0 0 0 0 -1 0 0 0 1;
42 0 0 0 0 0 -1 0 1 0;
43 0 0 0 0 0 -1 0 0 1;
44 0 0 0 0 0 0 -1 0 1;
45 0 0 0 0 0 0 0 -1 1];
46
47 f o r i =1: l e n g t h (H)
48 Px = [ ] ; Py = [ ] ; Px1 = [ ] ; Py1 = [ ] ;
49 f o r j =1:9
50 i f H( i , j )~=0
51 Px = [ Px , p ( 2 * j - 1 , t_end ) ] ;
52 Py = [ Py , p ( 2 * j , t_end ) ] ;
53 Px1 = [ Px1 , p ( 2 * j - 1 , 1 ) ] ;
54 Py1 = [ Py1 , p ( 2 * j , 1 ) ] ;
55 end
56 end
57 l i n e ( [ t ( t_end , 1 ) , t ( t_end , 1 ) ] , Px , Py , ’ Color ’ , ’ b ’ ) ;
58 l i n e ( [ t ( 1 , 1 ) , t ( 1 , 1 ) ] , Px1 , Py1 , ’ Color ’ , ’ k ’ ) ;
59 end
60
61 box on
62 xlabel t ; ylabel x ; zlabel y
63 l e g e n d ( { ’ Vi t r i dau ’ , ’ Qui dao ’ , ’ Vi t r i c u o i ’ } ) ;
64 view ( 3 )
65
66 %%
67 f u n c t i o n dpdt = c o n t r o l _ l a w ( t , x i )
68 g l o b a l L p_d
69 dpdt = - kron (L , eye ( 2 ) ) * ( x i - p_d) ;
70 end
Tài liệu tham khảo
Danh mục các tài liệu tham khảo theo thứ tự trích dẫn.