SlideShare a Scribd company logo
1 of 48
Download to read offline
Ch­¬ng 34 TÝnh ®Çy ®ñ cña bµi to¸n NP
HÇu hÕt c¸c thuËt to¸n mµ chóng ta nghiªn cøu ®Òu ®¹t ®Õn thêi gian ®a thøc
(polynomial- time algorithms): víi ®Çu vµo cã kÝch th­íc n, thêi gian trong tr­êng hîp
xÊu nhÊt lµ O(nk
) víi k lµ h»ng sè. DÜ nhiªn nã muèn biÕt toµn bé c¸c bµi to¸n cã thÓ ®­îc
gi¶i víi thêi gian ®a thøc kh«ng ? C©u tr¶ lêi lµ kh«ng. VÝ dô, cã c¸c bµi to¸n nh­ bµi to¸n
Turing næi tiÕng “Halting Problem” cã thÓ kh«ng gi¶i ®­îc bëi bÊt cø m¸y tÝnh nµo, nªn
thêi gian ch¹y kµ bao nhiªu ®Òu kh«ng thµnh vÊn ®Ò. Nh­ vËy c¸c bµi to¸n cã thÓ gi¶i
®­îc nh­ng kh«ng ph¶i víi thêi gian O(nk
) víi h»ng sè k. Nh×n chung chóng ta ®Òu nghÜ
c¸c bµi to¸n gi¶i ®­îc víi thêi gian ®a thøc th× cã thÓ kiÓm so¸t hoÆc dÔ vµ c¸c bµi to¸n
®ã ®ßi hái thuËt to¸n siªu ®a thøc hoÆc kh«ng thÓ kiÓm so¸t hoÆc khã.
§èi t­îng cña ch­¬ng nµy lµ quan t©m ®Õn mét líp c¸c bµi to¸n gäi lµ NP- ®ñ (Np-
complet), c¸c tr¹ng th¸i cña bµi to¸n ®Òu kh«ng biÕt. ThuËt to¸n víi thêi gian phi ®a thøc
®­îc kh¸m ph¸ cho mçi bµi to¸n NP- ®ñ, kh«ng chØ cã thÓ chøng minh r»ng thuËt to¸n
phi ®a thøc mµ cßn cã thÓ cho mét bµi to¸n bÊt kú cña NP- ®ñ. Do vËy cã thÓ gäi c©u hái
P  NP lµ mét trong nh÷ng c©u hái s©u nhÊt, tÊt c¶ sù phøc t¹p më ra cho bµi to¸n trong
khoa häc lý thuyÕt m¸y tÝnh tõ khi nã xuÊt hiÖn lÇn ®Çu vµo n¨m 1971.
§Æt biÖt chí trªu lµ vÒ ph­¬ng diÖn bµi to¸n NP- ®ñ lµ mét sè bµi to¸n gi­êng nh­ lµ
bÒ ngoµi cña chóng gièng nh­ bµi to¸n ch¹y víi thêi gian ®a thøc . Theo mçi cÆp bµi to¸n
mét lµ gi¶i ®­îc víi thêi gian ®a thøc vµ cßn l¹i lµ NP- ®ñ, nh­ng sù kh¸c biÖt xuÊt hiÖn
gi÷a c¸c bµi to¸n nµy lµ kh«ng ®¸ng kÓ.
C¸c ®­êng dÉn ®¬n ng¾n nhÊt ®èi víi c¸c ®­êng dÉn ®¬n dµi nhÊt: Trong ch­¬ng 24, ta
thÊy r»ng thËm chÝ víi khèi l­îng c¹nh ©m, ta cã thÓ t×m ®­êng dÉn ng¾n nhÊt tõ
mét nguån ®¬n trong mét ®å thÞ cã h­íng G= (V, E) b»ng thêi gian O(V E). T×m
®­êng dÉn ®¬n dµi nhÊt gi÷a hai ®Ønh lµ NP- ®ñ. Nãi ®óng h¬n, nã lµ NP- ®ñ nÕu
thËm chÝ tÊt c¶ c¸c khèi l­îng c¹nh lµ 1.
Vßng Euler víi chu tr×nh Haminton:Mét vßng Euler cña mét ®å thÞ cã h­íng liªn
th«ng G= (V, E) lµ mét chu tr×nh ®i qua mçi c¹nh cña G ®óng mét lÇn, mÆc dï nã cã
thÓ gÆp ®Ønh lín h¬n mét lÇn. Theo bµi to¸n 22-3, ta cã thÓ x¸c ®Þnh khi nµo mét ®å
thÞ cã mét chu tr×nh Euler trong thêi gian O(E). Thùc vËy, ta cã thÓ t×m c¸c c¹nh cña
vßng Euler trong thêi gian O(E). Mét chu tr×nh Haminton cña mét ®å thÞ cã h­íng
G= (V, E) lµ mét chu tr×nh ®¬n chøa c¸c ®Ønh cña V. ViÖc x¸c ®Þnh khi nµo mét ®å
thÞ cã h­íng cã chu tr×nh Haminton hay kh«ng lµ NP- ®ñ. (ë cuèi ch­¬ng nµy chóng
ta sÏ chøng minh r»ng mét ®å thÞ v« h­íng cã mét chu tr×nh Haminton hay kh«ng lµ
NP- ®ñ).
Sù tho¶ ®­îc cña 2- CNF víi sù tho¶ ®­îc cña 3- CNF: Mét c«ng thøc logic (Boolean)
chøa c¸c biÕn mµ gi¸ trÞ cña nã lµ 0 vµ 1; c¸c phÐp to¸n logic nh­: (AND), (OR)
vµ (NOT); vµ dÊu ngoÆc. Mét c«ng thøc logic lµ tho¶ ®­îc nÕu cã mét sè gi¸ trÞ
cña biÕn cã thÓ lµm cho gi¸ trÞ cña c«ng thøc. Chóng ta sÏ ®Þnh nghÜa c¸c tõ mét
c¸ch chÝnh quy ë cuèi ch­¬ng nµy. Tuy nhiªn nãi mét c¸ch kh«ng chÝnh thøc mét
c«ng thøc logic lµ mét k- chuÈn liªn hîp hay k- CNF, nÕu nã lµ héi (AND) c¸c
mÖnh ®Ò tuyÓn (OR) cña ®óng k biÕn hoÆc phñ ®Þnh cña nã. VÝ dô, c«ng thøc logic
(x1  x2) (x1 x3 )  (x2 x3) lµ 2- CNF. (Nã tho¶ ®­îc víi x1= 1, x2= 0, x3=
1.) Kh«ng cã thuËt to¸n ®a thøc x¸c ®Þnh mét c«ng thøc 2- CNF lµ tho¶ ®­îc nh­ng
chóng ta sÏ xem sau ë cuèi ch­¬ng nµy, viÖc x¸c ®Þnh c«ng thøc 3- CNF tho¶ ®­îc
lµ bµi to¸n NP- ®ñ.
NP- ®ñ vµ c¸c líp bµi to¸n P vµ NP
Th«ng qua ch­¬ng nµy, chóng ta sÏ ®Ò cËp ®Õn ba líp bµi to¸n: P, NP vµ NPC, cuèi
cïng lµ c¸c bµi to¸n NP- ®ñ. ë ®©y chóng ta sÏ kh«ng m« t¶ chóng theo h×nh thøc mµ sÏ
®Þnh nghÜa chóng mét c¸ch chuÈn x¸c h¬n ë phÇn sau.
Líp P bao gåm c¸c bµi to¸n cã thÓ gi¶i ®­îc trong thêi gian ®a thøc. §iÒu ®ã cã nghÜa
lµ ë ®©y b»ng c¸ch ®­a ra mét x¸c nhËn cña lêi gi¶i, sau ®ã ta cã thÓ kiÓm tra r»ng chøng
minh ®óng víi thêi gian ®a thøc trong kÝch th­íc ®Çu vµo cña bµi to¸n. VÝ dô, trong bµi
to¸n chu tr×nh Euler, cho mét ®å thÞ cã h­íng G= (V, E), mét chøng minh sÏ lµ d·y tuÇn
tù <v1, v2, .., v|V|> cña |V| ®Ønh. DÔ dµng kiÓm tra (vi, vi+1)  E víi i= 1, 2, 3, , |V|-1 vµ
(v|V|, v)  E trong thêi gian ®a thøc. Do vËy mét vÝ dô kh¸c vÒ tÝnh tho¶ ®­îc cña 3- CNF.
Chøng minh lµ dÊu hiÖu tho¶ ®­îc cña gi¸ trÞ c¸c biÕn. Chóng ta dÔ dµng kiÓm tra dÊu
hiÖu tho¶ ®­îc cña biÓu thøc logic trong thêi gian ®a thøc.
Mét bµi to¸n bÊt kú trong P kÓ c¶ NP, nÕu mét bµi to¸n trong P cã thÓ gi¶i ®­îc trong
thêi gian ®a thøc mµ kh«ng ph¶i ®­a ra lêi chøng minh. Ta sÏ chuÈn ho¸ kh¸i niÖm nµy ë
phÇn sau cña ch­¬ng nh­ng ta cã thÓ tin r»ng P NP. C©u hái më lµ P cã ph¶i lµ tËp con
cña NP hay kh«ng ?
Mét c¸ch kh«ng chÝnh thøc, mét bµi to¸n trong líp NPC vµ chóng ta ®Ò cËp ®Õn chóng
nh­ bµi to¸n NP- ®ñ nÕu nã ë trong NP vµ “khã” nh­ bµi to¸n bÊt kú trong NP. Chóng ta
sÏ chuÈn ho¸ ®Þnh nghÜa nã chóng khã nh­ c¸c bµi to¸n trong NP sÏ nh¾c ®Õn trong
ch­¬ng nµy. Trong khi ®ã, chóng ta sÏ ph¸t biÓu mµ kh«ng chøng minh r»ng nÕu mét bµi
to¸n NP- ®ñ cã thÓ gi¶i ®­îc trong thêi gian ®a thøc vµ mäi bµi to¸n Np -®ñ cã gi¶i thuËt
®a thøc. Toµn bé lý thuyÕt khoa häc m¸y tÝnh ®Òu tin r»ng c¸c bµi to¸n Np- ®ñ ®Òu khã
gi¶i, tõ ®ã trong ph¹m vi réng cña c¸c bµi to¸n NP -®ñ ®­îc nghiªn cøu h«m nay mµ
kh«ng sù kh¸m ph¸ nµo cã lêi gian trong thêi gian ®a thøc. SÏ thùc sù ng¹c nhiªn nÕu tÊt
c¶ c¸c bµi to¸n nµy cã thÓ ®­îc gi¶i trong thêi gian ®a thøc. Víi nh÷ng cè g¾ng rÊt lín ®Ó
chøng minh r»ng bµi to¸n NP- ®ñ lµ kh«ng gi¶i ®­îc vµ chóng ta ®· kh«ng cã kÕt qu¶
cuèi cïng. Chóng ta kh«ng thÓ ®­a ra ®­îc c¸c ®iÒu kiÖn ®Ó kh¼ng ®Þnh r»ng c¸c bµi to¸n
NP- ®ñ thùc sù gi¶i ®­îc trong thêi gian ®a thøc.
§Ó trë thµnh mét nhµ thiÕt kÕ thuËt to¸n tèt b¹n ph¶i hiÓu c¸c nguyªn lý c¬ b¶n cña lý
thuyÕt vÒ NP- ®ñ. NÕu b¹n cã thÓ thiÕt lËp mét bµi to¸n d¹ng NP- ®ñ b¹n ®· ®­a ra c¸c
b»ng chøng x¸c ®¸ng cho tÝnh kh«ng gi¶i ®­îc cña nã. Nh­ mét kü s­ b¹n sÏ sö dông thêi
gian mét c¸ch tèt h¬n cho viÖc ph¸t triÓn thuËt to¸n xÊp xØ (xem ch­¬ng 35) hay gi¶i
trong tr­êng hîp cã thÓ kiÓm so¸t, cßn h¬n lµ viÖc t×m kiÕm thuËt to¸n nhanh ®Ó gi¶i mét
c¸ch chÝnh x¸c. H¬n n÷a rÊt nhiÒu bµi to¸n tù nhiªn thó vÞ mµ bÌ ngoµi cã vÎ nh­ kh«ng
hÒ khã h¬n viÖc s¾p xÕp, biÓu ®å t×m kiÕm hay luång m¹ng thùc sù lµ NP- ®ñ. Do ®ã nã
rÊt quan träng cho viÖc lµm cho ®¬n gi¶n mét phÇn ®¸ng kÓ cho líp c¸c bµi.
Kh¸i qu¸t cña viÖc chØ ra c¸c bµi to¸n lµ NP- ®ñ
Kü thuËt mµ chóng ta sö dông ®Ó chØ ra r»ng mét ®Æc ®iÓm riªng cña bµi to¸n lµ NP-
®ñ khã kü thuËt mµ chóng ta sö dông th«ng qua toµn bé cuèn s¸ch nµy ®Ó thiÕt kÕ vµ ph©n
tÝch c¸c thuËt to¸n. NÒn t¶ng cña lý do lµm cho nã kh¸c biÖt lµ: trong viÖc chØ ra mét bµi
to¸n lµ NP- ®ñ, chóng ta ®¸nh dÊu tr¹ng th¸i xung quanh viÖc xem nã khã ®Õn møc ®é
nµo (hay cïng l¾m lµ xem chóng ta nghÜ nã khã ®Õn møc ®é nµo), dÜ nhiªn lµ kh«ng hái
nã dÔ nh­ thÕ nµo ?. Chóng ta kh«ng cè g¾ng chøng minh sù tån t¹i mét thuËt to¸n hiÖu
qu¶ h¬n lµ sù tån t¹i mét thuËt to¸n kh«ng hiÖu qu¶. Theo c¸ch nµy, viÖc chøng minh bµi
to¸n NP- ®ñ phÇn nµo ®ã gièng chøng minh ë trong môc 8.1 víi ®é phøc t¹p trong tr­êng
hîp xÊu nhÊt lµ (n lg n) cho sù so s¸nh thuËt to¸n s¾p xÕp bÊt kú; kü thuËt ®Æc biÖt ®­îc
sö dông ®Ó chØ ra sù kh¸c nhau gi÷a c¸c bµi to¸n NP- ®ñ víi ph­¬ng ph¸p chia c©y sö
dông trong phÇn 8.1
Chóng ta tin vµo ba kh¸i niÖm ch×a kho¸ cho viÖc chØ ra bµi to¸n lµ NP- ®ñ.
C¸c bµi to¸n quyÕt ®Þnh vµ c¸c bµi to¸n tèi ­u
Cã rÊt nhiÒu bµi to¸n hay lµ c¸c bµi to¸n tèi ­u, trong ®ã mçi lêi decigi¶i kh¶ khi (i.e.
“legal”) ®Òu g¾n víi gi¸ trÞ, vµ chóng ta mong muèn t×m ra lêi gi¶i kh¶ thi víi gi¸ trÞ tèt
nhÊt. VÝ dô, trong mét bµi to¸n mµ chóng ta gäi lµ ®­êng ®i ng¾n nhÊt SHORTEST-
PATH, chóng ta lÊy mét ®å thÞ v« h­íng G vµ c¸c ®Ønh u, v, vµ chóng ta mong muèn t×m
®­êng ®­êng ®i tõ u sang v víi c¸c c¹nh ng¾n nhÊt. (Trong tr­êng hîp kh¸c SHORTEST-
PATH lµ cÆp ®¬n bµi to¸n ®­êng ®i ng¾n nhÊt trong tr­êng hîp phi träng sè cña ®å thÞ v«
h­íng.) NP- ®ñ kh«ng øng dông trùc tiÕp trong c¸c bµi to¸n tèi ­u. Tuy nhiªn c¸c bµi to¸n
ph¸n quyÕt mµ c©u tr¶ lêi ®¬n gi¶n lµ “yes” hoÆc “no” (hoÆc chuÈn t¾c h¬n lµ “1” hoÆc
“0”).
MÆc dï viÖc chØ ra mét bµi to¸n lµ NP- ®ñ cã nhiÒu h¹n chÕ trong c¸c bµi to¸n quyÕt
®Þnh nh­ng cã mét mèi quan hÖ thÝch hîp gi÷a c¸c bµi to¸n tèi ­u vµ c¸c bµi to¸n quyÕt
®Þnh. Th«ng th­êng chóng ta cã thÓ coi mét bµi to¸n tèi ­u nh­ mét bµi to¸n quyÕt ®Þnh
quan hÖ bëi mét giíi h¹n c¸c gi¸ trÞ ®ñ m¹nh ®Ó cã thÓ ®¹t tíi tèi ­u. Víi SHORTEST-
PATH vÝ dô, mét bµi to¸n quyÕt ®Þnh quan hÖ mµ chóng ta gäi lµ PATH cã nghÜa lµ víi
mét ®å thÞ v« h­íng G, c¸c ®Ønh u, v vµ mét sè nguyªn k, tån t¹i mét ®­êng ®i tõ u sang v
cã tÊt c¶ k c¹nh.
Mèi quan hÖ gi÷a mét bµi to¸n tèi ­u vµ bµi to¸n quyÕt ®Þnh quan hÖ víi nã cã chiÒu
h­íng tèt khi chóng ta cè g¾ng chØ ra r»ng bµi to¸n tèi ­u lµ “khã” bëi v× bµi to¸n quyÕt
®Þnh cã c¶m gi¸c lµ dÔ h¬n hoÆc kh«ng khã h¬n nh­ mét tr­êng hîp ®Æc biÖt, chóng ta cã
thÓ gi¶i quyÕt ®­êng ®i b»ng c¸ch chØ ra ®­êng ®i ng¾n nhÊt sau ®ã so s¸nh sè c¸c c¹nh
trong ®­êng ®i ng¾n nhÊt t×m ®­îc víi gi¸ trÞ cña bµi to¸n quyÕt ®Þnh tham sè k. Nãi c¸ch
kh¸c nÕu mét bµi to¸n tèi ­u lµ dÔ, bµi to¸n quyÕt ®Þnh quan hÖ víi nã còng dÔ nh­ vËy.
Ph¸t biÓu d­íi d¹ng cã nhiÒu mèi liªn hÖ víi tÝnh NP- ®ñ, nÕu ta cã thÓ cung cÊp nh÷ng
b»ng chøng r»ng mét bµi to¸n quyÕt ®Þnh lµ khã, chóng ta còng cung cÊp nh÷ng b»ng
chøng mµ bµi to¸n tèi ­u liªn hÖ víi nã lµ khã. Do ®ã, mÆc dï h¹n chÕ sù chó ý tíi bµi
to¸n quyÕt ®Þnh, lý thuyÕt vÒ tÝnh NP- ®ñ th­êng cã nh÷ng øng dông cho bµi to¸n tèi ­u.
Rót gän
Chó ý ë trªn vÒ viÖc chØ ra r»ng bµi to¸n lµ kh«ng khã h¬n hoÆc kh«ng dÔ h¬n mét øng
dông kh¸c thËm chÝ khi c¶ hai bµi to¸n lµ nh÷ng bµi to¸n quyÕt ®Þnh. Ta sÏ dïng tiÖn lîi
nµy trong hÇu hÕt c¸c chøng minh tÝnh NP - ®ñ sau ®©y. Tr­íc hÕt nãi vÒ bµi to¸n quyÕt
®Þnh, gäi lµ A, ta cã thÓ gi¶i quyÕt trong thêi gian ®a thøc. Chóng ta gäi ®Çu vµo cña mét
bµi to¸n kú dÞ lµ mét minh ho¹ cña bµi to¸n ®ã; vÝ dô, trong ®­êng ®i, mét minh ho¹ cã
thÓ lµ mét ®å thÞ G kú dÞ, c¸c ®Ønh kú dÞ u vµ v cña G, vµ mét sè nguyªn kú dÞ k. B©y giê
gi¶i sö r»ng cã mét bµi to¸n quyÕt ®Þnh kh¸c, gäi lµ B mµ chóng ta ®· biÕt c¸ch gi¶i trong
thêi gian ®a thøc. Cuèi cïng gi¶ sö r»ng chóng ta cã mét qu¸ tr×nh chuyÓn bÊt kú mét
minh ho¹  cña A vµo mét minh ho¹  nµo ®ã cña B víi nh÷ng ®Æc tÝnh sau:
1. PhÐp chuyÓn diÔn ra trong thêi gian ®a thøc.
2. C¸c c©u tr¶ lêi lµ nh­ nhau. NghÜa lµ, c©u tr¶ lêi cho  lµ ®óng khi vµ chØ khi c©u tr¶
lêi cho  còng ®óng.
H×nh 34.1
Chóng ta gäi mét qu¸ tr×nh thêi gian ®a thøc nh­ thÕ lµ thuËt to¸n rót gän vµ, xem h×nh
vÏ 34.1, nã ®­a ra cho chóng ta mét c¸ch ®Ó gi¶i quyÕt bµi to¸n A trong thêi gian ®a thøc:
1. Cho tr­íc mét minh ho¹  cña bµi to¸n A, dïng thuËt to¸n rót gän thêi gian ®a thøc
®Ó chuyÓn nã vµo mét minh ho¹  cña bµi to¸n B.
2. Ch¹y thuËt to¸n quyÕt ®Þnh trong thêi gian ®a thøc cho bµi to¸n B trªn minh ho¹ .
3. Sö dông c©u tr¶ lêi cña  cho c©u tr¶ lêi cña .
MiÔn lµ mçi b­íc trong c¸c b­íc nµy diÔn ra trong thêi gian ®a thøc, th× tÊt c¶ ba b­íc
®ã còng diÔn ra trong thêi gian ®a thøc, do ®ã chóng ta cã mét c¸ch ®Ó quyÕt ®Þnh trªn 
trong thêi gian ®a thøc. Nãi c¸ch kh¸c, b»ng c¸ch rót gän viÖc gi¶i bµi to¸n A b»ng gi¶i
bµi to¸n B, chóng ta sö dông “”TÝnh ®¬n gi¶n”” cña B ®Ó chøng minh “”tÝnh ®¬n gi¶n””
cña A.
Nh¾c l¹i r»ng tÝnh NP- ®ñ lµ ®Æc tr­ng cho sù khã vµ dÔ cña mét bµi to¸n. Chóng ta sö
dông c¸c rót gän ®a thøc theo c¸ch ®èi lËp ®Ó chØ ra r»ng mét bµi to¸n lµ NP- ®ñ. TiÕp tôc
sö dông ý t­ëng vÒ c¸c b­íc, vµ chØ ra r»ng chóng ta cã thÓ sö dông c¸c rót gän ®a thøc
nh­ thÕ nµo ®Ó chøng minh r»ng mét thuËt to¸n thêi gian ®a thøc cã thÓ tån t¹i cho mét
bµi to¸n B kú dÞ. Gi¶ sö chóng ta cã mét bµi to¸n quyÕt ®Þnh A mµ chóng ta ®· biÕt kh«ng
cã mét thuËt to¸n ®a thøc nµo ®Ó gi¶i quyÕt. (hiÖn t¹i chóng ta kh«ng quan t©m ®Õn viÖc
t×m ra bµi to¸n A nh­ thÕ). H¬n n÷a gi¶ sö r»ng chóng ta cã mét rót gän ®a thøc chuyÓn
c¸c minh ho¹ cña A vµo c¸c minh ho¹ cña B. B©y giê ta cã thÓ sö dông mét chøng minh
®¬n gi¶n b»ng ph¶n chøng ®Ó chØ ra r»ng kh«ng cã mét thuËt to¸n thêi gian ®a thøc nµo
®Ó gi¶i quyÕt B. Gi¶ sö ng­îc l¹i, B cã mét thuËt to¸n thêi gian ®a thøc. Khi ®ã, dïng
ph­¬ng ph¸p chØ ra trong h×nh vÏ 34.1 chóng ta cã mét ph­¬ng ph¸p ®Ó gi¶i bµi to¸n A
trong thêi gian ®a thøc. Tr¸i víi gi¶ thiÕt r»ng kh«ng cã thuËt to¸n ®a thøc nµo cho A.
Víi tÝnh NP- ®ñ, chóng ta kh«ng thÓ gi¶ sö r»ng hoµn to¸n kh«ng cã mét thuËt to¸n ®a
thøc cho bµi to¸n A. C¸ch chøng minh lµ t­¬ng tù, tuy nhiªn, chóng ta chøng minh r»ng
bµi to¸n B lµ NP- ®ñ víi gi¶i thiÕt r»ng bµi to¸n A còng lµ NP- ®ñ.
Bµi to¸n NP- ®ñ thø nhÊt
Bëi v× kü kü thuËt rót gän dùa vµo viÖc cã s½n mét bµi to¸n ®· biÕt lµ NP- ®ñ ®Ó chøng
minh mét bµi to¸n NP- ®ñ kh¸c, chóng ta cÇn mét bµi to¸n NP- ®ñ “®Çu tiªn”. Bµi to¸n
mµ chóng ta sÏ dïng lµ bµi to¸n phï hîp m¹ng, ë ®ã ta ®­îc ®­a ra mät m¹ng tæ hîp logic
t¹o thµnh tõ c¸c cæng AND, OR vµ NOT, vµ chóng ta muèn biÕt khi nµo cã mét tËp c¸c
®Çu vµo logic cho c¸c m¹ng nµy ®Ó t¹o ra ®Çu ra cña nã lµ 1. Chóng ta cã thÓ chøng minh
r»ng bµi to¸n ®Çu tiªn nµy lµ NP- ®ñ trong môc 34.3.
Ch­¬ng ph¸c th¶o
Ch­¬ng nµy nghiªn cøu c¸c khÝa c¹nh cña tÝnh NP- ®ñ ¶nh h­ëng trùc tiÕp ®Õn sù ph©n
tÝch c¸c thuËt to¸n. Trong môc 34.1 chóng ta chuÈn ho¸ c¸c kh¸i niÖm cña bµi to¸n vµ
®Þnh nghÜa líp phøc P cña c¸c bµi to¸n quyÕt ®Þnh gi¶i ®­îc ®a thøc. Chóng ta còng chØ ra
nh÷ng ký hiÖu nµy phï hîp víi c¬ cÊu ng«n ng÷ chuÈn nh­ thÕ nµo. Môc 34.2 ®Þnh nghÜa
líp NP cña c¸c bµi to¸n quyÕt ®Þnh mµ lêi gi¶i cña nã cã thÓ kiÓm chøng trong thêi gian
®a thøc. Nã còng ®­a ra c©u hái P kh¸c NP.
Môc 34.3 sÏ ®­a ra c¸c mèi quan hÖ gi÷a c¸c bµi to¸n cã thÓ ®­îc nghiªn cøu th«ng
qua rót gän ®a thøc nh­ thÕ nµo. Nã ®Þnh nghÜa tÝnh NP- ®ñ vµ ph¸c ho¹ mét chøng minh
cho bµi to¸n phï hîp m¹ng lµ NP- ®ñ. Khi ®· t×m ®­îc mét bµi to¸n NP -®ñ, chóng ta sÏ
®­a ra trong môc 34.4 r»ng c¸c bµi to¸n kh¸c cã thÓ ®­îc chøng minh lµ NP- ®ñ sÏ dÔ
dµng h¬n rÊt nhiÒu b»ng ph­¬ng ph¸p rót gän. Ph­¬ng ph¸p ë ®©y ®­îc minh ho¹ b»ng
viÖc chØ ra r»ng hai bµi to¸n phï hîp c«ng thøc lµ NP- ®ñ. Mét khèi l­îng lín c¸c bµi
to¸n kh¸c ®­îc chøng minh lµ NP- ®ñ trong môc 32.5.
34.1 Thêi gian ®a thøc
Chóng ta b¾t ®Çu nghiªn cø tÝnh NP- ®ñ b»ng c¸ch chuÈn ho¸ c¸c kh¸i niÖm c¸c bµi
to¸n gi¶i ®­îc ®a thøc. Nh÷ng bµi to¸n nµy nh×n chung ®­îc ®¸nh gi¸ lµ cã kh¶ n¨ng
kiÓm so¸t nh­ng víi triÕt häc, phi to¸n häc chóng ta ®­a ra ba ®iÒu tranh luËn.
Thø nhÊt, mÆc dï lµ hîp lý cho viÖc ®¸nh gi¸ mét bµi to¸n ®ßi hái thêi gian lµ (n100
)
lµ khã kiÓm so¸t ®­îc, thùc tÕ cã rÊt Ýt bµi to¸n ®ßi hái thêi gian lµ ®a thøc bËc cao. Thêi
gian ®a thøc ®Ó tÝnh to¸n kiÓu c¸c bµi to¸n b¾t gÆp th­êng ®ßi hái thêi gian Ýt h¬n. Kinh
nghiÖm cho thÊy cã thÓ chØ ra ngay r»ng thuËt to¸n ®a thøc ®Ó gi¶i mét bµi to¸n hiÖu qu¶
th­êng cã thêi gian thÊp h¬n. ThËm chÝ nÕu thuËt to¸n tèt nhÊt hiÖn nay cho mét bµi to¸n
ch¹y trong thêi gian lµ (n100
) th× nã còng gièng nh­ thuËt to¸n víi thêi gian ch¹y tèt h¬n
sÏ ®­îc t×m ra.
Thø hai, víi nhiÒu m« h×nh tÝnh to¸n hîp lý, mét bµi to¸n gi¶i ®­îc trong thêi gian ®a
thøc trong mét m« h×nh cã thÓ gi¶i ®­îc trong thêi gian ®a thøc kh¸c. VÝ dô, líp c¸c bµi
to¸n gi¶i ®­îc trong thêi gian ®a thøc b»ng chuçi truy nhËp ngÉu nhiªn vµo ®­îc sö dông
trong c¶ cuèn s¸ch nµy gièng nh­ líp c¸c bµi to¸n gi¶i ®­îc trong thêi gian ®a thøc tãm
t¾t trªn m¸y Turing 1
Nã còng gièng nh­ líp c¸c bµi to¸n gi¶i ®­îc trong m¸y tÝnh song
song khi sè c¸c xö lý ®¹t tíi ®a thøc trong kÝch th­íc ®Çu vµo.
1
Xem Hopcroft vµ Ultman [156] hoÆc Lewis vµ Papadimitriou [204] cho mét xö lý trän vÑn cña m«
h×nh m¸y Turing.
Thø ba, líp c¸c bµi to¸n gi¶i ®­îc cã c¸c thuéc tÝnh ®ãng tèt, tõ ®ã c¸c ®a thøc ®­îc
®ãng víi c¸c phÐp céng, phÐp nh©n vµ phÐp hîp. VÝ dô, nÕu ®Çu ra cña mét thuËt to¸n ®a
thøc ®­îc chuyÓn ®Õn ®Çu vµo cña mét thuËt to¸n kh¸c, thuËt to¸n hîp cã tÝnh ®a thøc.
NÕu mét thuËt to¸n ®a thøc kh¸c ®­a ra mét sè kh«ng ®æi c¸c thñ tôc con cã thêi gian ®a
thøc ch¹y víi thêi gian cña thuËt to¸n hîp tö lµ ®a thøc.
C¸c bµi to¸n trõu t­îng
§Ó hiÓu ®­îc líp c¸c bµi to¸n gi¶i ®­îc trong thêi gian ®a thøc, tr­íc tiªn chóng ta
ph¶i cã mét kh¸i niÖm chuÈn cña bµi to¸n lµ g×. Chóng ta ®Þnh nghÜa mét tãm t¾t bµi to¸n
Q lµ mét quan hÖ nhÞ ph©n cña mét tËp I cña bµi to¸n minh ho¹ vµ mét tËp S lêi gi¶i c¸c
bµi to¸n. VÝ dô mét minh ho¹ cña bµi to¸n SHORTEST-PATH lµ kiÓm so¸t ®­îc bao gåm
mét ®å thÞ vµ hai ®Ønh. Mét lêi gi¶i lµ mét d·y tuÇn tù c¸c ®Ønh trong ®å thÞ, hoÆc cã thÓ
lµ mét d·y rçng nÕu kh«ng tån t¹i ®­êng ®i. Bµi to¸n SHORTEST-PATH b¶n th©n nã lµ
quan hÖ mµ mçi mèi liªn hÖ minh ho¹ mét ®å thÞ vµ hai ®Ønh víi ®­êng ®i ng¾n nhÊt trong
®é thÞ nèi víi hai ®Ønh ®ã. Tõ ®ã ®­êng ®i ng¾n nhÊt kh«ng nhÊt thiÕt lµ duy nhÊt. Mét bµi
to¸n minh ho¹ ®­a ra cã thÓ cã nhiÒu h¬n mét lêi gi¶i.
Sù tr×nh bÇy t­êng minh c¸c bµi to¸n trõu t­îng lµ tæng qu¸t h¬n so víi viÖc ®ßi hái
®­a ra nh÷ng kÕt qu¶. Nh­ ta thÊy ë trªn lý thuyÕt cña tÝnh NP- ®ñ h¹n chÕ tham gia vµo
c¸c bµi to¸n quyÕt ®Þnh: ®ã lµ mét lêi gi¶i yes/no. Trong tr­êng hîp nµy chóng ta xem
mét tËp 0, 1. VÝ dô, mét bµi to¸n quyÕt ®Þnh quan hÖ víi SHORTEST-PATH lµ bµi to¸n
®­êng ®i mµ chóng ta thÊy dÔ dµng h¬n. NÕu i= G, u, v, k lµ mét minh ho¹ cña mét bµi
to¸n quyÕt ®Þnh ®­êng ®i, khi ®ã PATH(i)= 1(yes) nÕu ®­êng ®i ng¾n nhÊt tõ u sang v ®i
quan tÊt c¶ k c¹nh vµ PATH(i)= 0(no) trong tr­êng hîp ng­îc l¹i. Cã rÊt nhiÒu c¸c bµi
to¸n trõu t­îng kh«ng ph¶i lµ c¸c bµi to¸n quyÕt ®Þnh huèng hå lµ c¸c bµi to¸n tèi ­u.
Trong tr­êng hîp nµy mét sè gi¸ trÞ ph¶i ®¹t lín nhÊt hoÆc nhá nhÊt. Nh­ ta thÊy ë trªn,
tuy nhiªn, th«ng th­êng mét vÊn ®Ò ®¬n gi¶n xÐt cho cïng mét bµi to¸n tèi ­u còng nh­
mét bµi to¸n quyÕt ®Þnh lµ kh«ng khã h¬n.
M· ho¸
NÕu mét ch­¬ng tr×nh m¸y tÝnh dïng ®Ó gi¶i mét bµi to¸n trõu t­îng, bµi to¸n trõu
t­îng ph¶i biÓu sao cho cã thÓ hiÓu ®­îc ch­¬ng tr×nh. M· ho¸ mét tËp S c¸c ®èi t­îng
trõu t­îng lµ mét s¬ ®å e tõ S ®Õn tËp c¸c chuçi nhÞ ph©n2
. VÝ dô, chóng ta thÊy viÖc m·
ho¸ tËp c¸c sè tù nhiªn N= 0, 1, 2, 3, 4, ... lµ c¸c chuçi 0, 1, 10, 11, 100, .... Sö dông
viÖc m· ho¸ nµy E(17)= 100001. BÊt cø ký tù nµo trªn bµn phÝm ®Òu cã thÓ biÓu diÔn theo
c¸c b¶ng m· ASCII hoÆc EBCDIC. Trong b¶ng m· ASCII th× m· cña A lµ 1000001. ThËm
chÝ mét ®èi t­îng phøc hîp cã thÓ ®­îc m· ho¸ th·nh chuçi nhÞ ph©n b»ng c¸ch kÕt hîp
c¸c biÓu diÔn tõng phÇn cña nã. C¸c ®a thøc, c¸c ®å thÞ, c¸c hµm, c¸c cÆp thø tù, c¸c
ch­¬ng tr×nh- tÊt c¶ ®Òu cã thÓ m· ho¸ thµnh c¸c chuçi nhÞ ph©n.
Do ®ã mét thuËt to¸n m¸y tÝnh gi¶i quyÕt mét bµi to¸n quyÕt ®Þnh trõu t­îng nµo ®ã
thùc sù cÇn mét m· ho¸ cña minh ho¹ bµi to¸n nh­ ®Çu vµo. Chóng ta gäi mét bµi to¸n mµ
tËp minh ho¹ lµ tËp c¸c chuçi nhÞ ph©n lµ bµi to¸n cô thÓ. Chóng ta nãi r»ng mét thuËt
to¸n gi¶i quyÕt mét bµi to¸n cô thÓ trong thêi gian O(Tn) nÕu, khi nã ®­îc chia bëi mét
2
Ph¹m vi biÓu cña e kh«ng nhÊt thiÕt lµ c¸c chuçi nhÞ ph©n. mét tËp bÊt kú c¸c chuçi n»m ngoµi giíi
h¹n b¶ng ch÷ c¸i cã Ýt nhÊt 2 ký tù sÏ lµ nh­ vËy.
minh ho¹ bµi to¸n i ®é dµi n= |i|, thuËt to¸n cã thÓ t¹o ra mét lêi gi¶i trong thêi gian
O(T(n))3
. Mét bµi to¸n cô thÓ lµ gi¶i ®­îc trong thêi gian ®a thøc, do ®ã tån t¹i mét thuËt
to¸n ®Ó gi¶i quyÕt nã trong thêi gian O(nk
) víi mét h»ng sè k nµo ®ã.
B©y giê chóng ta cã thÓ ®Þnh nghÜa mét c¸c chÝnh x¸c líp phøc P lµ mét tËp c¸c bµi
to¸n quyÕt ®Þnh cô thÓ mµ gi¶i ®­îc trong thêi gian ®a thøc.
Chóng ta cã thÓ sö dông c¸c m· ®Ó ®­a c¸c bµi to¸n trõu t­îng vÒ c¸c bµi to¸n cô thÓ.
Cho tr­íc mét bµi to¸n quyÕt ®Þnh trõu t­îng Q. §­a mét tËp minh ho¹ I vµo tËp 2 ®iÓm 0
vµ 1, mét m· e: I0, 1* cã thÓ sö dông ®Ó rót gän thµnh mét bµi to¸n quyÕt ®Þnh cô thÓ
liªn quan, mµ ta ký hiÖu lµ e(Q)4
. NÕu lêi gi¶i cho mét minh häa bµi to¸n trõu t­îng i  I
lµ Q(i)   0, 1, th× lêi gi¶i cho minh ho¹ bµi to¸n cô thÓ e(i) 0, 1 còng lµ Q(i).
Nh­ mét kü thuËt, cã thÓ cã mét vµi chuçi nhÞ ph©n kh«ng biÓu diÔn mét minh ho¹ cña
bµi to¸n trõu t­îng cã nghÜa nµo. §Ó tiÖn lîi chóng ta nªn gi¶ sö r»ng bÊt kú mét chuçi
nµo nh­ thÕ ®­îc ¸nh x¹ tuú ý vµo 0. Do ®ã, bµi to¸n cô thÓ sÏ ®­a ra cïng mét lêi gi¶i
nh­ lµ bµi to¸n trõu t­îng trªn c¸c minh ho¹ chuçi nhÞ ph©n mµ biÓu diÔn c¸c m· cña c¸c
minh ho¹ bµi to¸n trõu t­îng.
Chóng ta sÏ më réng ®Þnh nghÜa cña tÝnh gi¶i ®­îc thêi gian ®a thøc tõ c¸c bµi to¸n cô
thÓ tíi c¸c bµi to¸n trõu t­îng b»ng c¸ch sö dông c¸c m· nh­ lµ mét cÇu nèi, nh­ng
chóng ta sÏ ®Þnh nghÜa mét c¸ch ®éc lËp trong c¸c tr­êng hîp m· ho¸ riªng. §iÒu nµy rÊt
hiÖu qu¶ cho viÖc gi¶i mét bµi to¸n kh«ng phô thuéc vµo viÖc bµi to¸n ®­îc m· ho¸ nh­
thÕ nµo. §¸ng tiÕc lµ nã l¹i phô thuéc kh¸ chÆt chÏ vµo viÖc m· ho¸. VÝ dô, gi¶ sö mét sè
nguyªn k ®­îc cung cÊp nh­ mét ®Çu vµo duy nhÊt cho mét thuËt to¸n vµ gi¶ sö r»ng thêi
gian cña thuËt to¸n lµ (k). NÕu sè nguyªn k ®­îc cho d­íi d¹ng mét chuçi k sè 1 th×
thêi gian ch¹y cña thuËt to¸n lµ (n) trong ®©u vµo cã ®é dµi n ®ã lµ thêi gian ®a thøc.
NÕu chóng ta sö dông c¸c biÓu diÔn nhÞ ph©n cña sè k th× ®é dµi cña ®Çu vµo lµ
n=[lgk]+1. Trong tr­êng hîp nµy thêi gian ch¹y cña thuËt to¸n lµ (k)= (2n
). §©y lµ
thêi gian mò so víi cì cña ®Çu vµo. Do vËy, nã phô thuéc vµo viÖc m· ho¸ vµ thuËt to¸n
ch¹y hoÆc thêi gian ®a thøc hoÆc thêi gian siªu ®a thøc.
ViÖc m· ho¸ bµi to¸n trõu t­îng lµ kh¸ quan träng ®Ó chóng ta cã thÓ hiÓu ®­îc trong
thêi gian ®a thøc. Thùc sù chóng ta kh«ng thÓ nãi vÒ viÖc gi¶i c¸c bµi to¸n trõu t­îng mµ
kh«ng chØ râ tr­íc tiªn lµ viÖc m· ho¸. Tuy nhiªn trong thùc tÕ nÕu chóng ta “xµi” c¸ch
m· ho¸ duy nhÊt sao cho unary ones, thùc sù m· ho¸ cña bµi to¸n chØ kh¸c mét chót so
víi bµi to¸n cã thÓ gi¶i ®­îc trong thêi gian ®a thøc. VÝ dô, viÖc biÓu diÔn c¸c sè nguyªn
trong hÖ 3 thay v× hÖ 2 kh«ng hiÖu qu¶ ®èi víi c¸c bµi to¸n gi¶i ®­îc trong thêi gian ®a
thøc, tõ ®ã viÖc biÓu diÔn mét sè nguyªn tring hÖ 3 ®­îc chuyÓn ®æi thµnh viÖc biÓu diÔn
c¸c sè nguyªn trong hÖ 3 víi thêi gian ®a thøc.
Chóng ta nãi r»ng mét hµm f: 0,1* 0,1* lµ tÝnh to¸n trong thêi gian ®a thøc nÕu
tån t¹i mét thuËt to¸n ®a thøc A ®ã lµ cho mét ®Çu vµo x  0,1* cho kÕt qu¶ ®Çu ra lµ
f(x). Víi mçi tËp minh ho¹ c¸c bµi to¸n, chóng ta nãi r»ng hai m· ho¸ e1 vµ e2 cã liªn hÖ
®a thøc nÕu tån t¹i hµm tÝnh to¸n thêi gian ®a thøc f12 vµ f21 sao cho víi mçi i  I, ta cã
f12(e1(i))= e2(i) vµ f21(e2(i))= e1(i) 5
. §ã lµ, m· e2(i) cã thÓ ®­îc tÝnh to¸n tõ m· e1(i) b»ng
3
Chóng ta gi¶ sö r»ng ®Çu ra cña thuËt to¸n lµ ®éc lËp víi ®Çu vµo. V× t¹i mçi b­íc ®­a ra kÕt qu¶ cã
b­íc thêi gian lµ O(T(n)) nªn kÝch th­íc cña ®Çu ra sÏ lµ O(T(n)).
4
Nh­ chóng ta thÊy 0, 1 kh¸i niÖm tËp tÊt c¶ chuçi s¾p xÕp c¸c biÓu t­îng tõ tËp 0, 1.
5
Kü thuËt cña nã lµ, mÆc dï chóng ta ®ßi hái c¸c hµm f12 vµ f21 lµm “s¬ ®å tõ phi minh ho¹ ®Õn phi minh
ho¹” . ViÖc minh ho¹ c¸ch m· ho¸ e lµ mét chuçi x  0,1* sao cho kh«ng cã minh ho¹ i nµo ®ã mµ
thuËt to¸n thêi gian ®a thøc. NÕu hai m· e1 vµ e2 cña mét bµi to¸n trõu t­îng cã quan hÖ
®a thøc, bµi to¸n cã gi¶i ®­îc trong thêi gian ®a thøc hay kh«ng tuú thuéc vµo m· mµ
chóng ta sö dông, nh­ bæ ®Ò sau ®©y sÏ chØ ra.
Bæ ®Ò 34.1
Gi¶ sö Q lµ mét bµi to¸n quyÕt ®Þnh trõu t­îng trªn mét tËp minh ho¹ I, vµ gi¶ sö e1 e2
lµ c¸c m· cã liªn hÖ ®a thøc trªn I. Khi ®ã, e1(Q)  P khi vµ chØ khi e2(Q)  P.
Chøng minh:
Chóng ta chØ cÇn chøng minh chiÒu ®i, bëi v× chiÒu ng­îc l¹i lµ t­¬ng tù. Gi¶ sö r»ng
e1(Q) cã thÓ gi¶i ®­îc trong thêi gian O(nk
) víi k lµ h»ng sè nµo ®ã. H¬n n÷a gi¶ sö r»ng
víi bÊt kú minh ho¹ bµi to¸n i, m· e1(i) cã thÓ ®­îc tÝnh tõ m· e2(i) trong thêi gian O(nc
)
víi c lµ h»ng sè, trong ®ã n= |e2(i)|. §Ó gi¶i bµi to¸n e2(Q), trªn ®Çu vµo e2(i), tr­íc tiªn
chóng ta tÝnh to¸n e1(i) sau ®ã ch¹y thuËt to¸n cho e1(Q) trªn e1(i). MÊt bao nhiªu thêi
gian ? Sù chuyÓn ®æi c¸c m· sÏ cÇn thêi gian O(nc
), v× ®Çu ra cña m¸y tÝnh tuÇn tù kh«ng
thÓ l©u h¬n thêi gian ch¹y nã. ViÖc gi¶i bµi to¸n trªn e1(i) cÇn thêi gian O(|e1(i)|k
)= O(nck
),
lµ ®a thøc v× c vµ k ®Òu lµ h»ng sè.
Do ®ã, khi nµo mét bµi to¸n trõu t­îng cã c¸c minh ho¹ cña nã ®­îc m· ho¸ b»ng nhÞ
ph©n hoÆc c¬ sè 3 sÏ kh«ng ¶nh h­ëng ®Õn tÝnh phøc hîp cña nã, nghÜa lµ khi nµo th× nã
lµ gi¶i ®­îc ®a thøc, nh­ng nÕu c¸c minh ho¹ ®­îc m· ho¸ in unary, tÝnh phøc hîp cña nã
cã thÓ thay ®æi. §Ó cã thÓ chuyÓn vµo mét m· ®éc lËp, chóng ta th­êng gi¶ sö r»ng c¸c
minh ho¹ bµi to¸n ®­îc m· ho¸ b»ng bÊt kú mét kiÓu ng¾n gän vµ hîp lý, trõ khi chóng ta
®Æc biÖt l­u ý nã theo mét kiÓu kh¸c. §Ó chÝnh x¸c ho¸, chóng ta gi¶ sö r»ng m· cña mét
sè nguyªn lµ cã liªn hÖ ®a thøc tíi biÓu diÔn nhÞ ph©n cña nã, vµ m· cña mét tËp h÷u h¹n
cã liªn hÖ ®a thøc tíi m· cña nã nh­ lµ mét d·y c¸c phÇn tö cña nã, bao gåm c¶ c¸c dÊu
ngoÆc vµ ®­îc ph©n chia bëi c¸c dÊu ph¶y. (ASCII lµ mét trong nh÷ng kiÓu m· nh­ thÕ).
Víi mét m· tiªu chuÈn nh­ thÕ, chóng ta cã thÓ nhËn ®­îc c¸c m· hîp lý tõ c¸c ®èi t­îng
to¸n häc kh¸c, nh­ lµ c¸c bé, c¸c ®å thÞ, vµ c¸c c«ng thøc. §Ó ®Þnh nghÜa c¸c m· tiªu
chuÈn cña mét ®èi t­îng, chóng ta th­êng ®­a chóng vµo trong c¸c dÊu ngoÆc gãc. Do ®ã
G sÏ ký hiÖu cho m· tiªu chuÈn cña mét ®å thÞ G. MiÔn lµ chóng ta sö dông mét c¸ch Èn
ý mét m· mµ cã liªn hÖ ®a thøc tíi m· tiªu chuÈn cña nã, chóng ta cã thÓ nãi trùc tiÕp vÒ
c¸c bµi to¸n trõu t­îng mµ kh«ng cÇn suy diÔn tíi mét m· ®Æc biÖt nµo kh¸c, viÖc biÕt sù
lùa chän cña mét m· kh«ng ¶nh h­ëng tíi viÖc khi nµo mét bµi to¸n trõu t­îng lµ gi¶i
®­îc ®a thøc. Tõ giê trë ®i, chóng ta lu«n gi¶ sö r»ng tÊt c¶ c¸c minh ho¹ bµi to¸n lµ c¸c
chuçi nhÞ ph©n ®­îc m· ho¸ b»ng m· tiªu chuÈn, trõ khi chóng ta chØ râ mét sù ®èi lËp.
Chóng ta còng bá qua sù kh¸c biÖt sù kh¸c biÖt gi÷a c¸c bµi to¸n cô thÓ vµ c¸c bµi to¸n
trõu t­îng. Ng­êi ®äc nªn xem c¸c bµi to¸n trong phÇn luyÖn tËp, tuy nhiªn trong ®ã mét
m· tiªu chuÈn lµ kh«ng râ rµng vµ m· kh«ng t¹o ra sù kh¸c biÖt.
C¬ cÊu ng«n ng÷ chuÈn
Mét trong nh÷ng mÆt tiÖn Ých c¬ b¶n cña bµi to¸n quyÕt ®Þnh lµ chóng lµm cho viÖc sö
dông lý thuyÕt ng«n ng÷ m¸y ®­îc dÔ dµng h¬n. Nã ®¸ng gi¸ ë ®iÓm nã xem xÐt l¹i mét
vµi ®Þnh nhghÜa tõ lý thuyÕt cña nã. Mét b¶ng ch÷ c¸i  lµ mét tËp h÷u h¹n c¸c ký tù, nÕu
e(i)= x. Chóng ta ®ßi hái r»ng f12(x)= y cho mäi phi minh ho¹t x cña m· ho¸ e1 mµ y lµ mét sè phi minh cña
e2 vµ f21(x’)= y’ víi mçi phi minh häa x’ cña e2 mµ y’ lµ mét sè phi minh ho¹ cña e1.
 lµ mét tËp chuçi nµo ®ã ®­îc t¹o ra bëi c¸c ký tù cña . VÝ dô, nÕu = 0, 1, tËp L=
10, 11, 101, 111, 1011, 10001,  lµ ng«n ng÷ biÓu diÔn nhÞ ph©n cña c¸c sè c¨n b¶n
(prime). Chóng ta ®Þnh chuçi rçng lµ , vµ ng«n ng÷ rçng lµ . Ng«n ng÷ cña tÊt c¶ c¸c
chuçi qua  ®­îc ký hiÖu bëi *. VÝ dô, nÕu = 0, 1, th× *= , 0, 1, 00, 01, 10, 11,
000,  lµ tÊt c¶ c¸c chuçi nhÞ ph©n. TÊt c¶ c¸c ng«n ng÷ L qua  lµ tËp con cña *.
Cã rÊt nhiÒu phÐp to¸n ng«n ng÷. TËp lý thuyÕt c¸c phÐp to¸n, nh­ phÐp hîp (union) vµ
phÐp giao (intersection), d­íi ®©y tõ tËp lý thuyÕt c¸c ®Þnh nghÜa. Chóng ta ®Þnh nghÜa
phÇn bï (complement) cña L bëi LL  * . PhÐp nèi (concatnation) hai ng«n ng÷ L1 vµ
L2 lµ mét ng«n ng÷.
L= x1x2: x1 L1 vµ x2 L2.
Sù kÕt hay Kleene star cña mét ng«n ng÷ L lµ ng«n ng÷
L*=  L L2
 L3

Trong ®ã Lk
lµ ng«n ng÷ chøa phÐp nèi L víi chÝnh nã k lÇn.
Tõ lý thuyÕt ng«n ng÷ trªn, tËp c¸c minh ho¹ cho mçi bµi to¸n quyÕt ®Þnh Q lµ tËp *,
trong ®ã = 0, 1. V× Q hoµn toµn lµ ®Æc ®iÓm cña c¸c bµi to¸n minh ho¹ nµy nªn viÖc
®­a ra mét tr¶ lêi 1 (yes) cã thÓ xem Q nh­ mét ng«n ng÷ L qua = 0, 1, trong ®ã
L*= x *: Q(x)= 1.
VÝ dô, bµi to¸n quyÕt ®Þnh PATH cã ng«n ng÷ t­¬ng ®ång
PATH= G, u, v, k: G= (V, E) lµ mét ®å thÞ v« h­íng,
u, v  V,
k 0 lµ mét sè nguyªn, vµ
tån t¹i mét ®­êng ®i tõ u sang v trong G
®i qua k c¹nh.
(Tõ tiÖc Ých nµy, ®«i khi chóng ta sö dông tªn t­¬ng tù PATH trong tr­êng hîp nh¾c
®Õn c¶ bµi to¸n quyÕt ®Þnh vµ ng«n ng÷ t­¬ng ®ång víi nã).
CÊu tróc ng«n ng÷ chuÈn cho phÐp chóng ta biÓu diÔn quan hÖ gi÷a bµi to¸n quyÕt ®Þnh
vµ thuËt gi¶i chóng hÕt søc ng¾n ngän. Chóng ta nãi r»ng mét thuËt to¸n chÊp nhËn
(accepts) A lµ mét chuçi x0, 1* nÕu, cho ®Çu vµo x, ®Çu ra cña thuËt A(x) lµ 1. Ng«n
ng÷ chÊp nhËn bëi thuËt to¸n A lµ mét tËp c¸c chuçi L= x 0, 1*: A(x)= 1, ®ã lµ tËp
c¸c chuçi mµ thuËt gi¶i chÊp nhËn ®­îc. Mét thuËt to¸n lµ tõ chèi (rejects) chuçi x nÕu
A(x)= 0.
ThËm chÝ nÕu ng«n ng÷ L lµ chÊp nhËn ®­îc bëi mét thuËt to¸n A, thuËt to¸n kh«ng
nhÊt thiÕt tõ chèi chuçi x L ®­îc cung cÊp nh­ mét ®Çu vµo. VÝ dô, thuËt to¸n cã thÓ lÆp
v« h¹n. Mét ng«n ng÷ L lµ quyÕt ®Þnh ®­îc bëi mét thuËt to¸n A nÕu mäi chuçi nhÞ ph©n
trong L lµ chÊp nhËn ®­îc bëi A vµ mäi chuçi nhÞ ph©n kh«ng thuéc L sÏ bÞ tõ chèi bëi
A. Mét ng«n ng÷ L lµ chÊp nhËn ®­îc trong thêi gian ®a thøc bëi mét thuËt to¸n A nÕu nã
®­îc chÊp nhËn bëi A vµ nÕu trong phÐp céng cã mét h»ng sè k sao cho víi mçi ®é dµi n
cña chuçi x  L, thuËt to¸n A chÊp nhËn x trong thêi gian O(nk
). Mét ng«n ng÷ L lµ quyÕt
®Þnh ®­îc trong thêi gian ®a thøc bëi mét thuËt to¸n A nÕu cã mét h»ng sè k sao cho víi
mçi ®é dµi cña x©u x0, 1*, thuËt to¸n quyÕt ®Þnh chÝnh x¸c t¹i x L trong thêi gian
O(nk
). Do vËy, ®Ó chÊp nhËn mét ng«n ng÷, mét thuËt to¸n chØ cÇn nghÜ ®Õn c¸c chuçi
trong L, nh­ng ®Ó quyÕt ®Þnh mét ng«n ng÷, nã ph¸i chÊp nhËn chÝnh x¸c hoÆc tõ chèi
mäi chuçi trong 0, 1*.
Nh­ mét vÝ dô, ng«n ng÷ PATH cã thÓ chÊp nhËn ®­îc trong thêi gian ®a thøc. Mét
thêi gian ®a thøc chÊp nhËn hoµn toµn thuËt to¸n mµ G m· ho¸ mét ®å thÞ v« h­íng, trong
®ã u vµ v lµ c¸c ®Ønh cña G, sau ®ã so s¸nh sè l­îng c¹nh trªn ®­êng ®i ng¾n nhÊt qua k
c¹nh. NÕu G m· ho¸ mét ®å thÞ v« h­íng vµ ®­êng ®i tõ u sang v ®i qua tÊt c¶ k c¹nh, ®Çu
ra cña thuËt to¸n lµ 1 vµ dõng. Ng­îc l¹i thuËt to¸n ch¹y v« h¹n. ThuËt to¸n nµy kh«ng
quyÕt ®Þnh PATH, tuy nhiªn, do nã kh«ng cho ®Çu ra chÝnh x¸c lµ 0 cho c¸c minh ho¹,
trong tr­êng hîp ®ã ®­êng ®i ng¾n nhÊt ®i qua nhiÒu h¬n k c¹nh. Mét thuËt to¸n quyÕt
®Þnh cho PATH ph¶i tõ chèi chÝnh x¸c chuçi nhÞ ph©n kh«ng thuéc vµo PATH. Víi mét
bµi to¸n quyÕt ®Þnh nh­ PATH, mét thuËt to¸n quyÕt ®Þnh lµ dÔ nhËn ra: thay v× ch¹y v«
h¹n khi kh«ng cã ®­êng ®i tõ u sang v qua k c¹nh, thi ®Çu ra cña nã lµ 0 vµ dõng. Víi c¸c
bµi to¸n kh¸c nh­ bµi to¸n Turing’s Halting, tån t¹i mét thuËt to¸n chÊp nhËn, nh­ng
kh«ng tån t¹i thuËt to¸n quyÕt ®Þnh.
Chóng ta cã thÓ ®Þnh nghÜa kh«ng chÝnh thøc mét líp phøc hîp nh­ mét tËp ng«n ng÷,
thµnh phÇn cña nã lµ x¸c ®Þnh ®­îc bëi mét ®¬n vÞ phøc hîp, nh­ thêi gian ch¹y cña mét
thuËt to¸n x¸c ®Þnh víi mét chuçi x thuéc vµo ng«n ng÷ L. §Þnh nghÜa chÝnh x¸c cña líp
phøc hîp lµ kü thuËt h¬n phÇn nµo ®ã- ng­êi ®äc quan t©m xem bµi b¸o cña Hartmanis vµ
Stearn [140].
Sö dông cÊu tróc ng«n ng÷ nµy, chóng ta cã thÓ cung cÊp mét sù chän lùa ®Þnh nghÜa
líp phøc P:
L= L 0, 1*: tån t¹i mét thuËt to¸n A quyÕt ®Þnh L trong thêi gian ®a thøc.
Trong thùc tÕ, P lµ líp c¸c ng«n ng÷ cã thÓ chÊp nhËn ®­îc trong thêi gian ®a thøc.
§Þnh lý 34.2
P= L: L lµ chÊp nhËn ®­îc bëi mét thuËt to¸n thêi gian ®a thøc.
Chøng minh. Tõ líp c¸c ng«n ng÷ quyÕt ®Þnh bëi thuËt to¸n thêi gian ®a thøc, chóng ta
chØ cÇn chØ ra r»ng nÕu L lµ chÊp nhËn ®­îc bëi thuËt to¸n thêi gian ®a thøc, nã ®­îc
quyÕt ®Þnh bëi mét thuËt to¸n thêi gian ®a thøc A. Chóng ta sÏ sö dông mét líp gi¶ ®èi sè
“simulation” ®Ó x©y dùng thuËt to¸n thêi gian ®a thøc kh¸c A’ quyÕt ®Þnh L. Bëi v× A
chÊp nhËn L trong thêi gian O(nk
) víi h»ng sè k, do vËy tån t¹i mét h»ng sè c sao cho A
chÊp nhËn L trong T= cnk
b­íc. Víi mçi chuçi vµo x, thuËt to¸n A’ gi¶ thùc hiÖn A víi
thêi gian T. T¹i cuèi thêi ®iÓm T, thuËt to¸n A’ kiÓm tra c¸ch xö lý cña A. NÕu A chÊp
nhËn x, th× A’ còng chÊp nhËn x b»ng ®Çu ra lµ 1. NÕu A kh«ng chÊp nhËn x th× A’ tõ
chèi x bë ®Çu ra lµ 0. Trªn A’ gi¶ A kh«ng lµm t¨ng thêi gian ch¹y bëi h¬n mét thõa sè
cña ®a thøc, vµ do vËy A’ lµ thuËt to¸n thêi gian ®a thøc quyÕt ®Þnh L.
Chó ý r»ng chøng minh §Þnh lý 34.2 kh«ng cã tÝnh suy diÔn. Víi mçi ng«n ng÷ L P,
chóng ta cã thÓ kh«ng biÕt chÝnh x¸c giíi h¹n cña thêi gian ch¹y cho mçi thuËt to¸n A
chÊp nhËn L. Tuy nhiªn, chóng ta biÕt giíi h¹n lµ lu«n tån t¹i, vµ do vËy mµ tån t¹i mét
thuËt to¸n A’ cã thÓ kiÓm tra ®­îc giíi h¹n ®ã, thËm chÝ qua ®ã chóng ta kh«ng thÓ t×m ra
thuËt to¸n A’ mét c¸ch dÔ dµng.
Bµi tËp
34.1-1
§Þnh nghÜa bµi to¸n tèi ­u LONGEST-PATH-LENGTH nh­ quan hÖ mµ sù liªn hÖ
mçi minh ho¹ cña mét ®å thÞ v« h­íng vµ hai ®Ønh víi sè c¹nh trong ®­êng ®i dµi nhÊt
gi÷a hai c¹nh ®ã. §Þnh nghÜa bµi to¸n quyÕt ®Þnh LONGEST-PATH= G, u, v, k: G=
(V, E) lµ mét ®å thÞ v« h­íng, u, v  V, k 0 lµ mét sè nguyªn, vµ tån t¹i mét ®­êng ®i
®¬n gi¶n tõ u sang v ®i qua k c¹nh. ChØ ra r»ng bµi to¸n tèi ­u LONGEST-PATH-
LENGTH cã thÓ gi¶i ®­îc trong thêi gian ®a thøc nÕu vµ chØ nÕu LONGEST-PATH P.
34.1-2
Víi mét ®Þnh nghÜa chuÈn cho bµi to¸n t×m chu tr×nh ®¬n gi¶n dµi nhÊt trong mét ®å
thÞ v« h­íng. H·y ®­a ra mét bµi to¸n quyÕt ®Þnh quan hÖ. §­a ra mét ng«n ng÷ t­¬ng
®ång cho bµi to¸n quyÕt ®Þnh.
34.1-3
§­a ra mét m· ho¸ chuÈn t¾c cña ®å thÞ cã h­íng nh­ c¸c x©u nhÞ ph©n cã sö dông
biÓu diÔn d­íi d¹ng ma trËn kÒ. Lµm t­¬ng tù cã trong tr­êng hîp sö dông biÓu diÔn danh
s¸ch kÒ. Gîi ý lµ hai biÓu diÔn cã quan hÖ ®a thøc.
34.1-4
Cã ph¶i thuËt to¸n ch­¬ng tr×nh ®éng cho bµi to¸n ba l« (knapsack) 0-1 mµ c©u hái
trong Bµi tËp 16.2-2 lµ mét thuËt to¸n cã thêi gian ®a thøc ? H·y tr×nh c©u tr¶ tr¶ lêi.
34.1-5
ChØ ra r»ng mét thuËt to¸n kh¸c cã thêi gian ®a thøc ®­îc x©y dùng b»ng c¸ch gäi mét
sè lÇn kh«ng ®æi c¸c thñ tôc con cã thêi gian ®a thøc ch¹y trong thêi gian ®a thøc, nh­ng
mét ®a thøc cã sè lÇn gäi thñ tôc con cã thêi gian ®a thøc cã thÓ ®­a ra kÕt qu¶ thuËt gi¶i
trong thêi gian kh«ng an toµn.
34.1-6
ChØ ra r»ng líp P, xem nh­ mét tËp ng«n ng÷, ®ãng víi phÐp hîp, phÐp giao, phÐp nèi,
phÐp lÊy phÇn bï, vµ Kleene star. §ã lµ, nÕu L1, L2 P, th× L1L2 P,
34.2 KiÓm tra thêi gian ®a thøc
B©y giê chóng ta xem thuËt to¸n “kiÓm tra” (verify) c¸c thµnh phÇn trong ng«n ng÷. VÝ
dô, gi¶ sö r»ng víi viÖc lÊy mét minh ho¹ G, u, v, k cña bµi to¸n quyÕt ®Þnh PATH,
chóng ta ®­a ra mét ®­êng ®i tõ u sang v. Ta cã thÓ dÔ dµng kiÓm tra ®é dµi cña p tÊt c¶ k
lÇn, vµ do vËy, chóng ta cã thÓ xem p nh­ mét “dÉn chøng” (certificate) mµ minh ho¹
thùc sù thuéc vÒ PATH. Víi bµi to¸n quyÕt ®Þnh PATH, nh÷ng dÉn chøng nµy kh«ng coi
lµ thuyÕt phôc chóng ta h¬n. Vµ khi ®ã, PATH thuéc P- thùc sù, PATH cã thÓ gi¶i ®­îc
trong thêi gian tuyÕn tÝnh- vµ do vËy c¸c dÉn chøng thµnh phÇn tõ viÖc ®­a ra dÉn chøng
x¸c thùc ®Ó gi¶i bµi to¸n tõ mí hçn ®én. B©y giê chóng ta xÐt mét bµi to¸n mµ chóng ta
biÕt thuËt gi¶i trong thêi gian phi ®a thøc, ®­a ra mét dÉn chøng, dÉn chøng nµy rÊt dÔ.
Chu tr×nh Hamilton
Bµi to¸n t×m mét chu tr×nh Hamilton trong ®å thÞ v« h­íng ®· ®­îc nghiªn cøu hµng
tr¨m n¨m nay. ChÝnh x¸c lµ chu tr×nh Hamilton cña mét ®å thÞ v« h­íng G= (V, E) lµ chu
tr×nh ®¬n gi¶n gåm tÊt c¶ c¸c ®Ønh trong V. Mét ®å thÞ cã chu tr×nh Hamilton ®­îc gäi lµ
®å thÞ hamilton (hamiltonian), ng­îc l¹i gäi lµ phi hamilton (nonhamiltonian)..
Chóng ta cã thÓ ®Þnh nghÜa bµi to¸n chu tr×nh hamilton, “Mét ®å thÞ G cã mét chu tr×nh
hamilton kh«ng ?” nh­ mét ng«n ng÷ chuÈn:
HAM-CYCLE= G: G lµ mét ®å thÞ hamilton
Mét thuËt to¸n cã thÓ quyÕt ®Þnh ng«n ng÷ HAM-CYCLE ra sao? Víi mét minh ho¹
bµi to¸n G, mét kh¶ n¨ng quyÕt ®Þnh danh s¸ch tÊt c¶ c¸c ho¸n vÞ c¸c ®Ønh cña G vµ sau
®ã kiÓm tra mét ho¸n vÞ ®Ó xem nÕu nã lµ mét ®­êng hamilton. Thêi gian cña thuËt to¸n ë
®©y lµ g× ? NÕu chóng ta sö dông m· ho¸ “phï hîp” (reasonable) cña mét ®å thÞ nh­ mét
ma trËn kÒ cña nã, sè m c¸c ®Ønh trong ®å thÞ lµ )( n , víi n= |G| lµ ®é dµi m· ho¸ cña
G. Cã m! kh¶ n¨ng ho¸n vÞ cña c¸c ®Ønh, vµ do vËy thêi gian ch¹y lµ
)2()!()!( n
mm  , nã kh¸c (nk) víi k lµ h»ng sè. Do ®ã thuËt to¸n kh«ng ch¹y
trong thêi gian ®a thøc. Trong thùc tÕ bµi to¸n chu tr×nh hamilton lµ NP- ®ñ, nh­ chóng ta
sÏ chøng minh trong môc 34.5.
ThuËt to¸n x¸c minh
XÐt mét bµi to¸n dÔ dµng vµ cô thÓ h¬n. Gi¶ sö r»ng mét ng­êi b¹n nãi víi b¹n r»ng
cho mét ®å thÞ G lµ hamilton, vµ sau ®ã chøng minh b»ng c¸ch s¾p xÕp c¸c c¸c ®Ønh cña
®å thÞ däc theo chu tr×nh hamilton. §­¬ng nhiªn lµ dÔ ®Ó thÈm ®Þnh chøng minh: thÈm
®Þnh ®¬n gi¶n r»ng chu tr×nh ®­îc ®­a ra lµ hamilton b»ng c¸ch kiÓm tra nã lµ ho¸n vÞ cña
c¸c ®Ønh trong V vµ mçi ®Ønh kÒ thùc sù thuéc vÒ chu tr×nh tån t¹i trong ®å thÞ. ThuËt
to¸n x¸c minh cã thÓ thùc hiÖn trong thêi gian O(n2), trong ®ã n lµ ®é dµi m· ho¸ G. Do
vËy, mét chøng minh sù tån t¹i chu tr×nh trong ®å thÞ cã thÓ ®­îc x¸c minh trong thêi
gian ®a thøc.
H×nh 34.2 (a) Mét ®å thÞ biÓu diÔn c¸c ®Ønh, c¸c c¹nh vµ bÒ mÆt cña khèi m­êi hai mÆtt víi
mét chu tr×nh haminton ®­îc biÓu diÔn b»ng c¸c c¹nh t« ®Ëm. (b) Mét ®å thÞ song song víi sè ®Ønh lÎ.
§ã lµ mét ®å thÞ phi haminton.
Chóng ta ®Þnh nghÜa mét thuËt to¸n x¸c minh nh­ mét cÆp ®Ò xuÊt (double-argument)
thuËt to¸n A, mét ®Ò xuÊt lµ mét chuçi ®Çu vµo th«ng th­êng x vµ ®Ò xuÊt kia lµ mét
chuçi nhÞ ph©n y gäi lµ mét x¸c minh. Mét cÆp ®Ò xuÊt thuËt to¸n A x¸c minh mét ®Çu
vµo x nÕu tån t¹i mét x¸c minh y sao cho A(x, y)= 1. Ng«n ng÷ x¸c minh ®­îc ph¸t biÓu
nh­ sau:
L= x 0,1 *: tån t¹i y 0,1 * sao cho A(x, y)= 1.
B»ng trùc gi¸c, mét thuËt to¸n A x¸c minh mét ng«n ng÷ L nÕu víi chuçi bÊt kú xL,
cã mét x¸c minh y mµ A cã thÓ sö dông ®Ó chøng minh r»ng xL. H¬n n÷a, víi mçi
chuçi x L, ph¶i kh«ng cã x¸c minh nµo chØ ra r»ng xL. vÝ dô, bµi to¸n chu tr×nh
halmiton, lêi x¸c minh lµ danh s¸ch c¸c ®Ønh trong chu tr×nh hamilton, b¶n th©n chu tr×nh
hamilton còng ®ñ c¸c th«ng tin ®Ó x¸c thùc. Ng­îc l¹i, nÕu mét ®å thÞ kh«ng ph¶i lµ
hamilton, kh«ng cã danh s¸ch ®Ønh nµo l¹i l·ng phÝ ®Ó ®i x¸c minh thuËt to¸n ®Ó tin r»ng
®å thÞ lµ hamilton, tõ viÖc kiÓm tra x¸c minh thuËt to¸n mét c¸ch cÈn thËn th× viÖc ®­a ra
chu tr×nh lµ cùc kú ch¾c ch¾n.
Líp phøc NP
Líp phøc NP lµ líp ng«n ng÷ cã thÓ kiÓm tra b»ng thuËt to¸n thêi gian ®a thøc 6.
ChÝnh x¸c h¬n, ng«n ng÷ L thuéc líp NP nÕu vµ chØ nÕu tån t¹i thuËt to¸n thêi gian ®a
thøc hai ®Çu vµo A vµ h»ng sè c sao cho
L= x 0,1 *: tån t¹i mét x¸c minh u víi |y|= Q(|x|c|) sao cho A(x, y)= 1.
Ta nãi r»ng thuËt to¸n A kiÓm tra ng«n ng÷ L víi thêi gian ®a thøc.
Theo nh÷ng th¶o luËn tr­íc ®©y vÒ bµi to¸n chu tr×nh Hamilton, ta thÊy HAM-CYCLE
NP. ( SÏ lµ cã Ých ®Ó biÕt r»ng tËp hîp NP quan träng nµy kh«ng rçng.) H¬n n÷a, nÕu L
P, th× L NP, tõ ®ã nÕu cã mét thuËt to¸n quyÕt ®Þnh L, th× thuËt to¸n ®ã dÔ dµng ®­îc
chuyÓn thµnh thuËt to¸n x¸c minh 2- ®Ò xuÊt bá qua chøng minh ®¬n gi¶n vµ hoµn to¸n
chÊp nhËn nh÷ng chuçi vµo ®Ó x¸c ®Þnh trong L. Do ®ã, P NP.
Kh«ng biÕt N= NP, nh­ng tÊt c¶ c¸c nghiªn cøu ®Òu tin r»ng P vµ NP kh«ng ph¶i lµ
c¸c líp gièng nhau. B»ng trùc gi¸c, líp P bao gåm c¸c bµi to¸n gi¶i ®­îc mét c¸ch nhanh
chãng. Líp NP bao gåm c¸c bµi to¸n mµ mçi lêi gi¶i cã thÓ x¸c minh ®­îc mét c¸ch
nhanh chãng. B¹n cã thÓ häc ®­îc nhiÒu kinh nghiÖm lµ th­êng lµ khã kh¨n h¬n ®Ó gi¶i
mét bµi to¸n tõ mí hçn ®én h¬n lµ x¸c minh x¸c minh mét lêi gi¶i ®­îc tr×nh bµy mét
c¸ch s¸ng sña, ®Æc biÖt khi lµm viÖc d­íi thêi gian cho phÐp. Lý thuyÕt khoa häc m¸y tÝnh
nãi chung tin r»ng nh÷ng më réng t­¬ng tù nµy cho líp phøc P vµ NP, vµ do ®ã NP bao
gåm c¸c ng«n ng÷ kh«ng n»m trong P.
6
Tªn NP chuÈn cho “tÝnh kh«ng quyÕt ®Þnh thêi gian ®a thøc”. Líp NP ®­îc nghiªn cøu nguyªn b¶n
trong ng÷ c¶nh kh«ng quyÕt ®Þnh, nh­ng cuèn s¸ch nµy ®«i khi ®¬n gi¶n ho¸ b»ng c¸ch ®Þnh nghÜa sù x¸c
minh. Hopcroft vµ Ultman [156] ®­a ra mét biÓu diÔn tãt cña tÝnh NP- ®ñ trong viÖc giíi h¹n m« h×nh
kh«ng quyÕt ®Þnh cña viÖc tÝnh to¸n.
§iÒu nµy lµ b»ng chøng thuyÕt phôc h¬n ®Ó chØ ra r»ng P NP- sù tån t¹i cña ng«n ng÷
lµ NP- ®ñ. Chóng ta sÏ nghiªn cøu líp nµy trong môc 34.3.
RÊt nhiÒu c©u hái nÒn t¶ng ngoµi c©u hái P NP vÉn kh«ng gi¶i ®­îc. MÆc dï ®·
nghiªn cøu rÊt nhiÒu nh­ng thËm chÝ kh«ng ai biÕt nÕu c¸c líp NP ®ãng víi phÐp lÊy phÇn
bï. §ã lµ víi L NP th× liÖu NPL ? Chóng ta cã thÓ ®Þnh nghÜa líp phøc co- NP nh­
mét tËp ng«n ng÷ L sao cho NPL . C©u hái ë ®©y lµ NP ®ãng víi phÐp lÊy phÇn bï cã
thÓ ®­îc viÕt: NP= NP co-NP. Tõ P ®ãng víi phÐp lÊy phÇn bï (Bµi tËp 34.1-6), th× khi
®ã P = NP co-NP. Ng­îc l¹i, kh«ng biÕt P= NP co-NP hay cã ng«n ng÷ nµo trong
NP co-NP-P. H×nh 34.3 cho thÊy 4 kh¶ n¨ng x¶y ra.
Bµi tËp
34.2-1
XÐt ng«n ng÷ GRAPH-ISOMORPHISM= G1, G2: G1 vµ G2 lµ c¸c ®å thÞ ®ång
d¹ng. Chøng minh r»ng GRAPH-ISOMORPHISM NP b»ng c¸ch m« t¶ thuËt to¸n
trong thêi gian ®a thøc ®Ó x¸c minh ng«n ng÷.
34.2-2
Chøng minh r»ng nÕu G lµ mét ®å thÞ v« h­íng chi ®«i víi sè ®Ønh lÎ th× G lµ kh«ng
ph¶i lµ ®å thÞ hamilton (nonehamiltonian).
34.2-3
Chi ra r»ng nÕu HAM-CYCLE P th× bµi to¸n danh s¸ch c¸c ®Ønh cña chu tr×nh
hamilton, theo thø tù gi¶i ®­îc trong thêi gian ®a thøc.
H×nh 34.3 Bèn kh¶ n¨ng cña quan hÖ gi÷a c¸c líp phøc.
34.2-4
Chøng minh r»ng líp NP cña ng«n ng÷ ®ãng víi phÐp hîp, phÐp giao, phÐp hîp vµ
Kleene star. Nghiªn cøu víi tÝnh ®ãng cña NP víi phÐp hîp.
34.2-5
ChØ ra r»ng mét ng«n ng÷ bÊt kú trong NP cã thÓ ®­îc quyÕt ®Þnh bëi mét thuËt to¸n
ch¹y trong thêi gian 2O(k) víi h»ng sè k nµo ®ã.
34.2-6
Mét ®­êng ®i hamilton trong mét ®å thÞ lµ ®­êng ®i ®¬n theo nghÜa lµ gÆp mçi ®Ønh
®óng mét lÇn. Chøng minh r»ng ng«n ng÷ HAM-PATH= G, u, v, k: cã mét ®­êng ®i
hamilton tõ u ®Õn v trong ®å thÞ G thuéc vµo NP.
34.2-7
ChØ ra r»ng bµi to¸n ®­êng ®i Hamilton cã thÓ ®­îc gi¶i quyÕt trong thêi gian ®a thøc
trªn c¸c ®å thÞ xo¾n cã h­íng. H·y ®­a ra mét thuËt to¸n hiÖu qu¶ cho bµi to¸n nµy.
34.2-8
Cho  lµ mét biÓu thøc logic ®­îc x©y dùng tõ c¸c biÕn logc ®Çu vµo x1, x2, xk, c¸c
phÐp phñ ®Þnh, c¸c phÐp AND vµ c¸c phÐp OR vµ c¸c d©u hoÆc. C«ng thøc  lÆp
(tautology) nÕu gi¸ trÞ cña nã lµ 1 víi mäi biÕn vµo lµ 0 hoÆc 1. §Þnh nghÜa tautology nh­
mét ng«n ng÷ cña c¸c c«ng thøc logic.
34.2-9
ChØ ra r»ng tautology co-NP. Chøng minh r»ng P co-NP.
34.2-10
Chøng minh r»ng nÕu NP co- NP, th× P NP.
34.2-11
Cho G lµ mét ®å thÞ liªn th«ng v« h­íng víi Ýt nhÊt 3 ®Ønh, vµ gi¶ sö r»ng G3 lµ mét ®å
thÞ nhËn ®­îc b»ng c¸ch nèi tÊt c¶ c¸c cÆp ®Ønh mµ ®­îc nèi víi nhau b»ng mét ®­êng ®i
trong G cã ®é dµi tèi ®a lµ 3. Chøng minh r»ng G3 lµ Hamilton. (Gîi ý: x©y dùng mét c©y
më réng cña G, vµ sö dông quy n¹p).
34.3 TÝnh NP- ®ñ vµ hoµn nguyªn (reducibility)
Cã lÏ mäi lý lÏ ®Ó thuyÕt phôc v× sao lý thuyÕt khoa häc m¸y tÝnh l¹i tin r»ng P NP lµ
bëiv× tån t¹i líp bµi to¸n “NP- ®ñ”. Líp nµy ®· lµm ta ng¹c nhiªn ë chç nÕu mét bµi to¸n
NP- ®ñ bÊt kú cã thÓ gi¶i ®­îc trong thêi gian ®a thøc, th× mäi bµi to¸n trong NP cã mét
lêi gi¶i trong thêi gian ®a thøc, ®ã lµ P= NP. Qua nhiÒu n¨m nghiªn cøu cho thÊy, kh«ng
cã thuËt to¸n thêi gian ®a thøc nµo ®­îc t×m ra cho bµi to¸n NP- ®ñ.
Ng«n ng÷ HAM-CYCLE lµ mét bµi to¸n NP- ®ñ. NÕu ta cã thÓ quyÕt ®Þnh HAM-
CYCLE trong thêi gian ®a thøc th× chóng ta cã thÓ gi¶i mäi bµi to¸n trong NP víi thêi
gian ®a thøc. Trong thùc tÕ, nÕu NP- P kh«ng rçng, ta cã thÓ ph¸t biÓu hiÓn nhiªn r»ng
HAM-CYCLE NP- P.
Ng«n ng÷ NP- ®ñ trong tr­êng hîp nµy lµ “khã nhÊt” (hardest) trong NP. Trong môc
nµy, chóng ta sÏ chØ ra lµm thÕ nµo ®Ó so s¸nh quan hÖ “khã” cña ng«n ng÷ sö dông ®Þnh
nghÜa chÝnh x¸c gäi lµ “quy ®­îc vÒ thêi gian ®a thøc”. Khi ®ã chóng ta ®Þnh nghÜa chuÈn
cho ng«n ng÷ NP- ®ñ, vµ kÕt thóc b»ng c¸ch ph¸c ho¹ mét chøng minh mang tÝnh ng«n
ng÷ gäi lµ CIRCUIT- SAT, lµ NP- ®ñ. Trong môc 34,4 vµ 34.5 chóng ta sÏ sö dông ®Þnh
nghÜa quy ®­îc ®Ó chØ ra r»ng nhiÒu bµi to¸n kh¸c lµ NP- ®ñ.
TÝnh hoµn nguyªn
B»ng trùc gi¸c, mét bµi to¸n Q cã thÓ ®­îc quy vÒ mét bµi to¸n Q’ kh¸c nÕu minh ho¹
bÊt kú cña Q cã thÓ “ph¸t biÓu l¹i dÔ dµng” (easily rephrase) nh­ mét minh ho¹ cña Q’,
lêi gi¶i cña nã dïng ®Ó lµm lêi gi¶i cho minh ho¹ bµi to¸n Q. VÝ dô, bµi to¸n ph­¬ng tr×nh
tuyÕn tÝnh gi¶i ®­îc trong mét sù phi x¸c ®Þnh x quy vÒ bµi to¸n ph­¬ng tr×nh bËc hai gi¶i
®­îc. Víi mét minh ho¹ ax+ b= 0, chóng ta biÕn ®æi thµnh 0x2+ ax+ b= 0, lêi gi¶i cña nã
®­îc sö dông ®Ó gi¶i ax+ b= 0. Do vËy, nÕu mét bµi to¸n Q quy vÒ bµi to¸n kh¸c Q’, th× Q
trong tr­êng hîp nµy lµ “kh«ng khã h¬n viÖc gi¶i” Q’.
Trë l¹i cÊu tróc ng«n ng÷ chuÈn cho bµi to¸n quyÕt ®Þnh, chóng ta nãi r»ng mét ng«n
ng÷ L1 lµ quy ®­îc vÒ thêi gian ®a thøc cho ng«n ng÷ L2, ®­îc viÕt lµ L1p L2, nÕu tån
t¹i mét hµm tÝnh to¸n thêi gian ®a thøc f: 0, 1* 0, 1* víi mäi x 0, 1*,x L1
nÕu vµ chØ nÕu f(x) L2.
Chóng ta gäi hµm f lµ hµm quy ®­îc, vµ mét thuËt to¸n thêi gian ®a thøc F dïng ®Ó
tÝnh f ®­îc gäi lµ thuËt to¸n quy ®­îc.
H×nh 34.4 minh ho¹ ý cña sù quy vÒ thêi gian ®a thøc tõ mét ng«n ng÷ L1 cho ng«n
ng÷ L2. Mçi ng«n ng÷ lµ mét tËp cña 0, 1*. Hµm quy vÒ f ®­a ra mét sù s¾p xÕp thêi
gian ®a thøc sao cho nÕu x L1 th× f(x) L2. H¬n n÷a, nÕu x L1, th× f(x)  L2. Do vËy,
hµm quy vÒ ®­a ra minh ho¹ x bÊt kú cña bµi to¸n quyÕt ®Þnh ®­îc tr×nh bÇy bëi ng«n ng÷
L1 cho mét minh ho¹ f(x) cña bµi to¸n ®­îc biÓu diÔn bëi L2. ViÖc ®­a ra mét c©u tr¶ lêi
chÝnh x¸c f(x) L2 sÏ xung cÊp c©u tr¶ lêi x L1.
PhÐp quy vÒ thêi gian ®a thøc cho chóng ta nh÷ng c«ng cô m¹nh ®Ó t×m ra nhiÒu ng«n
ng÷ kh¸c thuéc P.
H×nh 34.4 Mét minh ho¹ cña mét ®a thøc quy gän.
Bæ ®Ò 34.3
NÕu L1, L2 0, 1* lµ c¸c ng«n ng÷ sao cho L1p L2, th× L2 P bao hµm L1P.
Chøng minh: Cho A2 lµ mét thuËt to¸n thêi gian ®a thøc quyÕt ®Þnh L2, vµ ®Æt F lµ mét
thuËt to¸n quy vÒ thêi gian ®a thøc tÝnh hµm quy vÒ f. Chóng ta sÏ x©y dùng mét thuËt
to¸n thêi gian ®a thøc A1 quyÕt ®Þnh L1.
H×nh 34.5 minh ho¹ viÖc x©y dùng A1. Víi mçi ®Çu vµo x 0, 1*, thuËt to¸n A1 sö
dông F ®Ó chuyÓn x thµnh f(x), vµ khi ®ã nã sö dông A2 ®Ó kiÓm tra f(x) L2. §Çu ra cña
A2 lµ gi¸ trÞ ®­îc cung cÊp nh­ ®Çu ra tõ A1.
Sù chÝnh x¸c cña A1 ®­îc quy ra tõ ®iÒu kiÖn (34.1). ThuËt to¸n ch¹y trong thêi gian
®a thøc, bëi v× F vµ A2 ch¹y trong thêi gian ®a thøc (xem bµi tËp 34.1-5).
TÝnh NP- ®ñ
Sù quy vÒ thêi gian ®a thøc cho ta mét c«ng cô chuÈn ®Ó chØ ra r»ng mét bµi to¸n Ýt ra
còng khã nh­ c¸c bµi to¸n kh¸c, cïng víi yÕu tè thêi gian ®a thøc. NghÜa lµ nÕu cho L1p
L2, th× L1 kh«ng khã h¬n mét yÕu tè thêi gian ®a thøc mµ v× sao ký hiÖu nhá h¬n hoÆc
b»ng cho viÖc quy vÒ nhí ®­îc. Chóng ta cã thÓ ®Þnh nghÜa mét tËp c¸c ng«n ng÷ NP- ®ñ
mµ lµ c¸c bµi to¸n khã nhÊt trong NP. Mét ng«n ng÷ L 0, 1* lµ NP- ®ñ nÕu
L NP, vµ
L’p L víi mäi L’ NP.
NÕu mét ng«n ng÷ L tho¶ m·n tÝnh chÊt 2, nh­ng kh«ng cÇn thiÕt tho¶ m·n tÝnh chÊt 1,
ta nãi r»ng L lµ NP- khã. Chóng ta còng ®Þnh nghÜa NPC lµ líp c¸c ng«n ng÷ NP- ®ñ.
Nh­ ®Þnh lý trªn chØ ra, tÝnh NP- ®ñ lµ mét vÊn ®Ò nan gi¶i trong viÖc x¸c ®Þnh P cã
thùc sù b»ng NP hay kh«ng.
§Þnh lý 34.4
NÕu bÊt kú mét bµi to¸n NP- ®ñ nµo lµ gi¶i ®­îc ®a thøc, th× P= NP. Mét c¸ch t­¬ng
®­¬ng nÕu bÊt kú mét bµi to¸n trong NP lµ kh«ng gi¶i ®­îc ®a thøc th× kh«ng cã bµi to¸n
NP- ®ñ nµo lµ gi¶i ®­îc ®a thøc.
Chøng minh Gi¶ sö r»ng L P vµ L NPC. Víi bÊt kú L’ NP, ta cã L’p L theo tÝnh
chÊt 2 cña ®Þnh nghÜa tÝnh NP- ®ñ. Do ®ã, b»ng bæ ®Ò 34.3 chóng ta còng cã L’ P, ®iÒu
nµy ®· chøng minh ph¸t biÓu thø nhÊt cña ®Þnh lý.
H×nh 34.5 Chøng minh cña Bæ ®Ò 34.3
§Ó chøng minh ý sau, chó ý r»ng ®ã lµ ph¸t biÓu d­íi d¹ng ng­îc l¹i cña ph¸t biÓu thø
nhÊt.
V× lý do nµy c¸c nghiªn cøu trong c©u hái P NP tËp trung xung quanh bµi to¸n NP-
®ñ. HÇu hÕt c¸c nhµ lµm vÒ lý thuyÕt m¸y tÝnh nghÜ r»ng P NP, dÉn tíi nh÷ng mèi liªn
hÖ gi÷a P, NP, vµ NPC ®­îc chØ ra trong h×nh 34.6. Nh­ng chóng ta còng biÕt, cã thÓ cã
mét thuËt to¸n thêi gian ®a thøc cho bµi to¸n NP- ®ñ, do ®ã chøng minh r»ng P= NP. MÆt
kh¸c,bëi v× ®Õn nay kh«ng cã mét thuËt to¸n thêi gia ®a thøc nµo cho bµi to¸n NP- ®ñ,
mét chøng minh r»ng mét bµi to¸n NP- ®ñ sÏ cho ta mét b»ng chøng x¸c thùc cho nh÷ng
khã kh¨n nµy.
M¹ch tho¶ ®­îc (Circuit satisfiability)
Chóng ta ®Þnh nghÜa c¸c kh¸i niÖm cña mét bµi to¸n NP- ®ñ, nh­ng ë trªn, chóng ta
kh«ng chøng minh ®­îc chÝnh x¸c mét bµi to¸n bÊt kú lµ NP- ®ñ.Ngay c¶ khi chóng ta
chøng minh ®­îc mét bµi to¸n lµ NP- ®ñ, th× ta cã thÓ sö dông phÐp quy vÒ thêi gian ®a
thøc nh­ mét c«ng cô ®Ó chøng minh tÝnh NP- ®ñ cña mét bµi to¸n kh¸c. Do vËy, b©y giê
chóng ta tËp trung vµo chøng minh sù tån t¹i cña bµi to¸n NP- ®ñ: bµi to¸n tho¶ ®­îc
(Circuit- satisfiability)
RÊt ®¸ng tiÕc, c¸ch thøc chøng minh bµi to¸n m¹ch tho¶ ®­îc lµ NP- ®ñ ®ßi hßi kü
thuËt chi tiÕt ngoµi ph¹m vi cuèn s¸ch nµy. Thay v× ®ã, chóng ta sÏ m« t¶ mét c¸ch ®¬n
gi¶n mét chøng minh tin cËy trªn c¬ së nh÷ng hiÓu biÕt c¬ b¶n vÒ m¹ch tæ hîp logic.
M¹ch tæ hîp hîp logic ®­îc x©y dùng tõ c¸c yÕu tè logic ®­îc nèi víi nhau bëi hÖ
thèng d©y. Mét yÕu tè logic (boolean combinational element) lµ mét m¹ng bÊt kú chøa
mét sè kh«ng ®æi c¸c ®Çu vµo vµ ®Çu ra logic ®Ó xö lý mét hµm ®Þnh nghÜa tèt. Gi¸ trÞ
logic ®­îc lÊy tõ tËp 0, 1, trong ®ã 0 biÓu thÞ gi¸ trÞ FALSE vµ 1 biÓu thÞ gi¸ trÞ TRUE.
C¸c yÕu tã tæ hîp logic mµ chóng ta sö dông trong m¹ch tho¶ ®­îc ®Ó tÝnh mét hµm
logic ®¬n gi¶n, vµ chóng ®­îc xem nh­ c¸c cæng logic. H×nh 34.7 chØ ra ba cæng logic c¬
b¶n sö dông trong bµi to¸n m¹ch tho¶ ®­îc: cæng NOT (hay inverter), cæng AND, vµ
cæng OR. Cæng NOT cho mét ®Çu vµo nhÞ ph©n ®¬n gi¶n x. gi¸ trÞ cña nã lµ 0 hoÆc 1, vµ
H×nh 34.6 HÇu hÕt lý thuyÕt vÒ khoa häc m¸y tÝnh ®Òu ®­a ra c¸c mèi quan hÖ gi÷a P, NP vµ NPC.
cho ta ®Çu ra nhÞ ph©n z cã gi¸ trÞ lµ ®èi lËp víi ®Çu vµo. Mçi cÆp cæng kh¸c víi hai ®Çu
vµo nhÞ ph©n x vµ y vµ ®Çu ra nhÞ ph©n z.
ViÖc xö lý mçi cæng, vµ yÕu tè tæ hîp logic cã thÓ m« t¶ bëi b¶ng ®óng (truth table),
xem c¸c cæng phia d­íi trong h×nh 34.7. Mét b¶ng ®óng cho ta ®Çu ra cña yÕu tè tæ hîp
víi mçi kh¶ n¨ng cµi ®Æt ®Çu vµo. VÝ dô, b¶ng ®óng cho cæng OR cho chóng ta biÕt khi
nµo ®Çu vµo lµ x=0 vµ y=1, ®Çu ra cã gi¸ trÞ x=1. Chóng ta sö dông  ®Ó ký hiÖu hµm
NOT,  ký hiÖu hµm AND, vµ  ký hiÖu hµm OR. Do ®ã, vÝ dô 01=1.
Chóng ta cã thÓ kÕt hîp cængAND vµ OR ®Ó ®­a ra nhiÒu h¬n hai ®Çu vµo. Mét ®Çu ra
cña cæng AND lµ 1 nÕu tÊt c¶ c¸c ®Çu vµo lµ 1, vµ ®Çu ra lµ 0 trong tr­êng hîp ng­îc l¹i.
Mét ®Çu ra cña cæng OR lµ 1 nÕu mét trong c¸c ®Çu vµo lµ 1, vµ lµ 0 trong tr­êng hîp
ng­îc l¹i.
Mét m¹ch tæ hîp logic bao gåm mét hoÆc nhiÒu yÕu tè tæ hîp logic ®­¬c nèi víi nhau
bëi c¸c d©y. Mét d©y cã thÓ nèi ®Çu vµo cña yÕu tè nµy víi ®Çu ra cña yÕu tè kh¸c b»ng
c¸ch cung cÊp gi¸ trÞ ra cña yÕu tè ®Çu tiªn nh­ ®Çu vµo cña yÕu tè thø hai. H×nh 34.8 chØ
ra hai m¹ch tæ hîp logic t­¬ng tù; chóng kh¸c nhau chØ bëi mét cæng. PhÇn (a) cña h×nh
vÏ cßn chØ ra gi¸ trÞ trªn tõng d©y, cho ®Çu vµo x1= 1, x2= 1, x3= 0. MÆc dï mét d©y
®¬n cã thÓ kh«ng cã nhiÒu h¬n mét yÕu tè tæ hîp ®Çu ra nèi víi nã, nã cã thÓ xö lý vµi
yÕu sè ®Çu vµo. Sè yÕu tè ®Çu vµo ®­îc xö lý bëi mét d©y ®­îc gäi lµ qu¹t ra (fan- out)
cña d©y. NÕu kh«ng cã yÕu tè ra nµo ®­îc nèi víi mét d©y, th× d©y lµ mét m¹ch ®Çu vµo,
viÖc chÊp nhËn gi¸ trÞ ®Çu vµo lµ tõ nguån më réng. NÕu kh«ng cã yÕu tè ra nµo ®­îc nèi
víi mét d©y, th× d©y gäi lµ m¹ch ra, viÖc cung cÊp kÕt qu¶ cña tÝnh to¸n m¹ch ®Ó bªn
ngoµi thÕ giíi. (Mét d©y trong cã thÓ thæi ra mét m¹ch ®Çu ra.) Víi gi¶ thiÕt ®Þnh nghÜa
bµi to¸n m¹ch tho¶ ®­îc chóng ta giíi h¹n sè l­îng ®Çu ra cña m¹ch lµ 1, qua viÖc thiÕt
kÕ bªn trong phÇn cøng, mét m¹ch tæ hîp logic cã thÓ cã nhiÒu ®Çu ra.
M¹ch tæ hîp logic kh«ng chøa vßng. Tong tr­êng hîp kh¸c, gi¶ sö chóng ta t¹o ra mét
®å thÞ cã h­íng G= (V, E) víi mét ®Ønh lµ mét yÕu tè tæ hîp logic vµ k c¹nh cã h­íng víi
mçi d©y mµ ®Çu ra lµ k; tån t¹i mét c¹nh (u, v) nÕu mét d©y nèi ®Çu ra cña u víi ®Çu vµo
cña v. Khi ®ã G ph¶i xÕp xo¾n.
H×nh 34.7 Ba cæng logÝc
Mét thùc hiÖn ®óng cho mét m¹ng tæ hîp logic lµ mét tËp ®Çu vµo c¸c gi¸ trÞ logic. Ta
nãi r»ng ®Çu ra cña mét m¹ng tæ hîp logic lµ tho¶ ®­îc nÕu nã thùc cã mét thùc hiÖn tho¶
®­îc: mét thùc hiÖn ®óng t¹o ra ®Çu ra cña m¹ng b»ng 1. VÝ dô, m¹ng trong h×nh vÏ 34.8
a cã thùc hiÖn tho¶ ®­îc x1=1, x2 =1, x3 =0, vµ do ®ã nã tho¶ ®­îc. Khi bµi tËp 34.3-1
yªu cÇu chØ ra r»ng kh«ng cã thùc hiÖn nµo cña c¸c gi¸ trÞ x1, x2 vµ x3 t¹o ra m¹ng trong
h×nh 34.8 b cho ®Çu ra 1. Nã lu«n lu«n cho ®Çu ra lµ 0, vµ do ®ã nã kh«ng tho¶ ®­îc.
Mét bµi to¸n vÒ tÝnh tho¶ ®­îc m¹ng lµ, “cho tr­íc mét m¹ng tæ hîp logic t¹o thµnh tõ
c¸c cæng AND, OR vµ NOT, khi nµo nã tho¶ ®­îc”. §Ó ®Æt c©u hái nµy mét c¸ch ®óng
®¾n, tuy nhiªn, chóng ta ph¶i chÊp nhËn mét m· tiªu chuÈn cho c¸c m¹ng. KÝch th­íc cña
mét m¹ng tæ hîp logic lµ sè c¸c phÇn tö tæ hîp logic céng sè c¸c d©y trong m¹ng. Ng­êi
ta cã thÓ ®Æt ra mét m· gièng nh­ ®å thÞ mµ ®­a bÊt kú mét m¹ng cho tr­íc C nµo ®ã vµo
mét chuçi nhÞ ph©n C cã ®é dµi lµ kÝch th­íc ®a thøc. Nh­ ng«n ng÷ chÝnh thøc, chóng
ta cã thÓ ®Þnh nghÜa
CIRCUIT-SAT= C: C lµ mét m¹ng tæ hîp logic tho¶ ®­îc
Bµi to¸n vÒ tÝnh tho¶ ®­îc m¹ng ph¸t sinh trong lÜnh vùc m¸y tÝnh- trî gióp tèi ­u ho¸
phÇn cøng. NÕu mét m¹ng con lu«n lu«n cho ra gi¸ trÞ 0, m¹ng con ®ã cã thÓ ®­îc thay
thÕ b»ng mét m¹ng con ®¬n gi¶n h¬n mµ bá qua tÊt c¶ c¸c cæng logic lu«n cho ra gi¸ trÞ 0
nh­ ®Çu ra cña nã.SÏ rÊt tiÖn Ých nÕu ta cã mét thuËt to¸n ®a thøc cho bµi to¸n nµy.
Cho tr­íc mét m¹ng C, chóng ta cã thÓ cè g¾ng x¸c ®Þnh xem khi nµo chóng tho¶ ®­îc
b»ng c¸ch kiÓm tra mét c¸ch ®¬n gi¶n tÊt c¶ c¸c thùc hiÖn cã thÓ cña ®Çu vµo. §¸ng tiÕc
r»ng, nÕu cã k ®Çu vµo, sÏ cã 2k
thùc hiÖn cã thÓ. Khi kÝch th­íc cña C lµ mét ®a thøc
theo k, kiÓm tra mçi tr­êng hîp cÇn thêi gian (2k
), mµ nã lµ siªu ®a thøc theo kÝch th­íc
cña m¹ng. Thùc ra lµ, nh­ ta ®· ph¸t biÓu, cã mét b»ng chøng hiÓn nhiªn r»ng kh«ng tån
t¹i thuËt to¸n thêi gian ®a thøc ®Ó gi¶i quyÕt bµi to¸n vÒ tÝnh tho¶ ®­îc m¹ng bëi v× tÝnh
tho¶ ®­îc m¹ng lµ NP- ®ñ. Chóng ta chia chøng minh nµy thµnh 2 phÇn, dùa trªn hai phÇn
cña ®Þnh nghÜa vÒ tÝnh NP- ®ñ.
Bæ ®Ò 34.5
Bµi to¸n vÒ m¹ng tho¶ ®­îc thuéc líp NP.
Chøng minh: Chóng ta sÏ cung cÊp mét ®Çu vµo ®«i, thuËt to¸n A víi thêi gian ®a thøc
cã thÓ x¸c ®Þnh CIRCUIT-SAT. Mét trong sè nh÷ng ®Çu vµo cho A lµ mét m¹ng tæ hîp
logic C, mét trong sè c¸c chuÈn m· ho¸. §Çu vµo cßn l¹i lµ mét lêi gi¶i t­¬ng øng víi mét
H×nh 34.8 Hai minh ho¹ cña bµi to¸n m¹ch tho¶ ®­îc
c¸ch g¸n c¸c gi¸ trÞ logic cho c¸c d©y trong C. (Xem bµi to¸n 34.3-4 ®Ó t×m mét lêi gi¶i
nhá nhÊt).
ThuËt to¸n A ®­îc x©y dùng nh­ sau. Cho mçi cæng logic trong m¹ng, ta kiÓm tra gi¸
trÞ ®­îc sinh ra bëi lêi gi¶i trªn d©y ®Çu ra ®­îc tÝnh to¸n ®óng nh­ mét hµm cña c¸c gi¸
trÞ trªn c¸c d©y ë ®Çu ra. Sau ®ã, nÕu kÕt qu¶ cña toµn bé m¹ng lµ 1, thuËt to¸n cho ra gi¸
trÞ 1, v× c¸c gi¸ trÞ ®­îc g¸n cho c¸c ®Çu vµo cña C cung cÊp mét c¸ch g¸n tho¶ m·n.
B»ng kh«ng, A cho gi¸ trÞ 0.
BÊt cø lóc nµo mét m¹ng C tho¶ ®­îc lµ ®Çu vµo cho thuËt to¸n A, cã mét lêi gi¶n mµ
®é dµi cña nã lµ ®¹i sè so víi kÝch th­íc cña C vµ v× vËy A cho gi¸ trÞ 1. BÊt cø lóc nµo
mét m¹ng kh«ng tho¶ ®­îc lµ nguån vµo, kh«ng mét lêi gi¶i nµo cã thÓ “lõa” thuËt to¸n
A vµo t×nh tr¹ng tho¶ ®­îc. Nh­ vËy, CIRCUIT-SAT cã thÓ gi¶i ®­îc víi thêi gian ®a
thøc, vµ CIRCUIT-SAT  NP.
PhÇn thø hai cña chøng minh CIRCUIT-SAT lµ NP-®Çy ®ñ lµ chØ ra r»ng ng«n ng÷ lµ
NP-khã. §ã lµ, chóng ta ph¶i chØ ra r»ng mäi ng«n ng÷ trong NP lµ cã thÓ gi¶m tíi thêi
gian ®a thøc tíi CIRCUIT-SAT. Chøng minh thùc sù cña thùc tÕ nµy th× kü thuËt ®Çy phøc
t¹p, vµ chóng ta sÏ ®­a ra mét c¸ch s¬ l­îc cña chøng minh dùa trªn mét sè hiÓu biÕt vÒ
sù ho¹t ®éng cña phÇn cøng cña m¸y tÝnh.
Mét ch­¬ng tr×nh m¸y tÝnh ®­îc l­u gi÷ trong bé nhí m¸y tÝnh nh­ mét d·y c¸c c©u
lÖnh. Mét c©u lÖnh ®iÓn h×nh m· ho¸ mét phÐp tÝnh cÇn thùc hiÖn, ®Þa chØ c¸c to¸n h¹ng
trong bé nhí, vµ mét ®Þa chØ l­u gi÷ kÕt qu¶. Mét vÞ trÝ ®Þa chØ ®Æc biÖt trong bé nhí, ®­îc
gäi lµ bé ®Õm ch­¬ng tr×nh, theo dâi n¬i mµ c©u lÖnh kÕ tiÕp sÏ ®­îc thùc hiÖn. Bé ®Õm
ch­¬ng tr×nh tù ®éng t¨ng ngay khi mét chØ thÞ ®­îc t×m thÊy, v× vËy mµ m¸y tÝnh thùc
hiÖn c¸c c©u lÖnh mét c¸ch tuÇn tù. Tuy nhiªn, sù thùc hiÖn mét c©u lÖnh cã thÓ ghi mét
gi¸ trÞ vµo bé ®Õm ch­¬ng tr×nh, vµ khi ®ã tr×nh tù thùc hiÖn b×nh th­êng cã thÓ bÞ thay
®æi, cho phÐp m¸y tÝnh thùc hiÖn vßng lÆp vµ thùc hiÖn c¸c nh¸nh ®iÒu kiÖn
T¹i bÊt cø vÞ trÝ nµo trong qu¸ tr×nh thùc thi cña mét ch­¬ng tr×nh, toµn bé tr¹ng th¸i
cña viÖc tÝnh to¸n ®­îc thÓ hiÖn trong bé nhí cña m¸y tÝnh. (Chóng ta lÊy bé nhí cho b¶n
th©n ch­¬ng tr×nh, bé ®Õm ch­¬ng tr×nh, n¬i l­u tr÷ lµm viÖc, vµ bÊt cø bit tr¹ng th¸i nµo
mµ m¸y tÝnh l­u gi÷ ®Ó tÝnh to¸n). Chóng ta gäi bÊt cø tr¹ng th¸i ®Æc biÖt nµo cña bé nhí
m¸y tÝnh lµ cÊu h×nh. Sù thùc hiÖn mét c©u lÖnh cã thÓ ®­îc h×nh dung nh­ lµ mét phÐp
¸nh x¹ mét cÊu h×nh tíi mét cÊu h×nh kh¸c. Mét ®iÒu quan träng lµ phÇn cøng m¸y tÝnh,
thø thùc hiÖn sù ¸nh x¹ nµy cã thÓ ®­îc diÔn t¶ nh­ mét m¹ng tæ hîp logic mµ ta sÏ ký
hiÖu lµ M trong chøng minh cña bæ ®Ò sau ®©y.
Bæ ®Ò 34.6
Bµi to¸n m¹ng tho¶ ®­îc lµ NP-khã.
Chøng minh: LÊy L lµ mét ng«n ng÷ bÊt kú trong NP. Chóng ta sÏ m« t¶ mét thuËt to¸n
F thêi gian ®a thøc tÝnh to¸n mét hµm f tèi gi¶n, hµm f ¸nh x¹ mäi x©u x thµnh mét m¹ng
C = f(x) sao cho x  L khi vµ chØ khi C  CIRCUIT-SAT.
V× L  NP nªn ph¶i cã mét thuËt to¸n A chøng minh L cã thíi gian ®a thøc. ThuËt to¸n
F mµ chóng ta sÏ x©y dùng sÏ sö dông hai ®Çu vµo cña thuËt to¸n A ®Ó tÝnh to¸n hµm tèi
gi¶n f.
Ký hiÖu T(n) lµ thêi gian ch¹y trong tr­êng hîp xÊu nhÊt cña thuËt to¸n A víi x©u vµo
cã ®é dµi n, vµ ký hiÖu k 1 lµ mét h»ng sè sao cho T(n) = O ( nk
) vµ ®é dµi cña kÕt qu¶
lµ O( nk
). (Thêi gian ch¹y cña A thùc sù lµ ®a thøc ®èi víi kÝch th­íc ®Çu vµo tæng thÓ,
bao gåm c¶ x©u vµo vµ mét kÕt qu¶, nh­ng v× ®é dµi kÕt qu¶ lµ ®a thøc ®èi víi ®é dµi cña
n cña x©u ®Çu vµo, thêi gian ch¹y lµ ®a thøc ®èi víi n).
ý t­ëng c¬ b¶n cña chøng minh lµ thÓ hiÖn viÖc tÝnh to¸n cña A nh­ mét d·y c¸c cÇu
h×nh. Nh­ thÓ hiÖn trong h×nh 34.9, mçi cÊu h×nh cã thÓ ®­îc chia ra lµm c¸c phÇn gåm
cã ch­¬ng tr×nh cña thuËt to¸n A, bé ®Õm ch­¬ng tr×nh vµ tr¹ng th¸i m¸y phô, ®Çu vµo x,
kÕt qu¶ y, vµ bé nhí lµm viÖc. B¾t ®Çu víi mét cÇu h×nh khëi t¹o c0, mçi cÇu h×nh ci ®­îc
¸nh x¹ tíi mét cÊu h×nh tiÕp theo ci+1 b»ng m¹ng tæ hîp M m« t¶ phÇn cøng m¸y tÝnh. §Çu
ra cña thuËt to¸n A, 0 hay 1 ®­îc ghi vµo mét vÞ trÝ ®­îc chØ râ trong bé nhí lµm viÖc khi
A kÕt thóc qu¸ tr×nh thùc hiÖn, vµ nÕu chóng ta gi¶ sö r»ng ngay sau ®ã A dõng, gi¸ trÞ
kh«ng bao giê thay ®æi. Nh­ vËy, nÕu thuËt to¸n ch¹y qua tèi ®a T(n) b­íc, kÕt qu¶ nh­ lµ
mét trong c¸c bit trong cT(n).
ThuËt to¸n tèi gi¶n F t¹o thµnh mét m¹ng tæ hîp ®¬n cã thÓ tÝnh to¸n tÊt c¶ c¸c cÇu
h×nh ®­îc sinh bëi mét cÊu h×nh khëi t¹o ban ®Çu. ý t­ëng lµ d¸n T(n) b¶n sao cña m¹ng
M. KÕt qu¶ cña m¹ng thø i sinh ra cÊu h×nh ci ®­îc lµm ®Çu vµo cho m¹ng thø (i+1). Nh­
vËy, c¸c cÇu h×nh h¬n c¶ kÕt thóc trong mét thanh ghi tr¹ng th¸i, chØ ®¬n gi¶n l­u tr÷ nh­
c¸c gi¸ trÞ trªn c¸c d©y nèi c¸c b¶n sao cña M.
H×nh 34.9 D·y c¸c cÊu h×nh ®­îc sinh bëi thuËt to¸n A ch¹y trªn mét ®Çu vµo x vµ kÕt qu¶ y. Mçi
cÊu h×nh thÓ hiÖn tr¹ng th¸i cña m¸y tÝnh cho mét b­íc tÝnh to¸n, bªn c¹nh A, x vµ y, bao gåm c¶ bé ®Õm
ch­¬ng tr×nh (PC-program counter), tr¹ng th¸i m¸y phô, vµ n¬i l­u tr÷ ho¹t ®éng. Ngo¹i trõ kÕt qu¶ y, cÊu
h×nh khëi t¹o c0 lµ mét h»ng. Mçi cÊu h×nh ¸nh x¹ tíi cÊu h×nh kÕ tiÕp bëi mét m¹ng tæ hîp logic M. KÕt
qu¶ lµ mét bit ph©n biÖt trong n¬i l­u tr÷ ho¹t ®éng.
H·y nhí l¹i c¸i mµ thuËt to¸n tèi gi¶n thêi gian ®a thøc F ph¶i ®¹t ®­îc. Cho mét ®Çu
vµo x, nã ph¶i tÝnh to¸n ®­îc m¹ng C = f(x) tho¶ ®­îc nÕu vµ chØ nÕu tån t¹i mét kÕt qu¶
y sao cho A(x,y) = 1. Khi F lÊy ®­îc ®Çu vµo x, tr­íc tiªn nã tÝnh n = |x| vµ x©y dùng mét
cÊu h×nh khëi t¹o t­¬ng øng víi tÝnh to¸n trªn A(x,y), vµ kÕt qu¶ lµ mét cÊu h×nh cT(n).
M¹ng c = f(x) mµ F tÝnh to¸n thu ®­îc bëi thay ®æi C’ mét c¸ch kh«ng ®¸ng kÓ. Tr­íc
tiªn, ®Çu vµo cho C’ t­¬ng øng víi ch­¬ng tr×nh cho A, bé ®Õm ch­¬ng tr×nh khëi t¹o,
®Çu vµo x, vµ tr¹ng th¸i khëi t¹o cña bé nhí ®­îc m¾c mét c¸ch trùc tiÕp tíi nh÷ng gi¸ trÞ
®· biÕt nµy. Do ®ã, nh÷ng ®Çu vµo cßn l¹i cho m¹ng t­¬ng øng víi kÕt qu¶ y. KÕ ®Õn, tÊt
c¶ c¸c kÕt qu¶ cho m¹ng ®Õu ®­îc bá qua, ngo¹i trõ mét bit cña cT(n) t­¬ng øng víi ®Çu
ra cña A. M¹ng C nµy tÝnh to¸n C(y) = A(x,y) cho c¸c ®Çu vµo y víi ®é dµi O(nk). ThuËt
to¸n tèi gi¶n F, khi cung cÊp x©u ®Çu vµo x, tÝnh to¸n mét m¹ng C nh­ vËy vµ sinh ra nã.
Hai thuéc tÝnh cßn l¹i cÇn ph¶i ®­îc chøng minh. Tr­íc tiªn, chóng ta ph¶i chØ ra r»ng
F tÝnh to¸n trùc tiÕp mét hµm tèi gi¶n f. §ã lµ, chóng ta ph¶i chØ ra r»ng C tho¶ ®­îc khi
vµ chØ khi tån t¹i mét kÕt qu¶ y sao cho A(x,y) = 1. KÕ ®Õn, chóng ta ph¶i chØ ra r»ng F
ch¹y víi thêi gian ®a thøc.
§Ó chØ ra r»ng F tÝnh to¸n trùc tiÕp mét hµm tèi gi¶n, ta h·y cho r»ng tån t¹i mét kÕt
qu¶ y ®é dµi O(nk) sao cho A(x,y) = 1. Sau ®ã, nÕu chóng ta lÊy c¸c bit cña y lµm ®Çu vµo
cña C, kÕt qu¶ cña C lµ C(y) = A(x,y) = 1. Nh­ vËy, nÕu mét kÕt qu¶ tån t¹i th× C lµ tho¶
®­îc. Víi h­íng kh¸c, gi¶ sö r»ng C lµ tho¶ ®­îc. Do ®ã, tån t¹i mét ®Çu vµo y cho C sao
cho C(y) = 1, tõ ®ã chóng ta kÕt luËn r»ng A(x,y) = 1. Nh­ vËy, F tÝnh to¸n trùc tiÕp mét
hµm tèi gi¶n.
§Ó kÕt thóc s¬ bé chøng minh, chóng ta cÇn chØ ra r»ng F ch¹y víi thêi gian ®a thøc
víi n = |x|. Tr­íc tiªn ta thÊy r»ng sè bit cÇn thiÕt ®Ó thÓ hiÖn mét cÊu h×nh lµ ®a thøc ®èi
víi n. B¶n th©n ch­¬ng tr×nh cho A cã kÝch th­íc kh«ng ®æi, ®éc lËp víi ®é dµi ®Çu vµo x
cña nã. §é dµi cña ®Çu vµo x lµ n, vµ ®é dµi cña kÕt qu¶ y lµ O(nk). V× thuËt to¸n ch¹y
víi Ýt nhÊt O(nk) b­íc, khèi l­îng bé nhí lµm viÖc cÇn thiÕt cho A còng lµ ®a thøc.
(Chóng ta gi¶ sö r»ng bé nhí lµ liªn tôc; bµi tËp 34.3-5 yªu cÇu b¹n më réng ®èi sè víi
tr­êng hîp mµ c¸c vÞ trÝ ®­îc truy suÊt bëi A ®­îc r¶i r¸c qua mét vïng lín h¬n cña bé
nhí vµ sù ph©n bè lµ kh¸c nhau ®èi víi mçi ®Çu vµo x).
M¹ng tæ hîp M thÓ hiÖn mét phÇn cøng m¸y tÝnh cã kÝch th­íc ®a thøc ®èi víi ®é dµi
cña mét cÊu h×nh, ®ã lµ ®a thøc ®èi víi O(nk) vµ do ®ã lµ ®a thøc ®èi víi n. (PhÇn lín
trong m¹ng nµy thÓ hiÖn logic cña hÖ bé nhí). M¹ng C bao gåm tèi ®a t = O(nk) phiªn
b¶n cña M, vµ do vËy nã cã kÝch th­íc ®a thøc ®èi víi n. ViÖc x©y dùng C tõ x cã thÓ
®­îc hoµn thµnh víi thêi gian ®a thøc bëi thuËt to¸n tèi gi¶n F, v× mçi b­íc x©y dùng
chiÕm thêi gian ®a thøc.
V× vËy ng«n ng÷ CIRCUIT-SAT Ýt nhÊt lµ khã ngang víi bÊt kú ng«n ng÷ nµo trong
NP vµ do ®ã nã thuéc NP, nã lµ NP- ®Çy ®ñ.
§Þnh lý 34.7
Bµi to¸n m¹ng tho¶ ®­îc lµ NP - ®Çy ®ñ.
Chøng minh: Trùc tiÕp tõ bæ ®Ò 34.5 vµ 34.6 vµ tõ ®Þnh nghÜa NP - ®Çy ®ñ.
Bµi tËp
34.3-1
Chøng minh r»ng m¹ng trong h×nh 34.8 (b) lµ kh«ng tho¶ ®­îc.
34.3-2
ChØ ra r»ng quan hÖ P lµ mét quan hÖ cã tÝnh chÊt b¾c cÇu trªn c¸c ng«n ng÷. NghÜa
lµ, h·y chØ ra r»ng nÕu L1 P L2 vµ L2 P L3 th× L1 P L3.
34.3-3
Chøng minh r»ng: L P L khi vµ chØ khi L P L.
34.3-4
Chøng minh r»ng mét c¸ch g¸n tho¶ m·n cã thÓ ®­îc sö dông nh­ mét kÕt qu¶ trong
mét chøng minh kh¸c cña bæ ®Ò 34.5. VËy kÕt qu¶ nµo ®Ó t¹o mét chøng minh dÔ dµng
h¬n.
34.3-5
Chøng minh bæ ®Ò 34.6 gi¶ sö r»ng bé nhí lµm viÖc cña thuËt to¸n A chiÕm mét vïng
nhí liªn tôc víi kÝch th­íc ®a thøc. VÞ trÝ nµo trong chøng minh thÓ hiÖn ®iÒu nµy. H·y
chøng tá r»ng ®iÒu gi¶ sö nµy kh«ng lµm mÊt tÝnh tæng qu¸t.
34.3-6
Mét ng«n ng÷ L lµ ®¹i diÖn cho líp ng«n ng÷ C víi l­u ý r»ng tèi gi¶n thêi gian ®a
thøc nÕu vµ chØ nÕu L’ P L víi mäi L’  C. Chøng minh r»ng  vµ {0,1}*
lµ c¸c ng«n
ng÷ duy nhÊt trong P vµ kh«ng ®Çy ®ñ ®èi víi P víi ®Ó ý tíi tèi gi¶n thêi gian ®a thøc.
34.3-7
Chøng minh r»ng L lµ ®Çy ®ñ ®èi víi NP nÕu vµ chØ nÕu L lµ ®Çy ®ñ ®èi víi líp con
NP.
34.3-8
ThuËt to¸n tèi gi¶n F trong chøng minh cña bæ ®Ò 34.6 x©y dùng m¹ng C=f(x) dùa trªn
viÖc biÕt x, A vµ k. Gi¸o s­ Sartre nhËn thÊy r»ng x©u x lµ ®Çu vµo cho f, nh­ng chi sù tån
t¹i cña A, k vµ nh©n tè h»ng sè hµm Èn trong thêi gian ch¹y O(nk
) lµ ®­îc biÕt cho F (v×
ng«n ng÷ L thuéc NP), chø kh«ng ph¶i gi¸ trÞ thËt sù cña chóng. Nh­ vËy, gi¸o s­ kÕt
luËn r»ng F kh«ng thÓ t¹o ®­îc m¹ng C vµ ng«n ng÷ CIRCUIT-SAT kh«ng cÇn thiÕt lµ
NP-khã. H·y gi¶i thÝch lç hæng trong lý gi¶i cña gi¸o s­.
34.4 C¸c chøng minh NP-®Çy ®ñ
NP-®Çy ®ñ cña bµi to¸n m¹ng tho¶ ®­îc dùa trªn chøng minh trùc tiÕp r»ng L P
CIRCUIT-SAT víi bÊt kú ng«n ng÷ L  NP. Trong phÇn nµy, chóng ta sÏ chØ ra c¸ch
chøng minh r»ng c¸c ng«n ng÷ lµ NP-®Çy ®ñ mµ kh«ng cÇn ph¶i trùc tiÕp gi¶m ®i mäi
ng«n ng÷ trong NP tíi mét ng«n ng÷ ®· cho. Chóng ta sÏ minh ho¹ ph­¬ng thøc nµy b»ng
c¸ch chøng minh r»ng c¸c bµi to¸n c«ng thøc tho¶ ®­îc kh¸c nhau lµ NP-®Çy ®ñ. PhÇn
34.5 cung cÊp thªm nhiÒu vÝ dô n÷a cña ph­¬ng ph¸p nµy.
Bæ ®Ò 34.8
NÕu L lµ mét ng«n ng÷ mµ L’ P L ®èi víi mét vµi L’ NPC, th× L lµ NP-khã. H¬n
n÷a, nÕu L  NP th× L  NPC.
Chøng minh: V× L’ lµ NP-®Çy ®ñ nªn víi mäi L’’  NP, ta cã L’’ P L. Víi gi¶ sö r»ng,
L’ P L, vµ do tÝnh chÊt b¾c cÇu (xem bµi tËp 34.3-2) ta cã L’’ P L, ®iÒu nµy cho thÊy L
lµ NP-khã. NÕu L NP, ta còng cã L  NPC.
Nãi c¸ch kh¸c, b»ng c¸ch gi¶m ®i mét ng«n ng÷ NP-®Çy ®ñ L’ ®· biÕt tíi L, chóng ta
tèi gi¶n hoµn toµn mäi ng«n ng÷ trong NP tíi L. Do ®ã, bæ ®Ò 34.8 cho chóng ta mét c¸ch
®Ó chøng minh r»ng mét ng«n ng÷ L lµ NP-®Çy ®ñ.
1. Chøng minh: L  NP
2. Chän mét ng«n ng÷ NP-®Çy ®ñ L’.
3. M« t¶ mét thuËt to¸n tÝnh mét hµm f ¸nh x¹ mäi phÇn tö x  {0,1}*
cña L’ tíi mét
phÇn tö f(x) cña L.
4. Chøng minh r»ng f tho¶ m·n x  L’ khi vµ chØ khi f(x)  L víi mäi x  {0,1}*
.
5. Chøng minh r»ng thuËt to¸n tÝnh f ch¹y víi thêi gian ®a thøc.
(C¸c b­íc 2-5 cho thÊy r»ng L lµ NP-khã). Ph­¬ng ph¸p tèi gi¶m tõ mét ng«n ng÷ NP-
®Çy ®ñ ®¬n ®· biÕt lµ ®¬n gi¶n h¬n nhiÒu so víi qu¸ tr×nh phøc t¹p chØ trùc tiÕp c¸ch tèi
gi¶n mäi ng«n ng÷ trong NP. CIRCUIT-SAT  NPC ®· chøng minh cho chóng ta mét
c¸ch tiÕp cËn. Nªn biÕt r»ng bµi to¸n m¹ng tho¶ ®­îc lµ NP-®Çy ®ñ cho chóng ta c¸ch
chøng minh ®¬n gi¶n h¬n nhiÒu c¸c bµi to¸n kh¸c lµ NP-®¬n gi¶n. H¬n n÷a, v× chóng ta
ph¸t triÓn mét danh s¸ch c¸c bµi to¸n NP-®Çy ®ñ ®· biÕt, chóng ta sÏ cã nhiÒu sù lùa chän
h¬n cho c¸c ng«n ng÷ ®Ó tèi gi¶n.
C«ng thøc tho¶ ®­îc
Chóng ta minh ho¹ ph­¬ng ph¸p tèi gi¶n ho¸ b»ng c¸ch cho mét c¸ch chøng minh NP-
®Çy ®ñ cho c¸c bµi to¸n x¸c ®Þnh xem mét c«ng thøc thuéc d¹ng boolean, kh«ng ph¶i lµ
mét m¹ng, lµ tho¶ ®­îc. Bµi to¸n nµy cã ý nghÜa lÞch sö nh­ lµ bµi to¸n ®Çu tiªn ®­îc biÕt
chØ ra NP-®Çy ®ñ.
Chóng ta sÏ tr×nh bµy mét c¸ch chÝnh x¸c bµi to¸n tho¶ ®­îc theo kh¸i niÖm ng«n ng÷
SAT nh­ sau. Mét phÇn tö cña SAT lµ mét biÓu thøc  kiÓu boolean bao gåm:
1. n biÕn boolean: x1, x2, ..., xn;
2. m kÕt nèi boolean: bÊt kú hµm boolean nµo víi mét hay hai ®Çu vµo vµ mét ®Çu ra,
nh­  (vµ), (hoÆc),  (phñ ®Þnh),  (kÐo theo),  (khi vµ chØ khi); vµ
3. dÊu ngoÆc ®¬n. (Kh«ng mÊt tÝnh tæng qu¸t, chóng ta gi¶ sö r»ng kh«ng cã sù d­
thõa cña dÊu më ngoÆc, vÝ dô, cã Ýt nhÊt mét cÆp dÊu chÊm phÈy ®èi víi mçi liªn
kÕt boolean).
DÔ dµng m· ho¸ mét c«ng thøc  kiÓu boolean víi kÝch th­íc ®a thøc ®èi víi n+m.
Nh­ trong c¸c m¹ng tæ hîp kiÓu boolean, mét c¸ch g¸n ®óng víi mét c«ng thøc  kiÓu
boolean lµ mét tËp c¸c gi¸ trÞ cho c¸c biÕn cña  , vµ mét c¸ch g¸n tho¶ m·n lµ mét c¸ch
g¸n ®óng khiÕn cho nã cã gi¸ trÞ b»ng 1. Mét c«ng thøc víi mét c¸ch g¸n tho¶ m·n lµ
mét c«ng thøc tho¶ ®­îc. Bµi to¸n tho¶ ®­îc hái xem mét c«ng thøc kiÓu boolean ®· cho
lµ tho¶ ®­îc hay kh«ng theo kh¸i niÖm ng«n ng÷ h×nh thøc.
SAT = {<>:  lµ mét c«ng thøc tho¶ ®­îc kiÓu boolean}
Nh­ mét vÝ dô, c«ng thøc
 =((x1 x2)   (( x1  x3)  x4)   x2
cã c¸ch g¸n tho¶ m·n <x1 = 0, x2 = 0, x3 = 1, x4 = 1>, do ®ã
=((00)   (( 0 1)  1)   0
= (1   (1  1))  1
= (1  0)  1
= 1
(34.2)
Vµ nh­ vËy c«ng thøc  thuéc SAT.
ThuËt to¸n ®¬n gi¶n ®Ó x¸c ®Þnh xem mét c«ng thøc kiÓu boolean tuú ý lµ tho¶ ®­îc sÏ
kh«ng ch¹y víi thêi gian ®a thøc. Cã 2n
c¸ch g¸n cã thÓ trong c«ng thøc  víi n biÕn.
NÕu ®é dµi cña  lµ ®a thøc ®èi víi n, th× viÖc kiÓm tra mäi c¸ch g¸n cÇn thêi gian (2n
) ,
nã lµ siªu ®a thøc ®èi víi ®é dµi cña ( ). Nh­ ®Þnh lý sau cho thÊy, mét thuËt to¸n thêi
gian siªu ®a thøc lµ hÇu nh­ kh«ng tån t¹i.
§Þnh lý 34.9
TÝnh tho¶ ®­îc cña c¸c c«ng thøc kiÓu boolean lµ NP-®Çy ®ñ.
Chøng minh: Chóng ta b¾t ®Çu b»ng c¸ch chøng tá r»ng SAT  NP. Sau ®ã chóng ta
CIRCUIT-SAT lµ NP-khã b»ng c¸ch chØ ra r»ng CIRCUIT-SAT P SAT; b»ng bæ ®Ò 34.8,
®iÒu nµy sÏ chøng minh ®Þnh lý.
§Ó chØ ra SAT thuéc NP, ta sÏ chØ ra r»ng mét kÕt qu¶ bao gåm mét c¸ch g¸n tho¶ m·n
cho mét c«ng thøc ®Çu vµo  cã thÓ ®­îc chøng tá trong thêi gian ®a thøc. ThuËt to¸n
chøng minh thay thÕ mét c¸ch ®¬n gi¶n mçi biÕn trong c«ng thøc víi mét gi¸ trÞ t­¬ng
øng vµ råi tÝnh gi¸ trÞ cña biÓu thøc, nh­ chóng ta thùc hiÖn trong ph­¬ng tr×nh (34.2) ë
trªn. §iÒu nµy ®­îc thùc hiÖn ®¬n gi¶n víi thêi gian ®a thøc. NÕu biÓu thøc cã gi¸ trÞ 1,
c«ng thøc lµ tho¶ ®­îc. Nh­ vËy, ®iÒu kiÖn thø nhÊt cña bæ ®Ò 34.8 cho NP-®Çy ®ñ ®­îc
thùc hiÖn.
§Ó chøng minh r»ng SAT lµ NP-khã, ta chØ ra r»ng CIRCUIT-SAT P SAT. Nãi c¸ch
kh¸c, mçi phÇn tö cña m¹ng tho¶ ®­îc cã thÓ tèi gi¶n víi thêi gian ®a thøc tíi mét phÇn
tö cña c«ng thøc tho¶ ®­îc. Ph­¬ng ph¸p quy n¹p cã thÓ ®­îc ¸p dông ®Ó biÓu diÔn bÊt
kú m¹ng tæ hîp kiÓu boolean nµo nh­ mét c«ng thøc kiÓu boolean. Chóng ta ®¬n gi¶n ®Ó
ý ®Õn cæng sinh ra m¹ng ®Çu ra vµ mét c¸ch quy n¹p thÓ hiÖn mçi ®Çu vµo cña cæng nh­
lµ c¸c c«ng thøc. C«ng thøc cho m¹ng tiÕp ®ã thu ®­îc bëi viÕt mét biÓu thøc ¸p dông
hµm cña cæng cho c¸c c«ng thøc cña c¸c ®Çu vµo cña nã.
Kh«ng may lµ, ph­¬ng ph¸p trùc tiÕp nµy kh«ng t¹o ®­îc tèi gi¶n thêi gian ®a thøc.
Nh­ bµi tËp 34.4-1 cho thÊy, c¸c c«ng thøc con – nh÷ng c«ng thøc n¶y sinh tõ c¸c cæng
mµ c¸c d©y ®Çu ra cã hÖ sè ph©n ®Çu ra lµ 2 – cã thÓ lµm cho kÝch th­íc cña c«ng thøc
®­îc t¹o ra ph¸t triÓn theo hµm mò. Do ®ã, thuËt to¸n tèi gi¶n ph¶i lµ mét c¸i g× ®ã tèt
h¬n.
H×nh 34.10 minh ho¹ ý t­ëng c¬ b¶n cña sù tèi gi¶n tõ CIRCUIT-SAT tíi SAT trªn
m¹ng tõ h×nh 34.8(a). Víi mçi d©y xi ë trong m¹ng C, c«ng thøc  cã mét biÕn xi. PhÐp
tÝnh tèt h¬n cña mét cæng cã thÓ ®­îc biÓu diÔn nh­ mét c«ng thøc liªn quan ®Õn c¸c biÕn
cña c¸c d©y liªn quan. VÝ dô, phÐp to¸n trªn cæng ®Çu ra AND lµ x10  (x7  x8  x9).
C«ng thøc  sinh bëi thuËt to¸n tèi gi¶n lµ AND cña biÕn m¹ng ®Çu ra cïng víi c¸c
mÖnh ®Ò m« t¶ phÐp to¸n cña mçi cæng. §èi víi m¹ng trong h×nh vÏ, c«ng thøc lµ
 = x10  (x4   x3)
 (x5  (x1  x2))
 (x7  (x1  x2 x4))
 (x8  (x5  x6))
 (x9  (x6  x7)
 (x10  (x7  x8  x9))
Cho m¹ng C, cã thÓ t¹o ngay ®­îc mét c«ng thøc  víi thêi gian tho¶ ®­îc.
T¹i sao m¹ng C tho¶ ®­îc mét c¸ch chÝnh x¸c khi c«ng thøc  lµ tho¶ ®­îc? NÕu C cã
mét c¸ch g¸n tho¶ m·n, mçi d©y cña m¹ng cã mét gi¸ trÞ ®­îc ®Þnh nghÜa tèt, vµ ®Çu ra
cña m¹ng lµ 1. V× vËy, c¸ch g¸n cña c¸c gi¸ trÞ trªn d©y cho c¸c biÕn trong  lµm cho mçi
mÖnh ®Ò cña  cã gi¸ trÞ 1, vµ do vËy sù kÕt nèi c¸c gi¸ trÞ cã gi¸ trÞ 1. Ng­îc l¹i, nÕu cã
mét c¸ch g¸n lµm cho  cã gi¸ trÞ 1, m¹ng C lµ tho¶ ®­îc bëi mét ®èi sè t­¬ng tù. Do ®ã,
chóng ta ®· chØ ra r»ng CIRCUIT-SAT P SAT, ®iÒu nµy kÕt thóc chøng minh.
3-CNF æn ®Þnh
NhiÒu bµi to¸n cã thÓ ®­îc chøng minh NP-®Çy ®ñ b»ng c¸ch tèi gi¶n tõ mét c«ng
thøc æn ®Þnh. MÆc dÇu thuËt to¸n tèi gi¶n ph¶i sö dông bÊt cø c«ng thøc ®Çu vµo nµo, vµ
®iÒu nµy ®ßi hái cã thÓ dÉn tíi mét sè lín c¸c tr­êng hîp cÇn ph¶i xem xÐt. V× vËy, ®iÒu
®¸ng cÇn lµ tèi gi¶n tõ mét ng«n ng÷ h¹n chÕ cña c¸c c«ng thøc kiÓu boolean, ®Ó råi Ýt
H×nh 34.10 Tèi gi¶n m¹ng tho¶ ®­îc ®Õn c«ng thøc tho¶ ®­îc. C«ng thøc sinh bëi thuËt to¸n tèi gi¶n cã
mét biÕn cho mçi d©y trong m¹ng.
tr­êng hîp h¬n cÇn ®­îc xem xÐt. HiÓn nhiªn, chóng ta ph¶i h¹n chÕ ng«n ng÷ cµng
nhiÒu ®Ó mµ nã trë thµnh cã thÓ gi¶i quyÕt ®­îc trong thêi gian ®a thøc. Mét ng«n ng÷
thuËn lîi lµ 3-CNF tho¶ ®­îc hay 3-CNF-SAT.
Chóng ta sÏ ®Þnh nghÜa 3-CNF tho¶ ®­îc b»ng c¸ch sö dông c¸c kh¸i niÖm sau. Mét
ký hiÖu trong mét c«ng thøc kiÓu boolean lµ mét biÕn thÓ cña mét biÕn hay phñ ®Þnh cña
nã. Mét c«ng thøc kiÓu boolean lµ mét d¹ng chuÈn t¾c nèi tiÕp, hay CNF, nÕu nã ®­îc
biÓu diÔn mét phÐp to¸n AND cña c¸c mÖnh ®Ò, mçi mÖnh ®Ò trong ®ã lµ mÖnh ®Ò OR
hay nhiÒu ký hiÖu h¬n. Mét c«ng thøc kiÓu boolean lµ cã d¹ng d¹ng chuÈn t¾c 3 kÕt nèi,
hay 3-CNF, nÕu mçi mÖnh ®Ò cã chÝnh x¸c ba ký hiÖu ph©n biÖt.
VÝ dô, c«ng thøc kiÓu boolean:
(x1   x1   x2)  (x3  x2  x4)  ( x1   x3   x4)
lµ thuéc 3-CNF. MÖnh ®Ò ®Çu tiªn trong 3 mÖnh ®Ò cña nã lµ (x1   x1   x2), nã chøa
3 ký hiÖu x1,  x1, vµ  x2.
Trong 3-CNF-SAT, chóng ta cÇn biÕt xem mét c«ng thøc kiÓu boolean ®· cho  thuéc
3-CNF lµ tho¶ ®­îc hay kh«ng. §Þnh lý sau ®©y chØ ra r»ng mét thuËt to¸n thêi gian ®a
thøc cã thÓ x¸c ®Þnh tÝnh æn ®Þnh cña c¸c c«ng thøc kiÓu boolean lµ hÇu nh­ kh«ng tån
t¹i, thËm chÝ khi chóng ®­îc biÓu diÔn ë d¹ng chuÈn t¾c ®¬n gi¶n nµy.
§Þnh lý 34.10
TÝnh æn ®inh cña c¸c c«ng thøc kiÓu boolean trong d¹ng chuÈn t¾c 3 kÕt nèi lµ NP-®Çy
®ñ.
Chøng minh:
§èi sè chóng ta ®· sö dông trong bæ ®Ò 34.9 ®Ó chØ ra r»ng SAT  NP ¸p dông t­¬ng
tù ë ®©y ®Ó chØ ra r»ng 3-CNF-SAT  NP. Do ®ã, bëi bæ ®Ò 34.8, chóng ta chØ cÇn chØ ra
r»ng SAT P 3-CNF-SAT.
ThuËt to¸n tèi gi¶n cã thÓ ®­îc ph©n ra thµnh 3 b­íc. Mçi b­íc truyÓn dÇn ®Çu vµo
c«ng thøc  tiÕn gÇn h¬n tíi d¹ng chuÈn t¾c 3-kÕt nèi mong muèn.
B­íc ®Çu tiªn t­¬ng tù víi b­íc ®­îc sö dông ®Ó chøng minh r»ng CIRCUIT-SAT P
SAT trong ®Þnh lý 34.9. Tr­íc tiªn, chóng ta x©y dùng mét c©y ph©n tÝch nhÞ ph©n cho
®Çu vµo c«ng thøc  , víi c¸c ký hiÖu nh­ lµ l¸ vµ c¸c kÕt nèi nh­ lµ c¸c node trong. H×nh
34.11 cho thÊy mét c©y ph©n tÝch cho c«ng thøc
 =((x1  x2 )   (( x1  x3)  x4))  x2. (34.3)
VËy c«ng thøc ®Çu vµo cã chøa mÖnh ®Ò nh­ lµ mÖnh ®Ò OR cña mét vµi ký hiÖu, mét
c¸ch kÕt hîp, cã thÓ ®­îc sö dông ®Ó ®Æt hoµn toµn trong dÊu ngoÆc ®¬n ®Ó mµ mäi node
trong trong c©y kÕt qu¶ cã mét hoÆc 2 con. C©y ph©n tÝch nhÞ ph©n lóc nµy ®­îc thÓ hiÖn
nh­ mét m¹ng ®Ó tÝnh to¸n hµm sè.
B»ng c¸ch b¾t ch­íc c¸ch tèi gi¶n ho¸ trong chøng minh ®Þnh lý 34.9, chóng ta ®­a ra
biÕn yi cho ®Çu ra cña mçi node trong. Råi ta ghi l¹i c«ng thøc c¬ b¶n  nh­ c«ng thøc
cña phÐp to¸n AND cña biÕn node gèc vµ mét kÕt nèi cña c¸c mÖnh ®Ò m« t¶ phÐp to¸n
cña mçi node. §èi víi c«ng thøc (34.3), biÓu thøc kÕt qu¶ lµ
 = y1  (y1  (y2   x2))
 (y2  (y3  y4))
 (y4   y5)
 (y5  (y6  x4))
 (y6  (x1  x3))
Nh­ vËy ®Ó ý r»ng c«ng thøc ’ thu ®­îc lµ mét kÕt nèi cña c¸c mÖnh ®Ò ’i, mçi mÖnh
®Ò cã nhiÒu nhÊt 3 ký hiÖu. §iÒu cÇn thªm vµo duy nhÊt lµ mçi mÖnh ®Ò lµ mét mÖnh ®Ò
cña c¸c ký hiÖu víi phÐp to¸n OR.
B­íc thø hai cña phÐp tèi gi¶n chuyÓn mçi mÖnh ®Ò ’i thµnh d¹ng chuÈn t¾c nèi kÕt.
Chóng ta x©y dùng mét b¶ng ch©n trÞ cho ’i b»ng c¸ch xem xÐt c¸c c¸ch g¸n cã thÓ cho
c¸c biÕn. Mçi hµng cña b¶ng bao gåm mét c¸ch g¸n cã thÓ cña c¸c biÕn cña mÖnh ®Ò,
cïng víi gi¸ trÞ cña mÖnh ®Ò d­íi c¸ch g¸n ®ã. Sö dông danh s¸ch cña b¶ng ch©n trÞ cã
gi¸ trÞ 0, chóng ta x©y dùng mét c«ng thøc trong d¹ng chuÈn t¾c ph©n biÖt (hay DNF) –
mét d¹ng cña c«ng thøc víi phÐp to¸n AND hoÆc OR – nã t­¬ng ®­¬ng víi  ’i. TiÕp
®ã chóng ta chuyÓn mçi c«ng thøc nµy thµnh mét c«ng thøc ’’i d¹ng CNF b»ng c¸ch sö
H×nh 34.11 C©y t­¬ng ®­¬ng c«ng thøc = ((x1  x2)   ((x1  x3)  x4))  x2
dông luËt DeMorgan (ph­¬ng tr×nh (B.2)) ®Ó bæ sung tÊt c¶ c¸c ký hiÖu vµ chuyÓn mÖnh
®Ò d¹ng OR thµnh d¹ng AND vµ d¹ng AND thµnh OR.
Trong vÝ dô cña chóng ta, chóng ta chuyÓn mÖnh ®Ò ’1 = (y1  (y2   x2)) thµnh
d¹ng CNF nh­ sau. B¶ng ch©n trÞ cña ’1 ®­îc cho trong h×nh 34.12. C«ng thøc DNF
t­¬ng ®­¬ng víi  ’1 lµ
(y1  y1  x2) (y1   y1  x2)  (y1   y1   x2)  ( y1  y1   x2)
¸p dông luËt DeMorgan, chóng ta cã c«ng thøc CNF.
’’1 = ( y1   y1   x2)  ( y1  y1  x2)  ( y1  y1  x2)  (y1   y1 
x2)
t­¬ng ®­¬ng víi mÖnh ®Ò gèc ’1.
B©y giê mçi mÖnh ®Ò ’i cña c«ng thøc ’ ®· ®­îc chuyÓn thµnh mét c«ng thøc ’’i
d¹ng CNF, vµ do ®ã ’ t­¬ng ®­¬ng víi c«ng thøc ’’ d¹ng CNF bao gåm kÕt nèi cña 
i’’. H¬n n÷a, mçi mÖnh ®Ò cña ’’ cã nhiÒu nhÊt 3 ký hiÖu.
B­íc thø 3 vµ b­íc cuèi cïng cña sù tèi gi¶n khai triÓn h¬n n÷a c«ng thøc sao cho mçi
mÖnh ®Ò cã chÝnh x¸c 3 ký hiÖu ph©n biÖt. C«ng thøc ’’’ d¹ng CNF ®­îc x©y dùng tõ
c¸c mÖnh ®Ò cña c«ng thøc ’’ d¹ng CNF. Nã còng dïng c¸c biÕn phô mµ chóng ta sÏ gäi
lµ p vµ q. §èi víi mçi mÖnh ®Ò Ci cña ’’, chóng ta thªm vµo c¸c mÖnh ®Ò sau trong ’’’:
 NÕu Ci cã 3 ký hiÖu ph©n biÖt, th× thªm Ci nh­ mét mÖnh ®Ò cña ’’’.
 NÕu Ci cã 2 ký hiÖu ph©n biÖt, ®ã lµ nÕu, nÕu Ci = (l1  l2), ë ®ã l1 vµ l2 lµ c¸c ký hiÖu,
th× thªm (l1  l2  p)  (l1  l2   p) nh­ mÖnh ®Ò cña ’’’. C¸c ký hiÖu p vµ  p chØ
®¸p øng c¸c yªu cÇu có ph¸p cã chÝnh x¸c 3 ký hiÖu ph©n biÖt ®èi víi mçi mÖnh ®Ò:
(l1  l2  p)  (l1  l2   p) t­¬ng ®­¬ng víi (l1  l2) dï p = 0 hay p = 1.
H×nh 34.12 B¶ng ch©n trÞ cho mÖnh ®Ò (y1  (y2   x2)).
 NÕu Ci cã chØ mét 1 ký hiÖu ph©n biÖt l, th× thªm (l  p  q)  (l  p  q)  (lp
q)  ( l   p   q) vµo nh­ mét mÖnh ®Ò cña ’’’. L­u ý r»ng mäi sù ¸p ®Æt cña p
vµ q cã thÓ lµm cho kÕt nèi cña bèn mÖnh ®Ò nµy cã gi¸ trÞ 1.
Chóng ta cã thÓ thÊy r»ng c«ng thøc ’’’ d¹ng 3-CNF lµ tho¶ ®­îc nÕu vµ chØ nÕu  lµ
tho¶ ®­îc b»ng c¸ch kiÓm tra kü mçi b­íc trong ba b­íc. Nh­ c¸ch tèi gi¶n tõ
CIRCUIT-SAT tíi SAT, c¸ch x©y dùng ’ tõ  trong b­íc ®Çu tiªn b¶o toµn tÝnh æn ®Þnh.
B­íc thø hai sinh ra c«ng thøc ’’ d¹ng CNF t­¬ng ®­¬ng mét c¸ch ®¹i sè víi ’. B­íc
thø ba sinh ra c«ng thøc ’’’ d¹ng 3-CNF t­¬ng ®­¬ng mét c¸ch cã hiÖu qu¶ víi ’’, v×
mäi c¸ch g¸n gi¸ trÞ cho biÕn p vµ q sinh ra mét c«ng thøc t­¬ng ®­¬ng mét c¸ch ®¹i sè
víi ’’.
Chóng ta ph¶i chØ ra r»ng sù tèi gi¶n cã thÓ ®­îc tÝnh to¸n víi thêi gian ®a thøc. X©y
dùng ’ tõ  sinh ra nhiÒu nhÊt mét biÕn vµ mét mÖnh ®Ò ®èi víi mçi kÕt nèi trong .
X©y dùng ’’ tõ ’ cã thÓ ®­a nhiÒu nhÊt 8 mÖnh ®Ò vµo ’’ ®èi víi mçi mÖnh ®Ò tõ ’, v×
mçi mÖnh ®Ò cña ’ cã nhiÒu nhÊt 3 biÕn, vµ b¶ng ch©n trÞ cho mçi mÖnh ®Ò cã nhiÒu nhÊt
23
= 8 hµng. ViÖc x©y dùng ’’’ tõ ’’ ®­a nhiÒu nhÊt 4 mÖnh ®Ò vµo ’’’ cho mçi mÖnh
®Ò cña ’’. Do ®ã, kÝch th­íc c«ng thøc kÕt qu¶ ’’’ lµ ®a thøc ®èi víi chiÒu dµi cña c«ng
thøc c¬ b¶n. Mçi lÇn x©y dùng cã thÓ hoµn thµnh mét c¸ch ®¬n gi¶n víi thêi gian ®a thøc.
Bµi tËp
34.4 -1
XÐt sù c¸ch tèi gi¶n trùc tiÕp (thêi gian kh«ng ®a thøc) trong chøng minh cña ®Þnh lý
34.9. H·y m« t¶ m¹ng kÝch th­íc n khi ®­îc biÕn ®æi tõ mét c«ng thøc bëi ph­¬ng thøc
nµy sinh ra mét c«ng thøc mµ kÝch th­íc cña nã lµ hµm mò ®èi víi n.
34.4 -2
H·y chØ ra c«ng thøc 3-CNF sinh ra khi chóng ta sö dông ph­¬ng ph¸p cña ®Þnh lý
34.10 ®èi víi c«ng thøc (34.3).
34.4 -3
Gi¸o s­ Jagger ®Ò nghÞ chØ ra r»ng SAT P 3-CNF-SAT b»ng c¸ch chØ sö dông kü thuËt
b¶ng ch©n trÞ trong chøng minh cña ®Þnh lý 34.10, vµ kh«ng sö dông b­íc nµo kh¸c. §ã
lµ, gi¸o s­ ®Ò nghÞ lÊy c«ng thøc d¹ng boolean  , t¹o lËp b¶ng ch©n trÞ cho c¸c biÕn cña
nã, xuÊt ph¸t tõ b¶ng ch©n trÞ mét c«ng thøc d¹ng 3-CNF t­¬ng ®­¬ng víi , vµ råi phñ
®Þnh vµ ¸p dông luËt DeMorgan ®Ó sinh ra mét c«ng thøc d¹ng 3-CNF t­¬ng ®­¬ng víi .
H·y chøng minh r»ng chiÕn l­îc nµy kh«ng sinh ra mét sù tèi gi¶n thêi gian ®a thøc.
34.4-4
Chøng minh r»ng bµi to¸n x¸c ®Þnh xem mét c«ng thøc d¹ng boolean cã ph¶i lµ mét sù
lÆp l¹i kh«ng cÇn thiÕt, lµ ®Çy ®ñ ®èi víi co-NP(Gîi ý: Xem bµi tËp 34.3-7)
34.4-5
Chøng minh r»ng bµi to¸n x¸c ®Þnh tÝnh æn ®Þnh cña c¸c c«ng thøc d¹ng boolean trong
d¹ng chuÈn t¾c kÕt nèi lµ gi¶i ®­îc víi thêi gian ®a thøc.
34.4-6
Gi¶ sö r»ng mét ng­êi nµo ®ã cho b¹n mét thuËt to¸n thêi gian ®a thøc ®Ó x¸c ®Þnh
tÝnh æn ®Þnh cña c«ng thøc. H·y m« t¶ lµm thÕ nµo ®Ó sö dông thuËt to¸n nµy ®Ó t×m c¸c
c¸ch g¸n tho¶ m·n trong thêi gian ®a thøc.
34.4-7
Cho 2-CNF-SAT lµ tËp cña c¸c c«ng thøc tho¶ ®­îc trong CNF víi chÝnh x¸c 2 ký hiÖu
cho mçi mÖnh ®Ò. H·y chøng minh r»ng 2-CNF-SAT  P. H·y t¹o mét thuËt to¸n cña b¹n
hiÖu qu¶ nhÊt cã thÓ. (Gîi ý: §Ó ý r»ng x  y lµ t­¬ng ®­¬ng víi x  y. Tèi gi¶n 2-
CNF-SAT tíi mét bµi to¸n trªn mét ®å thÞ cã h­íng cã thÓ gi¶i ®­îc mét c¸ch hiÖu qu¶.)
34.5 Bµi to¸n NP-®Çy ®ñ
Bµi to¸n NP-®Çy ®ñ ph¸t sinh trong nhiÒu lÜnh vùc kh¸c nhau: logic, ®å thÞ, sè häc,
thiÕt kÕ m¹ng, tËp vµ c¸ch ph©n chia, bé nhê vµ sù phôc håi, s¾p xÕp vµ lËp lÞch, lËp tr×nh
to¸n, ®¹i sè vµ lý thuyÕt sè, c©u ®è vµ trß ch¬i, automat vµ lý thuyÕt ng«n ng÷, tèi ­u ho¸
ch­¬ng tr×nh, sinh vËt häc, ho¸ häc, vËt lý vµ nhiÒu lÜnh vùc n÷a. Trong phÇn nµy, chóng
ta sÏ sö dông ph­¬ng ph¸p tèi gi¶n ®Ó cung cÊp c¸c chøng minh NP-®Çy ®ñ cho c¸c bµi
to¸n kh¸c nhau tõ lý thuyÕt ®å thÞ vµ ph©n chia tËp.
H×nh 34.13 ph¸c ho¹ cÊu tróc cña chøng minh NP-®Çy ®ñ trong phÇn nµy vµ phÇn 34.4.
Mçi ng«n ng÷ trong h×nh lµ ®­îc chøng minh NP-®Çy ®ñ b»ng c¸ch tèi gi¶n tõ ng«n ng÷
h­íng tíi nã. T¹i gèc lµ CIRCUIT-SAT, ta ®· chøng minh NP-®Çy ®ñ trong ®Þnh lý 34.7.
34.5.1 Bµi to¸n clique
Mét clique trong mét ®å thÞ v« h­íng G = (V,E) lµ mét tËp V’V c¸c ®Ønh, mçi cÆp
®Ønh trong ®ã ®­îc nèi víi nhau bëi mét c¹nh trong E. Nãi c¸ch kh¸c, mét clique lµ mét
®å thÞ con ®Çy ®ñ cña G. KÝch th­íc cña mét clique lµ sè c¸c ®Ønh mµ nã chøa. Bµi to¸n
clique lµ bµi to¸n tèi ­u t×m mét clique víi kÝch th­íc lín nhÊt trong mét ®å thÞ. Nh­ bµi
to¸n quyÕt ®Þnh, chóng ta cÇm biÕt mét c¸ch ®¬n gi¶n lµ mét clique víi kÝch th­íc k lµ cã
tån t¹i trong ®å thÞ hay kh«ng. §Þnh nghÜa h×nh thøc lµ
CLIQUE = {<G,k> : G lµ mét ®å thÞ víi mét clique kÝch th­íc k}
Mét thuËt to¸n ®¬n gi¶n x¸c ®Þnh xem mét ®å thÞ G=(V,E) víi |V| ®Ønh cã mét clique
kÝch th­íc k hay kh«ng lµ liÖt kª tÊt c¶ c¸c tËp con kÝch th­íc k cña V, vµ kiÓm tra mçi
tËp ®Ó xem nã cã t¹o thµnh mét clique. Thêi gian ch¹y cña thuËt to¸n nµy lµ (k2






k
V || ),
nã lµ mét ®a thøc nÕu k lµ mét h»ng sè. Tuy nhiªn, nãi chung k cã thÓ gÇn |V|/2, trong
tr­êng hîp ®ã thuËt to¸n ch¹y víi thêi gian siªu ®a thøc. Nh­ mét ng­êi cã thÓ nghi ngê,
mét thuËt to¸n hiÖu qu¶ cho bµi to¸n clique lµ hÇu nh­ kh«ng tån t¹i.
§Þnh lý 34.11
Bµi to¸n clique lµ NP-®Çy ®ñ.
Chøng minh: §Ó chØ ra r»ng CLIQUE  Np, ®èi víi mét ®å thÞ G=(V,E), chóng ta sö
dông tËp V’ V cña c¸c ®Ønh trong clique nh­ mét kÕt qu¶ cña G. KiÓm tra xem V’ cã lµ
clique hay kh«ng cã thÓ ®­îc hoµn thµnh trong thêi gian ®a thøc b»ng c¸ch kiÓm tra xem
víi mçi cÆp u, v  V’, c¹nh (u,v) cã thuéc E.
TiÕp ®ã chóng ta chøng minh r»ng 3-CNF-SAT P CLIQUE, ®iÒu nµy cho thÊy r»ng bµi
to¸n clique lµ NP-khã. C¸i mµ chóng ta cã thÓ chøng minh kÕt qu¶ nµy lµ mét c¸i g× ®ã
bÊt ngê v× vÒ bÒ ngoµi ®èi víi c¸c c«ng thøc logic d­êng nh­ cã rÊt Ýt liªn hÖ víi ®å thÞ.
ThuËt to¸n tèi gi¶n b¾t ®Çu b»ng mét phÇn tö cña 3-CNF-SAT. Cho C1 C2... Ck lµ
mét c«ng thøc logic trong 3-CNF víi k mÖnh ®Ò. Víi r=1,2,...,k, mÖnh ®Ò Cr cã chÝnh x¸c
3 ký hiÖu ph©n biÖt r
l1 , r
l2 vµ r
l3 . Chóng ta sÏ x©y dùng mét ®å thÞ G sao cho  lµ tho¶
®­îc nÕu vµ chØ nÕu G cã mét clique kÝch th­íc k.
§å thÞ G=(V,E) ®­îc x©y dùng nh­ sau. Víi mçi mÖnh ®Ò Cr=( r
l1  r
l2  r
l3 ) trong ,
chóng ta ®Æt mét bé ba c¸c ®Ønh r
v1
r
v2
r
v3 vµo trong V. Chóng ta ®Æt mét c¹nh gi÷a hai
®Ønh r
iv vµ s
jv nÕu hai ®iÒu kiÖn sau ®­îc tho¶ m·n:

r
iv vµ s
jv ë hai bé ba kh¸c nhau, ®ã lµ rs, vµ
 c¸c ký hiÖu t­¬ng øng lµ ®ång nhÊt, ®ã lµ, r
il kh«ng ph¶i lµ phñ ®Þnh cña s
jl
§å thÞ nµy cã thÓ dÔ dµng x©y dùng ®­îc tõ  víi thêi gian ®a thøc. XÐt vÝ dô ®èi víi
c«ng thøc
H×nh 34.13 CÊu tróc cña chøng minh tÝnh NP- ®ñ trong môc 34.4 vµ 34.5.
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34
Chuong34

More Related Content

What's hot

Time Management Skills Updated
Time Management Skills UpdatedTime Management Skills Updated
Time Management Skills Updatedtruongdracula
 
bctntlvn (67).pdf
bctntlvn (67).pdfbctntlvn (67).pdf
bctntlvn (67).pdfLuanvan84
 
Gs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn Bản
Gs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn BảnGs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn Bản
Gs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn BảnĐặng Duy Linh
 
Bai dtcd
Bai dtcdBai dtcd
Bai dtcdhope112
 
Bai2 ptthuatgiai
Bai2 ptthuatgiaiBai2 ptthuatgiai
Bai2 ptthuatgiaiHồ Lợi
 
Liễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnh
Liễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnhLiễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnh
Liễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnhVàng Cao Thanh
 
03 huong dan chuong trinh thiet ke btct
03 huong dan chuong trinh thiet ke btct03 huong dan chuong trinh thiet ke btct
03 huong dan chuong trinh thiet ke btctAn Nam Education
 
QOs
QOsQOs
QOsVNG
 

What's hot (8)

Time Management Skills Updated
Time Management Skills UpdatedTime Management Skills Updated
Time Management Skills Updated
 
bctntlvn (67).pdf
bctntlvn (67).pdfbctntlvn (67).pdf
bctntlvn (67).pdf
 
Gs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn Bản
Gs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn BảnGs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn Bản
Gs Nguyễn Đình Cống: Giáo trình Phong Thủy Căn Bản
 
Bai dtcd
Bai dtcdBai dtcd
Bai dtcd
 
Bai2 ptthuatgiai
Bai2 ptthuatgiaiBai2 ptthuatgiai
Bai2 ptthuatgiai
 
Liễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnh
Liễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnhLiễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnh
Liễu Phàm Tứ Huấn - Phương pháp tu phúc tích đức, cải tạo vận mệnh
 
03 huong dan chuong trinh thiet ke btct
03 huong dan chuong trinh thiet ke btct03 huong dan chuong trinh thiet ke btct
03 huong dan chuong trinh thiet ke btct
 
QOs
QOsQOs
QOs
 

Similar to Chuong34

Xq ky thuat &amp; cach doc phim uiv
Xq ky thuat &amp; cach doc phim uivXq ky thuat &amp; cach doc phim uiv
Xq ky thuat &amp; cach doc phim uivMartin Dr
 
Tiêu chuẩn 22 TCN 272-05 - P9
Tiêu chuẩn 22 TCN 272-05 - P9Tiêu chuẩn 22 TCN 272-05 - P9
Tiêu chuẩn 22 TCN 272-05 - P9Ttx Love
 
Chuong 14 16
Chuong 14   16Chuong 14   16
Chuong 14 16Vcoi Vit
 
Chuong 14 16
Chuong 14   16Chuong 14   16
Chuong 14 16Cat Love
 
so hocthuattoan hahuykhoai
so hocthuattoan hahuykhoaiso hocthuattoan hahuykhoai
so hocthuattoan hahuykhoaiTuấn Minh
 
bctntlvn (65).pdf
bctntlvn (65).pdfbctntlvn (65).pdf
bctntlvn (65).pdfLuanvan84
 
xây dựng phục hồi sủa chữa bộ ly hợp ma sát
xây dựng phục hồi sủa chữa bộ ly hợp ma sátxây dựng phục hồi sủa chữa bộ ly hợp ma sát
xây dựng phục hồi sủa chữa bộ ly hợp ma sátHoàng Thái Việt
 
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...Huu Nguyen
 
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...Huu Nguyen
 
Mot so phuong phap tinh vach
Mot so phuong phap tinh vachMot so phuong phap tinh vach
Mot so phuong phap tinh vachTran Thi
 
Qtns qt chieu
Qtns qt chieuQtns qt chieu
Qtns qt chieuAnna1223
 
Tieu chuan thiet ke thep
Tieu chuan thiet ke thepTieu chuan thiet ke thep
Tieu chuan thiet ke thepEngin Zeroo
 

Similar to Chuong34 (20)

Chuong 01
Chuong 01Chuong 01
Chuong 01
 
Chuong 01
Chuong 01Chuong 01
Chuong 01
 
Xq ky thuat &amp; cach doc phim uiv
Xq ky thuat &amp; cach doc phim uivXq ky thuat &amp; cach doc phim uiv
Xq ky thuat &amp; cach doc phim uiv
 
Tiêu chuẩn 22 TCN 272-05 - P9
Tiêu chuẩn 22 TCN 272-05 - P9Tiêu chuẩn 22 TCN 272-05 - P9
Tiêu chuẩn 22 TCN 272-05 - P9
 
Chuong 14 16
Chuong 14   16Chuong 14   16
Chuong 14 16
 
Chuong 14 16
Chuong 14   16Chuong 14   16
Chuong 14 16
 
Tcxdvn 338 2005
Tcxdvn 338 2005Tcxdvn 338 2005
Tcxdvn 338 2005
 
so hocthuattoan hahuykhoai
so hocthuattoan hahuykhoaiso hocthuattoan hahuykhoai
so hocthuattoan hahuykhoai
 
bctntlvn (65).pdf
bctntlvn (65).pdfbctntlvn (65).pdf
bctntlvn (65).pdf
 
xây dựng phục hồi sủa chữa bộ ly hợp ma sát
xây dựng phục hồi sủa chữa bộ ly hợp ma sátxây dựng phục hồi sủa chữa bộ ly hợp ma sát
xây dựng phục hồi sủa chữa bộ ly hợp ma sát
 
Ky thuat lap_trinh
Ky thuat lap_trinhKy thuat lap_trinh
Ky thuat lap_trinh
 
Kỹ thuật lập trình.
Kỹ thuật lập trình.Kỹ thuật lập trình.
Kỹ thuật lập trình.
 
Đề tài: Thiết kế trụ sở liên cơ quan số 2 tỉnh Quảng Ninh, HAY
Đề tài: Thiết kế trụ sở liên cơ quan số 2 tỉnh Quảng Ninh, HAYĐề tài: Thiết kế trụ sở liên cơ quan số 2 tỉnh Quảng Ninh, HAY
Đề tài: Thiết kế trụ sở liên cơ quan số 2 tỉnh Quảng Ninh, HAY
 
Ve hspbn
Ve hspbnVe hspbn
Ve hspbn
 
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
 
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
10. cac thiet bi do hat nhan su dung trong cong nghiep va cac van de atbx lie...
 
Mot so phuong phap tinh vach
Mot so phuong phap tinh vachMot so phuong phap tinh vach
Mot so phuong phap tinh vach
 
03 mot so phuong phap
03 mot so phuong phap03 mot so phuong phap
03 mot so phuong phap
 
Qtns qt chieu
Qtns qt chieuQtns qt chieu
Qtns qt chieu
 
Tieu chuan thiet ke thep
Tieu chuan thiet ke thepTieu chuan thiet ke thep
Tieu chuan thiet ke thep
 

Recently uploaded

bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxTrnHiYn5
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxDungxPeach
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-KhnhHuyn546843
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...hoangtuansinh1
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiNgocNguyen591215
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfXem Số Mệnh
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptPhamThiThuThuy1
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptxBài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
Bài tập nhóm Kỹ Năng Gỉai Quyết Tranh Chấp Lao Động (1).pptx
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 

Chuong34

  • 1. Ch­¬ng 34 TÝnh ®Çy ®ñ cña bµi to¸n NP HÇu hÕt c¸c thuËt to¸n mµ chóng ta nghiªn cøu ®Òu ®¹t ®Õn thêi gian ®a thøc (polynomial- time algorithms): víi ®Çu vµo cã kÝch th­íc n, thêi gian trong tr­êng hîp xÊu nhÊt lµ O(nk ) víi k lµ h»ng sè. DÜ nhiªn nã muèn biÕt toµn bé c¸c bµi to¸n cã thÓ ®­îc gi¶i víi thêi gian ®a thøc kh«ng ? C©u tr¶ lêi lµ kh«ng. VÝ dô, cã c¸c bµi to¸n nh­ bµi to¸n Turing næi tiÕng “Halting Problem” cã thÓ kh«ng gi¶i ®­îc bëi bÊt cø m¸y tÝnh nµo, nªn thêi gian ch¹y kµ bao nhiªu ®Òu kh«ng thµnh vÊn ®Ò. Nh­ vËy c¸c bµi to¸n cã thÓ gi¶i ®­îc nh­ng kh«ng ph¶i víi thêi gian O(nk ) víi h»ng sè k. Nh×n chung chóng ta ®Òu nghÜ c¸c bµi to¸n gi¶i ®­îc víi thêi gian ®a thøc th× cã thÓ kiÓm so¸t hoÆc dÔ vµ c¸c bµi to¸n ®ã ®ßi hái thuËt to¸n siªu ®a thøc hoÆc kh«ng thÓ kiÓm so¸t hoÆc khã. §èi t­îng cña ch­¬ng nµy lµ quan t©m ®Õn mét líp c¸c bµi to¸n gäi lµ NP- ®ñ (Np- complet), c¸c tr¹ng th¸i cña bµi to¸n ®Òu kh«ng biÕt. ThuËt to¸n víi thêi gian phi ®a thøc ®­îc kh¸m ph¸ cho mçi bµi to¸n NP- ®ñ, kh«ng chØ cã thÓ chøng minh r»ng thuËt to¸n phi ®a thøc mµ cßn cã thÓ cho mét bµi to¸n bÊt kú cña NP- ®ñ. Do vËy cã thÓ gäi c©u hái P  NP lµ mét trong nh÷ng c©u hái s©u nhÊt, tÊt c¶ sù phøc t¹p më ra cho bµi to¸n trong khoa häc lý thuyÕt m¸y tÝnh tõ khi nã xuÊt hiÖn lÇn ®Çu vµo n¨m 1971. §Æt biÖt chí trªu lµ vÒ ph­¬ng diÖn bµi to¸n NP- ®ñ lµ mét sè bµi to¸n gi­êng nh­ lµ bÒ ngoµi cña chóng gièng nh­ bµi to¸n ch¹y víi thêi gian ®a thøc . Theo mçi cÆp bµi to¸n mét lµ gi¶i ®­îc víi thêi gian ®a thøc vµ cßn l¹i lµ NP- ®ñ, nh­ng sù kh¸c biÖt xuÊt hiÖn gi÷a c¸c bµi to¸n nµy lµ kh«ng ®¸ng kÓ. C¸c ®­êng dÉn ®¬n ng¾n nhÊt ®èi víi c¸c ®­êng dÉn ®¬n dµi nhÊt: Trong ch­¬ng 24, ta thÊy r»ng thËm chÝ víi khèi l­îng c¹nh ©m, ta cã thÓ t×m ®­êng dÉn ng¾n nhÊt tõ mét nguån ®¬n trong mét ®å thÞ cã h­íng G= (V, E) b»ng thêi gian O(V E). T×m ®­êng dÉn ®¬n dµi nhÊt gi÷a hai ®Ønh lµ NP- ®ñ. Nãi ®óng h¬n, nã lµ NP- ®ñ nÕu thËm chÝ tÊt c¶ c¸c khèi l­îng c¹nh lµ 1. Vßng Euler víi chu tr×nh Haminton:Mét vßng Euler cña mét ®å thÞ cã h­íng liªn th«ng G= (V, E) lµ mét chu tr×nh ®i qua mçi c¹nh cña G ®óng mét lÇn, mÆc dï nã cã thÓ gÆp ®Ønh lín h¬n mét lÇn. Theo bµi to¸n 22-3, ta cã thÓ x¸c ®Þnh khi nµo mét ®å thÞ cã mét chu tr×nh Euler trong thêi gian O(E). Thùc vËy, ta cã thÓ t×m c¸c c¹nh cña vßng Euler trong thêi gian O(E). Mét chu tr×nh Haminton cña mét ®å thÞ cã h­íng G= (V, E) lµ mét chu tr×nh ®¬n chøa c¸c ®Ønh cña V. ViÖc x¸c ®Þnh khi nµo mét ®å thÞ cã h­íng cã chu tr×nh Haminton hay kh«ng lµ NP- ®ñ. (ë cuèi ch­¬ng nµy chóng ta sÏ chøng minh r»ng mét ®å thÞ v« h­íng cã mét chu tr×nh Haminton hay kh«ng lµ NP- ®ñ). Sù tho¶ ®­îc cña 2- CNF víi sù tho¶ ®­îc cña 3- CNF: Mét c«ng thøc logic (Boolean) chøa c¸c biÕn mµ gi¸ trÞ cña nã lµ 0 vµ 1; c¸c phÐp to¸n logic nh­: (AND), (OR) vµ (NOT); vµ dÊu ngoÆc. Mét c«ng thøc logic lµ tho¶ ®­îc nÕu cã mét sè gi¸ trÞ cña biÕn cã thÓ lµm cho gi¸ trÞ cña c«ng thøc. Chóng ta sÏ ®Þnh nghÜa c¸c tõ mét c¸ch chÝnh quy ë cuèi ch­¬ng nµy. Tuy nhiªn nãi mét c¸ch kh«ng chÝnh thøc mét c«ng thøc logic lµ mét k- chuÈn liªn hîp hay k- CNF, nÕu nã lµ héi (AND) c¸c mÖnh ®Ò tuyÓn (OR) cña ®óng k biÕn hoÆc phñ ®Þnh cña nã. VÝ dô, c«ng thøc logic
  • 2. (x1  x2) (x1 x3 )  (x2 x3) lµ 2- CNF. (Nã tho¶ ®­îc víi x1= 1, x2= 0, x3= 1.) Kh«ng cã thuËt to¸n ®a thøc x¸c ®Þnh mét c«ng thøc 2- CNF lµ tho¶ ®­îc nh­ng chóng ta sÏ xem sau ë cuèi ch­¬ng nµy, viÖc x¸c ®Þnh c«ng thøc 3- CNF tho¶ ®­îc lµ bµi to¸n NP- ®ñ. NP- ®ñ vµ c¸c líp bµi to¸n P vµ NP Th«ng qua ch­¬ng nµy, chóng ta sÏ ®Ò cËp ®Õn ba líp bµi to¸n: P, NP vµ NPC, cuèi cïng lµ c¸c bµi to¸n NP- ®ñ. ë ®©y chóng ta sÏ kh«ng m« t¶ chóng theo h×nh thøc mµ sÏ ®Þnh nghÜa chóng mét c¸ch chuÈn x¸c h¬n ë phÇn sau. Líp P bao gåm c¸c bµi to¸n cã thÓ gi¶i ®­îc trong thêi gian ®a thøc. §iÒu ®ã cã nghÜa lµ ë ®©y b»ng c¸ch ®­a ra mét x¸c nhËn cña lêi gi¶i, sau ®ã ta cã thÓ kiÓm tra r»ng chøng minh ®óng víi thêi gian ®a thøc trong kÝch th­íc ®Çu vµo cña bµi to¸n. VÝ dô, trong bµi to¸n chu tr×nh Euler, cho mét ®å thÞ cã h­íng G= (V, E), mét chøng minh sÏ lµ d·y tuÇn tù <v1, v2, .., v|V|> cña |V| ®Ønh. DÔ dµng kiÓm tra (vi, vi+1)  E víi i= 1, 2, 3, , |V|-1 vµ (v|V|, v)  E trong thêi gian ®a thøc. Do vËy mét vÝ dô kh¸c vÒ tÝnh tho¶ ®­îc cña 3- CNF. Chøng minh lµ dÊu hiÖu tho¶ ®­îc cña gi¸ trÞ c¸c biÕn. Chóng ta dÔ dµng kiÓm tra dÊu hiÖu tho¶ ®­îc cña biÓu thøc logic trong thêi gian ®a thøc. Mét bµi to¸n bÊt kú trong P kÓ c¶ NP, nÕu mét bµi to¸n trong P cã thÓ gi¶i ®­îc trong thêi gian ®a thøc mµ kh«ng ph¶i ®­a ra lêi chøng minh. Ta sÏ chuÈn ho¸ kh¸i niÖm nµy ë phÇn sau cña ch­¬ng nh­ng ta cã thÓ tin r»ng P NP. C©u hái më lµ P cã ph¶i lµ tËp con cña NP hay kh«ng ? Mét c¸ch kh«ng chÝnh thøc, mét bµi to¸n trong líp NPC vµ chóng ta ®Ò cËp ®Õn chóng nh­ bµi to¸n NP- ®ñ nÕu nã ë trong NP vµ “khã” nh­ bµi to¸n bÊt kú trong NP. Chóng ta sÏ chuÈn ho¸ ®Þnh nghÜa nã chóng khã nh­ c¸c bµi to¸n trong NP sÏ nh¾c ®Õn trong ch­¬ng nµy. Trong khi ®ã, chóng ta sÏ ph¸t biÓu mµ kh«ng chøng minh r»ng nÕu mét bµi to¸n NP- ®ñ cã thÓ gi¶i ®­îc trong thêi gian ®a thøc vµ mäi bµi to¸n Np -®ñ cã gi¶i thuËt ®a thøc. Toµn bé lý thuyÕt khoa häc m¸y tÝnh ®Òu tin r»ng c¸c bµi to¸n Np- ®ñ ®Òu khã gi¶i, tõ ®ã trong ph¹m vi réng cña c¸c bµi to¸n NP -®ñ ®­îc nghiªn cøu h«m nay mµ kh«ng sù kh¸m ph¸ nµo cã lêi gian trong thêi gian ®a thøc. SÏ thùc sù ng¹c nhiªn nÕu tÊt c¶ c¸c bµi to¸n nµy cã thÓ ®­îc gi¶i trong thêi gian ®a thøc. Víi nh÷ng cè g¾ng rÊt lín ®Ó chøng minh r»ng bµi to¸n NP- ®ñ lµ kh«ng gi¶i ®­îc vµ chóng ta ®· kh«ng cã kÕt qu¶ cuèi cïng. Chóng ta kh«ng thÓ ®­a ra ®­îc c¸c ®iÒu kiÖn ®Ó kh¼ng ®Þnh r»ng c¸c bµi to¸n NP- ®ñ thùc sù gi¶i ®­îc trong thêi gian ®a thøc. §Ó trë thµnh mét nhµ thiÕt kÕ thuËt to¸n tèt b¹n ph¶i hiÓu c¸c nguyªn lý c¬ b¶n cña lý thuyÕt vÒ NP- ®ñ. NÕu b¹n cã thÓ thiÕt lËp mét bµi to¸n d¹ng NP- ®ñ b¹n ®· ®­a ra c¸c b»ng chøng x¸c ®¸ng cho tÝnh kh«ng gi¶i ®­îc cña nã. Nh­ mét kü s­ b¹n sÏ sö dông thêi gian mét c¸ch tèt h¬n cho viÖc ph¸t triÓn thuËt to¸n xÊp xØ (xem ch­¬ng 35) hay gi¶i trong tr­êng hîp cã thÓ kiÓm so¸t, cßn h¬n lµ viÖc t×m kiÕm thuËt to¸n nhanh ®Ó gi¶i mét c¸ch chÝnh x¸c. H¬n n÷a rÊt nhiÒu bµi to¸n tù nhiªn thó vÞ mµ bÌ ngoµi cã vÎ nh­ kh«ng hÒ khã h¬n viÖc s¾p xÕp, biÓu ®å t×m kiÕm hay luång m¹ng thùc sù lµ NP- ®ñ. Do ®ã nã rÊt quan träng cho viÖc lµm cho ®¬n gi¶n mét phÇn ®¸ng kÓ cho líp c¸c bµi. Kh¸i qu¸t cña viÖc chØ ra c¸c bµi to¸n lµ NP- ®ñ Kü thuËt mµ chóng ta sö dông ®Ó chØ ra r»ng mét ®Æc ®iÓm riªng cña bµi to¸n lµ NP- ®ñ khã kü thuËt mµ chóng ta sö dông th«ng qua toµn bé cuèn s¸ch nµy ®Ó thiÕt kÕ vµ ph©n tÝch c¸c thuËt to¸n. NÒn t¶ng cña lý do lµm cho nã kh¸c biÖt lµ: trong viÖc chØ ra mét bµi
  • 3. to¸n lµ NP- ®ñ, chóng ta ®¸nh dÊu tr¹ng th¸i xung quanh viÖc xem nã khã ®Õn møc ®é nµo (hay cïng l¾m lµ xem chóng ta nghÜ nã khã ®Õn møc ®é nµo), dÜ nhiªn lµ kh«ng hái nã dÔ nh­ thÕ nµo ?. Chóng ta kh«ng cè g¾ng chøng minh sù tån t¹i mét thuËt to¸n hiÖu qu¶ h¬n lµ sù tån t¹i mét thuËt to¸n kh«ng hiÖu qu¶. Theo c¸ch nµy, viÖc chøng minh bµi to¸n NP- ®ñ phÇn nµo ®ã gièng chøng minh ë trong môc 8.1 víi ®é phøc t¹p trong tr­êng hîp xÊu nhÊt lµ (n lg n) cho sù so s¸nh thuËt to¸n s¾p xÕp bÊt kú; kü thuËt ®Æc biÖt ®­îc sö dông ®Ó chØ ra sù kh¸c nhau gi÷a c¸c bµi to¸n NP- ®ñ víi ph­¬ng ph¸p chia c©y sö dông trong phÇn 8.1 Chóng ta tin vµo ba kh¸i niÖm ch×a kho¸ cho viÖc chØ ra bµi to¸n lµ NP- ®ñ. C¸c bµi to¸n quyÕt ®Þnh vµ c¸c bµi to¸n tèi ­u Cã rÊt nhiÒu bµi to¸n hay lµ c¸c bµi to¸n tèi ­u, trong ®ã mçi lêi decigi¶i kh¶ khi (i.e. “legal”) ®Òu g¾n víi gi¸ trÞ, vµ chóng ta mong muèn t×m ra lêi gi¶i kh¶ thi víi gi¸ trÞ tèt nhÊt. VÝ dô, trong mét bµi to¸n mµ chóng ta gäi lµ ®­êng ®i ng¾n nhÊt SHORTEST- PATH, chóng ta lÊy mét ®å thÞ v« h­íng G vµ c¸c ®Ønh u, v, vµ chóng ta mong muèn t×m ®­êng ®­êng ®i tõ u sang v víi c¸c c¹nh ng¾n nhÊt. (Trong tr­êng hîp kh¸c SHORTEST- PATH lµ cÆp ®¬n bµi to¸n ®­êng ®i ng¾n nhÊt trong tr­êng hîp phi träng sè cña ®å thÞ v« h­íng.) NP- ®ñ kh«ng øng dông trùc tiÕp trong c¸c bµi to¸n tèi ­u. Tuy nhiªn c¸c bµi to¸n ph¸n quyÕt mµ c©u tr¶ lêi ®¬n gi¶n lµ “yes” hoÆc “no” (hoÆc chuÈn t¾c h¬n lµ “1” hoÆc “0”). MÆc dï viÖc chØ ra mét bµi to¸n lµ NP- ®ñ cã nhiÒu h¹n chÕ trong c¸c bµi to¸n quyÕt ®Þnh nh­ng cã mét mèi quan hÖ thÝch hîp gi÷a c¸c bµi to¸n tèi ­u vµ c¸c bµi to¸n quyÕt ®Þnh. Th«ng th­êng chóng ta cã thÓ coi mét bµi to¸n tèi ­u nh­ mét bµi to¸n quyÕt ®Þnh quan hÖ bëi mét giíi h¹n c¸c gi¸ trÞ ®ñ m¹nh ®Ó cã thÓ ®¹t tíi tèi ­u. Víi SHORTEST- PATH vÝ dô, mét bµi to¸n quyÕt ®Þnh quan hÖ mµ chóng ta gäi lµ PATH cã nghÜa lµ víi mét ®å thÞ v« h­íng G, c¸c ®Ønh u, v vµ mét sè nguyªn k, tån t¹i mét ®­êng ®i tõ u sang v cã tÊt c¶ k c¹nh. Mèi quan hÖ gi÷a mét bµi to¸n tèi ­u vµ bµi to¸n quyÕt ®Þnh quan hÖ víi nã cã chiÒu h­íng tèt khi chóng ta cè g¾ng chØ ra r»ng bµi to¸n tèi ­u lµ “khã” bëi v× bµi to¸n quyÕt ®Þnh cã c¶m gi¸c lµ dÔ h¬n hoÆc kh«ng khã h¬n nh­ mét tr­êng hîp ®Æc biÖt, chóng ta cã thÓ gi¶i quyÕt ®­êng ®i b»ng c¸ch chØ ra ®­êng ®i ng¾n nhÊt sau ®ã so s¸nh sè c¸c c¹nh trong ®­êng ®i ng¾n nhÊt t×m ®­îc víi gi¸ trÞ cña bµi to¸n quyÕt ®Þnh tham sè k. Nãi c¸ch kh¸c nÕu mét bµi to¸n tèi ­u lµ dÔ, bµi to¸n quyÕt ®Þnh quan hÖ víi nã còng dÔ nh­ vËy. Ph¸t biÓu d­íi d¹ng cã nhiÒu mèi liªn hÖ víi tÝnh NP- ®ñ, nÕu ta cã thÓ cung cÊp nh÷ng b»ng chøng r»ng mét bµi to¸n quyÕt ®Þnh lµ khã, chóng ta còng cung cÊp nh÷ng b»ng chøng mµ bµi to¸n tèi ­u liªn hÖ víi nã lµ khã. Do ®ã, mÆc dï h¹n chÕ sù chó ý tíi bµi to¸n quyÕt ®Þnh, lý thuyÕt vÒ tÝnh NP- ®ñ th­êng cã nh÷ng øng dông cho bµi to¸n tèi ­u. Rót gän Chó ý ë trªn vÒ viÖc chØ ra r»ng bµi to¸n lµ kh«ng khã h¬n hoÆc kh«ng dÔ h¬n mét øng dông kh¸c thËm chÝ khi c¶ hai bµi to¸n lµ nh÷ng bµi to¸n quyÕt ®Þnh. Ta sÏ dïng tiÖn lîi nµy trong hÇu hÕt c¸c chøng minh tÝnh NP - ®ñ sau ®©y. Tr­íc hÕt nãi vÒ bµi to¸n quyÕt ®Þnh, gäi lµ A, ta cã thÓ gi¶i quyÕt trong thêi gian ®a thøc. Chóng ta gäi ®Çu vµo cña mét bµi to¸n kú dÞ lµ mét minh ho¹ cña bµi to¸n ®ã; vÝ dô, trong ®­êng ®i, mét minh ho¹ cã thÓ lµ mét ®å thÞ G kú dÞ, c¸c ®Ønh kú dÞ u vµ v cña G, vµ mét sè nguyªn kú dÞ k. B©y giê gi¶i sö r»ng cã mét bµi to¸n quyÕt ®Þnh kh¸c, gäi lµ B mµ chóng ta ®· biÕt c¸ch gi¶i trong
  • 4. thêi gian ®a thøc. Cuèi cïng gi¶ sö r»ng chóng ta cã mét qu¸ tr×nh chuyÓn bÊt kú mét minh ho¹  cña A vµo mét minh ho¹  nµo ®ã cña B víi nh÷ng ®Æc tÝnh sau: 1. PhÐp chuyÓn diÔn ra trong thêi gian ®a thøc. 2. C¸c c©u tr¶ lêi lµ nh­ nhau. NghÜa lµ, c©u tr¶ lêi cho  lµ ®óng khi vµ chØ khi c©u tr¶ lêi cho  còng ®óng. H×nh 34.1 Chóng ta gäi mét qu¸ tr×nh thêi gian ®a thøc nh­ thÕ lµ thuËt to¸n rót gän vµ, xem h×nh vÏ 34.1, nã ®­a ra cho chóng ta mét c¸ch ®Ó gi¶i quyÕt bµi to¸n A trong thêi gian ®a thøc: 1. Cho tr­íc mét minh ho¹  cña bµi to¸n A, dïng thuËt to¸n rót gän thêi gian ®a thøc ®Ó chuyÓn nã vµo mét minh ho¹  cña bµi to¸n B. 2. Ch¹y thuËt to¸n quyÕt ®Þnh trong thêi gian ®a thøc cho bµi to¸n B trªn minh ho¹ . 3. Sö dông c©u tr¶ lêi cña  cho c©u tr¶ lêi cña . MiÔn lµ mçi b­íc trong c¸c b­íc nµy diÔn ra trong thêi gian ®a thøc, th× tÊt c¶ ba b­íc ®ã còng diÔn ra trong thêi gian ®a thøc, do ®ã chóng ta cã mét c¸ch ®Ó quyÕt ®Þnh trªn  trong thêi gian ®a thøc. Nãi c¸ch kh¸c, b»ng c¸ch rót gän viÖc gi¶i bµi to¸n A b»ng gi¶i bµi to¸n B, chóng ta sö dông “”TÝnh ®¬n gi¶n”” cña B ®Ó chøng minh “”tÝnh ®¬n gi¶n”” cña A. Nh¾c l¹i r»ng tÝnh NP- ®ñ lµ ®Æc tr­ng cho sù khã vµ dÔ cña mét bµi to¸n. Chóng ta sö dông c¸c rót gän ®a thøc theo c¸ch ®èi lËp ®Ó chØ ra r»ng mét bµi to¸n lµ NP- ®ñ. TiÕp tôc sö dông ý t­ëng vÒ c¸c b­íc, vµ chØ ra r»ng chóng ta cã thÓ sö dông c¸c rót gän ®a thøc nh­ thÕ nµo ®Ó chøng minh r»ng mét thuËt to¸n thêi gian ®a thøc cã thÓ tån t¹i cho mét bµi to¸n B kú dÞ. Gi¶ sö chóng ta cã mét bµi to¸n quyÕt ®Þnh A mµ chóng ta ®· biÕt kh«ng cã mét thuËt to¸n ®a thøc nµo ®Ó gi¶i quyÕt. (hiÖn t¹i chóng ta kh«ng quan t©m ®Õn viÖc t×m ra bµi to¸n A nh­ thÕ). H¬n n÷a gi¶ sö r»ng chóng ta cã mét rót gän ®a thøc chuyÓn c¸c minh ho¹ cña A vµo c¸c minh ho¹ cña B. B©y giê ta cã thÓ sö dông mét chøng minh ®¬n gi¶n b»ng ph¶n chøng ®Ó chØ ra r»ng kh«ng cã mét thuËt to¸n thêi gian ®a thøc nµo ®Ó gi¶i quyÕt B. Gi¶ sö ng­îc l¹i, B cã mét thuËt to¸n thêi gian ®a thøc. Khi ®ã, dïng ph­¬ng ph¸p chØ ra trong h×nh vÏ 34.1 chóng ta cã mét ph­¬ng ph¸p ®Ó gi¶i bµi to¸n A trong thêi gian ®a thøc. Tr¸i víi gi¶ thiÕt r»ng kh«ng cã thuËt to¸n ®a thøc nµo cho A. Víi tÝnh NP- ®ñ, chóng ta kh«ng thÓ gi¶ sö r»ng hoµn to¸n kh«ng cã mét thuËt to¸n ®a thøc cho bµi to¸n A. C¸ch chøng minh lµ t­¬ng tù, tuy nhiªn, chóng ta chøng minh r»ng bµi to¸n B lµ NP- ®ñ víi gi¶i thiÕt r»ng bµi to¸n A còng lµ NP- ®ñ.
  • 5. Bµi to¸n NP- ®ñ thø nhÊt Bëi v× kü kü thuËt rót gän dùa vµo viÖc cã s½n mét bµi to¸n ®· biÕt lµ NP- ®ñ ®Ó chøng minh mét bµi to¸n NP- ®ñ kh¸c, chóng ta cÇn mét bµi to¸n NP- ®ñ “®Çu tiªn”. Bµi to¸n mµ chóng ta sÏ dïng lµ bµi to¸n phï hîp m¹ng, ë ®ã ta ®­îc ®­a ra mät m¹ng tæ hîp logic t¹o thµnh tõ c¸c cæng AND, OR vµ NOT, vµ chóng ta muèn biÕt khi nµo cã mét tËp c¸c ®Çu vµo logic cho c¸c m¹ng nµy ®Ó t¹o ra ®Çu ra cña nã lµ 1. Chóng ta cã thÓ chøng minh r»ng bµi to¸n ®Çu tiªn nµy lµ NP- ®ñ trong môc 34.3. Ch­¬ng ph¸c th¶o Ch­¬ng nµy nghiªn cøu c¸c khÝa c¹nh cña tÝnh NP- ®ñ ¶nh h­ëng trùc tiÕp ®Õn sù ph©n tÝch c¸c thuËt to¸n. Trong môc 34.1 chóng ta chuÈn ho¸ c¸c kh¸i niÖm cña bµi to¸n vµ ®Þnh nghÜa líp phøc P cña c¸c bµi to¸n quyÕt ®Þnh gi¶i ®­îc ®a thøc. Chóng ta còng chØ ra nh÷ng ký hiÖu nµy phï hîp víi c¬ cÊu ng«n ng÷ chuÈn nh­ thÕ nµo. Môc 34.2 ®Þnh nghÜa líp NP cña c¸c bµi to¸n quyÕt ®Þnh mµ lêi gi¶i cña nã cã thÓ kiÓm chøng trong thêi gian ®a thøc. Nã còng ®­a ra c©u hái P kh¸c NP. Môc 34.3 sÏ ®­a ra c¸c mèi quan hÖ gi÷a c¸c bµi to¸n cã thÓ ®­îc nghiªn cøu th«ng qua rót gän ®a thøc nh­ thÕ nµo. Nã ®Þnh nghÜa tÝnh NP- ®ñ vµ ph¸c ho¹ mét chøng minh cho bµi to¸n phï hîp m¹ng lµ NP- ®ñ. Khi ®· t×m ®­îc mét bµi to¸n NP -®ñ, chóng ta sÏ ®­a ra trong môc 34.4 r»ng c¸c bµi to¸n kh¸c cã thÓ ®­îc chøng minh lµ NP- ®ñ sÏ dÔ dµng h¬n rÊt nhiÒu b»ng ph­¬ng ph¸p rót gän. Ph­¬ng ph¸p ë ®©y ®­îc minh ho¹ b»ng viÖc chØ ra r»ng hai bµi to¸n phï hîp c«ng thøc lµ NP- ®ñ. Mét khèi l­îng lín c¸c bµi to¸n kh¸c ®­îc chøng minh lµ NP- ®ñ trong môc 32.5. 34.1 Thêi gian ®a thøc Chóng ta b¾t ®Çu nghiªn cø tÝnh NP- ®ñ b»ng c¸ch chuÈn ho¸ c¸c kh¸i niÖm c¸c bµi to¸n gi¶i ®­îc ®a thøc. Nh÷ng bµi to¸n nµy nh×n chung ®­îc ®¸nh gi¸ lµ cã kh¶ n¨ng kiÓm so¸t nh­ng víi triÕt häc, phi to¸n häc chóng ta ®­a ra ba ®iÒu tranh luËn. Thø nhÊt, mÆc dï lµ hîp lý cho viÖc ®¸nh gi¸ mét bµi to¸n ®ßi hái thêi gian lµ (n100 ) lµ khã kiÓm so¸t ®­îc, thùc tÕ cã rÊt Ýt bµi to¸n ®ßi hái thêi gian lµ ®a thøc bËc cao. Thêi gian ®a thøc ®Ó tÝnh to¸n kiÓu c¸c bµi to¸n b¾t gÆp th­êng ®ßi hái thêi gian Ýt h¬n. Kinh nghiÖm cho thÊy cã thÓ chØ ra ngay r»ng thuËt to¸n ®a thøc ®Ó gi¶i mét bµi to¸n hiÖu qu¶ th­êng cã thêi gian thÊp h¬n. ThËm chÝ nÕu thuËt to¸n tèt nhÊt hiÖn nay cho mét bµi to¸n ch¹y trong thêi gian lµ (n100 ) th× nã còng gièng nh­ thuËt to¸n víi thêi gian ch¹y tèt h¬n sÏ ®­îc t×m ra. Thø hai, víi nhiÒu m« h×nh tÝnh to¸n hîp lý, mét bµi to¸n gi¶i ®­îc trong thêi gian ®a thøc trong mét m« h×nh cã thÓ gi¶i ®­îc trong thêi gian ®a thøc kh¸c. VÝ dô, líp c¸c bµi to¸n gi¶i ®­îc trong thêi gian ®a thøc b»ng chuçi truy nhËp ngÉu nhiªn vµo ®­îc sö dông trong c¶ cuèn s¸ch nµy gièng nh­ líp c¸c bµi to¸n gi¶i ®­îc trong thêi gian ®a thøc tãm t¾t trªn m¸y Turing 1 Nã còng gièng nh­ líp c¸c bµi to¸n gi¶i ®­îc trong m¸y tÝnh song song khi sè c¸c xö lý ®¹t tíi ®a thøc trong kÝch th­íc ®Çu vµo. 1 Xem Hopcroft vµ Ultman [156] hoÆc Lewis vµ Papadimitriou [204] cho mét xö lý trän vÑn cña m« h×nh m¸y Turing.
  • 6. Thø ba, líp c¸c bµi to¸n gi¶i ®­îc cã c¸c thuéc tÝnh ®ãng tèt, tõ ®ã c¸c ®a thøc ®­îc ®ãng víi c¸c phÐp céng, phÐp nh©n vµ phÐp hîp. VÝ dô, nÕu ®Çu ra cña mét thuËt to¸n ®a thøc ®­îc chuyÓn ®Õn ®Çu vµo cña mét thuËt to¸n kh¸c, thuËt to¸n hîp cã tÝnh ®a thøc. NÕu mét thuËt to¸n ®a thøc kh¸c ®­a ra mét sè kh«ng ®æi c¸c thñ tôc con cã thêi gian ®a thøc ch¹y víi thêi gian cña thuËt to¸n hîp tö lµ ®a thøc. C¸c bµi to¸n trõu t­îng §Ó hiÓu ®­îc líp c¸c bµi to¸n gi¶i ®­îc trong thêi gian ®a thøc, tr­íc tiªn chóng ta ph¶i cã mét kh¸i niÖm chuÈn cña bµi to¸n lµ g×. Chóng ta ®Þnh nghÜa mét tãm t¾t bµi to¸n Q lµ mét quan hÖ nhÞ ph©n cña mét tËp I cña bµi to¸n minh ho¹ vµ mét tËp S lêi gi¶i c¸c bµi to¸n. VÝ dô mét minh ho¹ cña bµi to¸n SHORTEST-PATH lµ kiÓm so¸t ®­îc bao gåm mét ®å thÞ vµ hai ®Ønh. Mét lêi gi¶i lµ mét d·y tuÇn tù c¸c ®Ønh trong ®å thÞ, hoÆc cã thÓ lµ mét d·y rçng nÕu kh«ng tån t¹i ®­êng ®i. Bµi to¸n SHORTEST-PATH b¶n th©n nã lµ quan hÖ mµ mçi mèi liªn hÖ minh ho¹ mét ®å thÞ vµ hai ®Ønh víi ®­êng ®i ng¾n nhÊt trong ®é thÞ nèi víi hai ®Ønh ®ã. Tõ ®ã ®­êng ®i ng¾n nhÊt kh«ng nhÊt thiÕt lµ duy nhÊt. Mét bµi to¸n minh ho¹ ®­a ra cã thÓ cã nhiÒu h¬n mét lêi gi¶i. Sù tr×nh bÇy t­êng minh c¸c bµi to¸n trõu t­îng lµ tæng qu¸t h¬n so víi viÖc ®ßi hái ®­a ra nh÷ng kÕt qu¶. Nh­ ta thÊy ë trªn lý thuyÕt cña tÝnh NP- ®ñ h¹n chÕ tham gia vµo c¸c bµi to¸n quyÕt ®Þnh: ®ã lµ mét lêi gi¶i yes/no. Trong tr­êng hîp nµy chóng ta xem mét tËp 0, 1. VÝ dô, mét bµi to¸n quyÕt ®Þnh quan hÖ víi SHORTEST-PATH lµ bµi to¸n ®­êng ®i mµ chóng ta thÊy dÔ dµng h¬n. NÕu i= G, u, v, k lµ mét minh ho¹ cña mét bµi to¸n quyÕt ®Þnh ®­êng ®i, khi ®ã PATH(i)= 1(yes) nÕu ®­êng ®i ng¾n nhÊt tõ u sang v ®i quan tÊt c¶ k c¹nh vµ PATH(i)= 0(no) trong tr­êng hîp ng­îc l¹i. Cã rÊt nhiÒu c¸c bµi to¸n trõu t­îng kh«ng ph¶i lµ c¸c bµi to¸n quyÕt ®Þnh huèng hå lµ c¸c bµi to¸n tèi ­u. Trong tr­êng hîp nµy mét sè gi¸ trÞ ph¶i ®¹t lín nhÊt hoÆc nhá nhÊt. Nh­ ta thÊy ë trªn, tuy nhiªn, th«ng th­êng mét vÊn ®Ò ®¬n gi¶n xÐt cho cïng mét bµi to¸n tèi ­u còng nh­ mét bµi to¸n quyÕt ®Þnh lµ kh«ng khã h¬n. M· ho¸ NÕu mét ch­¬ng tr×nh m¸y tÝnh dïng ®Ó gi¶i mét bµi to¸n trõu t­îng, bµi to¸n trõu t­îng ph¶i biÓu sao cho cã thÓ hiÓu ®­îc ch­¬ng tr×nh. M· ho¸ mét tËp S c¸c ®èi t­îng trõu t­îng lµ mét s¬ ®å e tõ S ®Õn tËp c¸c chuçi nhÞ ph©n2 . VÝ dô, chóng ta thÊy viÖc m· ho¸ tËp c¸c sè tù nhiªn N= 0, 1, 2, 3, 4, ... lµ c¸c chuçi 0, 1, 10, 11, 100, .... Sö dông viÖc m· ho¸ nµy E(17)= 100001. BÊt cø ký tù nµo trªn bµn phÝm ®Òu cã thÓ biÓu diÔn theo c¸c b¶ng m· ASCII hoÆc EBCDIC. Trong b¶ng m· ASCII th× m· cña A lµ 1000001. ThËm chÝ mét ®èi t­îng phøc hîp cã thÓ ®­îc m· ho¸ th·nh chuçi nhÞ ph©n b»ng c¸ch kÕt hîp c¸c biÓu diÔn tõng phÇn cña nã. C¸c ®a thøc, c¸c ®å thÞ, c¸c hµm, c¸c cÆp thø tù, c¸c ch­¬ng tr×nh- tÊt c¶ ®Òu cã thÓ m· ho¸ thµnh c¸c chuçi nhÞ ph©n. Do ®ã mét thuËt to¸n m¸y tÝnh gi¶i quyÕt mét bµi to¸n quyÕt ®Þnh trõu t­îng nµo ®ã thùc sù cÇn mét m· ho¸ cña minh ho¹ bµi to¸n nh­ ®Çu vµo. Chóng ta gäi mét bµi to¸n mµ tËp minh ho¹ lµ tËp c¸c chuçi nhÞ ph©n lµ bµi to¸n cô thÓ. Chóng ta nãi r»ng mét thuËt to¸n gi¶i quyÕt mét bµi to¸n cô thÓ trong thêi gian O(Tn) nÕu, khi nã ®­îc chia bëi mét 2 Ph¹m vi biÓu cña e kh«ng nhÊt thiÕt lµ c¸c chuçi nhÞ ph©n. mét tËp bÊt kú c¸c chuçi n»m ngoµi giíi h¹n b¶ng ch÷ c¸i cã Ýt nhÊt 2 ký tù sÏ lµ nh­ vËy.
  • 7. minh ho¹ bµi to¸n i ®é dµi n= |i|, thuËt to¸n cã thÓ t¹o ra mét lêi gi¶i trong thêi gian O(T(n))3 . Mét bµi to¸n cô thÓ lµ gi¶i ®­îc trong thêi gian ®a thøc, do ®ã tån t¹i mét thuËt to¸n ®Ó gi¶i quyÕt nã trong thêi gian O(nk ) víi mét h»ng sè k nµo ®ã. B©y giê chóng ta cã thÓ ®Þnh nghÜa mét c¸c chÝnh x¸c líp phøc P lµ mét tËp c¸c bµi to¸n quyÕt ®Þnh cô thÓ mµ gi¶i ®­îc trong thêi gian ®a thøc. Chóng ta cã thÓ sö dông c¸c m· ®Ó ®­a c¸c bµi to¸n trõu t­îng vÒ c¸c bµi to¸n cô thÓ. Cho tr­íc mét bµi to¸n quyÕt ®Þnh trõu t­îng Q. §­a mét tËp minh ho¹ I vµo tËp 2 ®iÓm 0 vµ 1, mét m· e: I0, 1* cã thÓ sö dông ®Ó rót gän thµnh mét bµi to¸n quyÕt ®Þnh cô thÓ liªn quan, mµ ta ký hiÖu lµ e(Q)4 . NÕu lêi gi¶i cho mét minh häa bµi to¸n trõu t­îng i  I lµ Q(i)   0, 1, th× lêi gi¶i cho minh ho¹ bµi to¸n cô thÓ e(i) 0, 1 còng lµ Q(i). Nh­ mét kü thuËt, cã thÓ cã mét vµi chuçi nhÞ ph©n kh«ng biÓu diÔn mét minh ho¹ cña bµi to¸n trõu t­îng cã nghÜa nµo. §Ó tiÖn lîi chóng ta nªn gi¶ sö r»ng bÊt kú mét chuçi nµo nh­ thÕ ®­îc ¸nh x¹ tuú ý vµo 0. Do ®ã, bµi to¸n cô thÓ sÏ ®­a ra cïng mét lêi gi¶i nh­ lµ bµi to¸n trõu t­îng trªn c¸c minh ho¹ chuçi nhÞ ph©n mµ biÓu diÔn c¸c m· cña c¸c minh ho¹ bµi to¸n trõu t­îng. Chóng ta sÏ më réng ®Þnh nghÜa cña tÝnh gi¶i ®­îc thêi gian ®a thøc tõ c¸c bµi to¸n cô thÓ tíi c¸c bµi to¸n trõu t­îng b»ng c¸ch sö dông c¸c m· nh­ lµ mét cÇu nèi, nh­ng chóng ta sÏ ®Þnh nghÜa mét c¸ch ®éc lËp trong c¸c tr­êng hîp m· ho¸ riªng. §iÒu nµy rÊt hiÖu qu¶ cho viÖc gi¶i mét bµi to¸n kh«ng phô thuéc vµo viÖc bµi to¸n ®­îc m· ho¸ nh­ thÕ nµo. §¸ng tiÕc lµ nã l¹i phô thuéc kh¸ chÆt chÏ vµo viÖc m· ho¸. VÝ dô, gi¶ sö mét sè nguyªn k ®­îc cung cÊp nh­ mét ®Çu vµo duy nhÊt cho mét thuËt to¸n vµ gi¶ sö r»ng thêi gian cña thuËt to¸n lµ (k). NÕu sè nguyªn k ®­îc cho d­íi d¹ng mét chuçi k sè 1 th× thêi gian ch¹y cña thuËt to¸n lµ (n) trong ®©u vµo cã ®é dµi n ®ã lµ thêi gian ®a thøc. NÕu chóng ta sö dông c¸c biÓu diÔn nhÞ ph©n cña sè k th× ®é dµi cña ®Çu vµo lµ n=[lgk]+1. Trong tr­êng hîp nµy thêi gian ch¹y cña thuËt to¸n lµ (k)= (2n ). §©y lµ thêi gian mò so víi cì cña ®Çu vµo. Do vËy, nã phô thuéc vµo viÖc m· ho¸ vµ thuËt to¸n ch¹y hoÆc thêi gian ®a thøc hoÆc thêi gian siªu ®a thøc. ViÖc m· ho¸ bµi to¸n trõu t­îng lµ kh¸ quan träng ®Ó chóng ta cã thÓ hiÓu ®­îc trong thêi gian ®a thøc. Thùc sù chóng ta kh«ng thÓ nãi vÒ viÖc gi¶i c¸c bµi to¸n trõu t­îng mµ kh«ng chØ râ tr­íc tiªn lµ viÖc m· ho¸. Tuy nhiªn trong thùc tÕ nÕu chóng ta “xµi” c¸ch m· ho¸ duy nhÊt sao cho unary ones, thùc sù m· ho¸ cña bµi to¸n chØ kh¸c mét chót so víi bµi to¸n cã thÓ gi¶i ®­îc trong thêi gian ®a thøc. VÝ dô, viÖc biÓu diÔn c¸c sè nguyªn trong hÖ 3 thay v× hÖ 2 kh«ng hiÖu qu¶ ®èi víi c¸c bµi to¸n gi¶i ®­îc trong thêi gian ®a thøc, tõ ®ã viÖc biÓu diÔn mét sè nguyªn tring hÖ 3 ®­îc chuyÓn ®æi thµnh viÖc biÓu diÔn c¸c sè nguyªn trong hÖ 3 víi thêi gian ®a thøc. Chóng ta nãi r»ng mét hµm f: 0,1* 0,1* lµ tÝnh to¸n trong thêi gian ®a thøc nÕu tån t¹i mét thuËt to¸n ®a thøc A ®ã lµ cho mét ®Çu vµo x  0,1* cho kÕt qu¶ ®Çu ra lµ f(x). Víi mçi tËp minh ho¹ c¸c bµi to¸n, chóng ta nãi r»ng hai m· ho¸ e1 vµ e2 cã liªn hÖ ®a thøc nÕu tån t¹i hµm tÝnh to¸n thêi gian ®a thøc f12 vµ f21 sao cho víi mçi i  I, ta cã f12(e1(i))= e2(i) vµ f21(e2(i))= e1(i) 5 . §ã lµ, m· e2(i) cã thÓ ®­îc tÝnh to¸n tõ m· e1(i) b»ng 3 Chóng ta gi¶ sö r»ng ®Çu ra cña thuËt to¸n lµ ®éc lËp víi ®Çu vµo. V× t¹i mçi b­íc ®­a ra kÕt qu¶ cã b­íc thêi gian lµ O(T(n)) nªn kÝch th­íc cña ®Çu ra sÏ lµ O(T(n)). 4 Nh­ chóng ta thÊy 0, 1 kh¸i niÖm tËp tÊt c¶ chuçi s¾p xÕp c¸c biÓu t­îng tõ tËp 0, 1. 5 Kü thuËt cña nã lµ, mÆc dï chóng ta ®ßi hái c¸c hµm f12 vµ f21 lµm “s¬ ®å tõ phi minh ho¹ ®Õn phi minh ho¹” . ViÖc minh ho¹ c¸ch m· ho¸ e lµ mét chuçi x  0,1* sao cho kh«ng cã minh ho¹ i nµo ®ã mµ
  • 8. thuËt to¸n thêi gian ®a thøc. NÕu hai m· e1 vµ e2 cña mét bµi to¸n trõu t­îng cã quan hÖ ®a thøc, bµi to¸n cã gi¶i ®­îc trong thêi gian ®a thøc hay kh«ng tuú thuéc vµo m· mµ chóng ta sö dông, nh­ bæ ®Ò sau ®©y sÏ chØ ra. Bæ ®Ò 34.1 Gi¶ sö Q lµ mét bµi to¸n quyÕt ®Þnh trõu t­îng trªn mét tËp minh ho¹ I, vµ gi¶ sö e1 e2 lµ c¸c m· cã liªn hÖ ®a thøc trªn I. Khi ®ã, e1(Q)  P khi vµ chØ khi e2(Q)  P. Chøng minh: Chóng ta chØ cÇn chøng minh chiÒu ®i, bëi v× chiÒu ng­îc l¹i lµ t­¬ng tù. Gi¶ sö r»ng e1(Q) cã thÓ gi¶i ®­îc trong thêi gian O(nk ) víi k lµ h»ng sè nµo ®ã. H¬n n÷a gi¶ sö r»ng víi bÊt kú minh ho¹ bµi to¸n i, m· e1(i) cã thÓ ®­îc tÝnh tõ m· e2(i) trong thêi gian O(nc ) víi c lµ h»ng sè, trong ®ã n= |e2(i)|. §Ó gi¶i bµi to¸n e2(Q), trªn ®Çu vµo e2(i), tr­íc tiªn chóng ta tÝnh to¸n e1(i) sau ®ã ch¹y thuËt to¸n cho e1(Q) trªn e1(i). MÊt bao nhiªu thêi gian ? Sù chuyÓn ®æi c¸c m· sÏ cÇn thêi gian O(nc ), v× ®Çu ra cña m¸y tÝnh tuÇn tù kh«ng thÓ l©u h¬n thêi gian ch¹y nã. ViÖc gi¶i bµi to¸n trªn e1(i) cÇn thêi gian O(|e1(i)|k )= O(nck ), lµ ®a thøc v× c vµ k ®Òu lµ h»ng sè. Do ®ã, khi nµo mét bµi to¸n trõu t­îng cã c¸c minh ho¹ cña nã ®­îc m· ho¸ b»ng nhÞ ph©n hoÆc c¬ sè 3 sÏ kh«ng ¶nh h­ëng ®Õn tÝnh phøc hîp cña nã, nghÜa lµ khi nµo th× nã lµ gi¶i ®­îc ®a thøc, nh­ng nÕu c¸c minh ho¹ ®­îc m· ho¸ in unary, tÝnh phøc hîp cña nã cã thÓ thay ®æi. §Ó cã thÓ chuyÓn vµo mét m· ®éc lËp, chóng ta th­êng gi¶ sö r»ng c¸c minh ho¹ bµi to¸n ®­îc m· ho¸ b»ng bÊt kú mét kiÓu ng¾n gän vµ hîp lý, trõ khi chóng ta ®Æc biÖt l­u ý nã theo mét kiÓu kh¸c. §Ó chÝnh x¸c ho¸, chóng ta gi¶ sö r»ng m· cña mét sè nguyªn lµ cã liªn hÖ ®a thøc tíi biÓu diÔn nhÞ ph©n cña nã, vµ m· cña mét tËp h÷u h¹n cã liªn hÖ ®a thøc tíi m· cña nã nh­ lµ mét d·y c¸c phÇn tö cña nã, bao gåm c¶ c¸c dÊu ngoÆc vµ ®­îc ph©n chia bëi c¸c dÊu ph¶y. (ASCII lµ mét trong nh÷ng kiÓu m· nh­ thÕ). Víi mét m· tiªu chuÈn nh­ thÕ, chóng ta cã thÓ nhËn ®­îc c¸c m· hîp lý tõ c¸c ®èi t­îng to¸n häc kh¸c, nh­ lµ c¸c bé, c¸c ®å thÞ, vµ c¸c c«ng thøc. §Ó ®Þnh nghÜa c¸c m· tiªu chuÈn cña mét ®èi t­îng, chóng ta th­êng ®­a chóng vµo trong c¸c dÊu ngoÆc gãc. Do ®ã G sÏ ký hiÖu cho m· tiªu chuÈn cña mét ®å thÞ G. MiÔn lµ chóng ta sö dông mét c¸ch Èn ý mét m· mµ cã liªn hÖ ®a thøc tíi m· tiªu chuÈn cña nã, chóng ta cã thÓ nãi trùc tiÕp vÒ c¸c bµi to¸n trõu t­îng mµ kh«ng cÇn suy diÔn tíi mét m· ®Æc biÖt nµo kh¸c, viÖc biÕt sù lùa chän cña mét m· kh«ng ¶nh h­ëng tíi viÖc khi nµo mét bµi to¸n trõu t­îng lµ gi¶i ®­îc ®a thøc. Tõ giê trë ®i, chóng ta lu«n gi¶ sö r»ng tÊt c¶ c¸c minh ho¹ bµi to¸n lµ c¸c chuçi nhÞ ph©n ®­îc m· ho¸ b»ng m· tiªu chuÈn, trõ khi chóng ta chØ râ mét sù ®èi lËp. Chóng ta còng bá qua sù kh¸c biÖt sù kh¸c biÖt gi÷a c¸c bµi to¸n cô thÓ vµ c¸c bµi to¸n trõu t­îng. Ng­êi ®äc nªn xem c¸c bµi to¸n trong phÇn luyÖn tËp, tuy nhiªn trong ®ã mét m· tiªu chuÈn lµ kh«ng râ rµng vµ m· kh«ng t¹o ra sù kh¸c biÖt. C¬ cÊu ng«n ng÷ chuÈn Mét trong nh÷ng mÆt tiÖn Ých c¬ b¶n cña bµi to¸n quyÕt ®Þnh lµ chóng lµm cho viÖc sö dông lý thuyÕt ng«n ng÷ m¸y ®­îc dÔ dµng h¬n. Nã ®¸ng gi¸ ë ®iÓm nã xem xÐt l¹i mét vµi ®Þnh nhghÜa tõ lý thuyÕt cña nã. Mét b¶ng ch÷ c¸i  lµ mét tËp h÷u h¹n c¸c ký tù, nÕu e(i)= x. Chóng ta ®ßi hái r»ng f12(x)= y cho mäi phi minh ho¹t x cña m· ho¸ e1 mµ y lµ mét sè phi minh cña e2 vµ f21(x’)= y’ víi mçi phi minh häa x’ cña e2 mµ y’ lµ mét sè phi minh ho¹ cña e1.
  • 9.  lµ mét tËp chuçi nµo ®ã ®­îc t¹o ra bëi c¸c ký tù cña . VÝ dô, nÕu = 0, 1, tËp L= 10, 11, 101, 111, 1011, 10001,  lµ ng«n ng÷ biÓu diÔn nhÞ ph©n cña c¸c sè c¨n b¶n (prime). Chóng ta ®Þnh chuçi rçng lµ , vµ ng«n ng÷ rçng lµ . Ng«n ng÷ cña tÊt c¶ c¸c chuçi qua  ®­îc ký hiÖu bëi *. VÝ dô, nÕu = 0, 1, th× *= , 0, 1, 00, 01, 10, 11, 000,  lµ tÊt c¶ c¸c chuçi nhÞ ph©n. TÊt c¶ c¸c ng«n ng÷ L qua  lµ tËp con cña *. Cã rÊt nhiÒu phÐp to¸n ng«n ng÷. TËp lý thuyÕt c¸c phÐp to¸n, nh­ phÐp hîp (union) vµ phÐp giao (intersection), d­íi ®©y tõ tËp lý thuyÕt c¸c ®Þnh nghÜa. Chóng ta ®Þnh nghÜa phÇn bï (complement) cña L bëi LL  * . PhÐp nèi (concatnation) hai ng«n ng÷ L1 vµ L2 lµ mét ng«n ng÷. L= x1x2: x1 L1 vµ x2 L2. Sù kÕt hay Kleene star cña mét ng«n ng÷ L lµ ng«n ng÷ L*=  L L2  L3  Trong ®ã Lk lµ ng«n ng÷ chøa phÐp nèi L víi chÝnh nã k lÇn. Tõ lý thuyÕt ng«n ng÷ trªn, tËp c¸c minh ho¹ cho mçi bµi to¸n quyÕt ®Þnh Q lµ tËp *, trong ®ã = 0, 1. V× Q hoµn toµn lµ ®Æc ®iÓm cña c¸c bµi to¸n minh ho¹ nµy nªn viÖc ®­a ra mét tr¶ lêi 1 (yes) cã thÓ xem Q nh­ mét ng«n ng÷ L qua = 0, 1, trong ®ã L*= x *: Q(x)= 1. VÝ dô, bµi to¸n quyÕt ®Þnh PATH cã ng«n ng÷ t­¬ng ®ång PATH= G, u, v, k: G= (V, E) lµ mét ®å thÞ v« h­íng, u, v  V, k 0 lµ mét sè nguyªn, vµ tån t¹i mét ®­êng ®i tõ u sang v trong G ®i qua k c¹nh. (Tõ tiÖc Ých nµy, ®«i khi chóng ta sö dông tªn t­¬ng tù PATH trong tr­êng hîp nh¾c ®Õn c¶ bµi to¸n quyÕt ®Þnh vµ ng«n ng÷ t­¬ng ®ång víi nã). CÊu tróc ng«n ng÷ chuÈn cho phÐp chóng ta biÓu diÔn quan hÖ gi÷a bµi to¸n quyÕt ®Þnh vµ thuËt gi¶i chóng hÕt søc ng¾n ngän. Chóng ta nãi r»ng mét thuËt to¸n chÊp nhËn (accepts) A lµ mét chuçi x0, 1* nÕu, cho ®Çu vµo x, ®Çu ra cña thuËt A(x) lµ 1. Ng«n ng÷ chÊp nhËn bëi thuËt to¸n A lµ mét tËp c¸c chuçi L= x 0, 1*: A(x)= 1, ®ã lµ tËp c¸c chuçi mµ thuËt gi¶i chÊp nhËn ®­îc. Mét thuËt to¸n lµ tõ chèi (rejects) chuçi x nÕu A(x)= 0. ThËm chÝ nÕu ng«n ng÷ L lµ chÊp nhËn ®­îc bëi mét thuËt to¸n A, thuËt to¸n kh«ng nhÊt thiÕt tõ chèi chuçi x L ®­îc cung cÊp nh­ mét ®Çu vµo. VÝ dô, thuËt to¸n cã thÓ lÆp v« h¹n. Mét ng«n ng÷ L lµ quyÕt ®Þnh ®­îc bëi mét thuËt to¸n A nÕu mäi chuçi nhÞ ph©n trong L lµ chÊp nhËn ®­îc bëi A vµ mäi chuçi nhÞ ph©n kh«ng thuéc L sÏ bÞ tõ chèi bëi A. Mét ng«n ng÷ L lµ chÊp nhËn ®­îc trong thêi gian ®a thøc bëi mét thuËt to¸n A nÕu nã ®­îc chÊp nhËn bëi A vµ nÕu trong phÐp céng cã mét h»ng sè k sao cho víi mçi ®é dµi n cña chuçi x  L, thuËt to¸n A chÊp nhËn x trong thêi gian O(nk ). Mét ng«n ng÷ L lµ quyÕt ®Þnh ®­îc trong thêi gian ®a thøc bëi mét thuËt to¸n A nÕu cã mét h»ng sè k sao cho víi mçi ®é dµi cña x©u x0, 1*, thuËt to¸n quyÕt ®Þnh chÝnh x¸c t¹i x L trong thêi gian O(nk ). Do vËy, ®Ó chÊp nhËn mét ng«n ng÷, mét thuËt to¸n chØ cÇn nghÜ ®Õn c¸c chuçi
  • 10. trong L, nh­ng ®Ó quyÕt ®Þnh mét ng«n ng÷, nã ph¸i chÊp nhËn chÝnh x¸c hoÆc tõ chèi mäi chuçi trong 0, 1*. Nh­ mét vÝ dô, ng«n ng÷ PATH cã thÓ chÊp nhËn ®­îc trong thêi gian ®a thøc. Mét thêi gian ®a thøc chÊp nhËn hoµn toµn thuËt to¸n mµ G m· ho¸ mét ®å thÞ v« h­íng, trong ®ã u vµ v lµ c¸c ®Ønh cña G, sau ®ã so s¸nh sè l­îng c¹nh trªn ®­êng ®i ng¾n nhÊt qua k c¹nh. NÕu G m· ho¸ mét ®å thÞ v« h­íng vµ ®­êng ®i tõ u sang v ®i qua tÊt c¶ k c¹nh, ®Çu ra cña thuËt to¸n lµ 1 vµ dõng. Ng­îc l¹i thuËt to¸n ch¹y v« h¹n. ThuËt to¸n nµy kh«ng quyÕt ®Þnh PATH, tuy nhiªn, do nã kh«ng cho ®Çu ra chÝnh x¸c lµ 0 cho c¸c minh ho¹, trong tr­êng hîp ®ã ®­êng ®i ng¾n nhÊt ®i qua nhiÒu h¬n k c¹nh. Mét thuËt to¸n quyÕt ®Þnh cho PATH ph¶i tõ chèi chÝnh x¸c chuçi nhÞ ph©n kh«ng thuéc vµo PATH. Víi mét bµi to¸n quyÕt ®Þnh nh­ PATH, mét thuËt to¸n quyÕt ®Þnh lµ dÔ nhËn ra: thay v× ch¹y v« h¹n khi kh«ng cã ®­êng ®i tõ u sang v qua k c¹nh, thi ®Çu ra cña nã lµ 0 vµ dõng. Víi c¸c bµi to¸n kh¸c nh­ bµi to¸n Turing’s Halting, tån t¹i mét thuËt to¸n chÊp nhËn, nh­ng kh«ng tån t¹i thuËt to¸n quyÕt ®Þnh. Chóng ta cã thÓ ®Þnh nghÜa kh«ng chÝnh thøc mét líp phøc hîp nh­ mét tËp ng«n ng÷, thµnh phÇn cña nã lµ x¸c ®Þnh ®­îc bëi mét ®¬n vÞ phøc hîp, nh­ thêi gian ch¹y cña mét thuËt to¸n x¸c ®Þnh víi mét chuçi x thuéc vµo ng«n ng÷ L. §Þnh nghÜa chÝnh x¸c cña líp phøc hîp lµ kü thuËt h¬n phÇn nµo ®ã- ng­êi ®äc quan t©m xem bµi b¸o cña Hartmanis vµ Stearn [140]. Sö dông cÊu tróc ng«n ng÷ nµy, chóng ta cã thÓ cung cÊp mét sù chän lùa ®Þnh nghÜa líp phøc P: L= L 0, 1*: tån t¹i mét thuËt to¸n A quyÕt ®Þnh L trong thêi gian ®a thøc. Trong thùc tÕ, P lµ líp c¸c ng«n ng÷ cã thÓ chÊp nhËn ®­îc trong thêi gian ®a thøc. §Þnh lý 34.2 P= L: L lµ chÊp nhËn ®­îc bëi mét thuËt to¸n thêi gian ®a thøc. Chøng minh. Tõ líp c¸c ng«n ng÷ quyÕt ®Þnh bëi thuËt to¸n thêi gian ®a thøc, chóng ta chØ cÇn chØ ra r»ng nÕu L lµ chÊp nhËn ®­îc bëi thuËt to¸n thêi gian ®a thøc, nã ®­îc quyÕt ®Þnh bëi mét thuËt to¸n thêi gian ®a thøc A. Chóng ta sÏ sö dông mét líp gi¶ ®èi sè “simulation” ®Ó x©y dùng thuËt to¸n thêi gian ®a thøc kh¸c A’ quyÕt ®Þnh L. Bëi v× A chÊp nhËn L trong thêi gian O(nk ) víi h»ng sè k, do vËy tån t¹i mét h»ng sè c sao cho A chÊp nhËn L trong T= cnk b­íc. Víi mçi chuçi vµo x, thuËt to¸n A’ gi¶ thùc hiÖn A víi thêi gian T. T¹i cuèi thêi ®iÓm T, thuËt to¸n A’ kiÓm tra c¸ch xö lý cña A. NÕu A chÊp nhËn x, th× A’ còng chÊp nhËn x b»ng ®Çu ra lµ 1. NÕu A kh«ng chÊp nhËn x th× A’ tõ chèi x bë ®Çu ra lµ 0. Trªn A’ gi¶ A kh«ng lµm t¨ng thêi gian ch¹y bëi h¬n mét thõa sè cña ®a thøc, vµ do vËy A’ lµ thuËt to¸n thêi gian ®a thøc quyÕt ®Þnh L. Chó ý r»ng chøng minh §Þnh lý 34.2 kh«ng cã tÝnh suy diÔn. Víi mçi ng«n ng÷ L P, chóng ta cã thÓ kh«ng biÕt chÝnh x¸c giíi h¹n cña thêi gian ch¹y cho mçi thuËt to¸n A chÊp nhËn L. Tuy nhiªn, chóng ta biÕt giíi h¹n lµ lu«n tån t¹i, vµ do vËy mµ tån t¹i mét thuËt to¸n A’ cã thÓ kiÓm tra ®­îc giíi h¹n ®ã, thËm chÝ qua ®ã chóng ta kh«ng thÓ t×m ra thuËt to¸n A’ mét c¸ch dÔ dµng. Bµi tËp
  • 11. 34.1-1 §Þnh nghÜa bµi to¸n tèi ­u LONGEST-PATH-LENGTH nh­ quan hÖ mµ sù liªn hÖ mçi minh ho¹ cña mét ®å thÞ v« h­íng vµ hai ®Ønh víi sè c¹nh trong ®­êng ®i dµi nhÊt gi÷a hai c¹nh ®ã. §Þnh nghÜa bµi to¸n quyÕt ®Þnh LONGEST-PATH= G, u, v, k: G= (V, E) lµ mét ®å thÞ v« h­íng, u, v  V, k 0 lµ mét sè nguyªn, vµ tån t¹i mét ®­êng ®i ®¬n gi¶n tõ u sang v ®i qua k c¹nh. ChØ ra r»ng bµi to¸n tèi ­u LONGEST-PATH- LENGTH cã thÓ gi¶i ®­îc trong thêi gian ®a thøc nÕu vµ chØ nÕu LONGEST-PATH P. 34.1-2 Víi mét ®Þnh nghÜa chuÈn cho bµi to¸n t×m chu tr×nh ®¬n gi¶n dµi nhÊt trong mét ®å thÞ v« h­íng. H·y ®­a ra mét bµi to¸n quyÕt ®Þnh quan hÖ. §­a ra mét ng«n ng÷ t­¬ng ®ång cho bµi to¸n quyÕt ®Þnh. 34.1-3 §­a ra mét m· ho¸ chuÈn t¾c cña ®å thÞ cã h­íng nh­ c¸c x©u nhÞ ph©n cã sö dông biÓu diÔn d­íi d¹ng ma trËn kÒ. Lµm t­¬ng tù cã trong tr­êng hîp sö dông biÓu diÔn danh s¸ch kÒ. Gîi ý lµ hai biÓu diÔn cã quan hÖ ®a thøc. 34.1-4 Cã ph¶i thuËt to¸n ch­¬ng tr×nh ®éng cho bµi to¸n ba l« (knapsack) 0-1 mµ c©u hái trong Bµi tËp 16.2-2 lµ mét thuËt to¸n cã thêi gian ®a thøc ? H·y tr×nh c©u tr¶ tr¶ lêi. 34.1-5 ChØ ra r»ng mét thuËt to¸n kh¸c cã thêi gian ®a thøc ®­îc x©y dùng b»ng c¸ch gäi mét sè lÇn kh«ng ®æi c¸c thñ tôc con cã thêi gian ®a thøc ch¹y trong thêi gian ®a thøc, nh­ng mét ®a thøc cã sè lÇn gäi thñ tôc con cã thêi gian ®a thøc cã thÓ ®­a ra kÕt qu¶ thuËt gi¶i trong thêi gian kh«ng an toµn. 34.1-6 ChØ ra r»ng líp P, xem nh­ mét tËp ng«n ng÷, ®ãng víi phÐp hîp, phÐp giao, phÐp nèi, phÐp lÊy phÇn bï, vµ Kleene star. §ã lµ, nÕu L1, L2 P, th× L1L2 P, 34.2 KiÓm tra thêi gian ®a thøc B©y giê chóng ta xem thuËt to¸n “kiÓm tra” (verify) c¸c thµnh phÇn trong ng«n ng÷. VÝ dô, gi¶ sö r»ng víi viÖc lÊy mét minh ho¹ G, u, v, k cña bµi to¸n quyÕt ®Þnh PATH, chóng ta ®­a ra mét ®­êng ®i tõ u sang v. Ta cã thÓ dÔ dµng kiÓm tra ®é dµi cña p tÊt c¶ k lÇn, vµ do vËy, chóng ta cã thÓ xem p nh­ mét “dÉn chøng” (certificate) mµ minh ho¹ thùc sù thuéc vÒ PATH. Víi bµi to¸n quyÕt ®Þnh PATH, nh÷ng dÉn chøng nµy kh«ng coi lµ thuyÕt phôc chóng ta h¬n. Vµ khi ®ã, PATH thuéc P- thùc sù, PATH cã thÓ gi¶i ®­îc trong thêi gian tuyÕn tÝnh- vµ do vËy c¸c dÉn chøng thµnh phÇn tõ viÖc ®­a ra dÉn chøng x¸c thùc ®Ó gi¶i bµi to¸n tõ mí hçn ®én. B©y giê chóng ta xÐt mét bµi to¸n mµ chóng ta biÕt thuËt gi¶i trong thêi gian phi ®a thøc, ®­a ra mét dÉn chøng, dÉn chøng nµy rÊt dÔ.
  • 12. Chu tr×nh Hamilton Bµi to¸n t×m mét chu tr×nh Hamilton trong ®å thÞ v« h­íng ®· ®­îc nghiªn cøu hµng tr¨m n¨m nay. ChÝnh x¸c lµ chu tr×nh Hamilton cña mét ®å thÞ v« h­íng G= (V, E) lµ chu tr×nh ®¬n gi¶n gåm tÊt c¶ c¸c ®Ønh trong V. Mét ®å thÞ cã chu tr×nh Hamilton ®­îc gäi lµ ®å thÞ hamilton (hamiltonian), ng­îc l¹i gäi lµ phi hamilton (nonhamiltonian).. Chóng ta cã thÓ ®Þnh nghÜa bµi to¸n chu tr×nh hamilton, “Mét ®å thÞ G cã mét chu tr×nh hamilton kh«ng ?” nh­ mét ng«n ng÷ chuÈn: HAM-CYCLE= G: G lµ mét ®å thÞ hamilton Mét thuËt to¸n cã thÓ quyÕt ®Þnh ng«n ng÷ HAM-CYCLE ra sao? Víi mét minh ho¹ bµi to¸n G, mét kh¶ n¨ng quyÕt ®Þnh danh s¸ch tÊt c¶ c¸c ho¸n vÞ c¸c ®Ønh cña G vµ sau ®ã kiÓm tra mét ho¸n vÞ ®Ó xem nÕu nã lµ mét ®­êng hamilton. Thêi gian cña thuËt to¸n ë ®©y lµ g× ? NÕu chóng ta sö dông m· ho¸ “phï hîp” (reasonable) cña mét ®å thÞ nh­ mét ma trËn kÒ cña nã, sè m c¸c ®Ønh trong ®å thÞ lµ )( n , víi n= |G| lµ ®é dµi m· ho¸ cña G. Cã m! kh¶ n¨ng ho¸n vÞ cña c¸c ®Ønh, vµ do vËy thêi gian ch¹y lµ )2()!()!( n mm  , nã kh¸c (nk) víi k lµ h»ng sè. Do ®ã thuËt to¸n kh«ng ch¹y trong thêi gian ®a thøc. Trong thùc tÕ bµi to¸n chu tr×nh hamilton lµ NP- ®ñ, nh­ chóng ta sÏ chøng minh trong môc 34.5. ThuËt to¸n x¸c minh XÐt mét bµi to¸n dÔ dµng vµ cô thÓ h¬n. Gi¶ sö r»ng mét ng­êi b¹n nãi víi b¹n r»ng cho mét ®å thÞ G lµ hamilton, vµ sau ®ã chøng minh b»ng c¸ch s¾p xÕp c¸c c¸c ®Ønh cña ®å thÞ däc theo chu tr×nh hamilton. §­¬ng nhiªn lµ dÔ ®Ó thÈm ®Þnh chøng minh: thÈm ®Þnh ®¬n gi¶n r»ng chu tr×nh ®­îc ®­a ra lµ hamilton b»ng c¸ch kiÓm tra nã lµ ho¸n vÞ cña c¸c ®Ønh trong V vµ mçi ®Ønh kÒ thùc sù thuéc vÒ chu tr×nh tån t¹i trong ®å thÞ. ThuËt to¸n x¸c minh cã thÓ thùc hiÖn trong thêi gian O(n2), trong ®ã n lµ ®é dµi m· ho¸ G. Do vËy, mét chøng minh sù tån t¹i chu tr×nh trong ®å thÞ cã thÓ ®­îc x¸c minh trong thêi gian ®a thøc. H×nh 34.2 (a) Mét ®å thÞ biÓu diÔn c¸c ®Ønh, c¸c c¹nh vµ bÒ mÆt cña khèi m­êi hai mÆtt víi mét chu tr×nh haminton ®­îc biÓu diÔn b»ng c¸c c¹nh t« ®Ëm. (b) Mét ®å thÞ song song víi sè ®Ønh lÎ. §ã lµ mét ®å thÞ phi haminton.
  • 13. Chóng ta ®Þnh nghÜa mét thuËt to¸n x¸c minh nh­ mét cÆp ®Ò xuÊt (double-argument) thuËt to¸n A, mét ®Ò xuÊt lµ mét chuçi ®Çu vµo th«ng th­êng x vµ ®Ò xuÊt kia lµ mét chuçi nhÞ ph©n y gäi lµ mét x¸c minh. Mét cÆp ®Ò xuÊt thuËt to¸n A x¸c minh mét ®Çu vµo x nÕu tån t¹i mét x¸c minh y sao cho A(x, y)= 1. Ng«n ng÷ x¸c minh ®­îc ph¸t biÓu nh­ sau: L= x 0,1 *: tån t¹i y 0,1 * sao cho A(x, y)= 1. B»ng trùc gi¸c, mét thuËt to¸n A x¸c minh mét ng«n ng÷ L nÕu víi chuçi bÊt kú xL, cã mét x¸c minh y mµ A cã thÓ sö dông ®Ó chøng minh r»ng xL. H¬n n÷a, víi mçi chuçi x L, ph¶i kh«ng cã x¸c minh nµo chØ ra r»ng xL. vÝ dô, bµi to¸n chu tr×nh halmiton, lêi x¸c minh lµ danh s¸ch c¸c ®Ønh trong chu tr×nh hamilton, b¶n th©n chu tr×nh hamilton còng ®ñ c¸c th«ng tin ®Ó x¸c thùc. Ng­îc l¹i, nÕu mét ®å thÞ kh«ng ph¶i lµ hamilton, kh«ng cã danh s¸ch ®Ønh nµo l¹i l·ng phÝ ®Ó ®i x¸c minh thuËt to¸n ®Ó tin r»ng ®å thÞ lµ hamilton, tõ viÖc kiÓm tra x¸c minh thuËt to¸n mét c¸ch cÈn thËn th× viÖc ®­a ra chu tr×nh lµ cùc kú ch¾c ch¾n. Líp phøc NP Líp phøc NP lµ líp ng«n ng÷ cã thÓ kiÓm tra b»ng thuËt to¸n thêi gian ®a thøc 6. ChÝnh x¸c h¬n, ng«n ng÷ L thuéc líp NP nÕu vµ chØ nÕu tån t¹i thuËt to¸n thêi gian ®a thøc hai ®Çu vµo A vµ h»ng sè c sao cho L= x 0,1 *: tån t¹i mét x¸c minh u víi |y|= Q(|x|c|) sao cho A(x, y)= 1. Ta nãi r»ng thuËt to¸n A kiÓm tra ng«n ng÷ L víi thêi gian ®a thøc. Theo nh÷ng th¶o luËn tr­íc ®©y vÒ bµi to¸n chu tr×nh Hamilton, ta thÊy HAM-CYCLE NP. ( SÏ lµ cã Ých ®Ó biÕt r»ng tËp hîp NP quan träng nµy kh«ng rçng.) H¬n n÷a, nÕu L P, th× L NP, tõ ®ã nÕu cã mét thuËt to¸n quyÕt ®Þnh L, th× thuËt to¸n ®ã dÔ dµng ®­îc chuyÓn thµnh thuËt to¸n x¸c minh 2- ®Ò xuÊt bá qua chøng minh ®¬n gi¶n vµ hoµn to¸n chÊp nhËn nh÷ng chuçi vµo ®Ó x¸c ®Þnh trong L. Do ®ã, P NP. Kh«ng biÕt N= NP, nh­ng tÊt c¶ c¸c nghiªn cøu ®Òu tin r»ng P vµ NP kh«ng ph¶i lµ c¸c líp gièng nhau. B»ng trùc gi¸c, líp P bao gåm c¸c bµi to¸n gi¶i ®­îc mét c¸ch nhanh chãng. Líp NP bao gåm c¸c bµi to¸n mµ mçi lêi gi¶i cã thÓ x¸c minh ®­îc mét c¸ch nhanh chãng. B¹n cã thÓ häc ®­îc nhiÒu kinh nghiÖm lµ th­êng lµ khã kh¨n h¬n ®Ó gi¶i mét bµi to¸n tõ mí hçn ®én h¬n lµ x¸c minh x¸c minh mét lêi gi¶i ®­îc tr×nh bµy mét c¸ch s¸ng sña, ®Æc biÖt khi lµm viÖc d­íi thêi gian cho phÐp. Lý thuyÕt khoa häc m¸y tÝnh nãi chung tin r»ng nh÷ng më réng t­¬ng tù nµy cho líp phøc P vµ NP, vµ do ®ã NP bao gåm c¸c ng«n ng÷ kh«ng n»m trong P. 6 Tªn NP chuÈn cho “tÝnh kh«ng quyÕt ®Þnh thêi gian ®a thøc”. Líp NP ®­îc nghiªn cøu nguyªn b¶n trong ng÷ c¶nh kh«ng quyÕt ®Þnh, nh­ng cuèn s¸ch nµy ®«i khi ®¬n gi¶n ho¸ b»ng c¸ch ®Þnh nghÜa sù x¸c minh. Hopcroft vµ Ultman [156] ®­a ra mét biÓu diÔn tãt cña tÝnh NP- ®ñ trong viÖc giíi h¹n m« h×nh kh«ng quyÕt ®Þnh cña viÖc tÝnh to¸n.
  • 14. §iÒu nµy lµ b»ng chøng thuyÕt phôc h¬n ®Ó chØ ra r»ng P NP- sù tån t¹i cña ng«n ng÷ lµ NP- ®ñ. Chóng ta sÏ nghiªn cøu líp nµy trong môc 34.3. RÊt nhiÒu c©u hái nÒn t¶ng ngoµi c©u hái P NP vÉn kh«ng gi¶i ®­îc. MÆc dï ®· nghiªn cøu rÊt nhiÒu nh­ng thËm chÝ kh«ng ai biÕt nÕu c¸c líp NP ®ãng víi phÐp lÊy phÇn bï. §ã lµ víi L NP th× liÖu NPL ? Chóng ta cã thÓ ®Þnh nghÜa líp phøc co- NP nh­ mét tËp ng«n ng÷ L sao cho NPL . C©u hái ë ®©y lµ NP ®ãng víi phÐp lÊy phÇn bï cã thÓ ®­îc viÕt: NP= NP co-NP. Tõ P ®ãng víi phÐp lÊy phÇn bï (Bµi tËp 34.1-6), th× khi ®ã P = NP co-NP. Ng­îc l¹i, kh«ng biÕt P= NP co-NP hay cã ng«n ng÷ nµo trong NP co-NP-P. H×nh 34.3 cho thÊy 4 kh¶ n¨ng x¶y ra. Bµi tËp 34.2-1 XÐt ng«n ng÷ GRAPH-ISOMORPHISM= G1, G2: G1 vµ G2 lµ c¸c ®å thÞ ®ång d¹ng. Chøng minh r»ng GRAPH-ISOMORPHISM NP b»ng c¸ch m« t¶ thuËt to¸n trong thêi gian ®a thøc ®Ó x¸c minh ng«n ng÷. 34.2-2 Chøng minh r»ng nÕu G lµ mét ®å thÞ v« h­íng chi ®«i víi sè ®Ønh lÎ th× G lµ kh«ng ph¶i lµ ®å thÞ hamilton (nonehamiltonian). 34.2-3 Chi ra r»ng nÕu HAM-CYCLE P th× bµi to¸n danh s¸ch c¸c ®Ønh cña chu tr×nh hamilton, theo thø tù gi¶i ®­îc trong thêi gian ®a thøc. H×nh 34.3 Bèn kh¶ n¨ng cña quan hÖ gi÷a c¸c líp phøc.
  • 15. 34.2-4 Chøng minh r»ng líp NP cña ng«n ng÷ ®ãng víi phÐp hîp, phÐp giao, phÐp hîp vµ Kleene star. Nghiªn cøu víi tÝnh ®ãng cña NP víi phÐp hîp. 34.2-5 ChØ ra r»ng mét ng«n ng÷ bÊt kú trong NP cã thÓ ®­îc quyÕt ®Þnh bëi mét thuËt to¸n ch¹y trong thêi gian 2O(k) víi h»ng sè k nµo ®ã. 34.2-6 Mét ®­êng ®i hamilton trong mét ®å thÞ lµ ®­êng ®i ®¬n theo nghÜa lµ gÆp mçi ®Ønh ®óng mét lÇn. Chøng minh r»ng ng«n ng÷ HAM-PATH= G, u, v, k: cã mét ®­êng ®i hamilton tõ u ®Õn v trong ®å thÞ G thuéc vµo NP. 34.2-7 ChØ ra r»ng bµi to¸n ®­êng ®i Hamilton cã thÓ ®­îc gi¶i quyÕt trong thêi gian ®a thøc trªn c¸c ®å thÞ xo¾n cã h­íng. H·y ®­a ra mét thuËt to¸n hiÖu qu¶ cho bµi to¸n nµy. 34.2-8 Cho  lµ mét biÓu thøc logic ®­îc x©y dùng tõ c¸c biÕn logc ®Çu vµo x1, x2, xk, c¸c phÐp phñ ®Þnh, c¸c phÐp AND vµ c¸c phÐp OR vµ c¸c d©u hoÆc. C«ng thøc  lÆp (tautology) nÕu gi¸ trÞ cña nã lµ 1 víi mäi biÕn vµo lµ 0 hoÆc 1. §Þnh nghÜa tautology nh­ mét ng«n ng÷ cña c¸c c«ng thøc logic. 34.2-9 ChØ ra r»ng tautology co-NP. Chøng minh r»ng P co-NP. 34.2-10 Chøng minh r»ng nÕu NP co- NP, th× P NP. 34.2-11 Cho G lµ mét ®å thÞ liªn th«ng v« h­íng víi Ýt nhÊt 3 ®Ønh, vµ gi¶ sö r»ng G3 lµ mét ®å thÞ nhËn ®­îc b»ng c¸ch nèi tÊt c¶ c¸c cÆp ®Ønh mµ ®­îc nèi víi nhau b»ng mét ®­êng ®i trong G cã ®é dµi tèi ®a lµ 3. Chøng minh r»ng G3 lµ Hamilton. (Gîi ý: x©y dùng mét c©y më réng cña G, vµ sö dông quy n¹p). 34.3 TÝnh NP- ®ñ vµ hoµn nguyªn (reducibility) Cã lÏ mäi lý lÏ ®Ó thuyÕt phôc v× sao lý thuyÕt khoa häc m¸y tÝnh l¹i tin r»ng P NP lµ bëiv× tån t¹i líp bµi to¸n “NP- ®ñ”. Líp nµy ®· lµm ta ng¹c nhiªn ë chç nÕu mét bµi to¸n NP- ®ñ bÊt kú cã thÓ gi¶i ®­îc trong thêi gian ®a thøc, th× mäi bµi to¸n trong NP cã mét lêi gi¶i trong thêi gian ®a thøc, ®ã lµ P= NP. Qua nhiÒu n¨m nghiªn cøu cho thÊy, kh«ng cã thuËt to¸n thêi gian ®a thøc nµo ®­îc t×m ra cho bµi to¸n NP- ®ñ. Ng«n ng÷ HAM-CYCLE lµ mét bµi to¸n NP- ®ñ. NÕu ta cã thÓ quyÕt ®Þnh HAM- CYCLE trong thêi gian ®a thøc th× chóng ta cã thÓ gi¶i mäi bµi to¸n trong NP víi thêi gian ®a thøc. Trong thùc tÕ, nÕu NP- P kh«ng rçng, ta cã thÓ ph¸t biÓu hiÓn nhiªn r»ng HAM-CYCLE NP- P.
  • 16. Ng«n ng÷ NP- ®ñ trong tr­êng hîp nµy lµ “khã nhÊt” (hardest) trong NP. Trong môc nµy, chóng ta sÏ chØ ra lµm thÕ nµo ®Ó so s¸nh quan hÖ “khã” cña ng«n ng÷ sö dông ®Þnh nghÜa chÝnh x¸c gäi lµ “quy ®­îc vÒ thêi gian ®a thøc”. Khi ®ã chóng ta ®Þnh nghÜa chuÈn cho ng«n ng÷ NP- ®ñ, vµ kÕt thóc b»ng c¸ch ph¸c ho¹ mét chøng minh mang tÝnh ng«n ng÷ gäi lµ CIRCUIT- SAT, lµ NP- ®ñ. Trong môc 34,4 vµ 34.5 chóng ta sÏ sö dông ®Þnh nghÜa quy ®­îc ®Ó chØ ra r»ng nhiÒu bµi to¸n kh¸c lµ NP- ®ñ. TÝnh hoµn nguyªn B»ng trùc gi¸c, mét bµi to¸n Q cã thÓ ®­îc quy vÒ mét bµi to¸n Q’ kh¸c nÕu minh ho¹ bÊt kú cña Q cã thÓ “ph¸t biÓu l¹i dÔ dµng” (easily rephrase) nh­ mét minh ho¹ cña Q’, lêi gi¶i cña nã dïng ®Ó lµm lêi gi¶i cho minh ho¹ bµi to¸n Q. VÝ dô, bµi to¸n ph­¬ng tr×nh tuyÕn tÝnh gi¶i ®­îc trong mét sù phi x¸c ®Þnh x quy vÒ bµi to¸n ph­¬ng tr×nh bËc hai gi¶i ®­îc. Víi mét minh ho¹ ax+ b= 0, chóng ta biÕn ®æi thµnh 0x2+ ax+ b= 0, lêi gi¶i cña nã ®­îc sö dông ®Ó gi¶i ax+ b= 0. Do vËy, nÕu mét bµi to¸n Q quy vÒ bµi to¸n kh¸c Q’, th× Q trong tr­êng hîp nµy lµ “kh«ng khã h¬n viÖc gi¶i” Q’. Trë l¹i cÊu tróc ng«n ng÷ chuÈn cho bµi to¸n quyÕt ®Þnh, chóng ta nãi r»ng mét ng«n ng÷ L1 lµ quy ®­îc vÒ thêi gian ®a thøc cho ng«n ng÷ L2, ®­îc viÕt lµ L1p L2, nÕu tån t¹i mét hµm tÝnh to¸n thêi gian ®a thøc f: 0, 1* 0, 1* víi mäi x 0, 1*,x L1 nÕu vµ chØ nÕu f(x) L2. Chóng ta gäi hµm f lµ hµm quy ®­îc, vµ mét thuËt to¸n thêi gian ®a thøc F dïng ®Ó tÝnh f ®­îc gäi lµ thuËt to¸n quy ®­îc. H×nh 34.4 minh ho¹ ý cña sù quy vÒ thêi gian ®a thøc tõ mét ng«n ng÷ L1 cho ng«n ng÷ L2. Mçi ng«n ng÷ lµ mét tËp cña 0, 1*. Hµm quy vÒ f ®­a ra mét sù s¾p xÕp thêi gian ®a thøc sao cho nÕu x L1 th× f(x) L2. H¬n n÷a, nÕu x L1, th× f(x)  L2. Do vËy, hµm quy vÒ ®­a ra minh ho¹ x bÊt kú cña bµi to¸n quyÕt ®Þnh ®­îc tr×nh bÇy bëi ng«n ng÷ L1 cho mét minh ho¹ f(x) cña bµi to¸n ®­îc biÓu diÔn bëi L2. ViÖc ®­a ra mét c©u tr¶ lêi chÝnh x¸c f(x) L2 sÏ xung cÊp c©u tr¶ lêi x L1. PhÐp quy vÒ thêi gian ®a thøc cho chóng ta nh÷ng c«ng cô m¹nh ®Ó t×m ra nhiÒu ng«n ng÷ kh¸c thuéc P. H×nh 34.4 Mét minh ho¹ cña mét ®a thøc quy gän.
  • 17. Bæ ®Ò 34.3 NÕu L1, L2 0, 1* lµ c¸c ng«n ng÷ sao cho L1p L2, th× L2 P bao hµm L1P. Chøng minh: Cho A2 lµ mét thuËt to¸n thêi gian ®a thøc quyÕt ®Þnh L2, vµ ®Æt F lµ mét thuËt to¸n quy vÒ thêi gian ®a thøc tÝnh hµm quy vÒ f. Chóng ta sÏ x©y dùng mét thuËt to¸n thêi gian ®a thøc A1 quyÕt ®Þnh L1. H×nh 34.5 minh ho¹ viÖc x©y dùng A1. Víi mçi ®Çu vµo x 0, 1*, thuËt to¸n A1 sö dông F ®Ó chuyÓn x thµnh f(x), vµ khi ®ã nã sö dông A2 ®Ó kiÓm tra f(x) L2. §Çu ra cña A2 lµ gi¸ trÞ ®­îc cung cÊp nh­ ®Çu ra tõ A1. Sù chÝnh x¸c cña A1 ®­îc quy ra tõ ®iÒu kiÖn (34.1). ThuËt to¸n ch¹y trong thêi gian ®a thøc, bëi v× F vµ A2 ch¹y trong thêi gian ®a thøc (xem bµi tËp 34.1-5). TÝnh NP- ®ñ Sù quy vÒ thêi gian ®a thøc cho ta mét c«ng cô chuÈn ®Ó chØ ra r»ng mét bµi to¸n Ýt ra còng khã nh­ c¸c bµi to¸n kh¸c, cïng víi yÕu tè thêi gian ®a thøc. NghÜa lµ nÕu cho L1p L2, th× L1 kh«ng khã h¬n mét yÕu tè thêi gian ®a thøc mµ v× sao ký hiÖu nhá h¬n hoÆc b»ng cho viÖc quy vÒ nhí ®­îc. Chóng ta cã thÓ ®Þnh nghÜa mét tËp c¸c ng«n ng÷ NP- ®ñ mµ lµ c¸c bµi to¸n khã nhÊt trong NP. Mét ng«n ng÷ L 0, 1* lµ NP- ®ñ nÕu L NP, vµ L’p L víi mäi L’ NP. NÕu mét ng«n ng÷ L tho¶ m·n tÝnh chÊt 2, nh­ng kh«ng cÇn thiÕt tho¶ m·n tÝnh chÊt 1, ta nãi r»ng L lµ NP- khã. Chóng ta còng ®Þnh nghÜa NPC lµ líp c¸c ng«n ng÷ NP- ®ñ. Nh­ ®Þnh lý trªn chØ ra, tÝnh NP- ®ñ lµ mét vÊn ®Ò nan gi¶i trong viÖc x¸c ®Þnh P cã thùc sù b»ng NP hay kh«ng. §Þnh lý 34.4 NÕu bÊt kú mét bµi to¸n NP- ®ñ nµo lµ gi¶i ®­îc ®a thøc, th× P= NP. Mét c¸ch t­¬ng ®­¬ng nÕu bÊt kú mét bµi to¸n trong NP lµ kh«ng gi¶i ®­îc ®a thøc th× kh«ng cã bµi to¸n NP- ®ñ nµo lµ gi¶i ®­îc ®a thøc. Chøng minh Gi¶ sö r»ng L P vµ L NPC. Víi bÊt kú L’ NP, ta cã L’p L theo tÝnh chÊt 2 cña ®Þnh nghÜa tÝnh NP- ®ñ. Do ®ã, b»ng bæ ®Ò 34.3 chóng ta còng cã L’ P, ®iÒu nµy ®· chøng minh ph¸t biÓu thø nhÊt cña ®Þnh lý. H×nh 34.5 Chøng minh cña Bæ ®Ò 34.3
  • 18. §Ó chøng minh ý sau, chó ý r»ng ®ã lµ ph¸t biÓu d­íi d¹ng ng­îc l¹i cña ph¸t biÓu thø nhÊt. V× lý do nµy c¸c nghiªn cøu trong c©u hái P NP tËp trung xung quanh bµi to¸n NP- ®ñ. HÇu hÕt c¸c nhµ lµm vÒ lý thuyÕt m¸y tÝnh nghÜ r»ng P NP, dÉn tíi nh÷ng mèi liªn hÖ gi÷a P, NP, vµ NPC ®­îc chØ ra trong h×nh 34.6. Nh­ng chóng ta còng biÕt, cã thÓ cã mét thuËt to¸n thêi gian ®a thøc cho bµi to¸n NP- ®ñ, do ®ã chøng minh r»ng P= NP. MÆt kh¸c,bëi v× ®Õn nay kh«ng cã mét thuËt to¸n thêi gia ®a thøc nµo cho bµi to¸n NP- ®ñ, mét chøng minh r»ng mét bµi to¸n NP- ®ñ sÏ cho ta mét b»ng chøng x¸c thùc cho nh÷ng khã kh¨n nµy. M¹ch tho¶ ®­îc (Circuit satisfiability) Chóng ta ®Þnh nghÜa c¸c kh¸i niÖm cña mét bµi to¸n NP- ®ñ, nh­ng ë trªn, chóng ta kh«ng chøng minh ®­îc chÝnh x¸c mét bµi to¸n bÊt kú lµ NP- ®ñ.Ngay c¶ khi chóng ta chøng minh ®­îc mét bµi to¸n lµ NP- ®ñ, th× ta cã thÓ sö dông phÐp quy vÒ thêi gian ®a thøc nh­ mét c«ng cô ®Ó chøng minh tÝnh NP- ®ñ cña mét bµi to¸n kh¸c. Do vËy, b©y giê chóng ta tËp trung vµo chøng minh sù tån t¹i cña bµi to¸n NP- ®ñ: bµi to¸n tho¶ ®­îc (Circuit- satisfiability) RÊt ®¸ng tiÕc, c¸ch thøc chøng minh bµi to¸n m¹ch tho¶ ®­îc lµ NP- ®ñ ®ßi hßi kü thuËt chi tiÕt ngoµi ph¹m vi cuèn s¸ch nµy. Thay v× ®ã, chóng ta sÏ m« t¶ mét c¸ch ®¬n gi¶n mét chøng minh tin cËy trªn c¬ së nh÷ng hiÓu biÕt c¬ b¶n vÒ m¹ch tæ hîp logic. M¹ch tæ hîp hîp logic ®­îc x©y dùng tõ c¸c yÕu tè logic ®­îc nèi víi nhau bëi hÖ thèng d©y. Mét yÕu tè logic (boolean combinational element) lµ mét m¹ng bÊt kú chøa mét sè kh«ng ®æi c¸c ®Çu vµo vµ ®Çu ra logic ®Ó xö lý mét hµm ®Þnh nghÜa tèt. Gi¸ trÞ logic ®­îc lÊy tõ tËp 0, 1, trong ®ã 0 biÓu thÞ gi¸ trÞ FALSE vµ 1 biÓu thÞ gi¸ trÞ TRUE. C¸c yÕu tã tæ hîp logic mµ chóng ta sö dông trong m¹ch tho¶ ®­îc ®Ó tÝnh mét hµm logic ®¬n gi¶n, vµ chóng ®­îc xem nh­ c¸c cæng logic. H×nh 34.7 chØ ra ba cæng logic c¬ b¶n sö dông trong bµi to¸n m¹ch tho¶ ®­îc: cæng NOT (hay inverter), cæng AND, vµ cæng OR. Cæng NOT cho mét ®Çu vµo nhÞ ph©n ®¬n gi¶n x. gi¸ trÞ cña nã lµ 0 hoÆc 1, vµ H×nh 34.6 HÇu hÕt lý thuyÕt vÒ khoa häc m¸y tÝnh ®Òu ®­a ra c¸c mèi quan hÖ gi÷a P, NP vµ NPC.
  • 19. cho ta ®Çu ra nhÞ ph©n z cã gi¸ trÞ lµ ®èi lËp víi ®Çu vµo. Mçi cÆp cæng kh¸c víi hai ®Çu vµo nhÞ ph©n x vµ y vµ ®Çu ra nhÞ ph©n z. ViÖc xö lý mçi cæng, vµ yÕu tè tæ hîp logic cã thÓ m« t¶ bëi b¶ng ®óng (truth table), xem c¸c cæng phia d­íi trong h×nh 34.7. Mét b¶ng ®óng cho ta ®Çu ra cña yÕu tè tæ hîp víi mçi kh¶ n¨ng cµi ®Æt ®Çu vµo. VÝ dô, b¶ng ®óng cho cæng OR cho chóng ta biÕt khi nµo ®Çu vµo lµ x=0 vµ y=1, ®Çu ra cã gi¸ trÞ x=1. Chóng ta sö dông  ®Ó ký hiÖu hµm NOT,  ký hiÖu hµm AND, vµ  ký hiÖu hµm OR. Do ®ã, vÝ dô 01=1. Chóng ta cã thÓ kÕt hîp cængAND vµ OR ®Ó ®­a ra nhiÒu h¬n hai ®Çu vµo. Mét ®Çu ra cña cæng AND lµ 1 nÕu tÊt c¶ c¸c ®Çu vµo lµ 1, vµ ®Çu ra lµ 0 trong tr­êng hîp ng­îc l¹i. Mét ®Çu ra cña cæng OR lµ 1 nÕu mét trong c¸c ®Çu vµo lµ 1, vµ lµ 0 trong tr­êng hîp ng­îc l¹i. Mét m¹ch tæ hîp logic bao gåm mét hoÆc nhiÒu yÕu tè tæ hîp logic ®­¬c nèi víi nhau bëi c¸c d©y. Mét d©y cã thÓ nèi ®Çu vµo cña yÕu tè nµy víi ®Çu ra cña yÕu tè kh¸c b»ng c¸ch cung cÊp gi¸ trÞ ra cña yÕu tè ®Çu tiªn nh­ ®Çu vµo cña yÕu tè thø hai. H×nh 34.8 chØ ra hai m¹ch tæ hîp logic t­¬ng tù; chóng kh¸c nhau chØ bëi mét cæng. PhÇn (a) cña h×nh vÏ cßn chØ ra gi¸ trÞ trªn tõng d©y, cho ®Çu vµo x1= 1, x2= 1, x3= 0. MÆc dï mét d©y ®¬n cã thÓ kh«ng cã nhiÒu h¬n mét yÕu tè tæ hîp ®Çu ra nèi víi nã, nã cã thÓ xö lý vµi yÕu sè ®Çu vµo. Sè yÕu tè ®Çu vµo ®­îc xö lý bëi mét d©y ®­îc gäi lµ qu¹t ra (fan- out) cña d©y. NÕu kh«ng cã yÕu tè ra nµo ®­îc nèi víi mét d©y, th× d©y lµ mét m¹ch ®Çu vµo, viÖc chÊp nhËn gi¸ trÞ ®Çu vµo lµ tõ nguån më réng. NÕu kh«ng cã yÕu tè ra nµo ®­îc nèi víi mét d©y, th× d©y gäi lµ m¹ch ra, viÖc cung cÊp kÕt qu¶ cña tÝnh to¸n m¹ch ®Ó bªn ngoµi thÕ giíi. (Mét d©y trong cã thÓ thæi ra mét m¹ch ®Çu ra.) Víi gi¶ thiÕt ®Þnh nghÜa bµi to¸n m¹ch tho¶ ®­îc chóng ta giíi h¹n sè l­îng ®Çu ra cña m¹ch lµ 1, qua viÖc thiÕt kÕ bªn trong phÇn cøng, mét m¹ch tæ hîp logic cã thÓ cã nhiÒu ®Çu ra. M¹ch tæ hîp logic kh«ng chøa vßng. Tong tr­êng hîp kh¸c, gi¶ sö chóng ta t¹o ra mét ®å thÞ cã h­íng G= (V, E) víi mét ®Ønh lµ mét yÕu tè tæ hîp logic vµ k c¹nh cã h­íng víi mçi d©y mµ ®Çu ra lµ k; tån t¹i mét c¹nh (u, v) nÕu mét d©y nèi ®Çu ra cña u víi ®Çu vµo cña v. Khi ®ã G ph¶i xÕp xo¾n. H×nh 34.7 Ba cæng logÝc
  • 20. Mét thùc hiÖn ®óng cho mét m¹ng tæ hîp logic lµ mét tËp ®Çu vµo c¸c gi¸ trÞ logic. Ta nãi r»ng ®Çu ra cña mét m¹ng tæ hîp logic lµ tho¶ ®­îc nÕu nã thùc cã mét thùc hiÖn tho¶ ®­îc: mét thùc hiÖn ®óng t¹o ra ®Çu ra cña m¹ng b»ng 1. VÝ dô, m¹ng trong h×nh vÏ 34.8 a cã thùc hiÖn tho¶ ®­îc x1=1, x2 =1, x3 =0, vµ do ®ã nã tho¶ ®­îc. Khi bµi tËp 34.3-1 yªu cÇu chØ ra r»ng kh«ng cã thùc hiÖn nµo cña c¸c gi¸ trÞ x1, x2 vµ x3 t¹o ra m¹ng trong h×nh 34.8 b cho ®Çu ra 1. Nã lu«n lu«n cho ®Çu ra lµ 0, vµ do ®ã nã kh«ng tho¶ ®­îc. Mét bµi to¸n vÒ tÝnh tho¶ ®­îc m¹ng lµ, “cho tr­íc mét m¹ng tæ hîp logic t¹o thµnh tõ c¸c cæng AND, OR vµ NOT, khi nµo nã tho¶ ®­îc”. §Ó ®Æt c©u hái nµy mét c¸ch ®óng ®¾n, tuy nhiªn, chóng ta ph¶i chÊp nhËn mét m· tiªu chuÈn cho c¸c m¹ng. KÝch th­íc cña mét m¹ng tæ hîp logic lµ sè c¸c phÇn tö tæ hîp logic céng sè c¸c d©y trong m¹ng. Ng­êi ta cã thÓ ®Æt ra mét m· gièng nh­ ®å thÞ mµ ®­a bÊt kú mét m¹ng cho tr­íc C nµo ®ã vµo mét chuçi nhÞ ph©n C cã ®é dµi lµ kÝch th­íc ®a thøc. Nh­ ng«n ng÷ chÝnh thøc, chóng ta cã thÓ ®Þnh nghÜa CIRCUIT-SAT= C: C lµ mét m¹ng tæ hîp logic tho¶ ®­îc Bµi to¸n vÒ tÝnh tho¶ ®­îc m¹ng ph¸t sinh trong lÜnh vùc m¸y tÝnh- trî gióp tèi ­u ho¸ phÇn cøng. NÕu mét m¹ng con lu«n lu«n cho ra gi¸ trÞ 0, m¹ng con ®ã cã thÓ ®­îc thay thÕ b»ng mét m¹ng con ®¬n gi¶n h¬n mµ bá qua tÊt c¶ c¸c cæng logic lu«n cho ra gi¸ trÞ 0 nh­ ®Çu ra cña nã.SÏ rÊt tiÖn Ých nÕu ta cã mét thuËt to¸n ®a thøc cho bµi to¸n nµy. Cho tr­íc mét m¹ng C, chóng ta cã thÓ cè g¾ng x¸c ®Þnh xem khi nµo chóng tho¶ ®­îc b»ng c¸ch kiÓm tra mét c¸ch ®¬n gi¶n tÊt c¶ c¸c thùc hiÖn cã thÓ cña ®Çu vµo. §¸ng tiÕc r»ng, nÕu cã k ®Çu vµo, sÏ cã 2k thùc hiÖn cã thÓ. Khi kÝch th­íc cña C lµ mét ®a thøc theo k, kiÓm tra mçi tr­êng hîp cÇn thêi gian (2k ), mµ nã lµ siªu ®a thøc theo kÝch th­íc cña m¹ng. Thùc ra lµ, nh­ ta ®· ph¸t biÓu, cã mét b»ng chøng hiÓn nhiªn r»ng kh«ng tån t¹i thuËt to¸n thêi gian ®a thøc ®Ó gi¶i quyÕt bµi to¸n vÒ tÝnh tho¶ ®­îc m¹ng bëi v× tÝnh tho¶ ®­îc m¹ng lµ NP- ®ñ. Chóng ta chia chøng minh nµy thµnh 2 phÇn, dùa trªn hai phÇn cña ®Þnh nghÜa vÒ tÝnh NP- ®ñ. Bæ ®Ò 34.5 Bµi to¸n vÒ m¹ng tho¶ ®­îc thuéc líp NP. Chøng minh: Chóng ta sÏ cung cÊp mét ®Çu vµo ®«i, thuËt to¸n A víi thêi gian ®a thøc cã thÓ x¸c ®Þnh CIRCUIT-SAT. Mét trong sè nh÷ng ®Çu vµo cho A lµ mét m¹ng tæ hîp logic C, mét trong sè c¸c chuÈn m· ho¸. §Çu vµo cßn l¹i lµ mét lêi gi¶i t­¬ng øng víi mét H×nh 34.8 Hai minh ho¹ cña bµi to¸n m¹ch tho¶ ®­îc
  • 21. c¸ch g¸n c¸c gi¸ trÞ logic cho c¸c d©y trong C. (Xem bµi to¸n 34.3-4 ®Ó t×m mét lêi gi¶i nhá nhÊt). ThuËt to¸n A ®­îc x©y dùng nh­ sau. Cho mçi cæng logic trong m¹ng, ta kiÓm tra gi¸ trÞ ®­îc sinh ra bëi lêi gi¶i trªn d©y ®Çu ra ®­îc tÝnh to¸n ®óng nh­ mét hµm cña c¸c gi¸ trÞ trªn c¸c d©y ë ®Çu ra. Sau ®ã, nÕu kÕt qu¶ cña toµn bé m¹ng lµ 1, thuËt to¸n cho ra gi¸ trÞ 1, v× c¸c gi¸ trÞ ®­îc g¸n cho c¸c ®Çu vµo cña C cung cÊp mét c¸ch g¸n tho¶ m·n. B»ng kh«ng, A cho gi¸ trÞ 0. BÊt cø lóc nµo mét m¹ng C tho¶ ®­îc lµ ®Çu vµo cho thuËt to¸n A, cã mét lêi gi¶n mµ ®é dµi cña nã lµ ®¹i sè so víi kÝch th­íc cña C vµ v× vËy A cho gi¸ trÞ 1. BÊt cø lóc nµo mét m¹ng kh«ng tho¶ ®­îc lµ nguån vµo, kh«ng mét lêi gi¶i nµo cã thÓ “lõa” thuËt to¸n A vµo t×nh tr¹ng tho¶ ®­îc. Nh­ vËy, CIRCUIT-SAT cã thÓ gi¶i ®­îc víi thêi gian ®a thøc, vµ CIRCUIT-SAT  NP. PhÇn thø hai cña chøng minh CIRCUIT-SAT lµ NP-®Çy ®ñ lµ chØ ra r»ng ng«n ng÷ lµ NP-khã. §ã lµ, chóng ta ph¶i chØ ra r»ng mäi ng«n ng÷ trong NP lµ cã thÓ gi¶m tíi thêi gian ®a thøc tíi CIRCUIT-SAT. Chøng minh thùc sù cña thùc tÕ nµy th× kü thuËt ®Çy phøc t¹p, vµ chóng ta sÏ ®­a ra mét c¸ch s¬ l­îc cña chøng minh dùa trªn mét sè hiÓu biÕt vÒ sù ho¹t ®éng cña phÇn cøng cña m¸y tÝnh. Mét ch­¬ng tr×nh m¸y tÝnh ®­îc l­u gi÷ trong bé nhí m¸y tÝnh nh­ mét d·y c¸c c©u lÖnh. Mét c©u lÖnh ®iÓn h×nh m· ho¸ mét phÐp tÝnh cÇn thùc hiÖn, ®Þa chØ c¸c to¸n h¹ng trong bé nhí, vµ mét ®Þa chØ l­u gi÷ kÕt qu¶. Mét vÞ trÝ ®Þa chØ ®Æc biÖt trong bé nhí, ®­îc gäi lµ bé ®Õm ch­¬ng tr×nh, theo dâi n¬i mµ c©u lÖnh kÕ tiÕp sÏ ®­îc thùc hiÖn. Bé ®Õm ch­¬ng tr×nh tù ®éng t¨ng ngay khi mét chØ thÞ ®­îc t×m thÊy, v× vËy mµ m¸y tÝnh thùc hiÖn c¸c c©u lÖnh mét c¸ch tuÇn tù. Tuy nhiªn, sù thùc hiÖn mét c©u lÖnh cã thÓ ghi mét gi¸ trÞ vµo bé ®Õm ch­¬ng tr×nh, vµ khi ®ã tr×nh tù thùc hiÖn b×nh th­êng cã thÓ bÞ thay ®æi, cho phÐp m¸y tÝnh thùc hiÖn vßng lÆp vµ thùc hiÖn c¸c nh¸nh ®iÒu kiÖn T¹i bÊt cø vÞ trÝ nµo trong qu¸ tr×nh thùc thi cña mét ch­¬ng tr×nh, toµn bé tr¹ng th¸i cña viÖc tÝnh to¸n ®­îc thÓ hiÖn trong bé nhí cña m¸y tÝnh. (Chóng ta lÊy bé nhí cho b¶n th©n ch­¬ng tr×nh, bé ®Õm ch­¬ng tr×nh, n¬i l­u tr÷ lµm viÖc, vµ bÊt cø bit tr¹ng th¸i nµo mµ m¸y tÝnh l­u gi÷ ®Ó tÝnh to¸n). Chóng ta gäi bÊt cø tr¹ng th¸i ®Æc biÖt nµo cña bé nhí m¸y tÝnh lµ cÊu h×nh. Sù thùc hiÖn mét c©u lÖnh cã thÓ ®­îc h×nh dung nh­ lµ mét phÐp ¸nh x¹ mét cÊu h×nh tíi mét cÊu h×nh kh¸c. Mét ®iÒu quan träng lµ phÇn cøng m¸y tÝnh, thø thùc hiÖn sù ¸nh x¹ nµy cã thÓ ®­îc diÔn t¶ nh­ mét m¹ng tæ hîp logic mµ ta sÏ ký hiÖu lµ M trong chøng minh cña bæ ®Ò sau ®©y. Bæ ®Ò 34.6 Bµi to¸n m¹ng tho¶ ®­îc lµ NP-khã. Chøng minh: LÊy L lµ mét ng«n ng÷ bÊt kú trong NP. Chóng ta sÏ m« t¶ mét thuËt to¸n F thêi gian ®a thøc tÝnh to¸n mét hµm f tèi gi¶n, hµm f ¸nh x¹ mäi x©u x thµnh mét m¹ng C = f(x) sao cho x  L khi vµ chØ khi C  CIRCUIT-SAT. V× L  NP nªn ph¶i cã mét thuËt to¸n A chøng minh L cã thíi gian ®a thøc. ThuËt to¸n F mµ chóng ta sÏ x©y dùng sÏ sö dông hai ®Çu vµo cña thuËt to¸n A ®Ó tÝnh to¸n hµm tèi gi¶n f. Ký hiÖu T(n) lµ thêi gian ch¹y trong tr­êng hîp xÊu nhÊt cña thuËt to¸n A víi x©u vµo cã ®é dµi n, vµ ký hiÖu k 1 lµ mét h»ng sè sao cho T(n) = O ( nk ) vµ ®é dµi cña kÕt qu¶ lµ O( nk ). (Thêi gian ch¹y cña A thùc sù lµ ®a thøc ®èi víi kÝch th­íc ®Çu vµo tæng thÓ,
  • 22. bao gåm c¶ x©u vµo vµ mét kÕt qu¶, nh­ng v× ®é dµi kÕt qu¶ lµ ®a thøc ®èi víi ®é dµi cña n cña x©u ®Çu vµo, thêi gian ch¹y lµ ®a thøc ®èi víi n). ý t­ëng c¬ b¶n cña chøng minh lµ thÓ hiÖn viÖc tÝnh to¸n cña A nh­ mét d·y c¸c cÇu h×nh. Nh­ thÓ hiÖn trong h×nh 34.9, mçi cÊu h×nh cã thÓ ®­îc chia ra lµm c¸c phÇn gåm cã ch­¬ng tr×nh cña thuËt to¸n A, bé ®Õm ch­¬ng tr×nh vµ tr¹ng th¸i m¸y phô, ®Çu vµo x, kÕt qu¶ y, vµ bé nhí lµm viÖc. B¾t ®Çu víi mét cÇu h×nh khëi t¹o c0, mçi cÇu h×nh ci ®­îc ¸nh x¹ tíi mét cÊu h×nh tiÕp theo ci+1 b»ng m¹ng tæ hîp M m« t¶ phÇn cøng m¸y tÝnh. §Çu ra cña thuËt to¸n A, 0 hay 1 ®­îc ghi vµo mét vÞ trÝ ®­îc chØ râ trong bé nhí lµm viÖc khi A kÕt thóc qu¸ tr×nh thùc hiÖn, vµ nÕu chóng ta gi¶ sö r»ng ngay sau ®ã A dõng, gi¸ trÞ kh«ng bao giê thay ®æi. Nh­ vËy, nÕu thuËt to¸n ch¹y qua tèi ®a T(n) b­íc, kÕt qu¶ nh­ lµ mét trong c¸c bit trong cT(n). ThuËt to¸n tèi gi¶n F t¹o thµnh mét m¹ng tæ hîp ®¬n cã thÓ tÝnh to¸n tÊt c¶ c¸c cÇu h×nh ®­îc sinh bëi mét cÊu h×nh khëi t¹o ban ®Çu. ý t­ëng lµ d¸n T(n) b¶n sao cña m¹ng M. KÕt qu¶ cña m¹ng thø i sinh ra cÊu h×nh ci ®­îc lµm ®Çu vµo cho m¹ng thø (i+1). Nh­ vËy, c¸c cÇu h×nh h¬n c¶ kÕt thóc trong mét thanh ghi tr¹ng th¸i, chØ ®¬n gi¶n l­u tr÷ nh­ c¸c gi¸ trÞ trªn c¸c d©y nèi c¸c b¶n sao cña M. H×nh 34.9 D·y c¸c cÊu h×nh ®­îc sinh bëi thuËt to¸n A ch¹y trªn mét ®Çu vµo x vµ kÕt qu¶ y. Mçi cÊu h×nh thÓ hiÖn tr¹ng th¸i cña m¸y tÝnh cho mét b­íc tÝnh to¸n, bªn c¹nh A, x vµ y, bao gåm c¶ bé ®Õm ch­¬ng tr×nh (PC-program counter), tr¹ng th¸i m¸y phô, vµ n¬i l­u tr÷ ho¹t ®éng. Ngo¹i trõ kÕt qu¶ y, cÊu h×nh khëi t¹o c0 lµ mét h»ng. Mçi cÊu h×nh ¸nh x¹ tíi cÊu h×nh kÕ tiÕp bëi mét m¹ng tæ hîp logic M. KÕt qu¶ lµ mét bit ph©n biÖt trong n¬i l­u tr÷ ho¹t ®éng.
  • 23. H·y nhí l¹i c¸i mµ thuËt to¸n tèi gi¶n thêi gian ®a thøc F ph¶i ®¹t ®­îc. Cho mét ®Çu vµo x, nã ph¶i tÝnh to¸n ®­îc m¹ng C = f(x) tho¶ ®­îc nÕu vµ chØ nÕu tån t¹i mét kÕt qu¶ y sao cho A(x,y) = 1. Khi F lÊy ®­îc ®Çu vµo x, tr­íc tiªn nã tÝnh n = |x| vµ x©y dùng mét cÊu h×nh khëi t¹o t­¬ng øng víi tÝnh to¸n trªn A(x,y), vµ kÕt qu¶ lµ mét cÊu h×nh cT(n). M¹ng c = f(x) mµ F tÝnh to¸n thu ®­îc bëi thay ®æi C’ mét c¸ch kh«ng ®¸ng kÓ. Tr­íc tiªn, ®Çu vµo cho C’ t­¬ng øng víi ch­¬ng tr×nh cho A, bé ®Õm ch­¬ng tr×nh khëi t¹o, ®Çu vµo x, vµ tr¹ng th¸i khëi t¹o cña bé nhí ®­îc m¾c mét c¸ch trùc tiÕp tíi nh÷ng gi¸ trÞ ®· biÕt nµy. Do ®ã, nh÷ng ®Çu vµo cßn l¹i cho m¹ng t­¬ng øng víi kÕt qu¶ y. KÕ ®Õn, tÊt c¶ c¸c kÕt qu¶ cho m¹ng ®Õu ®­îc bá qua, ngo¹i trõ mét bit cña cT(n) t­¬ng øng víi ®Çu ra cña A. M¹ng C nµy tÝnh to¸n C(y) = A(x,y) cho c¸c ®Çu vµo y víi ®é dµi O(nk). ThuËt to¸n tèi gi¶n F, khi cung cÊp x©u ®Çu vµo x, tÝnh to¸n mét m¹ng C nh­ vËy vµ sinh ra nã. Hai thuéc tÝnh cßn l¹i cÇn ph¶i ®­îc chøng minh. Tr­íc tiªn, chóng ta ph¶i chØ ra r»ng F tÝnh to¸n trùc tiÕp mét hµm tèi gi¶n f. §ã lµ, chóng ta ph¶i chØ ra r»ng C tho¶ ®­îc khi vµ chØ khi tån t¹i mét kÕt qu¶ y sao cho A(x,y) = 1. KÕ ®Õn, chóng ta ph¶i chØ ra r»ng F ch¹y víi thêi gian ®a thøc. §Ó chØ ra r»ng F tÝnh to¸n trùc tiÕp mét hµm tèi gi¶n, ta h·y cho r»ng tån t¹i mét kÕt qu¶ y ®é dµi O(nk) sao cho A(x,y) = 1. Sau ®ã, nÕu chóng ta lÊy c¸c bit cña y lµm ®Çu vµo cña C, kÕt qu¶ cña C lµ C(y) = A(x,y) = 1. Nh­ vËy, nÕu mét kÕt qu¶ tån t¹i th× C lµ tho¶ ®­îc. Víi h­íng kh¸c, gi¶ sö r»ng C lµ tho¶ ®­îc. Do ®ã, tån t¹i mét ®Çu vµo y cho C sao cho C(y) = 1, tõ ®ã chóng ta kÕt luËn r»ng A(x,y) = 1. Nh­ vËy, F tÝnh to¸n trùc tiÕp mét hµm tèi gi¶n. §Ó kÕt thóc s¬ bé chøng minh, chóng ta cÇn chØ ra r»ng F ch¹y víi thêi gian ®a thøc víi n = |x|. Tr­íc tiªn ta thÊy r»ng sè bit cÇn thiÕt ®Ó thÓ hiÖn mét cÊu h×nh lµ ®a thøc ®èi víi n. B¶n th©n ch­¬ng tr×nh cho A cã kÝch th­íc kh«ng ®æi, ®éc lËp víi ®é dµi ®Çu vµo x cña nã. §é dµi cña ®Çu vµo x lµ n, vµ ®é dµi cña kÕt qu¶ y lµ O(nk). V× thuËt to¸n ch¹y víi Ýt nhÊt O(nk) b­íc, khèi l­îng bé nhí lµm viÖc cÇn thiÕt cho A còng lµ ®a thøc. (Chóng ta gi¶ sö r»ng bé nhí lµ liªn tôc; bµi tËp 34.3-5 yªu cÇu b¹n më réng ®èi sè víi tr­êng hîp mµ c¸c vÞ trÝ ®­îc truy suÊt bëi A ®­îc r¶i r¸c qua mét vïng lín h¬n cña bé nhí vµ sù ph©n bè lµ kh¸c nhau ®èi víi mçi ®Çu vµo x). M¹ng tæ hîp M thÓ hiÖn mét phÇn cøng m¸y tÝnh cã kÝch th­íc ®a thøc ®èi víi ®é dµi cña mét cÊu h×nh, ®ã lµ ®a thøc ®èi víi O(nk) vµ do ®ã lµ ®a thøc ®èi víi n. (PhÇn lín trong m¹ng nµy thÓ hiÖn logic cña hÖ bé nhí). M¹ng C bao gåm tèi ®a t = O(nk) phiªn b¶n cña M, vµ do vËy nã cã kÝch th­íc ®a thøc ®èi víi n. ViÖc x©y dùng C tõ x cã thÓ ®­îc hoµn thµnh víi thêi gian ®a thøc bëi thuËt to¸n tèi gi¶n F, v× mçi b­íc x©y dùng chiÕm thêi gian ®a thøc. V× vËy ng«n ng÷ CIRCUIT-SAT Ýt nhÊt lµ khã ngang víi bÊt kú ng«n ng÷ nµo trong NP vµ do ®ã nã thuéc NP, nã lµ NP- ®Çy ®ñ. §Þnh lý 34.7 Bµi to¸n m¹ng tho¶ ®­îc lµ NP - ®Çy ®ñ. Chøng minh: Trùc tiÕp tõ bæ ®Ò 34.5 vµ 34.6 vµ tõ ®Þnh nghÜa NP - ®Çy ®ñ. Bµi tËp 34.3-1 Chøng minh r»ng m¹ng trong h×nh 34.8 (b) lµ kh«ng tho¶ ®­îc.
  • 24. 34.3-2 ChØ ra r»ng quan hÖ P lµ mét quan hÖ cã tÝnh chÊt b¾c cÇu trªn c¸c ng«n ng÷. NghÜa lµ, h·y chØ ra r»ng nÕu L1 P L2 vµ L2 P L3 th× L1 P L3. 34.3-3 Chøng minh r»ng: L P L khi vµ chØ khi L P L. 34.3-4 Chøng minh r»ng mét c¸ch g¸n tho¶ m·n cã thÓ ®­îc sö dông nh­ mét kÕt qu¶ trong mét chøng minh kh¸c cña bæ ®Ò 34.5. VËy kÕt qu¶ nµo ®Ó t¹o mét chøng minh dÔ dµng h¬n. 34.3-5 Chøng minh bæ ®Ò 34.6 gi¶ sö r»ng bé nhí lµm viÖc cña thuËt to¸n A chiÕm mét vïng nhí liªn tôc víi kÝch th­íc ®a thøc. VÞ trÝ nµo trong chøng minh thÓ hiÖn ®iÒu nµy. H·y chøng tá r»ng ®iÒu gi¶ sö nµy kh«ng lµm mÊt tÝnh tæng qu¸t. 34.3-6 Mét ng«n ng÷ L lµ ®¹i diÖn cho líp ng«n ng÷ C víi l­u ý r»ng tèi gi¶n thêi gian ®a thøc nÕu vµ chØ nÕu L’ P L víi mäi L’  C. Chøng minh r»ng  vµ {0,1}* lµ c¸c ng«n ng÷ duy nhÊt trong P vµ kh«ng ®Çy ®ñ ®èi víi P víi ®Ó ý tíi tèi gi¶n thêi gian ®a thøc. 34.3-7 Chøng minh r»ng L lµ ®Çy ®ñ ®èi víi NP nÕu vµ chØ nÕu L lµ ®Çy ®ñ ®èi víi líp con NP. 34.3-8 ThuËt to¸n tèi gi¶n F trong chøng minh cña bæ ®Ò 34.6 x©y dùng m¹ng C=f(x) dùa trªn viÖc biÕt x, A vµ k. Gi¸o s­ Sartre nhËn thÊy r»ng x©u x lµ ®Çu vµo cho f, nh­ng chi sù tån t¹i cña A, k vµ nh©n tè h»ng sè hµm Èn trong thêi gian ch¹y O(nk ) lµ ®­îc biÕt cho F (v× ng«n ng÷ L thuéc NP), chø kh«ng ph¶i gi¸ trÞ thËt sù cña chóng. Nh­ vËy, gi¸o s­ kÕt luËn r»ng F kh«ng thÓ t¹o ®­îc m¹ng C vµ ng«n ng÷ CIRCUIT-SAT kh«ng cÇn thiÕt lµ NP-khã. H·y gi¶i thÝch lç hæng trong lý gi¶i cña gi¸o s­. 34.4 C¸c chøng minh NP-®Çy ®ñ NP-®Çy ®ñ cña bµi to¸n m¹ng tho¶ ®­îc dùa trªn chøng minh trùc tiÕp r»ng L P CIRCUIT-SAT víi bÊt kú ng«n ng÷ L  NP. Trong phÇn nµy, chóng ta sÏ chØ ra c¸ch chøng minh r»ng c¸c ng«n ng÷ lµ NP-®Çy ®ñ mµ kh«ng cÇn ph¶i trùc tiÕp gi¶m ®i mäi ng«n ng÷ trong NP tíi mét ng«n ng÷ ®· cho. Chóng ta sÏ minh ho¹ ph­¬ng thøc nµy b»ng c¸ch chøng minh r»ng c¸c bµi to¸n c«ng thøc tho¶ ®­îc kh¸c nhau lµ NP-®Çy ®ñ. PhÇn 34.5 cung cÊp thªm nhiÒu vÝ dô n÷a cña ph­¬ng ph¸p nµy. Bæ ®Ò 34.8
  • 25. NÕu L lµ mét ng«n ng÷ mµ L’ P L ®èi víi mét vµi L’ NPC, th× L lµ NP-khã. H¬n n÷a, nÕu L  NP th× L  NPC. Chøng minh: V× L’ lµ NP-®Çy ®ñ nªn víi mäi L’’  NP, ta cã L’’ P L. Víi gi¶ sö r»ng, L’ P L, vµ do tÝnh chÊt b¾c cÇu (xem bµi tËp 34.3-2) ta cã L’’ P L, ®iÒu nµy cho thÊy L lµ NP-khã. NÕu L NP, ta còng cã L  NPC. Nãi c¸ch kh¸c, b»ng c¸ch gi¶m ®i mét ng«n ng÷ NP-®Çy ®ñ L’ ®· biÕt tíi L, chóng ta tèi gi¶n hoµn toµn mäi ng«n ng÷ trong NP tíi L. Do ®ã, bæ ®Ò 34.8 cho chóng ta mét c¸ch ®Ó chøng minh r»ng mét ng«n ng÷ L lµ NP-®Çy ®ñ. 1. Chøng minh: L  NP 2. Chän mét ng«n ng÷ NP-®Çy ®ñ L’. 3. M« t¶ mét thuËt to¸n tÝnh mét hµm f ¸nh x¹ mäi phÇn tö x  {0,1}* cña L’ tíi mét phÇn tö f(x) cña L. 4. Chøng minh r»ng f tho¶ m·n x  L’ khi vµ chØ khi f(x)  L víi mäi x  {0,1}* . 5. Chøng minh r»ng thuËt to¸n tÝnh f ch¹y víi thêi gian ®a thøc. (C¸c b­íc 2-5 cho thÊy r»ng L lµ NP-khã). Ph­¬ng ph¸p tèi gi¶m tõ mét ng«n ng÷ NP- ®Çy ®ñ ®¬n ®· biÕt lµ ®¬n gi¶n h¬n nhiÒu so víi qu¸ tr×nh phøc t¹p chØ trùc tiÕp c¸ch tèi gi¶n mäi ng«n ng÷ trong NP. CIRCUIT-SAT  NPC ®· chøng minh cho chóng ta mét c¸ch tiÕp cËn. Nªn biÕt r»ng bµi to¸n m¹ng tho¶ ®­îc lµ NP-®Çy ®ñ cho chóng ta c¸ch chøng minh ®¬n gi¶n h¬n nhiÒu c¸c bµi to¸n kh¸c lµ NP-®¬n gi¶n. H¬n n÷a, v× chóng ta ph¸t triÓn mét danh s¸ch c¸c bµi to¸n NP-®Çy ®ñ ®· biÕt, chóng ta sÏ cã nhiÒu sù lùa chän h¬n cho c¸c ng«n ng÷ ®Ó tèi gi¶n. C«ng thøc tho¶ ®­îc Chóng ta minh ho¹ ph­¬ng ph¸p tèi gi¶n ho¸ b»ng c¸ch cho mét c¸ch chøng minh NP- ®Çy ®ñ cho c¸c bµi to¸n x¸c ®Þnh xem mét c«ng thøc thuéc d¹ng boolean, kh«ng ph¶i lµ mét m¹ng, lµ tho¶ ®­îc. Bµi to¸n nµy cã ý nghÜa lÞch sö nh­ lµ bµi to¸n ®Çu tiªn ®­îc biÕt chØ ra NP-®Çy ®ñ. Chóng ta sÏ tr×nh bµy mét c¸ch chÝnh x¸c bµi to¸n tho¶ ®­îc theo kh¸i niÖm ng«n ng÷ SAT nh­ sau. Mét phÇn tö cña SAT lµ mét biÓu thøc  kiÓu boolean bao gåm: 1. n biÕn boolean: x1, x2, ..., xn; 2. m kÕt nèi boolean: bÊt kú hµm boolean nµo víi mét hay hai ®Çu vµo vµ mét ®Çu ra, nh­  (vµ), (hoÆc),  (phñ ®Þnh),  (kÐo theo),  (khi vµ chØ khi); vµ 3. dÊu ngoÆc ®¬n. (Kh«ng mÊt tÝnh tæng qu¸t, chóng ta gi¶ sö r»ng kh«ng cã sù d­ thõa cña dÊu më ngoÆc, vÝ dô, cã Ýt nhÊt mét cÆp dÊu chÊm phÈy ®èi víi mçi liªn kÕt boolean). DÔ dµng m· ho¸ mét c«ng thøc  kiÓu boolean víi kÝch th­íc ®a thøc ®èi víi n+m. Nh­ trong c¸c m¹ng tæ hîp kiÓu boolean, mét c¸ch g¸n ®óng víi mét c«ng thøc  kiÓu boolean lµ mét tËp c¸c gi¸ trÞ cho c¸c biÕn cña  , vµ mét c¸ch g¸n tho¶ m·n lµ mét c¸ch
  • 26. g¸n ®óng khiÕn cho nã cã gi¸ trÞ b»ng 1. Mét c«ng thøc víi mét c¸ch g¸n tho¶ m·n lµ mét c«ng thøc tho¶ ®­îc. Bµi to¸n tho¶ ®­îc hái xem mét c«ng thøc kiÓu boolean ®· cho lµ tho¶ ®­îc hay kh«ng theo kh¸i niÖm ng«n ng÷ h×nh thøc. SAT = {<>:  lµ mét c«ng thøc tho¶ ®­îc kiÓu boolean} Nh­ mét vÝ dô, c«ng thøc  =((x1 x2)   (( x1  x3)  x4)   x2 cã c¸ch g¸n tho¶ m·n <x1 = 0, x2 = 0, x3 = 1, x4 = 1>, do ®ã =((00)   (( 0 1)  1)   0 = (1   (1  1))  1 = (1  0)  1 = 1 (34.2) Vµ nh­ vËy c«ng thøc  thuéc SAT. ThuËt to¸n ®¬n gi¶n ®Ó x¸c ®Þnh xem mét c«ng thøc kiÓu boolean tuú ý lµ tho¶ ®­îc sÏ kh«ng ch¹y víi thêi gian ®a thøc. Cã 2n c¸ch g¸n cã thÓ trong c«ng thøc  víi n biÕn. NÕu ®é dµi cña  lµ ®a thøc ®èi víi n, th× viÖc kiÓm tra mäi c¸ch g¸n cÇn thêi gian (2n ) , nã lµ siªu ®a thøc ®èi víi ®é dµi cña ( ). Nh­ ®Þnh lý sau cho thÊy, mét thuËt to¸n thêi gian siªu ®a thøc lµ hÇu nh­ kh«ng tån t¹i. §Þnh lý 34.9 TÝnh tho¶ ®­îc cña c¸c c«ng thøc kiÓu boolean lµ NP-®Çy ®ñ. Chøng minh: Chóng ta b¾t ®Çu b»ng c¸ch chøng tá r»ng SAT  NP. Sau ®ã chóng ta CIRCUIT-SAT lµ NP-khã b»ng c¸ch chØ ra r»ng CIRCUIT-SAT P SAT; b»ng bæ ®Ò 34.8, ®iÒu nµy sÏ chøng minh ®Þnh lý. §Ó chØ ra SAT thuéc NP, ta sÏ chØ ra r»ng mét kÕt qu¶ bao gåm mét c¸ch g¸n tho¶ m·n cho mét c«ng thøc ®Çu vµo  cã thÓ ®­îc chøng tá trong thêi gian ®a thøc. ThuËt to¸n chøng minh thay thÕ mét c¸ch ®¬n gi¶n mçi biÕn trong c«ng thøc víi mét gi¸ trÞ t­¬ng øng vµ råi tÝnh gi¸ trÞ cña biÓu thøc, nh­ chóng ta thùc hiÖn trong ph­¬ng tr×nh (34.2) ë trªn. §iÒu nµy ®­îc thùc hiÖn ®¬n gi¶n víi thêi gian ®a thøc. NÕu biÓu thøc cã gi¸ trÞ 1, c«ng thøc lµ tho¶ ®­îc. Nh­ vËy, ®iÒu kiÖn thø nhÊt cña bæ ®Ò 34.8 cho NP-®Çy ®ñ ®­îc thùc hiÖn. §Ó chøng minh r»ng SAT lµ NP-khã, ta chØ ra r»ng CIRCUIT-SAT P SAT. Nãi c¸ch kh¸c, mçi phÇn tö cña m¹ng tho¶ ®­îc cã thÓ tèi gi¶n víi thêi gian ®a thøc tíi mét phÇn tö cña c«ng thøc tho¶ ®­îc. Ph­¬ng ph¸p quy n¹p cã thÓ ®­îc ¸p dông ®Ó biÓu diÔn bÊt kú m¹ng tæ hîp kiÓu boolean nµo nh­ mét c«ng thøc kiÓu boolean. Chóng ta ®¬n gi¶n ®Ó ý ®Õn cæng sinh ra m¹ng ®Çu ra vµ mét c¸ch quy n¹p thÓ hiÖn mçi ®Çu vµo cña cæng nh­ lµ c¸c c«ng thøc. C«ng thøc cho m¹ng tiÕp ®ã thu ®­îc bëi viÕt mét biÓu thøc ¸p dông hµm cña cæng cho c¸c c«ng thøc cña c¸c ®Çu vµo cña nã. Kh«ng may lµ, ph­¬ng ph¸p trùc tiÕp nµy kh«ng t¹o ®­îc tèi gi¶n thêi gian ®a thøc. Nh­ bµi tËp 34.4-1 cho thÊy, c¸c c«ng thøc con – nh÷ng c«ng thøc n¶y sinh tõ c¸c cæng mµ c¸c d©y ®Çu ra cã hÖ sè ph©n ®Çu ra lµ 2 – cã thÓ lµm cho kÝch th­íc cña c«ng thøc
  • 27. ®­îc t¹o ra ph¸t triÓn theo hµm mò. Do ®ã, thuËt to¸n tèi gi¶n ph¶i lµ mét c¸i g× ®ã tèt h¬n. H×nh 34.10 minh ho¹ ý t­ëng c¬ b¶n cña sù tèi gi¶n tõ CIRCUIT-SAT tíi SAT trªn m¹ng tõ h×nh 34.8(a). Víi mçi d©y xi ë trong m¹ng C, c«ng thøc  cã mét biÕn xi. PhÐp tÝnh tèt h¬n cña mét cæng cã thÓ ®­îc biÓu diÔn nh­ mét c«ng thøc liªn quan ®Õn c¸c biÕn cña c¸c d©y liªn quan. VÝ dô, phÐp to¸n trªn cæng ®Çu ra AND lµ x10  (x7  x8  x9). C«ng thøc  sinh bëi thuËt to¸n tèi gi¶n lµ AND cña biÕn m¹ng ®Çu ra cïng víi c¸c mÖnh ®Ò m« t¶ phÐp to¸n cña mçi cæng. §èi víi m¹ng trong h×nh vÏ, c«ng thøc lµ  = x10  (x4   x3)  (x5  (x1  x2))  (x7  (x1  x2 x4))  (x8  (x5  x6))  (x9  (x6  x7)  (x10  (x7  x8  x9)) Cho m¹ng C, cã thÓ t¹o ngay ®­îc mét c«ng thøc  víi thêi gian tho¶ ®­îc. T¹i sao m¹ng C tho¶ ®­îc mét c¸ch chÝnh x¸c khi c«ng thøc  lµ tho¶ ®­îc? NÕu C cã mét c¸ch g¸n tho¶ m·n, mçi d©y cña m¹ng cã mét gi¸ trÞ ®­îc ®Þnh nghÜa tèt, vµ ®Çu ra cña m¹ng lµ 1. V× vËy, c¸ch g¸n cña c¸c gi¸ trÞ trªn d©y cho c¸c biÕn trong  lµm cho mçi mÖnh ®Ò cña  cã gi¸ trÞ 1, vµ do vËy sù kÕt nèi c¸c gi¸ trÞ cã gi¸ trÞ 1. Ng­îc l¹i, nÕu cã mét c¸ch g¸n lµm cho  cã gi¸ trÞ 1, m¹ng C lµ tho¶ ®­îc bëi mét ®èi sè t­¬ng tù. Do ®ã, chóng ta ®· chØ ra r»ng CIRCUIT-SAT P SAT, ®iÒu nµy kÕt thóc chøng minh. 3-CNF æn ®Þnh NhiÒu bµi to¸n cã thÓ ®­îc chøng minh NP-®Çy ®ñ b»ng c¸ch tèi gi¶n tõ mét c«ng thøc æn ®Þnh. MÆc dÇu thuËt to¸n tèi gi¶n ph¶i sö dông bÊt cø c«ng thøc ®Çu vµo nµo, vµ ®iÒu nµy ®ßi hái cã thÓ dÉn tíi mét sè lín c¸c tr­êng hîp cÇn ph¶i xem xÐt. V× vËy, ®iÒu ®¸ng cÇn lµ tèi gi¶n tõ mét ng«n ng÷ h¹n chÕ cña c¸c c«ng thøc kiÓu boolean, ®Ó råi Ýt H×nh 34.10 Tèi gi¶n m¹ng tho¶ ®­îc ®Õn c«ng thøc tho¶ ®­îc. C«ng thøc sinh bëi thuËt to¸n tèi gi¶n cã mét biÕn cho mçi d©y trong m¹ng.
  • 28. tr­êng hîp h¬n cÇn ®­îc xem xÐt. HiÓn nhiªn, chóng ta ph¶i h¹n chÕ ng«n ng÷ cµng nhiÒu ®Ó mµ nã trë thµnh cã thÓ gi¶i quyÕt ®­îc trong thêi gian ®a thøc. Mét ng«n ng÷ thuËn lîi lµ 3-CNF tho¶ ®­îc hay 3-CNF-SAT. Chóng ta sÏ ®Þnh nghÜa 3-CNF tho¶ ®­îc b»ng c¸ch sö dông c¸c kh¸i niÖm sau. Mét ký hiÖu trong mét c«ng thøc kiÓu boolean lµ mét biÕn thÓ cña mét biÕn hay phñ ®Þnh cña nã. Mét c«ng thøc kiÓu boolean lµ mét d¹ng chuÈn t¾c nèi tiÕp, hay CNF, nÕu nã ®­îc biÓu diÔn mét phÐp to¸n AND cña c¸c mÖnh ®Ò, mçi mÖnh ®Ò trong ®ã lµ mÖnh ®Ò OR hay nhiÒu ký hiÖu h¬n. Mét c«ng thøc kiÓu boolean lµ cã d¹ng d¹ng chuÈn t¾c 3 kÕt nèi, hay 3-CNF, nÕu mçi mÖnh ®Ò cã chÝnh x¸c ba ký hiÖu ph©n biÖt. VÝ dô, c«ng thøc kiÓu boolean: (x1   x1   x2)  (x3  x2  x4)  ( x1   x3   x4) lµ thuéc 3-CNF. MÖnh ®Ò ®Çu tiªn trong 3 mÖnh ®Ò cña nã lµ (x1   x1   x2), nã chøa 3 ký hiÖu x1,  x1, vµ  x2. Trong 3-CNF-SAT, chóng ta cÇn biÕt xem mét c«ng thøc kiÓu boolean ®· cho  thuéc 3-CNF lµ tho¶ ®­îc hay kh«ng. §Þnh lý sau ®©y chØ ra r»ng mét thuËt to¸n thêi gian ®a thøc cã thÓ x¸c ®Þnh tÝnh æn ®Þnh cña c¸c c«ng thøc kiÓu boolean lµ hÇu nh­ kh«ng tån t¹i, thËm chÝ khi chóng ®­îc biÓu diÔn ë d¹ng chuÈn t¾c ®¬n gi¶n nµy. §Þnh lý 34.10 TÝnh æn ®inh cña c¸c c«ng thøc kiÓu boolean trong d¹ng chuÈn t¾c 3 kÕt nèi lµ NP-®Çy ®ñ. Chøng minh: §èi sè chóng ta ®· sö dông trong bæ ®Ò 34.9 ®Ó chØ ra r»ng SAT  NP ¸p dông t­¬ng tù ë ®©y ®Ó chØ ra r»ng 3-CNF-SAT  NP. Do ®ã, bëi bæ ®Ò 34.8, chóng ta chØ cÇn chØ ra r»ng SAT P 3-CNF-SAT. ThuËt to¸n tèi gi¶n cã thÓ ®­îc ph©n ra thµnh 3 b­íc. Mçi b­íc truyÓn dÇn ®Çu vµo c«ng thøc  tiÕn gÇn h¬n tíi d¹ng chuÈn t¾c 3-kÕt nèi mong muèn. B­íc ®Çu tiªn t­¬ng tù víi b­íc ®­îc sö dông ®Ó chøng minh r»ng CIRCUIT-SAT P SAT trong ®Þnh lý 34.9. Tr­íc tiªn, chóng ta x©y dùng mét c©y ph©n tÝch nhÞ ph©n cho ®Çu vµo c«ng thøc  , víi c¸c ký hiÖu nh­ lµ l¸ vµ c¸c kÕt nèi nh­ lµ c¸c node trong. H×nh 34.11 cho thÊy mét c©y ph©n tÝch cho c«ng thøc  =((x1  x2 )   (( x1  x3)  x4))  x2. (34.3) VËy c«ng thøc ®Çu vµo cã chøa mÖnh ®Ò nh­ lµ mÖnh ®Ò OR cña mét vµi ký hiÖu, mét c¸ch kÕt hîp, cã thÓ ®­îc sö dông ®Ó ®Æt hoµn toµn trong dÊu ngoÆc ®¬n ®Ó mµ mäi node trong trong c©y kÕt qu¶ cã mét hoÆc 2 con. C©y ph©n tÝch nhÞ ph©n lóc nµy ®­îc thÓ hiÖn nh­ mét m¹ng ®Ó tÝnh to¸n hµm sè.
  • 29. B»ng c¸ch b¾t ch­íc c¸ch tèi gi¶n ho¸ trong chøng minh ®Þnh lý 34.9, chóng ta ®­a ra biÕn yi cho ®Çu ra cña mçi node trong. Råi ta ghi l¹i c«ng thøc c¬ b¶n  nh­ c«ng thøc cña phÐp to¸n AND cña biÕn node gèc vµ mét kÕt nèi cña c¸c mÖnh ®Ò m« t¶ phÐp to¸n cña mçi node. §èi víi c«ng thøc (34.3), biÓu thøc kÕt qu¶ lµ  = y1  (y1  (y2   x2))  (y2  (y3  y4))  (y4   y5)  (y5  (y6  x4))  (y6  (x1  x3)) Nh­ vËy ®Ó ý r»ng c«ng thøc ’ thu ®­îc lµ mét kÕt nèi cña c¸c mÖnh ®Ò ’i, mçi mÖnh ®Ò cã nhiÒu nhÊt 3 ký hiÖu. §iÒu cÇn thªm vµo duy nhÊt lµ mçi mÖnh ®Ò lµ mét mÖnh ®Ò cña c¸c ký hiÖu víi phÐp to¸n OR. B­íc thø hai cña phÐp tèi gi¶n chuyÓn mçi mÖnh ®Ò ’i thµnh d¹ng chuÈn t¾c nèi kÕt. Chóng ta x©y dùng mét b¶ng ch©n trÞ cho ’i b»ng c¸ch xem xÐt c¸c c¸ch g¸n cã thÓ cho c¸c biÕn. Mçi hµng cña b¶ng bao gåm mét c¸ch g¸n cã thÓ cña c¸c biÕn cña mÖnh ®Ò, cïng víi gi¸ trÞ cña mÖnh ®Ò d­íi c¸ch g¸n ®ã. Sö dông danh s¸ch cña b¶ng ch©n trÞ cã gi¸ trÞ 0, chóng ta x©y dùng mét c«ng thøc trong d¹ng chuÈn t¾c ph©n biÖt (hay DNF) – mét d¹ng cña c«ng thøc víi phÐp to¸n AND hoÆc OR – nã t­¬ng ®­¬ng víi  ’i. TiÕp ®ã chóng ta chuyÓn mçi c«ng thøc nµy thµnh mét c«ng thøc ’’i d¹ng CNF b»ng c¸ch sö H×nh 34.11 C©y t­¬ng ®­¬ng c«ng thøc = ((x1  x2)   ((x1  x3)  x4))  x2
  • 30. dông luËt DeMorgan (ph­¬ng tr×nh (B.2)) ®Ó bæ sung tÊt c¶ c¸c ký hiÖu vµ chuyÓn mÖnh ®Ò d¹ng OR thµnh d¹ng AND vµ d¹ng AND thµnh OR. Trong vÝ dô cña chóng ta, chóng ta chuyÓn mÖnh ®Ò ’1 = (y1  (y2   x2)) thµnh d¹ng CNF nh­ sau. B¶ng ch©n trÞ cña ’1 ®­îc cho trong h×nh 34.12. C«ng thøc DNF t­¬ng ®­¬ng víi  ’1 lµ (y1  y1  x2) (y1   y1  x2)  (y1   y1   x2)  ( y1  y1   x2) ¸p dông luËt DeMorgan, chóng ta cã c«ng thøc CNF. ’’1 = ( y1   y1   x2)  ( y1  y1  x2)  ( y1  y1  x2)  (y1   y1  x2) t­¬ng ®­¬ng víi mÖnh ®Ò gèc ’1. B©y giê mçi mÖnh ®Ò ’i cña c«ng thøc ’ ®· ®­îc chuyÓn thµnh mét c«ng thøc ’’i d¹ng CNF, vµ do ®ã ’ t­¬ng ®­¬ng víi c«ng thøc ’’ d¹ng CNF bao gåm kÕt nèi cña  i’’. H¬n n÷a, mçi mÖnh ®Ò cña ’’ cã nhiÒu nhÊt 3 ký hiÖu. B­íc thø 3 vµ b­íc cuèi cïng cña sù tèi gi¶n khai triÓn h¬n n÷a c«ng thøc sao cho mçi mÖnh ®Ò cã chÝnh x¸c 3 ký hiÖu ph©n biÖt. C«ng thøc ’’’ d¹ng CNF ®­îc x©y dùng tõ c¸c mÖnh ®Ò cña c«ng thøc ’’ d¹ng CNF. Nã còng dïng c¸c biÕn phô mµ chóng ta sÏ gäi lµ p vµ q. §èi víi mçi mÖnh ®Ò Ci cña ’’, chóng ta thªm vµo c¸c mÖnh ®Ò sau trong ’’’:  NÕu Ci cã 3 ký hiÖu ph©n biÖt, th× thªm Ci nh­ mét mÖnh ®Ò cña ’’’.  NÕu Ci cã 2 ký hiÖu ph©n biÖt, ®ã lµ nÕu, nÕu Ci = (l1  l2), ë ®ã l1 vµ l2 lµ c¸c ký hiÖu, th× thªm (l1  l2  p)  (l1  l2   p) nh­ mÖnh ®Ò cña ’’’. C¸c ký hiÖu p vµ  p chØ ®¸p øng c¸c yªu cÇu có ph¸p cã chÝnh x¸c 3 ký hiÖu ph©n biÖt ®èi víi mçi mÖnh ®Ò: (l1  l2  p)  (l1  l2   p) t­¬ng ®­¬ng víi (l1  l2) dï p = 0 hay p = 1. H×nh 34.12 B¶ng ch©n trÞ cho mÖnh ®Ò (y1  (y2   x2)).
  • 31.  NÕu Ci cã chØ mét 1 ký hiÖu ph©n biÖt l, th× thªm (l  p  q)  (l  p  q)  (lp q)  ( l   p   q) vµo nh­ mét mÖnh ®Ò cña ’’’. L­u ý r»ng mäi sù ¸p ®Æt cña p vµ q cã thÓ lµm cho kÕt nèi cña bèn mÖnh ®Ò nµy cã gi¸ trÞ 1. Chóng ta cã thÓ thÊy r»ng c«ng thøc ’’’ d¹ng 3-CNF lµ tho¶ ®­îc nÕu vµ chØ nÕu  lµ tho¶ ®­îc b»ng c¸ch kiÓm tra kü mçi b­íc trong ba b­íc. Nh­ c¸ch tèi gi¶n tõ CIRCUIT-SAT tíi SAT, c¸ch x©y dùng ’ tõ  trong b­íc ®Çu tiªn b¶o toµn tÝnh æn ®Þnh. B­íc thø hai sinh ra c«ng thøc ’’ d¹ng CNF t­¬ng ®­¬ng mét c¸ch ®¹i sè víi ’. B­íc thø ba sinh ra c«ng thøc ’’’ d¹ng 3-CNF t­¬ng ®­¬ng mét c¸ch cã hiÖu qu¶ víi ’’, v× mäi c¸ch g¸n gi¸ trÞ cho biÕn p vµ q sinh ra mét c«ng thøc t­¬ng ®­¬ng mét c¸ch ®¹i sè víi ’’. Chóng ta ph¶i chØ ra r»ng sù tèi gi¶n cã thÓ ®­îc tÝnh to¸n víi thêi gian ®a thøc. X©y dùng ’ tõ  sinh ra nhiÒu nhÊt mét biÕn vµ mét mÖnh ®Ò ®èi víi mçi kÕt nèi trong . X©y dùng ’’ tõ ’ cã thÓ ®­a nhiÒu nhÊt 8 mÖnh ®Ò vµo ’’ ®èi víi mçi mÖnh ®Ò tõ ’, v× mçi mÖnh ®Ò cña ’ cã nhiÒu nhÊt 3 biÕn, vµ b¶ng ch©n trÞ cho mçi mÖnh ®Ò cã nhiÒu nhÊt 23 = 8 hµng. ViÖc x©y dùng ’’’ tõ ’’ ®­a nhiÒu nhÊt 4 mÖnh ®Ò vµo ’’’ cho mçi mÖnh ®Ò cña ’’. Do ®ã, kÝch th­íc c«ng thøc kÕt qu¶ ’’’ lµ ®a thøc ®èi víi chiÒu dµi cña c«ng thøc c¬ b¶n. Mçi lÇn x©y dùng cã thÓ hoµn thµnh mét c¸ch ®¬n gi¶n víi thêi gian ®a thøc. Bµi tËp 34.4 -1 XÐt sù c¸ch tèi gi¶n trùc tiÕp (thêi gian kh«ng ®a thøc) trong chøng minh cña ®Þnh lý 34.9. H·y m« t¶ m¹ng kÝch th­íc n khi ®­îc biÕn ®æi tõ mét c«ng thøc bëi ph­¬ng thøc nµy sinh ra mét c«ng thøc mµ kÝch th­íc cña nã lµ hµm mò ®èi víi n. 34.4 -2 H·y chØ ra c«ng thøc 3-CNF sinh ra khi chóng ta sö dông ph­¬ng ph¸p cña ®Þnh lý 34.10 ®èi víi c«ng thøc (34.3). 34.4 -3 Gi¸o s­ Jagger ®Ò nghÞ chØ ra r»ng SAT P 3-CNF-SAT b»ng c¸ch chØ sö dông kü thuËt b¶ng ch©n trÞ trong chøng minh cña ®Þnh lý 34.10, vµ kh«ng sö dông b­íc nµo kh¸c. §ã lµ, gi¸o s­ ®Ò nghÞ lÊy c«ng thøc d¹ng boolean  , t¹o lËp b¶ng ch©n trÞ cho c¸c biÕn cña nã, xuÊt ph¸t tõ b¶ng ch©n trÞ mét c«ng thøc d¹ng 3-CNF t­¬ng ®­¬ng víi , vµ råi phñ ®Þnh vµ ¸p dông luËt DeMorgan ®Ó sinh ra mét c«ng thøc d¹ng 3-CNF t­¬ng ®­¬ng víi . H·y chøng minh r»ng chiÕn l­îc nµy kh«ng sinh ra mét sù tèi gi¶n thêi gian ®a thøc. 34.4-4 Chøng minh r»ng bµi to¸n x¸c ®Þnh xem mét c«ng thøc d¹ng boolean cã ph¶i lµ mét sù lÆp l¹i kh«ng cÇn thiÕt, lµ ®Çy ®ñ ®èi víi co-NP(Gîi ý: Xem bµi tËp 34.3-7) 34.4-5 Chøng minh r»ng bµi to¸n x¸c ®Þnh tÝnh æn ®Þnh cña c¸c c«ng thøc d¹ng boolean trong d¹ng chuÈn t¾c kÕt nèi lµ gi¶i ®­îc víi thêi gian ®a thøc.
  • 32. 34.4-6 Gi¶ sö r»ng mét ng­êi nµo ®ã cho b¹n mét thuËt to¸n thêi gian ®a thøc ®Ó x¸c ®Þnh tÝnh æn ®Þnh cña c«ng thøc. H·y m« t¶ lµm thÕ nµo ®Ó sö dông thuËt to¸n nµy ®Ó t×m c¸c c¸ch g¸n tho¶ m·n trong thêi gian ®a thøc. 34.4-7 Cho 2-CNF-SAT lµ tËp cña c¸c c«ng thøc tho¶ ®­îc trong CNF víi chÝnh x¸c 2 ký hiÖu cho mçi mÖnh ®Ò. H·y chøng minh r»ng 2-CNF-SAT  P. H·y t¹o mét thuËt to¸n cña b¹n hiÖu qu¶ nhÊt cã thÓ. (Gîi ý: §Ó ý r»ng x  y lµ t­¬ng ®­¬ng víi x  y. Tèi gi¶n 2- CNF-SAT tíi mét bµi to¸n trªn mét ®å thÞ cã h­íng cã thÓ gi¶i ®­îc mét c¸ch hiÖu qu¶.) 34.5 Bµi to¸n NP-®Çy ®ñ Bµi to¸n NP-®Çy ®ñ ph¸t sinh trong nhiÒu lÜnh vùc kh¸c nhau: logic, ®å thÞ, sè häc, thiÕt kÕ m¹ng, tËp vµ c¸ch ph©n chia, bé nhê vµ sù phôc håi, s¾p xÕp vµ lËp lÞch, lËp tr×nh to¸n, ®¹i sè vµ lý thuyÕt sè, c©u ®è vµ trß ch¬i, automat vµ lý thuyÕt ng«n ng÷, tèi ­u ho¸ ch­¬ng tr×nh, sinh vËt häc, ho¸ häc, vËt lý vµ nhiÒu lÜnh vùc n÷a. Trong phÇn nµy, chóng ta sÏ sö dông ph­¬ng ph¸p tèi gi¶n ®Ó cung cÊp c¸c chøng minh NP-®Çy ®ñ cho c¸c bµi to¸n kh¸c nhau tõ lý thuyÕt ®å thÞ vµ ph©n chia tËp. H×nh 34.13 ph¸c ho¹ cÊu tróc cña chøng minh NP-®Çy ®ñ trong phÇn nµy vµ phÇn 34.4. Mçi ng«n ng÷ trong h×nh lµ ®­îc chøng minh NP-®Çy ®ñ b»ng c¸ch tèi gi¶n tõ ng«n ng÷ h­íng tíi nã. T¹i gèc lµ CIRCUIT-SAT, ta ®· chøng minh NP-®Çy ®ñ trong ®Þnh lý 34.7. 34.5.1 Bµi to¸n clique Mét clique trong mét ®å thÞ v« h­íng G = (V,E) lµ mét tËp V’V c¸c ®Ønh, mçi cÆp ®Ønh trong ®ã ®­îc nèi víi nhau bëi mét c¹nh trong E. Nãi c¸ch kh¸c, mét clique lµ mét ®å thÞ con ®Çy ®ñ cña G. KÝch th­íc cña mét clique lµ sè c¸c ®Ønh mµ nã chøa. Bµi to¸n clique lµ bµi to¸n tèi ­u t×m mét clique víi kÝch th­íc lín nhÊt trong mét ®å thÞ. Nh­ bµi to¸n quyÕt ®Þnh, chóng ta cÇm biÕt mét c¸ch ®¬n gi¶n lµ mét clique víi kÝch th­íc k lµ cã tån t¹i trong ®å thÞ hay kh«ng. §Þnh nghÜa h×nh thøc lµ CLIQUE = {<G,k> : G lµ mét ®å thÞ víi mét clique kÝch th­íc k} Mét thuËt to¸n ®¬n gi¶n x¸c ®Þnh xem mét ®å thÞ G=(V,E) víi |V| ®Ønh cã mét clique kÝch th­íc k hay kh«ng lµ liÖt kª tÊt c¶ c¸c tËp con kÝch th­íc k cña V, vµ kiÓm tra mçi tËp ®Ó xem nã cã t¹o thµnh mét clique. Thêi gian ch¹y cña thuËt to¸n nµy lµ (k2       k V || ), nã lµ mét ®a thøc nÕu k lµ mét h»ng sè. Tuy nhiªn, nãi chung k cã thÓ gÇn |V|/2, trong tr­êng hîp ®ã thuËt to¸n ch¹y víi thêi gian siªu ®a thøc. Nh­ mét ng­êi cã thÓ nghi ngê, mét thuËt to¸n hiÖu qu¶ cho bµi to¸n clique lµ hÇu nh­ kh«ng tån t¹i.
  • 33. §Þnh lý 34.11 Bµi to¸n clique lµ NP-®Çy ®ñ. Chøng minh: §Ó chØ ra r»ng CLIQUE  Np, ®èi víi mét ®å thÞ G=(V,E), chóng ta sö dông tËp V’ V cña c¸c ®Ønh trong clique nh­ mét kÕt qu¶ cña G. KiÓm tra xem V’ cã lµ clique hay kh«ng cã thÓ ®­îc hoµn thµnh trong thêi gian ®a thøc b»ng c¸ch kiÓm tra xem víi mçi cÆp u, v  V’, c¹nh (u,v) cã thuéc E. TiÕp ®ã chóng ta chøng minh r»ng 3-CNF-SAT P CLIQUE, ®iÒu nµy cho thÊy r»ng bµi to¸n clique lµ NP-khã. C¸i mµ chóng ta cã thÓ chøng minh kÕt qu¶ nµy lµ mét c¸i g× ®ã bÊt ngê v× vÒ bÒ ngoµi ®èi víi c¸c c«ng thøc logic d­êng nh­ cã rÊt Ýt liªn hÖ víi ®å thÞ. ThuËt to¸n tèi gi¶n b¾t ®Çu b»ng mét phÇn tö cña 3-CNF-SAT. Cho C1 C2... Ck lµ mét c«ng thøc logic trong 3-CNF víi k mÖnh ®Ò. Víi r=1,2,...,k, mÖnh ®Ò Cr cã chÝnh x¸c 3 ký hiÖu ph©n biÖt r l1 , r l2 vµ r l3 . Chóng ta sÏ x©y dùng mét ®å thÞ G sao cho  lµ tho¶ ®­îc nÕu vµ chØ nÕu G cã mét clique kÝch th­íc k. §å thÞ G=(V,E) ®­îc x©y dùng nh­ sau. Víi mçi mÖnh ®Ò Cr=( r l1  r l2  r l3 ) trong , chóng ta ®Æt mét bé ba c¸c ®Ønh r v1 r v2 r v3 vµo trong V. Chóng ta ®Æt mét c¹nh gi÷a hai ®Ønh r iv vµ s jv nÕu hai ®iÒu kiÖn sau ®­îc tho¶ m·n:  r iv vµ s jv ë hai bé ba kh¸c nhau, ®ã lµ rs, vµ  c¸c ký hiÖu t­¬ng øng lµ ®ång nhÊt, ®ã lµ, r il kh«ng ph¶i lµ phñ ®Þnh cña s jl §å thÞ nµy cã thÓ dÔ dµng x©y dùng ®­îc tõ  víi thêi gian ®a thøc. XÐt vÝ dô ®èi víi c«ng thøc H×nh 34.13 CÊu tróc cña chøng minh tÝnh NP- ®ñ trong môc 34.4 vµ 34.5.