Tải bản đầy đủ (.pdf) (17 trang)

[Giáo trình Toán rời rạc] - Chương3 - Đồ thị pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (258.8 KB, 17 trang )

Tải miễn phí ðề thi, eBook, Tài liệu học tập

37




CHƯƠNG III
ðỒ THỊ

Lý thuyết ñồ thị là một ngành khoa học ñược phát triển từ lâu nhưng lại có nhiều
ứng dụng hiện ñại. Những ý tưởng cơ bản của nó ñược ñưa ra từ thế kỷ 18 bởi nhà toán
học Thụy Sĩ tên là Leonhard Euler. Ông ñã dùng ñồ thị ñể giải quyết bài toán 7 chiếc
cầu Konigsberg nổi tiếng.
ðồ thị cũng ñược dùng ñể giải các bài toán trong nhiều lĩnh vực khác nhau. Thí
dụ, dùng ñồ thị ñể xác ñịnh xem có thực hiện một mạch ñiện trên một bảng ñiện phẳng
ñược không. Chúng ta cũng có thể phân biệt hai hợp chất hóa học có cùng công thức
phân tử nhưng có cấu trúc khác nhau nhờ ñồ thị. Chúng ta cũng có thể xác ñịnh xem hai
máy tính có ñược nối với nhau bằng một ñường truyền thông hay không nếu dùng mô
hình ñồ thị mạng máy tính. ðồ thị với các trọng số ñược gán cho các cạnh của nó có thể
dùng ñể giải các bài toán như bài toán tìm ñường ñi ngắn nhất giữa hai thành phố trong
một mạng giao thông. Chúng ta cũng có thể dùng ñồ thị ñể lập lịch thi và phân chia
kênh cho các ñài truyền hình.
3.1. ðỊNH NGHĨA VÀ THÍ DỤ.
ðồ thị là một cấu trúc rời rạc gồm các ñỉnh và các cạnh (vô hướng hoặc có
hướng) nối các ñỉnh ñó. Người ta phân loại ñồ thị tùy theo ñặc tính và số các cạnh nối
các cặp ñỉnh của ñồ thị. Nhiều bài toán thuộc những lĩnh vực rất khác nhau có thể giải
ñược bằng mô hình ñồ thị. Chẳng hạn người ta có thể dùng ñồ thị ñể biểu diễn sự cạnh
tranh các loài trong một môi trường sinh thái, dùng ñồ thị ñể biểu diễn ai có ảnh hưởng
lên ai trong một tổ chức nào ñó, và cũng có thể dùng ñồ thị ñể biểu diễn các kết cục của
cuộc thi ñấu thể thao. Chúng ta cũng có thể dùng ñồ thị ñể giải các bài toán như bài toán


tính số các tổ hợp khác nhau của các chuyến bay giữa hai thành phố trong một mạng
hàng không, hay ñể giải bài toán ñi tham quan tất cả các ñường phố của một thành phố
sao cho mỗi ñường phố ñi qua ñúng một lần, hoặc bài toán tìm số các màu cần thiết ñể
tô các vùng khác nhau của một bản ñồ.
Trong ñời sống, chúng ta thường gặp những sơ ñồ, như sơ ñồ tổ chức bộ máy, sơ
ñồ giao thông, sơ ñồ hướng dẫn thứ tự ñọc các chương trong một cuốn sách, , gồm
những ñiểm biểu thị các ñối tượng ñược xem xét (người, tổ chức, ñịa danh, chương mục
sách, ) và nối một số ñiểm với nhau bằng những ñoạn thẳng (hoặc cong) hay những
mũi tên, tượng trưng cho một quan hệ nào ñó giữa các ñối tượng. ðó là những thí dụ về
ñồ thị.

3.1.1. ðịnh nghĩa:
Một ñơn ñồ thị G = (V, E) gồm một tập khác rỗng V mà các phần
tử của nó gọi là các ñỉnh và một tập E mà các phần tử của nó gọi là các cạnh, ñó là các
cặp không có thứ tự của các ñỉnh phân biệt.
Tải miễn phí ðề thi, eBook, Tài liệu học tập

38




3.1.2. ðịnh nghĩa:
Một ña ñồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử
của nó gọi là các ñỉnh và một họ E mà các phần tử của nó gọi là các cạnh, ñó là các cặp
không có thứ tự của các ñỉnh phân biệt. Hai cạnh ñược gọi là cạnh bội hay song song
nếu chúng cùng tương ứng với một cặp ñỉnh.
Rõ ràng mỗi ñơn ñồ thị là ña ñồ thị, nhưng không phải ña ñồ thị nào cũng là ñơn
ñồ thị.
3.1.3. ðịnh nghĩa:

Một giả ñồ thị G = (V, E) gồm một tập khác rỗng V mà các phần tử
của nó gọi là các ñỉnh và một họ E mà các phần tử của nó gọi là các cạnh, ñó là các cặp
không có thứ tự của các ñỉnh (không nhất thiết là phân biệt).
Với v∈V, nếu (v,v)∈E thì ta nói có một khuyên tại ñỉnh v.
Tóm lại, giả ñồ thị là loại ñồ thị vô hướng tổng quát nhất vì nó có thể chứa các
khuyên và các cạnh bội. ða ñồ thị là loại ñồ thị vô hướng có thể chứa cạnh bội nhưng
không thể có các khuyên, còn ñơn ñồ thị là loại ñồ thị vô hướng không chứa cạnh bội
hoặc các khuyên.
Thí dụ 1:





ðơn ñồ thị
Giả ñồ thị
3.1.4. ðịnh nghĩa:
Một ñồ thị có hướng G = (V, E) gồm một tập khác rỗng V mà các
phần tử của nó gọi là các ñỉnh và một tập E mà các phần tử của nó gọi là các cung, ñó là
các cặp có thứ tự của các phần tử thuộc V.
3.1.5. ðịnh nghĩa:
Một ña ñồ thị có hướng G = (V, E) gồm một tập khác rỗng V mà
các phần tử của nó gọi là các ñỉnh và một họ E mà các phần tử của nó gọi là các cung,
ñó là các cặp có thứ tự của các phần tử thuộc V.
ðồ thị vô hướng nhận ñược từ ñồ thị có hướng G bằng cách xoá bỏ các chiều mũi
tên trên các cung ñược gọi là ñồ thị vô hướng nền của G.
Thí dụ 2:






