Tải bản đầy đủ (.docx) (11 trang)

Giải một số bài toán lý thuyết đồ thị với phần mềm Maple

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 (528.1 KB, 11 trang )

Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
PH N M Đ UẦ Ở Ầ
Trí tu nhân t o là m t lĩnh v c trong khoa h c máy tính nghiên c uệ ạ ộ ự ọ ứ
và phát tri n các h th ng thông minh h tr cho ho t đ ng x lý thôngể ệ ố ỗ ợ ạ ộ ử
tin, x lý tri th c, tính toán và đi u khi n. Trong quá trình phân tích và thi tử ứ ề ể ế
k các h th ng Trí tu nhân t o, các nhà nghiên c u th ng quan tâm đ nế ệ ố ệ ạ ứ ườ ế
hai v n đ l n là: Bi u di n tri th c và ph ng pháp, k thu t suy di nấ ề ớ ể ễ ứ ươ ỹ ậ ễ
trên c u trúc bi u di n tri th c đó.ấ ể ễ ứ
Đ i v i các h gi i bài toán d a trên c s tri th c nh các h chuyênố ớ ệ ả ự ơ ở ứ ư ệ
gia, h gi i các bài toán t đ ng thì vi c bi u di n tri th c và xây d ngệ ả ự ộ ệ ể ễ ứ ự
chi n l c tìm ki m đóng vai trò quy t đ nh trong quá trình thi t k và càiế ượ ế ế ị ế ế
đ t h th ng. Các k t qu nghiên c u v bi u di n tri th c và suy lu nặ ệ ố ế ả ứ ề ể ễ ứ ậ
d a trên tri th c là c s và công c cho vi c xây d ng các h chuyên gia,ự ứ ơ ở ụ ệ ự ệ
các h gi i toán d a trên tri th c và các h c s tri th c.ệ ả ự ứ ệ ơ ở ứ
Trong bài ti u lu n này, tôi xin trình bày c u trúc c a c s tri th c vể ậ ấ ủ ơ ở ứ ề
Lý thuy t đ th mà ph n m m Maple thi t k và xây d ng trong ế ồ ị ầ ề ế ế ự package
GraphTheory đ ng th i qua đó cũng trình bày m t s bài toán c b n trongồ ờ ộ ố ơ ả
Lý thuy t đ th nh ế ồ ị ư Bài toán đ th con đ y đ l n nh t, Bài toán đ th ph ng,ồ ị ầ ủ ớ ấ ồ ị ẳ
Bài toán ng i bán hàng.ườ
Tôi xin chân thành c m n Phó giáo s , Ti n sĩ Đ Văn Nh n, gi ngả ơ ư ế ỗ ơ ả
viên môn h c “ọ L p trình symbolic cho trí tu nhân t oậ ệ ạ ”, đã truy n đ t nh ngề ạ ữ
ki n th c quý báu v các h ng nghiên c u trong lĩnh v c trí tru nhânế ứ ề ướ ứ ự ệ
t o và bi u di n tri th c tiên ti n hi n nay; đã h ng d n và ch b o đạ ể ễ ứ ế ệ ướ ẫ ỉ ả ể
hoàn thành chuyên đ nghiên c u r t b ích và lý thú này. ề ứ ấ ổ
N i dung c a bài ti u lu n ngoài ph n m đ u và k t lu n, có baộ ủ ể ậ ầ ở ầ ế ậ
ch ng nh sau: ươ ư
Ch ng 1: Gi i thi u gói package GraphTheory trong ph n m m Maple.ươ ớ ệ ầ ề
Ch ng 2: Gi i m t s bài toán lý thuy t đ th v i gói package GraphTheory.ươ ả ộ ố ế ồ ị ớ
CH NG 1ƯƠ
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 1
1


Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
GI I THI U GÓI PACKAGE GRAPHTHEORY TRONG Ớ Ệ
PH N M M MAPLEẦ Ề
N i dung Ch ng 1 gi i thi u v ph n m m Maple, trình bày c u trúc dộ ươ ớ ệ ề ầ ề ấ ữ
li u c a package GraphTheory trong vi c h tr gi i quy t các bài toán Lý thuy t đệ ủ ệ ỗ ợ ả ế ế ồ
th cũng nh m t s thu t toán c b n trên c u trúc c s tri th c này. ị ư ộ ố ậ ơ ả ấ ơ ở ứ
1. Gi i thi u ph n m m Mapleớ ệ ầ ề
Maple là m t gói ph n m m toán h c th ng m i ph c v cho nhi uộ ầ ề ọ ươ ạ ụ ụ ề
m c đích. Đ c phát tri n l n đ u tiên vào năm 1980 b i nhóm Tính toánụ ượ ể ầ ầ ở
hình th c t i Đ i h c Waterloo Waterloo, Ontario, Canada.ứ ạ ạ ọ ở
T năm 1988, Maple đ c phát tri n và th ng m i hóa b i Waterlooừ ượ ể ươ ạ ở
Maple Inc., m t công ty Canada có tr s t i Waterloo, Ontario. Phiên b nộ ụ ở ạ ả
hi n t i là Maple 16 đ c phát hành vào tháng 3 năm 2012.ệ ạ ượ
Các ch c năng chính c a Maple:ứ ủ
- Th c hi n các tính toán v i kh i l ng l n, th i gian nhanh và đự ệ ớ ố ượ ớ ờ ộ
chính xác cao.
- Các gói chuyên d ng (package) c a Maple đ gi i quy t các bài toánụ ủ ể ả ế
c th nh : V đ th (plots), Hình h c gi i tích (geometry), Đ i sụ ể ư ẽ ồ ị ọ ả ạ ố
tuy n tính (LinearAlgebra), Gi i tích (Student), Ph ng trình vi phânế ả ươ
(DEtools), Lý thuy t s (numtheory), D li u r i r cế ố ữ ệ ờ ạ
(DiscreteTransforms), Lý thuy t đ th (GarghTheory) ế ồ ị
- Thi t k các đ i t ng 3 chi u.ế ế ố ượ ề
- Minh h a hình h c thu n ti n bao g m: v đ th tĩnh và đ ng c aọ ọ ậ ệ ồ ẽ ồ ị ộ ủ
các đ ng, m t đ c cho b i các hàm tùy ý trong nhi u h t a đườ ặ ượ ở ề ệ ọ ộ
khác nhau;
- Tính toán trên các bi u th c đ i s ;ể ứ ạ ố
- Th c hi c đ c h u h t các phép toán c b n trong ch ng trìnhự ệ ượ ầ ế ơ ả ươ
toán đ i h c và sau đ i h c;ạ ọ ạ ọ
- Ngôn ng l p trình đ n gi n và m nh m , có kh năng t ng tácữ ậ ơ ả ạ ẽ ả ươ
v i các ngôn ng l p trình khác;ớ ữ ậ

