Khái niệm bài toán và thuật toán Trước khi xem xét đặc trưng của “bài toán” ta xét một sốví dụ. Ví dụ1. Bài toán kiểm tra tính nguyên tố. Cho : sốnguyên dương N; Cần biết: N có là sốnguyên tốhay không? Ví dụ2. Bài toán quản lý hồsơcán bộ. Có : Hồsơgốc của các cán bộtrong cơquan Cần : Bảng thống kê, phân loại cán bộtheo trình độvăn hoá Qua các ví dụtrên, ta thấy các bài toán được cấu tạo bởi hai thành phần cơbản: Thông tin vào (input): Thông báo cho ta biết các dữliệu đã có; Thông tin ra (output) : Thông báo cho ta cái cần tìm từinput; Nhưvậy, việc cho một bài toán có nghĩa là cho input và output của nó. Cho bài toán nghĩa là làm rõ câu hỏi Có các dữkiện gì và phải làm gì? nhưng không cho biết Phải làm thếnào. Việc giải bài toán có nghĩa là xuất phát từinput dùng một sốhữu hạn các bước thao tác thích hợp đểtìm được output theo yêu cầu của bài toán đã đềra.
Trang 1MODULE 1 THÔNG TIN VÀ X LÝ THÔNG TIN
1.1 Thông tin
Ngày nay, thu t ng "thông tin" (information) đ c s d ng khá ph bi n Ng i
ta có nhu c u đ c báo, xem truy n hình, giao ti p v i ng i khác đ có thông tin Thông tin chính là t t c nh ng gì mang l i hi u bi t cho con ng i
C n đ t thông tin trong m c đích ho t đ ng Khi ti p nh n thông tin, ng i ta
ph i "x lý" đ có nh ng quy t đ nh M t công ty ph i luôn luôn tìm hi u thông tin v th
tr ng đ có chi n l c kinh doanh thích h p M t ng i đi u khi n xe máy ph i luôn nhìn đ ng và các đ i t ng tham gia giao thông khác đ lái t i đích và không b tai n n Thông tin làm t ng thêm hi u bi t c a con ng i, là ngu n g c c a nh n th c và là c s
c a quy t đ nh
Thông tin đ c chuy n t i qua các môi tr ng v t lý khác nhau nh ánh sáng, sóng âm, sóng đi n t Thông tin đ c ghi trên các ph ng ti n h u hình nh các v n
b n trên gi y, b ng ghi âm hay phim nh V nguyên t c, b t k c u trúc v t ch t nào
ho c b t k dòng n ng l ng nào c ng có th mang thông tin Các v t có th mang đ c thông tin đ c g i là giá mang tin (support) Hình th c v t lý c a thông tin đ c g i là
tín hi u (signal) Thông tin và tín hi u có m t đ đ c l p t ng đ i Có th chuy n t i
m t n i dung thông tin nh nhau b ng nh ng tín hi u khác nhau Trên sân c , đ ng tác
ph t c c a tr ng tài biên (hình nh), ti ng còi tr ng tài chính (âm thanh) có th cùng mang thông tin báo l i Ng c l i m t tín hi u nh nhau trong nh ng hoàn c nh khác nhau l i có th th hi n nh ng thông tin khác nhau Ng i nông dân đ ng b ng Sông
H ng m i khách u ng r u tr c đ t lòng thành nh ng mi n Tây Nam b thì ph i làm ng c l i - ch ph i u ng tr c
Thông tin có th đ c phát sinh và đ c l u l i trong m t giá mang tin nào đ y Thông tin có th đ c truy n t m t giá mang này sang m t giá mang khác Nh v y thông tin có th đ c nhân b n và khi nhân b n ý ngh a c a thông tin không h suy gi m
D li u (data) là hình th c th hi n c a thông tin trong m c đích l u tr và x lý
nh t đ nh Thu t ng "d li u" chúng ta dùng hi n nay có ngu n g c t ch Hán- Vi t
v i ý ngh a là "cái đã cho" T t ng ng trong ti ng Anh (data) là s nhi u c a t datum trong ti ng Latin, ti ng Pháp (donneés), ti ng Nga ( x) c ng đ u mang ngh a là "cái
đã cho" V m t l ch s , khái ni m d li u xu t hi n cùng v i vi c x lý thông tin b ng máy tính Vì th trong nhi u tài li u ng i ta đ nh ngh a d li u là đ i t ng x lý c a máy tính Thông tin luôn mang m t ý ngh a xác đ nh nh ng hình th c th hi n c a thông tin rõ ràng mang tính quy c Ch ng h n kí hi u "V" trong h đ m La mã mang ý ngh a
là 5 đ n v nh ng trong h th ng ch la-tinh nó mang ý ngh a là ch cái V Trong máy tính đi n t (MT T), nhóm 8 ch s 01000001, n u là s s th hi n s 65, còn n u là
ch s là ch "A"
Tri th c (knowledge) có ý ngh a khái quát h n thông tin Nh ng nh n th c thu
nh n đ c t nhi u thông tin trong m t l nh v c c th nào đó, có tính h ng m c đích
m i tr thành tri th c Nh v y tri th c là m c đích c a nh n th c trên c s ti p nh n
Trang 2thông tin Quá trình x lý thông tin chính là quá trình nh n th c đ có tri th c
1.2 Mã hoá thông tin
Có nhi u cách phân lo i thông tin Chúng ta quan tâm đ n cách phân lo i d a vào các đ c tính liên t c hay r i r c c a tín hi u v t lý T ng ng, thông tin đ c chia thành thông tin liên t c và thông tin r i r c
Thông tin liên t c đ c tr ng cho các đ i l ng mà s l ng các giá tr có th ti p
nh n đ c là vô h n nh đ dài d ch chuy n c h c, đi n áp Thông tin r i r c đ c tr ng cho các đ i l ng mà s l ng các giá tr có th k ra đ c nh s nhà trong dãy ph , s trang c a m t quy n sách, tên ng i trong m t l p
Thông tin r i r c có th bi u di n thông qua các b kí hi u (các ch s , các ch cái ) mà ta g i là b ng ch Gi s , ta có t p đ i t ng X c n bi u di n làm đi u này, ta ch n m t t p h u h n A các kí hi u làm b ng ch mà m i kí hi u là m t ch Chúng ta s g i m i dãy h u h n các ch là m t t trên A Ví d n u A là t p các ch s thì m i t chính là m t s (cho b ng m t dãy s ) Mã hoá các thông tin r i r c c a m t
t p X trên m t b ng ch A chính là cách gán cho m i ph n t x ∈ X m t t y trên A Phép gán mã ph i đ m b o tính ch t: mã c a hai đ i t ng khác nhau ph i khác nhau Tính ch t này đ m b o khi bi t mã có th tìm đ c đ i t ng t ng ng Quá trình gán
mã đ c g i là phép l p mã Quá trình ng c đ c g i là phép gi i mã Ví d , n u X là
t p các thí sinh, ch n A là t p các ch s thì mã c a m t thí sinh có th l y là s báo danh
c a thí sinh đó S báo danh ph i cho phép ch đ nh duy nh t m t thí sinh
Nh đã bi t d li u là hình th c bi u di n thông tin v i m c đích x lý thông tin
V y mã hoá chính là con đ ng chuy n t thông tin thành d li u Sau này ta s th y các thông tin d i d ng s , v n b n, âm thanh, hình nh đ u ph i chuy n d i d ng mã phù
h p đ máy tính có th làm vi c đ c
1.3 Mã hoá nh phân và đ n v đo thông tin
T lâu ng i ta đã bi t dùng mã Moorse trong truy n tin V i mã Moorse, m i
ch đ c th hi n b ng m t dãy các kí hi u ch m và v ch Khi truy n tin, các đi n tín viên nh n lên c n manip đ đóng m ch đi n truy n đi m t d u ch m ng i ta nh n
c n manip r i nh ngay Còn đ truy n m t v ch ng i ta nh n, gi m t chút r i m i nh
T i máy nh n m i khi m ch đi n đ c đóng, đ u in áp xu ng b ng gi y ch y M ch đi n đóng lâu s t o ra v ch, đóng nhanh s t o ra ch m và đ c tái hi n trên b ng gi y
Mã hoá trên b ng ch hai kí hi u đ c g i là mã hoá nh phân Nh v y mã Moorse là m t lo i mã nh phân
Trong tin h c, mã hoá nh phân đ c s d ng r t r ng rãi Có nhi u lý do trong đó
có lý do là máy tính đi n t xây d ng t các linh ki n v t lý có hai tr ng thái nh các
m ch đóng ho c ng t dòng đi n B ng ch nh phân đ c s d ng trong tin h c ch g m
2 “ch ” là ch s 0 và ch s 1 Chính các ch s này c ng g i là ch s nh phân (binary digit)
Trong m t t p h u h n đ i t ng, đ mã hoá nh phân, c n gán cho m i đ i t ng
m t t nh phân (mã nh phân) Ví d đ i v i t p 8 đ i t ng ta có th gán cho m i đ i
t ng m t mã khác nhau trong t p mã 3 ch s nh phân sau: 000, 001, 010, 011, 100,
Trang 3101, 110, 111 M t cách t ng quát, n u dùng các mã k bít s mã hoá đ c t p đ i t ng
có t i 2K đ i t ng Ng c l i, b t c m t t p n đ i t ng s ch c n dùng không quá [log2n] +1 ch s nh phân đ t o ra các mã đ phân b êt n đ i t ng
Nh v y, trong mã hoá nh phân, m i m t ch s nh phân mang m t l ng tin nào đó v đ i t ng và đ c xem là m t đ n v thông tin n v thông tin đó đ c g i là
bit do vi t t t t chính c m t “ BInary digiT” Ta c ng g i các ch s 0 hay 1 là m t bit
Thông th ng đ ch các l ng tin l n, ng i ta không dùng bít mà dùng m t s đ n v
b i c a bit sau đây:
B ng 1.1 Các đ n v đo thông tin
1.4 X lý thông tin
X lý thông tin là tìm ra nh ng d ng th hi n m i c a thông tin phù h p v i m c đích s d ng Ví d , khi cho ph ng trình x2
+ bx + c = 0 ta c n gi i (x lý) đ tìm ra hai nghi m x1 và x 2 V m t thông tin, vi c bi t b và c hoàn toàn t ng đ ng v i bi t x1 và
x2 Tuy nhiên trong m c đích s d ng thì vi c bi t x1 và x2 khác h n v i bi t b và c Nh
v y x lý thông tin không làm t ng l ng tin mà ch h ng hi u bi t vào nh ng khía
c nh có l i trong ho t đ ng th c ti n M c đích c a x lý thông tin là tri th c
1.5 X lý thông tin t đ ng b ng máy tính đi n t
Quá trình x lí thông tin trên máy tính đi n t c ng có nh ng b c t ng t nh tính toán th công
mô t cách th c x lý, d li u, gi các k t qu tính toán, con ng i c n ph i
s d ng m t s ph ng t ên ghi nh nh t đ nh nh gi y, b ng và chính trí nh c a mình
MT T c ng c n có ph ng ti n nh d li u, k t qu và cách x lý g i là b nh
Con ng i c n s d ng m t s công c nào đó nh bàn tính, hay chính b não đ
th c hi n các phép toán MT T c ng s d ng m t s m ch tính toán có kh n ng x lý
d li u ó chính là b s h c và logic
x lý m t công vi c ph c t p, ng i ta c n th c hi n nhi u phép x lý nh theo m t trình t nh t đ nh V i hi u bi t c a mình, tu theo nh ng đi u ki n c th , con
ng i t xác đ nh các phép tính c n thi t và trình t th c hi n các phép tính Ví d khi
gi i m t ph ng trình b c 2, ng i gi i ch có th quy t đ nh gi i ti p đ tìm hai nghi m
th c sau khi tính và th y bi t th c ∆ ≥ 0 MT T thì không th ch đ ng nh th Nó
Tên g i Vi t t t Giá tr
KiloByte KB 2 10 byte (1024 byte) MegaByte MB 2 10 KB GigaByte GB 2 10 MB TeraByte TB 2 10 GB
Trang 4không th t quy t đ nh đ c, khi nào thì ph i làm gì, c ng hay tr , nhân hay chia, các
d li u tham gia x lí s l y đâu làm đ c đi u đó, ng i ta ph i l p m t k ch b n
x lý có đ y đ m i tình hu ng d i d ng các m nh l nh đ h ng d n MT T x lý công vi c theo đúng yêu c u mong mu n T p h p các m nh l nh nh v y đ c con
ng i so n th o b ng m t ngôn ng mà máy "hi u" đ c g i là ch ng trình (prrogam) Máy tính c n có ph ng ti n đ l u ch ng trình đ a vào và c n có m t thi t b có đ m
b o kh n ng t đi u khi n theo ch ng trình
Ta có th hình dung quá trình x lí thông tin trên máy tính s b ng s đ hình
d i đây:
Hình 1.2 X lý thông tin b ng máy tính
C th h n, gi s ta c n x lí các thông tin X B ng m t công c tính toán nào
đó, con ng i có th th c hi n tính toán theo m t quy trình f đ thu nh n đ c k t qu Y
V i MT T, quá trình x lí đó đ c ti n hành nh sau: mã hóa X nh phép mã hoá C đ thu đ c d li u ban đ u x (sau này ta s th y là máy tính ch x lí tr c ti p v i d li u
mã nh phân g m toàn các ch s 0 và 1) Thay cho quy trình x lý f, ng i ta ph i l p
m t ch ng trình P n p vào trong máy và giao cho máy tính th c hi n Sau khi ch ng trình P th c hi n xong ta thu đ c k t q a y (trong d ng nh phân) Nh phép gi i mã C -1
ta thu đ c k t q a ph i tìm Y d i d ng mà con ng i có th s d ng tr c ti p
T ng ng gi a hai cách x lí có th mô t nh hình d i đây:
Hình 1.3 S đ x lý thông tin b ng máy tính
1.6 Tin h c và Công ngh Thông tin
B n thân thu t ng “tin h c” dùng Vi t Nam có ngu n g c t t “Informatique” trong ti ng Pháp (Xem bài đ c thêm) Informatique đ c Vi n Hàn lâm Khoa h c Pháp
đ nh ngh a nh sau:
Tin h c là ngành khoa h c nghiên c u các ph ng pháp và qúa trình x lý thông tin m t cách t đ ng d a trên các ph ng ti n k thu t mà hi n nay ph ng ti n đó là
MT T
Máy tính K t qu
Ch ng trình
D li u
Phép mã hoá C Phép gi i mã C -1
X
P (Máy tính th c hi n)
f (ng i th c hi n)
Y
Trang 5Nh v y, trong đ nh ngh a này ta th y có hai khía c nh:
̇ Ph n c ng (hardware) là toàn b các thi t b v t lí c a MT T Nâng cao t c đ
x lý, t ng kh n ng l u tr , t ng đ tin c y, gi m n ng l ng s d ng, t ng kh
n ng ghép n i là nh ng m c tiêu mà công ngh ph n c ng h ng t i
̇ Ph n m m (software) là ph ng pháp x lý thông tin bao g m các ch ng trình
có ch c n ng đi u khi n, khai thác ph n c ng và đ th c hi n các yêu c u x lý thông tin Ph n m m còn n m ph ng pháp t ch c d li u t ng ng v i
ch ng trình x lý thông tin Tìm ra các ph ng pháp x lý thông tin có hi u qu ,
t ch c d li u t t và l p trình th hi n các ph ng pháp x lý đó là v n đ c a
ph n m m
Tr c n m 1975, v i m t n i dung khá thô s (ch y u là nguyên lý máy và l p trình) mi n B c th ng dùng thu t ng "Máy tính đi n t " còn mi n Nam dùng thu t
ng " i n toán" v i ý ngh a c a tin h c T t nhiên các thu t ng trên đ u không ph n ánh đ y đ n i dung c a Tin h c Ngay M cho đ n nay ng i ta v n dùng thu t ng
“khoa h c máy tính” (Computer Science), “x lý d li u” (Data Processing), “x lý thông tin” (Information Processing), "tính toán b ng máy tính" (Computing) đ ch nh ng
m t nào đó trong tin h c C ng nên bi t r ng tên c a H i Tin h c Vi t Nam trong ti ng Anh đ c l y là VAIP có ngu n g c t “Vietnam Association for Information Processing”
ã t lâu, nhi u chuyên gia mu n có m t tên g i m i cho ngành khoa h c này
N m 1962, m t giáo s ng i Pháp tên là Philippe Dreyfus đã đ ngh thu t ng
informatique trên c s hai t “information” (thông tin) và “automatique” (t đ ng hoá) Thu t ng này đ c Vi n Hàn lâm khoa h c Pháp ch p nh n chính th c và công b ngày 6/4/1966 kèm theo gi i thích v i n i dung nh đ nh ngh a tin h c nêu trên Trong các h i
th o và các n ph m khoa h c, thu t ng này đ c Anh hoá thành t Informatics (chính
ti ng Anh không có t này) Thu t ng này đ c ch p nh n r ng rãi châu Âu nh ng ít
đ c dùng B c M
Cu i nh ng n m 70, m t nhóm các nhà khoa h c Vi t ki u t i Pháp đã dùng thu t
ng "Tin h c" v i ý ngh a c a t "Informatique" và đã s d ng trong m t s h i th o t i
Hà N i T đó thu t ng “Tin h c” đ c chính th c s d ng t i Vi t Nam
Hi n nay ngay c trên th gi i c ng có nhi u quan ni m khác nhau v m t đ nh ngh a cho tin h c S khác nhau th c ch t ch ph m vi các l nh v c đ c coi là tin h c Ngày nay tin h c xâm nh p vào m i l nh v c nên m t s n i ranh gi i gi a tin h c và
m t s ngành khác không còn rõ nét n a Ví d vi n thông (telecommunication) ngày nay
đã chuy n d ch t công ngh t ng t (analog) sang công ngh s (digital) Ph n truy n
d n nh ng môi tr ng truy n th ng còn là t ng t nh ng ph n qu n lý, chuy n m ch,
x lý d ch v đ u do máy tính đ m nh n T đ ng hoá ngày nay c ng thay đ i r t nhi u
v i nh ng x lý thông minh qua máy tính tr c khi truy n tín hi u đi u khi n đ n các c
c u ch p hành
Trong th i gian v a qua nhi u nhà khoa h c đ ngh s d ng thu t ng "Công ngh Thông tin" (Information Technology) v i m t n i dung đ y đ h n, bao hàm đ c
nh ng l nh v c, nh ng n n t ng ch y u c a khoa h c và công ngh x lý thông tin d a trên máy tính Khi nói đ n y u t công ngh , ng i ta mu n nh n m nh đ n tính quá
Trang 6trình, tính t ch c và ph ng pháp x lý thông tin h ng t i ng d ng nh ngh a Công ngh Thông tin đã đ c nhóm chuyên gia Vi t Nam đ ng đ u là Giáo s Phan ình Di u (hi n công tác t i Tr ng i h c Công ngh , i h c Qu c gia Hà N i) nghiên c u, tham kh o t các đ nh ngh a c a chuyên gia trên th gi i và đã đ c đ a vào Ngh quy t 49/CP c a Chính ph v phát tri n Công ngh Thông tin c a Vi t Nam t 1996 nh sau:
"Công ngh Thông tin là t p h p các ph ng pháp khoa h c, các ph ng ti n và công c k thu t hi n đ i - ch y u là k thu t máy tính và vi n thông - nh m t ch c và khai thác và s d ng có hi u qu ngu n tài nguyên thông tin r t phong phú và ti m tàng trong m i l nh v c ho t đ ng c a con ng i và xã h i Công ngh thông tin đ c phát tri n trên n n t ng phát tri n c a các công ngh Tin h c- i n t - Vi n thông và T đ ng hoá"
Nh v y Công ngh Thông tin mang m t ý ngh a r ng rãi h n, nó v a là khoa
h c, v a là công ngh , v a là k thu t, bao trùm c tin h c, vi n thông và t đ ng hoá
L u ý r ng nhi u n i ng i ta không xem vi n thông là m t b ph n c a CNTT
Vì th thay cho IT (Information Technology) ng i ta th ng dùng ICT (Information - Communication Technology)
Ngày 29 tháng 6 n m 2006 Qu c h i n c C ng hoà Xã h i Ch ngh a Vi t Nam
đã ban hành Lu t Công ngh Thông tin Theo đó CNTT đ c đ nh ngh a nh sau:
Công ngh thông tin là t p h p các các ph ng pháp khoa h c, công ngh và công c k thu t hi n đ i đ s n xu t, truy n đ a, thu th p, x lý, l u tr và trao đ i thông tin s
đây, thông tin s là thông tin đ c t o l p b ng ph ng pháp dùng tín hi u s
Câu h i và bài t p
1 Hãy làm rõ m i liên h gi a các khái ni m thông tin, tin hi u, d li u ?
2 Tìm m t ví d minh ho có thông tin ngh a là gi m đ b t đinh
3 M t l p có 48 sinh viên trong đó có 36 nam và 12 n Trong m t cu c thi h c sinh gi i tin h c c a tr ng m t sinh viên c a l p đ c gi i nh t Ng i ta mu n bi t
ng i đó là ai Sau đó ng i ta đ c thông báo thêm, ng i đo t gi i c ng đã t ng nh n
gi i nhì trong m t cu c thi c m hoa c a n sinh t ch c nhân ngày 8/3 Tính l ng tin
nh n đ c trong thông báo trên
4 n v đo tin là bít Nh ng bít chính l i là ch vi t t t c a c m t ch s nh phân "Binary Digit" Hãy lý gi i m i liên h gi a hai đi u này
5 T i sao nói x lý thông tin không làm t ng l ng tin
6 Hãy nêu vai trò c a thông tin trong cu c s ng