ðồ thị có hướng ða ñồ thị có hướng
v
1

v
2

v
3

v
4

v
5

v
6

v
7

v
1

v
2


v
3

v
4

v
5

v
6

v
6

v
7

v
3

v
4

v
5

v
6


v
1

v
2

v
3

v
5

V
5

v
1

v
2

Tải miễn phí ðề thi, eBook, Tài liệu học tập

39




Thí dụ 3: 1) ðồ thị “lấn tổ” trong sinh thái học. ðồ thị ñược dùng trong nhiều mô
hình có tính ñến sự tương tác của các loài vật. Chẳng hạn sự cạnh tranh của các loài

trong một hệ sinh thái có thể mô hình hóa bằng ñồ thị “lấn tổ”. Mỗi loài ñược biểu diễn
bằng một ñỉnh. Một cạnh vô hướng nối hai ñỉnh nếu hai loài ñược biểu diễn bằng các
ñỉnh này là cạnh tranh với nhau.
2) ðồ thị ảnh hưởng. Khi nghiên cứu tính cách của một nhóm nguời, ta thấy một số
người có thể có ảnh hưởng lên suy nghĩ của những người khác. ðồ thị có hướng ñược
gọi là ñồ thị ảnh hưởng có thể dùng ñể mô hình bài toán này. Mỗi người của nhóm ñược
biểu diễn bằng một ñỉnh. Khi một người ñược biểu diễn bằng ñỉnh a có ảnh hưởng lên
người ñược biểu diễn bằng ñỉnh b thì có một cung nối từ ñỉnh a ñến ñỉnh b.
3) Thi ñấu vòng tròn. Một cuộc thi ñấu thể thao trong ñó mỗi ñội ñấu với mỗi ñội khác
ñúng một lần gọi là ñấu vòng tròn. Cuộc thi ñấu như thế có thể ñược mô hình bằng một
ñồ thị có hướng trong ñó mỗi ñội là một ñỉnh. Một cung ñi từ ñỉnh a ñến ñỉnh b nếu ñội
a thắng ñội b.
4) Các chương trình máy tính có thể thi hành nhanh hơn bằng cách thi hành ñồng thời
một số câu lệnh nào ñó. ðiều quan trọng là không ñược thực hiện một câu lệnh ñòi hỏi
kết quả của câu lệnh khác chưa ñược thực hiện. Sự phụ thuộc của các câu lệnh vào các
câu lệnh trước có thể biểu diễn bằng một ñồ thị có hướng. Mỗi câu lệnh ñược biểu diễn
bằng một ñỉnh và có một cung từ một ñỉnh tới một ñỉnh khác nếu câu lệnh ñược biểu
diễn bằng ñỉnh thứ hai không thể thực hiện ñược trước khi câu lệnh ñược biểu diễn bằng
ñỉnh thứ nhất ñược thực hiện. ðồ thị này ñược gọi là ñồ thị có ưu tiên trước sau.
3.2. BẬC CỦA ðỈNH.
3.2.1. ðịnh nghĩa:
Hai ñỉnh u và v trong ñồ thị (vô hướng) G=(V,E) ñược gọi là liền
kề nếu (u,v)∈E. Nếu e = (u,v) thì e gọi là cạnh liên thuộc với các ñỉnh u và v. Cạnh e
cũng ñược gọi là cạnh nối các ñỉnh u và v. Các ñỉnh u và v gọi là các ñiểm ñầu mút của
cạnh e.
3.2.2. ðịnh nghĩa:
Bậc của ñỉnh v trong ñồ thị G=(V,E), ký hiệu deg(v), là số các cạnh
liên thuộc với nó, riêng khuyên tại một ñỉnh ñược tính hai lần cho bậc của nó.
ðỉnh v gọi là ñỉnh treo nếu deg(v)=1 và gọi là ñỉnh cô lập nếu deg(v)=0.
Thí dụ 4:






Ta có deg(v
1
)=7, deg(v
2
)=5, deg(v
3
)=3, deg(v
4
)=0, deg(v
5
)=4, deg(v
6
)=1, deg(v
7
)=2.
ðỉnh v
4
là ñỉnh cô lập và ñỉnh v
6
là ñỉnh treo.
v
1

v
2


v
3

v
4

v
5

v
6

v
7

Tải miễn phí ðề thi, eBook, Tài liệu học tập

40




3.2.3. Mệnh ñề:
Cho ñồ thị G = (V, E). Khi ñó
2|E| =