2. Gói GraphTheory trong Maple
Gói GraphTheory đ c nghiên c u và phát tri n b i nhóm nghiên c uượ ứ ể ở ứ
Đ i s máy tính (ạ ố Computer Algebra Group) và Tính toán hình th c (ứ Symbolic
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 2
2
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
Computation) c a khoa Toán, Đ i h c Simon Fraser t i Burnaby, Canada vàoủ ạ ọ ạ
năm 2006. Nhóm nghiên c u bao g m: Mahdi Javadi, Ron Ferguson, Michaelứ ồ
Monagan, Peter Borwein, Ha Le, Mohammed Ghebleh, Austin Roche, Allan
Wittkopf, Liang Chen, Greg Fee, Alexandro Erickson, Vahid Dhabagghian và
Roman Pearce. Trong đó, tr ng nhóm nghiên c u này - Ti n sĩ Michaelưở ứ ế
Monagan – là m t trong nh ng tác gi c a ph n m m ộ ữ ả ủ ầ ề Maple.
Gói GraphTheory đ c đ a vào ượ ư Maple t phiên b n 11 (tháng 2 năm 2007)ừ ả
đ thay th cho gói ể ế networks. Theo các tác gi , gói này đ c thi t k dùngả ượ ế ế
cho vi c gi ng d y và nghiên c u có th x lý đ c các bài toán trên đ thệ ả ạ ứ ể ử ượ ồ ị
có h n 1.000 đ nh. Nó đ c thay th cho gói ơ ỉ ượ ế networks là b i vì ở Maple c n sầ ự
tách bi t trong vi c gi i quy t các bài toán lý thuy t đ th v i các bài toánệ ệ ả ế ế ồ ị ớ
m ng. H n n a các tính toán lý thuy t đ th trong gói ạ ơ ữ ế ồ ị networks đã l c h uạ ậ
và ch đ c thi t k ch y u cho các bài toán m ng. C u trúc d li u c aỉ ượ ế ế ủ ế ạ ấ ữ ệ ủ
gói networks quá n ng n và c ng k nh trong vi c gi i quy t các bài toán lýặ ề ồ ề ệ ả ế
thuy t đ th c b n. C u trúc d li u c a gói ế ồ ị ơ ả ấ ữ ệ ủ GraphTheory đ c thi t kượ ế ế
đ n gi n, linh ho t và ch y u là đ gi i quy t các bài toán trong lĩnh v cơ ả ạ ủ ế ể ả ế ự
lý thuy t đ th ch không bao g m các bài toán m ng l i. H u h t cácế ồ ị ứ ồ ạ ướ ầ ế
tính toán c b n trên đ th đ u đ c tích h p s n trong gói này, bao g m:ơ ả ồ ị ề ượ ợ ẳ ồ
ki m tra đ th ph ng, đ th con đ y đ l n nh t, chu trình Haminton, đaể ồ ị ẳ ồ ị ầ ủ ớ ấ
th c Tutte, s c s và tô màu đ th …ứ ắ ố ồ ị
Gói GraphTheory là m t t p l nh h tr vi c t o, v , tính toán ki m traộ ậ ệ ỗ ợ ệ ạ ẽ ể
các thu c tính c a c a đ th . Gói này h tr c hai lo i đ th có h ngộ ủ ủ ồ ị ỗ ợ ả ạ ồ ị ướ
và vô h ng, có tr ng s ho c không có tr ng s nh ng không h tr đaướ ọ ố ặ ọ ố ư ỗ ợ
đ th . L nh t o ra m t đ th vô h ng là l nh ồ ị ệ ạ ộ ồ ị ướ ệ Graph, đ th có h ng làồ ị ướ

