Tải bản đầy đủ (.doc) (89 trang)

một số vấn đề ứng dụng của đồ thị trong tin học

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 (554.39 KB, 89 trang )

Luận văn tốt nghiệp Phan Thanh
Long
B giáo d c v o t oộ ụ à đà ạ
Trường đại học dân lập đông đô
Khoa công ngh thông tinệ
Luận văn tốt nghiệp
một số vấn đề ứng dụng của đồ thị trong tin học
Giáo viên h ng d n ướ ẫ : PGS.TS c GiáoĐỗ Đứ
Giáo viên ph n bi n ả ệ :
Sinh viên th c hi nự ệ : Phan Thanh Long
Lớp : CT96A - Khoá II
Hà Nội 6 - 2000
1
Luận văn tốt nghiệp Phan Thanh
Long
2
Luận văn tốt nghiệp Phan Thanh
Long
Lời nói đầu
Bước sang năm bản lề của thế kỷ 21, nhìn lại thế kỷ 20 là thế kỷ mà con
người đạt được nhiều thành tựu khoa học rực rỡ nhất, một trong những thành
tựu đó là sự bùng nổ của ngành khoa học máy tính. Sự phát triển kỳ diệu của
máy tính trong thế kỷ này gắn liền với sự phát triển toán học hiện đại, đó là toán
rời rạc.
Toán học rời rạc nghiên cứu các cấu trúc có tính chất rời rạc không liên tục.
Toán rời rạc bao gồm các lĩnh vực như quan hệ, lý thuyết đồ thị, lôgíc toán,
ngôn ngữ hình thức trong đó lý thuyết đồ thị là một bộ phận trọng tâm với
nhiều khối lượng kiến thức khá lý thú và được nghiên cứu nhiều nhất.
Toán rời rạc nói chung và lý thuyết đồ thị nói riêng là công cụ thiết yếu cho
nhiều ngành khoa học kỹ thuật, và là một thành phần quan trọng trong học vấn
đối với sinh viên các ngành kỹ thuật đặc biệt sinh viên ngành Tin học. Lý thuyết


đồ thị, với cách tiếp cận đối tượng nghiên cứu và phương pháp tư duy khá độc
đáo thực sự ngày càng hữu ích có nhiều ứng dụng phong phú và gây không ít
bất ngờ. Máy tính mà bản thân nó với các quá trình làm việc mang tính rời rạc,
nên điều này tương hợp gắn chặt lý thuyết đồ thị với công nghệ máy tính trong
việc nghiên cứu các đối tượng có tính chất rời rạc.
Lý thuyết đồ thị có nhiều ứng dụng thực tiễn đặc biệt là trong lĩnh vực Tin
học, muốn hiểu biết sâu sắc các vấn đề Tin học cần nắm vững các kiến thức về
Toán học rời rạc mà trong đó đặc biệt là lý thuyết đồ thị. Từ những nhận thức
trên, với đề tài "Một số vấn đề ứng dụng của đồ thị trong Tin học" đây không
chỉ là nhiệm vụ em phải thực hiện trong kỳ bảo vệ luận văn tốt nghiệp mà thực
sự đây là đề tài mà em rất quan tâm và say mê nghiên cứu.
Với tấm lòng biết ơn sâu sắc, em xin chân thành cảm ơn Thầy giáo Pgs. Ts
Đỗ Đức Giáo là người trực tiếp, tận tình, chu đáo giảng dạy và hướng dẫn em
hoàn thành cuốn luận văn này. Nhân dịp này em cũng xin cảm ơn sự giúp đỡ,
dạy bảo tận tình của các thầy cô giáo, cán bộ Khoa Công Nghệ Thông Tin
trường Đại học Dân lập Đông Đô và những bạn học đã đóng góp những ý kiến
bổ ích cho bản luận văn này.
Do trình độ hiểu biết còn hạn chế, thời gian chuẩn bị không nhiều, bản luận
văn này còn nhiều sai sót và chưa đầy đủ, em rất mong nhận được sự góp ý
của các thầy cô và các bạn quan tâm.
3
Luận văn tốt nghiệp Phan Thanh
Long
Hà Nội 6/2000
Sinh viên: Phan Thanh Long
Giới thiệu đề tài
"Một số vấn đề ứng dụng của đồ thị trong Tin học" là đề tài mang tính nghiên
cứu lý thuyết, có tầm quan trọng và có ý nghĩa thiết thực cao. Khái niệm đồ thị
ở đây khác với những đồ thị thông thường đã biết, đây là 1 lĩnh vực về lý thuyết
đồ thị nghiên cứu những cấu trúc mang tính rời rạc là 1 bộ phận quan trọng của

Toán học rời rạc.
Lý thuyết đồ thị có nhiều ứng dụng trong các ngành kỹ thuật và đã được
nghiên cứu nhiều với khối lượng kiến thức khá đồ sộ. Đề tài được thực hiện
trước tiên sẽ đề cập tới những vấn đề chủ yếu của Lý thuyết đồ thị, sau đó tuỳ
từng nội dung cũng sẽ xoay quanh tới những ứng dụng của đồ thị trong Tin học,
giải quyết các bài toán trong Tin học như xác định xem hai máy tính trong mạng
có thể truyền tin được hay không nhờ mô hình đồ thị của mạng máy tính, hay là
bài toán nối mạng máy tính sao cho tổng chi phí là nhỏ nhất hoặc việc khắc
phục những gói tin bị truyền sai nhờ các giải thuật đã nghiên cứu về đồ thị. Có
những ứng dụng của đồ thị không đi trực tiếp vào các lĩnh vực trong Tin học, ví
dụ như bài toán lập lịch trong công tác hành chính, xác định đường đi ngắn nhất
giữa 2 điểm nút giao thông, ta cũng xem đó là ứng dụng 1 cách gián tiếp trong
Tin học vì nếu được mô hình tốt những bài toán đó bằng đồ thị thì sẽ giải quyết
chúng dễ dàng bằng máy tính, hoặc là về chơi cờ Ca rô tuy chỉ là môn chơi về
trí tuệ nhưng đồ thị cũng hỗ trợ tốt cho nhưng ai muốn lập trình chơi cờ Ca rô
trên máy tính khi đã mô hình được các thế cờ bằng đồ thị.
Đề tài được thực hiện xong bao gồm những nội dung sau đây:
Chương 1 Một số vấn đề cơ bản của đồ thị
Nhằm trình bày những khái niệm cơ bản nhất về lý thuyết đồ thị, là cơ sở tìm
hiểu sâu sắc hơn các vấn đề tiếp theo. Ngoài các định nghĩa, tính chất cơ bản
của đồ thị, chương này có trình bày đến 1 vấn đề quan trọng, đó là cách lưu trữ,
biểu diễn và xử lý đồ thị trên máy tính khi đã xét những mô hình biểu diễn hình
học. Cấu trúc dữ liệu liên quan chặt chẽ đến giải thuật, việc biểu diễn đồ thị trên
máy tính như thế nào sẽ ảnh hưởng đến cách giải các bài toán ứng dụng bằng
máy tính. Trong chương có trình bày một số phương pháp biểu diễn đồ thị trên
4
Luận văn tốt nghiệp Phan Thanh
Long
máy tính, mỗi phương pháp đều có những ưu và khuyết điểm riêng, vì vậy cần
lựa chọn phương pháp sao cho phù hợp với đặc điểm từng bài toán và đạt được