∈Vv
v)deg(
.

Chứng minh: Rõ ràng mỗi cạnh e = (u,v) ñược tính một lần trong deg(u) và một lần
trong deg(v). Từ ñó suy ra tổng tất cả các bậc của các ñỉnh bằng hai lần số cạnh.
3.2.4. Hệ quả:
Số ñỉnh bậc lẻ của một ñồ thị là một số chẵn.
Chứng minh: Gọi V
1
và V
2
tương ứng là tập các ñỉnh bậc chẵn và tập các ñỉnh bậc lẻ
của ñồ thị G = (V, E). Khi ñó
2|E| =


1
)deg(
Vv
v
+


2
)deg(
Vv
v

Vế trái là một số chẵn và tổng thứ nhất cũng là một số chẵn nên tổng thứ hai là một số
chẵn. Vì deg(v) là lẻ với mọi v ∈ V
2
nên |V
2

| là một số chẵn.
3.2.5. Mệnh ñề:
Trong một ñơn ñồ thị, luôn tồn tại hai ñỉnh có cùng bậc.
Chứng minh: Xét ñơn ñồ thị G=(V,E) có |V|=n. Khi ñó phát biểu trên ñược ñưa về bài
toán: trong một phòng họp có n người, bao giờ cũng tìm ñược 2 người có số người quen
trong số những người dự họp là như nhau (xem Thí dụ 6 của 2.2.3).
3.2.6. ðịnh nghĩa:
ðỉnh u ñược gọi là nối tới v hay v ñược gọi là ñược nối từ u trong
ñồ thị có hướng G nếu (u,v) là một cung của G. ðỉnh u gọi là ñỉnh ñầu và ñỉnh v gọi là
ñỉnh cuối của cung này.
3.2.7. ðịnh nghĩa:
Bậc vào (t.ư. bậc ra) của ñỉnh v trong ñồ thị có hướng G, ký hiệu
deg
t
(v) (t.ư. deg
o
(v)), là số các cung có ñỉnh cuối là v.
Thí dụ 5:





deg
t
(v
1
) = 2, deg
o
(v

1
) = 3,
deg
t
(v
2
) = 5, deg
o
(v
2
) = 1,
deg
t
(v
3
) = 2, deg
o
(v
3
) = 4,
deg
t
(v
4
) = 1, deg
0
(v
4
) = 3,
deg

t
(v
5
) = 1, deg
o
(v
5
) = 0,
deg
t
(v
6
) = 0, deg
o
(v
6
) = 0.
ðỉnh có bậc vào và bậc ra cùng bằng 0 gọi là ñỉnh cô lập. ðỉnh có bậc vào bằng 1
và bậc ra bằng 0 gọi là ñỉnh treo, cung có ñỉnh cuối là ñỉnh treo gọi là cung treo.
3.2.8. Mệnh ñề:
Cho G =(V, E) là một ñồ thị có hướng. Khi ñó

v
1

v
2

v
3


v
4

v
5

v
6

Tải miễn phí ðề thi, eBook, Tài liệu học tập

41






∈ ∈
=
Vv Vv
ot
vv )(deg)(deg
= |E|.
Chứng minh: Kết quả có ngay là vì mỗi cung ñược tính một lần cho ñỉnh ñầu và một
lần cho ñỉnh cuối.
3.3. NHỮNG ðƠN ðỒ THỊ ðẶC BIỆT.
3.3.1. ðồ thị ñầy ñủ:
ðồ thị ñầy ñủ n ñỉnh, ký hiệu là K

n
, là ñơn ñồ thị mà hai ñỉnh
phân biệt bất kỳ của nó luôn liền kề. Như vậy, K
n

2
)1(

nn
cạnh và mỗi ñỉnh của K
n

có bậc là n−1.
Thí dụ 6:


K
1
K
2

K
3
K
4
K
5

3.3.2. ðồ thị vòng:
ðơn ñồ thị n ñỉnh v

1
, v
2
, , v
n
(n≥3) và n cạnh (v
1
,v
2
), (v
2
,v
3
), ,
(v
n-1
,v
n
), (v
n
,v
1
) ñược gọi là ñồ thị vòng, ký hiệu là C
n
. Như vậy, mỗi ñỉnh của C
n
có bậc
là 2.
Thí dụ 7:




C
3
C
4
C
5
C
6

3.3.3. ðồ thị bánh xe:
Từ ñồ thị vòng C
n
, thêm vào ñỉnh v
n+1
và các cạnh (v
n+1
,v
1
),
(v
n+1
,v
2
), , (v
n+1
,v
n
), ta nhận ñược ñơn ñồ thị gọi là ñồ thị bánh xe, ký hiệu là W

n
. Như
vậy, ñồ thị W
n
có n+1 ñỉnh, 2n cạnh, một ñỉnh bậc n và n ñỉnh bậc 3.

Thí dụ 8:



W
3
W
4
W
5
W
6


3.3.4. ðồ thị lập phương:
ðơn ñồ thị 2
n
ñỉnh, tương ứng với 2
n
xâu nhị phân ñộ dài n
và hai ñỉnh kề nhau khi và chỉ khi 2 xâu nhị phân tương ứng với hai ñỉnh này chỉ khác
nhau ñúng một bit ñược gọi là ñồ thị lập phương, ký hiệu là Q
n
. Như vậy, mỗi ñỉnh của

Q
n
có bậc là n và số cạnh của Q
n
là n.2
n-1
(từ công thức 2|E| =

∈Vv
v)deg(
).
v
1

v
1

v
2

v
1

v
2

v
3

v

1

v
2

v
3

v
4

v
5

v
2

v
1

v
3

V
4

v
1

v

2

v
3

v
1

v
2

v
4

v
3

v
1

v
5

v
2

v
4

v

3

v
1

v
6

v
5

v
2

v
3

v
4

v
2

v
3

v
1

v

2

v
4

v
3

v
1

v
5

v
2

v
4

v
3

v
6

v
5

v

2

v
3

v
4

v
1

v
4

v
5

v
6

v
7

v
1

Tải miễn phí ðề thi, eBook, Tài liệu học tập

42





Thí dụ 9:


Q
1

Q
2



Q
3
3.3.5. ðồ thị phân ñôi (ñồ thị hai phe):
ðơn ñồ thị G=(V,E) sao cho V=V
1
∪V
2
,
V
1
∩V
2
=∅, V
1
≠∅, V
2

≠∅ và mỗi cạnh của G ñược nối một ñỉnh trong V
1
và một ñỉnh
trong V
2
ñược gọi là ñồ thị phân ñôi.
Nếu ñồ thị phân ñôi G=(V
1
∪V
2
,E) sao cho với mọi v
1
∈V
1
, v
2
∈V
2
, (v
1
,v
2
)∈E thì
G ñược gọi là ñồ thị phân ñôi ñầy ñủ. Nếu |V
1
|=m, |V
2
|=n thì ñồ thị phân ñôi ñầy ñủ G
ký hiệu là K
m,n

. Như vậy K
m,n
có m.n cạnh, các ñỉnh của V
1
có bậc n và các ñỉnh của V
2

có bậc m.
Thí dụ 10:




K
2,4
K
3,3

3.3.6. Một vài ứng dụng của các ñồ thị ñặc biệt:

1) Các mạng cục bộ (LAN): Một số mạng cục bộ dùng cấu trúc hình sao, trong ñó tất
cả các thiết bị ñược nối với thiết bị ñiều khiển trung tâm. Mạng cục bộ kiểu này có thể
biểu diễn bằng một ñồ thị phân ñôi ñầy ñủ K
1,n
. Các thông báo gửi từ thiết bị này tới
thiết bị khác ñều phải qua thiết bị ñiều khiển trung tâm.
Mạng cục bộ cũng có thể có cấu trúc vòng tròn, trong ñó mỗi thiết bị nối với
ñúng hai thiết bị khác. Mạng cục bộ kiểu này có thể biểu diễn bằng một ñồ thị vòng C
n
.

Thông báo gửi từ thiết bị này tới thiết bị khác ñược truyền ñi theo vòng tròn cho tới khi
ñến nơi nhận.






Cấu trúc hình sao Cấu trúc vòng tròn Cấu trúc hỗn hợp
0

1

10

11

01

00

000
100
010
001
011
101
111
110
v

