1-3.1 Thuat toan theo nghia trtfc giac

Một phần của tài liệu Lý thuyết độ phức tạp tính toán (Trang 47)

CI do lai la dau tJ Trong trudng hop nay ta thuc hien Budc 3, dich

1-3.1 Thuat toan theo nghia trtfc giac

Mdt each phi hinh thiic ta c6 the noi rang, thuat toan (ciing nhu nhiing thu tuc, each thicc hay guy tfmh thudng duge sii dung trong

cac hoat dong thuc tien) la mot tap cac chi dan đn gian de tifng budc thuc hien mot thao tac nao do tren mdi d i i kien ban dau, sao cho sau mot so hiiu han bude no cho ta ket qua mong muon.

78 May Turing va Thuat toan Khdi niem thuat toan (algorithm) la mOt trong nhuing khai nicm

CO sd ciia toan hoc. Thuat ngu; "algorithm" la mot t\t tieng A n h ,

xuat phat til chu: Algoritmi, La tinh hoa ten cua nha toan hoc

Muhammad ibn Musa al-Khwarizmị Ong sinh vao khoang nam 780 tai Khwarizmi, khi do thuoc D§ quoc Ba T u , nay la Khiva thuoc Uzbekistan, va mat vao khoang nam 850. Ong la tac gia cua

cu6n Dai so, cuon sach dau tien vigt ve each giai c6 tinh he thong

cac phudng trinh bac bon va phudng trinh tuyen tinh. Nhd do ten ong dUdc ghi nhan bdi khai niem toan hoc neu tren.

Cac tai lieu toan hoc c6 dai da ghi lai dUdc nhiing hinh hai phong phii cua nhieu thuat toan, trong do kha quen thuoc la thuat toan t i m cac so nguyen to va thuat toan Euclid t i m udc so chung Idn nhat ciia hai so t u nhien bat ky cho trudc. Ban dau, thuat ngii "thuat toan" dUdc diing dg chi nhiing thu tuc thuc hien cac phep tinh so hoc tren cac so dtfdc viet trong he dem thap phan. Ve sau,

Cling vdi su phat trien chung cua toan hoc va viec xay dung nhiing phUdng phap tinh toan noi rieng dg t i m kiem nhiing 15i giai cho cac bai toan nay sinh trong hoat dong thuc tign, thuat ngii nay dUdc dung vdi nghIa rong hdn, no khong chi đn thuan la nhiing thu tuc thuc hien cac phep tinh so hoc ma con bao ham ca nhiing thu tuc thuc hien cac phep bien d6i co ban khac.

Trong suot nxoi thdi gian dai cua hch sut phdt t r i i n tokn hoc,

khai niem thuat toan thudng chi dUdc hieu mot each true giac, nhung vdi nhan thilc nhu vay kha nhieu thuat toan ciing da dudc xay dung. D i nhien, thuat toan theo nghia true giac khong phai la mot khai niem chinh xac vg mat toan hoc va qua do ta khong d§ thau hieu dudc ve ban chat cua khai niem thuat toan. Tuy la mot khai niem quan trong va dUdc sil dung kha rong rai, nhung nhu cEu d6i hoi mot dinh nghia chinh xac cho khai niem nky mdi chi nay sinh vao dau the ki X X , khi xuat hien nhiing nghi van "c6 hay khong

CO thuat toan" giai mot bai toan nao do ma ta gap phai, chang han

nhu: Co hay khong mot thuat toan di hiet du^c li$u mot phuang

1.3 Ludn di Church-Turing va Thuat toan 79 trinh diophang bat ky cho trude c6 nghiem nguyen hay khong ? Day trinh diophang bat ky cho trude c6 nghiem nguyen hay khong ? Day

la bai toan t h i i mudi cua Hilbert dugc phat bigu ro rang hon dudi dang thuat toan. Bai toan nay se dudc xem xet them trong muc tiep theọ