hiệu quả về thuật toán.
Khi đưa các ví dụ minh họa, nhất là về phần đồ thị đặc biệt ta sẽ thấy được ứng
dụng của đồ thị trong mô hình về mạng máy tính.
Chương 2 Số ổn định và tô màu đồ thị
Số ổn định của đồ thị bao gồm số ổn định trong, số ổn định ngoài và nhân đồ
thị, nghiên cứu vấn đề này ta sẽ thấy được mối quan hệ giữa các tập đỉnh của
một đồ thị. Một ứng dụng khá lý thú khi đề cập tới vấn đề này đó là xây dựng
mô hình đồ thị cho bài toán lập trình chơi cờ carô, có sử dụng đến tập ổn định
ngoài của đồ thị.
ở chương này ta cũng sẽ gặp đến một ứng dụng khá thiết thực khi bàn đến vấn
đề tô màu của đồ thị, hay còn gọi là sắc số của đồ thị, ứng dụng đó là bài toán
lập lịch. Lập lịch là công tác hành chính phổ biến, hay gặp ở các cơ quan, xí
nghiệp, trường học cũng đã có nhiều sản phẩm phần mềm phục vụ cho việc
lập lịch.
Chương 3 Chu trình, đường đi Euler và Hamilton trong đồ thị
Trình bày những khái niệm về chu trình Euler, đường Euler, chu trình
Hamilton, đường Hamilton các tính chất của chúng đồng thời đưa ra 1 số thuật
toán ứng dụng để tìm các đường, chu trình Euler, Hamilton.
Chương 4 Đường đi ngắn nhất trong đồ thị
Bài toán đường đi ngắn nhất hay được đề cập tới trong lý thuyết đồ thị, đây
cũng là loại bài toán tối ưu có nhiều ứng dụng rộng rãi. Trong đồ thị thường đặt
ra các loại tìm đường đi ngắn nhất như sau:
- Đường đi ngắn nhất nhất giữa 1 cặp đỉnh đã được xác định trước.
- Đường đi ngắn nhất giữa 1 đỉnh với tất cả các đỉnh còn lại.
- Đường đi ngắn nhất giữa tất cả các cặp đỉnh bất kỳ.
Để giải quyết các loại bài toán này, trong chương sẽ trình bày 1 số thuật toán
chính hay được sử dụng như: Dijkstra, Ford-Bellman và Floyd.
Về mặt ứng dụng, trong chương sẽ nêu ra giải thuật Viterbi cho ứng dụng khá
quan trọng trong lĩnh vực Tin học đó sửa gói tin sai khi truyền tin trong mạng
máy tính.

5
Luận văn tốt nghiệp Phan Thanh
Long
Khi nói đến đường đi ngắn nhất, người ta cũng hay nói đến mở rộng của bài
toán đường đi ngắn nhất thành đường đi dài nhất. Trong vấn đề này ta lại có 1
ứng dụng nữa trong công tác lập lịch, đó là sơ đồ mạng PERT cho việc lập dự
án thi công một công trình. ứng dụng này rất thực tiễn và đã đem lại nhiều hiệu
quả cao cho việc thi công một công trình.
Chương 5 Một số vấn đề về cây
Đây là chương cuối cùng và là chương sẽ đề cập tới nhiều ứng dụng nhất.
Cây là một trường hợp riêng của đồ thị, để nghiên cứu hết các tính chất, khái
niệm về cây cần cả 1 khối lượng kiến thức đồ sộ và đã có những đề tài cấp luận
văn hoặc hơn thế nữa nghiên cứu về cây. Trong chương này chỉ đề cập tới
những điểm chính nhất, cơ bản nhất về cây và tập trung khai thác những ứng
dụng của nó.
Những ứng dụng của cây thì rất nhiều, trong chương chỉ đề cập tới những ứng
dụng cơ sở nhất nhưng cũng thiết thực nhất, đó là 1 số ứng dụng của cây nhị
phân như mã tiền tố, cây biểu diễn biểu thức, cây quyết định, cây sắp xếp và tìm
kiếm.
Trong lý thuyết đồ thị, khi nói về cây thì cây bao trùm là vấn đề không thể
thiếu, vì đây cũng là đặc điểm rất hay của đồ thị. Trong cây bao trùm lại có cây
bao trùm bé nhất, lớn nhất và đây lại là 1 dạng của bài toán tối ưu. Trong
chương cũng sẽ giới thiệu ứng dụng thực tiễn của cây bao trùm nhỏ nhất trong
việc kết nối mạng sao cho chi phí nhỏ nhất, đồng thời đưa ra 1 số thuật toán tìm
cây bao trùm, đặc biệt có những thuật toán rất cơ sở được nêu ra, được dùng
nhiều trong việc giải quyết các bài toán đồ thị trên máy tính như là kỹ thuật
quay lui, tìm kiếm ưu tiên theo chiều rộng và chiều sâu.
Chương 1
một số vấn đề cơ bản của đồ thị
I. Các định nghĩa đồ thị

