Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 20

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

ĐỒ ÁN 1

ĐỒNG THUẬN TỈ LỆ

LÊ ANH NGỌC TRẦN BẢO LONG


ngoc.la174100@sis.hust.edu.vn Long.tb171502@sis.hust.edu.vn

Ngành TT Điều khiển & Tự động hóa


Chuyên ngành Điều khiển tự động

Giảng viên hướng dẫn: TS. Trịnh Hoàng Minh


Chữ ký của GVHD
Bộ môn: Điều khiển tự động
Viện: Điện

HÀ NỘI, 6/2020
BỘ GIÁO DỤC & ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐH BÁCH KHOA HÀ NỘI Độc lập – Tự do - Hạnh phúc

NHIỆM VỤ
ĐỒ ÁN 1

Họ và tên sinh viên: Lê Anh Ngọc & Trần Bảo Long


Khóa K62 Viện: Điện Ngành: CTTTĐK&TĐH
1. Tên đề tài:
Tìm hiểu về Đồng Thuận Tỉ Lệ
2. Nội dung đề tài:
Tìm hiểu về khái niệm cũng như phương pháp đồng thuận tỉ lệ. Biết
cách thực hiện và mô phỏng trên Matlab.
3. Cán bộ hướng dẫn:
Họ tên cán bộ
Trịnh Hoàng Minh

4. Thời gian giao đề tài: 02/3/2020


5. Thời gian hoàn thành: 12/6/2020
Ngày 12 tháng 6 năm 2020

LÃNH ĐẠO BỘ MÔN CÁN BỘ HƯỚNG DẪN

SINH VIÊN THỰC HIỆN


(Ký và ghi rõ họ tên)
Lời cảm ơn
Sau quá trình học tập, tìm tòi và nghiên cứu nghiệm túc tại Khoa Điện trường
ĐHBKHN cùng với sự hướng dẫn và chỉ bảo tận tình của Thầy giáo TS. Trịnh
Hoàng Minh, chúng tôi đã hoàn thành Đồ án 1. Chúng tôi xin chân thành gửi lời
cảm ơn sâu sắc đến Thầy Trịnh Hoàng Minh, người thầy đã giúp đỡ và chỉ dạy
chúng tôi rất nhiều về kiến thức, phương pháp và kĩ năng trong sự tìm hiểu
khám phá về lĩnh vực mới để rồi cuối cùng hòan thành được Đồ án 1 ngày hôm
nay. Một lần nữa xin được gửi lời cảm ơn đến Thầy, chúc Thầy luôn khoẻ mạnh
và có được những tháng năm công tác tốt như thầy mong đợi.

Tóm tắt nội dung đồ án


Tìm hiểu và báo cáo phân tích về đồng thuận tỉ lệ thông qua một bài báo "Scaled
consensus" dựa trên những gì đã học và nghiên cứu “Lý thuyết đồ thị” và “Thuật
toán đồng thuận”. Biết cách sử dụng và mô phỏng quá trình hệ đồng thuận tỉ lệ
trên Matlab.
MỤC LỤC

CHƯƠNG 1. GIỚI THIỆU 1


1.1 Giới thiệu chung 1
CHƯƠNG 2. XÂY DỰNG VẤN ĐỀ 2
2.1 Xây dựng vấn đề 2
CHƯƠNG 3. QUÁ TRÌNH ĐỔNG THUẬN TỈ LỆ TUYẾN TÍNH 3
3.1 Quá trình đồng thuận tỉ lệ 3
3.2 Ví dụ 3
3.3 Mô phỏng với MATLAB 4
3.4 Bổ đề 1 6
3.5 Nhận xét 6
Sinh viên thực hiện
CHƯƠNG 4. SỰ TƯƠNG ĐƯƠNG VỚI M-MATRIX Ký và ghi rõ họ tên 7
4.1 Sự tương đương với M-matrix 7
4.2 Bổ đề 2 7
CHƯƠNG 5. ĐẶC TÍNH THÊM 9
5.1 Đặc tính thêm 9
5.2 Bổ đề 3 9
CHƯƠNG 6. ĐỒNG THUẬN TỈ LỆ BÁM THEO MỘT TÍN HIỆU BIẾT TRƯỚC 10
6.1 Đồng thuận tỉ lệ bám theo một tín hiệu biết trước 10
6.2 Bổ đề 4 10
6.3 Mô phỏng với MATLAB 10