1

v
2

v
3

v
4

v
5

v
6

v
1

v
2

v
3

v
4

v

5

v
6

v
2

v
3

v
4

v
5

v
1

v
6

v
7

v
8

v

9

v
1

v
2

v
8

v
7

v
6

v
5

v
4

v
3

v
9

v

2

v
8

v
7

v
3

v
4

v
6

v
5

v
1

Tải miễn phí ðề thi, eBook, Tài liệu học tập

43





Cuối cùng, một số mạng cục bộ dùng cấu trúc hỗn hợp của hai cấu trúc trên. Các
thông báo ñược truyền vòng quanh theo vòng tròn hoặc có thể qua thiết bị trung tâm. Sự
dư thừa này có thể làm cho mạng ñáng tin cậy hơn. Mạng cục bộ kiểu này có thể biểu
diễn bằng một ñồ thị bánh xe W
n
.
2) Xử lý song song: Các thuật toán ñể giải các bài toán ñược thiết kế ñể thực hiện một
phép toán tại mỗi thời ñiểm là thuật toán nối tiếp. Tuy nhiên, nhiều bài toán với số
lượng tính toán rất lớn như bài toán mô phỏng thời tiết, tạo hình trong y học hay phân
tích mật mã không thể giải ñược trong một khoảng thời gian hợp lý nếu dùng thuật toán
nối tiếp ngay cả khi dùng các siêu máy tính. Ngoài ra, do những giới hạn về mặt vật lý
ñối với tốc ñộ thực hiện các phép toán cơ sở, nên thường gặp các bài toán không thể giải
trong khoảng thời gian hợp lý bằng các thao tác nối tiếp. Vì vậy, người ta phải nghĩ ñến
kiểu xử lý song song.
Khi xử lý song song, người ta dùng các máy tính có nhiều bộ xử lý riêng biệt,
mỗi bộ xử lý có bộ nhớ riêng, nhờ ñó có thể khắc phục ñược những hạn chế của các máy
nối tiếp. Các thuật toán song song phân chia bài toán chính thành một số bài toán con
sao cho có thể giải ñồng thời ñược. Do vậy, bằng các thuật toán song song và nhờ việc
sử dụng các máy tính có bộ ña xử lý, người ta hy vọng có thể giải nhanh các bài toán
phức tạp. Trong thuật toán song song có một dãy các chỉ thị theo dõi việc thực hiện
thuật toán, gửi các bài toán con tới các bộ xử lý khác nhau, chuyển các thông tin vào,
thông tin ra tới các bộ xử lý thích hợp.
Khi dùng cách xử lý song song, mỗi bộ xử lý có thể cần các thông tin ra của các
bộ xử lý khác. Do ñó chúng cần phải ñược kết nối với nhau. Người ta có thể dùng loại
ñồ thị thích hợp ñể biểu diễn mạng kết nối các bộ xử lý trong một máy tính có nhiều bộ
xử lý. Kiểu mạng kết nối dùng ñể thực hiện một thuật toán song song cụ thể phụ thuộc
vào những yêu cầu với việc trao ñổi dữ liệu giữa các bộ xử lý, phụ thuộc vào tốc ñộ
mong muốn và tất nhiên vào phần cứng hiện có.
Mạng kết nối các bộ xử lý ñơn giản nhất và cũng ñắt nhất là có các liên kết hai
chiều giữa mỗi cặp bộ xử lý. Các mạng này có thể mô hình bằng ñồ thị ñầy ñủ K

n
, trong
ñó n là số bộ xử lý. Tuy nhiên, các mạng liên kết kiểu này có số kết nối quá nhiều mà
trong thực tế số kết nối cần phải có giới hạn.
Các bộ xử lý có thể kết nối ñơn giản là sắp xếp chúng theo một mảng một chiều.
Ưu ñiểm của mảng một chiều là mỗi bộ xử lý có nhiều nhất 2 ñường nối trực tiếp với
các bộ xử lý khác. Nhược ñiểm là nhiều khi cần có rất nhiều các kết nối trung gian ñể
các bộ xử lý trao ñổi thông tin với nhau.

Mạng kiểu lưới (hoặc mảng hai chiều) rất hay ñược dùng cho các mạng liên kết.
Trong một mạng như thế, số các bộ xử lý là một số chính phương, n=m
2
. Các bộ xử lý
P
1

P
2

P
4

P
5

P
3

P
6


Tải miễn phí ðề thi, eBook, Tài liệu học tập

44




ñược gán nhãn P(i,j), 0 ≤ i, j ≤ m−1. Các kết nối hai chiều sẽ nối bộ xử lý P(i,j) với bốn
bộ xử lý bên cạnh, tức là với P(i,j±1) và P(i±1,j) chừng nào các bộ xử lý còn ở trong
lưới.









Mạng kết nối quan trọng nhất là mạng kiểu siêu khối. Với các mạng loại này số
các bộ xử lý là luỹ thừa của 2, n=2
m
. Các bộ xử lý ñược gán nhãn là P
0
, P
1
, , P
n-1
. Mỗi

bộ xử lý có liên kết hai chiều với m bộ xử lý khác. Bộ xử lý P
i
nối với bộ xử lý có chỉ số
biểu diễn bằng dãy nhị phân khác với dãy nhị phân biểu diễn i tại ñúng một bit. Mạng
kiểu siêu khối cân bằng số các kết nối trực tiếp của mỗi bộ xử lý và số các kết nối gián
tiếp sao cho các bộ xử lý có thể truyền thông ñược. Nhiều máy tính ñã chế tạo theo
mạng kiểu siêu khối và nhiều thuật toán ñã ñược thiết kế ñể sử dụng mạng kiểu siêu
khối. ðồ thị lập phương Q
m
biểu diễn mạng kiểu siêu khối có 2
m
bộ xử lý.



3.4. BIỂU DIỄN ðỒ THỊ BẰNG MA TRẬN VÀ SỰ ðẲNG CẤU ðỒ THỊ:

3.4.1. ðịnh nghĩa: Cho ñồ thị G=(V,E) (vô hướng hoặc có hướng), với V={v
1
,v
2
, , v
n
}.
Ma trận liền kề của G ứng với thứ tự các ñỉnh v
1
,v
2
, , v
n