6
Luận văn tốt nghiệp Phan Thanh
Long
1. Định nghĩa đồ thị
Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh
này, các loại đồ thị khác nhau được phân biệt bởi kiểu và số lượng cạnh nối
hai đỉnh nào đó của đồ thị.
Giả sử X là tập hữu hạn, không rỗng các phần tử nào đó và U Í X´X. Bộ G
= <X, U> được gọi là đồ thị hữu hạn. Mỗi phần tử xẻX gọi là một đỉnh và
mỗi phần tử u = (x,y) ẻ U gọi là một cạnh của đồ thị G = <X, U>.
Xét một cạnh u ẻ U khi đó tồn tại 2 đỉnh x, y ẻ X sao cho u = (x, y), ta nói
rằng x nối với y hoặc x và y thuộc u.
- Nếu cạnh u = (x, y) mà x và y là hai đỉnh phân biệt thì ta nói x, y là hai đỉnh
kề nhau.
- Nếu u = (x, x) thì u là cạnh có hai đỉnh trùng nhau ta gọi đó là một khuyên.
- Nếu u = (x, y) mà x,y là cặp đỉnh có phân biệt thứ tự hay có hướng từ x đến y
thì u là một cung, khi đó x là gốc còn y là ngọn hoặc x là đỉnh ra, y là đỉnh
vào.
- Khi giữa cặp đỉnh (x, y) có nhiều hơn một cạnh thì ta nói những cạnh cùng
cặp đỉnh là những cạnh song song hay là cạnh bội
a) b) c)
a. Tại đỉnh y có một khuyên b. Một cung có hướng từ x sang y
c. Cặp đỉnh (x, y) có 2 cạnh song song
Hình 1.1
Trong thực tế ta có thể gặp nhiều vấn đề mà có thể dùng mô hình đồ thị để
biểu diễn, như sơ đồ một mạng máy tính, sơ đồ mạng lưới giao thông, sơ đồ
thi công một công trình.
Ví dụ: Xét một mạng máy tính, có thể biểu diễn mạng này bằng một mô
hình đồ thị, trong đó mỗi máy là một đỉnh, giữa các máy được nối với nhau
bằng các dây truyền, chúng tương ứng là các cạnh của đồ thị. Một mô hình

mạng máy tính như hình 1.2 trong đó có các máy tính A, B, C, D tương ứng là
các đỉnh, giữa 2 máy được nối trực tiếp với nhau thì tương ứng với 1 cặp đỉnh
kề nhau.
7
x
y
x
y
u
x
y
y
Luận văn tốt nghiệp Phan Thanh
Long
Hình 1.2 Ví dụ về một đồ thị
2. Đồ thị đơn
Đồ thị G = <X, U> được gọi là đồ thị đơn nếu giữa hai đỉnh bất kỳ được nối
với nhau bởi không quá một cạnh (cung), tức là đồ thị không có cạnh bội,
không có khuyên.
Hình 1.2 là một ví dụ về đồ thị đơn
3. Đa đồ thị
Đồ thị G = <X, U> được gọi là đa đồ thị nếu nó có ít nhất một cặp đỉnh được
nối với nhau bởi hai cạnh (hai cung) trở lên.
4. Giả đồ thị
Là đồ thị có ít nhất một khuyên, có thể chứa cạnh bội, cạnh đơn. Tóm lại đây
là loại đồ thị tổng quát nhất.
a) b)
Hình 1.3 a. Đa đồ thị b. Giả đồ thị
II. Các loại đồ thị
1. Đồ thị vô hướng

Đồ thị G=<X,U> được gọi là đồ thị vô hướng nếu tất cả các cạnh e ẻ U mà
cặp đỉnh thuộc nó e = (x,y) ẻ X không phân biệt thứ tự. Đồ thị vô hướng là đồ
thị không có bất kỳ một cung nào.
Ví dụ: như hình 1.3.a là biểu diễn của một đồ thị vô hướng.
2. Đồ thị có hướng
8
A
B
C
D
A
B
C
D
A
B
C
D
Luận văn tốt nghiệp Phan Thanh
Long
Đồ thị G = <X, U> được gọi là đồ thị có hướng nếu tất cả các cạnh e ẻ U mà
cặp đỉnh thuộc nó e = (x, y) ẻ X có phân biệt thứ tự. Đồ thị có hướng là đồ thị
mà mọi e = (x, y) ẻ X đều là cung.
Hình 2.1 Đồ thị có hướng
3. Đồ thị hỗn hợp
Đồ thị G=<X,U> vừa có cạnh vô hướng, vừa có cạnh có hướng thì nó được
gọi là đồ thị hỗn hợp, loại đồ thị này rất ít khi được dùng tới.
Chú ý rằng vấn đề phân chia đồ thị và các thuật ngữ về đồ thị chỉ mang tính
tương đối, hiện nay vẫn còn chưa mang tính thống nhất chuẩn trên nhiều tài
liệu.

III. Một số khái niệm và tính chất cơ bản của đồ thị
1. Bậc đồ thị
1.1 Bậc đồ thị vô hướng
Cho đồ thị vô hướng G = <X,U>. Xét 1 đỉnh x ẻ X đặt m(x) là số cạnh thuộc
đỉnh x khi đó m(x) được gọi là bậc của đỉnh x. Nếu x có một khuyên thì m(x)
được cộng thêm 2.

m(x) = 3 m(x) = 2
- Nếu m(x) = 0 thì đỉnh x được gọi là đỉnh cô lập
- Nếu m(x) = 1 thì đỉnh x được gọi là đỉnh treo
Ta đặt
thì m(G) được gọi là bậc của đồ thị vô hướng G = <X, U>
1.2 Bậc đồ thị có hướng
9
x
x


=
X x
m(x) m(G)
A
B
C
Luận văn tốt nghiệp Phan Thanh
Long
Cho đồ thị có hướng G= <X,U> xét 1 đỉnh x ẻ X, ta ký hiệu m
+
(x) là số các
cung vào của đỉnh x, còn m

