LT3 ch1 modau

10 204 0
LT3 ch1 modau

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chà Chào m i ng i! Lý thuy t tí ính toá án ttính to toán Hello Everyone! (Theory of Computation) PGS.TS Phan Huy Khá Khánh Bonjour Tout le Monde ! khanhph@vnn.vn ! Ch ng M đ u K ! 2/56 2/ 56 M c đí đích môn h c Ki n th c yêu c u Môn h c Lý thuy t tí tính toá toán (Theory of Computation) Computation) cung c p nh ng ki n th c c b n v :   Môn h c yêu c u m t s ki n th c tiên quy t :  Tin h c đ i c ng  Toá Toán r i r c  C u trú trúc d li u và gi i thu t Các mô hì hình tí tính toá toán lý thuy t :  Các má máy truy c p ng u nhiên  Các ôtômat h u h n tr ng thá thái  Ngôn ng hình th c và v n ph m  Lý thuy t đ ph c t p tí tính toá toán  Máy Turing và khái ni m tí tính đ  Các hà hàm đ quy  Các khái ni m v toá toán, thu t toá toán, tí tính gi i đ tính quy t đ nh  Sinh viên n m đ c :  Các mô hì hình tí tính toá toán t ng quát  Các khái ni m c b n v đ ph c t p tí tính toá toán, ph ng phá pháp ch ng minh hì hình th c  Có kh n ng minh ho ho t đ ng c a cá mô hì hình đó b ng thu t toá toán, ch ng trì trình c c, 3/56 3/ 56 4/56 4/ 56 Tài li u tham kh o ánh giá giá k t qu h c t p  Yêu c u :  Giá Giáo trì trình PPT “Lý thuy t Tí Tính toá toán”  http://wwwhttp://www-courses.cs.uiuc.edu/~cs375/   www.cs.berkeley.edu/~vandam/CS172/   Hi u n i dung trì trình bà bày l p Th c hi n cá t p v nhà nhà Kh n ng th c hà hành  Tinh th n thá thái đ n ng l c h c t p    Keywords to findout on internet (Google):  Computation | Computing Theory   Computability | Decidability Formal Language | Automata Theory  Set | Graph Theory    Nghe gi ng, ghi ché chép Tr l i và đ t câu h i Tham kh o tà tài li u, truy c p internet Tham gia h c nhó nhóm, t p th o lu n và thuy t trì trình …  Ki m tra cu i k :  5/56 5/ 56 Thi vi t (60 phú phút) 6/56 6/ 56 gi i h n c a Tin h c ? N i dung môn h c Ch ng M đ u : c s c a môn h c Ch ng Ôtômat h u h n Ch ng V n ph m và ôtômat đ y xu ng Ch ng Máy Turing Ch ng Hàm đ quy Ch ng Máy RAM Ch  Nghiên c u v toá toán (problem) :  L p cá bà toá toán gi i đ  L i gi i, hay thu t toá toán , đ gi i bà bà i toá toán  L p cá bà toá toán không gi i đ c (resolvability) c (và s không bao gi gi i đ c, dù v i s ti n b c a công ngh thông tin t ng lai) lai)  Nghiên c u lý thuy t cá cách gi i cá bà toá toán  Mô hì hình tí tính toá toán ? ph c t p tí tính toá toán ?   ng Lý thuy t đ ph c t p tí tính toá toán Tính quy t đ nh 7/56 7/ 56 8/56 8/ 56 gi i h n c a Tin h c ?  Gi i h n c a V  Không t n t Mâu thu n v Nh ng ch đ chí c a Tin h c lý thuy t  Nghiên c u cá mô hì hình tí tính toá toán : t lý : i chuy n đ ng v nh c u v ì : i cá đ nh lu t v nhi t đ ng l c h c  C ác ngôn ng  C ác ôtômat h u h n (Finite Automaton)  Má y  C ác hình th c (Formal Languages) Turing (Turing Machine) hà hàm đ quy (Recursive Functions)  Má y RAM (Random Access Memory Machine)  ph c t p tí tính toá toán (Computational Complexity) M t mã h c (Cryptology)  Và h ng nghiên c u m i lý thuy t tí tính toá toán  M i quan h gi a mô hì hình tí tính toá toán khác Chuy n đ ng v nh c u ( Perpetual Motion) là chuy n đ ng không ng ng, không c n tiêu t n n ng l ng  C s đ thi t k MT T (ph n c ng) thu t toá toán (ph n m m) hi n t i và t ng lai… lai… 9/56 9/ 56 Ch 10/56 10/ 56 M t s ki n th c Toá Toán h c c ng m đ u : c s c a môn h c  M t s ki n th c Toá Toán h c c s  Lôgí Lôgích h c  B ng ch câu  T p h p, quan h  Khá Khái ni m ngôn ng  Ánh x hàm  Máy tr u t  Tính đ m đ ng  V n đ bi u di n ngôn ng  s c c a cá t p h p vô h n th  Phé Phép ch ng minh quy n p  Các c u trú trúc r i r c 11/56 11/ 56 12/56 12/ 56 B ng ch Câu b ng ch câu  B ng ch (alphabet) :  Cho tr m t t p h u h n cá ký t (characters), (characters), hay ký t ng/ ký hi u (symbol), ký hi u b i ch Hy l p  Kích th c c a b ng ch s ph n t c a b ng ch đó, ký hi u | ||, hay Card( Card() (Cardinality)   c m t b ng ch  đó  M t câu (phrase, word), hay xâu (string),  :  m t dãy h u h n cá ph n t c a , ký hi u b i w (hay x, y, u, v )  Ví d m t s b ng ch  : {#} { 0, } { ,  , ,  } {0, 1, 2, , 9} {I, V, X, L, C, D, M} {aA, bB, cC, , zZ} {, , , , } B ng mã ASCII Các nét vi t ch Hán  |=1 | | = | | = Ch s th p phân, || = 10 Ch s La Mã Ch La tinh ch Hi L p  dài c a m t câu là s ký t có m t câu, ký hi u là |w| hay length(w length(w)  dài câu là h u h n, nh ng không h n ch có ký t  M t câu có có th có t đ n n ký t tu ý  Câu có có đ dài b ng đ c g i là câu r ng (empty word), ký hi u , ho c e, ho c  ho c  13/56 13/ 56 Ví d v câu b ng ch 14/56 14/ 56  Phé Phép ghé ghép ti p cá câu  Cho hai câu u và v   Ví d B ng ch  Câu  , 0, 1, 00, 01, 10, 11, 100 { 0, }  Phé Phép ghé ghép ti p (Concatenation) c a u và v là câu w = uv  Ngh a là câu w g m hai ph n : { a z } a, ab, ab, zt, computer u đgl là ti n t (prefix) { 0, , 7,  , ,  ,  } 43 2 , 1234,  r i đ n v là h u t (postfix) c a w ASCII M t ch ng trì trình C, Pascal, Java, VB  Tr ng h p câu w = xuy là ghé ghép ti p c a ba câu x, u, u, y, y, u đgl trung t (infix) c a w  Ng i ta g i câu r ng  câu đ n v có w = w w = w v i w là m t câu b t k   Cho m t câu w có có có |w|=n, |w|=n, ng i ta có có th trí trích t w m t ký t đó có v trí trí xác đ nh ph m vi n  Ví d câu w=aaabbaabbba có có |w|=11, có th trí trích cá ký t :  w(1) = a, , w(4) = b, , w(11) = a Returning 15/56 15/ 56 16/56 16/ 56 Các phé phép toá toán khác xâu Khá Khái ni m ngôn ng  M t ngôn ng hình th c (nó (nói g n ngôn ng ) :  Cho cá câu w   Phé o ng c (Reversion) m t câu w, ký hi u Phép  Là câu w đ c vi t theo th t ng c l i  Rõ rà ràng R =   wR  :  wR = w đgl câu đ i x ng : OMO, akitOMOtika akitOMOtika  Phé Phép L y th a (power) xâu  wn = ww… ww…w (n l n) w0 =  v i m i w * ngôn ng g m t p t t c xâu b ng ch  k c xâu r ng + ngôn ng g m t p t t c xâu b ng ch  KHÔNG CÓ CÓ xâu r ng  Quy Quy p h p cá câu c xây d ng cù m t b ng ch cho   Ví d :   t đ cc ch ch đ đ nh nh m m tt câu câu (denotation) (denotation)   Chú ý {}   Ví d   17/56 17/ 56 + = * -   ngôn ng tr ng (t p tr ng) L1 = {a, ab, abb, bba, bbb} là ngôn ng h u h n {a, b} L2 = {(ab)n | n > 0} là ngôn ng vô h n {a, b} Chú ú ýý :: Ch Chú Ng ùng phé ép ““hình hình th ” (Fomal) Fomal) đđ đđ ii ll pp vv ii ““tt nhiên ddùng ph ((Fomal) Ng ii ta ta dù phép th cc” nhiên (Natural) (Natural) 18/56 18/ 56 Máy tr u t Ch c n ng đoán nh n câu ng (machine) D li u vào Máy đoán nh n câu : D li u Máy  Mô hì hình IPO :  Gi s d li u vào w*, k t qu r{0, 1}, hay {False, True }  T p h p câu vào w đgl ngôn ng (language)  nh n d li u vào (data) và cho k t qu (result)  Hai cá cách nhì nhìn : Có ba kh n ng cho k t qu : True ho c False M t k t qu khác Không cho k t qu  Cách nhì nhìn ch c n ng (functional look)  Cách nhì nhìn c u trú trúc (structural look)  Phân bi t cá ki u má máy tr u t  ng (machine type) theo b n ch t c a k t qu tính toá toán Hai t p h p câu vào ng v i hai kh n ng đ u là bù n u má máy cho k t qu cho m i d li u vào 19/56 19/ 56 20/56 20/ 56 Ch c n ng tính toá toán Cách nhì nhìn c u trú trúc (structural look)  Máy đ Máy tí tính toá toán (computation machine)  Gi s d li u vào w*, k t qu m t câu r m t b ng ch  đó  Khi đó, má máy th c hi n tí tính hà hàm f t * vào * : c xá xác đ nh b i m t t p h u h n cá phé phép toá toán  M i phé phép toá toán mô t m t ph n c u trú trúc c a má máy  Phé Phép toá toán s c p (elementary operation) là phé phép toá toán nh nh t (không chia c t nh h n) n) f :  *  *  Máy th c hi n (execution) m i phé phép toá toán m t kho ng Ngh a là w   *, f (w )  * th i gian h u h n và xác đ nh  Hàm f đ c g i là hàm toàn ph n (partial function) n u v i m i câu vào w *, má máy đ u cho k t qu f (w)*  Ng i ta c ng nói ki u má máy đoán nh n ch tr bi t c a ki u má máy tí tính ng h p đ c  Ch ng trình (program) là t p h p cá phé phép toá toán s c p đ gi i m t bà toá toán nà đó  M t t ính toá toán (computation) là vi c th c hi n l n l t cá phé phép toá toán s c p theo m t th t xác đ nh tr c 21/56 21/ 56 22/56 22/ 56 Mô hì hình tí tính toá toán  M t s thu t ng nh ngh a cá l p má máy có có nguyên lý ho t đ ng ng trì trình đ gi i bà toá toán cù m t má máy mà mà không thay đ i má máy gi i  Làm đ có th bi t :  Thay đ i ch   Mô hì hình tí tính toá toán (computation model), ký hi u T là s mô t :   t t c phé phép toá toán s c p  nh ng đ i t  cách th c hi n ch  M t tr  ng nà có có th tác đ ng phé phép toá toán ng trì trình má máy Mô hì hình + Ch L p cá hà hàm t ính đ hay Tt ính đ c ? c (recognized), c (computable) L p cá ngôn ng li t kê đ hay Tli t kê đ c ? c (enumerable)  So sá sánh hai mô hì hình : T1 m nh h n T2 : N u T2 nh n bi t đ c (tí (tính đ c, li t kê đ c) thì T1 c ng nh n bi t đ c (tí (tính đ c, li t kê đ c) ng h p riêng (instance) c a mô hì hình là máy c th  Mô hì hình tí tính toá toán T đ L p ngôn ng đoán nh n đ hay Tnh n bi t đ c ? ng trì trình = Má Máy  T1 và T2 t c g i là m t T Tmáy ng đ ng (equivalent) n u T1 m nh h n T2 và ng c l i c n u không t n t i mô  T1 và T2 là không th so sá sánh v i đ hình nà đ m nh h n mô hì hình 23/56 23/ 56 24/56 24/ 56 Khá Khái ni m bà toá toán (problem) M t s ví d toá toán (1) Bài toá toá n :  D li u: M t s nguyên vi t h 10  Câu h i : S nguyên cho có có s nguyên t hay không ? Bài toá toá n :  D li u : M t s nguyên vi t h 10  Câu h i : S nguyên nà nà y đ c vi t d i d ng t ng c a s bình ph ng ? Bài toá toá n :  D li u : M t s nguyên vi t d i d ng tí tích c a cá s h ng h 10  Câu h i : S nguyên cho có có s nguyên t hay không ? Bài toá toá n :  D li u : M t đ th h u h n G đ c bi u di n b i m t danh sá sách cá đ nh cung, m i đ nh đ c bi u di n b i m t s nguyên h 10  Câu h i : Có t n t i đ ng Hamilton (đi qua h t t t c đ nh c a đ th , m i đ nh qua đú m t l n) đ th cho không ?  M t toá toán :  Mô t cách bi u di n (h u h n) cá ph n t c a m t t p h p h u h n hay vô h n đ m đ  M t phá phát bi u liên quan đ n cá ph n t c a t p h p nà  K t qu có th đúng, ng, ho c sai, tùy vi c ch n ph n t  Bài toá toán Tin h c lý thuy t :  Khá Khác v i khái ni m bà toá toán thông th  c ng Toá Toán h c Khá Khác v i bà toá toán hi u theo ngh a thông d ng 25/56 25/ 56 26/56 26/ 56 Bài toá toán t M t s ví d toá toán (2) Bài toá toán : D li u : M t bi u th c chí quy (regular (regular expression) đ c xây d ng m t b ng ch  (là (là m t bi u th c nh n đ c t câu w* b i cá c phé é p ho c, phé é p ghé é p c ph ph gh ti p, phé phép * và l y bù bù)  Câu h i : Có ph i bi u th c cho ch đ nh ngôn ng tr ng (empty language) ?  Bài toá toán 3n+1 (bà (bài toá toán d ng) : ch a có có câu tr l i v tính d ng ng ng Post (Post’ (Post’s correspondence problem)  D li u : M t dãy h u h n cá c p câu (u1, v1), (u2, v2) , (uk, vk)  Câu h i : T n t i hay không m t dãy ch s i1 , i2 , in cho tho mãn ui1 ui2 uin = vi1 vi2 vin ? Ví d : cho * = {a, {a, b, c } Và dãy cá c p câu : {(ab, {(ab, aba), aba), (ab (ab,, ba), (bab (bab,, ba), ba), (ab (ab,, bab) bab) } function threen(n: integer): integer;{ integer;{ recursive } begin if (n = 1) then else if odd(n odd(n then threen(3*n+1) else threen(n div 2); end; Cho câu : babababab T n t i dãy ch s {3 , 2, 2, 4} cho tho mãn : bab.ab.ab.ab = ba.ba.ba.bab 27/56 27/ 56 M t s khái ni m khác Các phé phép toá toán ngôn ng  K t h p bà toá toán P v i ngôn ng đ c tr ng (characteristic language) LP* Ngôn ng LP = { w  D * |  l i gi i f(w) = true }  Ngôn ng m t t p h p đó có th áp d ng cá phé phép toá toán t p h p :   i v i cá ph n t :   i v i ngôn ng :  Cho L1, L2 và L là ngôn ng , cá phé phép toá toán:  Phé Phép h p  L1  L2 = {w | w  L1 ho c w  L2}  Phé Phép giao L1 L2  L1  L2 = {w | w  L1 và w  L2}  Phé Phép hi u  L1 – L2 = {w | w  L1 và w  L2} L  Phé Phép bù bù  L’ = {w | w  L} ho c L’ L’ = * - L  Bài toá toán ng c C P nh n đ c t P b ng cá cách : LP  gi nguyên cá cách bi u di n cá d li u *  đ t ng c l i câu h i Ngôn ng LCP = { w  D * | Không  l i gi i, hay f(w) = false } Ví d : Bà Bài toá toán 1’ 1’ :  D li u : Cho m t s nguyên vi t h 10  Câu h i : S nguyên nà không ph i là m t s nguyên t ?  Máy gi i (solve) bà toá toán P n u và ch n u :   w  *, má máy cho phé phép xá xác đ nh, m t kho ng th i gian h u h n, n u w LP hay w LCP  Phân l p cá bà toá toán tù tù y theo đ ph c t p (complexity)  M t bà toá toán là t m th 28/56 28/ 56 ng (trivial) n u LP =  ho c n u LCP =  29/56 29/ 56 30/56 30/ 56 Các phé phép toá toán ngôn ng Các phé phép toá toán ngôn ng  Phé Phép ghé ghép n i :  L1L2 = = {w | w = uv, u  L1 và v  L2}  Phé Phép bao đóng (closure) :  L* = L0  L1  …  Ln  … =  Phé Phép ngh ch đ o :  LR = {w | wR  L}  Phé Phép bao đóng d ng :  L+ = L1  L2  …  Ln  … =  Phé Phép l y th a :  Ln = LL… LL…L (n l n)  Li = LLi-1 = Li-1L v i i>0  L0 = { {}  Ví d :   Ghép n i L1 có m câu, L2 có n câu, đ c ngng có m.n ??? câu Là Là b b n n ss cc aa tích tích êCac êCac (Cartesian (Cartesian Product) Product) Cho L = { tic, tic, tac, tac, toe toe } : L2 = LL = { tictic, tictac, tictoe, tactic, tactac, tactoe, toetic, toetac, toetac, toetoe }  L i  L i 1  Nh n xé xét :  L+ = LL* = L*L  L* = L+  {  }  Ví d :   i Cho L = { tic, tic, tac, tac, toe toe } : i Khái Khái ni ni m m hh uu hh n, n, vô vô hh nn đđ cc hi hi uu nh nh th th nào ?? •Liên •Liên quan quan đđ nn các ph ph nn tt cc aa m m tt tt pp hh pp :: khái khái ni ni m m đđ m m (li (li tt kê) kê) đđ cc •Ng •Ng ii ta ta đđ tt song song ánh ánh các ph ph nn tt vv ii ss tt nhiên nhiên   •h •h uu hh nn ?? tt pp hh pp có có nn ph ph nn tt ,, nK0 then while OK and i

Ngày đăng: 22/12/2016, 12:43

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan