算法和算法復(fù)雜性_第1頁
算法和算法復(fù)雜性_第2頁
算法和算法復(fù)雜性_第3頁
算法和算法復(fù)雜性_第4頁
算法和算法復(fù)雜性_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

專題一:算法與復(fù)雜性基本概念1、可計算性與算法

算法是用于求解嚴格確定的計算問題,能準確和全面理解的一系列指令。

相應(yīng)于算法的數(shù)學實體就是英國數(shù)學家圖靈(Turing)1936年提出的圖靈機。圖靈機是一種抽象化的計算機,一種標準的計算模型。由三部分組成:無限長的帶、在帶上可以左右移動的讀寫頭和控制讀寫頭的控制器。

圖靈機中無限長的帶被分成一個個小空格,每格容納一個符號,對每一部圖靈機而言,帶上允許使用的符號是有限的;

圖靈機的輸入是由符號組成的有限序列,稱之為符號行,輸入符號行不能含空格符B。

讀寫頭每次左或右移動一格,并根據(jù)控制器的指令閱讀方格中的符號或抹去、重寫方格中的符號,其初始位置是輸入符號行最左邊符號。讀寫頭

帶(B表示空格)B011000B控制器

控制器有有限個狀態(tài),其中啟始狀態(tài)和終止狀態(tài)是兩個特殊的狀態(tài);狀態(tài)可依轉(zhuǎn)移函數(shù)δ進行,δ(q,a)=(p,b,v)意為:讀寫頭看到符號a時,處于狀態(tài)q的控制器命令其抹掉a,重寫b,并向v(左或右)移動一格,狀態(tài)改變?yōu)閜;控制器開始處于啟始狀態(tài),圖靈機當且僅當控制器處于終止狀態(tài)時停止,此時帶上符號行為輸出。

顯然,圖靈計算機計算的是從符號行到符號行的函數(shù),但并不太限制其應(yīng)用范圍,它的計算時間是指讀寫頭的移動次數(shù),計算占用的空間是指帶上被訪問過的方格數(shù),當輸入符號行是x時,圖靈機M的計算時間(或占用空間)記為TimeM(x)(或SpaceM(x))。

對意義明確的數(shù)學問題是否會不存在算法呢?圖靈精彩地論證了這樣的不可判定問題確實存在!

一個典型問題就是“停機問題”:給定一個帶有輸入的計算機程序,它會停機嗎?圖靈證明了,不存在一個算法能對該問題的一切例子給出正確的答案。

對于給定的問題,如果存在一種算法,可以對該問題的一切例子給出正確的答案,那麼這個問題就是可以計算的。

可重復(fù)性歸根于因果關(guān)系的確定性,這種確定性也是當今世界上存在的各式各樣計算機的共同特點。2、不確定型計算和算法復(fù)雜性(1)不確定型計算:

一個不確定型圖靈機M計算一函數(shù)f(x)時,必須假定M滿足以下條件:①若f(x)無定義,則對輸入x,M的任何計算道路都是(時間)無限長的;②若f(x)有定義,則對輸入x,M必有一有限長的道路;并且對任何有限長的計算道路,計算結(jié)果都是f(x)。

對這種圖靈機M,TimeM(x)表示輸入x時,M可能使用的最短時間,SpaceM(x)表示輸入x時,M可能使用的最少空間??梢栽诓淮_定型計算機上實施的計算稱為不確定型計算。(Non-deterministiccomputation)

&

算法復(fù)雜性采用該算法得到最終答案時所用的時間。與此有關(guān)的因素有:·計算機本身的速度·問題的規(guī)模——一般指問題的輸入長度(2)算法復(fù)雜性與算法分析為了衡量算法的效果所廣泛采用的標準是:注意:同一規(guī)模的例子用同一算法,同樣的輸入長度所需運算時間也可能相差很遠!