-
(x) là số các cung ra khỏi x. Khi đó ta gọi m
+
(x) là
bậc vào của đỉnh x còn m
-
(x) là bậc ra của đỉnh x.
- Nếu m
+
(x) + m
-
(x) = 0 thì đỉnh x được gọi đỉnh là cô lập
- Nếu m
+
(x) + m
-
(x) = 1 thì đỉnh x được gọi là đỉnh treo
Ta đặt
Khi đó m(G) được gọi là bậc của đồ thị có hướng G = <X,U>.
Trong đồ thị có hướng thì m
+
(x) = m
-
(x) = ỗU ỗ
Ví dụ:
- Xét đồ thị vô hướng như trong hình 1.3.a ta có:
m(G) = m(A) + m(B) + m(C) + m(D) = 2 + 5 + 2 + 1 = 10
- Xét đồ thị có hướng trong hình 2.1 ta có:
m(G) = [m
+

(A) + m
+
(B) + m
+
(C) ] + [m
-
(A) + m
-
(B) + m
-
(C)]
= [1 + 2 + 1] + [2 + 1 +1] = 8
Định lý:
Cho đồ thị hữu hạn G = <X,U> khi đó bậc của đồ thị G bằng 2 lần số cạnh
của đồ thị, tức là m(G) = 2ỗU ỗ.
Chứng minh:
Ta thấy một cạnh thuộc 2 đỉnh, nếu xoá một cạnh thì bậc của G giảm đi 2,
nếu xoá một khuyên u = (x, x) thì bậc của G cũng giảm đi 2, còn nếu xoá hết
cạnh, hết khuyên thì bậc của đồ thị bằng 0. Từ đó suy ra định lý.
Hệ quả: Số đỉnh bậc lẻ của đồ thị G = <X,U> là một số chẵn
Chứng minh:
Gọi A và B tương ứng là tập đỉnh bậc lẻ và tập đỉnh bậc chẵn của đồ thị. Ta
có:
Do vế trái chẵn nên tổng vế phải cũng là số chẵn. Mà tổng bậc của các đỉnh
bậc chẵn (xẻA) là số chẵn nên tổng bậc của các đỉnh bậc lẻ (xẻB) phải là số
10
∑∑




+
+=
X xX x
(x)m (x)m m(G)
∑∑∑
∈∈∈
+==
B xA xX x
m(x) m(x) m(x) 2m
Luận văn tốt nghiệp Phan Thanh
Long
chẵn, do tất cả các số hạng của nó là số lẻ, nên tổng này phải gồm một số chẵn
các số hạng. Vì vậy số đỉnh bậc lẻ phải là số chẵn.
2. đường đi và chu trình
2.1 Đường đi
Xét đồ thị G = <X,U> với
- Tập đỉnh X = {x
1
,x
2
, ,x
n
}
- Tập cạnh U = {u
1
,u
2
, ,u
m
}

Tập hợp các đỉnh kề nhau từ x
i
đến x
j
được gọi là 1 đường đi, kí hiệu
x
i
x
i1
x
i2
x
j
º x
i
u
i
x
i1
u
i1
x
i2
u
i2
u
j
x
j
Trong đó các cạnh, các đỉnh trong đường đi có thể lặp lại

Độ dài của đường đi bằng số các cạnh (hoặc cung) trong đường đi đó.
*Chú ý rằng trong đồ thị có hướng, trên một cung uv chẳng hạn thì đường đi
chỉ có thể đi từ gốc (u) đến ngọn (v) không thể đi ngược lại.
2.2 Chu trình
Xét một đường đi từ x
i
- x
j
. Nếu x
i
º x
j
thì đường đi này được gọi là một chu
trình. Như vậy chu trình là một đường đi có đỉnh xuất phát và đỉnh kết thúc
trùng nhau.
Chú ý rằng đường đi trong đồ thị có hướng không được đi ngược chiều mũi
tên
- Đường đi (chu trình) được gọi là đơn nếu nó đi qua mỗi cạnh không quá
một lần.
- Đường đi (chu trình) được gọi là sơ cấp nếu nó đi qua mỗi đỉnh đúng một
lần
Hình 3.1
Ví dụ như ở hình 3.1 ADBE là một đường đi sơ cấp từ A đến E độ dài 3;
ABCDBE là đường đi không sơ cấp ( qua B 2 lần) từ A đến E độ dài 5;
ABDAB là một đường đi không đơn (chứa cạnh AB 2 lần) từ A đến B độ dài
4; ABDA Là 1 chu trình đơn và sơ cấp độ dài 3; CC là đường đi độ dài 0.
11
A
B
C

D
E
Luận văn tốt nghiệp Phan Thanh
Long
Xét đồ thị có hướng như hình 2.1 thì ABCB là một đường đi độ dài 3; CBA
không là một đường đi vì không có cung đi từ B đến A.
Định lý:
Nếu trong đồ thị G = <X,U> các đỉnh đều có bậc không nhỏ hơn 2 ( "x ẻ X |
m(x) ³ 2 ) thì trong G tồn tại ít nhất một chu trình.
Chứng minh:
Xét tất cả các đường đi đơn. Vì đồ thị là hữu hạn cho nên số các đường đi
đơn là hữu hạn. Chọn một đường đi là dài nhất nào đó ví dụ từ x
i1
đến x
ij +1
(xem hình vẽ dưới đây). Theo giả thiết m(x) ³ 2 nên tồn tại ít nhất một đỉnh x
i0
và một cạnh nối đỉnh x
i1
và x
i0
. Đỉnh x
i0
thuộc một trong các đỉnh trên đường
đi đã chọn chẳng hạn x
ij
vì đường đi là dài nhất, nên chứng tỏ tồn tại một chu
trình trong đường đi.

3. Đồ thị liên thông

Cho đồ thị G = <X,U>. Hai đỉnh phân biệt x,y ẻ X được gọi là liên thông nếu
tồn tại một đường đi nối các đỉnh x, y với nhau. Đồ thị G được gọi là liên
thông nếu với hai đỉnh phân biệt bất kỳ trong đồ thị đều là liên thông.
Ví dụ như hình 3.1 là một đồ thị liên thông vì luôn có đường đi nối hai đỉnh
bất kỳ của đồ thị, còn đồ thị như hình 3.2 là không liên thông vì không có
đường đi từ A tới D hoặc từ D tới F v.v
Xét 2 đồ thị liên thông
G
1
= <X
1
, U
1
> và G
2
= <X
2
, U
2
>
Trong đó: X
1
ầ X
2
= ặ
và U
1
ầ U
2
= ặ

Khi đó: X = X
1
ẩ X
2
U = U
1
ẩ U
2
Thì G = <X,U> là đồ thị có 2 thành phần liên thông G
1
, G
2
.
12
x
i0
x
i1
x
i2
x
i3
x
ij
x
ij+1
A
B
F
C

ED
Luận văn tốt nghiệp Phan Thanh
Long
Hình 3.3
Ví dụ như đồ thị trong hình 3.3 có ba thành phần liên thông sau:
G
1
= <X
1
, U
1
> với X
1
= {A,B,C} và U
1
= {AB, AC, CB}
G
2
= <X
2
, U
2
> với X
2
= {D, E} và U
2
= {DE}
G
3
= <X