Digraph. Đ ki m tra xem m t đ i t ng ể ể ộ ố ượ G có ph i là m t đ th không taả ộ ồ ị
dùng l nh ệ type(G, GRAPHLN). Các l nh ệ ImportGraph và ExportGraph dùng
đ đ c và ghi các đ th vào m t t p tin v i các đ nh đ ng đ c Maple hể ọ ồ ị ộ ậ ớ ị ạ ượ ỗ
tr . M t s l nh c n thi t khi thao tác trên các đ th l n là: ợ ộ ố ệ ầ ế ồ ị ớ HasEdge,
HasArc, AddEdge, AddArc, DeleteEdge, DeleteArc. Gói SpecialGraphs ch a m tứ ộ
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 3
3
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
th vi n đ th đ c đ nh nghĩa tr c và gói ư ệ ồ ị ượ ị ướ RandomGraphs g m các hàmồ
dùng cho vi c t o các đ th ng u nhiên.ệ ạ ồ ị ẫ
3. C u trúc d li u c a gói GraphTheoryấ ữ ệ ủ
C u trúc d li u bi u di n m t đ th là m t hàm ấ ữ ệ ể ễ ộ ồ ị ộ Maple có d ng:ạ
GRAPHLN(D, W, V::list, A::Array, T::table, M::{0,Matrix})
Trong đó:
- D = undirected th hi n đ th vô h ng, D = ể ệ ồ ị ướ directed th hi n đ thể ệ ồ ị
có h ng.ướ
- W = unweighted th hi n đ th không tr ng s , khi đó M = 0, W =ể ệ ồ ị ọ ố
weighted th hi n đ th có tr ng s và khi đó M là ki u ma tr n.ể ệ ồ ị ọ ố ể ậ
- V là m t danh sách ki u ộ ể integer, symbol ho c ặ string (th hi n nhãnể ệ
đ nh).ỉ
- A là m t m ng c a t p s nguyên (th hi n các c nh c a đ th ).ộ ả ủ ậ ố ể ệ ạ ủ ồ ị
- T là ki u b ng ch a thông tin v m i c nh, m i đ nh c a đ th .ể ả ứ ề ỗ ạ ỗ ỉ ủ ồ ị
Các l nh sau cho phép ng i s d ng truy xu t tr c ti p các thànhệ ườ ử ụ ấ ự ế
ph n trên:ầ
- IsDirected(G) tr v ả ề true n u ế D = directed và false n u ế D = undirected.
- IsWeighted(G) tr v ả ề true n u ế W = weighted và false n u ế W = unweighted.
- Vertices(G) tr v danh sách V.ả ề
- WeightMatrix(G) tr v ma tr n M n u G là đ th có tr ng s và trả ề ậ ế ồ ị ọ ố ả
v m t l i trong tr ng h p ng c l i.ề ộ ỗ ườ ợ ượ ạ
Các c nh c a đ th đ c xác đ nh b i m ng A. N u u = Vạ ủ ồ ị ượ ị ở ả ế