如,用單純形法解LP,即使約束條件的系數(shù)矩陣階數(shù)固定不變,所需的初等運算次數(shù)也會隨著參數(shù)A、b、C的不同而有較大差別。當取C≤0的極端情況,不需要進行旋轉(zhuǎn)運算,初始可行解就是最優(yōu)解;但若選取不利的參數(shù),達到最優(yōu)解所需要的迭代步驟可能就非常多。為了言避免擱由于里不同傘輸入叔而對耕算法摘行為蘿產(chǎn)生特巨大裹差別榜,考冒察所芒有規(guī)錫模為n的輸產(chǎn)入,對這文些算事法的涼不同槐行為到中的最壞衡行為定義辨為該盜算法關(guān)于滅輸入畢規(guī)模棗為n的復(fù)儉雜性。因此貞,算死法復(fù)佛雜性支是輸取入規(guī)決模的酒函數(shù)辯,比竄如10潑n3,2n,n毀lo抹g2n等。輸入拔規(guī)模融足夠姿大時竭,在顏復(fù)雜魂性函矮數(shù)中倡,增長騎速度較慢倡的項府(如nl姨og2n+斷5n),文終將餡被增押長速押度很姿快的忘項超干過(榨該例蘿中n>脾>1毀00魂0時,nl付og2n>場5n)。在算范法復(fù)續(xù)雜性塞研究塊中,配只有副當輸娛入規(guī)聰模很軟大時掙,研艱究其誼計算炒行為餓才有掩意義戲,因煎為:只有肚規(guī)模男大的番輸入車,才貝能確琴定算法愁可應(yīng)日用性即的限蚊制。比霸如復(fù)橡雜性固為10當n3與復(fù)僻雜性個為9n3的算議法間乓的差栽別可樹以忽薄略不沸計,毛因為早這可墳以通閥過技帥術(shù)革森新,擇使計柿算機棍速度京提高10倍而節(jié)得到櫻補償房誠。(c英)如果狹存在縫兩個煉常數(shù)c,揉c'>概0,使得答當n足夠刮大時拳有c'階g(阻n)獅≤f炊(n浙)≤薦cg栗(n),則記f(氣n)=Θg孤(n),用居記號f(聰n)誰≌g它(n)代替f(末n)=Θ(告g(卸n))謙,易見職≌是捷一個帽等價鵝關(guān)系巨,在土該等簽價關(guān)沖系下站,f(凡n)的等葵價類摸(即f(絕n)=Θ(乞g(敞n))的所斗有g(shù)(罩n)的集肝合)摟稱為f(巨n)的增撿長速朽度。定義設(shè)f(權(quán)n)提,g誰(n)是定占義在同正整儉數(shù)上客的正哥實值蛙函數(shù)(a立)如果瞎存在千一個淘常數(shù)c>抬0,使得蚊當n足夠赤大時,有f(稠n)樓≤c局g(犁n),則記f(狐n)=O(出g(何n));(b何)如果滔存在及一個齊常數(shù)c>齊0,使得脹當n足夠畜大時暈有f(井n)持≥c涂g(玻n),則記f(貧n)=Ω(遵g(箏n));求出菜一個浙算法竹所需淹時間隊比較外好上陸界的過幣程稱哨為算法理分析。算法妙分析加中常光常使需用初等剝運算——算術(shù)霸運算女、比聰較、釣轉(zhuǎn)移貝指令跳等的步衫數(shù)表示識一個闖算法臺在假或設(shè)的捷計算耐機上惜執(zhí)行么時所段需的任時間劫,即疫每做視一次集初等刺運算草,需杠要一足個單絡(luò)位時千間。炭而用算盲法的帥輸入血規(guī)模旨的函竭數(shù)度譽量該石算法桿的復(fù)俊雜性勺。為了嬌把輸遲入提雙供給垃計算布機求羞解,脂必須感用固山定字匪母表裕(0,1,或色打字問機上閱的符款號,黎或AS眨CI嫂I字母午)上牧的符狹號串回來表慣示它瞇們,覽這就疊是所捆謂的耕編碼筍。當把互算法足的輸任入表蠻示為歐符號坊串時以,那猜麼輸入闖規(guī)模暈就定旋義為救該符遺號串唉的長豆度(符稠號串磨中符侍號的臉數(shù)目惕),年稱為輸入錄長度。例1.以某一個固定數(shù)為基底的運算系統(tǒng)(如十進制或二進制)中,表示一個整數(shù)n的輸入規(guī)模:,因為logBn=logn/logB,B固定后logB是一個常數(shù)。例2.試分析LP的規(guī)模.

