Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 1
8 2
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 2
1
2
4
Bài 1 6
6
- chu trình - 8
12
12
ông 13
14
Bài 2 18
18
- 18
2.2.2. 20
20
Bài 3 Euler 22
22
22
23
Bài 4 26
27
Bài 5 nh Euler và Hamilton. 31
31
31
32
33
Bài 6 34
34
37
40
Bài 7 Cây và cây khung 42
7.1. Cây và cây khung 42
7.1.1. Cây 42
43
45
48
50
Bài 8 53
53
55
56
57
Bài 10 60
60
-Bellman 61
Dijkstra 63
Bài 11 66
66
70
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 3
71
Bài 12 72
- 72
73
73
76
Bài 13 87
87
13.1.1 Các bài toán liên 87
88
trình 90
91
u 95
104
105
106
106
109
112
Bài 14 115
115
116
14.3 Bài 116
118
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 4
Hình 1.1 6
Hình 1.2 7
Hình 1.3 7
Hình 1.4 8
Hình 1.5 9
Hình 1.6 10
11
Hình 1.8 12
Hình 1.9 13
Hình 1.10 14
Hình 1.11
3
, C
4
, C
5
, C
6
15
Hình 1.12
3
, W
4
, W
5
, W
6
15
Hình 1.13
1
, Q
2
, Q
3
15
Hình 1.14 16
Hình 1.15
4
16
Hình 1.16 17
1
18
22
1
, G
2
, G
3
23
1
, H
2
, H
3
23
24
26
3
2
, và G
1
27
5
6
28
30
33
35
41
42
44
49
53
1
53
55
57
66
70
f
75
-Fullkerson 82
83
Hình 12.4 84
85
92
92
93
94
95
96
Hình 13. 98
99
Hình 13.9 Phân c 101
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 5
101
103
104
105
108
109
110
110
111
111
113
115
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 6
Bài 1
1.1.
kiểu và số lượng
Hình 1.1 Sơ đồ mạng máy tính.
ính nào
đơn đồ thị vô
hướng
Đơn đồ thị vô hướng G = (V,E) bao gồm V là tập các đỉnh, và E là tập các cặp không có
thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh.
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 7
Hình 1.2 Sơ đồ mạng máy tính với đa kênh thoại.
Đa đồ thị vô hướng G= (V, E) bao gồm V là tập các đỉnh, và E là tập các cặp không có
thứ tự gồm hai phần tử khác nhau của V gọi là các cạnh. Hai cạnh e
1
và e
2
được gọi là
cạnh lặp nếu chúng cùng tương ứng với một cặp đỉnh.
Hình 1.3 Sơ đồ mạng máy tính với kênh thoại thông báo.
khuyên
giả đồ thị vô hướng,
au:
Giả đồ thị vô hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập các cặp không có
thứ tự gồm hai phần tử (không nhất thiết phải khác nhau) của V gọi là cạnh. Cạnh e
được gọi là khuyên nếu nó có dạng e = (u, u).
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 8
Hình 1.4 Mạng máy tính với kênh thoại một chiều.
Đơn đồ thị có hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập các cặp có thứ tự
gồm hai phần tử khác nhau của V gọi là các cung.
đa
đồ thị có hướng:
Đa đồ thị có hướng G = (V, E) bao gồm V là tập các đỉnh và E là tập các cặp có thứ tự
gồm hai phần tử khác nhau của V gọi là các cung. Hai cung e
1
, e
2
tương ứng với cùng
một cặp đỉnh được gọi là cung lặp.
chúng.
1.2. - chu trình -
Đường đi độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên dương, trên đồ thị vô
hướng G = (V, E) là dãy x
0
, x
1
,…, x
n-1
, x
n
trong đó u = x
0
, v = x
n
, (x
i
, x
i+1
)
E, i = 0, 1, 2,…, n-1.
Đường đi nói trên còn có thể biểu diễn dưới dạng dãy các cạnh:
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 9
(x
0
, x
1
), (x
1
, x
2
), …, (x
n-1
, x
n
)
Đỉnh u gọi là đỉnh đầu, còn đỉnh v gọi là đỉnh cuối của đường đi. Đường đi có đỉnh đầu
trùng với đỉnh cuối (tức là u = v) được gọi là chu trình. Đường đi hay chu trình được gọi
là đơn nếu như không có cạnh nào bị lặp lại.
Còn d, e, c, a
Hình 1.5 Đường đi trên đồ thị
các cung.
a 1.7
Đường đi độ dài n từ đỉnh u đến đỉnh v, trong đó, n là số nguyên dương, trên đồ thị có
hướng G = (V, A) là dãy x
0
, x
1
,…, x
n-1
, x
n
trong đó u = x
0
, v = x
n
, (xi, x
i+1
)
E, i = 0, 1, 2,…, n-1.
Đường đi nói trên còn có thể biểu diễn dưới dạng dãy các cung:
(x
0
, x
1
), (x
1
, x
2
), …, (x
n-1
, x
n
)
Đỉnh u gọi là đỉnh đầu, còn đỉnh v gọi là đỉnh cuối của đường đi. Đường đi có đỉnh đầu
trùng với đỉnh cuối (tức là u = v) được gọi là chu trình. Đường đi hay chu trình được gọi
là đơn nếu như không có cạnh nào bị lặp lại.
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 10
Đồ thị vô hướng G = (V, E) được gọi là liên thông nếu luôn tìm được đường đi giữa hai
đỉnh bất kỳ của nó.
Hình 1.6 Đồ thị G và H.
Ta gọi đồ thị con của đồ thị G = (V, E) là đồ thị H = (W, F), trong đó W
V và F
E.
các thành phần liên thông
1
, H
2
, H
3
.
Đỉnh v được gọi là đỉnh rẽ nhánh nếu việc loại bỏ v cùng với các cạnh liên thuộc với nó
khỏi đồ thị làm tăng số thành phần liên thông của đồ thị. Cạnh e được gọi là cầu nếu
việc loại bỏ nó khỏi đồ thị làm tăng số thành phần liên thông của đồ thị.
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 11
Đồ thị có hướng G = (V, A) được gọi là liên thông mạnh nếu luôn tìm được đường đi
giữa hai đỉnh bất kỳ của nó.
Đồ thị có hướng G = (V, A) được gọi là liên thông yếu nếu đồ thị vô hướng tương ứng
với nó là vô hướng liên thông.
Hình 1.7 Đồ thị liên thông mạnh G và đồ thị liên thông yếu H.
Đồ thị vô hướng liên thông là định hướng được khi và chỉ khi mỗi cạnh của nó nằm trên
ít nhất một chu trình.
Điều kiện cần.
nh.
Điều kiện đủ.
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 12
1.3.1. Đồ thị vô hướng liên thông
Hai đỉnh u và v của đồ thị vô hướng G được gọi là kề nhau nếu (u,v) là cạnh của đồ thị
G. Nếu e = (u, v) là cạnh của đồ thị ta nói cạnh này là liên thuộc với hai đỉnh u và v,
hoặc cũng nói là nối đỉnh u và đỉnh v, đồng thời các đỉnh u và v sẽ được gọi là các đỉnh
đầu của cạnh (u, v).
Ta gọi bậc của đỉnh v trong đồ thị vô hướng là số cạnh liên thuộc với nó và sẽ ký hiệu là
deg(v).
Hình 1.8 Đồ thị vô hướng
deg(a) = 1, deg(b) = 4, deg(c) = 4, deg(f) = 3,
deg(d) = 1, deg(e) = 3, deg(g) = 0
đỉnh cô lập
Giả sử G = (V, E) là đồ thị vô hướng với m cạnh. Khi đó tổng bậc của tất cả
các đỉnh bằng hai lần số cung.
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 13
ng deg(u)
trong deg(v)
2m = 6n
Trong đồ thị vô hướng, số đỉnh bậc lẻ (nghĩa là có bậc là số lẻ) là một số
chẵn.
OvUv
vvm )deg()deg(2
Do deg(v)
1.3.2. Đồ thị có hướng liên thông
Nếu e = (u, v) là cung của đồ thị có hướng G thì ta nói hai đỉnh u và v là kề nhau, và nói
cung (u, v) nối đỉnh u với đỉnh v hoặc cũng nói cung này là đi ra khỏi đỉnh u và vào đỉnh
v. Đỉnh u(v) sẽ được gị là đỉnh đầu (cuối) của cung (u,v).
Ta gọi bán bậc ra (bán bậc vào) của đỉnh v trong đồ thị có hướng là số cung của đồ thị
đi ra khỏi nó (đi vào nó) và ký hiệu là deg
+
(v) (deg
-
(v))
Hình 1.9 Đồ thị có hướng
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 14
Ta có
deg
-
(a)=1, deg
-
(b)=2, deg
-
(c)=2, deg
-
(d)=2, deg
-
(e) = 2.
deg
+
(a)=3, deg
+
(b)=1, deg
+
(c)=1, deg
+
(d)=2, deg
+
(e)=2.
Giả sử G = (V, E) là đồ thị có hướng. Khi đó
2m =
deg ( ) deg ( )vv
đồ thị vô hướng tương ứng
n
3
, K
4
, K
5
Hình 1.10 Đồ thị đầy đủ
n
-
n
1
, v
2
,. . . .v
n
1
,v
2
), (v
2
,v
3
) . . . (v
n-1
,v
n
),
(v
n
,v
1
).
3
, C
4
, C
5
, C
6
cho trong hình 2.2
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 15
Hình 1.11 Đồ thị vòng C
3
, C
4
, C
5
, C
6
n
n
n
(xem hình 2.3).
Hình 1.12 Đồ thị bánh xe W
3
, W
4
, W
5
, W
6
Q
n
n
n
Hình 1.13 Đồ thị lập phương Q
1
, Q
2
, Q
3
phía
Y.
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 16
Đơn đồ thị là đồ thị hai phía khi và chỉ khi nó không chứa chu trình độ dài
lẻ.
2,3,
K
3,3,
K
3,4
nh 1.14.
Hình 1.14 Đồ thị hai phía
4
1.15).
Hình 1.15 Đồ thị K
4
là đồ thị phẳng
4
trong
hình 1.15).
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 17
Đồ thị là phẳng khi và chỉ khi nó không chứa đồ thị con đồng
cấu với K
3,3
hoặc K
5
.
3,3
5
3,3
o trong Hình 1.16 chia
1,
R
2,
. . . .R
6
.
Hình 1.16 Các miền tương ứng với biểu diễn phẳng của đồ thị
. Giả sử G là đồ thị phẳng liên thông với n đỉnh, m cạnh.
Gọi r là số miền của mặt phẳng bị chia bởi biểu diễn phẳng của G. Khi đó
r = m-n + 2
là
r = 30-20+2=12.
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 18
Bài 2
2.2.1. Ma trận kề - Ma trận trọng số
1
,
e
2
, . . . ,e
m
}
A=( a
i,j
: i, j = 1, 2, . . . ,n)
a
i,j
j hay (i, j) E, i, j =1, 2,. . ., n.
a
i, j
1
2
3
4
5
6
1
0
1
1
0
1
0
2
1
0
1
0
1
0
3
1
1
0
1
0
0
4
0
0
1
0
1
1
5
1
1
0
1
0
1
6
0
0
0
1
1
0
Hình 2.1 Đồ thị vô hướng G và Đồ thị có hướng G
1
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 19
a[i,j]=a[j,i],
-
j).
3) N
p
, i,j=1, 2,. . . ,n A
p
p
-
trung gian.
1
1
2
3
4
5
6
1
0
1
1
0
0
0
2
0
0
0
0
0
0
3
0
1
0
1
0
0
4
0
0
0
0
0
0
5
0
0
0
1
0
1
6
0
0
0
0
1
0
Chú ý:
C= {c[i,j], i, j = 1, 2,. . ., n}
E và c[i,j]= E
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 20
: 0, +
, -
.
không, chúng ta
2
2.2.2. Danh sách cạnh (cung)
Chú ý
1
) cho trong Hình 2.1 là:
Đầu
Cuối
Đầu
Cuối
1
2
1
2
1
3
1
3
2
3
3
2
2
5
3
4
3
4
5
4
4
5
5
6
4
6
6
5
5
6
G
1
2.2.3. Danh sách kề
Ke(v)= { u V: (v,u) E }
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 21
for u Ke(v) do. . .
Hình 2.2 Danh sách kề của đồ thị G và G
1
cho trong Hình 2.1
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 22
Bài 3 Euler
-1783). Thành
Hình 3.1 Mô hình 7 cây cầu ở Konigsberg
hình trên.
Bài toá
1
3
3
2
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 23
Hình 3.2 Đồ thị G
1
, G
2
, G
3
2
ler a, b, c, d, e, a.
3
3
là
1
Hình 3.3 Đồ thị H
1
, H
2
, H
3
Đồ thị vô hướng liên thông G là đồ thị Euler khi và chỉ khi mọi đỉnh
của G đều có bậc chẵn.
v v
1
v
2
. . .
1
i+1
i-l
i+1
deg(v
i
k
g
k
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 24
N
ta có thể xây dựng chu trình Euler trong G như sau
Hình 3.4 Minh hoạ cho chứng minh Định lý 3.1
Giáo trình TOÁN RỜI RẠC 2 Bộ môn Công nghệ phần mềm - 2012
Trang 25
Euler trong G.
void Euler_Cycle()
{
STACK= ; CE= ;
Chon u la mot dinh nao do cua do thi;
STACK u;
while (STACK!=) do
{
X=top(STACK); /* x la phan tu dau STACK*/
if (Ke(x)!=)
{
Y=dinh dau tien trong danh sach Ke(x);
STACK y;
/* loai bo canh (x,y) khoi do thi */
Ke(x)=Ke(x)\ { y} ;
Ke(y)=Ke(y)\{ x} ;
}
else
x STACK; CE x;
}
}