3
, U
3
> với X
3
= {F} và U
3
= ặ
Cho đồ thị có hướng G = <X, U>
- G được gọi là đồ thị liên thông yếu nếu đồ thị vô hướng tương ứng với nó
là liên thông
- G là liên thông một chiều nếu với hai đỉnh x,y khác nhau bất kỳ của G luôn
có đường đi x - y hoặc đường đi y - x.
- G là liên thông mạnh (liên thông 2 chiều) nếu hai đỉnh x,y khác nhau bất kỳ
của G đều có đường đi x - y và đường đi y - x.
H
1
H
2
H
3
Hình 3.4
ở hình 3.4 đồ thị H
1
là liên thông mạnh, giả sử cặp đỉnh (A,C) ta có chiều đi
từ C tới A, và đồng thời cũng có chiều đi từ A tới C, và bất kỳ các cặp đỉnh
khác cũng tương tự như vậy. H
2
là liên thông một chiều vì xét cặp đỉnh (A,D)
có chiều đi từ D tới A nhưng không có chiều đi từ A tới D. H

3
là liên thông
yếu vì tồn tại cặp đỉnh (B,C) không có chiều đi B - C cũng không có chiều đi
C - B, nhưng đồ thị vô hướng tương ứng là liên thông.
4. Đồ thị con và đồ thị bộ phận
Cho đồ thị G = <X,U>
- Nếu trong đồ thị đó ta bỏ đi một số đỉnh nào đó và các cạnh xuất phát từ đỉnh
đó thì phần còn lại của đồ thị được gọi là đồ thị con của đồ thị G đã cho, hoặc
là nếu D = <X',U'> là đồ thị con của G = <X,U> thì X' Í X và U' Í U
- Nếu trong đồ thị G ta bỏ đi một số cạnh nhưng giữ nguyên các đỉnh thì
phần còn lại của đồ thị được gọi là đồ thị bộ phận của đồ thị G.
13
A
B
C
D
A
B
C
D
A
B
C
D
Luận văn tốt nghiệp Phan Thanh
Long
IV. Các dạng biểu diễn của đồ thị
1. Biểu diễn hình học của đồ thị
Để có cái nhìn trực quan ta thường biểu diễn đồ thị bằng hình học, một đồ thị
có thể biểu diễn trên một mặt phẳng hoặc trong không gian. Phương pháp biểu

diễn như sau: Biểu diễn các đỉnh của đồ thị bằng các điểm (hay vòng tròn nhỏ, ô
vuông nhỏ) và nối hai điểm bằng một đường (cong, thẳng, mũi tên) khi cặp
điểm đó ứng với một cạnh (cung) của đồ thị.
Ví dụ 1: Cho đồ thị G = <X,U> trong đó
X = {A, B, C, D, E} và U = {AB, AC, AD, AE, BD, CD, CE}
a) b)
Hình 4.1
Hình 4.1.a và hình 4.1.b đều là biểu diễn hình học của đồ thị G đã cho ở
trên
2. Sự đẳng cấu
Với mỗi đồ thị thì có thể có nhiều dạng biểu diễn hình học, có nhiều đồ thị
tưởng chừng khác nhau nhưng đó là cách biểu diễn hình học khác nhau của
cùng một đồ thị, sự đẳng cấu cho phép chúng ta kết luận được điều đó.
Định nghĩa: Xét 2 đồ thị G
1
= (X
1
, U
1
) và G
2
= <X
2
, U
2
>
Hai đồ thị này được gọi là đẳng cấu với nhau nếu tồn tại 1 song ánh từ X
1
vào
X

2
và từ U
1
vào U
2
sao cho nếu có cạnh e = (u, v) ẻ U
1
tương ứng với cạnh e' =
(u', v') ẻ U
2
thì cặp đỉnh u, v ẻ X
1
cũng là tương ứng cặp đỉnh u', v' ẻ X
2
Ví dụ xét 2 đồ thị G
1
và G
2
như hình 4.2
G
1
G
2
Hình 4.2
14
A
B
D
E
C

C
D
E
B
A
m
n
p
q
a
b
c
d
Luận văn tốt nghiệp Phan Thanh
Long
Ta có f : G
1
đ G
2

f(a) = m f(c) = n
f(d) = q f(b) = p
Nếu a, b ẻ X
1
kề nhau thì f(a), f(b) ẻ X
2
kề nhau.
Vậy đây là 2 đồ thị đẳng cấu với nhau, ta có thể xem G
1
và G

2
thực chất chỉ là 1
chỉ có điều biểu diễn ở dạng hình học khác nhau, các tên đỉnh khác nhau.
Để xét 2 đồ thị có đẳng cấu không là việc khó, tuy nhiên để xét 2 đồ thị không
đẳng cấu với nhau thì đơn giản hơn.
Đối với 2 đồ thị đẳng cấu thì các đồ thị đó có những tính chất bất biến như sau:
- Số đỉnh bằng nhau
- Số cạnh bằng nhau
- Bậc các đỉnh tương ứng cùng như nhau
- 2 Ma trận kề cũng như nhau
- Các chu trình cũng như nhau
3. Một số đồ thị đặc biệt
Do tính chất, dạng biểu diễn có những nét đặc thù riêng biệt nên ta phân loại
một số đồ thị thành các dạng đặc biệt sau:
3.1 Đồ thị đều
Là một đồ thị mà mọi đỉnh có cùng bậc, nếu bậc này bằng k thì đó là đồ thị k
- đều
a) b) c) d)
Hình 4.3 a: G- 1 đều; b: G - 2 đều; c: G - 2 đều; d: G - 3 đều.
Trường hợp riêng như đồ thị hình 4.3.b và hình 4.3.c là những đồ thị vòng
ký hiệu C
n
(n là số đỉnh)
3.2 Đồ thị đầy đủ
15
Luận văn tốt nghiệp Phan Thanh
Long
Đồ thị đầy đủ n đinh, ký hiệu K
n
là đơn đồ thị vô hướng mà mọi cặp đỉnh

phân biệt luôn kề nhau. Xem ví dụ như hình 4.4 dưới đây hoặc 1 trường hợp
riêng của đồ thị đều G - 3 là những đồ thị đầy đủ
a) b)
Hình 4.4 a - đồ thị đầy đủ K
2
; b - đồ thị đầy đủ K
4
3.3 Đồ thị bánh xe:
Ký hiệu W
n
, thu được từ đồ thị vòng có n đỉnh bằng cách bổ sung một đỉnh
mới nối tất cả các đỉnh đã có.
W
4
W
5
W
6
Hình 4.5 Các dạng đồ thị bánh xe
3.4 Một vài ứng dụng của đồ thị đặc biệt
ở các mạng cục bộ (LAN), các máy tính thường được kết nối theo một cách
thức nào đó gọi là hình trạng (topolopy). Dựa theo đặc điểm của các totolopy
này mà ta có thể mô hình bằng 1 số dạng đồ thị đặc biệt. Ví dụ với mạng LAN
các máy tính được kết nối theo topolopy hình sao (Star) sau đây:
Hình 4.6
ở dạng này, tất cả các máy được nối vào một thiết bị trung tâm có nhiệm vụ
nhận tín hiệu từ các máy và chuyển đến máy đích của tín hiệu. Từ đặc điểm
16
Luận văn tốt nghiệp Phan Thanh
Long