Tom lai, khai niem true giac ve thuat toan tuy du dg ta xay dung nhiing thuat toan nay no khi can thiet, nhung no khong the la cd sd thiet yeu dg ta chiing minh "khong c6 thuat toan" giai mot

bai toan nao do, va chinh ygu cku khang dinh "khong c6 thuat toan"

da thuc day viec t i m kiem mot dinh nghia toan hoc cho ban than khai niem thuat toan.

1.3.2 Luan de Church-Turing va Dinh nghia thuat toan Dinh nghia thuat toan

Theo nhu cau giai quyet cac bai toan khac nhau, bat dau t i i nhiing nam 30 cua the ki XX, cac dinh nghia toan hoc ve khai niem thuat toan da Ian ludt dUdc de xuat. Do la nhiing khai niem "A-tinh toan" cua Church va Kleene, " h a m de quy" cua Godel, " m a y Turing", " he Post", va " thuat toan chinh q u y " ciia Markov. Cac khai niem nay tuy rat khac nhau ve hinh thiic, nhung chung dudc chilng minh la tudng dudng vdi nhau, va vi vay chung ciing dUdc xem nhu la cac dinh nghia toan hoc cho khai niem thuat toan. Trong s6 cac khai niem vCra ngu, mo hinh may Turing c6 uu digm la dign ta cac qua trinh tinh toan mot each ro rang va can kc hdn cạ Mat khac, ve kha

nang tinh toan nhu da trinh bay d Phan 1.2, may Turing hoan toan

tuong duong vdi cac mo hinh md rong khac nhau nhu may Turing nhieu bang, may Turing khong tat dinh va may Turing vdi bang vo lian hai phia (xem Bai tap 1.6). Khong nhuing thg, trong Muc 1.4.1

ta nhan t h i y rang, may Turing van ndng c6 kha nang md phong