là ma trận
A=
),()(
,1
ZnMa
njiij

≤≤
,
trong ñó a
ij
là số cạnh hoặc cung nối từ v
i
tới v
j
.
Như vậy, ma trận liền kề của một ñồ thị vô hướng là ma trận ñối xứng, nghĩa là
jiij
aa
=
, trong khi ma trận liền kề của một ñồ thị có hướng không có tính ñối xứng.
Thí dụ 11: Ma trận liền kề với thứ tự các ñỉnh v
1
, v
2
, v
3
, v
4
là:

















0212
2110
1103
2030


P(0,0)
P(0,1)
P(0,2)
P(0,3)
P(1,0)
P(1,1)
P(1,2)
P(1,3)

P(2,0)
P(2,1)
P(2,2)
P(2,3)
P(3,0)
P(3,1)
P(3,2)
P(3,3)
P
1

P
2

P
3

P
4

P
5

P
6

P
0

P

7

v
1

v
2

v
3

v
4

Tải miễn phí ðề thi, eBook, Tài liệu học tập

45




Ma trận liền kề với thứ tự các ñỉnh v
1
, v
2
, v
3
, v
4
, v

5
là:

















01011
10200
01001
01210
11011


3.4.2. ðịnh nghĩa:
Cho ñồ thị vô hướng G=(V,E), v
1
, v

2
, , v
n
là các ñỉnh và e
1
, e
2
, ,
e
m
là các cạnh của G. Ma trận liên thuộc của G theo thứ tự trên của V và E là ma trận
M=
),()(
1
1
ZmnMm
mj
niij
×

≤≤
≤≤
,
ij
m
bằng 1 nếu cạnh e
j
nối với ñỉnh v
i
và bằng 0 nếu cạnh e

j
không nối với ñỉnh v
i
.
Thí dụ 12: Ma trận liên thuộc theo thứ tự các ñỉnh v
1
, v
2
, v
3
, v
4
, v
5
và các cạnh e
1
, e
2
, e
3
,
e
4
, e
5
, e
6
là:


















011010
000101
110000
101100
000011

3.4.3. ðịnh nghĩa:
Các ñơn ñồ thị G
1
=(V
1
,E
1
) và G
2

=(V
2
,E
2
) ñược gọi là ñẳng cấu nếu
tồn tại một song ánh f từ V
1
lên V
2
sao cho các ñỉnh u và v là liền kề trong G
1
khi và chỉ
khi f(u) và f(v) là liền kề trong G
2
với mọi u và v trong V
1
. Ánh xạ f như thế gọi là một
phép ñẳng cấu.
Thông thường, ñể chứng tỏ hai ñơn ñồ thị là không ñẳng cấu, người ta chỉ ra
chúng không có chung một tính chất mà các ñơn ñồ thị ñẳng cấu cần phải có. Tính chất
như thế gọi là một bất biến ñối với phép ñẳng cấu của các ñơn ñồ thị.
Thí dụ 13: 1) Hai ñơn ñồ thị G
1
và G
2
sau là ñẳng cấu qua phép ñẳng cấu f: a
a
x,
b
a

u, c
a
z, d
a
v, e
a
y:








G
1
G
2

v
1

v
2

v
5

v

4

v
3

v
1

v
2

v
3

v
4

v
5

e
1

e
2

e
3

e

4

e
5

e
6

a

b

c

e

d

u

v

x

y

z

Tải miễn phí ðề thi, eBook, Tài liệu học tập


46




2) Hai ñồ thị G
1
và G
2
sau ñều có 5 ñỉnh và 6 cạnh nhưng không ñẳng cấu vì trong G
1

có một ñỉnh bậc 4 mà trong G
2
không có ñỉnh bậc 4 nào.





3) Hai ñồ thị G
1
và G
2
sau ñều có 7 ñỉnh, 10 cạnh, cùng có một ñỉnh bậc 4, bốn ñỉnh
bậc 3 và hai ñỉnh bậc 2. Tuy nhiên G
1
và G
2
là không ñẳng cấu vì hai ñỉnh bậc 2 của G

1

(a và d) là không kề nhau, trong khi hai ñỉnh bậc 2 của G
2
(y và z) là kề nhau.





G
1
G
2

4) Hãy xác ñịnh xem hai ñồ thị sau có ñẳng cấu hay không?





G
1
G
2

Hai ñồ thị G
1
và G
2

là ñẳng cấu vì hai ma trận liền kề của G
1
theo thứ tự các ñỉnh
u
1
, u
2
, u
3
, u
4
, u
5
, u
6
và của G
2
theo thứ tự các ñỉnh v
6
, v
3
, v
4
, v
5
, v
1
, v
2
là như nhau và

bằng:




















010010
101000
010101
001010
100101
001010


3.5. CÁC ðỒ THỊ MỚI TỪ ðỒ THỊ CŨ.

3.5.1. ðịnh nghĩa:
Cho hai ñồ thị G
1
=(V
1
,E
1
) và G
2
=(V
2
,E
2
). Ta nói G
2
là ñồ thị con
của G
1
nếu V
2
⊂ V
1
và E
2
⊂ E
1
. Trong trường hợp V
1
=V
2

thì G
2
gọi là con bao trùm của
G
1
.










a

d

c

b

g

e

h


u

v

x

y

w

t

z

u
1

v
3

v
1

u
2

u
4

u

6

u
5

u
3

v
6

v
2

v
4

v
5

Tải miễn phí ðề thi, eBook, Tài liệu học tập

47




Thí dụ 14:





G G
1
G
2
G
3





G
4
G
5

G
1
, G
2
, G
3
và G
4
là các ñồ thị con của G, trong ñó G
2
và G
4

là ñồ thị con bao
trùm của G, còn G
5
không phải là ñồ thị con của G.
3.5.2. ðịnh nghĩa:
Hợp của hai ñơn ñồ thị G
1
=(V
1
,E
1
) và G
2
=(V
2
,E
2
) là một ñơn ñồ thị
có tập các ñỉnh là V
1
∪ V
2
và tập các cạnh là E
1
∪ E
2
, ký hiệu là G
1
∪ G
2

.
Thí dụ 15:




G
1
G
2
G
1
∪G
2

3.5.3. ðịnh nghĩa:
ðơn ñồ thị G’=(V,E’) ñược gọi là ñồ thị bù của ñơn ñồ thị G=(V,E)
nếu G và G’ không có cạnh chung nào (E ∩ E’=∅) và G ∪ G’là ñồ thị ñầy ñủ.
Dễ thấy rằng nếu G’ là bù của G thì G cũng là bù của G’. Khi ñó ta nói hai ñồ thị
là bù nhau.
Thí dụ 16:




G’ G G
1
’ G
1


Hai ñồ thị G’ và G là bù nhau và hai ñồ thị G
1
và G
1
’ là bù nhau.
3.6. TÍNH LIÊN THÔNG.
3.6.1. ðịnh nghĩa:

ðường ñi ñộ dài n từ ñỉnh u ñến ñỉnh v, với n là một số nguyên
dương, trong ñồ thị (giả ñồ thị vô hướng hoặc ña ñồ thị có hướng) G=(V,E) là một dãy
các cạnh (hoặc cung) e
1
, e
2
, , e
n
của ñồ thị sao cho e
1
=(x
0
,x
1
),e
2
=(x
1
,x
2
), ,e
n

=(x
n-1
,x
n
),
với x
0
=u và x
n
=v. Khi ñồ thị không có cạnh (hoặc cung) bội, ta ký hiệu ñường ñi này
a

e

d

c

b

a

c

b

a

d


c

e

b

a

d

c

b

a

d

b

c

e

a

d

c


b

x

y

z

u

v

u

x

y

z

w

x

y

z

u


v

w

x

y

u

v

x

u

y

v

x

v

y

u

z


x

v

u

z

y

Tải miễn phí ðề thi, eBook, Tài liệu học tập

48




bằng dãy các ñỉnh x
0
, x
1
, , x
n
. ðường ñi ñược gọi là chu trình nếu nó bắt ñầu và kết
thúc tại cùng một ñỉnh. ðường ñi hoặc chu trình gọi là ñơn nếu nó không chứa cùng một
cạnh (hoặc cung) quá một lần. Một ñường ñi hoặc chu trình không ñi qua ñỉnh nào quá
một lần (trừ ñỉnh ñầu và ñỉnh cuối của chu trình là trùng nhau) ñược gọi là ñường ñi
hoặc chu trình sơ cấp. Rõ ràng rằng một ñường ñi (t.ư. chu trình) sơ cấp là ñường ñi (t.ư.
chu trình) ñơn.
Thí dụ 17:





Trong ñơn ñồ thị trên, x, y, z, w, v, y là ñường ñi ñơn (không sơ cấp) ñộ dài 5; x,
w, v, z, y không là ñường ñi vì (v, z) không là cạnh; y, z, w, x, v, u, y là chu trình sơ cấp
ñộ dài 6.
3.6.2. ðịnh nghĩa:
Một ñồ thị (vô hướng) ñược gọi là liên thông nếu có ñường ñi giữa
mọi cặp ñỉnh phân biệt của ñồ thị.
Một ñồ thị không liên thông là hợp của hai hay nhiều ñồ thị con liên thông, mỗi
cặp các ñồ thị con này không có ñỉnh chung. Các ñồ thị con liên thông rời nhau như vậy
ñược gọi là các thành phần liên thông của ñồ thị ñang xét. Như vậy, một ñồ thị là liên
thông khi và chỉ khi nó chỉ có một thành phần liên thông.
Thí dụ 18:





G G’
ðồ thị G là liên thông, nhưng ñồ thị G’ không liên thông và có 3 thành phần liên thông.
3.6.3. ðịnh nghĩa:
Một ñỉnh trong ñồ thị G mà khi xoá ñi nó và tất cả các cạnh liên
thuộc với nó ta nhận ñược ñồ thị con mới có nhiều thành phần liên thông hơn ñồ thị G
ñược gọi là ñỉnh cắt hay ñiểm khớp. Việc xoá ñỉnh cắt khỏi một ñồ thị liên thông sẽ tạo
ra một ñồ thị con không liên thông. Hoàn toàn tương tự, một cạnh mà khi ta bỏ nó ñi sẽ
tạo ra một ñồ thị có nhiều thành phần liên thông hơn so với ñồ thị xuất phát ñược gọi là
cạnh cắt hay là cầu.
Thí dụ 19:



x

y

z

v

w

u

x

t

u

y

w

z

v

a


d

c

h

b

i

k

l

g

x

v

y

w

z

s

u


t

Tải miễn phí ðề thi, eBook, Tài liệu học tập

49




Trong ñồ thị trên, các ñỉnh cắt là v, w, s và các cầu là (x,v), (w,s).

3.6.4. Mệnh ñề:
Giữa mọi cặp ñỉnh phân biệt của một ñồ thị liên thông luôn có ñường
ñi sơ cấp.
Chứng minh: Giả sử u và v là hai ñỉnh phân biệt của một ñồ thị liên thông G. Vì G liên
thông nên có ít nhất một ñường ñi giữa u và v. Gọi x
0
, x
1
, , x
n
, với x
0
=u và x
n
=v, là dãy
các ñỉnh của ñường ñi có ñộ dài ngắn nhất. ðây chính là ñường ñi sơ cấp cần tìm. Thật
vậy, giả sử nó không là ñường ñi ñơn, khi ñó x
i
=x

j
với 0 ≤ i < j. ðiều này có nghĩa là
giữa các ñỉnh u và v có ñường ñi ngắn hơn qua các ñỉnh x
0
, x
1
, , x
i-1
, x
j
, , x
n
nhận
ñược bằng cách xoá ñi các cạnh tương ứng với dãy các ñỉnh x
i
, , x
j-1
.
3.6.5. Mệnh ñề:
Mọi ñơn ñồ thị n ñỉnh (n ≥ 2) có tổng bậc của hai ñỉnh tuỳ ý không
nhỏ hơn n ñều là ñồ thị liên thông.
Chứng minh: Cho ñơn ñồ thị G=(V,E) có n ñỉnh (n ≥ 2) và thoả mãn yêu cầu của bài
toán. Giả sử G không liên thông, tức là tồn tại hai ñỉnh u và v sao cho không có ñường
ñi nào nối u và v. Khi ñó trong ñồ thị G tồn tại hai thành phần liên thông là G
1
có n
1

ñỉnh và chứa u, G
2