i
và v = V
j
là hai đ nh c a đ th thì c nh {u, v} t n t i n u và ch n u j n m trongỉ ủ ồ ị ạ ồ ạ ế ỉ ế ằ
t p s nguyên Aậ ố
i
. Các l nh ệ Edges, Neighbors, Arrivals, Departures và
AdjacencyMatrix tr v thông tin c a c nh v i nh ng đ nh d ng khác nhau.ả ề ủ ạ ớ ữ ị ạ
Ví d sau đây cho th y c u trúc d li u c a m t đ th vô h ng G =ụ ấ ấ ữ ệ ủ ộ ồ ị ướ
(V, E) v i V = {a, b, c} và E = {{a,b}, {b,c}}.ớ
> with(GraphTheory):
> G := Graph([a,b,c],{{a,b},{b,c}});
GRAPHLN(undirected,unweighted, [a, b, c], [{2} , {1, 3} , {2}], table([]), 0 )
Chú ý r ng bi u di n bên trong đ th s d ng các s nguyên 1, 2, 3ằ ể ễ ồ ị ử ụ ố
ch không ph i là nhãn a, b, c c a ng i s d ng. Đi u này cho phép duy tứ ả ủ ườ ử ụ ề ệ
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 4
4
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
đ th hi u qu h n. Khi m t đ th G đ c t o ra, ng i s d ng khôngồ ị ệ ả ơ ộ ồ ị ượ ạ ườ ử ụ
th xóa ho c thêm đ nh mà không t o ra m t b n sao c a G. Tuy v y,ể ặ ỉ ạ ộ ả ủ ậ
ng i s d ng v n có th xóa ho c thêm c nh vào G.ườ ử ụ ẫ ể ặ ạ
> DeleteEdge(G,{a,b}): G;
GRAPHLN(undirected,unweighted, [a, b, c], [{} , {3} , {2}], table([]), 0 )
Gi s r ng ta thêm ho c xóa m t c nh {i, j} trong đ th G và vìả ử ằ ặ ộ ạ ồ ị
Maple s d ng m t m ng s nguyên đ bi u di n G nên chi phí đ thêmử ụ ộ ả ố ể ể ễ ể
ho c xóa m t c nh là ặ ộ ạ O(max{deg
G
(i), deg
G
(j)}).