dugc bat ky may Turing nao khac. Bdi vay, so vdi cac khai niem •^hac vg thuat toan da dudc de xuat, khai niem may Turing duoc thfia nhan rong rai nhat, va do do silt dung mo hinh may Turing dg (Jinh nghia khai niem thuat toan la su lua chon thich hop.

80 May Turing va Thuat toan

D i n h nghia 1.3.1 Thuat todn la may Turing dicng.

Thuat toan duoc dinh nghia bdi mo hinh may Turing con dugc goi la thuat todn mdy Turing. Thuat toan may Turing khong chi la mot khai niem chinh xac ve mat toan hoc duoc thiTa nhan rong rai nhat nhu da neu tren, ma mo hinh toan hoc nay con duqc

siJf dung nhir mot cong cu kha tien Igi trong viec nghien ciiu cac qua trinh tinh toan noi chung, va dSc biet trong viec phan tich do phiic tap tinh toan.

Nhu vay, tiiy thuoc vao muc dich sii dung, hien tai vg thuat toan CO hai each nhan thutc khac nhau va ciing deu kha ph6 bien. Do la nhan thiic theo nghia true giac va nhan thilc theo dinh nghia hinh thiic - thuat toan may Turing. Vay thi, mot cau hoi duoc dSt ra kha t u nhien 1^: Thuat toan theo nghia true gi^c vh thuat toan may Turing c6 tuong diiong nhau, theo nghia giai cung mot 16p bai toan, hay khong? D I nhien, su tuong duong nay la khong thg chiing minh dtroc mot each chat che ve mat toan hoc, bdi vi thuat toan theo nghia true giac khong phai la mot khai niem chinh xac. Tuy nhien, nhung khao sat ban dau khong nhiing cho ta thay ro tinh Uu

viet cua may Turing trong viec dien ta cac qua trinh tinh toan noi chung, ma con chiing to ca kha nang tinh toan to Idn cua maỵ Day la CO sd xac dang dg ta tin tucing ve tridn vong dong nhat hai quan (adsbygoogle = window.adsbygoogle || []).push({});

niem ve thuat toan neu tren. Sir dong nhat khai niem true giac vdi khai niem chinh xac vg thuat toan da sdm dupe Church va Turing quan tam, nhu duoe thg hien bdi luan de sau daỵ

L u a n de Church-Turing (Church-Turing thesis) Thuat todn

theo nghia trtlc gidc dong nhat vdi thuat todn mdy Turing.

Mac dii luan de Church-Turring khong thg duoc chilng minh, nhung trai qua hon 70 nam ke i\i khi luan de nay duoc dua ra, thuc tien ngay cang cung c6 them niem t i n vko su dung dan cua nọ I Ngay nay luan de nay d U d c gan nhu moi ngudi thiTa nhan.

1.3 Luan de Church-Turing vd Thuat todn

81 Luan de Church-Turing cung vdi Dinh nghia 1.3.1 neu tren cho ta mot dinh nghia tong quat ve thuat toan theo nghia rong nhat, tao

cO SCI thiet yen de tien hanh viec chiing minh " khong c6 thuat toan" giai mot bai toan nao dọ Tigp den, viec chiing minh "khong c6 thuat toan" giai bai toan cho trudc, theo each tigp can bai toan nhu da trinh bay trong Phan 0.3, dugc dua ve viec chiing minh " khong

CO may Turing diing", tile "khong c6 thuat toan may Turing", k h i n g dinh ngon ngu: tuong ling vdi bai toan dọ

Sau day ta se minh hga each lam nay doi vdi bai toan thii mudi ciia Hilbert. Trudc tign ta hay gidi thieu so qua ve xuat xii ciaa bai todn naỵ

Tai Dai hoi toan hoc The gidi Ian thii hai, dugc t6 chiic vao nam 1900 6 Pari, Hilbert D. da doc mot bai dien thuyet kha ndi tieng. Trong bai dign thuyet ay, ong da dua ra danh sach gom 23 bai toan, dugc coi nhu mot str thach do doi vdi gidi toan hoc trong the ki X X . Bai toan thii mudi trong danh sach nay, nhu da neu tren, c6 lign quan den thuat toan.

Dg dien dat bai toan thii mudi ciia Hilbert, ta hay noi doi 15i ve

phuang trinh didphdng. Do la phuong trinh dang p{x,..., 2 ) = 0, trong do p{x,... ,z) la mot da thiic gom hUu han bien x,... ,z \k vdi cac he so nguygn. T h i du,

5x^yz - f 2xy^ - 3</^ + - 4 = 0

la mot phuang trinh diophang. Phuong trinh nay c6 nghiem (1,2,0), dugc xac dinh bdi x = 1, y = 2 va z = 0. Day la mot nghiem nguyen, bdi vi tat ca cac bien deu dugc gan cac gia t r i nguygn. Nhan thay r^ng, mot so phuong trinh diophang c6 nghiem nguygn con so khac thi khong CỌ

Bai todn thii mitdi cua Hilbert doi hoi xay dung mot thuat toan dg CO thg bigt dugc mOt phuong trinh diophang cho trudc c6

82 May Turing va Thuat toan

diang thuat ngii " thuat toan" ma la cum t i l tUdng dudng "mot quy , t r i n h ma theo do sau mot so hiiu han hMdc thuc hien cac phep bign

d6i", va mot dieu t h u v i la ong khong do du k h i doi hoi "xay dung"

mot thuat toan nhu vaỵ Vay la hinh nhu Hilbert cho rkng thuat toan ay ton t a i nen ong chi yeu cau t i m each xay dung nọ Tuy nhien, dua tren cd set nhiing nghien cutu cua Davis M., Putman H. va Robinson J . , vao nam 1970 Y u r i Matijasevich da chiing to rang mot thuat toan nhu vay la khong thg ton t a i , tlic khong ton t a i mot thuat toan de c6 thg biet dUdc mot phudng t r i n h diophang bat ky cho trudc c6 nghiem nguyen hay khong.

Bay gi5 hay xem xet van de trong ngii canh cua chung tạ Muon vay, t a can xac dinh ngon ngii tUdng ling v6i bai toan t h i l mudi cua Hilbert. Do la ngon ngii

D = {(p) I phudng t r i n h diophang p = 0 c6 nghiem nguyen},

trong do (p), hay cu thg hdn ( p( x i , X n ) ) , la mOt tiT bigu dign da

thufc p( x i , X n ) theo mot phep ma hoa thich hdp nao dọ Bai toan

t h i i mudi ciia Hilbert doi hoi xSy dung mot may quyet dinh (may Turing diing) de khang dinh ngon ngu: D, tiic can phai chiing to

dUdc rang D la ngon ngu: khang dinh diidc. Tuy nhign, dieu nay

khong thg thuc hien dudc. Song, bang each kien thiet, t a c6 thg

ehufng m i n h r&ng D la ngon ngii doan nhan dUdc, nghia la D dUdc

doan nhan bdi mOt may Turing khong diing. Trude k h i xay dung may Turing nhu vay cho triidng hdp t6ng quat, t a hay xem xet mot trudng hdp rieng (mot bai toan eon) ciia bai toan t h i i mudi cua Hilbert k h i cac da thiic chi chiia mot bien đn, chang han n h u da

thiic 'p{x). Ngon ngii tUdng ilng vdi bai toan con nay dudc xac dinh

nhu sau: (adsbygoogle = window.adsbygoogle || []).push({});

D i = {(/;(x)) I phUdng trinh p{x) = 0 eo nghiem nguyen}.

K h i do D i la ngon ngii doan nhan dUdc va, cu thg hdn, no dUdc * doan nhan b5i may Turing A/i sau daỵ

1.3 Luan di Church-Turing va Thuat toan 83

Ml = " D o i vdi mdi tit vho dang (p(x)):

1. Xac dinh cac gia t r i cua da thiic p{x) k h i x Ikn ludt dudc

gan nhiing gia t r i 0, 1, - 1 , 2, -2, 3, -3, ... Ngu v^o mdt thdi

digm nao do da thu:c nky nhan gia t r i 0, t h i chdp nhan." R6 rang, neu phudng trinh p{x) = 0 c6 nghiem nguyen t h i d^n mot luc nao do may Afj se t i m dudc va chap nhan t i i vao {p{x)). Trong trudng hdp khi phUdng trinh p{x) = 0 khong c6 nghiem

nguyen, may M i se hoat dong lign tuẹ Doi vdi da thufc gom nhieu bien, b^ng each tUdng t u t a cung eo the xay dung dUdc mot may

Turing M de chap nhan ngon ngfl D. Trong trudng hdp nay, may

M tien hanh viec t i n h toan gia t r i cua da thiic k h i t a t ca cac bien

lan lUdt dUdc gan nhiing gia t r i nguyen.

N h u vay, ca hai may Mi va M deu khong la may quyet dinh. Trong trudng hdp mot bien, ta c6 the cai tien may Mi dg t h u dUQc

may quyet dinh đi vdi ngon ngii D i , bdi v i doi vdi da thile mdt bien ta dg dang xac dinh dudc pham v i bao ham cac nghiem cua no va vi vay c6 the gidi han viec t i m kiem nghiem trong pham v i aỵ That vay, c6 thg chiJng m i n h r^ng moi nghiem xo cua phudng t r i n h c i x " + C 2 x " - ^ + ... + c„x + Cn+i = 0, ci 7^ 0, deu n^m trong pham vi sau day (Bai tap 1.8):

-{n + l ) ' ^ <xo<{n + l ) ^ ,

trong do c^ax la gia t r i Idn nhat trong cac gia t r i tuyet doi \ci\i

1 < i < 7 1 + 1 . Va k h i may t i m kiem nghiem, neu khong mot nghiem

nao dude t i m thay trong pham v i nay, t h i may bdc bọ Tuy nhign,

trong trudng hdp nhieu bien su thg lai khong n h u vaỵ Matijasevich chiing m i n h rang, doi vdi phUdng t r i n h diophang nhieu bien, ^Ot pham v i tUdng tU cho cac nghiem la khong the xac dinh dUdẹ

Viec chiing m i n h t i n h khong giai dUdc doi vdi bai toan t h i i mudi cua Hilbert kha phiic tap nen khong thg trinh bay dudc d daỵ Trong Phan tigp theo, dg lam t h i du, ta se gidi thieu vki bai toan dude chiing m i n h tUdng doi đn gian la khong giai dUdc.

84 May Turing va Thuat toan

1.4 Mot vai bai toan khong giai dxxac t

Nhu tren da neu, may Turing la mot mo hinh tinh toan tong quat vk

duoc lua chon lam khai mien thuat toan nhu trong Dinh nghia 1.3.1.

Vdi khai niem nay, ta khong nhiJng chi ra kha nhieu hhi toan giai

dudc ma con dg dang phan Idp cac bai toan theo do phiic tap cua

cdc thuat toan giai chiing. Mat khac, khai niem chinh xac vg thuat toan dac biet quan trong theo nghia, nhd do ta c6 t h i chiing minh mot bai toan nao do la khong giai duoc.

Viec giai duoc b^ng thuat toan la kha quen thuoc b5i v i khoa hoc tinh toan cho ta rat nhieu thuat toan giai cac bai toan thu5ng gap. Vdi muc tieu khao sat nhiJng han che cua viec giai duoc bang thuat toan, tiic khao sat tinh khong giai duoc d6i vdi cac bai toan, trong phan nay ta chiing minh mot trong nhiing dinh ly quan trong nhat mang tinh triet ly cua ly thuyet tinh toan: Ton tai nhUng bai todn cy, thi khong giai duoc bhng thuat todn. Kham pha nhiing bai toan khong giai duoc la, mot hien tucng bat ngd, nhung cung chi mot thdị Dinh ly ve cac bai toan khong giai duoc cho ta thay rang, ve nguyen tac, kha nang cua tinh toan cung c6 gidi han. Giong nhu bat cii cong cu nao, tinh toan ciing c6 nhiing kha nang va nhiing

han che nhat dinh, can dUdc danh gia dung dan d i c6 thg khai thac

mot each hieu quạ

Nghien ciiu tinh khong giai duoc bang thuat toan c6 mot y nghia (adsbygoogle = window.adsbygoogle || []).push({});

dang kg. Trudc het can thay rang, vigc chiing to mot bai toan la khong giai duoc khong phai ching ich loi gi cho viec giai bai toan. Ta can phai nghien ciiu hien tudng nay vi hai ly dọ Thxị nhat, that la hiiu ich khi ta biet duqc bai toan khong giai duoc bang thuat toan, bdi vi khi ay ta thuc su higu rang bai toan phai duoc đn gian hoa hoac thay d6i t h i mdi c6 thg giai duoc b^ng thuat toan. Ly do thxị hai mang net van hoạ K h i ta xijf ly cac bai toan cho dii da biet

la giai duoc, nhiing higu biet ve khong giai dUdc c6 thg khoi day

t r i tudng tuong cua ta va giiip ta tien gan vien canh quan trong vg ^

mOt tinh toan hiiu hicu hon.

14 Mot vdi bdi todn khong gidj dicac

85

ha sa

K h i khao sat cdc bai toan khong giai duoc thudng nay sinh mOt vai cau hoi dai t h i nhu sau: Nhiing bai toan loai nao la khong giai dudc bang thuat toan? Phai chang chung kha huygn bi va chi cu

ngu trong tam t r i ciia cac nha ly thuyet? Ket qua khao sat cho ta

th^y rang, khong phai nhu vay! Ngay ca mot bai toan thong thudng

ciing CO thg la khong giai dupẹ

Sau day, nham nang cao nhan thufc ve cdc kigu bai toan khong giai duoc va lam quen vdi cac ky thuat chiing minh tinh khong giai

Một phần của tài liệu Lý thuyết độ phức tạp tính toán (Trang 47)