chứa ñỉnh v và có n
2
ñỉnh. Vì G
1
, G
2
là hai trong số các thành phần
liên thông của G nên n
1
+n
2
≤ n. ta có:
deg(u)+deg(v) ≤ (n
1
−1)+(n
2
− 1) = n
1
+n
2
−2 ≤ n−2 <n.
ðiều mâu thuẫn ở trên dẫn ñến kết luận là ñồ thị G phải liên thông.
3.6.6. Hệ quả:
ðơn ñồ thị mà bậc của mỗi ñỉnh của nó không nhỏ hơn một nửa số ñỉnh
là ñồ thị liên thông.
3.6.7. Mệnh ñề:
Nếu một ñồ thị có ñúng hai ñỉnh bậc lẻ thì hai ñỉnh này phải liên
thông, tức là có một ñường ñi nối chúng.
Chứng minh: Cho G=(V,E) là ñồ thị thị có ñúng hai ñỉnh bậc lẻ là u và v. Giả sử u và v
không liên thông với nhau. Khi ñó chúng phải thuộc hai thành phần liên thông nào ñó

của ñồ thị G, G
1
chứa u và G
2
chứa v.
Bậc của ñỉnh u trong G
1
cũng chính là bậc của u trong G, nên trong G
1
ñỉnh u vẫn
có bậc lẻ và G
1
có duy nhất một ñỉnh bậc lẻ. ðiều này mâu thuẫn. Vậy hai ñỉnh u và v
phải liên thông.
3.6.8. Mệnh ñề:
Cho G=(V,E) là một ñồ thị liên thông. Khi ñó một ñỉnh của G là ñiểm
khớp khi và chỉ khi trong G tồn tại hai ñỉnh u và v sao cho mỗi ñường ñi nối u và v ñều
phải ñi qua ñỉnh này.
Chứng minh: ðiều kiện cần: Giả sử ñỉnh x là ñiểm khớp trong ñồ thị G. Khi ñó ñồ thị
con G
1
của G nhận ñược bằng cách xoá x và các cạnh liên thuộc với nó là không liên
thông. Giả sử G
2
, G
3
là hai trong các thành phần liên thông của G
1
. Lấy u là ñỉnh trong
G

2
và v là ñỉnh trong G
3
. Do u, v thuộc hai thành phần liên thông khác nhau, nên trong
G
1
các ñỉnh u, v không liên thông. Nhưng trong G các ñỉnh u, v lại liên thông, nên mọi
ñường ñi nối u, v ñều phải ñi qua ñỉnh x.
Tải miễn phí ðề thi, eBook, Tài liệu học tập

50




ðiều kiện ñủ: Giả sử mọi ñường ñi nối u, v ñều ñi qua ñỉnh x, nên nếu bỏ ñỉnh x và các
cạnh liên thuộc với x thì ñồ thị con G
1
nhận ñược từ G chứa hai ñỉnh u, v không liên
thông. Do ñó G
1
là ñồ thị không liên thông hay ñỉnh x là ñiểm khớp của G.
3.6.9. ðịnh lý:
Cho G là một ñơn ñồ thị có n ñỉnh, m cạnh và k thành phần liên thông.
Khi ñó
2
)1)((
+



≤≤−
knkn
mkn
.
Chứng minh: Bất ñẳng thức
m
k
n


ñược chứng minh bằng quy nạp theo m. Nếu
m=0 thì k=n nên bất ñẳng thức ñúng. Giả sử bất ñẳng thức ñúng ñến m−1, với m ≥ 1.
Gọi G’ là ñồ thị con bao trùm của G có số cạnh m
0
là nhỏ nhất sao cho nó có k thành
phần liên thông. Do ñó việc loại bỏ bất cứ cạnh nào trong G’ cũng tăng số thành phần
liên thông lên 1 và khi ñó ñồ thị thu ñược sẽ có n ñỉnh, k+1 thành phần liên thông và
m
0
−1 cạnh. Theo giả thiết quy nạp, ta có m
0
−1 ≥ n−(k+1) hay m
0
≥ n−k. Vậy m ≥ n-k.
Bổ sung cạnh vào G ñể nhận ñược ñồ thị G’’ có m
1
cạnh sao cho k thành phần
liên thông là những ñồ thị ñầy ñủ. Ta có m ≤ m
1
nên chỉ cần chứng minh

m
1

2
)1)((
+


knkn
.
Giả sử G
i
và G
j
là hai thành phần liên thông của G’’ với n
i
và n
j
ñỉnh và n
i
≥ n
j
>1 (*).
Nếu ta thay G
i
và G
j
bằng ñồ thị ñầy ñủ với n
i
+1 và n

j
−1 ñỉnh thì tổng số ñỉnh không
thay ñổi nhưng số cạnh tăng thêm một lượng là:
1
2
)2)(1(
2
)1(
2
)1(
2
)1(
+−=






−−












+
ji
jjjj
iiii
nn
nnnn
nnnn
.
Thủ tục này ñược lặp lại khi hai thành phần nào ñó có số ñỉnh thoả (*). Vì vậy m
1
là lớn
nhất (n, k là cố ñịnh) khi ñồ thị gồm k-1 ñỉnh cô lập và một ñồ thị ñầy ñủ với n-k+1
ñỉnh. Từ ñó suy ra bất ñẳng thức cần tìm.
3.6.10. ðịnh nghĩa:
ðồ thị có hướng G ñược gọi là liên thông mạnh nếu với hai ñỉnh
phân biệt bất kỳ u và v của G ñều có ñường ñi từ u tới v và ñường ñi từ v tới u.
ðồ thị có hướng G ñược gọi là liên thông yếu nếu ñồ thị vô hướng nền của nó là
liên thông.
ðồ thị có hướng G ñược gọi là liên thông một chiều nếu với hai ñỉnh phân biệt
bất kỳ u và v của G ñều có ñường ñi từ u tới v hoặc ñường ñi từ v tới u.
Thí dụ 20:




G G’
u

v


y

s

w

t

x

u

v

w

y

s

t

x

Tải miễn phí ðề thi, eBook, Tài liệu học tập

51





ðồ thị G là liên thông mạnh nhưng ñồ thị G’ là liên thông yếu (không có ñường
ñi từ u tới x cũng như từ x tới u).
3.6.11. Mệnh ñề:
Cho G là một ñồ thị (vô hướng hoặc có hướng) với ma trận liền kề A
theo thứ tự các ñỉnh v
1
, v
2
, , v
n
. Khi ñó số các ñường ñi khác nhau ñộ dài r từ v
i
tới v
j

trong ñó r là một số nguyên dương, bằng giá trị của phần tử dòng i cột j của ma trận A
r
.
Chứng minh: Ta chứng minh mệnh ñề bằng quy nạp theo r. Số các ñường ñi khác nhau
ñộ dài 1 từ v
i
tới v
j
là số các cạnh (hoặc cung) từ vi tới v
j
, ñó chính là phần tử dòng i cột
j của ma trận A; nghĩa là, mệnh ñề ñúng khi r=1.
Giả sử mệnh ñề ñúng ñến r; nghĩa là, phần tử dòng i cột j của A

r
là số các ñường
ñi khác nhau ñộ dài r từ v
i
tới v
j
. Vì A
r+1
=A
r
.A nên phần tử dòng i cột j của A
r+1
bằng
b
i1
a
1j
+b
i2
a
2j
+ +b
in
a
nj
,
trong ñó b
ik
là phần tử dòng i cột k của A
r

. Theo giả thiết quy nạp b
ik
là số ñường ñi
khác nhau ñộ dài r từ v
i
tới v
k
.
ðường ñi ñộ dài r+1 từ v
i
tới v
j
sẽ ñược tạo nên từ ñường ñi ñộ dài r từ v
i
tới ñỉnh
trung gian v
k
nào ñó và một cạnh (hoặc cung) từ v
k
tới v
j
. Theo quy tắc nhân số các
ñường ñi như thế là tích của số ñường ñi ñộ dài r từ v
i
tới v
k
, tức là b
ik
, và số các cạnh
(hoặc cung) từ v

k
tới v
j
, tức là a
kj
. Cộng các tích này lại theo tất cả các ñỉnh trung gian v
k

ta có mệnh ñề ñúng ñến r+1.

BÀI TẬP CHƯƠNG III:

1.
Cho G là ñồ thị có v ñỉnh và e cạnh, còn M, m tương ứng là bậc lớn nhất và nhỏ nhất
của các ñỉnh của G. Chứng tỏ rằng
m ≤
2e
v
≤ M.
2
22
2.
. .
.
Chứng minh rằng nếu G là ñơn ñồ thị phân ñôi có v ñỉnh và e cạnh, khi ñó
e ≤ v
2
/4.

3.

Trongmột phương án mạng kiểu lưới kết nối n=m
2
bộ xử lý song song, bộ xử lý P(i,j)
ñược kết nối với 4 bộ xử lý (P(i±1) mod m, j), P(i, (j±1) mod m), sao cho các kết nối
bao xung quanh các cạnh của lưới. Hãy vẽ mạng kiểu lưới có 16 bộ xử lý theo phương
án này.
4
44
4.
. .
.
Hãy vẽ các ñồ thị vô hướng ñược biểu diễn bởi ma trận liền kề sau:
a)
1 2 3
2 0 4
3 4 0










, b)
1 2 0 1
2 0 3 0
0 3 1 1

