Toán rời rạc
Chia sẻ bởi Trương Nhân |
Ngày 14/10/2018 |
24
Chia sẻ tài liệu: Toán rời rạc thuộc Tư liệu tham khảo
Nội dung tài liệu:
Đồ thị
Biên soạn
TS. Nguyễn Viết Đông
1
Những khái niệm và tính chất cơ bản
Định nghĩa đồ thị
Định nghĩa1.Đồ thị vô hướng G = (V, E) gồm:
i) V là tập hợp khác rỗng mà các phần tử của nó gọi là đỉnh(vertex) của G.
ii) E là đa tập hợp gồm các cặp không sắp thứ tự của hai đỉnh. Mỗi phần tử của E được gọi là một cạnh(edge) của G. Ký hiệu uv.
2
3
Ta nói cạnh uv nối u với v, cạnh uv kề với u,v.
Nếu uv E thì ta nói đỉnh u kề đỉnh v.
Hai cạnh nối cùng một cặp đỉnh gọi là hai cạnh song song.
Cạnh uu có hai đầu mút trùng nhau gọi là một khuyên.
Những khái niệm và tính chất cơ bản
Chú ý
4
5
Định nghĩa 2. Đồ thị vô hướng không có cạnh song song và không có khuyên gọi là đơn đồ thị vô hướng.
Định nghĩa 3. Đồ thị vô hướng cho phép có cạnh song song nhưng không có khuyên gọi là đa đồ thị vô hướng.
Định nghĩa 4. Đồ thị vô hướng cho phép có cạnh song song và có khuyên gọi là giả đồ thị
6
Những khái niệm và tính chất cơ bản
7
b
c
8
Những khái niệmvà tính chấtcơ bản
Simple Graph
Definition . A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges.
9
There can be multiple telephone lines between two computers in the network.
Multigraph -A Non-Simple Graph
In a multigraph G = (V, E) two or more edges may connect the same pair of vertices.
10
Multiple Edges
Two edges are called multiple or parallel edges
if they connect the same two distinct vertices.
11
Pseudograph- A Non-Simple Graph
There can be telephone lines in the network from a computer to itself (for diagnostic use).
In a pseudograph G = (V, E) two or more edges may connect the same pair of vertices, and in addition, an edge may connect a vertex to itself.
12
Loops
An edge is called a loop if it connects a vertex to itself.
13
pseudographs
simple graphs
multigraphs
Undirected Graphs
Định nghĩa 5
14
Những khái niệm và tính chất cơ bản
Đa đồ thị có hướng G =(V,E) gồm:
i) V là tập hợp khác rỗng mà các phần tử của nó gọi là đỉnh của G.
ii)E là đa tập hợp gồm các cặp có sắp thứ tự của hai đỉnh. Mỗi phần tử của E được gọi là một cung(cạnh)của G. Ký hiệu uv.
Ta nói cung uv đi từ u đến v, cung uv kề với u,v
15
a
b
c
d
Nếu uv là một cung thì ta nói:
Đỉnh u và v kề nhau.
Đỉnh u gọi là đỉnh đầu(gốc), đỉnh v là đỉnh cuối (ngọn) của cung uv.Đỉnh v là đỉnh sau của đỉnh u.
Hai cung có cùng gốc và ngọn gọi là cung song song.
Cung có điểm gốc và ngọn trùng nhau gọi là khuyên.
16
Những khái niệm và tính chất cơ bản
Chú ý
17
Những khái niệm và tính chất cơ bản
Định nghĩa 6: Đa đồ thị có hướng không chứa các cạnh song song gọi là đồ thị có hướng
18
19
In a directed graph G = (V, E ) the edges are ordered pairs of (not necessarily distinct) vertices.
A Directed Graph
Some telephone lines in the network may operate in only one direction .
20
A Directed Graph
The telephone lines in the network that operate in two directions are represented
by pairs of edges in opposite directions.
21
In a directed multigraph G = (V, E ) the edges are ordered pairs of (not necessarily distinct) vertices,
and in addition there may be multiple edges.
A Directed Multigraph
There may be several one-way lines in the same direction from one computer
to another in the network.
22
TYPE EDGES MULTIPLE EDGES LOOPS
ALLOWED? ALLOWED?
Simple graph Undirected NO NO
Multigraph Undirected YES NO
Pseudograph Undirected YES YES
Directed graph Directed NO YES
Directed multigraph Directed YES YES
Types of Graphs
Ta sử dụng ma trận kề.
Cho G = (V,E) với V={1,2,…,n}.
Ma trận kề của G là ma trận A = (aij)n xác định như sau:
aij = số cạnh(số cung) đi từ đỉnh i đến đỉnh j
23
Những khái niệm và tính chất cơ bản
Biểu diễn ma trận của đồ thị:
24
c
Tìm ma trận kề
25
Tìm ma trận kề
Cho đồ thị vô hướng G = (V,E). Bậc của đỉnh v, ký hiệu deg(v), là số cạnh kề với v , trong đó một khuyên tại một đỉnh được đếm hai lần cho bậc của đỉnh ấy.
26
Những khái niệm và tính chất cơ bản
Bậc của đỉnh
27
c
Bậc đỉnh a:
deg(a) = 2
Bậc đỉnh b:
deg(b) = 5
Bậc đỉnh c:
deg(c) = 3
Bậc đỉnh d:
deg(d) = 2
28
Bậc của các đỉnh?
1) deg-(v):= số cung có đỉnh cuối là v, gọi là bậc vào của v.
2) deg +(v):= số cung có đỉnh đầu là v,gọi là bậc ra của v
3) deg(v):= deg- (v) + deg+(v)
Đỉnh bậc 0 gọi là đỉnh cô lập. Đỉnh bậc 1 gọi là đỉnh treo
29
Những khái niệm và tính chất cơ bản
Cho đồ thị có hướng G = (V, E), vV
30
31
a
b
d
c
f
e
Bậc đỉnh a:
Bậc đỉnh b:
Bậc đỉnh c:
Bậc đỉnh d:
Bậc đỉnh e:
Bậc đỉnh f:
deg-(a)= 1 ; deg+(a)=1
deg-(b)= 1 ; deg+(b)=3
deg-(c)= 1 ; deg+(c)=2
deg-(d)= 0 ; deg+(d)=0
deg-(e)= 1 ; deg+(e)=0
deg-(f)= 2 ; deg+(f)=0
Cho đồ thị G = (V,E), m là số cạnh (cung)
32
Những khái niệm và tính chất cơ bản
Định lí
1)
2) Nếu G có hướng thì:
3) Số đỉnh bậc lẻ của đồ thị là số chẵn
Định nghĩa
Cho hai đơn đồ thị G = (V,E) và G’= (V’,E’).
Ta nói rằng G đẳng cấu G’, ký hiệu G G’, nếu tồn
tại song ánh f :V→ V’sao cho:
uv là cạnh của G f(u)f(v) là cạnh của G’
33
Những khái niệm và tính chất cơ bản
Đẳng cấu
Chú ý
34
Những khái niệm và tính chất cơ bản
Nếu G và G’ là các đơn đồ thị vô hướng đẳng cấu qua ánh xạ f thì chúng có:
Cùng số đỉnh
Cùng số cạnh
Cùng số đỉnh với bậc cho sẵn(vd: số đỉnh bậc 2 của G và G’ bằng nhau)
deg v = deg f(v)
35
Graph Isomorphism
Note. Isomporphic simple graphs must have the same invariants:
The number of vertices
The number of edges
The degrees of the vertices
No vertex of deg 1
Non-isomorphic graphs
36
Isomorphism Example
a
b
c
d
e
f
1
2
3
6
5
4
37
Non-Isomorphic Example
a
b
4
d
e
1
2
3
c
5
38
39
Are These Isomorphic?
a
b
c
d
e
* Same # of
vertices
* Same # of
edges
* Different
# of verts of
degree 2!
(1 vs 3)
Cho hai đồ thị G = (V,E) và G’ = (V’,E’)
(cùng vô hướng hoặc cùng có hướng).
G’ được gọi là đồ thị con của G, ký hiệu G’ G nếu V’ V và E’ E
Nếu V’= V và E’ E thì G’ được gọi là đồ thị
con khung của G.
40
Những khái niệm và tính chất cơ bản
Đồ thị con
Những khái niệm và tính chất cơ bản
41
G
Subgraphs
H
Cho G = (V,E) là đồ thị vô hướng u,vV
Đường đi ( dây chuyền) có chiều dài k nối hai
đỉnh u,v là dãy đỉnh và cạnh liên tiếp nhau
v0e1v1e2…vk-1ekvk sao cho:
v 0=u ,v k = v, e i=v i-1v i , i=1,2,…,k
42
Đường đi, chu trình, đồ thị liên thông:
b) Đường đi không có cạnh nào xuất hiện quá
một lần gọi là đường đi đơn
c) Đường đi không có đỉnh nào xuất hiện quá
một lần gọi là đường đi sơ cấp
d) Đườ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
43
Đường đi, chu trình, đồ thị liên thông
44
(a, e1,b,e2,c,e3,d,e4,b )là đường đi từ đỉnh a tới đỉnh b có chiều dài là 4. Tuy nhiên, trong trường hợp này, đồ thị của chúng ta là đơn đồ thị, do vậy có thể gọi đường đi này bằng 1 cách ngắn gọn như sau: (a,b,c,d,b)
Chu trình sơ cấp:
(b,c,d,b)
(b,f,e,b)
Chu trình sơ cấp nào không?
Định nghĩa. Cho G = (V,E). Trên V ta định nghĩa
quan hệ tương đương như sau:
u~v u = v hay có một đường đi từ u đến v
Nếu u~v thì ta nói hai đỉnh u và v liên thông với nhau
Mỗi lớp tương đương được gọi là một thành phần liên thông của G
Nếu G chỉ có một thành phần liên thông thì G gọi là liên thông
45
Đường đi, chu trình, đồ thị liên thông
46
Định nghĩa. Cho G = (V,E) là đồ thị vô hướng
liên thông
Đỉnh v được gọi là đỉnh khớp nếu G – v không liên thông (G – v là đồ thị con của G có được bằng cách xoá v và các cạnh kề với v)
Cạnh e được gọi là cầu nếu G- e không liên thông( G-e là đồ thị con của G có được bằng cách xoá cạnh e).
47
Đường đi, chu trình, đồ thị liên thông
48
Định nghĩa. Cho G = (V,E) vô hướng liên thông,
không phải Kn, n>2.
a) Số liên thông cạnh của G, ký hiệu e(G) là số cạnh ít nhất mà khi xoá đi G không còn liên thông nữa.
b) Số liên thông đỉnh của G, ký hiệu v(G) là số đỉnh ít nhất mà khi xoá đi G không còn liên thông nữa.
49
Đường đi, chu trình, đồ thị liên thông
50
Định nghĩa. Cho G =(V,E) là đồ thị có hướng u,vV
Đường đi ( dây chuyền) có chiều dài k nối hai đỉnh u,v là dãy đỉnh và cung liên tiếp nhau v0e1v1e2….vk-1ek sao cho:
v0 = u, vk = v
ei = vi-1vi , i = 1,2,,…,k.
51
Đường đi, chu trình, đồ thị liên thông
b) Đường đi không có cung nào xuất hiện quá một lần gọi là đường đi đơn.
c) Đường đi không có đỉnh nào xuất hiện quá một lần gọi là đường đi sơ cấp.
d) Đường đi được gọi là mạch(chu trình) nếu nó bắt đầu và kết thúc tại cùng một đỉnh.
52
Đường đi, chu trình, đồ thị liên thông
53
Đường đi có độ dài 4 từ đỉnh 1 tới đỉnh 2 là : (1,2,3,4,2)
Định nghĩa. Cho đồ thị có hướng G = (V,E). Trên V ta định nghĩa quan hệ tương đương như sau:
u~v u = v hay có một đường đi từ u đến v và đường đi từ v đến u .
Nếu u~v thì ta nói hai đỉnh u và v liên thông mạnh với nhau .
Mỗi lớp tương đương được gọi là một thành phần liên thông mạnh của G .
Nếu G chỉ có một thành phần liên thông mạnh thì G gọi là liên thông mạnh .
54
Đường đi, chu trình, đồ thị liên thông
55
Đồ thị đủ cấp n: Kn là đơn đồ thị cấp n mà giữa hai
đỉnh bất kỳ đều có một cạnh.
Đồ thị k-đều : là đồ thị mà mọi đỉnh đều có bậc
bằng nhau và bằng k.
Đồ thị lưỡng phân:
G = (V,E), V = V1 V2, , V1 V2 =.
Mọi cạnh của G đều nối một đỉnh trong V1 với một đỉnh
trong V2
56
Một số đồ thị vô hướng đặc biệt
Đồ thị lưỡng phân đủ: là đồ thị đơn, lưỡng
phân, mỗi đỉnh trong V1 đều kề với mọi đỉnh trong V2.
Đồ thị bù
Cho Kn = (V,E), G (V,E1),
gọi là đồ thị bù của G. Đồ thị G đươc gọi là
tự bù nếu G đẳng cấu với đồ thị bù của nó
57
Một số đồ thị đặc biệt
K4
Complete graph Kn
K5
58
Một số đồ thị đặc biệt
C5
Cycle Cn
C4
59
Một số đồ thị đặc biệt
W4
Wheele Wn
W5
60
Một số đồ thị đặc biệt
61
Complete Graphs
K6
Note that Kn has edges.
62
Cycles
How many edges are there in Cn?
63
Wheels
64
n-cubes (hypercubes)
Bipartite Graph
65
Đề thi
1)2000. ĐHBK
Cho đồ thị vô hướng , đơn G có 7 đỉnh trong đó
có một đỉnh bậc 6. Hỏi G có liên thông không?
Giải. Đỉnh bậc 6 nối với 6 đỉnh còn lại. Do đó hai đỉnh bất kỳ đều có một đường đi qua đỉnh bậc 6
66
Đề thi
2)2001,ĐHBK
Cho đồ thị vô hướng G liên thông mà mỗi
đỉnh đều có bậc bằng 20. Chứng minh rằng
nếu xoá đi một cạnh bất kỳ thì đồ thị thu
được vẫn còn liên thông
67
Đề thi
Giải .
Giả sử ta xóa cạnh uv. Ta chỉ cần chứng minh vẫn có đường đi từ u đến v.
Phản chứng. Giả sử không có đường đi từ u đến v. Khi đó thành phần liên thông G’ chứa u mà không chứa v. Trong G’, u có bậc 19, mọi đỉnh khác đều có bậc 20. Tổng các bậc trong G’ là số lẻ .Vô lý.
68
Đề thi
3)2002,ĐHKHTN.
Đồ thị G gồm n đỉnh, 41 cạnh, mọi đỉnh đều có
bậc p. Nếu p lẻ và p> 1 thì đồ thị G có liên thông
không?
69
Đề thi
Giải . Từ công thức bậc của đỉnh ta có np=2.41.
Vì p lẻ nên p là ước của 41. Mà 41 là số nguyên tố nên p = 41. Vậy n = 2
Giả định có 2 đỉnh mà cả 2 đỉnh đều có bậc 41. Nếu G không liên thông thì G phải tách thành 2 thành phần liên thông, mà mỗi thành phần liên thông đều có bậc 41 (lẻ). Vô lý.
70
Đề thi
4)2005, ĐHKHTN.
Vẽ đơn đồ thị vô hướng gồm 6 đỉnh với bậc
2,2,3,3,3,5
71
Đề thi
Giải .
Nhận xét . Đỉnh bậc 5 nối với 5 đỉnh còn lại. Do đó ta chỉ phải quan tâm đến 5 đỉnh còn lại. Ta xét đơn đồ thị với 5 đỉnh và các bậc là 1,1,2,2,2.
TH1. Hai đỉnh bậc 1 nối với nhau, 3 đỉnh bậc 2 nối với nhau tạo thành chu trình
72
Đề thi
73
Đề thi
Suy ra đồ thị cần tìm là
74
Đề thi
TH2. Hai đỉnh bậc 1 không nối với nhau. Khi đó hai đỉnh bậc 1 phải nối với hai đỉnh bậc 2 khác nhau và đỉnh bậc hai còn lại phải nối với hai đỉnh bậc hai ấy
75
Đề thi
Suy ra đồ thị cần tìm là:
76
Đề thi
5)2006 , ĐHKHTN.
Vẽ đồ thị đơn vô hướng gồm 6 đỉnh với bậc
2,2,3,3,3,3
77
Đề thi
Giải.
TH1. 2 đỉnh bậc 2 nối với nhau. Nếu chúng nối đến
cùng một đỉnh bậc 3 thì đỉnh bậc 3 này chỉ nối đến
một trong 3 đỉnh còn lại:không thể đuợc. Như vậy
hai đỉnh bậc hai nối đến hai đỉnh bậc 3 khác nhau.
Bỏ 2 đỉnh bậc hai ta sẽ được một đơn đồ thị vô
hướng gồm 4 đỉnh với bậc 2, 2, 3, 3. Để ý rằng
trong đồ thị này mỗi đỉnh bậc 2 đều nối với 2 đỉnh
bậc 3 và do đó 2 đỉnh bậc 3 cũng nối với nhau.
78
Đề thi
Ta được
79
Đề thi
TH2. 2 đỉnh bậc 2 không nối với nhau nhưng nối đến cùng một đỉnh bậc 3. Khi ấy nếu bỏ đi hai cạnh này ta được một đồ thị 6 đỉnh với bậc 1, 1, 1, 3, 3, 3. Nếu 2 đỉnh bậc 1 nối với nhau hoặc nối đến cùng một đỉnh bậc 3 thì bỏ đi 2 đỉnh này còn lại một đồ thị đỉnh với bậc 1, 3, 3, 3 hoặc 1, 1, 3, 3: không thể được. Như vậy mỗi đỉnh bậc 1 nối đến đỉnh bậc 3 khác nhau. Bỏ đi đỉnh bậc 1 sẽ còn lại một chu trình 2, 2, 2
80
Đề thi
và ta được đồ thị
81
Đề thi
TH3. 2 đỉnh bậc 2 không nối với nhau và mỗi đỉnh nối đến 2 đỉnh bậc 3 khác nhau. Khi ấy nếu bỏ đi hai đỉnh này sẽ còn lại một chu trình 2, 2, 2, 2 và ta được:
82
Đề thi
6) Đề thi 07
Tìm tất cả các đơn đồ thị vô hướng (sai
khác một đẳng cấu) gồm 6 đỉnh với bậc :
2, 2, 2, 3, 3, 4
83
Đề thi
Gi?i 2,5 đ (vẽ mỗi đồ thị được 0,5đ. Lý luận đầy đủ đây là 4 lời giải duy nhất: 0,5đ)
Trường hợp 1: đỉnh bậc 4 nối đến 2 đỉnh bậc 3 và 2 đỉnh bậc 2. Bỏ đỉnh bậc 4 và 4 cạnh tương ứng ta sẽ được 1 đồ thị đơn vô hướng gồm 5 đỉnh với bậc 1, 1, 2, 2, 2.
Trường hợp 1a: mỗi đỉnh bậc 1 đều nối với 1 đỉnh bậc 2 (phải khác nhau). Do đó đỉnh bậc 2 còn lại sẽ nối đến 2 đỉnh bậc 2 trên. Chúng tạo thành một dây chuyền 1,2,2,2,1. Ta được 2 đồ thị không đẵng cấu nhau
84
Đề thi
85
Đề thi
Trường hợp 2: đỉnh bậc 4 nối đến 3 đỉnh bậc 2 và 1 đỉnh bậc 3. Khi ấy nếu bỏ đi đỉnh bậc 4 và các cạnh tương ứng ta sẽ được 1 đồ thị đơn vô hướng gồm 5 đỉnh với bậc 1, 1, 1, 2, 3. Khi ấy đỉnh bậc 3 chỉ có thể nối đến 2 đỉnh bậc 1 và đỉnh bậc 2. Đỉnh bậc 1 còn lại sẽ nối đến đỉnh bậc 2, và ta được
86
Đề thi
87
Đề thi
Trường hợp 1b: 2 đỉnh bậc 1 nối nhau. Như vậy 3 đỉnh bậc 2 tạo thàh một dây chuyền. Ta được đồ thị
88
Đề thi
ĐHKHTN08 .Cho đồ thị G đơn, vô hướng ,10 đỉnh và có nhiều hơn 36 cạnh.Hỏi G có liên thông không ?Tại sao?
Giải(tóm tắt). G là đồ thị liên thông
Phản chứng.
Giả sử G không liên thông .Gọi G1 là một thành phần liên thông gồm k đỉnh 1 k 9.Gọi m là số cạnh của G thì m k2 -10k +45 .
Mà max (k2 -10k +45) =36 (với 1 k 9) nên
m 36.Trái giả thiết.
89
Đề thi
ĐHKHTN 2009.
Xét đồ thị đơn vô hướng G với 6 đỉnh , trong đó có một đỉnh bậc
1 và 5 đỉnh bậc 3. Chứng minh rằng G liên thông.
Giải.
Giả sử G không liên thông. Gọi G1, G2, …,Gk là các thành phần
liên thông của G (k 2). Vì G không có đỉnh cô lập nên mỗi
thành phần liên thông đều phải có ít nhất hai đỉnh. Như vậy mỗi
thành phần liên thông đều phải có ít nhất một đỉnh bậc 3. Suy ra
mỗi thành phần liên thông phải có ít nhất 4 đỉnh. Vậy G phải có ít
nhất 4k 8 đỉnh . Trái giả thiết.
90
Đề thi
Cách khác.
Nếu bỏ đi đỉnh bậc 1 và cạnh kề nó ta sẽ được đơn đồ thị vô
hướng H gồm 5 đỉnh với bậc là 2, 3, 3, 3, 3. Rõ ràng nếu H liên
thông thì G cũng liên thông.
Trong đồ thị H đỉnh bậc 2 phải nối với 2 đỉnh bậc 3 khác nhau.
Bỏ đỉnh bậc 2 này và bỏ hai cạnh kề với nó ta được đồ thị K gồm
4 đỉnh với bậc 2, 2, 3, 3. Rõ ràng nếu K liên thông thì H cũng liên
thông và do đó G cũng liên thông.
Trong đồ thị K hai đỉnh bậc 3 phải nối với nhau. Bỏ cạnh nối hai
đỉnh bậc 3 này ta được đồ thị gồm 4 đỉnh bậc 2, đồ thị này là một
chu trình , nó liên thông . Do đó G liên thông.
91
Bài toán đường đi ngắn nhất
Đồ thị G = (V,E) gọi là đồ thị có trọng số (hay chiều dài, trọng lượng) nếu mỗi cạnh(cung) e được gán với một số thực w(e).Ta gọi w(e) là trọng lượng của e.
Độ dài của đường đi từ u đến v bằng tổng độ dài các cạnh mà đường đi qua
Khoảng cách giữa 2 đỉnh u,v là độ dài ngắn nhất của các đường đi từ u đến v.
92
Đồ thị có trọng số
Bài toán đường đi ngắn nhất
Cho G = (V, E), V = {v1,v2,…,vn} là đơn đồ thị có trọng
số. Ma trận khoảng cách của G là ma trận D= (dij) xác
định như sau:
93
Ma trận khoảng cách(trọng số)
94
Bài toán đường đi ngắn nhất
Bài toán.
Cho G = (V, E) đơn, liên thông, có trọng số dương
(w(uv) > 0 với mọi u khác v). Tìm đường đi ngắn
nhất từ u0 đến v và tính khoảng cách d(u 0,v).
95
Thuật toán Dijkstra
Bài toán đường đi ngắn nhất
Phương pháp
Xác định tuần tự các đỉnh có khoảng cách đến u0
từ nhỏ đến lớn.
Trước tiên đỉnh có khoảng cách nhỏ nhất đến u0 là u0.
Trong V{u0} tìm đỉnh có khoảng cách đến u0 nhỏ nhất (đỉnh này phải là một trong các đỉnh kề với u0) giả sử đó là u1
96
Bài toán đường đi ngắn nhất
Trong V{u0,u1} tìm đỉnh có khoảng cách đến u0 nhỏ nhất(đỉnh này phải là một trong các đỉnh kề với u0 hoặc u1 )giả sử đó là u2
Tiếp tục như trên cho đến bao giờ tìm được khoảng cách từ u0 đến mọi đỉnh .
Nếu G có n đỉnh thì:
0 = d(u0,u0) < d(u0,u1) d(u0,u2) … d(u0,un-1)
97
Bước1. i:=0, S:=V{u0}, L(u0):=0, L(v):=với mọi v S và
đánh dấu đỉnh v bởi(,-). Nếu n=1 thì xuất d(u0,u0)=0=L(u0)
Bước2. Với mọi v S và kề với ui(nếu đồ thị có hướng thì v
là đỉnh sau của ui), đặt L(v):=min{L(v),L(ui)+w(ui v)}.Xác
định k =minL(v) ,vS.
Nếu k=L(vj) thì xuất d(u0,vj)=k và đánh dấu vj bởi (L(vj);ui). ui+1:=vj S:=S{ui+1}
Bước3 i:=i+1
Nếu i = n-1 thì kết thúc
Nếu không thì quay lại Bước 2
98
Thuật toán Dijkstra
Bài toán đường đi ngắn nhất
Bài tập 1. Tìm đường đi ngắn nhất từ u0 đến các
đỉnh còn lại
99
100
7
s
4
1
3
5
3
1
2
3
3
1
4
u
r
x
w
z
y
t
101
7
s
4
1
3
5
3
1
2
3
3
1
4
u
r
x
w
z
y
t
102
s
103
Bài toán đường đi ngắn nhất
Cây đường đi
u
y
z
w
r
t
x
s
1
2
3
1
1
3
5
104
Bài tập 2(ĐHKHTN,2006).
Câu 5. Cho đồ thị có trọng số G = (V, E) ,
V = { v1, v2, v3, v4, v5, v6 , v7}xác định bởi ma
trận trọng số D. Dùng thuật toán Dijkstra tìm
đường đi ngắn nhất từ v1 đến các đỉnh v2,v3,v 4, v5,
v6,v7
Bài toán đường đi ngắn nhất
105
Bài toán đường đi ngắn nhất
106
Bài toán đường đi ngắn nhất
107
Bài toán đường đi ngắn nhất
108
Bài toán đường đi ngắn nhất
109
Bài toán đường đi ngắn nhất
Bài tập3(ĐHKHTN2005).
Cho một ví dụ chứng tỏ rằng thuật toán Dijkstrađể tìm đường đi ngắn nhất từ một đỉnh đến các đỉnh khác không áp dụng được cho đồ thị có trọng lượng nếu có cạnh có trọng lượng âm
110
Bài toán đường đi ngắn nhất
5
-3
4
c
b
a
111
Bài toán đường đi ngắn nhất
BÀI 4(D?2007)
Dùng thuật toán Dijsktra để tìm đường đi ngắn nhất từ đỉnh a đến đỉnh z và chiều dài của nó trong đồ thị vô hướng có trọng lượng sau:
e
2
2
3
b
5
c
6
d
f
z
5
4
7
a
4
5
3
1
g
112
113
Bài toán đường đi ngắn nhất
Tìm đường đi ngắn nhất từ u0 đến các đỉnh hoặc chỉ ra đồ thị
có mạch âm.
Bước 1. L0(u0) =0 và L0(v) = vu0. Đánh dấu đỉnh v
bằng ( ,-) ; k=1.
Bước 2. Lk(u0) = 0 và
Lk(v) =min{Lk-1(u)+w(uv)/u là đỉnh trước của v}
Nếu Lk(v)=Lk-1(y)+w(yv)thì đánh dấu đỉnh v bởi (Lk(v),y)
114
Thuật toán Ford – Bellman
Bài toán đường đi ngắn nhất
Bước 3. Nếu Lk(v) =Lk-1(v) với mọi v, tức Lk(v)
ổn định thì dừng. Ngược lại đến bước 4.
Bước 4. Nếu k = n thì dừng. G có mạch âm. Nếu
k n-1 thì trở về bước 2 với k:=k+1
115
Bài toán đường đi ngắn nhất
BT1.
116
Bài toán đường đi ngắn nhất
117
118
119
120
121
122
123
Bài toán đường đi ngắn nhất
k = n = 6 . Lk(i) chưa ổn định nên đồ thị có mạch
âm. Chẳng hạn:
4→2→6→4 có độ dài -3
124
Bài toán đường đi ngắn nhất
k = n = 6 . Lk(i) chưa ổn định nên đồ thị có mạch
âm. Chẳng hạn:
4→2→6→4 có độ dài -3
125
Bài toán đường đi ngắn nhất
BT2.
1
2
3
6
4
5
7
4
2
1
8
2
2
-2
3
2
126
Bài toán đường đi ngắn nhất
127
Bài toán đường đi ngắn nhất
1
2
3
6
4
5
7
2
1
-2
2
128
Euler
Đường đi Euler - Đường đi Hamilton
129
Hamilton (1755-1804)
Đường đi Euler - Đường đi Hamilton
130
Problem. The town of Königsberg was divided into four sections by the branch of the Pregel River
These four sections are connected by seven bridges
Đường đi Euler - Đường đi Hamilton
131
132
Question. Can one cross seven bridges and return to the starting point without crossing any bridge twice?
Euler Paths
In the eighteenth century, Euler solved this problem using Graph Theory
133
Euler modeled this problem using the multigraph:
A
B
C
D
A
B
C
D
four sections correspond to four vertices A, B, C, D.
each bridge corresponds to an edge
134
Đường đi Euler - Đường đi Hamilton
Định nghĩa.
Đường đi Euler là đường đi qua tất cả các cạnh mỗi cạnh (cung) đúng một lần.Chu trình Euler là chu trình đi qua tất cả các cạnh của đồ thị mỗi cạnh đúng một lần.
Đồ thị được gọi là đồ thị Euler nếu nó có chu
trình Euler
135
Đường đi Euler
Đường đi Euler - Đường đi Hamilton
Điều kiện cần và đủ.
Cho G = (V,E) là đồ thị vô hướng liên thông. G là đồ thị Euler Mọi đỉnh của G đều có bậc chẵn.
Nếu G có hai đỉnh bậc lẻ còn mọi đỉnh khác đều có bậc chẵn thì G có đường đi Euler
ii. Cho G là đồ thị có hướng liên thông. G là đồ thị Euler G cân bằng.
136
Đường đi Euler-Đường đi Hamilton
Bắt đầu từ một đỉnh bất kỳ của G và tuân theo
qui tắc sau: Mỗi khi đi qua một cạnh nào đó thì
xoá nó đi, sau đó xoá đỉnh cô lập nếu có.
Không bao giờ đi qua một cầu trừ phi không
còn cách đi nào khác.
137
Thuật toán Fleury để tìm chu trình Euler.
Đường đi Euler-Đường đi Hamilton
a
b
c
d
e
f
g
h
abcfdcefghbga
138
Đường đi Euler - Đường đi Hamilton
Định nghĩa. Đường đi Hamilton là đường đi qua tất
cả các đỉnh của đồ thị mỗi đỉnh đúng một lần.
Định nghĩa tương tự cho chu trình Hamilton
(mạch Hamilton).
Đồ thi gọi là đồ thị Hamilton nếu nó có chu trình Hamilton
139
Đường đi Hamilton.
Đường đi Euler - Đường đi Hamilton
Định lý Ore(1960). Cho đồ thị G có n đỉnh.
Nếu deg(i)+deg(j) n 3 với i và j là hai đỉnh
không kề nhau tuỳ ý thì G là Hamilton.
Định lý Dirac (1952) Cho đồ thị G có n
đỉnh. Nếu deg(i) n/2 với i tuỳ ý thì G là
Hamilton
140
Điều kiện đủ (cho đồ thị đơn vô hướng).
Đường đi Euler - Đường đi Hamilton
Qui tắc để xây dựng một chu trình Hamilton
H hoặc chỉ ra đồ thị vô hướng không là Hamilton
Qui tắc 1.Tất cả các cạnh kề với đỉnh bậc 2 phải ở
trong H
Qui tắc 2. Không có chu trình con(chu trình có chiều
dài141
Đường đi Euler - Đường đi Hamilton
Qui tắc 3. Khi chu trình Hamilton mà ta đang xây
dựng đi qua đỉnh i thì xoá tất cả các cạnh kề với i
mà ta chưa dùng(vì không được dùng đến nữa).
Điều này lại có thể cho ta một số đỉnh bậc 2 và ta
lại dùng qui tăc1.
Qui tắc 4. Không có đỉnh cô lập hay cạnh treo nào
được tạo nên sau khi áp dụng qui tắc 3.
142
Đường đi Euler-Đường đi Hamilton
Điều kiện đủ cho đồ thị có hướng , đơn(không
có khuyên và không có cạnh song song cùng
chiều)
ĐK Meyniel. ij và ji E deg(i)+deg(j)2n-1 với i, j tùy ý.
ĐLMeyniel(1973). Nếu G là đồ thị đơn, liên thông mạnh
và thoả ĐK Meyniel thì G là đồ thị Hamilton.
ĐL Camion(1959). Nếu G là đơn đồ thị đủ, liên thông mạnh
thì G Hamilton
143
Đường đi Euler-Đường đi Hamilton
ĐLGhouila-Houri(1960) Nếu G là đơn đồ thị
liên thông mạnh sao cho mọi đỉnh đều có bậc
không nhỏ hơn n thì G Hamilton.
ĐL Woodall(1972). Cho G là đơn đồ thị thoả
ij E deg+(i)+deg-(j)n, với mọi i,j
thì G Hamilton
144
Đường đi Euler-Đường đi Hamilton
Đề thi2004(ĐHKHTN)
Đồ thi sau đây có Hamilton không?
1
2
3
4
5
6
7
8
9
145
Đường đi Euler-Đường đi Hamilton
Giả sử G có chu trình Hamilton H, theo qui tăc1,tất cả các cạnh kề với đỉnh bậc 2 đều ở trong H:12,14,23,36,47,78,69,89. Ta có chu trình con là 1,2,3,6,9,8,7,4,1.
Vậy G không là đồ thị Hamilton.
Đề thi 20005(ĐHKHTN).Cho G là đồ thị không hướng, đơn, n 3(n là số đỉnh), deg(i)+deg(j)n-1. Chứng minh rằng G có đường đi Hamilton.
146
Đường đi Euler-Đường đi Hamilton
Giải:
Ta thêm vào đồ thị G một đỉnh z và nối z với mỗi đỉnh của G bởi một cạnh, ta thu được đồ thị G’ có n+1 đỉnh.Bậc của mọi đỉnh trong G’ đều lớn hơn bậc cũ của nó một đơn vị(trừz), còn bậc của z bằng n.
Do đó trong G’thì
deg’(i)+deg’(j)=deg(i)+1+deg(j) +1 n-1+1+1 = n+1, khi i và j khác z .
deg’ (i) + deg ’(z) = deg (i) + 1 + n n+1 ,với i khác z
Theo ĐL Ore thì G’ là đồ thị Hamilton,suy ra G có đường đi Hamilton
147
Biên soạn
TS. Nguyễn Viết Đông
1
Những khái niệm và tính chất cơ bản
Định nghĩa đồ thị
Định nghĩa1.Đồ thị vô hướng G = (V, E) gồm:
i) V là tập hợp khác rỗng mà các phần tử của nó gọi là đỉnh(vertex) của G.
ii) E là đa tập hợp gồm các cặp không sắp thứ tự của hai đỉnh. Mỗi phần tử của E được gọi là một cạnh(edge) của G. Ký hiệu uv.
2
3
Ta nói cạnh uv nối u với v, cạnh uv kề với u,v.
Nếu uv E thì ta nói đỉnh u kề đỉnh v.
Hai cạnh nối cùng một cặp đỉnh gọi là hai cạnh song song.
Cạnh uu có hai đầu mút trùng nhau gọi là một khuyên.
Những khái niệm và tính chất cơ bản
Chú ý
4
5
Định nghĩa 2. Đồ thị vô hướng không có cạnh song song và không có khuyên gọi là đơn đồ thị vô hướng.
Định nghĩa 3. Đồ thị vô hướng cho phép có cạnh song song nhưng không có khuyên gọi là đa đồ thị vô hướng.
Định nghĩa 4. Đồ thị vô hướng cho phép có cạnh song song và có khuyên gọi là giả đồ thị
6
Những khái niệm và tính chất cơ bản
7
b
c
8
Những khái niệmvà tính chấtcơ bản
Simple Graph
Definition . A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges.
9
There can be multiple telephone lines between two computers in the network.
Multigraph -A Non-Simple Graph
In a multigraph G = (V, E) two or more edges may connect the same pair of vertices.
10
Multiple Edges
Two edges are called multiple or parallel edges
if they connect the same two distinct vertices.
11
Pseudograph- A Non-Simple Graph
There can be telephone lines in the network from a computer to itself (for diagnostic use).
In a pseudograph G = (V, E) two or more edges may connect the same pair of vertices, and in addition, an edge may connect a vertex to itself.
12
Loops
An edge is called a loop if it connects a vertex to itself.
13
pseudographs
simple graphs
multigraphs
Undirected Graphs
Định nghĩa 5
14
Những khái niệm và tính chất cơ bản
Đa đồ thị có hướng G =(V,E) gồm:
i) V là tập hợp khác rỗng mà các phần tử của nó gọi là đỉnh của G.
ii)E là đa tập hợp gồm các cặp có sắp thứ tự của hai đỉnh. Mỗi phần tử của E được gọi là một cung(cạnh)của G. Ký hiệu uv.
Ta nói cung uv đi từ u đến v, cung uv kề với u,v
15
a
b
c
d
Nếu uv là một cung thì ta nói:
Đỉnh u và v kề nhau.
Đỉnh u gọi là đỉnh đầu(gốc), đỉnh v là đỉnh cuối (ngọn) của cung uv.Đỉnh v là đỉnh sau của đỉnh u.
Hai cung có cùng gốc và ngọn gọi là cung song song.
Cung có điểm gốc và ngọn trùng nhau gọi là khuyên.
16
Những khái niệm và tính chất cơ bản
Chú ý
17
Những khái niệm và tính chất cơ bản
Định nghĩa 6: Đa đồ thị có hướng không chứa các cạnh song song gọi là đồ thị có hướng
18
19
In a directed graph G = (V, E ) the edges are ordered pairs of (not necessarily distinct) vertices.
A Directed Graph
Some telephone lines in the network may operate in only one direction .
20
A Directed Graph
The telephone lines in the network that operate in two directions are represented
by pairs of edges in opposite directions.
21
In a directed multigraph G = (V, E ) the edges are ordered pairs of (not necessarily distinct) vertices,
and in addition there may be multiple edges.
A Directed Multigraph
There may be several one-way lines in the same direction from one computer
to another in the network.
22
TYPE EDGES MULTIPLE EDGES LOOPS
ALLOWED? ALLOWED?
Simple graph Undirected NO NO
Multigraph Undirected YES NO
Pseudograph Undirected YES YES
Directed graph Directed NO YES
Directed multigraph Directed YES YES
Types of Graphs
Ta sử dụng ma trận kề.
Cho G = (V,E) với V={1,2,…,n}.
Ma trận kề của G là ma trận A = (aij)n xác định như sau:
aij = số cạnh(số cung) đi từ đỉnh i đến đỉnh j
23
Những khái niệm và tính chất cơ bản
Biểu diễn ma trận của đồ thị:
24
c
Tìm ma trận kề
25
Tìm ma trận kề
Cho đồ thị vô hướng G = (V,E). Bậc của đỉnh v, ký hiệu deg(v), là số cạnh kề với v , trong đó một khuyên tại một đỉnh được đếm hai lần cho bậc của đỉnh ấy.
26
Những khái niệm và tính chất cơ bản
Bậc của đỉnh
27
c
Bậc đỉnh a:
deg(a) = 2
Bậc đỉnh b:
deg(b) = 5
Bậc đỉnh c:
deg(c) = 3
Bậc đỉnh d:
deg(d) = 2
28
Bậc của các đỉnh?
1) deg-(v):= số cung có đỉnh cuối là v, gọi là bậc vào của v.
2) deg +(v):= số cung có đỉnh đầu là v,gọi là bậc ra của v
3) deg(v):= deg- (v) + deg+(v)
Đỉnh bậc 0 gọi là đỉnh cô lập. Đỉnh bậc 1 gọi là đỉnh treo
29
Những khái niệm và tính chất cơ bản
Cho đồ thị có hướng G = (V, E), vV
30
31
a
b
d
c
f
e
Bậc đỉnh a:
Bậc đỉnh b:
Bậc đỉnh c:
Bậc đỉnh d:
Bậc đỉnh e:
Bậc đỉnh f:
deg-(a)= 1 ; deg+(a)=1
deg-(b)= 1 ; deg+(b)=3
deg-(c)= 1 ; deg+(c)=2
deg-(d)= 0 ; deg+(d)=0
deg-(e)= 1 ; deg+(e)=0
deg-(f)= 2 ; deg+(f)=0
Cho đồ thị G = (V,E), m là số cạnh (cung)
32
Những khái niệm và tính chất cơ bản
Định lí
1)
2) Nếu G có hướng thì:
3) Số đỉnh bậc lẻ của đồ thị là số chẵn
Định nghĩa
Cho hai đơn đồ thị G = (V,E) và G’= (V’,E’).
Ta nói rằng G đẳng cấu G’, ký hiệu G G’, nếu tồn
tại song ánh f :V→ V’sao cho:
uv là cạnh của G f(u)f(v) là cạnh của G’
33
Những khái niệm và tính chất cơ bản
Đẳng cấu
Chú ý
34
Những khái niệm và tính chất cơ bản
Nếu G và G’ là các đơn đồ thị vô hướng đẳng cấu qua ánh xạ f thì chúng có:
Cùng số đỉnh
Cùng số cạnh
Cùng số đỉnh với bậc cho sẵn(vd: số đỉnh bậc 2 của G và G’ bằng nhau)
deg v = deg f(v)
35
Graph Isomorphism
Note. Isomporphic simple graphs must have the same invariants:
The number of vertices
The number of edges
The degrees of the vertices
No vertex of deg 1
Non-isomorphic graphs
36
Isomorphism Example
a
b
c
d
e
f
1
2
3
6
5
4
37
Non-Isomorphic Example
a
b
4
d
e
1
2
3
c
5
38
39
Are These Isomorphic?
a
b
c
d
e
* Same # of
vertices
* Same # of
edges
* Different
# of verts of
degree 2!
(1 vs 3)
Cho hai đồ thị G = (V,E) và G’ = (V’,E’)
(cùng vô hướng hoặc cùng có hướng).
G’ được gọi là đồ thị con của G, ký hiệu G’ G nếu V’ V và E’ E
Nếu V’= V và E’ E thì G’ được gọi là đồ thị
con khung của G.
40
Những khái niệm và tính chất cơ bản
Đồ thị con
Những khái niệm và tính chất cơ bản
41
G
Subgraphs
H
Cho G = (V,E) là đồ thị vô hướng u,vV
Đường đi ( dây chuyền) có chiều dài k nối hai
đỉnh u,v là dãy đỉnh và cạnh liên tiếp nhau
v0e1v1e2…vk-1ekvk sao cho:
v 0=u ,v k = v, e i=v i-1v i , i=1,2,…,k
42
Đường đi, chu trình, đồ thị liên thông:
b) Đường đi không có cạnh nào xuất hiện quá
một lần gọi là đường đi đơn
c) Đường đi không có đỉnh nào xuất hiện quá
một lần gọi là đường đi sơ cấp
d) Đườ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
43
Đường đi, chu trình, đồ thị liên thông
44
(a, e1,b,e2,c,e3,d,e4,b )là đường đi từ đỉnh a tới đỉnh b có chiều dài là 4. Tuy nhiên, trong trường hợp này, đồ thị của chúng ta là đơn đồ thị, do vậy có thể gọi đường đi này bằng 1 cách ngắn gọn như sau: (a,b,c,d,b)
Chu trình sơ cấp:
(b,c,d,b)
(b,f,e,b)
Chu trình sơ cấp nào không?
Định nghĩa. Cho G = (V,E). Trên V ta định nghĩa
quan hệ tương đương như sau:
u~v u = v hay có một đường đi từ u đến v
Nếu u~v thì ta nói hai đỉnh u và v liên thông với nhau
Mỗi lớp tương đương được gọi là một thành phần liên thông của G
Nếu G chỉ có một thành phần liên thông thì G gọi là liên thông
45
Đường đi, chu trình, đồ thị liên thông
46
Định nghĩa. Cho G = (V,E) là đồ thị vô hướng
liên thông
Đỉnh v được gọi là đỉnh khớp nếu G – v không liên thông (G – v là đồ thị con của G có được bằng cách xoá v và các cạnh kề với v)
Cạnh e được gọi là cầu nếu G- e không liên thông( G-e là đồ thị con của G có được bằng cách xoá cạnh e).
47
Đường đi, chu trình, đồ thị liên thông
48
Định nghĩa. Cho G = (V,E) vô hướng liên thông,
không phải Kn, n>2.
a) Số liên thông cạnh của G, ký hiệu e(G) là số cạnh ít nhất mà khi xoá đi G không còn liên thông nữa.
b) Số liên thông đỉnh của G, ký hiệu v(G) là số đỉnh ít nhất mà khi xoá đi G không còn liên thông nữa.
49
Đường đi, chu trình, đồ thị liên thông
50
Định nghĩa. Cho G =(V,E) là đồ thị có hướng u,vV
Đường đi ( dây chuyền) có chiều dài k nối hai đỉnh u,v là dãy đỉnh và cung liên tiếp nhau v0e1v1e2….vk-1ek sao cho:
v0 = u, vk = v
ei = vi-1vi , i = 1,2,,…,k.
51
Đường đi, chu trình, đồ thị liên thông
b) Đường đi không có cung nào xuất hiện quá một lần gọi là đường đi đơn.
c) Đường đi không có đỉnh nào xuất hiện quá một lần gọi là đường đi sơ cấp.
d) Đường đi được gọi là mạch(chu trình) nếu nó bắt đầu và kết thúc tại cùng một đỉnh.
52
Đường đi, chu trình, đồ thị liên thông
53
Đường đi có độ dài 4 từ đỉnh 1 tới đỉnh 2 là : (1,2,3,4,2)
Định nghĩa. Cho đồ thị có hướng G = (V,E). Trên V ta định nghĩa quan hệ tương đương như sau:
u~v u = v hay có một đường đi từ u đến v và đường đi từ v đến u .
Nếu u~v thì ta nói hai đỉnh u và v liên thông mạnh với nhau .
Mỗi lớp tương đương được gọi là một thành phần liên thông mạnh của G .
Nếu G chỉ có một thành phần liên thông mạnh thì G gọi là liên thông mạnh .
54
Đường đi, chu trình, đồ thị liên thông
55
Đồ thị đủ cấp n: Kn là đơn đồ thị cấp n mà giữa hai
đỉnh bất kỳ đều có một cạnh.
Đồ thị k-đều : là đồ thị mà mọi đỉnh đều có bậc
bằng nhau và bằng k.
Đồ thị lưỡng phân:
G = (V,E), V = V1 V2, , V1 V2 =.
Mọi cạnh của G đều nối một đỉnh trong V1 với một đỉnh
trong V2
56
Một số đồ thị vô hướng đặc biệt
Đồ thị lưỡng phân đủ: là đồ thị đơn, lưỡng
phân, mỗi đỉnh trong V1 đều kề với mọi đỉnh trong V2.
Đồ thị bù
Cho Kn = (V,E), G (V,E1),
gọi là đồ thị bù của G. Đồ thị G đươc gọi là
tự bù nếu G đẳng cấu với đồ thị bù của nó
57
Một số đồ thị đặc biệt
K4
Complete graph Kn
K5
58
Một số đồ thị đặc biệt
C5
Cycle Cn
C4
59
Một số đồ thị đặc biệt
W4
Wheele Wn
W5
60
Một số đồ thị đặc biệt
61
Complete Graphs
K6
Note that Kn has edges.
62
Cycles
How many edges are there in Cn?
63
Wheels
64
n-cubes (hypercubes)
Bipartite Graph
65
Đề thi
1)2000. ĐHBK
Cho đồ thị vô hướng , đơn G có 7 đỉnh trong đó
có một đỉnh bậc 6. Hỏi G có liên thông không?
Giải. Đỉnh bậc 6 nối với 6 đỉnh còn lại. Do đó hai đỉnh bất kỳ đều có một đường đi qua đỉnh bậc 6
66
Đề thi
2)2001,ĐHBK
Cho đồ thị vô hướng G liên thông mà mỗi
đỉnh đều có bậc bằng 20. Chứng minh rằng
nếu xoá đi một cạnh bất kỳ thì đồ thị thu
được vẫn còn liên thông
67
Đề thi
Giải .
Giả sử ta xóa cạnh uv. Ta chỉ cần chứng minh vẫn có đường đi từ u đến v.
Phản chứng. Giả sử không có đường đi từ u đến v. Khi đó thành phần liên thông G’ chứa u mà không chứa v. Trong G’, u có bậc 19, mọi đỉnh khác đều có bậc 20. Tổng các bậc trong G’ là số lẻ .Vô lý.
68
Đề thi
3)2002,ĐHKHTN.
Đồ thị G gồm n đỉnh, 41 cạnh, mọi đỉnh đều có
bậc p. Nếu p lẻ và p> 1 thì đồ thị G có liên thông
không?
69
Đề thi
Giải . Từ công thức bậc của đỉnh ta có np=2.41.
Vì p lẻ nên p là ước của 41. Mà 41 là số nguyên tố nên p = 41. Vậy n = 2
Giả định có 2 đỉnh mà cả 2 đỉnh đều có bậc 41. Nếu G không liên thông thì G phải tách thành 2 thành phần liên thông, mà mỗi thành phần liên thông đều có bậc 41 (lẻ). Vô lý.
70
Đề thi
4)2005, ĐHKHTN.
Vẽ đơn đồ thị vô hướng gồm 6 đỉnh với bậc
2,2,3,3,3,5
71
Đề thi
Giải .
Nhận xét . Đỉnh bậc 5 nối với 5 đỉnh còn lại. Do đó ta chỉ phải quan tâm đến 5 đỉnh còn lại. Ta xét đơn đồ thị với 5 đỉnh và các bậc là 1,1,2,2,2.
TH1. Hai đỉnh bậc 1 nối với nhau, 3 đỉnh bậc 2 nối với nhau tạo thành chu trình
72
Đề thi
73
Đề thi
Suy ra đồ thị cần tìm là
74
Đề thi
TH2. Hai đỉnh bậc 1 không nối với nhau. Khi đó hai đỉnh bậc 1 phải nối với hai đỉnh bậc 2 khác nhau và đỉnh bậc hai còn lại phải nối với hai đỉnh bậc hai ấy
75
Đề thi
Suy ra đồ thị cần tìm là:
76
Đề thi
5)2006 , ĐHKHTN.
Vẽ đồ thị đơn vô hướng gồm 6 đỉnh với bậc
2,2,3,3,3,3
77
Đề thi
Giải.
TH1. 2 đỉnh bậc 2 nối với nhau. Nếu chúng nối đến
cùng một đỉnh bậc 3 thì đỉnh bậc 3 này chỉ nối đến
một trong 3 đỉnh còn lại:không thể đuợc. Như vậy
hai đỉnh bậc hai nối đến hai đỉnh bậc 3 khác nhau.
Bỏ 2 đỉnh bậc hai ta sẽ được một đơn đồ thị vô
hướng gồm 4 đỉnh với bậc 2, 2, 3, 3. Để ý rằng
trong đồ thị này mỗi đỉnh bậc 2 đều nối với 2 đỉnh
bậc 3 và do đó 2 đỉnh bậc 3 cũng nối với nhau.
78
Đề thi
Ta được
79
Đề thi
TH2. 2 đỉnh bậc 2 không nối với nhau nhưng nối đến cùng một đỉnh bậc 3. Khi ấy nếu bỏ đi hai cạnh này ta được một đồ thị 6 đỉnh với bậc 1, 1, 1, 3, 3, 3. Nếu 2 đỉnh bậc 1 nối với nhau hoặc nối đến cùng một đỉnh bậc 3 thì bỏ đi 2 đỉnh này còn lại một đồ thị đỉnh với bậc 1, 3, 3, 3 hoặc 1, 1, 3, 3: không thể được. Như vậy mỗi đỉnh bậc 1 nối đến đỉnh bậc 3 khác nhau. Bỏ đi đỉnh bậc 1 sẽ còn lại một chu trình 2, 2, 2
80
Đề thi
và ta được đồ thị
81
Đề thi
TH3. 2 đỉnh bậc 2 không nối với nhau và mỗi đỉnh nối đến 2 đỉnh bậc 3 khác nhau. Khi ấy nếu bỏ đi hai đỉnh này sẽ còn lại một chu trình 2, 2, 2, 2 và ta được:
82
Đề thi
6) Đề thi 07
Tìm tất cả các đơn đồ thị vô hướng (sai
khác một đẳng cấu) gồm 6 đỉnh với bậc :
2, 2, 2, 3, 3, 4
83
Đề thi
Gi?i 2,5 đ (vẽ mỗi đồ thị được 0,5đ. Lý luận đầy đủ đây là 4 lời giải duy nhất: 0,5đ)
Trường hợp 1: đỉnh bậc 4 nối đến 2 đỉnh bậc 3 và 2 đỉnh bậc 2. Bỏ đỉnh bậc 4 và 4 cạnh tương ứng ta sẽ được 1 đồ thị đơn vô hướng gồm 5 đỉnh với bậc 1, 1, 2, 2, 2.
Trường hợp 1a: mỗi đỉnh bậc 1 đều nối với 1 đỉnh bậc 2 (phải khác nhau). Do đó đỉnh bậc 2 còn lại sẽ nối đến 2 đỉnh bậc 2 trên. Chúng tạo thành một dây chuyền 1,2,2,2,1. Ta được 2 đồ thị không đẵng cấu nhau
84
Đề thi
85
Đề thi
Trường hợp 2: đỉnh bậc 4 nối đến 3 đỉnh bậc 2 và 1 đỉnh bậc 3. Khi ấy nếu bỏ đi đỉnh bậc 4 và các cạnh tương ứng ta sẽ được 1 đồ thị đơn vô hướng gồm 5 đỉnh với bậc 1, 1, 1, 2, 3. Khi ấy đỉnh bậc 3 chỉ có thể nối đến 2 đỉnh bậc 1 và đỉnh bậc 2. Đỉnh bậc 1 còn lại sẽ nối đến đỉnh bậc 2, và ta được
86
Đề thi
87
Đề thi
Trường hợp 1b: 2 đỉnh bậc 1 nối nhau. Như vậy 3 đỉnh bậc 2 tạo thàh một dây chuyền. Ta được đồ thị
88
Đề thi
ĐHKHTN08 .Cho đồ thị G đơn, vô hướng ,10 đỉnh và có nhiều hơn 36 cạnh.Hỏi G có liên thông không ?Tại sao?
Giải(tóm tắt). G là đồ thị liên thông
Phản chứng.
Giả sử G không liên thông .Gọi G1 là một thành phần liên thông gồm k đỉnh 1 k 9.Gọi m là số cạnh của G thì m k2 -10k +45 .
Mà max (k2 -10k +45) =36 (với 1 k 9) nên
m 36.Trái giả thiết.
89
Đề thi
ĐHKHTN 2009.
Xét đồ thị đơn vô hướng G với 6 đỉnh , trong đó có một đỉnh bậc
1 và 5 đỉnh bậc 3. Chứng minh rằng G liên thông.
Giải.
Giả sử G không liên thông. Gọi G1, G2, …,Gk là các thành phần
liên thông của G (k 2). Vì G không có đỉnh cô lập nên mỗi
thành phần liên thông đều phải có ít nhất hai đỉnh. Như vậy mỗi
thành phần liên thông đều phải có ít nhất một đỉnh bậc 3. Suy ra
mỗi thành phần liên thông phải có ít nhất 4 đỉnh. Vậy G phải có ít
nhất 4k 8 đỉnh . Trái giả thiết.
90
Đề thi
Cách khác.
Nếu bỏ đi đỉnh bậc 1 và cạnh kề nó ta sẽ được đơn đồ thị vô
hướng H gồm 5 đỉnh với bậc là 2, 3, 3, 3, 3. Rõ ràng nếu H liên
thông thì G cũng liên thông.
Trong đồ thị H đỉnh bậc 2 phải nối với 2 đỉnh bậc 3 khác nhau.
Bỏ đỉnh bậc 2 này và bỏ hai cạnh kề với nó ta được đồ thị K gồm
4 đỉnh với bậc 2, 2, 3, 3. Rõ ràng nếu K liên thông thì H cũng liên
thông và do đó G cũng liên thông.
Trong đồ thị K hai đỉnh bậc 3 phải nối với nhau. Bỏ cạnh nối hai
đỉnh bậc 3 này ta được đồ thị gồm 4 đỉnh bậc 2, đồ thị này là một
chu trình , nó liên thông . Do đó G liên thông.
91
Bài toán đường đi ngắn nhất
Đồ thị G = (V,E) gọi là đồ thị có trọng số (hay chiều dài, trọng lượng) nếu mỗi cạnh(cung) e được gán với một số thực w(e).Ta gọi w(e) là trọng lượng của e.
Độ dài của đường đi từ u đến v bằng tổng độ dài các cạnh mà đường đi qua
Khoảng cách giữa 2 đỉnh u,v là độ dài ngắn nhất của các đường đi từ u đến v.
92
Đồ thị có trọng số
Bài toán đường đi ngắn nhất
Cho G = (V, E), V = {v1,v2,…,vn} là đơn đồ thị có trọng
số. Ma trận khoảng cách của G là ma trận D= (dij) xác
định như sau:
93
Ma trận khoảng cách(trọng số)
94
Bài toán đường đi ngắn nhất
Bài toán.
Cho G = (V, E) đơn, liên thông, có trọng số dương
(w(uv) > 0 với mọi u khác v). Tìm đường đi ngắn
nhất từ u0 đến v và tính khoảng cách d(u 0,v).
95
Thuật toán Dijkstra
Bài toán đường đi ngắn nhất
Phương pháp
Xác định tuần tự các đỉnh có khoảng cách đến u0
từ nhỏ đến lớn.
Trước tiên đỉnh có khoảng cách nhỏ nhất đến u0 là u0.
Trong V{u0} tìm đỉnh có khoảng cách đến u0 nhỏ nhất (đỉnh này phải là một trong các đỉnh kề với u0) giả sử đó là u1
96
Bài toán đường đi ngắn nhất
Trong V{u0,u1} tìm đỉnh có khoảng cách đến u0 nhỏ nhất(đỉnh này phải là một trong các đỉnh kề với u0 hoặc u1 )giả sử đó là u2
Tiếp tục như trên cho đến bao giờ tìm được khoảng cách từ u0 đến mọi đỉnh .
Nếu G có n đỉnh thì:
0 = d(u0,u0) < d(u0,u1) d(u0,u2) … d(u0,un-1)
97
Bước1. i:=0, S:=V{u0}, L(u0):=0, L(v):=với mọi v S và
đánh dấu đỉnh v bởi(,-). Nếu n=1 thì xuất d(u0,u0)=0=L(u0)
Bước2. Với mọi v S và kề với ui(nếu đồ thị có hướng thì v
là đỉnh sau của ui), đặt L(v):=min{L(v),L(ui)+w(ui v)}.Xác
định k =minL(v) ,vS.
Nếu k=L(vj) thì xuất d(u0,vj)=k và đánh dấu vj bởi (L(vj);ui). ui+1:=vj S:=S{ui+1}
Bước3 i:=i+1
Nếu i = n-1 thì kết thúc
Nếu không thì quay lại Bước 2
98
Thuật toán Dijkstra
Bài toán đường đi ngắn nhất
Bài tập 1. Tìm đường đi ngắn nhất từ u0 đến các
đỉnh còn lại
99
100
7
s
4
1
3
5
3
1
2
3
3
1
4
u
r
x
w
z
y
t
101
7
s
4
1
3
5
3
1
2
3
3
1
4
u
r
x
w
z
y
t
102
s
103
Bài toán đường đi ngắn nhất
Cây đường đi
u
y
z
w
r
t
x
s
1
2
3
1
1
3
5
104
Bài tập 2(ĐHKHTN,2006).
Câu 5. Cho đồ thị có trọng số G = (V, E) ,
V = { v1, v2, v3, v4, v5, v6 , v7}xác định bởi ma
trận trọng số D. Dùng thuật toán Dijkstra tìm
đường đi ngắn nhất từ v1 đến các đỉnh v2,v3,v 4, v5,
v6,v7
Bài toán đường đi ngắn nhất
105
Bài toán đường đi ngắn nhất
106
Bài toán đường đi ngắn nhất
107
Bài toán đường đi ngắn nhất
108
Bài toán đường đi ngắn nhất
109
Bài toán đường đi ngắn nhất
Bài tập3(ĐHKHTN2005).
Cho một ví dụ chứng tỏ rằng thuật toán Dijkstrađể tìm đường đi ngắn nhất từ một đỉnh đến các đỉnh khác không áp dụng được cho đồ thị có trọng lượng nếu có cạnh có trọng lượng âm
110
Bài toán đường đi ngắn nhất
5
-3
4
c
b
a
111
Bài toán đường đi ngắn nhất
BÀI 4(D?2007)
Dùng thuật toán Dijsktra để tìm đường đi ngắn nhất từ đỉnh a đến đỉnh z và chiều dài của nó trong đồ thị vô hướng có trọng lượng sau:
e
2
2
3
b
5
c
6
d
f
z
5
4
7
a
4
5
3
1
g
112
113
Bài toán đường đi ngắn nhất
Tìm đường đi ngắn nhất từ u0 đến các đỉnh hoặc chỉ ra đồ thị
có mạch âm.
Bước 1. L0(u0) =0 và L0(v) = vu0. Đánh dấu đỉnh v
bằng ( ,-) ; k=1.
Bước 2. Lk(u0) = 0 và
Lk(v) =min{Lk-1(u)+w(uv)/u là đỉnh trước của v}
Nếu Lk(v)=Lk-1(y)+w(yv)thì đánh dấu đỉnh v bởi (Lk(v),y)
114
Thuật toán Ford – Bellman
Bài toán đường đi ngắn nhất
Bước 3. Nếu Lk(v) =Lk-1(v) với mọi v, tức Lk(v)
ổn định thì dừng. Ngược lại đến bước 4.
Bước 4. Nếu k = n thì dừng. G có mạch âm. Nếu
k n-1 thì trở về bước 2 với k:=k+1
115
Bài toán đường đi ngắn nhất
BT1.
116
Bài toán đường đi ngắn nhất
117
118
119
120
121
122
123
Bài toán đường đi ngắn nhất
k = n = 6 . Lk(i) chưa ổn định nên đồ thị có mạch
âm. Chẳng hạn:
4→2→6→4 có độ dài -3
124
Bài toán đường đi ngắn nhất
k = n = 6 . Lk(i) chưa ổn định nên đồ thị có mạch
âm. Chẳng hạn:
4→2→6→4 có độ dài -3
125
Bài toán đường đi ngắn nhất
BT2.
1
2
3
6
4
5
7
4
2
1
8
2
2
-2
3
2
126
Bài toán đường đi ngắn nhất
127
Bài toán đường đi ngắn nhất
1
2
3
6
4
5
7
2
1
-2
2
128
Euler
Đường đi Euler - Đường đi Hamilton
129
Hamilton (1755-1804)
Đường đi Euler - Đường đi Hamilton
130
Problem. The town of Königsberg was divided into four sections by the branch of the Pregel River
These four sections are connected by seven bridges
Đường đi Euler - Đường đi Hamilton
131
132
Question. Can one cross seven bridges and return to the starting point without crossing any bridge twice?
Euler Paths
In the eighteenth century, Euler solved this problem using Graph Theory
133
Euler modeled this problem using the multigraph:
A
B
C
D
A
B
C
D
four sections correspond to four vertices A, B, C, D.
each bridge corresponds to an edge
134
Đường đi Euler - Đường đi Hamilton
Định nghĩa.
Đường đi Euler là đường đi qua tất cả các cạnh mỗi cạnh (cung) đúng một lần.Chu trình Euler là chu trình đi qua tất cả các cạnh của đồ thị mỗi cạnh đúng một lần.
Đồ thị được gọi là đồ thị Euler nếu nó có chu
trình Euler
135
Đường đi Euler
Đường đi Euler - Đường đi Hamilton
Điều kiện cần và đủ.
Cho G = (V,E) là đồ thị vô hướng liên thông. G là đồ thị Euler Mọi đỉnh của G đều có bậc chẵn.
Nếu G có hai đỉnh bậc lẻ còn mọi đỉnh khác đều có bậc chẵn thì G có đường đi Euler
ii. Cho G là đồ thị có hướng liên thông. G là đồ thị Euler G cân bằng.
136
Đường đi Euler-Đường đi Hamilton
Bắt đầu từ một đỉnh bất kỳ của G và tuân theo
qui tắc sau: Mỗi khi đi qua một cạnh nào đó thì
xoá nó đi, sau đó xoá đỉnh cô lập nếu có.
Không bao giờ đi qua một cầu trừ phi không
còn cách đi nào khác.
137
Thuật toán Fleury để tìm chu trình Euler.
Đường đi Euler-Đường đi Hamilton
a
b
c
d
e
f
g
h
abcfdcefghbga
138
Đường đi Euler - Đường đi Hamilton
Định nghĩa. Đường đi Hamilton là đường đi qua tất
cả các đỉnh của đồ thị mỗi đỉnh đúng một lần.
Định nghĩa tương tự cho chu trình Hamilton
(mạch Hamilton).
Đồ thi gọi là đồ thị Hamilton nếu nó có chu trình Hamilton
139
Đường đi Hamilton.
Đường đi Euler - Đường đi Hamilton
Định lý Ore(1960). Cho đồ thị G có n đỉnh.
Nếu deg(i)+deg(j) n 3 với i và j là hai đỉnh
không kề nhau tuỳ ý thì G là Hamilton.
Định lý Dirac (1952) Cho đồ thị G có n
đỉnh. Nếu deg(i) n/2 với i tuỳ ý thì G là
Hamilton
140
Điều kiện đủ (cho đồ thị đơn vô hướng).
Đường đi Euler - Đường đi Hamilton
Qui tắc để xây dựng một chu trình Hamilton
H hoặc chỉ ra đồ thị vô hướng không là Hamilton
Qui tắc 1.Tất cả các cạnh kề với đỉnh bậc 2 phải ở
trong H
Qui tắc 2. Không có chu trình con(chu trình có chiều
dài
Đường đi Euler - Đường đi Hamilton
Qui tắc 3. Khi chu trình Hamilton mà ta đang xây
dựng đi qua đỉnh i thì xoá tất cả các cạnh kề với i
mà ta chưa dùng(vì không được dùng đến nữa).
Điều này lại có thể cho ta một số đỉnh bậc 2 và ta
lại dùng qui tăc1.
Qui tắc 4. Không có đỉnh cô lập hay cạnh treo nào
được tạo nên sau khi áp dụng qui tắc 3.
142
Đường đi Euler-Đường đi Hamilton
Điều kiện đủ cho đồ thị có hướng , đơn(không
có khuyên và không có cạnh song song cùng
chiều)
ĐK Meyniel. ij và ji E deg(i)+deg(j)2n-1 với i, j tùy ý.
ĐLMeyniel(1973). Nếu G là đồ thị đơn, liên thông mạnh
và thoả ĐK Meyniel thì G là đồ thị Hamilton.
ĐL Camion(1959). Nếu G là đơn đồ thị đủ, liên thông mạnh
thì G Hamilton
143
Đường đi Euler-Đường đi Hamilton
ĐLGhouila-Houri(1960) Nếu G là đơn đồ thị
liên thông mạnh sao cho mọi đỉnh đều có bậc
không nhỏ hơn n thì G Hamilton.
ĐL Woodall(1972). Cho G là đơn đồ thị thoả
ij E deg+(i)+deg-(j)n, với mọi i,j
thì G Hamilton
144
Đường đi Euler-Đường đi Hamilton
Đề thi2004(ĐHKHTN)
Đồ thi sau đây có Hamilton không?
1
2
3
4
5
6
7
8
9
145
Đường đi Euler-Đường đi Hamilton
Giả sử G có chu trình Hamilton H, theo qui tăc1,tất cả các cạnh kề với đỉnh bậc 2 đều ở trong H:12,14,23,36,47,78,69,89. Ta có chu trình con là 1,2,3,6,9,8,7,4,1.
Vậy G không là đồ thị Hamilton.
Đề thi 20005(ĐHKHTN).Cho G là đồ thị không hướng, đơn, n 3(n là số đỉnh), deg(i)+deg(j)n-1. Chứng minh rằng G có đường đi Hamilton.
146
Đường đi Euler-Đường đi Hamilton
Giải:
Ta thêm vào đồ thị G một đỉnh z và nối z với mỗi đỉnh của G bởi một cạnh, ta thu được đồ thị G’ có n+1 đỉnh.Bậc của mọi đỉnh trong G’ đều lớn hơn bậc cũ của nó một đơn vị(trừz), còn bậc của z bằng n.
Do đó trong G’thì
deg’(i)+deg’(j)=deg(i)+1+deg(j) +1 n-1+1+1 = n+1, khi i và j khác z .
deg’ (i) + deg ’(z) = deg (i) + 1 + n n+1 ,với i khác z
Theo ĐL Ore thì G’ là đồ thị Hamilton,suy ra G có đường đi Hamilton
147
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trương Nhân
Dung lượng: 2,65MB|
Lượt tài: 0
Loại file: rar
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)