4. Các l nh kh i t o đ thệ ở ạ ồ ị
Đ kh i t o m t đ th ta có th s d ng hàm ể ở ạ ộ ồ ị ể ử ụ Graph() ho c ặ Digraph().
Có th s d ng k t h p các tham s V, E, A, D, W đ kh i t o các lo i để ử ụ ế ợ ố ể ở ạ ạ ồ
th khác nhau. Trong đó:ị
- V là t p ho c danh sách các đ nh ho c s đ nh.ậ ặ ỉ ặ ố ỉ
- E là t p các c nh.ậ ạ
- A là ma tr n k (có th ch a tr ng s c nh).ậ ề ể ứ ọ ố ạ
- D là tham s h ng có d ng ố ướ ạ directed/undirected ho c ặ directed = true/false.
- W là tham s tr ng có d ng ố ọ ạ weighted/unweighted ho cặ weighted =
true/false.
M t s ví d v các cách t o đ th :ộ ố ụ ề ạ ồ ị
>
>
>
>
>
>
>
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 5
5
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
>
>
Maple l u ý r ng E ph i là ki u t p h p (set). B t kỳ input ki u danhư ằ ả ể ậ ợ ấ ể
sách nào cũng đ c hi u là các nhãn đ nh. Gi i h n h n cho phép ng iượ ể ỉ ớ ạ ạ ườ
s d ng t o ra các đ th v i các nhãn đ nh ki u t p h p. T ng t , l u ýử ụ ạ ồ ị ớ ỉ ể ậ ợ ươ ự ư
r ng các đ th có d ng ằ ồ ị ạ Graph(E, A) và Graph(V, E, A), v i V là ki u t pớ ể ậ
h p cũng không đ c ch p nh n. V n đ đây là các input ki u nàyợ ượ ấ ậ ấ ề ở ể
Maple không th c thi đ c tr tr ng h p ki m tra đ th đ ng c u.ự ượ ừ ườ ợ ể ồ ị ẳ ấ
CH NG 2ƯƠ

GI I M T S BÀI TOÁN LÝ THUY T Đ TH V I GÓI PACKAGEẢ Ộ Ố Ế Ồ Ị Ớ
GRAPHTHEORY
N i dung Ch ng 2 trình bày cách gi i quy t m t s bài toán lý thuy t độ ư ơ ả ế ộ ố ế ồ
th c b n c a gói GraphTheory nh : Đ th con đ y đ l n nh t (Maximum clique),ị ơ ả ủ ư ồ ị ầ ủ ớ ấ
Bài toán ki m tra đ th ph ng (Planarity test), Bài toán ng i bán hàng (Travelingể ồ ị ẳ ườ
salesman problem).
1. Bài toán đ th con đ y đ l n nh tồ ị ầ ủ ớ ấ
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 6
6
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
Bài toán tìm m t đ th con đ y đ l n nh t (ho c t p con đ c l pộ ồ ị ầ ủ ớ ấ ặ ậ ộ ậ
l n nh t) c a m t đ th thu c l p bài toán NP-khó. ớ ấ ủ ộ ồ ị ộ ớ Maple đã thi t k m tế ế ộ
thu t toán quay lui d a trên k thu t phân nhánh - gi i h n đ gi i quy tậ ự ỹ ậ ớ ạ ể ả ế
bài toán này. Maple s d ng m t hàm gi i h n d a trên thu t toán tô màuử ụ ộ ớ ạ ự ậ
tham lam.
Sau đây là m t ví d :ộ ụ
>
>
>
>
V i c u trúc d li u cho c s tri th c v Lý thuy t đ th nh đãớ ấ ữ ệ ơ ở ứ ề ế ồ ị ư
gi i thi u, ta s tìm hi u ớ ệ ẽ ể Maple th hi n thu t toán này nh th nào.ể ệ ậ ư ế
Cho m t đ th vô h ng G = (V, E). V là t p các đ nh, E là t p cácộ ồ ị ướ ậ ỉ ậ
c nh t ng ng n i các đ nh trong V. Ta c n tìm t p các đ nh trong đ thạ ươ ứ ố ỉ ầ ậ ỉ ồ ị
mà t ng đôi m t có c nh n i v i nhau nghĩa là tìm m t đ th con đ y đừ ộ ạ ố ớ ộ ồ ị ầ ủ
trong đ th G (ồ ị Maximum clique).
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 7
7
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
Bài toán tìm đ th con đ y đ l n nh t có r t nhi u ng d ng trongồ ị ầ ủ ớ ấ ấ ề ứ ụ