1 0 1 0












, c)
0 1 3 0 4
1 2 1 3 0
3 1 1 0 1
0 3 0 0 2
4 0 1 2 3

















.

Tải miễn phí ðề thi, eBook, Tài liệu học tập

52




5.

Nêu ý nghĩa của tổng các phần tử trên một hàng (t.ư. cột) của một ma trận liền kề ñối
với một ñồ thị vô hướng ? ðối với ñồ thị có hướng ?

6.
Tìm ma trận liền kề cho các ñồ thị sau:
a
aa
a)
) )
) K
n
, b) C
n
, c) W

n
, d) K
m,n
, e) Q
n
.

7.
Có bao nhiêu ñơn ñồ thị không ñẳng cấu với n ñỉnh khi:
a) n=2, b) n=3, c) n=4.
8. Hai ñơn ñồ thị với ma trận liền kề sau ñây có là ñẳng cấu không?














0111
1000
1001
1010
,















0111
1001
1001
1110
.
9.
Hai ñơn ñồ thị với ma trận liền kề sau ñây có là ñẳng cấu không?















01110
11000
10101
00011
,














10101
01001
01110
10010
.
10.

Các ñồ thị G và G’ sau có ñẳng cấu với nhau không?
a)







b)




11.
Cho V={2,3,4,5,6,7,8} và E là tập hợp các cặp phần tử (u,v) của V sao cho u<v và
u,v nguyên tố cùng nhau. Hãy vẽ ñồ thị có hướng G=(V,E). Tìm số các ñường ñi phân
biệt ñộ dài 3 từ ñỉnh 2 tới ñỉnh 8.
12.
Hãy tìm số ñường ñi ñộ dài n giữa hai ñỉnh liền kề (t.ư. không liền kề) tùy ý trong
K
3,3
với mỗi giá trị của n sau:
a)
n=2,
b)
n=3,
c)
n=4,


d)
n=5.
u
1

u
2

u
3

u
4

u
5

u
6

v
1

v
2

v
4

v

3

v
5

v
6

u
1

u
2

u
3

u
4

u
5

u
6

v
1

v

2

v
6

v
3

v
5

v
4

Tải miễn phí ðề thi, eBook, Tài liệu học tập

53




14.
Một cuộc họp có ít nhất ba ñại biểu ñến dự. Mỗi người quen ít nhất hai ñại biểu
khác. Chứng minh rằng có thể xếp ñược một số ñại biểu ngồi xung quanh một bàn tròn,
ñể mỗi người ngồi giữa hai người mà ñại biểu ñó quen.
15.
Một lớp học có ít nhất 4 sinh viên. Mỗi sinh viên thân với ít nhất 3 sinh viên khác.
Chứng minh rằng có thể xếp một số chẵn sinh viên ngồi quanh một cái bàn tròn ñể mỗi
sinh viên ngồi giữa hai sinh viên mà họ thân.
16.

Trong một cuộc họp có ñúng hai ñại biểu không quen nhau và mỗi ñại biểu này có
một số lẻ người quen ñến dự. Chứng minh rằng luôn luôn có thể xếp một số ñại biểu
ngồi chen giữa hai ñại biểu nói trên, ñể mỗi người ngồi giữa hai người mà anh ta quen.
17.
Một thành phố có n (n ≥ 2) nút giao thông và hai nút giao thông bất kỳ ñều có số
ñầu mối ñường ngầm tới một trong các nút giao thông này ñều không nhỏ hơn n. Chứng
minh rằng từ một nút giao thông tuỳ ý ta có thể ñi ñến một nút giao thông bất kỳ khác
bằng ñường ngầm.

×