này có thể mô hình bằng một đồ thị bộ phận của đồ thị bánh xe W
6
như hình
4.7.a
a) b) c) d)
a) Dạng sao b) dạng vòng c) dạng hỗn hợp d) dạng đầy đủ (Complete)
Hình 4.7 Một số topolopy của LAN
ở mạng LAN ta cũng thường có các dạng topolopy khác như dạng chu trình
(loop) hoặc gọi là vòng. ở dạng này mỗi máy nối đúng với 2 máy khác. Mạng
cục bộ với cấu trúc vòng tròn được mô hình bằng các đồ thị đặc biệt dạng
vòng C
n
như hình 4.7.b, thông báo gửi từ máy này sang máy khác theo chu
trình vòng tròn cho tới khi tới được máy đích. Hoặc 1 dạng nữa là dạng hỗn
hợp, đó là sự kết hợp của dạng hình sao và hình vòng. Topolopy kiểu này là
một đồ thị bánh xe W
n
(hình 4.7.c). Mạng cục bộ dạng bánh xe các máy có thể
truyền vòng quanh theo vòng tròn hoặc có thể qua bộ phận trung tâm. Ngoài
ra người ta cũng thường hay bố trí mạng sao cho các máy đều kết nối trực tiếp
với nhau, với kiểu này có thể mô hình bằng đồ thị đầy đủ K
n
(hình 4.7.d)
4. Biểu diễn đồ thị trên máy tính
Lĩnh vực đồ thị có nhiều ứng dụng trong thực tế, có thể mô hình nhiều ứng
dụng bằng đồ thị và sử dụng máy tính để giải quyết các bài toán về ứng dụng
đó. Nên việc biểu diễn và lưu trữ đồ thị trên máy tính là một vấn đề khá trọng
tâm, phương thức biểu diễn từng loại đồ thị trên máy tính ảnh hưởng đến các
giải thuật, phương pháp giải quyết các ứng dụng trên máy tính.
4.1 Biểu diễn bằng ma trận kề

Phương pháp này dựa trên mối quan hệ giữa các cặp đỉnh, mỗi đồ thị được
đặt tương ứng với một ma trận vuông cấp n (n là số đỉnh của đồ thị). Gọi ma
trận kề là A = (a
ij
) i,j = 1 n.
+ Trường hợp G = <X,U> là đồ thị vô hướng với X = {x
1
, x
2
, ,x
n
} khi đó
mỗi phần tử a
ij
của ma trận A được xác định như sau: a
ij
= a
ji
= d, nếu cặp đỉnh
(x
i
, x
j
) có d cạnh nối với nhau. Khi cặp đỉnh (x
i
, x
j
) không có cạnh nào nối với
nhau thị a
ij

= 0. Ta thấy ma trận kề của đồ thị vô hướng là ma trận đối xứng.
17
Luận văn tốt nghiệp Phan Thanh
Long
+ Trường hợp G = <X,U> là đồ thị có hướng với X = {x
1
, x
2
, ,x
n
} thì mỗi
phần tử a
ij
của A được xác định như sau: đối với mỗi cặp đỉnh (x
i
, x
j
) từ x
i
đến
x
j
nếu có d cung thì a
ij
= d. Chú ý a
ji
= 0 nếu không có cung nào hướng từ x
j
đến x
i

. Ma trận kề trong trường hợp này là không đối xứng.
Trong 2 trường hợp trên ta chú ý nếu đỉnh x
i
có một khuyên thì phần tử tương
ứng của ma trận kề là a
ii
= 1

G1 G2
Hình 4.8
Ta có thể dùng ma trận kề biểu diễn đồ thị G1 và G2 trong hình 4.8 như sau:
Đối với đồ thị có trọng số mỗi cạnh e = (x
i
, x
j
) được gán một trọng số l(e)
(còn viết là l(x
i
, x
j
) ) thì ma trận kề của nó được thay bằng ma trận có trọng số,
khi đó mỗi phần tử của ma trận bằng trọng số của cạnh tương ứng: a
ij
= l(x
i
,
x
j
)
Ưu điểm của phương pháp này là dễ dàng xác định được các cặp đỉnh có kề

nhau hay không hoặc rất thuận tiện khi tìm số bậc của mỗi đỉnh. Việc truy cập
phần tử của ma trận kề qua chỉ số không phụ thuộc vào số đỉnh của đồ thị.
Nhược điểm lớn nhất của phương pháp này là không phụ thuộc vào số cạnh
của đồ thị, ta luôn phải sử dụng n
2
đơn vị bộ nhớ để lưu trữ ma trận kề của nó.
Định lý:
Nếu G = <X,U> là đa đồ thị với A = (a
ij
) là ma trận kề tương ứng, thì số
đường đi khác nhau từ đỉnh x
i
đến đỉnh x
j
có độ dài s bằng phần tử P
ij
của ma
trận tích A´A´ ´A = A
s
= (P
ij
)
18
s l nầ















=
0010
0021
1201
0111
1G
M










=
011
010
110
2G

M
A
C
B
D
A
B
C
D
Luận văn tốt nghiệp Phan Thanh
Long
Xét ví dụ ứng dụng: Trong một số hệ thống thông tin khi được mô hình bằng
đồ thị có thể thực hiện tốt một số công tác kiểm kỹ thuật. Ví dụ khi biểu diễn
một mạng máy tính bằng đồ thị, giả sử có 2 máy nào đó mà thông tin truyền
giữa chúng là quan trọng, cần tiến hành kiểm tra xem đã có đường truyền dự
phòng giữa chúng không. Xét ở góc độ đồ thị thì cần kiểm tra xem số đường
đi giữa cặp đỉnh tương ứng với 2 máy đó, nếu số đường đi lớn hơn 1 là đã có
đường truyền dự phòng.
* Chương trình viết bằng PASCAL sau tính số đường đi độ dài l nhập từ bàn
phím
Type MaTran = Array[1 20,1 20] Of Integer;
Var a, b, aa: MaTran;
n,l,x1,x2: Integer;
Procedure InputMt(Var Mt: Matran);
Var i, j: Integer;
Begin
For i:=1 to n do
For j:=1 to n do Begin
Write('a',i,j,'= '); Readln(Mt[i,j]);
End;