設(shè)A、b、c中的元素均為整數(shù),則LP的規(guī)模就是表示A、b、c所需符號的數(shù)目。因為可以把二進制(十進制)表示的矩陣中元素排成一行,用符號線適當?shù)馗糸_以表示矩陣的行或列,從而矩陣也可以表示為符號串。所以,m×n的LP問題規(guī)模為Θ(mn+)其中p是所有非零參數(shù)的乘積。(3)多效項式昨時間繳算法①決定已一個段算法島的實際莖效用,要縣看其已知妖的最真好時按間上叼界之港增長抹速度。目吩前計綁算機開科學京家們?nèi)杂幸粍觽€公仔認的絨看法杰:解一猴個計俯算問暑題的滅算法品,當顏其復(fù)洪雜性迫隨輸牙入規(guī)搏模的級增加世而呈多矮項式看地增柴長時,銷這個蔑算法獎才是爽實際狀有效膠的。②定義(多秧項式艱算法特)設(shè)有琴解某師種問扣題的網(wǎng)一個硬算法肉,對委于輸析入長冤度為L的具圾體問政題,愁其計算瞎步驟抬有一耳個上刮界P(L),困若P(y)是y的多洋項式喂,則稱歸此算春法是曠一個多項把式時泊間算斯法(Po角ly油no吐mi閥al筑-T便im驅(qū)e以Al鍛go據(jù)ri始th拴m踐fo搬r軌Li忽ne只ar堵P茫ro權(quán)gr犬a(chǎn)m絨mi蓮ng),每簡稱多項休式算疑法。

函數(shù)

近似值NNlognn3106n8

103310001014

1006641000,0001022

1000996610910302nnlognn!

102420993,628,800

1.27×1030

1.93×101310158

1.05×103017.89×10294×102567③特點:表1多項優(yōu)式和圣指數(shù)看函數(shù)廉增長遍情況抱表當輸炮入規(guī)棉模增柱大時乖,任湯意一罰個多善項式愛算法籮終將假變得泰比指蘆數(shù)算亂法更驅(qū)有效忽,見叨表1。在某種意義上,它很好地利用了技術(shù)發(fā)展的優(yōu)點。每次昨技術(shù)派突破楊,計屯算機罷速度上提高10倍,炒則多上項式萌算法蟲原來1小時載內(nèi)所熊能解漿算例馳子的難最大組規(guī)模細可增幸加C倍,先其中0<矮C<磚10著,而指夏數(shù)算培法所側(cè)能解嶼算的院例子筍規(guī)模睛只能傘增加唉一個期常數(shù).表2顯示掛了多頌項式壁算法餡利用諸技術(shù)賓發(fā)展碗的優(yōu)果點情尿況.表2多項樹式算恰法利紡用技氧術(shù)發(fā)炸展的升優(yōu)點俱情況廈表

函數(shù)

一天內(nèi)能解例子的規(guī)模計算機速度提高10倍后所能解例子的規(guī)模

nnlognn2n3108n4

10120.948×101110610410

10130.87×10123.16×1062.15×10418

2n10nnlognn!

40127914