TÀI LIỆU THAM KHẢO 14


DANH MỤC HÌNH VẼ

Hình 3.1 Đồ thị Γ 4


Hình 3.2 Kết quả mô phỏng 5
Hình 6.1 Kết quả mô phỏng 11
Hình 6.2 Kết quả mô phỏng 13
CHƯƠNG 1. GIỚI THIỆU CHUNG

1.1 Giới thiệu chung


Về tổng quan nghiên cứu: đã có nhiều nghiên cứu được phát triển về các quá
trình đồng thuận hay đồng thuận tỉ lệ của một hệ các tác tử, trong đó các thành
phần của hệ có trạng thái đạt tới một giá trị chung, phụ thuộc vào điều kiện ban
đầu. Nhưng trong nhiều hệ trên thực tế thì trạng thái của các thành phần tiến
tới một trạng thái cân bằng phụ thuộc vào điều kiện ban đầu, nhưng không đạt
tới một giá trị chung: Ví dụ như trong các hệ tác dụng khối lượng từng của từng
thành phần, hay hệ thống phân phối nước. Tương tự, nhiều thuật toán trong hệ
các tác tử lặp tìm cách gán các giá trị khác nhau giữa các thành phần, như các
thuật toán phân chia tác vụ và xếp hạng trang web.
Ở đây, chúng ta có hệ với trạng thái cân bằng ban đầu của các tác tử được cho
trước. Đầu tiên ta định nghĩa khái niệm đồng thuận tỉ lệ là trong đó các trạng
thái vô hướng của các thành phần tác tử trong hệ đạt được các giá trị ta mong
muốn, chứ không nhất thiết phải là một giá trị chung duy nhất. Từ đó, quá trình
đồng thuận tỉ lệ tuyến tính được định nghĩa là đạt được đồng thuận tỉ lệ với bất
kỳ cấu trúc liên kết tương tác nào ta mong muốn. Một ma trận có dạng M-
matrix (ta sẽ tìm hiểu ở Chương sau) tương ứng được đặt ra, nó thể hiện được
độ rộng của hệ tác tử đã định nghĩa và giúp phân tích được trên miền thời gian
và phổ. Quá trình phân tích hệ các tác tử tiến đến tiệm cận mong muốn cho
phép ta theo dõi được độ ổn định của hệ đã mô tả.

1
CHƯƠNG 2. ĐẶT VẤN ĐỀ

2.1 Xây dựng vấn đề


Xét một hệ gồm n tác tử (1 , 2, 3 , … n), trong đó mỗi tác tử có một biến trạng thái
vô hướng x i ( t ) ∈ Rn với i=1 , 2, 3 , … , n . Định nghĩa vector các biến trạng thái bởi
T
x ( t ) =[ x 1 (t), … , x n (t) ] ∈ Rn . Từ đó phương trình vi phân (khâu tích phân bậc nhất)
đối với vector các biến trạng thái là ẋ=f ( x ) với f ( x ) là hàm số bậc nhất có vector
các biến là x 1 , … , x n. Mỗi liên hệ giữa các tác tử trong hệ đã cho được mô tả bởi
một đồ thị có hướng Γ =( V , E ) với tập đỉnh V ={1 , … ,n }, tập cạnh có hướng
E={e k =( j, i ) }. Ta định nghĩa cho tập láng giềng của mọi đỉnh i∈ V là U
( ⅈ )={ j∈ V ∨( j , i)∈ E }. Do đó trong phương trình của vector các biến trạng thái,
ẋ i chỉ phụ thuộc vào x i ( t ) và x j ( t ) ( j ∈ U( ⅈ ) ). Hệ đa tác tử gọi là đạt được đồng
thuận tỉ lệ khi tỉ lệ giữa vector các biến trạng thái tiến đến tiệm cận một hằng số
xác định mong muốn. Cụ thể, hệ đạt được đồng thuận tỉ lệ với vector các hệ số
tỉ lệ ( α 1 ,… , α n ), với α 1 , … , α n ≠ 0, nếu:
lim ( α 1 x 1 ( t )−α j x j ( t ) ) =0 (1)
t→∞