End;
Procedure Gan(Mt1: MaTran; Var Mt2: MaTran); {Mt2 < Mt1}
Var i,j:Integer;
Begin
For i:=1 to n do
For j:=1 to n do Mt2[i,j]:=Mt1[i,j];
End;
Procedure TichMt(mt1,mt2: Matran; Var MtKq: MaTran); { MtKq =
Mt1*Mt2 }
Var i,j,k: Integer;
Begin
For i:=1 to n do
For j:=1 to n do Begin
MtKq[i,j]:=0;
For k:=1 to n do MtKq[i,j]:=MtKq[i,j]+Mt1[i,k]*Mt2[k,j];
End;
End;
19
Luận văn tốt nghiệp Phan Thanh
Long
Procedure LthuaMt(m: Integer); {aa = a ^m (m: do dai duong di, m>=2) }
Var i: Integer;
Begin
Gan(a,b);
For i:=1 to m-1 do Begin
TichMt(b,a,aa);
Gan(aa,b);
End;
End;
Procedure FindWay(i,j: Integer); { Tim so duong di tu dinh i >j }

Begin
If aa[i,j]<>0 then
Writeln('So duong di do dai ',l,' tu x',x1,' > ','x2 ','la: ',aa[i,j])
Else
Writeln('Khong co duong di tu dinh ',i,' toi dinh ',j,' voi do dai ',l);
End;
BEGIN
Writeln('Nhap ma tran ke cho do thi:');
Write('So dinh do thi: '); Readln(n);
InputMt(a);
Write('Dinh xuat phat: '); Readln(x1);
Write('Dinh ket thuc: '); Readln(x2);
Write('Do dai duong di: '); Readln(l);
LthuaMt(l);
FindWay(x1,x2);
END.
4.2 Danh sách cạnh (cung)
Cho đồ thị G = <X, U> với số cạnh m, số đỉnh n. Nếu m < 6n thì G thường
được biểu diễn dưới dạng danh sách cạnh (cung).
Theo cách này danh sách tất cả các cạnh (cung) của đồ thị vô hướng (có
hướng). Mỗi cạnh (cung) e = (x, y) của đồ thị tương ứng với hai biến Dau[e],
Cuoi[e].
20
1
2
4
3
1
2
3

4
2 Nil
Luận văn tốt nghiệp Phan Thanh
Long
G
1
G
2
Hình 4.9
Ví dụ: Hình 4.9 đồ thị G
1
và G
2
được biểu diễn bằng danh sách cạnh (cung)
như sau:
Như vậy để lưu trữ đồ thị cần sử dụng 2m đơn vị bộ nhớ. Nhược điểm của
phương pháp này là để xác định những đỉnh nào của đồ thị là kề với một đỉnh
cho trước chúng ta phải làm cỡ m phép so sánh.
4.3 Danh sách kề
Phương pháp biểu diễn bằng danh sách kề cũng được sử dụng khá phổ biến
và thường hay dùng cho đồ thị có hướng.
Danh sách kề cho đỉnh x
i
là danh sách gồm tất cả các đỉnh kề của x
i
theo thứ
tự các đỉnh trong tập đỉnh X. Ta có thể biểu diễn đồ thị như một mảng FIRST,
với phần tử FIRST[i] là con trỏ trỏ tới danh sách kề cho đỉnh x
i
.

Ví dụ: ở hình 4.9 đồ thị G
1
và G
2
được biểu diễn bằng danh sách kề như
sau:
FIRST
1
2
3
4
a) Danh sách kề của đồ thị G
1

FIRST
1
21
Dau Cuoi
1 2
1 3
2 3
2 4
3 4
Danh sách c nh Gạ
1

Dau Cuoi
1 2
2 3
3 1

4 1
4 2
Danh sách cung G
2

2
1
1
2
3 Nil
3
2
3 Nil
4 Nil
4 Nil
3 Nil
1 Nil
2
3 Nil
Luận văn tốt nghiệp Phan Thanh
Long
2
3
4
b) Danh sách kề đồ thị G
2
Bộ nhớ sử dụng cho phương pháp biểu diễn danh sách kề là tỷ lệ thuận với
tổng số đỉnh và các cạnh của đồ thị.
Nhược điểm của cách biểu diễn này là thời gian cần thiết để xác định có một
cạnh đi từ đỉnh x

i
tới đỉnh x
j
có hay không mất O(n). Cách biểu diễn này thích
hợp cho các thuật toán mà cấu trúc đồ thị hay thay đổi như thêm hoặc bớt các
cạnh.
Chương 2
Số ổn định và tô màu đồ thị
I. Số ổn định trong, số ổn định ngoài, nhân đồ thị
1. Số ổn định trong
Cho đồ thị vô hướng G = <X, U> và A Í X.
a) Tập A gọi là tập ổn định trong của đồ thị nếu hai đỉnh bất kỳ trong A là
không kề nhau, tức là không có một cạnh nào của đồ thị chứa hai đỉnh x và y.
b) Tập A gọi là tập ổn định trong cực đại của đồ thị G nếu:
- A là tập ổn định trong
- Nếu thêm vào A một đỉnh ngoài A thì A không phải là ổn định trong.
Gọi L là tập hợp các tập ổn đỉnh trong của của G = <X,U>. Khi đó ký hiệu a(G)
= Max {ùAù / Aẻ L} và a(G) được gọi là số ổn định trong của đồ thị G. Như
vậy a(G) là số phần tử của 1 tập ổn định trong cực đại nào đó.
2. Số ổn định ngoài
Cho đồ thị vô hướng G = <X,U> và B Í X
22
Luận văn tốt nghiệp Phan Thanh
Long
a) Tập B được gọi là tập ổn định ngoài của đồ thị nếu với mỗi phần tử y ẻ X \ B
đều tồn tại x ẻ B sao cho có cạnh nối giữa x và y, B còn được gọi là tập thống
trị của đồ thị.
b) Tập B được gọi là tập ổn định ngoài cực tiểu nếu:
- B là tập ổn định ngoài
- Nếu bớt 1 phần tử bất kỳ của B thị B không còn là tập ổn định ngoài.