43139515多項已式算問法有朽較好稻的封漠閉性——n個多訴項式偏算法桌可以健結(jié)合詠起來努解同粉一問論題的耕某些朽特殊騰情形懂;一個剪多項問式算念法也值可以番利用斯另一泥個多炭項式乎算法籌作為“子程鉗序”,并笛且最雕后的橋結(jié)果技仍然咬是一爐個多拾項式咬算法勢。(4)P類、NP類、NP完全啄類、①稱具共有多劉項式山時間寄算法萍的一錄類問茄題為P類問笨題,簡風稱P問題。如譯:有酸向圖仆中的至路、住最大瘋匹配浸問題免、最帽小支賄撐樹氣問題昨等;②NP類問五題也叫劃不確倉定性避問題料(或侮稱非販多項餃式確畜定問散題)某。如財果有恨一個囑用于污求解隙此問扮題的洞算法濫,對月于它經(jīng)可以濟找到第一個銹多項別式時曬間算街法來進驗證爸該算愈法所粗得的帶結(jié)果匪是否父為此獄問題罵的解唯,則溉稱此訴問題違屬于NP類問足題,以簡稱NP問題。③NP完備繁的(NP托-C民om造pl童et殺e)——如果侄一個席判定槐問題A是NP的,響而且須所有鎖其他NP問題巴都能挪多項貴式地提歸結(jié)傍到A,則獄稱A是NP完備位的。所謂多項背式地轉(zhuǎn)歸結(jié)全,指的乳是多項舟式地莫時間貌歸結(jié)糧,其定嫂義是拆:設(shè)A1、A2都是梢判定詢(即老是-否)封問題鉆,說A1在多赴項式巷時間池內(nèi)歸迎結(jié)為A2,當屯且僅批當A1有個奧多項匯式時膚間算貌法A1,并粒且A1是多芝次地或以單迎位費微用把A2的算型法A2用作趟子程項序的狀算法疑。則宮把A1叫做A1到A2的多南項式刺時間希歸結(jié)今。于是俊,若機問題A是NP完備桂的,攪若A有有主效算籃法,則每由個NP問題添也有摸有效框算法。命題:如底果A1多項歪式歸擁結(jié)到A2,而A2有多解項式勢算法倘,則A1也有給多項信式算火法壟。常用緞的證盆明一周個問裹題為P的方爸法一保、先設(shè)計諸出求怕解問壩題Π的一職個算碎法;然看后證慶明其正確溪性,即趁可利羅用該驕算法號精確驢求解粒問題Π;最汁后,還通過臟仔細宣分析豆算法柿的實蒼現(xiàn)過交程來卷估計梅它所與需的籍總的幕計算甘工作杰量,痕即其計算插復(fù)雜膽性,若劍所得合估計衣值可諸用問弓題規(guī)付模參駱數(shù)(卷如輸扭入長謝度、務(wù)問題賢維數(shù)鈴等)插的一雅個多綿項式演函數(shù)怨來界詠定,款則表纏明該術(shù)算法鍋為多尸項式燦時間積算法時,從忽而得居到問賀題P屬于Π。如帶背包劍問題瘡、排滅序問診題等采用蓬這種業(yè)方法最來證裳明問惡題屬零于P時,暖一般纏總要究充分利用檔所證精明問約題的炎具體潑特性頸,以戶便設(shè)慈計出逗適當爭的求解枝算法,使得丸它能堂夠構(gòu)贊成求積解原色問題畜的多浩項式餡時間算誓法。聲由于遲其對成于具主體問泰題的慚依賴床性與乳多變盟性,很難角指定件一個薦通用乖的證驢明步你驟或錄方法具。常用算的證斥明一辛個問盒題為P的方酒法二準、通過類某種腳轉(zhuǎn)換蓬或邏課輯推帝理來把進行住。常見旗的技呼巧有叼:證丑明可唱采用博一些遣簡單而的、崇可在蝕多項氧式時舊間內(nèi)鄉(xiāng)豐完成促的變睬換方隱法,猜將原賢問題餃轉(zhuǎn)換婦為另恒一已惡知的P類問黃題的國求解預(yù);說屢明可曬通過是遞推恭、分愚解等滋方法秀來對鑼原問梳題進辰行簡逼化,屢使簡疫化后擔的問允題很觀容易債在多盈項式揮時間切內(nèi)求疲解,駐而所固采用銀的分銜解等調(diào)策略紅也可臟在多坑項式慌時間盯內(nèi)完憲成;詞直接桑考察斃原問左題的理可行抽解所超可能告存在初的各華種情永形,樓當然商這些臭可能傲的不斯同情搭形不壇會超柱過問反題規(guī)園模的垃某個毛多項怪式,呈并說彈明在搬每種巡壽情況漿下均艙可在窄多項蒜式時爆間內(nèi)郵求解屋原問竄題CO裁OK定理為了彩證明貴一個渣問題娛是NP朽-完備漏的,洞我們穴必須蓄證明戰(zhàn)兩件更事:(a褲)該問習題是NP的(b辛)所有芽其他NP問題鐘多項廚式轉(zhuǎn)羅換到啊該問犬題實際腐上,芹部分(b辦)通常昂用證榨明某繳個已慈知的NP旁-完備蒼問題可被以多輔項式辭變換檢到要儲證的著問題濃完成疲的.不過架第一個NP糾-完備屯性證殘明必譯須包盤含部組分(b含)的直北接證捐明。為此

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論