Các ph ng pháp tìm ki m Heuristic .... Phân tích bài toán ..... nh có th thu nh n qua camera... Thi t b ra nh có th là máy en tr ng, máy in màu hay máy vploter... Thu t toán SIS Simple I
Trang 3I C M N
Trong quá trình th c hi n lu n v n này, em luôn nh n c s h ng
n, ch b o t n tình c a PGS TS N ng Toàn hi n công tác t i Vi nCông ngh Thông tin thu c Vi n Khoa h c và Công ngh Vi t Nam là cán b
tr c ti p h ng d n khoa h c cho em Em xin chân thành c m n s giúp quý báu ó
Em xin chân thành c m n các Th y, Cô giáo trong khoa Công nghthông tin, các th y cô công tác t i Vi n Công ngh Thông tin thu c Vi nKhoa h c và Công ngh Vi t Nam, các cán b , chuyên viên phòng ào t oSau i h c, tr ng i h c s ph m Hà N i 2 cùng các anh ch ng nghi ptrong c quan ã t o nh ng u ki n thu n l i cho tôi h c t p và nghiên c u
i tr ng i h c S Ph m Hà N i 2
Xin chân thành c m n các anh, các ch và các b n h c viên l p Cao
c K15KHMT- tr ng i h c s ph m Hà N i 2 ã luôn ng viên, giúp
và nhi t tình chia s v i tôi nh ng kinh nghi m h c t p, công tác trong
su t khoá h c
Cu i cùng, tôi mu n g i l i c m vô h n t i gia ình và b n bè, nh ng
ng i thân yêu luôn bên c nh và ng viên tôi trong su t quá trình th c hi n
Trang 4I CAM OAN
Tôi xin cam oan r ng s li u và k t qu nghiên c u trong lu n v n này
là trung th c và không trùng l p v i các tài khác Tôi c ng xin cam oan
ng m i s giúp cho vi c th c hi n lu n v n này ã c c m n và cácthông tin trích d n trong lu n v n ã c ch rõ ngu n g c
nh Phúc, ngày 1 tháng 7 n m 2013
Tác gi
Nguy n H i B ng
Trang 5C L C
C L C 1
U 4
Ch ng 1: KHÁI QUÁT V X LÝ NH VÀ BÀI TOÁN NH V VÙNG 6
1.1 Khái quát v x lý nh 6
1.1.1 lý nh, s t ng quát c a m t h th ng x lý nh 6
1.1.2 Các v n c b n trong x lý nh 7
1.1.2.1 t s khái ni m 7
1.1.2.2 Bi u di n nh 9
1.1.2.3 ng c ng nh – khôi ph c nh 9
1.1.2.4 Nh n d ng nh 9
1.1.3 Thu nh n nh 10
1.1.3.1 Thi t b thu nh n nh 10
1.1.3.2 Bi u di n màu 11
1.1.3.3 t a màu 12
1.1.4 Các k thu t x lý nh c b n 13
1.1.4.1 Nh phân hóa 13
1.1.4.2 Kh nhi u 14
1.1.4.3 Làm tr n biên, l p y ch tr ng 14
1.2 Bài toán nh v vùng trong nh p m t ng 15
1.2.1 Mô t bài toán 15
1.2.2 t s cách ti p c n 16
Ch ng 2: M T S K THU T NH V VÙNG 17
2.1 nh v vùng theo ph ng pháp hình thái h c 17
2.1.1 Các phép toán hình thái c b n 17
2.1.1.1 t s nh ngh a 17
Trang 62.1.1.2 t s tính ch t c a phép toán hình thái 18
2.1.2 Phát hi n biên d a vào các phép toán hình thái 24
2.1.2.1 p x trên và x p x d i i t ng nh 24
2.1.2.2 Thu t toán phát hi n biên d a vào phép toán hình thái 25
2.1.3 nh v vùng s d ng ph ng pháp hình thái h c 27
2.2 nh v vùng s d ng ph ng pháp phân lo i Heuristic 28
2.2.1 Thu t gi i Heuristic 28
2.2.2 Bài toán hành trình ng n nh t – ng d ng nguyên lý Greedy 29
2.2.3 Bài toán phân vi c – ng d ng c a nguyên lý th t 31
2.2.4 Các ph ng pháp tìm ki m Heuristic 34
2.2.4.1 u trúc chung c a bài toán tìm ki m 34
2.2.4.2 Tìm ki m chi u sâu và tìm ki m chi u r ng 35
2.2.5 nh v vùng s d ng ph ng pháp phân lo i Heuristic 39
2.3 nh v vùng s d ng phép bi n i Hough 41
2.3.1 Bi n i Hough cho ng th ng 41
2.3.2 Bi n i Hough cho ng th ng trong t a c c 43
2.3.3 Bi n i Hough và phát hi n góc nghiêng v n b n 44
2.3.3.1 Áp d ng bi n i Hough trong phát hi n góc nghiêng v n b n 44
2.3.3.2 Thu t toán phát hi n và hi u ch nh góc nghiêng v n b n 45
2.3.4 nh v vùng s d ng phép bi n i Hough 49
2.4 nh v vùng b ng ph ng pháp k t h p hình thái h c v i Heuristic 50
Ch ng 3: CH NG TRÌNH TH NGHI M 51
3.1 Bài toán 51
3.2 Phân tích bài toán 52
3.3 Ch ng trình th nghi m 55
3.3.1 Thi t k ch ng trình 55
3.3.2 t s k t qu ch ng trình 58
Trang 7Hình 3.2 Hình nh b ng m ch a xác nh c vùng ch a m 58
Hình 3.3 Hình nh b ng m ã xác nh c vùng ch a m 58
PH N K T LU N 60
TÀI LI U THAM KH O 62
Trang 81 Lý do ch n tài
lý nh là m t khoa h c còn t ng i m i m so v i nhi u ngànhkhoa h c khác, nh t là trên quy mô công nghi p, song trong x lý nh ã b t
u xu t hi n nh ng máy tính chuyên d ng Nh n d ng là m t trong nh ng b
ph n quan tr ng c a x lý nh và ã c ng d ng r t hi u qu trong nhi u
nh v c khác nhau nh y t , giáo d c, qu c phòng, nghiên c u v tr Trong quá trình công tác, tôi nh n th y r ng: Vi c x lý k t qu thi c asinh viên hi n nay h u h t các tr ng c th c hi n m t cách th công
t qu thi sau khi c gi ng viên ghi vào biên b n ch m thi s c nh pvào máy tính l u tr và x lý Vi c nh p m th công nh v y t n khánhi u công s c và kh n ng nh m l n cao N u công vi c nh p m t biên
n ch m thi vào máy tính c t ng hóa thì hi u qu h n r t nhi u
giúp cho vi c ó òi h i chúng ta ph i xây d ng c các công c
u hi u trong vi c nh n d ng các vùng ch a d li u trên b ng m, nh n
ng c các ch s vi t tay Trong ph m vi m t tài lu n v n th c s , tôi
i sâu vào tìm hi u k thu t nh n d ng các vùng ch a d li u trên b ng
m Do ó tôi ch n tài: “ thu t nh v các vùng trong nh p m ng”.
2 M c ích nghiên c u
- Làm gi m công s c cho giáo viên trong vi c nh p m t biên b n
ch m thi vào máy tính
- T ng tính chính xác, gi m thi u t i a các sai sót trong quá trình nh p
m vào máy tính
Trang 10Ch ng 1: KHÁI QUÁT V X LÝ NH VÀ BÀI
TOÁN NH V VÙNG 1.1 Khái quát v x lý nh
1.1.1 lý nh, s t ng quát c a m t h th ng x lý nh
có th hình dung c u hình m t h th ng x lý nh chuyên d ng hay
t h th ng x lý nh dùng trong nghiên c u, ào t o, tr c h t chúng ta sxem xét các b c c n thi t trong x lý nh
Hình 1.1 Các giai n chính trong x lý nh
Tr c h t là quá trình thu nh n nh nh có th thu nh n qua camera
Thông th ng nh thu nh n qua camera là tín hi u t ng t (lo i camera ng
ki u CCIR), nh ng c ng có th là tín hi u s hóa (lo i CCD – ChargeCoupled Devide)
nh c ng có th thu nh n t v tinh qua các b c m ng (sensor), hay
nh, tranh c quét trên scanner Chi ti t v quá trình thu nh n nh s c
mô t trong m c 1.1.3 Ti p theo là quá trình s hóa (Digitalizer) bi n itín hi u t ng t sang tín hi u r i r c (l y m u) và s hóa b ng l ng hóa,
tr c khi chuy n sang giai n x lý, phân tích hay l u tr l i
Scanner
Camera
Thu nh n nh
hóa Phân tích
nh
Nh n d ng
quy t nh
u tr
u tr
Trang 11Quá trình phân tích nh th c ch t bao g m nhi u công n nh Tr c
t là công vi c t ng c ng nh nâng cao ch t l ng nh Do nh ngnguyên nhân khác nhau: có th do ch t l ng thi t b thu nh n nh, do ngu nsáng hay do nhi u, nh có th b suy bi n Do v y c n ph i t ng c ng vàkhôi ph c l i nh làm n i b t m t s c tính chính c a nh, hay làm cho
nh g n gi ng nh t v i tr ng thái g c – tr ng thái tr c khi nh b bi n d ng
Giai n ti p theo là phát hi n các c tính nh biên, phân vùng nh, trích
1.1.2.1 t s khái ni m
§ Pixel (Picture Element): ph n t nh
nh trong th c t là m t nh liên t c v không gian và v giá trsáng có th x lý nh b ng máy tính c n thi t ph i ti n hành s hóa nh
Trong quá trình s hóa, ng i ta bi n i tín hi u liên t c sang tín hi u r i r cthông qua quá trình l y m u (r i r c hóa v không gian) và l ng hóa thành
ph n giá tr mà v nguyên t c b ng m t th ng không phân bi t c hai
m k nhau Trong quá trình này, ng i ta s d ng khái ni m Pictureelement mà ta quen g i hay vi t là Pixel – ph n t nh Nh v y, m t nh là
t t p h p các pixel ây c ng c n phân bi t khái ni m pixel hay c p
Trang 12n trong các h th ng h a máy tính tránh nh m l n ta t m g i khái
ni m pixel này là pixel thi t b Khái ni m pixel thi t b có th xem xét nhsau: khi ta quan sát màn hình (trong ch h a), màn hình không liên t c
mà g m nhi u m nh , g i là pixel M i pixel g m m t c p t a (x, y) vàgiá tr màu
a nh v i phân gi i 72 dpi b nh v i phân gi i 36 dpi
th ng c bi u di n b i b ng hai chi u I(n, p): n dòng và p c t Ta nói nh
m n x p pixels Ng i ta th ng ký hi u I(x, y) ch m t pixel Hình 1.2cho ta th y vi c bi u di n m t nh v i phân gi i khác nhau M t pixel có
th l u tr trên 1, 4, 8 hay 24 bit
§ Gray level: M c xám
c xám là k t qu s mã hóa t ng ng m t c ng sáng c a m i
m nh v i m t giá tr s - k t qu c a quá trình l ng hóa Cách mã hóakinh n th ng dùng 16, 32 hay 64 m c Mã hóa 256 m c là ph d ng nh t
Trang 13do lý do k thu t Vì 2^8 = 256 (0, 1, … , 255), nên v i 256 m c, m i pixel s
c mã hóa b i 8 bit
1.1.2.2 Bi u di n nh
Trong bi u di n nh, ng i ta th ng dùng các ph n t c tr ng c a
nh là pixel Nhìn chung có th xem m t hàm hai bi n ch a các thông tin nh
bi u di n c a m t nh Các mô hình bi u di n nh cho ta m t mô t logic hay
nh l ng các tính ch t c a hàm này Trong bi u di n nh c n chú ý tínhtrung th c c a nh ho c các tiêu chu n “thông minh” o ch t l ng nh
ho c tính hi u qu c a các k thu t x lý
Vi c x lý nh s yêu c u nh ph i c m u hóa và l ng t hóa Thí
m t nh ma tr n 512 dòng g m kho ng 512 x 512 pixel Vi c l ng t hóa
nh là chuy n i tín hi u t ng t sang tín hi u s (Analog Digital Convert)
a m t nh ã l y m u sang m t s h u h n các m c xám
t s mô hình th ng c dùng trong bi u di n nh: mô hình toán,
mô hình th ng kê Trong mô hình toán, nh hai chi u c bi u di n nh cáchàm hai bi n tr c giao g i là các hàm c s V i mô hình th ng kê, m t nh
Nh n d ng nh là quá trình liên quan n các mô t i t ng mà ng i
ta mu n c t nó Quá trình nh n d ng th ng i sau quá trình trích ch n các
c tính ch y u c a i t ng Có hai ki u mô t i t ng:
Trang 14- Mô t tham s (nh n d ng theo tham s ).
- Mô t theo c u trúc (nh n d ng theo c u trúc)
Trên th c t , ng i ta ã áp d ng k thu t nh n d ng khá thành công
i nhi u i t ng khác nhau nh : nh n d ng nh vân tay, nh n d ng ch(ch cái, ch s , ch có d u)
Ngoài ra, hi n nay m t k thu t nh n d ng m i d a vào k thu t m ngron ang c áp d ng và cho k t qu kh quan
1.1.3 Thu nh n nh
1.1.3.1.Thi t b thu nh n nh
Các thi t b thu nh n nh có th cho nh tr ng en B/W (Black &
White) v i m t t 400 n 1600 dpi (dot per inch) ho c nh màu 600 dpi
i nh B/W m c màu là 0 ho c 1 V i nh a c p xám, m c xám bi n thiên
0 n 255 nh màu, m i m nh l u tr trong 3 bytes và do ó ta có 28 3
màu (c 16,7 tri u màu)
Khi dùng scanner, m t dòng photodiot s quét ngang nh (quét theohàng) và cho nh v i phân gi i ngang khá t t u ra c a scanner là nh
ma tr n s mà ta quen g i là b n nh ( nh Bitmap), b s hóa (digitalizer)
Trang 15i nh màu, có nhi u cách t h p màu khác nhau Theo lý thuy t màu
do Thomas a ra t n m 1802, m i màu u có th t h p t 3 màu c b n:
Red ( ), Green (l c) và Blue (l )
Thi t b ra nh có th là máy en tr ng, máy in màu hay máy v(ploter) Máy v c ng có nhi u lo i: lo i dùng bút, lo i phun m c
Nhìn chung, các h th ng thu nh n nh th c hi n hai quá trình:
m nh n c vài ch c màu, song l i có th phân bi t c hàng ngàn màu
Có 3 thu c tính ch y u trong c m nh n màu:
- Brighness: s c màu, còn g i là chói
- Hue: s c l ng, còn g i là s c thái màu
- Saturation: bão hòa
i ngu n sáng n s c, hue t ng ng v i b c sóng λ bãohòa thay i nhanh n u ta thêm l ng ánh sáng tr ng Hình 1.3 mô t m i liênquan gi a nh ng các i l ng trên và 3 màu ch y u R, G và B
Hình 1.3 H t a màu RGB
Trang 16i m W* c nh, các ký hi u G, R, B ch v trí t ng i c a các
ph màu , l c và l
Do s tán s c ánh sáng mà ta nhìn rõ màu Theo Maxwell, trong võng
c có 3 lo i t bào hình nón c m th 3 màu c b n ng v i 3 ph h p thS1(λ), S2(λ) và S3(λ);λ min= 380 nm; λ max= 780 nm
t t l nào y Ng i ta dùng h t a ba màu R-G-B (t ng ng v i h
a x-y-z) bi u di n màu nh sau:
Trang 17nh phân (có 2 c p xám) Do các k thu t nh n d ng ch c n nh u vào là
nh nh phân nên b c này c n th c hi n khi nh u vào là nh a c p xám
u:0)u(
Trang 18Trong ó u là m c xám c a m t m nh.
Ng ng θ có th c ch n tr c ho c th c hi n ch n t ng b ngcách tính toán các i l ng th ng kê trên l c t n xu t histogram c a nh,
a vùng nh
1.1.4.2.Kh nhi u
Kh nhi u c ti n hành b ng cách s d ng các b l c tuy n tính (l ctrung bình) ho c phi tuy n (l c trung v )
Kh nhi u b ng các b l c tuy n tính ph bi n là các b l c sau:
1 1 1
1 1 1 9
2 4 2
1 2 1 16 1
2 4 8 4 2
4 8 16 8 4
2 4 8 4 2
1 2 4 2 1
100 1
Các b l c trên c k t h p v i nh b ng phép nhân ch p (phép cu n)
và cho ra nh k t qu có nhi u nh h n nh ban u
1.1.4.3.Làm tr n biên, l p y ch tr ng
Trên th c t , sau khi kh nhi u, ng biên ch không c tr n tru
nh ban u mà hình thành các ng cong có r ng c a Khi ó ta ph i ti nhành l p y ch tr ng, xóa i các m gi trên biên ch Hai k thu t hay
c s d ng là Unger và Dineen
thu t Dineen dùng m t m t n n x n di chuy n trên t t c các v trítrong nh M t nh m i c t o ra trên ó m i ph n t t i tâm c a s ctính l i theo các ph n t lân c n N u t ng các ph n t trong c a s l n h n
t ng ng θ nào ó thì v trí t ng ng trong nh m i s là 1, ng c l i là
0 Kích th c c a s th ng ch n là 3 x 3 ho c 4 x 4
Trang 191.2 Bài toán nh v vùng trong nh p m t ng
1.2.1 Mô t bài toán
Hi n nay, a ph n các tr ng h c u s d ng ph n m m tin h c
qu n lý m Vi c này, giúp vi c qu n lý c chính xác, tra c u nhanhchóng Tuy nhiên, theo tìm hi u c a tác gi thì các ph n m m này u cho chcho phép in biên b n ch m các giáo viên ch m thi nh p m r i ng i phtrách m ph i có trách nhi m nh p m b ng tay M c dù các ph n m m
Trang 20hi n nay u có ch c n ng in ki m dò, nh ng công vi c này v n hoàn toàn
th công d n t i có nhi u sai sót
Bài toán nh p m t ng n u c gi i quy t s kh c ph c c các
n mà tác gi ã nêu trên Vi c nh p m t ng s là quá trình thu
th p nh biên b n ch m thi (thông th ng qua máy Scanner) sau ó s x lý
a ra c b ng m chính xác d i d ng s trên máy tính Trong bàitoán này, có hai bài toán nh c n gi i quy t ó là: Xác nh vùng ch a d li u
m và nh n d ng ch s vi t tay Trong ph m vi nghiên c u c a lu n v n,tác gi s i t p trung nghiên c u vào vi c xác nh vùng ch a d li u m
1.2.2 t s cách ti p c n
Có nhi u ph ng pháp xác nh vùng trong nh p m t ng D a vàotính ch t c a các ph ng pháp xác nh vùng d li u m, có th ch ra hai
ph ng pháp ti p c n chính:
ng ti p c n d a trên tri th c: Mã hóa các hi u bi t c a
con ng i v các vùng trong m t b ng m Trên th c t thì m c dù b ng
m s có th trình bày b ng b t k ngôn ng nào chúng ta v n có th oán
nh n c âu là vùng d li u ch a m t ó xác nh c m c a
ng cá nhân M t ví d n hình là trên b t k b ng m h s 10 nào thì
m bao gi c ng g m hai ph n: ph n nguyên và ph n th p ph n cách nhau
Trang 21Ch ng 2: M T S K THU T NH V VÙNG 2.1 nh v vùng theo ph ng pháp hình thái h c
2.1.1 Các phép toán hình thái c b n
Hình thái là thu t ng ch s nghiên c u v c u trúc hay hình h c topo
a i t ng trong nh Ph n l n các phép toán c a "Hình thái" c nhngh a t hai phép toán c b n là phép "giãn n " (Dilation) và phép "co"
(Erosion)
Các phép toán này c nh ngh a nh sau: Gi thi t ta có i t ng
X và ph n t c u trúc (m u) B trong không gian Euclide hai chi u Kí hi u Bx
là d ch chuy n c a B t i v trí x
2.1.1.1 t s nh ngh a
§Phép giãn n - Dilation: Phép "giãn n " c a X theo m u B là h p
a t t c các Bx v i x thu c X Ta có:
§ Phép co – Erosion: Phép "co" c a X theo B là t p h p t t c các
m x sao cho Bx m trong X Ta có:
X B = {x : Bx ⊆ X}
Ví d : Ta có t p X nh sau:
Trang 22§ Phép toán m - Open: Phép toán m (OPEN) c a X theo c u trúc B
là t p h p các m c a nh X sau khi ã co và giãn n liên li p theo
B Ta có:
§ Phép toán óng – Close: Phép toán óng (CLOSE) c a X theo c u
trúc B là t p h p các m c a nh X sau khi ã giãn n và co liên ti ptheo B Ta có:
2.1.1.2 t s tính ch t c a phép toán hình thái
§ Tính gia t ng
(i)(ii)
Ch ng minh:
(i) X⊕ B = Y B 1 ∪ Y B 1 = X⊕B
x∈X x∈X’
Trang 23X B = {x/Bx ⊆X}∪ {x/Bx⊆ X'} = X'⊕ B(ii) X⊕ B = YBx⊆ YB x = X⊕ B
Theo nh ngh a:
X B’ = {x/ B'x ⊆ X}⊆ {x/ Bx ⊆ X} = X B
§ Tính phân ph i v i phép∪(i) X ⊕ (B ∪ B') = (X⊕ B)∪ (X⊕ B')(ii) X (B ∪ B') = (X B)∪ (X B')
Trang 24(2.1) và (2.2) ta có: X⊕ (B∪B') = (X⊕ B)∪ (X ⊕ B')(ii) X (B ∪ B') = (X B)∪ (X B')
§ Tính phân ph i v i phép∩(X∩ Y) B = (X B)∩ (Y B)
Ch ng minh:
Ta có, X ∩ Y⊆ X
⇒ (X∩ Y) B ⊆ X B
ng t : (X ∩ Y) B⊆ Y B
Trang 27x ∈ X ⊕ B
∀ y∈ (X B)⊕ B, suy ra:
∃ x∈ X B sao cho y∈ Bx (Vì (X B) ⊕ B = YBx)
⇒ Bx⊆ X⇒ y∈ XSuy ra: X ⊇ (X B)⊕ B (2.8) (2.7) và (2.8) Ta có: (X⊕ B) B ⊇ X ⊇ (X B)⊕ B
(ii) Th t v y, t nh lý trên ta có (X B)⊕ B⊆ X
⇒ ((X B)⊕ B) B⊆ X B (do tính ch t gia t ng) (2.11)
t khác, c ng t nh lý trên ta có X ⊆ (X⊕ B) B ∀X
Do ó, thay X b i X B ta có, X B⊆ ((X B)⊕B) B (2.12) (2.11) và (2.12) Ta có: ((X B)⊕ B) B = X B ( pcm)
Trang 282.1.2 Phát hi n biên d a vào các phép toán hình thái
2.1.2.1 p x trên và x p x d i i t ng nh
Biên là v n quan tr ng trong x lý nh và nh n d ng, vì các c
m trích ch n trong quá trình nh n d ng ch y u d a vào biên Trong th c
ng i ta th ng dùng hai ph ng pháp pháp hi n biên c b n là: Phát hi nbiên tr c ti p và gián ti p Ph n này c p n m t ti p c n m i trong phát
hi n biên d a vào các phép toán hình thái thông qua các k thu t x p x trên
Biên (hay ng biên) có th hi u n gi n là các ng bao c a các
i t ng trong nh chính là ranh gi i gi a i t ng và n n Vi c xem ranh
gi i là ph n c t o l p b i các m thu c i t ng và thu c n n cho phép
ta xác nh biên d a trên các phép toán hình thái
Theo nh lý ã ch ng minh trên ta có: (X⊕B) B⊇ X∀B
Nh v y, t p CLOSE(X,B) = (X⊕B) B có th c xem nh là x p trên c a t p X theo m u B (Hình 2.1)
Trang 29t ng chính xác, ng i ta th ng xem B là dãy các ph n t c utrúc.
Trang 30c 2: Tính Y (X ©B i )
Trong d i ây là nh g c v i 256 m c xám, nh biên thu c quaphát hi n biên b ng Sobel, nh biên thu c qua phát hi n biên b ngLaplace nh biên k t qu th c hi n b i thu t toán phát hi n biên b ng cácphép toán hình thái v i ng ng tách 0 - 128 và các m u tách biên Bi là:
Hình 2.2 K t qu anh biên thu c b ng m t s ph ng pháp
i=1 n
Trang 31• d ng m t thu t toán cho phép xác nh ng ng xám m t cách
ng
Thu t toán SIS (Simple Image Statistics) là m t trong các thu t toán xác nh ng ng xám Thu t toán cho phép tách ng ng t ng s d ng kthu t gradient v i m t n nhân ch p theo hai h ng x, y:
Trang 32Thu t gi i Heuristic là m t s m r ng khái ni m thu t toán Nó th
hi n cách gi i bài toán v i các c tính sau:
Có nhi u ph ng pháp xây d ng m t thu t gi i Heuristic, trong ó
ng i ta th ng d a vào m t s nguyên lý c b n nh sau:
§ Nguyên lý vét c n thông minh: Trong m t bài toán tìm ki m nào
ó, khi không gian tìm ki m l n, ta th ng tìm cách gi i h n l ikhông gian tìm ki m ho c th c hi n m t ki u dò tìm c bi t d avào c thù c a bài toán nhanh chóng tìm ra m c tiêu
§ Nguyên lý tham lam (Greedy): L y tiêu chu n t i u (trên ph m
vi toàn c c) c a bài toán làm tiêu chu n ch n l a hành ngcho ph m vi c c b c a t ng b c (hay t ng giai n) trong quátrình tìm ki m l i gi i
Trang 33i m i b c gi i Nh giá tr này, ta có th ch n c cách hành
ng t ng i h p lý trong t ng b c c a thu t gi i
2.2.2 Bài toán hành trình ng n nh t – ng d ng nguyên lý Greedy
Bài toán: Hãy tìm m t hành trình cho m t ng i giao hàng i qua n
m khác nhau, m i m i qua m t l n và tr v m xu t phát sao cho
ng chi u dài n ng c n i là ng n nh t Gi s r ng có con ng n i
tr c ti p t gi a hai m b t k
t nhiên ta có th gi i bài toán này b ng cách li t kê t t c con ng
có th i, tính chi u dài c a m i con ng ó r i tìm con ng có chi u dài
ng n nh t Tuy nhiên, cách gi i này l i có ph c t p 0(n!) (m t hành trình là