Gọi M là tập của tất cả các tập ổn định ngoài của G = <X,U>. Khi đó ký hiệu
b(G) = Min {ùBù / Bẻ M} và b(G) được gọi là số ổn định ngoài của đồ thị G.
Đối với các tập ổn định ngoài, ta thường quan tâm đến tập ổn định ngoài có số
phần tử ít nhất vì lực lượng của nó liên quan tới số ổn định ngoài của đồ thị.
3. Nhân đồ thị
Cho đồ thị vô hướng G = <X, U>. Nếu tập A Í X vừa là tập ổn định trong vừa
là tập ổn định ngoài của đồ thị G thị A được gọi là nhân của đồ thị.
Đối với nhân của đồ thị, ta quan tâm tới nhân có số phần tử ít nhất.
Hình 1.1
Ví dụ: xét đồ thị hình 1.1 ta có:
Các tập ổn định trong của đồ thị là:
A
1
= {1, 5, 7} A
6
= {2, 6, 7}
A
2
= {1, 6, 7} A
7
= {4, 5, 7}
A
3
= {3, 5, 7} A
8
= {4, 6, 7}
A
4
= {3, 6, 7} A
9

= {2, 4, 5, 7}
A
5
= {2, 5, 7} A
10
= {2, 4, 6, 7}
Tập A
9
và A
10
là các tập ổn định trong cực đại có 4 phần tử vì nếu thêm 1 đỉnh
mới nữa vào các tập đó thì chúng không còn là tập ổn định trong nữa. Số ổn
định trong của đồ thị trên là a(G) = 4.
23
4
1
2
3
6 5
7
Luận văn tốt nghiệp Phan Thanh
Long
Với đồ thị trên các tập ổn định ngoài cực tiểu là B
1
= A
1
; B
2
= A
2

; B
3
= A
3
; B
4
= A
4
. Vì các tập này nếu bớt đi 1 trong các phần tử của chúng thì tập còn lại
không là tập ổn định ngoài nữa. Số ổn đỉnh ngoài của đồ thị này là b(G) = 3.
Nhân của đồ thị trên là B
1
, B
2
, B
3
, B
4
vì các tập này là tập ổn định trong và đồng
thời cũng là tập ổn định ngoài.
4. Các thuật toán tìm các tập ổn định trong cực đại, ổn định ngoài cực tiểu.
4.1 Thuật toán tìm số ổn định trong
- Bước 1: Tìm các tập ổn định trong có 2 phần tử bằng cách xét tất cả tổ hợp
chập 2 của n phần tử (n số các đỉnh), kiểm tra những tập nào mà phần tử của ma
trận kề tương ứng bằng 0 thì tập đó là ổn định trong.
- Bước 2: Duyệt từng tập có 2 phần tử và bổ sung thêm phần tử thứ 3 và kiểm
tra từng cặp như bước 1, tập nào thoả ta được tập ổn định trong 3 phần tử.

- Bước k: Giả sử đã tìm được m tập con ổn định trong có k + 1 phần tử
+ Duyệt từng tập và bổ sung vào các tập đó thêm 1 phần tử

+ Nếu không có tập nào bổ sung được nữa thì dừng
4.2 Thuật toán tìm số ổn định ngoài
Xét G = <X,U> với X = {x
1
, x
2
, ,x
n
}
- Bước 1: Xác định các tập D(x
i
) i = 1 n với D(x
i
) = {x
i
và các đỉnh kề với x
i
}
- Bước 2: Từ các tập D(x
1
), D(x
2
), , D(x
n
) ta tìm tập B
B = {x
k1
, x
k2
, , x

km
} sao cho D(x
k1
) ẩ D(x
k2
) ẩ ẩD(x
km
) = X
Khi đó B là tập ổn định ngoài cực tiểu
5. ứng dụng đồ thị trong lập trình chơi cờ Ca rô
Ta xét một ứng dụng của đồ thị cho bài toán lập trình chơi cờ Ca rô trên máy
tính. Cờ carô là loại cờ mà rất nhiều bạn trẻ đặc biệt giới sinh viên học sinh ưa
thích. Quy tắc và cách thức chơi đơn giản, nhưng nó thực sự là bài toán tin rất
hay, là bài lập trình thể hiện nhiều tư duy thuật toán, cũng như cơ sở về trí tuệ
nhân tạo cho việc lập trình trò chơi giữa người và máy.
Ta xét ứng dụng của đồ thị phục vụ cho bài toán lập trình trò chơi Carô.
Xét một thế cờ Carô như hình 1.2.a
o
1
x
1
x
2
x
4
24
0 1 0 2
A = 0 0 2 2
0 2 0 0
1 0 0 1

Luận văn tốt nghiệp Phan Thanh
Long
x
3
o
2
o
3
a) b)
Hình 1.2
Cấu trúc dữ liệu cho thế cờ này có thể dùng bảng ma trận như hình 1.2.b, với 0
là vùng trắng, 1 là quân "o" và 2 là quân "x". Nhưng như vậy việc tính toán sẽ
rất khó khăn, ta có thể dùng đồ thị làm cấu trúc dữ liệu cho thế cờ Carô, khi đó
việc tính toán sẽ dễ dàng đi và tận dụng những tính chất đã nghiên cứu về đồ thị
thì bài toán lập trình trò chơi carô sẽ trở nên thuận lợi hơn nhiều.
a) Mô hình bằng đồ thị theo vị trí liền kề
Ta xây dựng 1 đơn đồ thị theo nguyên tắc sau
- Mỗi 1 quân "x" hoặc quân "o" thì tương ứng với một đỉnh
- Hai đỉnh là kề nhau nếu tương ứng với 2 quân ở vị trí liên tiếp nhau
- Mỗi một cạnh được gán một nhãn, nhãn cho biết 2 đỉnh kề nhau là kề đứng, kề
chéo hay là kề ngang trong thế cờ. Ta gán tên nhãn như sau: thẳng ngang nhãn
là 1, thẳng chéo trái là 2, thẳng dọc nhãn là 3, thẳng chéo phải là 4 (xem hình
1.3.a).
a) b)
Hình 1.3 a) Cách đánh nhãn b) Đồ thị cho thế cờ hình 1.2.a
Ví dụ đồ thị như hình 1.3.b là thể hiện cho thế cờ hình 1.2.a
25
4
1
2 3

x
1
x
2
x
3
o
2
o
1
x
4
o
3
4
4
4
2
1
3

×