ChChàào mo mọọi ngư
i ngườời !i !
Hello Everyone! Hello Everyone! Hello Everyone!
nh toáánn Lý thuyếết tt tíính to Lý thuy Lý thuyết tính toán (Theory of Computation) (Theory of Computation) (Theory of Computation)
Bonjour Tout le Monde ! Bonjour Tout le Monde ! Bonjour Tout le Monde !
PGS.TS. Phan Huy Kháánhnh PGS.TS. Phan Huy Kh khanhph@vnn.vn khanhph@vnn.vn
他他 ﺾ ﺾ 好好 !! 他 ﺾ 好 !
аждый !! Привет KKаждый Привет Привет Kаждый !
Chương 11 Chương 1 Chương MMởở đ đầầuu Mở đầu
2/2/5656
MMụục đc đíích môn h
ch môn họọcc
KiKiếến thn thứức yêu c
c yêu cầầuu
Lý thuyếết tt tíính to
nh toáánn (Theory of Computation
(Theory of Computation) )
Môn hMôn họọc yêu c
c yêu cầầu mu mộột st sốố kikiếến thn thứức tiên quy
c tiên quyếết :t :
c cơ bảản vn vềề ::
Môn hMôn họọc c Lý thuy cung cấấp nhp nhữững ki cung c CCáác mô h
ng kiếến thn thứức cơ b n lý thuyếết :t : nh toáán lý thuy u nhiên y truy cậập ngp ngẫẫu nhiên
CCáác mc mááy truy c
c mô hìình tnh tíính to
CCáác ôtômat h
c ôtômat hữữu hu hạạn trn trạạng th
ng thááii
Ngôn ng
i cương Tin hTin họọc đc đạại cương ToToáán rn rờời ri rạạcc CCấấu tru trúúc dc dữữ liliệệu vu vàà gigiảải thu i thuậậtt
Lý thuy
MMááy Turing v
Sinh viên nắắm đưm đượợc :c : Sinh viên n c mô hìình tnh tíính to CCáác mô h CCáác khc kháái ni i niệệm cơ b phương phááp chp chứứng minh h phương ph
CCáác hc hààm đm đệệ quyquy
CCóó khkhảả năng minh ho
CCáác khc kháái ni ttíính quy
nh thứức vc vàà văn ph Ngôn ngữữ hhìình th Lý thuyếết đt độộ phphứức tc tạạp tp tíính to văn phạạmm nh toáánn nh toáán tn tổổng qu y Turing vàà khkháái ni i niệệm tm tíính đư nh đượợcc ng quáátt m cơ bảản vn vềề đ độộ phphứức tc tạạp tp tíính to nh toáán,n, ng minh hìình th nh thứứcc năng minh hoạạ hohoạạt đt độộng cng củủa ca cáác mô h c mô hìình đnh đóó i niệệm vm vềề bbàài toi toáán, thu n, thuậật tot toáán, tn, tíính gi nh giảải đưi đượợc,c, bbằằng thu ng thuậật tot toáán, n, chương tr chương trììnhnh nh... nh quyếết đt địịnh...
3/3/5656
4/4/5656
TTàài li
i liệệu tham kh
u tham khảảoo
ĐĐáánhnh gigiáá kkếếtt ququảả hhọọcc ttậậpp
GiGiááo tro trìình PPT
nh PPT ““Lý thuy
Lý thuyếết Tt Tíính to
nh toáánn””
Yêu c
i dung trìình bnh bààyy trêntrên llớớpp
http://www
courses.cs.uiuc.edu/~cs375/ http://www--courses.cs.uiuc.edu/~cs375/
www.cs.berkeley.edu/~vandam/CS172/ www.cs.berkeley.edu/~vandam/CS172/
Tinh th
năng lựực hc họọc tc tậậpp
Keywords to findout on internet (Google): Keywords to findout on internet (Google):
Computation | Computing Theory Computation | Computing Theory
Computability | Decidability Computability | Decidability
Yêu cầầu :u : HiHiểểu nu nộội dung tr ThThựực hic hiệện cn cáácc bbààii ttậậpp vvềề nhnhàà KhKhảả năng th năng thựực hc hàànhnh Tinh thầần thn tháái đi độộ vvàà năng l ng, ghi chéépp Nghe giảảng, ghi ch Nghe gi t câu hỏỏii TrTrảả llờời vi vàà đ đặặt câu h Tham khảảo to tàài li Tham kh Tham gia họọc nhc nhóóm, tm, tậập thp thảảo luo luậận vn vàà thuy Tham gia h ……
Formal Language | Automata Theory Formal Language | Automata Theory
Set | Graph Theory Set | Graph Theory
KiKiểểmm tratra cucuốốii kkỳỳ :: t (60 phúút)t) ThiThi viviếết (60 ph
p internet u, truy cậập internet i liệệu, truy c thuyếết trt trìình nh
5/5/5656
6/6/5656
1
NNộội dung môn h
i dung môn họọcc
Đâu làà gigiớới hi hạạn cn củủa Tin h Đâu l
a Tin họọc ?c ?
Nghiên c
Chương 11 MMởở đ đầầu : u : cơ scơ sởở ccủủa môn h Chương
a môn họọcc
n (problem) : Nghiên cứứu vu vềề bbàài toi toáán (problem) : (resolvability) LLớớp cp cáác bc bàài toi toáán gin giảải đưi đượợcc (resolvability)
Chương 22 Ôtômat h Chương
Ôtômat hữữu hu hạạnn
LLờời gi
i giảảii, hay
, hay thuthuậật tot toáánn, , đđểể gigiảải bi bàài toi toáán n
LLớớp cp cáác bc bàài toi toáán không gi
n không giảải đưi đượợcc
Chương 33 Văn ph Chương
Văn phạạm vm vàà ôtômat đ
ôtômat đẩẩy xuy xuốốngng
((vvàà ssẽẽ không bao gi không bao giờờ gigiảải đưi đượợc,c, ddùù vvớới si sựự titiếến bn bộộ ccủủa công ngh
y Turing Chương 44 MMááy Turing Chương
u lý thuyếết ct cáách gi
a công nghệệ thông tin trong tương lai thông tin trong tương lai)) ch giảải ci cáác bc bàài toi toáánn
Nghiên c
Chương 55 HHààm đm đệệ quyquy Chương
Nghiên cứứu lý thuy nh toáán ?n ? Mô hMô hìình tnh tíính to
ĐĐộộ phphứức tc tạạp tp tíính to
nh toáán ?n ?
y RAM Chương 66 MMááy RAM Chương
TTíính quy
nh quyếết đt địịnhnh
Chương 77 Lý thuy Chương
Lý thuyếết đt độộ phphứức tc tạạp tp tíính to
nh toáán n
7/7/5656
8/8/5656
NhNhữững ch
ng chủủ đ đềề chchíính cnh củủa Tin h
a Tin họọc lý thuy
c lý thuyếếtt
Đâu làà gigiớới hi hạạn cn củủa Tin h Đâu l
a Tin họọc ?c ?
Nghiên c
nh toáán :n :
Nghiên cứứu cu cáác c mô hmô hìình tnh tíính to CCáác ngôn ng
c ngôn ngữữ hhìình th
(Formal Languages) nh thứức c (Formal Languages)
t lý : GiGiớới hi hạạn cn củủa Va Vậật lý : i chuyểển đn độộng vng vĩĩnh cnh cửửuu vvìì ::
CCáác ôtômat h
(Finite Automaton) c ôtômat hữữu hu hạạn n (Finite Automaton)
Không tồồn tn tạại chuy Không t Mâu thuẫẫn vn vớới ci cáác đc địịnh lu Mâu thu
MMááy Turing
nh luậật vt vềề nhinhiệệt đt độộng lng lựực hc họọc c
(Turing Machine) y Turing (Turing Machine)
CCáác hc hààm đm đệệ quy
(Recursive Functions) quy (Recursive Functions)
MMááy RAM
(Random Access Memory Machine) y RAM (Random Access Memory Machine)
ĐĐộộ phphứức tc tạạp tp tíính to
(Computational Complexity) nh toáán n (Computational Complexity)
MMậật mã h
(Cryptology) t mã họọc c (Cryptology)
VVàà ccáác hưc hướớng nghiên c
ng nghiên cứứu mu mớới trong lý thuy
i trong lý thuyếết tt tíính to nh toáánn c nhau nh toáán khn kháác nhau
MMốối quan h
i quan hệệ gigiữữa a ccáác mô h
c mô hìình tnh tíính to
chuyểển đn độộng ng
Cơ sCơ sởở đ đểể thithiếết kt kếế MTĐT
MTĐT (ph(phầần cn cứứng)ng)
ChuyChuyểển đn độộng vng vĩĩnh cnh cửửuu ((Perpetual Motion) l Perpetual Motion) làà chuy n tiêu tốốn năng lư ng, không cầần tiêu t không ngừừng, không c không ng
n năng lượợngng
vvàà thuthuậật tot toáán (ph
n (phầần mn mềềm) trong
m) trong hihiệện tn tạại vi vàà tương lai
tương lai……
9/9/5656
10/10/5656
Chương mởở đ đầầu u : : cơ scơ sởở ccủủa môn h Chương m
a môn họọcc
MMộột st sốố kikiếến thn thứức Toc Toáán hn họọc c cơ scơ sởở
LôgLôgíích hch họọcc
TTậập hp hợợp, quan h
p, quan hệệ
MMộột st sốố kikiếến thn thứức Toc Toáán hn họọc c cơ scơ sởở BBảảng ch
ng chữữ vvàà câucâu
ÁÁnh xnh xạạ vvàà hhààmm
KhKháái ni
i niệệm ngôn ng
m ngôn ngữữ
TTíính đnh đếếm đưm đượợc cc củủa ca cáác tc tậập hp hợợp vô h
p vô hạạnn
MMááy try trừừu tưu tượợngng
ĐĐồồ ththịị vvàà câycây
VVấấn đn đềề bibiểểu diu diễễn ngôn ng
n ngôn ngữữ
PhPhéép chp chứứng minh quy n
ng minh quy nạạpp
CCáác cc cấấu tru trúúc rc rờời ri rạạcc
11/11/5656
12/12/5656
2
Câu trên bảảng ch Câu trên b
ng chữữ
BBảảng ch
ng chữữ vvàà câucâu
BBảảng ch
Cho trư
Cho trướớc mc mộột bt bảảng ch
ng chữữ nnàào đo đóó
c ký tựự ( (characters), hay ký
characters), hay ký tưtượợng/ng/
MMộột t câucâu (phrase, word), hay
(string), trên ::
u (symbol), ký hiệệu bu bởởi chi chữữ ccáái Hy l
i Hy lạạp p
llàà mmộột dãy h
ng chữữ llàà ssốố phphầần tn tửử ccủủa ba bảảng ch
ng chữữ đ đóó,,
(phrase, word), hay xâuxâu (string), trên t dãy hữữu hu hạạn cn cáác phc phầần tn tửử ccủủa a ,, (hay x, y, u, v...) ký hiệệu bu bởởi i ww (hay x, y, u, v...) ký hi
) (Cardinality) |, hay Card() (Cardinality)
ĐĐộộ ddàài ci củủa ma mộột câu l
ng chữữ (alphabet) : (alphabet) : llàà mmộột tt tậập hp hữữu hu hạạn cn cáác ký t ký hiệệu (symbol), ký hi ký hi KKíích thư ch thướớc cc củủa ba bảảng ch ký hiệệu |u ||, hay Card( ký hi VVíí ddụụ mmộột st sốố bbảảng ch
ng chữữ ::
ĐĐộộ ddàài câu l
MMộột câu c
ng (empty word), câu rỗỗng (empty word),
Câu cóó đ độộ ddàài bi bằằng 0ng 0 đư đượợc gc gọọi li làà câu r Câu c ký hiệệu u , ho, hoặặc e, ho ký hi
c e, hoặặc c hohoặặc c
| = 1 | = 1 | = 2 ||| = 2 ||| = 4 | = 4 Chữ số thập phân, ||| = 10 | = 10 Chữ số La Mã Chữ cái La tinh chữ cái Hi Lạp
{ # } { # } { 0, 1 } { 0, 1 } { { , , , , , , } } {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
t trong câu, t câu làà ssốố ký tký tựự ccóó mmặặt trong câu, ký hiệệu lu làà ||ww| hay length( ký hi | hay length(ww)) i câu làà hhữữu hu hạạn,n, nhưng không hạạn chn chếế llàà ccóó bao nhiêu ký t nhưng không h bao nhiêu ký tựự t câu cóó ththểể ccóó ttừừ 0 0 đđếến n ký t n n ký tựự tutuỳỳ ýý
13/13/5656
14/14/5656
VVíí ddụụ vvềề câu trên b
câu trên bảảng ch
ng chữữ
c câu PhPhéép ghp ghéép tip tiếếp cp cáác câu
VVíí ddụụ
Cho hai câu u v
v trên (Concatenation) củủa u v
Cho hai câu u vàà v trên PhPhéép p ghghéép tip tiếếpp (Concatenation) c NghNghĩĩa la làà câu
{ 0, 1 } { 0, 1 }
u đgl l
....z } { { aa....z }
, zt, computer aa, , abab, zt, computer
{ 0, ..., 7, , , , , , , } } { 0, ..., 7,
443322, 1234,
, 1234,
rrồồi đi đếến v l
ASCII ASCII
TrưTrườờng hng hợợp câu w = xuy l (infix) củủa wa w
MMộột chương tr w|=n, ngưngườời ta c
t chương trìình C, Pascal, Java, VB... nh C, Pascal, Java, VB... ch ra từừ ww
Cho mCho mộột câu w c
t câu w cóó ccóó | |w|=n,
NgưNgườời ta còn g
mmộột ký t VVíí ddụụ câu w=aaabbaabbba c
BBảảng ch Câu Câu trên a u vàà v lv làà câu câu ww = uv= uv ng chữữ trên câu ww ggồồm hai ph m hai phầần :n : , 0, 1, 00, 01, 10, 11, 100... , 0, 1, 00, 01, 10, 11, 100... (prefix) u đgl làà titiềền tn tốố (prefix) n v làà hhậậu tu tốố (postfix) c (postfix) củủa wa w p câu w = xuy làà ghghéép tip tiếếp cp củủa ba câu x, a ba câu x, u u, y, y,, trung tốố (infix) c u đgl trung t u đgl i ta còn gọọi câu r câu đơn vđơn vịị i câu rỗỗng ng llàà câu
i ta cóó ththểể trtríích ra t t ký tựự nnàào đo đóó ccóó vvịị trtríí xxáác đc địịnh trong ph m vi 1..n nh trong phạạm vi 1..n câu w=aaabbaabbba cóó |w|=11, |w|=11, c ký tựự ::
ww(1) =
Returning Returning
vvìì ccóó w = ww = w = w= w i w làà mmộột câu b vvớới w l t câu bấất kt kỳỳ trên trên ccóó ththểể trtríích ra c ch ra cáác ký t (1) = aa, ..., , ..., ww(4) = (4) = bb, ..., , ..., ww(11) = (11) = aa
15/15/5656
16/16/5656
c trên xâu CCáác phc phéép top toáán khn kháác trên xâu
KhKháái ni
i niệệm ngôn ng
m ngôn ngữữ
MMộột ngôn ng
t ngôn ngữữ hhìình th
nh thứứcc (n(nóói gi gọọn ngôn ng
n ngôn ngữữ) :) :
Cho c
Cho cáác câu w trên
c câu w trên
o ngượợcc (Reversion) m
(Reversion) mộột câu
t câu ww, ký hi
, ký hiệệu wu wRR ::
c câu llàà ttậập hp hợợp cp cáác câu ng trên cùùng mng mộột bt bảảng ch
c xây dựựng trên c
đưđượợc xây d
ng chữữ đã cho
đã cho
VVíí ddụụ ::
c xâu trên bảảng ch
ng chữữ
PhPhéép p ĐĐảảo ngư LLàà câu Rõ rRõ rààng ng RR = = wwRR = = w đgl câu đ
câu ww đư đượợc vic viếết theo th t theo thứứ ttựự ngư ngượợc lc lạạii
c xâu trên bảảng ch
ng chữữ
xâu rỗỗngng
(power) xâu PhPhéép p LLũũy thy thừừaa (power) xâu
Chú ý {} Chú ý {}
ngôn ngữữ trtrốống (t
ng (tậập trp trốống)ng)
** llàà ngôn ng ngôn ngữữ ggồồm tm tậập tp tấất ct cảả ccáác xâu trên b xâu rỗỗngng kkểể ccảả xâu r ++ llàà ngôn ng ngôn ngữữ ggồồm tm tậập tp tấất ct cảả ccáác xâu trên b KHÔNG CÓÓ xâu r KHÔNG C ++ = = ** -- llàà ngôn ng
w đgl câu đốối xi xứứng : OMO, akitOM Otika... ng : OMO, akitOMOtika...
VVíí ddụụ
wwnn = ww= ww……w (n l ww00 = = vvớới mi mọọi wi w
Quy ước chỉ định một câu Quy ước chỉ định một câu (denotation) (denotation)
L1 = {a, ab, abb, bba, bbb} l
L1 = {a, ab, abb, bba, bbb} làà ngôn ng L2 = {(ab)nn | n > 0} l
ngôn ngữữ hhữữu hu hạạnn trên {a, b} trên {a, b} trên {a, b} ngôn ngữữ vô hvô hạạnn trên {a, b}
| n > 0} làà ngôn ng
L2 = {(ab)
nh thứứcc”” ( (Fomal)
ng phéép p ““hhìình th
i ta dùùng ph
w (n lầần)n)
ChChúú ý :ý : Chú ý : nhiên (Natural) Fomal) đ đểể đ đốối li lậập vp vớới i ““ttựự nhiên (Natural) NgưNgườời ta d Người ta dùng phép “hình thức” (Fomal) để đối lập với “tự nhiên (Natural)
17/17/5656
18/18/5656
3
ng (machine) MMááy try trừừu tưu tượợng (machine)
ChChứức năng
n câu c năng đođoáán nhn nhậận câu
MMááy đoy đoáán nhn nhậận câu
n câu ::
Dữ liệu vào
Dữ liệu ra
GiGiảả ssửử ddữữ liliệệu vu vàào o ww*,*,
Máy
TTậập hp hợợp câu v
nh IPO : Mô hMô hìình IPO :
CCóó ba kh
nhnhậận n ddữữ liliệệu vu vààoo (data) v
(data) vàà cho
(result) cho kkếết qut quảả rara (result)
1.1. True ho
c False True hoặặc False
2.2. MMộột kt kếết qut quảả khkháácc
Hai cHai cáách nh CCáách nh
ch nhììn :n : ch nhììn n chchứức năng
(functional look) c năng (functional look)
3.3. Không cho k
Không cho kếết qut quảả nnàào o
(structural look) ch nhììn n ccấấu tru trúúcc (structural look)
{0, 1}, hay {False, True } kkếết qut quảả ra ra rr{0, 1}, hay {False, True } p câu vàào o ww đgl đgl ngôn ng (language) ngôn ngữữ (language) ba khảả năng cho k năng cho kếết qut quảả ::
Hai tHai tậập hp hợợp câu v nnếếu mu mááy cho k
CCáách nh Phân biệệt ct cáác kic kiểểu mu mááy try trừừu tưu tượợng (machine type) ng (machine type) Phân bi theo bảản chn chấất ct củủa ka kếết qut quảả ttíính to theo b
nh toáánn
p câu vàào o ứứng vng vớới hai kh i hai khảả năng đ nhau năng đầầu lu làà bbùù nhau y cho kếết qut quảả cho mcho mọọi di dữữ liliệệu vu vààoo
19/19/5656
20/20/5656
ChChứức năng
c năng ttíính to
nh toáánn
CCáách nh
c (structural look) ch nhììn cn cấấu tru trúúc (structural look)
MMááy ty tíính to
(computation machine) nh toáánn (computation machine)
MMááyy đư đượợc xc xáác đc địịnh bnh bởởi mi mộột t ttậập hp hữữu hu hạạn cn cáác phc phéép top toáánn
MMỗỗi phi phéép top toáán mô t
n mô tảả mmộột pht phầần cn cấấu tru trúúc cc củủa ma mááyy
GiGiảả ssửử ddữữ liliệệu vu vàào o ww*,*, kkếết qut quảả ra ra llàà mmộột câu
PhPhéép top toáán sơ cn sơ cấấpp (elementary operation) l
(elementary operation) làà phphéép top toáán nhn nhỏỏ
Khi đKhi đóó, m, mááy thy thựực hi
nhnhấấtt (không chia c
(không chia cắắt nht nhỏỏ hơn
hơn) )
ff : : * * **
(execution) mỗỗi phi phéép top toáán trong m
n trong mộột kho
t khoảảng ng
NghNghĩĩa la làà ww *, *, ff((ww) ) **
MMááy y ththựực hic hiệệnn (execution) m i gian hữữu hu hạạn vn vàà xxáác đc địịnhnh
ththờời gian h
Chương tr
(program) làà ttậập hp hợợp cp cáác phc phéép top toáán sơ c
n sơ cấấp đp đểể
ng chữữ nnàào đo đóó t câu rr trên m trên mộột bt bảảng ch c hiệện tn tíính hnh hààm m ff ttừừ * v* vàào o * :* :
Chương trììnhnh (program) l gigiảải mi mộột bt bàài toi toáán nn nàào đo đóó
NgưNgườời ta c
MMộột t ttíính to
(computation) làà viviệệc thc thựực hic hiệện ln lầần lưn lượợt ct cáác c
nh toáánn (computation) l n sơ cấấp theo m
phphéép top toáán sơ c
p theo mộột tht thứứ ttựự xxáác đc địịnh trư
nh trướớcc
nnếếu vu vớới mi mọọi câu v (partial function) HHààmm ff đư đượợc gc gọọi li làà hhààm tom toààn phn phầầnn (partial function) u cho kếết qut quảả ff((ww))** i câu vàào o ww*, m*, mááy đy đềều cho k i ta cũũng nng nóói i kikiểểu mu mááy đoy đoáán nhn nhậậnn chchỉỉ llàà trư trườờng hng hợợp đp đặặc c bibiệệt ct củủa a kikiểểu mu mááy ty tíínhnh
21/21/5656
22/22/5656
Mô hMô hìình tnh tíính to
nh toáán n
MMộột st sốố thuthuậật ngt ngữữ
LLààm sao đ
t : m sao đểể ccóó ththểể bibiếết :
ĐĐịịnh ngh
ng nguyên lý hoạạt đt độộngng
LLớớp ngôn ng
(recognized), p ngôn ngữữ đođoáán nhn nhậận đưn đượợcc (recognized),
nh nghĩĩa ca cáác lc lớớp mp mááy cy cóó ccùùng nguyên lý ho i chương trìình đnh đểể gigiảải bi bàài toi toáán trên c
không n trên cùùng mng mộột mt mááy my màà không
hay hay TTnhnhậận bin biếết đưt đượợc c ??
Thay đổổi chương tr Thay đ thay đổổi mi mááy giy giảảii thay đ
(computable) LLớớp cp cáác hc hààm m ttíính đưnh đượợcc (computable)
Mô hMô hìình tnh tíính to
nh toáánn (computation model), ký hi
(computation model), ký hiệệu T l
u T làà ssựự mô tmô tảả ::
hay hay TTttíính đưnh đượợc c ??
ttấất ct cảả ccáác phc phéép top toáán sơ c
n sơ cấấp p
c ngôn ngữữ liliệệt kê đư
(enumerable) t kê đượợcc (enumerable)
nhnhữững đng đốối tưi tượợng nng nàào co cóó ththểể ttáác đc độộng ph
ng phéép top toáán n
t kê đượợcc ??
LLớớp cp cáác ngôn ng hay hay TTliliệệt kê đư
ccáách th
c hiệện chương tr
n chương trìình trên m
nh trên mááyy
So sSo sáánh hai mô h
nh : T1 mmạạnh hơn
ch thựực hi MMộột t trưtrườờng hng hợợp riêng
p riêng (instance) c
a mô hìình lnh làà mmááy cy cụụ ththểể
nh hai mô hìình : T1 NNếếu T2u T2 nhnhậận bin biếết đưt đượợc (tc (tíính đư ththìì T1T1 ccũũng ng nhnhậận bin biếết đưt đượợc (tc (tíính đư
T2 khi : nh hơn T2 khi : t kê đượợc)c) nh đượợc, lic, liệệt kê đư c, liệệt kê đư nh đượợc, li
t kê đượợc)c)
(instance) củủa mô h nh + Chương tr
Chương trìình = M
nh = Mááyy
Mô hMô hìình +
T1 vT1 vàà T2 T2 tương đương
tương đương (equivalent) n
(equivalent) nếếu T1
u T1 mmạạnh hơn
nh hơn T2 vT2 vàà ngư ngượợc lc lạạii
Mô hMô hìình tnh tíính to
nh toáán Tn T đưđượợc gc gọọi li làà mmộột Tt Tmmááy y
T1 vT1 vàà T2 lT2 làà không th
không thểể so s
so sáánh vnh vớới nhau đư
i mô u không tồồn tn tạại mô
hhìình nnh nàào o íít ra đ
t ra đủủ mmạạnh hơn mô h
i nhau đượợcc nnếếu không t nh kia nh hơn mô hìình kia
23/23/5656
24/24/5656
4
KhKháái ni
n (problem) i niệệm bm bàài toi toáán (problem)
n (1) MMộột st sốố vvíí ddụụ bbàài toi toáán (1)
n 1 : BBàài toi toáán 1 :
nguyên viếết trong h
t trong hệệ 1010
MMộột t bbàài toi toáánn llàà :: Mô tMô tảả ccáách bi
Câu hỏỏii :: SSốố nguyên đã cho c
nguyên đã cho cóó llàà ssốố nguyên t
hay không ? nguyên tốố hay không ?
ch biểểu diu diễễnn (h(hữữu hu hạạn) cn) cáác phc phầần tn tửử ccủủa ma mộột tt tậập hp hợợp hp hữữu hu hạạn hay vô h n hay vô hạạn đn đếếm đưm đượợcc
DDữữ liliệệuu:: MMộột st sốố nguyên vi Câu h n 2 : BBàài toi toáán 2 :
nguyên viếết trong h
t trong hệệ 1010
MMộột pht pháát bi
nguyên nàày đưy đượợc vic viếết dưt dướới di dạạng tng tổổng cng củủa 4 s
nh phương ?? a 4 sốố bbìình phương
KKếết qut quảả ccóó ththểể đđúúngng, ho, hoặặc c sai,sai, ttùùy viy việệc chc chọọn phn phầần tn tửử
t biểểuu liên quan đ liên quan đếến cn cáác phc phầần tn tửử ccủủa ta tậập hp hợợp np nààyy
DDữữ liliệệu :u : MMộột st sốố nguyên vi Câu hỏỏii :: SSốố nguyên n Câu h n 3 : BBàài toi toáán 3 :
trong Tin họọc lý thuy
ch củủa ca cáác sc sốố hhạạng trong h
ng trong hệệ 1010
Câu hỏỏii :: SSốố nguyên đã cho c
nguyên viếết dưt dướới di dạạng tng tíích c nguyên đã cho cóó llàà ssốố nguyên t
hay không ? nguyên tốố hay không ?
BBàài toi toáánn trong Tin h KhKháác vc vớới khi kháái ni
c lý thuyếết :t : i niệệm bm bàài toi toáán thông thư
n thông thườờng trong To ng trong Toáán hn họọcc
DDữữ liliệệu :u : MMộột st sốố nguyên vi Câu h n 4 : BBàài toi toáán 4 :
KhKháác vc vớới bi bàài toi toáán hin hiểểu theo ngh
DDữữ liliệệu :u : MMộột đt đồồ ththịị hhữữu hu hạạn G đư
n G đượợc bi
c biểểu diu diễễn bn bởởi mi mộột danh s
ch cáác đc đỉỉnh nh
c biểểu diu diễễn bn bởởi mi mộột st sốố nguyên trong h
t danh sáách c nguyên trong hệệ 1010
c cung, mỗỗi đi đỉỉnh đư
nh đượợc bi
ng đi Hamilton ((đi qua h
Câu h
đi qua hếết tt tấất ct cảả ccáác đc đỉỉnh cnh củủaa
vvàà ccáác cung, m Câu hỏỏii :: CCóó ttồồn tn tạại đưi đườờng đi Hamilton đđồồ ththịị, m, mỗỗi đi đỉỉnh đi qua đ
nh đi qua đúúng mng mộột lt lầần) n) trong đ
đã cho không ?? trong đồồ ththịị đã cho không
u theo nghĩĩa thông d a thông dụụng ng
25/25/5656
26/26/5656
BBàài toi toáán tương
ng Post n tương ứứng Post
n (2) MMộột st sốố vvíí ddụụ bbàài toi toáán (2)
BBàài toi toáán 5 :n 5 :
DDữữ liliệệu :u : MMộột bi
nh quy (regular expression)
s correspondence problem) (Post’’s correspondence problem) (Post DDữữ liliệệu :u : MMộột dãy h
t dãy hữữu hu hạạn cn cáác cc cặặp câu
p câu (u(u11, v, v11), (u), (u22, v, v22)..., (u
egular expression) đư đượợc xây c xây c câu t biểểu thu thứức nhc nhậận đưn đượợc tc từừ ccáác câu
ng trên mộột bt bảảng ch
t biểểu thu thứức chc chíính quy (r ng chữữ (l(làà mmộột bi
Câu h
Câu hỏỏi :i : TTồồn tn tạại hay không m
c, phéép ghp ghéép tip tiếếp, ph
p, phéép * v
p * vàà llấấy by bùù))
)..., (ukk, v, vkk)) sao cho ,...inn sao cho
t dãy chỉỉ ssốố ii11 , i, i22 ,...i
i biểểu thu thứức đã cho ch
c đã cho chỉỉ đ địịnh ngôn ng
ng (empty nh ngôn ngữữ trtrốống (empty
Câu h
i hay không mộột dãy ch thothoảả mãnmãn uuii11 uuii22... u... uiinn = v= vii11 vvii22... v... viinn ?? * = {a, b, c
a, b, c }}
VVíí ddụụ : : chocho * = {
ng) : chưa c
câu trảả llờời vi vềề ttíính dnh dừừng ng
n 3n+1 (b(bàài toi toáán dn dừừng) :
VVàà dãy c
p câu ::
chưa cóó câu tr { recursive } integer): integer;{ recursive }
threen(n: integer): integer;
dãy cáác cc cặặp câu ab, aba), (), (abab, ba), (
{({(ab, aba
, ba), (babbab, , baba), (), (abab, , babbab) }) }
ddựựng trên m ww* b* bởởi ci cáác phc phéép hop hoặặc, ph Câu hỏỏi :i : CCóó phphảải bi language) ? language) ? BBàài toi toáán 3n+1 function threen(n: function begin begin
babababab Cho câu : babababab Cho câu :
then 11
(n = 1) then
threen(3*n+1) then threen(3*n+1)
TTồồn tn tạại dãy ch
i dãy chỉỉ ssốố {3 , 2, 2, 4}
{3 , 2, 2, 4} sao cho tho
sao cho thoảả mãnmãn ::
if if (n = 1) odd(n then if if odd(n else else threen(n div 2); else threen(n div 2); else
end; end;
bab.ab.ab.ab = ba.ba.ba.bab bab.ab.ab.ab = ba.ba.ba.bab
27/27/5656
28/28/5656
MMộột st sốố khkháái ni
i niệệm khm kháácc
CCáác phc phéép top toáán trên ngôn ng
n trên ngôn ngữữ
KKếết ht hợợp bp bàài toi toáán n PP vvớới i ngôn ng
c trưng (characteristic language)
p do đóó ccóó ththểể ááp dp dụụng cng cáác phc phéép top toáán n
ngôn ngữữ đ đặặc trưng i giảải i f(w)
(characteristic language) LLPP* * = true } f(w) = true }
Ngôn ngữữ LLPP = { = { ww D D * | * | llờời gi Ngôn ng BBàài toi toáán ngư
LLPP
**
ch : n ngượợc Cc CPP nhnhậận đưn đượợc tc từừ PP bbằằng cng cáách : ch biểểu diu diễễn cn cáác dc dữữ liliệệuu nguyên cáách bi t ngượợc lc lạại câu h
i giảải, hay
i, hay f(w)
= false } f(w) = false }
* | Không llờời gi
c ngôn ngữữ, c, cáác phc phéép top toáán:n:
Ngôn ngữữ llàà mmộột tt tậập hp hợợp do đ Ngôn ng trên tậập hp hợợp :p : trên t ĐĐốối vi vớới ci cáác phc phầần tn tửử : : ĐĐốối vi vớới i ngôn ng ngôn ngữữ :: Cho L1, L2 vàà L lL làà ccáác ngôn ng Cho L1, L2 v PhPhéép hp hợợpp
nguyên viếết trong h
L1 L1 L2 = {w | w
L1 hoặặc w L2 = {w | w L1 ho c w L2}L2}
gigiữữ nguyên c đđặặt ngư i câu hỏỏii Ngôn ngữữ LLCCPP = { = { ww D D * | Không Ngôn ng VVíí ddụụ : B: Bàài toi toáán 1n 1’’ :: DDữữliliệệu :u : Cho mCho mộột st sốố nguyên vi Câu h
Câu hỏỏii :: SSốố nguyên n
t trong hệệ 1010 y không phảải li làà mmộột st sốố nguyên t
nguyên tốố ??
nguyên nàày không ph (solve) bàài toi toáán n PP nnếếu vu vàà chchỉỉ nnếếu :u :
MMááyy gigiảải i (solve) b
y cho phéép xp xáác đc địịnh, trong m
nh, trong mộột kho
t khoảảng th
ng thờời gian h
i gian hữữu hu hạạn,n,
L1L1
L2L2
L1 L1 L2 = {w | w
PhPhéép hip hiệệuu
ww *, m*, mááy cho ph nnếếu u ww LLPP hay hay ww LLCCPP Phân lớớp cp cáác bc bàài toi toáán tn tùùy theo
(complexity) y theo đđộộ phphứức tc tạạpp (complexity)
Phân l MMộột bt bàài toi toáán ln làà ttầầm thưm thườờngng (trivial) n
L1 L1 –– L2 = {w | w
p giao PhPhéép giao L2} L2 = {w | w L1 vL1 vàà w w L2}
(trivial) nếếu u LLPP = = hohoặặc nc nếếu u LLCCPP = =
LL
PhPhéép bp bùù
LL’’ = {w | w
L2 = {w | w L1 vL1 vàà w w L2}L2}
= {w | w L} ho L} hoặặc Lc L’’ = = * * -- L L
30/30/5656
29/29/5656
5
CCáác phc phéép top toáán trên ngôn ng
n trên ngôn ngữữ
CCáác phc phéép top toáán trên ngôn ng
n trên ngôn ngữữ
PhPhéép ghp ghéép np nốối :i :
PhPhéép bao đ
iL
L1L2 = = {w | w = uv, u
p bao đóóng (closure) : ng (closure) : LL** = L= L00 LL11 …… LLn n …… ==
0i
PhPhéép ngh
PhPhéép bao đ
ng dương :: p bao đóóng dương
iL
LL++ = L= L11 LL22 …… LLn n …… ==
L1L2 = = {w | w = uv, u L1 vL1 vàà v v L2}L2} p nghịịch đch đảảo :o : = {w | wRR L}L}
1i
NhNhậận xn xéét :t :
LL++ = LL= LL** = L= L**LL LL** = L= L++ { { }}
m.nm.n
Ghép nối L1 có m Ghép nối L1 có m câu, và L2 có n câu, câu, và L2 có n câu, được ngng có ??? câu được ngng có ??? câu
LLRR = {w | w PhPhéép lp lũũy thy thừừa :a : LLnn = LL= LL……L (n l LLii = LL= LLii--1 1 = L= Lii--11L vL vớới i>0 i i>0 LL00 = {= {}}
VVíí ddụụ ::
Khái niệm hữu hạn, vô hạn Khái niệm hữu hạn, vô hạn được hiểu như thế nào ? được hiểu như thế nào ? •Liên quan đến các phần tử •Liên quan đến các phần tử của một tập hợp : khái niệm của một tập hợp : khái niệm đếm (liệt kê) được đếm (liệt kê) được •Người ta đặt song ánh các •Người ta đặt song ánh các phần tử với số tự nhiên phần tử với số tự nhiên •hữu hạn ? tập hợp có n phần •hữu hạn ? tập hợp có n phần tử, nK<, bị chặn trên tử, nK<, bị chặn trên •vô hạn ? tập hợp có n phần tử •vô hạn ? tập hợp có n phần tử tuỳ ý, không bị chặn trên tuỳ ý, không bị chặn trên
ac, toe }
Cho L = { tic tic, t, tac, t
oe } khi đkhi đóó ::
VVíí ddụụ ::
Là bản số của tích ĐêCac Là bản số của tích ĐêCac (Cartesian Product) (Cartesian Product)
Cho L = { tic tic, t, tac, t
ac, toe }
oe } khi đkhi đóó ::
Cho L = { LL** = {= { ,, tic, tac, toe, tictic, tictac, tictoe, tactic, tactac, tactoe, tic, tac, toe, tictic, tictac, tictoe, tactic, tactac, tactoe, toetic, toetac, toetoe, tictictic, tictictac, ... } toetic, toetac, toetoe, tictictic, tictictac, ... }
Cho L = { LL22 = LL= LL
ac, toetoe } = { tictic, tictac, tictoe, tactic, tactac, tactoe, toetic, toetac, toetoe } = { tictic, tictac, tictoe, tactic, tactac, tactoe, toetic, toet
L (n lầần)n)
31/31/5656
32/32/5656
VVíí ddụụ khkháác vc vềề ngôn ng
ngôn ngữữ
CCáác ngôn ng
nh quy (NNCQ) c ngôn ngữữ chchíính quy (NNCQ)
{ ., +, -- }, xay d
ngôn ngữữ chchíính quy
(Regular Languages) nh quy (Regular Languages)
ttậập hp hợợp cp cáác c ngôn ng
= {0..9} { ., +, }, xay dựựng cng cáác lc lớớp sp sốố :: 0..9, ., +, -- i câu trên llàà ghghéép tup tuỳỳ ý cý cáác chc chữữ ssốố 0..9, ., +,
Cho Cho = {0..9} MMọọi câu trên tuy nhiên chỉỉ ghi nh tuy nhiên ch
trên :: trên ĐưĐượợc đc địịnh ngh
SSốố ttựự nhiên
LLàà ttậập hp hợợp nhp nhỏỏ nhnhấất (ch
SSốố nguyên
SSốố hhữữu tu tỷỷ = { ...,
SSốố vô tvô tỷỷ
Rõ rRõ rààng ng llàà ttậập hp hợợp bp béé nhnhấất do đư
c xây dựựng tng từừ ccáác tc tậập p bao đóóngng i, ghéép vp vàà bao đ
t do đượợc xây d , { } v} vàà { { aa } b} bởởi ci cáác phc phéép hp hộội, gh
sơ csơ cấấp p , {
ng câu làà ssốố ccóó nghnghĩĩaa nh nghĩĩa da dựựa trên c a trên cáác ngôn ng c ngôn ngữữ sơ c sơ cấấpp ), ghéép vp vàà đ đóóng lng lặặp *p * vvàà ccáác phc phéép top toáán hn hộội (i ( :: ““nhnhặặt rat ra””), gh t (chứứa a íít pht phầần tn tửử nhnhấất) ct) cáác ngôn ng c ngôn ngữữ t) nhữững câu l ghi nhậận (xn (xéét) nh = {0, 1, 2, ..., i, i+1, ... } ii0, 0, nhiên = {0, 1, 2, ..., i, i+1, ... } = { ..., --3, 3, --2, 2, --1, 0, 1, 2, ... } nguyên = { ..., 1, 0, 1, 2, ... } |i||i|0, 0, thõa mãn cáác đi thõa mãn c c điềều kiu kiệện sau n sau :: = { ..., --2/2, 2/2, --2/3, 2/3, --1/2, 0, 1/2, 2/2, ... } 1/2, 0, 1/2, 2/2, ... } |m/n| |m/n|0, 0, 1. 1. , {, {}} 2. { aa } } vvớới i aa 2. { 3. N3. Nếếu A, B u A, B , th, thìì AAB, A.B v B, A.B vàà A* A* = { ..., ..., ... } = = { ..., ..., ... } = { ..., ..., ... } { ..., ..., ... }
33/33/5656
34/34/5656
VVíí ddụụ xây d
xây dựựng tng tậập NNCQ
p NNCQ
nh quy (BTCQ) BiBiểểu thu thứức chc chíính quy (BTCQ)
}, nhữững ph
ng phầần tn tửử--ngôn ng
ngôn ngữữ ccóó ngay (t
ngay (tựự ccóó) :) :
NgưNgườời ta s
i ta sửử ddụụng cng cáác c bibiểểu thu thứức chc chíính quy
ChoCho ={={}, nh
Expressions) đ đểể bibiểểu diu diễễn cn cáác ngôn ng Expressions)
c ngôn ngữữ chchíính qui trên
Regular nh quy ( (Regular nh qui trên
c xây dựựng BTCQ trên
ng BTCQ trên llàà ccáác bic biểểu thu thứức đưc đượợc tc tạạo o
NhNhữững ngôn ng
L đượợc xây d
c xây dựựng ki
quy) : u quy nạạp p ((đđệệ quy) :
Qui tQui tắắc xây d ththàành theo c
nh theo cáác bưc bướớc quy n
c quy nạạp như sau
p như sau ::
, , {{}}, {, {} } ng ngôn ngữữ L đư t : NNếếu A, B
ng kiểểu quy n B, A.B vàà A* A*
LuLuậật : A=A={{},},
u A, B , th, thìì AAB, A.B v
(1)(1)
1.1. , , vvàà aa, v, vớới mi mọọi phi phầần tn tửử aa ccủủa a ng BTCQ đđềều lu làà nhnhữững BTCQ hai BTCQ , 2.2. NNếếu u vvàà llàà hai BTCQ , ng BTCQ ththìì ((), (), (), (), ()*)* ccũũng lng làà nhnhữững BTCQ , ... nn, ... }, n b , ... }, n bấất kt kỳỳ n>0n>0 B= B= {{},}, AAB={B={, , },}, A.B={}={}={}, }, A.B={ B* = {, , , , , , , ... B* = {
ý 1 : Khi vi
VVậậy sau bư
Chú ý 1 : Khi viết một BTCQ, có thể bỏ các dấu ngoặc đơn c đơn u ngoặặc đơn ChChúú ý 1 : c ưu tiên giảảm dm dầần : ch
n : chẳẳng hng hạạn vin viếết t aa* thay v
Khi viếết mt mộột t BTCQBTCQ, c, cóó ththểể bbỏỏ ccáác dc dấấu ngo * thay vìì ((aa)*)* theo mứức ưu tiên gi theo m theo mức ưu tiên giảm dần : chẳng hạn viết a* thay vì (a)*
, ... nn, ... } , ... } y sau bướớc nc nàày ta c y ta cóó :: , , {{}, }, {{}, {}, {}, ..., { }, ..., {, , , , , , , ...
ý 2 : CCóó ththểể viviếết t aa++bb thay v
VVàà ccứứ ththếế titiếếp tp tụục xây d
c xây dựựng ng
thay vìì viviếết t aabb ChChúú ý 2 : Chú ý 2 : Có thể viết a+b thay vì viết ab t 01*+ 0 c ((0 (1*)) + 0) cóó ththểể viviếết 01*+ 0 , biểểu thu thứức ((0 (1*)) + 0) c VVíí ddụụ, bi Ví dụ, biểu thức ((0 (1*)) + 0) có thể viết 01*+ 0
35/35/5656
36/36/5656
6
BiBiểểu diu diễễn ngôn ng
n ngôn ngữữ bbởởi bi
nh qui i biểểu thu thứức chc chíính qui
Bao đóóng cng củủa ba bảảng ch Bao đ
ng chữữ
Đọc pxi
Cho b
Cho bảảng ch
ng chữữ , k, khi đhi đóó, L = { a |
t NNCQ , L = { a | a a } l} làà mmộột NNCQ
hay đượợc chc chỉỉ đ địịnh)nh)
Ngôn ngữữ LL(() ) đưđượợc bic biểểu diu diễễn (n (hay đư Ngôn ng bbởởi BTCQ
theo cáác bưc bướớc quy n
c quy nạạp như sau
p như sau ::
i BTCQ theo c
Bao đ
Bao đóóng cng củủa L l
a L làà L* =
n câu t NNCQ cóó vô hvô hạạn câu
L* = * l* làà mmộột NNCQ c
1.1. L(L() =
) = , L(
, L() = {
) = { }, L(a) = { a } cho
}, L(a) = { a } cho a a
CCóó ththểể liliệệt kê h
t kê hếết t ((đđếếm đưm đượợc) tc) tấất ct cảả ccáác câu c
c câu củủa a **
2.2. L((L(( )) = L(
)) = L() ) L(L())
* = (a + b)* VVíí ddụụ * = (a + b)*
(2)(2)
3.3. L((L(()) = L(
)) = L()L()L())
111
4.4. L((L(()*) = L(
)*) = L()*)*
222
333
bbb
aaa
TTừừ (1) v
(1) vàà (2) ta c
(2) ta cóó ttíính ch
t sau : nh chấất sau :
t ngôn ngữữ llàà chchíính qui
777
666
555
444
MMộột ngôn ng ngôn ngữữ đ đóó đư đượợc chc chỉỉ đ địịnh bnh bởởi mi mộột bi ngôn ng
nh qui nnếếu vu vàà chchỉỉ nnếếu (nu (nễễu, khu, khĩĩ )) nh qui t biểểu thu thứức chc chíính qui
bbbbbb
ababab
bababa
aaaaaa
ta = {a, b} thìì ta Cho Cho = {a, b} th Cho = {a, b} thì ta đã cđã cóó mmộột tht thứứ ttựự titiềền n đã có một thứ tự tiền ng trướớc bc b đđịịnh a đ nh a đứứng trư định a đứng trước b Cho hai câu w11, w, w22 Cho hai câu w Cho hai câu w1, w2 ng trướớc c khi đkhi đóó ww11 đ đứứng trư khi đó w1 đứng trước ww2 2 khkhĩĩ |w|w11||| w| w22|| w2 khĩ |w1|| w2|
NhNhậận xn xéét :t :
.........
888
CCáác BTCQ c
c BTCQ cũũng tng tạạo tho thàành mnh mộột ngôn ng
aaaaaaaaa aabaabaab abaabaaba abbabbabb baabaabaa babbabbab bbabbabba bbbbbbbbb
vvìì chchúúng lng làà nhnhữững xâu ký t
ng xâu ký tựự trên b
t ngôn ngữữ trên bảảng ch
ng chữữ
37/37/5656
38/38/5656
.........
.........
VVíí ddụụ vvềề mmộột thu
t thuậật tot toáán kin kiểểm tra m tra câu đ
câu đốối xi xứứngng
MMộột st sốố vvíí ddụụ _ 1_ 1
Cho b
Func PalinCheck(w: Func
PalinCheck(w: string
string): ): boolbool
ng đượợc mc mộột st sốố NNCQ trên
; i=1, l=len(w) OK = truetrue; i=1, l=len(w) OK =
ifif l>0
l>0 thenthen
whilewhile OK OK andand i<=l
i<=l andand w(i)=w(l)
w(i)=w(l) dodo i++; l
i++; l----
như sau :: NNCQ trên như sau 4 câu LL11 ccóó 4 câu | |w| 8 8 }} LL22 ggồồm cm cáác câu c | |w| làà mmộột st sốố llẻẻ }} LL33 ggồồm cm cáác câu c
Return OKOK Return
Cho bảảng ch ng chữữ = { a, b }, = { a, b }, ccóó ththểể xây d xây dựựng đư , a, aa, aab }} LL11 = {= {, a, aa, aab LL22 = {= { w w ** | |w| LL33 = {= { w w ** | |w| l LL44 = {= { w w ** | n| naa(w) = n
...
w1 w2
wl-1 wl
i++
l--
| w = wRR }} (w) }} (w) = nbb(w) = {= {, a, ab, ba, aabb, abab, baab, ... } b, ba, aabb, abab, baab, ... } LL44 ggồồm cm cáác câu c c câu cóó ssốố chchữữ a a đđúúng bng bằằng sng sốố chchữữ bb LL55 = {= { w w ** | w = w
, bb, aba, bab, abba, bbaaaabb, ... } , ... } ng (palindrome) c câu đốối xi xứứng (palindrome) = {= {, aa, aa, bb, aba, bab, abba, LL55 ggồồm cm cáác câu đ
Có thể có thêm các nhận xét gì về Có thể có thêm các nhận xét gì về các câu đối xúng ? các câu đối xúng ?
c câu cóó đ độộ ddàài i 88 c câu cóó đ độộ ddàài i llẻẻ Nghịch đảo câu xong thì Nghịch đảo câu xong thì cũng chính nó ! cũng chính nó ! Đọc xuôi, đọc ngược như Đọc xuôi, đọc ngược như nhau nhau Đứng bên tê, ngó bên ni, Đứng bên tê, ngó bên ni, cũng rứa cũng rứa Đứng bên ni, ngó bên tê, Đứng bên ni, ngó bên tê, cũng rứa cũng rứa Đi qua, đi lai, y chang ! Đi qua, đi lai, y chang ! Hai ký tự cách đều đầu và Hai ký tự cách đều đầu và cuối câu y chang ! cuối câu y chang !
39/39/5656
40/40/5656
MMộột st sốố vvíí ddụụ _ 2_ 2
MMộột st sốố ttíính ch
nh chấấtt
Cho b
Cho bảảng ch
ng chữữ , , a a , w
, w * v* vàà L L * *
VVớới quy ư
i quy ướớc L(c L() l) làà NNCQ đbdb BTCQ
NNCQ đbdb BTCQ
Khi đKhi đóó ::
Khi đKhi đóó ::
L(L() = L(
aakk = aa ... a = aa ... a wwkk = ww ... w k k = = ... LLkk = LL ... L = LL ... L
ngôn ngữữ ggồồm cm cáác câu l ngôn ng
c câu làà ghghéép k câu tu
p k câu tuỳỳ ý cý củủa La L
k chk chữữ a liên ti a liên tiếếpp ) = L() khi v ) khi vàà chchỉỉ khi khi = = = ww ... w ghghéép liên ti p k câu w p liên tiếếp k câu w NghNghĩĩa la làà :: ... = = {{ w w ** | |w| = k | |w| = k }} Hai BTCQ bằằng nhau c Hai BTCQ b ng nhau cùùng bi t NNCQ ng biểểu diu diễễn mn mộột NNCQ
ĐĐểể chchứứng minh r
t k = 0 : TrưTrườờng hng hợợp đp đặặc bic biệệt k = 0 : ng minh rằằng hai t ng hai tậập hp hợợp A v p A vàà B đã cho l ng nhau B đã cho làà bbằằng nhau
aa00 = w= w00 = = 0 0 = L= L0 0 = { = { }} ChChúú ý ý { { } } ::
A = B A = B ccầần chn chỉỉ ra Ara AB vB vàà BBAA
t câu làà
còn
không cóó câu n
câu nàào !o !
{ { } c} cóó mmộột câu l còn không c
NghNghĩĩa a llàà ccầần CM hai chi n CM hai chiềều u ““”” vvàà ““””
41/41/5656
42/42/5656
7
ChChứứng minh w
ng minh w (a(a**b)b)**(b(b**a)a)**
MMộột st sốố vvíí ddụụ _ 3_ 3
ChChứứng minh r
ng minh rằằng :ng :
GiGiảả ssửử w = ww = w11ww22...w...wnn **
c BTCQ :: CCáác BTCQ
(a*b)* (b*a)* v (a*b)*
(b*a)* vàà **
y ra bốốn trưn trườờng hng hợợp như sau
p như sau ::
ccùùng ch
ng chỉỉ đ địịnh mnh mộột ngôn ng
nh qui ? t ngôn ngữữ chchíính qui ?
BBằằng cng cáách ch ““ccùùng L hai BTCQ
ng L hai BTCQ”” ::
XXảảy ra b 1.1. w = aw = ann, d, do đo đóó w w ( ( a )a )** ( b( b**a )a )* * (a(a**b)b)**(b(b**a)a)** 2.2. w = bw = bnn, d, do đo đóó w w ( ( b )b )** ( a( a**b )b )* * (a(a**b)b)**(b(b**a)a)**
= L((a b)*) = L(
= { a, b } b)*) = L(*) v*) vớới i = { a, b }
(b*a)*) vàà LL22 = L((a
LL11 = L((a*b)* CCầần CM r
= L((a*b)* (b*a)*) v n CM rằằng Lng L11 = L= L22??
TTừừ nay v
nay vềề sau đ
sau đểể đơn gi
đơn giảản, ta vi
n, ta viếết wt w thay v
thay vìì wwL(L())
LLờời gi
i giảải li làà CM hai chi
CM hai chiềều u ““”” vvàà ““”” ::
bao đóóngng
= (a*b)*(b*a)*
ng minh điềều ngư
(b*a)* LL22 = = *, v*, vìì * l* làà bao đ t câu : i, ta xéét mt mộột câu :
u ngượợc lc lạại, ta x
““”” :: Rõ rRõ rààng Lng L11 = (a*b)* ““”” : : ĐĐểể chchứứng minh đi
w = ww = w11ww22...w...wnn **
CCầần chn chứứng minh w
ng minh w (a*b)*
(b*a)* (a*b)*(b*a)*
3.3. w chw chứứa a v w = a= a . . . w a a vàà b, kb, kếết tht thúúc bc bởởi b. Ta c . . . ab b . ab b . . . b. . b a a . . . a . . . ab b . i b. Ta cóó : : b b . . . . . bb a*ba*b (a*b)* (a*b)* a*ba*b (a*b)* (a*b)* Do đDo đóó, w , w (a(a**b)b)**(b(b**a)a)** i a. a a vàà b vb vàà kkếết tht thúúc bc bởởi a. p 3, ta cũũng cng cóó :: 4.4. w chw chứứa a v Tương tựự trư trườờng hng hợợp 3, ta c Tương t w w L((aL((a**b)b)**(b(b**a)a)**))
43/43/5656
44/44/5656
CCáác ngôn ng
c ngôn ngữữ phi ch
nh qui phi chíính qui
CCóó vô hvô hạạn không đ
n không đếếm đưm đượợc ngôn ng
c ngôn ngữữ
NhNhậận xn xéét :t :
= { a, b } = { a, b } = { a, b }
CCáác BTCQ l CCáác BTCQ ch
TTồồn tn tạại nhi nhữững ngôn ng
TTậập cp cáác NNCQ
c NNCQ
MMọọi ngôn ng
không thểể llàà chinh qui
i ngôn ngữữ không th TTậập hp hợợp cp cáác ngôn ng
chinh qui :: c ngôn ngữữ vvàà ttậập hp hợợp cp cáác tc tậập hp hợợp con c
CCáác ngôn ng phi CQ c ngôn ngữữ phi CQ c BTCQ làà vô hvô hạạn đn đếếm đưm đượợcc c BTCQ chỉỉ bibiểểu diu diễễn tn tậập vô h c NNCQ, p vô hạạn đn đếếm đưm đượợc NNCQ, nhưng không biểểu diu diễễn hn hếết mt mọọi ngôn ng nhưng không bi i ngôn ngữữ ng ngôn ngữữ phi ch vvàà không c không cóó đ đủủ ccáác BTCQ đ nh qui phi chíính qui c BTCQ đểể bibiểểu diu diểển mn mọọi ngôn ng i ngôn ngữữ
* = { a, b }* * = { a, b }*
p con củủa ma mộột tt tậập hp hợợp A c
TTậập hp hợợp cp cáác NNCQ l bbởởi mi mộột BTCQ v SSẽẽ ccóó nhinhiềều ngôn ng
u A cóó vô hvô hạạn đn đếếm đưm đượợc c phphầần tn tửử ththìì 22AA ccóó vô hvô hạạn không đ
CCóó 22nn ttậập hp hợợp con c p A cóó n phn phầần tn tửử Có 2n tập hợp con của một tập hợp A có n phần tử n không đếếm đưm đượợc c phphầần tn tửử NNếếu A c Nếu A có vô hạn đếm được phần tử thì 2A có vô hạn không đếm được phần tử
p con củủa ma mộột t ttậập hp hợợp đp đếếm đưm đượợc (tc (tậập hp hợợp cp cáác câu) l c câu) làà không đ không đếếm đưm đượợcc i NNCQ đượợc bic biểểu diu diểển n c NNCQ làà đ đếếm đưm đượợc vc vìì mmỗỗi NNCQ đư c BTCQ làà đ đếếm đưm đượợcc t BTCQ vàà ttậập hp hợợp cp cáác BTCQ l i NNCQ u ngôn ngữữ khkháác vc vớới NNCQ
45/45/5656
46/46/5656
p con VVíí ddụụ ttậập con
VVấấn đn đềề bibiểểu diu diễễn ngôn ng
n ngôn ngữữ
Cho A = { c
MMộột ngôn ng
trên bảảng ch
ng chữữ llàà ttậập hp hợợp con c
Cho A = { cụục, cc, cọọ, c, cẫẫng)ng) HHỏỏi ci cóó bao nhiêu
bao nhiêu ttậập hp hợợp con c
a A ? p con củủa A ?
Cho L
m sao đểể bibiểểu diu diễễn hn hếết mt mọọi câu w
TrTrảả llờời : c
i : cóó 22|A||A|=2=233 = 8 t= 8 tậập hp hợợp con c
p con củủa Aa A
Chi rứa ?
t ngôn ngữữ trên b Cho L++, l, lààm sao đ Khi L c
p con củủa a ++ i câu wL ?L ? c câu t kê cáác câu
p con : ĐĐóó llàà ccáác tc tậập hp hợợp con :
Khi L c
ng}, ng, {ccụụcc} } , {c, {cọọ} } , {c, {cẫẫng},
{ r{ rỗỗng, { {{ccụụcc , c, cọọ}, {}, {ccụụcc , c, cẫẫng ng } , } , {c{cọọ,c,cẫẫng},
ng}, {{ccụục, cc, cọọ, c, cẫẫng} ng} }}
NNếếu L g
nh chấất nht nhấất qut quáán P n
n P nàào đo đóó,,
Lý thuy
Lý thuyếết st sốố
u L gồồm cm cáác câu c ng tân từừ đ đểể bibiểểu diu diễễnn ttíính ch
c câu cóó mmộột st sốố ttíính ch nh chấất P đ
ddùùng tân t
t P đóó
, , , , vô hvô hạạn đn đếếm đưm đượợcc
* | P(w) } L = { w* | P(w) } L = { w
NNếếu L l
u L làà NNCQ, s
NNCQ, sửử ddụụng BTCQ
nh L : ng BTCQ chchỉỉ đ địịnh L :
vô hvô hạạn không đ DDựựng bng bằằng compa
n không đếếm đưm đượợc (lc (lấấp đp đầầy try trụục sc sốố)) ng compa--êke s
êke sốố
2
L = L()) L = L(
L tuL tuỳỳ ý, ý, không ph
không phảải li làà NNCQ : s
NNCQ : sửử ddụụng ôtômat v
ng ôtômat vàà văn ph
văn phạạmm
0
1
2
-
... +
-- ÔÔtômat đo
tômat đoáán nhn nhậận câu c
n câu củủa ma mộột ngôn ng
t ngôn ngữữ
2
Văn phạạm sm sảản sinh ra câu cho m -- Văn ph
n sinh ra câu cho mộột ngôn ng
t ngôn ngữữ
Khi L cóó hhữữu hu hạạn câu, ch n câu, chỉỉ viviệệc lic liệệt kê c n câu, không thểể liliệệt kê h t kê hếết ct cáác câu c c câu củủa L,a L, Khi L cóó vô hvô hạạn câu, không th mmàà phphảải ti tììm cm cáách ch bibiểểu diu diễễn hn hữữu hu hạạnn ::
47/47/5656
48/48/5656
8
VVíí ddụụ bibiểểu diu diễễn ngôn ng
n ngôn ngữữ
VVíí ddụụ ssảản sinh ra câu c
n sinh ra câu củủa a ngôn ng
ngôn ngữữ
ngôn ngữữ trên
trên { a{ a, b, b } } đưđượợc đc địịnh ngh
nh nghĩĩa như sau
a như sau ::
Cho L l
Ngôn ng
n câu : Ngôn ngữữ ccóó vô hvô hạạn câu :
LL11 = { a= { aii i li làà mmộột st sốố nguyên t
Cho L làà ngôn ng 1. 1. LL 2. N2. Nếếu w u w L thL thìì awb
n sinh cáác câu c
a L như sau :: c câu củủa L như sau
}, hay nguyên tốố }, hay awb LL = { a= { a22, a, a33, a, a55, a, a77, , ……, a, a1111, a, a1313, , …… }} 3. L không còn câu nàào kho kháác nc nữữa (ngo 3. L không còn câu n a (ngoàài 1 v i 1 vàà 2)2)
LL22 = { a= { aiibbjj i i j j 0 }, hay 0 }, hay = { = { , a, ab, aab, aabb, ngôn ngữữ ggồồm cm cáác câu c
, a, ab, aab, aabb, …… }}
Qui luQui luậật st sảản sinh c (1), L = { }} TTừừ (1), L = { CCoi oi llàà w, tw, từừ (2), ta c
con a bên tráái nhi
c câu cóó mmộột dãy con a r i nhiềều hơn ho
t dãy con b, t dãy con a rồồi đi đếến mn mộột dãy con b, con b bên phảải i
u hơn hoặặc bc bằằng sng sốố con b bên ph
LLạại do (2), ta c
CCứứ ththếế, ta c
n L dướới di dạạng :ng :
c câu cóó ccáác cc cặặp ab tu
p ab tuỳỳ ý (0..n c
ý (0..n cặặp)p)
L = { a
CCóó ththểể bibiểểu diu diễễn L dư L = { aiibbii i i 0 }0 }
(2), ta cóó câu awb = a câu awb = ab = ab, L = { , ab } b = ab, L = { , ab } llàà ngôn ng trong đóó ssốố con a bên tr trong đ i do (2), ta cóó L = { , ta cóó mmọọi câu c L = { , ab, i câu củủa L c , ab, aabb, aaabbb, ... aabb, aaabbb, ... }} a L cóó ddạạng ang aiibbii i i 00 , ab, abab, ababab, …… }} = (ab)** LL33 = (ab) = { = { , ab, abab, ababab, ngôn ngữữ ggồồm cm cáác câu c llàà ngôn ng
49/49/5656
50/50/5656
VVíí ddụụ đođoáán nhn nhậận mn mộột câu c
t câu củủa a ngôn ng
ngôn ngữữ
BBàài ti tậập 1p 1
c câu w ::
GiGiảả ssửử đ địịnh ngh CCóó ththểể thu g
ChoCho ccáác bic biểểu thu thứức chc chíính qui r, trong đóó nnếếu r = s th trong đ ChChứứng minh c
nh qui r, s, s, t,t, u r = s thìì ccóó nghnghĩĩa L(r) = L(s) a L(r) = L(s) t sau (d(dấấu + ~ d
ng minh cáác tinh ch
c tinh chấất sau
u + ~ dấấu u ):):
a ngôn ngữữ L gL gồồm cm cáác câu w nh nghĩĩa ngôn ng câu rỗỗng ng : : w w n w vềề câu r thu gọọn w v Thu gọọn bn bằằng cng cáách thay th
Thu g
VVíí ddụụ ::
w = ab
ch thay thếế ddầần cn cáác xâu con ab c c xâu con ab củủa w b a w bởởi i r + s = s + r 1.1. r + s = s + r (r*)* = r* 8. 8. (r*)* = r*
w = aabbab
Coi a, b l
u ngoặặc đơn c đơn cân bằằng nhau
Coi a, b lầần lưn lượợt lt làà ccặặp dp dấấu ngo L gL gồồm cm cáác cc cặặp p ddấấu ngo thu đượợc tc từừ mmộột bi thu đư
VVíí ddụụ, t, từừ bibiểểu thu thứức c (3*(x
2.2. r + (s + t) = (r + s) + t r + (s + t) = (r + s) + t r (s + t) = rs + rt 3.3. r (s + t) = rs + rt 9.9. r + r = r r + r = r r(st ) = (rs)t 10.10. r(st ) = (rs)t w = ab L vL vìì : : abab w = aabbab L vL vìì : a: aababbab bab ababab ab abab c đơn ( v( vàà ) :) : r = r 4.4. rr = = r = r r + = r= r 5.5. r + * = 11.11. * = (r*s*)* = (r + s)* 12.12. (r*s*)* = (r + s)* u ngoặặc đơn cân b ng nhau không c i nhau không càài nhau r + r* = r* 13.13. r + r* = r* 6. (6. ( + r)* = r* + r)* = r* r = r = = 7.7. r = r (x + 1), th, thựực hic hiệện bn bỏỏ hhếết ct cáác c t biểểu thu thứức toc toáán hn họọc nc nàào đo đóó (3*(x y)) y)) (x + 1) (r + s)t = rt + st 14.14. (r + s)t = rt + st ng, ta nhậận đưn đượợc câu ngo c đơn c câu ngoặặc đơn ký hiệệu tou toáán tn tửử vvàà totoáán hn hạạng, ta nh ký hi cân bằằng ng (())() cân b (())(), l, làà câu aabbab câu aabbab
51/51/5656
52/52/5656
BBàài ti tậập_2p_2
ng minh PhPhéép chp chứứng minh
2. T2. Tììm cm cáác BTCQ ch
c BTCQ chỉỉ đ địịnh nh phphầần bn bùù ccủủa ca cáác ngôn ng
c ngôn ngữữ sausau ::
Hệ quả Hệ quả
Định lý Định lý
Bổ đề Bổ đề
(a(ab)*bb)*b ((a((ab)(ab)(ab))*b))*
3. Cho ngôn ngữữ L trên b 3. Cho ngôn ng
ng chữữ { { a, a, b }b }
L trên bảảng ch a như sau ::
nh nghĩĩa như sau
đưđượợc đc địịnh ngh LL
Mệnh đề Mệnh đề Pitagore: a2+b2=c2 Pitagore: a2+b2=c2
Phép CM quy nạp (induction) : Phép CM quy nạp (induction) : • Cần CM P(n), n ? • Cần CM P(n), n ? • Thử trường hợp P(0), P(1) • Thử trường hợp P(0), P(1) • Giả sử P(n) đúng • Giả sử P(n) đúng
Cần CM rằng P(n+1) đúng Cần CM rằng P(n+1) đúng
NNếếu w u w L thL thìì awb NNếếu w u w L thL thìì bwa
NNếếu w1, w2
Tiên đề/Định đề Tiên đề/Định đề (công nhận) (công nhận)
Trời sinh ra thế ! Trời sinh ra thế !
awb LL bwa LL u w1, w2 L thL thìì w1w2 w1w2 LL ng quy nạạpp rrằằng :ng : ChChứứng minh b ng minh bằằng quy n nh nghĩĩa trên a trên khkhĩĩ L gL gồồm mm mọọi câu c i câu cóó L theo cáách đch địịnh ngh ngôn ngữữ L theo c ngôn ng ssốố chchữữ a đ a đúúng bng bằằng sng sốố chchữữ b (vi b (viếết gt gọọn nn naa(w) = n (w) ? (w) = nbb(w) ?
53/53/5656
54/54/5656
9
r + s = s + r CM CM r + s = s + r
(r*s*)* = (r + s)* CM CM (r*s*)* = (r + s)*
““LL”” hai vhai vếế, c, cầần CM r
SSửử ddụụng đng địịnh ngh
nh nghĩĩa ngôn ng
ng L(r + s) = L(s + r)
r + s) = L(s + r) ::
a ngôn ngữữ LL** đ đểể CM CM ::
n CM rằằng L( y, biếến đn đổổi vi vếế trtráái :i :
ThThậật vt vậậy, bi
L L(r (r + s+ s) = (t
) = (theo đn
heo đn) = L(r)
) = L(r) L(s)L(s)
t L1= (r*s*)*, L2 = (r + s)*, ĐĐặặt L1= (r*s*)*, L2 = (r + s)*, CM L1= L2 bằằng cng cáách CM L1 CM L1= L2 b
ch CM L1 L2 vL2 vàà L2 L2 L1L1
= {w * | w = {w
* | w L(r)
L(s) } L(r) w w L(s) }
n nhiên vìì L2 lL2 làà mmộột bao đ
t bao đóóng chư
ng chưáá mmọọi i
ng chân lý) (không tin, lậập bp bảảng chân lý)
L(r) } (không tin, l
* | w L(s)
L1L1 L2 lL2 làà hihiểển nhiên v c BTCQ r vàà ss câu từừ ccáác BTCQ r v câu t
= {w * | w = {w = = L(s L(s + r+ r))
L2 L2 L L1 ?1 ?
Theo đn L1={w| Theo đn L
r*s*, w= w00ww1 ...
1 ... wwkk} }
L(s) w w L(r) } ((đpcmđpcm)) Quote Erat Demonstandum) (Qed--Quote Erat Demonstandum) (Qed
1={w|k: wk: wkkr*s*, w= w , CM wL1L1
Cho wCho w LL, CM w
w = r* = r* (
r, sr, s
w = s* = (
w = r*s*
w = r* = r* () ) r* s* r* s* r* s* ) s* r* s* w = s* = () s* r* s*** = L1= L1 w = r*s* r* s*
55/55/5656
56/56/5656
10