th c t . Ta hãy xét m t m ng xã h i. Xem các đ nh c a đ th là m tự ế ộ ạ ộ ỉ ủ ồ ị ộ
ng i tham gia m ng xã h i, các c nh là m i liên h quen nhau gi a nh ngườ ạ ộ ạ ố ệ ữ ữ
ng i tham gia. Đ tìm m t t p con l n nh t gi a nh ng ng i quenườ ể ộ ậ ớ ấ ữ ữ ườ
nhau, ng i ta có th ki m tra t t c các t p con, m t quá trình quá t nườ ể ể ấ ả ậ ộ ố
th i gian đ th c hi n đ c trên nh ng m ng xã h i có s ng i tham giaờ ể ự ệ ượ ữ ạ ộ ố ườ
vài ch c ngàn tr lên. M c dù phép tìm ki m brute-force có m t vài c iụ ở ặ ế ộ ả
ti n b ng nh ng thu t toán hi u qu h n nh ng t t c đ u t n th i gianế ằ ữ ậ ệ ả ơ ư ấ ả ề ố ờ
theo c p s mũ đ gi i quy t bài toán. Cùng v i ng d ng trong m ng xãấ ố ể ả ế ớ ứ ụ ạ
h i, bài toán tìm đ th con đ y đ l n nh t còn có nhi u ng d ng trongộ ồ ị ầ ủ ớ ấ ề ứ ụ
tin sinh h c, hóa h c.ọ ọ
Thu t gi i này đ c đ a ra b i D.L. Kreher và D.R. Stinson trongậ ả ượ ư ở
cu n “ố Combinatorial Algorithms: Generation, Enumeration and Search” do nhà xu tấ
b n ả CRC Press phát hành năm 1990 t i Florida, M .ạ ỹ
2. Bài toán ki m tra đ th ph ngể ồ ị ẳ
M t đ th đ c g i là ph ng n u ta có th v nó trên m t ph ng saoộ ồ ị ượ ọ ẳ ế ể ẽ ặ ẳ
cho các c nh c a nó không c t nhau ngoài đ nh. Cách v nh v y sạ ủ ắ ở ỉ ẽ ư ậ ẽ
đ c g i là bi u di n ph ng c a đ th . Ví d ượ ọ ể ễ ẳ ủ ồ ị ụ là m t đ th ph ng.ộ ồ ị ẳ
Đi u ki n c n và đ đ đ th là ph ng đ c ch ra trong đ nh líề ệ ầ ủ ể ồ ị ẳ ượ ỉ ị
Kuratowski: Đ th là ph ng khi và ch khi nó không ch a đ th con đ ng phôi v iồ ị ẳ ỉ ứ ồ ị ồ ớ
ho c ặ .
Trong th c t vi c s d ng đ nh lý Kuratowski đ ki m tra đ th cóự ế ệ ử ụ ị ể ể ồ ị
ph i là đ th ph ng hay không thì r t khó khăn. Tuy nhiên, t n t i thu tả ồ ị ẳ ấ ồ ạ ậ
toán đ ki m tra v n đ này. Xét đ th ph ng v i n đ nh và p c nh, ta có:ể ể ấ ề ồ ị ẳ ớ ỉ ạ
Đ nh lý 1. ị N u n ≥ 3 thì p ≤ 3n - 6.ế
Ð nh lý 2. ị N u n ≥ 3 và không có chu kỳ có đ dài 3, thì p ≤ 2n - 4.ế ộ
Đ ki m tra xem m t đ th n đ nh có ph ng không, ta hay s d ngể ể ộ ồ ị ỉ ẳ ử ụ
thu t toán c a ậ ủ Demoucroun (Alan Gibbons, Algorithmic Graph Theory.
Cambridge University Press, 1985) v i th i gian ch y là ớ ờ ạ O(n
2
). Cũng có m tộ

vài thu t toán khác nh thu t toán ậ ư ậ Hopcroft-Tarjan v i th i gian ch y tuy nớ ờ ạ ế
tính. Tuy nhiên, thu t toán c a ậ ủ Maple s d ng đ n gi n và t ra hi u quử ụ ơ ả ỏ ệ ả
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 8
8
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
h n v i các đ th d i 1.000 đ nh. N u m t đ th là ph ng, ơ ớ ồ ị ướ ỉ ế ộ ồ ị ẳ Maple tr vả ề
m t t p các m t nhúng. Nh ng thông tin này t ra h u ích trong vi c v độ ậ ặ ữ ỏ ữ ệ ẽ ồ
th ph ng.ị ẳ
>
>
>
>
>
3. Bài toán ng i bán hàngườ
Bài toán phát bi u nh sau: Có m t ng i giao hàng c n đi giao hàngể ư ộ ườ ầ
t i n thành ph . Ông ta xu t phát t m t thành ph nào đó, đi qua cácạ ố ấ ừ ộ ố
thành ph khác đ giao hàng và tr v thành ph ban đ u. M i thành phố ể ở ề ố ầ ỗ ố
ch đ n m t l n và kho ng cách t m t thành ph đ n các thành ph khácỉ ế ộ ầ ả ừ ộ ố ế ố
đã đ c bi t tr c. Hãy tìm m t chu trình (m t đ ng đi khép kín th aượ ế ướ ộ ộ ườ ỏ
mãn đi u ki n trên) sao cho t ng đ dài các c nh là nh nh t.ề ệ ổ ộ ạ ỏ ấ
Bài toán đ c nêu ra l n đ u tiên năm 1930 và là m t trong nh ng bàiượ ầ ầ ộ ữ
toán đ c nghiên c u sâu nh t trong t i u hóa. Nó th ng đ c dùngượ ứ ấ ố ư ườ ượ
làm th c đo cho nhi u ph ng pháp t i u hóa. M c dù bài toán r t khóướ ề ươ ố ư ặ ấ
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 9
9
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
gi i trong tr ng h p t ng quát, có nhi u ph ng pháp gi i chính xác cũngả ườ ợ ổ ề ươ ả
nh heuristic đã đ c tìm ra đ gi i quy t m t s tr ng h p có t i hàngư ượ ể ả ế ộ ố ườ ợ ớ
ch c nghìn thành ph .ụ ố
Maple thi t k hàm ế ế TravelingSalesman tr v hai đ i t ng. Đ i s đ uả ề ố ượ ố ố ầ

tiên là giá tr t i u cho bài toán, giá tr th hai là m t chu trình Hamiltonị ố ư ị ứ ộ
đ t giá tr t i u. Chi n l c đ c áp d ng trong hàm là thu t toán phânạ ị ố ư ế ượ ượ ụ ậ
nhánh - gi i h n và đ c g i là “ớ ạ ượ ọ Reduce bound”.
>
>
>
>
>

K T LU NẾ Ậ
Ti u lu n t p trung trình bày c u trúc cũng nh m t s hàm c b nể ậ ậ ấ ư ộ ố ơ ả
trong gói GraphTheory c a ph n m m Maple, ch y u là mô ph ng l iủ ầ ề ủ ế ỏ ạ
thu t toán và cách th c thi t k cũng nh quá trình th c hi n và t i uậ ứ ế ế ư ự ệ ố ư
hóa các hàm c th c a Maple trong lĩnh v c lý thuy t đ th .ụ ể ủ ự ế ồ ị
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 10
10
Gi i m t s bài toán lý thuy t đ th v i ph n m m Maple ả ộ ố ế ồ ị ớ ầ ề
Do quá trình ti p xúc là làm quen v i ph n m m Maple ng n, nên ti uế ớ ầ ề ắ ể
lu n cũng không đ a ra đ c ng d ng thi t th c nào, ch là mô ph ng l iậ ư ượ ứ ụ ế ự ỉ ỏ ạ
m t s thu t toán mà Maple đã thi t nh ộ ố ậ ế ư Bài toán đ th con đ y đ l n nh tồ ị ầ ủ ớ ấ
(Maximum Cliq1ue), Bài toán đ th ph ng (Planar test), Bài toán ng i bán hàngồ ị ẳ ườ
(Traveling Saleman Problem) đ hi u rõ thêm c u trúc và c ch th c hi n c aể ể ấ ơ ế ự ệ ủ
Maple ng d ng trong các lĩnh v c c a toán h c. ứ ụ ự ủ ọ
Qua đó, tìm hi u rõ thêm v các nghiên c u tính toán hình th c ngể ề ứ ứ ứ
d ng trong các h th ng thông minh làm cho máy tính ngày càng mô ph ng,ụ ệ ố ỏ
th hi n đ c cách suy nghĩ cũng nh cách làm thông th ng c a conể ệ ượ ư ườ ủ
ng i.ườ
L p trình symbolic cho trí tu nhân t oậ ệ ạ Trang 11
11

×