(với j=2 , …n cho mọi điều kiện ban đầu của x ( 0 ). Hệ các tác tử đạt được đồng
thuận tỉ lệ nếu như biểu thức (2) xảy ra khi t → ∞ .

2
CHƯƠNG 3. QUÁ TRÌNH ĐỒNG THUẬN TỈ LỆ

3.1 Quá trình đồng thuận tỉ lệ


Để hiểu rõ hơn ta sẽ xét một bài toán cụ thể, với hệ n tác tử ta có vector các
biến trạng thái ban đầu đã cho trước x ( t ) và hệ đạt được đồng thuận theo tỉ lệ
α 1 , … , α n tương ứng với x 1 , … , x n được mô tả trong đồ thị có hướng Γ đã biết.
Thuật toán đồng thuận tỉ lệ được biểu diễn như sau:

ẋ i=sgn(α i) ∑ k ij (α j x j ( t )−α i xi ( t ) ) (2)
j ∈u (i )

với i=1 , … , n, và k ij >0 , và hàm sgn được định nghĩa bởi sgn(⋅)=1cho số dương
và sgn(⋅)=−1 cho số âm. Ta có thể viết lại phương trình (2) dưới dạng vector
như sau:
(3)
[
ẋ= diag sgn ( α ) K diag ( α ) x
( i )] [ i ]

trong đó [ K ]ij =k ij khi i=1 , … , n, j ∈U (i); [ K ]ii =− ∑ k ij khi i=1 , … , n; và [ K ]ij =0


j ∈U ( i )

với các trường hợp khác. Ta sử dụng ký hiệu A cho ma trận vector các biến
trạng thái của quá trình đồng thuận tỉ lệ. Để phân tích (3), ta có một số giả
thuyết về đồ thị Γ đã cho trước và thuật ngữ ma trận. Đồ thị Γ được gọi là liên
thông mạnh, nếu nó có đường đi trực tiếp từ đỉnh i đến đỉnh j , với cặp i , j bất
kì. Ta nói rằng ma trận C ứng với c nếu [ C ]ij ≠ 0 với ( j, i)∈ E và [ C ]ij =0 với ( j, i) ∉ E .
Một ma trận B ứng với một đồ thị liên thông mạnh gọi là tối giản. [*]
3.2 Ví dụ
Ta xét hệ gồm năm tác tử ở trạng thái ban đầu với dạng đồ thị Γ có hướng như
trên hình 3.1. Hệ các tác tử đạt được đồng thuận tỉ lệ khi các biến trạng thái ban
đầu x 1 , x 2 , x 3 , x 4 , x 5 tiến đến các vị trí mới ta x '1 , x '2 , x '3 , x '4 , x '5 theo tỉ lệ mong muốn
là ( α 1 : α 2 : α 3 :α 4 : α 5 ) =(−1 :−2:1 :2 :3). Từ phương trình (2) ta được :
ẋ 2=−0,5 ( −x 1−(−2 x 2) ) ẋ 4=0,3 (−x 1−2 x 4 ) + 0,5 ( −2 x 2−2 x 4 ) +0,2(3 x 5−2 x 4 )
{ ẋ 1=−0,8 ( x 3−(−x 1 ) )
ẋ3 =1 ( 2 x 4 −x3 ) ẋ 5=0,2 ( x 3−3 x 5 )

[*] Ma trận A=aij là một ma trận không âm n × n được gọi là tối giản nếu

3
với mỗi cặp i , j tồn tại số tự nhiên m sao cho ( A)mij dương.
Từ đó ta tính được phương trình vi phân đối với vector các biến trạng thái là :

Hình STYLEREF
1 \s 3. SEQ
Hình \*
ARABIC \s 1 1 Đồ
thị
ẋ 1=−0,8 x 3−0,8 x 1 ẋ 3=2 x 4 −x3
{ ẋ =0,2 x 3−0,6 x 5
ẋ 2=0,5 x 1−x 2 ẋ 4 =−0,3 x 1−x 2+ 0,6 x5 −2 x 4 5

Hoặc ta có thể tính theo một cách khác từ phương trình (3) như sau:
[ ]
ẋ= diag ( sgn ( α i ) ) K [ diag ( α i ) ] x
Trong đó từ đồ thị Γ ta tính được K :
K= [−0,8 0,5 00,3 0 0−0,5 0 0,5 0 0,8 0−1 0 0,2 0 0 1−1 0 0 0 0 0,2−0,2 ]
Từ đó ta có phương trình vi phân đối với vector các biến trạng thái là:

ẋ=[ −1 0 0 0 0 0−1 0 0 0 0 0 1 00 0 0 0 1 0 0 0 0 0 1 ] ∙ K ∙ [ −1 0 0 0 0 0−2 0 0 0 0 0 10 0 0 0 0 2 0 0 0 0 0 3 ]


Cuối cùng thu được:

ẋ=[ −0,8 0,5 0−0,3 0 0−0,50−1 0−0,8 0−1 0 0,2 0 02−2 0 0 0 0 0,6−0,6 ] ∙ [ x1 x 2 x 3 x 4 x 5 ]=[ −0,8 x 1−0,8 x
Từ kết quả trên có thể thấy được phương trình (2) và phương trình (3) là hoàn
toàn tương đương nhau.
3.3 Mô phỏng với MATLAB
Với ví dụ trên ta có thể mô phỏng trên MATLAB để có thể hiểu rõ hơn. Sau đây
là chương trình để nhập vào MATLAB:
%% File main.m
global K
K = [-0.8 0 0.8 0 0;0.5 -0.5 0 0 0;0 0 -1 1 0;
0.3 0.5 0 -1 0.2;0 0 0.2 0 -0.2];
% Giai pt vi phân dùng ode45
x0= 10*(rand(5,1)-0,5);
4
% điều kiện đầu
xbar0 = ones(1,5) *x0/5;
[t, y] = ode45(@control_law, [0 7], x0);
x = y';
t_end = length(t);
x(:,t_end)
% Bieu dien tren do thi
figure(1); hold on;
for i=1:5
plot(t, x(i,:),'LineWidth',1.5);
end
xlabel 'Time [s]';
ylabel 'Value';
box on; title 'x_i(t)'
xbar1 = ones(1,5)*x(:,length(t))/5;
%% File control_law.m
function dxdt = control_law(t,x)
global K
alpha = [-1,-2,1,2,3];
A = diag(alpha);
A1= diag(sign(alpha));
dxdt= A1*K*A*x;
end

Hình STYLEREF 1 \s 3.2

5
Trong đó, xét khoảng thời gian bắt đầu t=0 s cho đến khi t=7 s thì vector các
biến trạng thái với khoảng thời gian tương ứng là :
x ( 0 )=[ −1.9855 2.0110 1.6634 0.3913 1.9811 ]
x ( 7 )=[ −1.1959−0.59221.2017 0.6012 0.4193 ]
Giá trị trung bình tương ứng trong quá trình đồng thuận tỉ lệ là:
x ¯¿(0)=0.8123 ¿ x ¯¿(7)=0.0868 ¿

3.4 Bổ đề 1
Với bất kì đồ thị liên thông mạnh nào thì ta đều có được phương trình (2) đạt
được đồng thuận tỉ lệ với α 1 , … , α n.
Chứng minh : Xét ma trận L=¿ ¿. Ma trận này là tối giản, chứa các phần tử
không âm (trừ các phần tử trên đường chéo) và tổng các hàng bằng 0. Do đó, L
tương ứng với một ma trận Laplace (có hướng) trên đồ thị tối giản. Nghĩa là ma
trận L nhận v= 1 là một vector riêng bên phải ứng với trị riêng λ=0 , với các giá
trị riêng còn lại nằm ở nửa bên trái mặt phẳng phức Re <0 (OLHP).Có thể thấy
rằng ma trận vector các biến trạng thái của quá trình đồng thuận tỉ lệ :
[ ]
A= diag ( sgn ( α i ) ) K [ diag ( α i ) ] hay ta có thể viết lại là
[ ]
[diag (1/α ¿¿ i)] diag ( α i sgn ( α i ) ) K [diag ( α i ) ]¿, do đó hai ma trận Lvà A là tương
1 1 T
đương nhau. Suy ra ma trận A cũng nhận v=[ ,… , ] là một vector riêng bên
α1 αn
phải ứng với trị riêng λ=0, với các giá trị riêng còn lại nằm ở nửa bên trái mặt
phẳng phức (OLHP). Vì vậy :
T
1 1 (4)
lim x ( t )=
t→∞ α1 [
,…,
αn
wT x (0)
]
Trong đó w T là vector riêng bên trái của A ứng với trị riêng λ=0, x (0) là trạng
thái ban đầu của quá trình đồng thuận.
3.5 Nhận xét
Thông qua lựa chọn α 1 , … , α n , các đa tác tử trong hệ (2) có thể di chuyển tới bất
kì vị trí nào trong chiều không gian con nào của Rn mà nó không vuông góc với
trục tọa độ. Do đó, hệ có thể đạt được đồng thuận tỉ lệ tiến đến tiệm cận tới
không gian rỗng của ma trận chung n cột có n-1 hàng không phụ thuộc.

6
CHƯƠNG 4. SỰ TƯƠNG ĐƯƠNG VỚI M-MATRIX

4.1 Sự tương đương với M-matrix


Mối liên hệ giữa quá trình đồng thuận theo tỷ lệ α 1 , … , α n và ma trận có dạng
M-matrix được hình thành, nó mô tả tập con của quá trình đồng thuận tỉ lệ
tuyến tính được biểu diễn bởi phương trình (2), và từ đó có thể phân tích sử
dụng cấu trúc, tính chất của M-matrix [**]. Từ mối liên hệ này ta dễ dàng chứng
minh được ma trận vector các biến trạng thái A từ phương trình (2) là ma trận
dạng M-matrix, với α 1 , … , α n là các số dương. Vì vậy, mỗi ma trận có dạng M-
matrix tương ứng với một đồ thị liên thông mạnh Γ mô tả bởi hệ các tác tử của
(2).
4.2 Bổ đề 2
Xét bất kì một ma trận R (theo dạng M-matrix ở trên) tương ứng với một đồ thị
Γ
Nếu Γ là đồ thị liên thông mạnh, thì vector các biến trạng thái ẋ=−Rx đạt đến
đồng thuận theo tỉ lệ α 1 , … , α n (dương).
Chứng minh: Ma trận −R có thể được viết lại thành −sI+ B , trong đó B là ma
trận tối giản không âm tương ứng với đồ thị Γ , s là một hằng dương. Từ tính
chất của ma trận tối giản không âm, B có các trị riêng khác nhau µ với các vector
riêng dương v. Vì Rlà ma trận đơn và cũng có dạng M-matrix, từ đó có s=−µ.
Do vậy, ma trận −R nhận v là vector riêng bên phải ứng với trị riêng bằng không
, và các giá trị riêng còn lại nằm ở nửa bên trái mặt phẳng phức.
Xét ma trận ^ K = −R diag(v). Ma trận này tương ứng với đồ thị Γ và có các
phần tử không âm ngoài đường chéo. Ngoài ra, ta có ^ K 1=−Rv=0 , nên ^ K có
−1
tổng của mỗi hàng bằng 0. Do vậy, −R=k^ ( ( v ) ) có dạng (3), với k =k^ và
a i=v i−1 >0 . Do vậy, ta đã chứng minh ẋ=−Rx là quá trình đồng thuận tỉ lệ tuyến
tính dưới dạng phương trình (2), với a i> 0. Từ bổ đề 1, cũng cho thấy là hệ này
đạt được đồng thuận tỉ lệ.
Đối với trường hợp đặc biệt của đồng thuận tiêu chuẩn (trường hợp ma trận R
có dạng M-matrix nhận vector riêng bên phải v=1), mỗi giá trị các phần tử trên
đường chéo chính trong R bằng âm của tổng các giá trị ngoài đường chéo, tuy
nhiên mối quan hệ đơn giản dưới dạng này không đúng với các quá trình đồng
thuận tỉ lệ. Trong các ứng dụng tính toán, cần xác định mối liên hệ giữa các giá
trị phần tử trên đường chéo của R và các giá trị ngoài đường chéo như thế nào,
khi ẋ=−Rx đạt đồng thuận tỉ lệ tới α 1 , … , α n. Để xác định sự phụ thuộc này,
chúng ta chia R thành tổng của ma trận đường chéo D và ma trận Q có các giá
trị đường chéo bằng không. Để đạt đồng thuận tỉ lệ tới α 1 , … , α n, R=D+ Q phải
có các
[**] Ma trận n × n M (hay còn gọi là M-matrix) là một ma trận có các phần

7
tử ngoài đường chéo nhỏ hơn hoặc bằng 0 M =( mij ) , mij <0 , i≠ j , và các
trị riêng có phần thực là không âm.
vector riêng bên phải v=[1/α 1 , . .. , 1/α n]T tương ứng với một trị riêng bằng
không. Từ đó ta có Q[1/α 1 , .. . , 1/α n ]T =−D [1/α 1 , . . ., 1/α n ]T . Vì vậy ma trận D
chứa các phần tử trên đường chéo chính trong R có thể tìm được trực tiếp từ
phương trình này : D=diag([diag(α i)]Q[1/α 1 , .. . ,1 /α n ]T ).

8
CHƯƠNG 5. ĐẶC TÍNH THÊM

5.1 Đặc tính thêm


Với hệ các tác tử đồng thuận tỉ lệ theo phương trình (2), sự phụ thuộc của tiệm
cận trên các thành phần trạng thái ban đầu cần được xét đến, giống như dấu
hiệu tương đối của từng thành phần tác tử trên mô hình động học liên tục. Đối
với tiêu chuẩn của quá trình đồng thuận, tiệm cận thường được hiểu là trung
bình cộng trọng số của các trạng thái ban đầu. Chúng ta hãy phân tích so sánh
với quá trình đồng thuận tỉ lệ, giả sử rằng đồ thị Γ là liên thông mạnh. Để làm
điều này, ta sử dụng mô tả của tiệm cận đã cho ở phương trình (4). Ở đây, W T
vector riêng bên trái của ma trận A tương ứng với trị riêng bằng 0. Vector W T
n
T 1 1 w
1 n
[
thông thường ứng với vector riêng bên phải: w α ,… , α =1 hay ] ∑ α i =1. Từ
i=1 i
n
ωk
đó thu được α i x i (t )=∑ ( α k x k ( 0 )). Phương trình chỉ ra rằng trạng thái tỉ lệ
k=1 α k

α i x i (t) đạt đến một giá trị chung, nó là trung bình cộng các chỉ số của trạng thái
T
^ T [diag ( sign ( α i ) ) ], trong đó w
tỉ lệ ban đầu. Từ (3), w = w ^ T là vector riêng bên trái
ωi w ^ T sign(α i)
của ma trận K (Laplacian) và luôn dương. Vì vậy, = là luôn dương.
αi αi
ωi
có thể là trọng số bất kì trên tiêu chuẩn đơn giản, tỉ lệ với các hàng của ma
αi
trận K. Trong trường hợp đặc biệt, w T =1T , phương trình (2) thỏa mãn 1T ẋ ( t )=0 ,
tổng của các biến trạng thái ban đầu không thay đổi. Trường hợp đặc biệt tương
ứng với các lớp tuyến tính khép kín hoặc mô hình dòng chảy.
5.2 Bổ đề 3
Nếu Γ là một đồ thị cây vô hướng với trọng số có thể bất đối xứng, thì các trị
riêng của ma trận A trong quá trình đồng thuận tỷ lệ đều là số thực.
Chứng minh : Từ chứng minh của bổ đề 1, ma trận vector các biến trạng thái A
tương tự với ma trận L=[ diag ( α i sgn ( α i ) ) ] K , nó cũng tương ứng với đồ thị cây vô
hướng Γ . Bởi vì L có các phần tử (trừ đường chéo chính) không âm và tổng các
hàng bằng không, và S=I +cL là một ma trận có hàng ngẫu nhiên với c >0 đủ
nhỏ. Vì vậy S tương ứng với một ma trận cây vô hướng Γ . Do đó các trị riêng

9
1
của S là số thực. Cuối cùng ta được trị riêng của L= (S−I ), cũng như trị riêng
c
của A đều là số thực.

CHƯƠNG 6. ĐỒNG THUẬN TỈ LỆ BÁM THEO MỘT TÍN HIỆU BIẾT TRƯỚC

6.1 Đồng thuận tỉ lệ bám theo một tín hiệu biết trước
Trong quá trình đồng thuận tỉ lệ theo phương trình (2), các thành phần tác tử
trạng thái ban đầu hội tụ tới (điều kiện ban đầu phụ thuộc) điểm cố định trên hệ
đa tác. Tương tự với quá trình đồng thuận, quá trình đồng thuận tỉ lệ (2) có thể
thay đổi để theo dõi tín hiệu thời gian trong hệ các đa tác tử. Cụ thể, xét:

1 (5)
ẋ i=sgn ( α i ) ∑ k ij ( α j x j ( t )−α i xi ( t )) + ḟ (t)
j∈u ( i ) αi

Với tín hiệu đặt f (t) là một hàm tuyến tính liên tục theo thời gian và vi phân
thực. Bổ đề dưới đây chứng minh quá trình (5) đạt được đồng thuận tỉ lệ.
6.2 Bổ đề 4
Quá trình đồng thuận tỉ lệ theo phương trình (5) đạt được đồng thuận tỉ lệ nếu
đồ thị Γ của nó là liên thông mạnh. Đặc biệt, vector trạng thái x i ( t ) của thành
1 T
phần i hội tụ tới hàm thời gian: α (w x ( 0 ) + f ( t ) ), với w T là vector riêng bên trái
i

của ma trận A (đã xác định từ trước), và x ( 0 ) là vector các biến trạng thái ban
đầu của hệ.
1
Chứng minh: Ta xét z i ( t )=x i ( t )− α f (t). Viết lại (5) theo biến z i ( t ), ta được
i

z i˙( t )=sgn ( α i ) ∑ k ij ( α j z j ( t )−α i z i (t)), với i=1 , … , n. Do đó, z i ( t ) thỏa mãn đồng
j ∈U ( i )

thuận tỉ lệ theo như dạng phương trình (2). Nếu đồ thị Γ liên thông mạnh, theo
T 1 1
bổ đề 1 và phương trình (4) thì z i ( t ) hội tụ tới α w x ( 0 ). Vì thế, x i ( t )=z i ( t ) + α f (t )
i i

10
1 T
hội tụ tới α (w x ( 0 ) + f ( t ) ), như đã viết trong bổ đề. Từ đó, theo phương trình (1)
i

ta đã chứng minh được hệ đạt được đồng thuận tỉ lệ.


6.3 Mô Phỏng với MATLAB
Vẫn là ví dụ ở phần 3.2. Từ phương trình (5) ta có :

1
ẋ i=sgn ( α i ) ∑ k ij ( α j x j ( t )−α i xi ( t )) + ḟ (t)
j∈u ( i ) αi
Ở đây ta xét với tín hiệu đặt f ( t )=sin ⁡(t). Rồi thực hiện mô phỏng trên MATLAB
để hiểu rõ hơn. Sau đây là chương trình nhập vào MATLAB :
%% File main.m
global K
K = [-0.8 0 0.8 0 0;0.5 -0.5 0 0 0;0 0 -1 1 0;
0.3 0.5 0 -1 0.2;0 0 0.2 0 -0.2];
x0=[-1.9855;2.0110;1.6634;0.3913;1.9811];
%điều kiện đầu
xbar0 = ones(1,5)*x0/5;
[t, y] = ode45(@control_law,[0 20],x0);
x = y';
t_end = length(t);
x(:,t_end)
% Bieu dien tren do thi
figure(1);hold on;
for i=1:5
plot(t,x(i,:),'LineWidth',1.5);
end
xlabel 'Time [s]';
ylabel 'Value';
box on; title 'x_i(t)'
xbar1 = ones(1,5)*x(:,length(t))/5;
%% File control_law.m
function dxdt = control_law(t,x)
global K
alpha = [-1,-2,1,2,3];
A = diag(alpha);
A1= diag(sign(alpha));
A2=[cos(t)/1;cos(t)/2;cos(t)/1;cos(t)/2;cos(t)/3];
dxdt= A1*K*A*x+A2;

11
end

Hình 6.1 Kết quả mô phỏng


Quá trình đồng thuận tỉ lệ vẫn đúng với vector biến trạng thái x i=[ p1 , … , p n] .
Vẫn ví dụ trên ta sẽ mô phỏng trên MATLAB để thấy rõ hơn:

%% File main.m
global K
K = [-0.8 0 0.8 0 0;0.5 -0.5 0 0 0;0 0 -1 1 0;
0.3 0.5 0 -1 0.2;0 0 0.2 0 -0.2];
% Giai pt vi phân dùng ode45
x1_0=rand(2,1);
x2_0=rand(2,1);
x3_0=rand(2,1);
x4_0=rand(2,1);
x5_0=rand(2,1);
x0 = [x1_0;x2_0;x3_0;x4_0;x5_0]; %điều kiện đầu
[t, x] = ode45(@control_law,[0 20],x0);
x = x';
t_end = length(t);
% Bieu dien tren do thi
figure(1);hold on;
x1_0=x(1:2,:);
x2_0=x(3:4,:);
x3_0=x(5:6,:);
x4_0=x(7:8,:);

12
x5_0=x(9:10,:);
plot(x1_0(1,1:t_end),
x1_0(2,1:t_end),'k','LineWidth',1.5);
plot(x2_0(1,1:t_end),
x2_0(2,1:t_end),'r','LineWidth',1.5);
plot(x3_0(1,1:t_end),
x3_0(2,1:t_end),'b','LineWidth',1.5);
plot(x4_0(1,1:t_end),
x4_0(2,1:t_end),'g','LineWidth',1.5);
plot(x5_0(1,1:t_end),
x5_0(2,1:t_end),'y','LineWidth',1.5);
%grid on
axis equal
grid off
axis([-2,2,-2,2]);
xlabel x
ylabel y
title 'Trajectories of 5 agents'
box on
%% File control_law.m
function dxdt = control_law(t,x)
global K
alpha = [-1,-2,1,2,3];
A = diag(alpha);
A1= diag(sign(alpha));
A2=[-cos(t)/1;sin(t)/1;-cos(t)/2;
sin(t)/2;cos(t)/1 ;
-sin(t)/1;cos(t)/2;-sin(t)/2;cos(t)/3;-sin(t)/3];
I=eye(2);
A3=A1*K*A;
dxdt = kron(A3,I)*x+A2;
end

13
Hình 6.2 Kết quả mô phỏng

TÀI LIỆU THAM KHẢO

[1] TS. Trịnh Hoàng Minh, Điều khiển nối mạng, 2019.
[2] Ren, W., Bread, R.W., & Atkins, E.M. A survey of consensus problems in multi-
14
agent coordination, In Proceeding of the 2005 American control conference,
Portland, Oregon, June 2005.
[3] Yang, T., Roy, S., Wan, Y., &Saberi, A. (2001). Constructing consensus
controllers for networks with identical general linear agents. International
Journal of Robust and Nonlinear Control, 21(11), 1237-1256
[4] Sundaram, S., & Hadjicostics, C. N. (2008). Distributed function calculation and
consensus using linear iterative strategies. IEEE Journal on Selected Areas in
Communications, 26(4), 650-660.
[5] Automatica, "Scaled consensus", 2014.

15

You might also like