當前位置:首頁 » 操作系統 » 部演算法

部演算法

發布時間: 2023-05-23 00:06:33

⑴ 中興深圳無線研究部演算法工程師怎麼樣啊

一、破解思路 有網電視加密的原理是這樣的:電視台把接改來的電視信號先輸入數字加密設備,把電視信號通過演算法加密後向外輸出終端的解密設備(機頂盒子)解密後輸出普通的射頻信號,再送到我們的終端接收設備,由電視放出畫面。因電視只能是接收普通的射頻信號(模擬信號),所以只能解密後再輸入電視,由電視放出畫面。有網電視加密法有多種,這里的是使用「加擾法」。在加密到解密這段網路,要想非法接入偷接電視信號,成功的可能性幾乎是10000000分之一。但經解密器(機頂盒)解密後的信號任何可以常接收電視信號的電視機都能播放(即通用性,也可說是共用性),這就是破解的切入點(破解也需要切入點)。既然這樣,但為什麼一個機頂盒只能接一台電視機用呢?我也試驗過,當通簡單的方法接上兩台電視機的時候,什麼畫面也沒有了(因機頂盒有智能的識別功能)。問題就在這里,也是我要教會大家的精要所在 至於如何利用這個「切入點」進行我們的「小人」行為呢?我們通過什麼手段來欺騙機頂盒,讓他以為是一台電視機呢?(就如破解的時候,我們有時也要採用欺騙的方法來進行破解)。我將會在下一點「破解原理」中向大家說明 二、破解原理: 裝在我們家裡的那個盒子的工作原理:經加密的信號經輸入端子輸入,由其內部有關電路解除干擾信號(加擾法加密),再經輸出端子輸出正常的信號。其解密電路是否工作要有一個外部條件,就是電視的高頻頭反饋回來的信號。如果沒有這個信號反饋回機頂盒,則其解擾電路不工作,照樣輸出未解密的信號,因而不能正常收看。其解密的頻段分做若干段解密,如電視正在接收頻道,則電視的高頻頭就反饋頻道的諧振頻率給機頂盒,機頂盒就能輸出1——頻道的正常信號,如此類推 因此可用以下兩種方法進行破解: 1、把機頂盒放在其中一台電視機(下稱電視1)高頻頭附近,讓其可以正常收看,再用分支器從輸出端分支出信號到另外的電視機。這樣的做法的一個缺點:就是另外的電視機只能接收電視1接收的頻道附近的個頻道 、用非與門電路或電路製作一個開放式多諧振動器,其諧振頻率只要能履蓋有網電視的整個頻段即可。(製作成本約元左右)把這個諧振動器放在機頂盒的旁邊。讓機頂盒能接收到振動器發出的信號,再用分支器從機頂盒的輸出端分支出多台電視機,這樣,所有電視機就能接收所有頻道的信號了。(下次發圖) 、用高頻三極體如01做一個高頻發射電路,利用射頻輸出再次發射,只要小小發射功率,讓機頂盒能接收得到即可。或用同軸視頻網分支接入輸入或輸出端,的除去外層屏蔽網,只留中間的網長約1米,把這網繞在機頂盒。讓泄漏出來的信號感應給機頂盒接收 破解電視機頂盒,可接多台電視 遊走在灰色地帶,大打擦邊球的數字電視機頂盒共享器 隨著有網電視數字化發展進程的加快,數字電視這一新興的電視觀看及傳輸方式已經開始被更多的普通市民所熟悉,數字電視以接近於DVD的畫質和立體聲甚至.1聲道伴音這兩大最明顯的特點受到了不少有網電視用戶的關注,同時更多可選擇的電視台、點播節目也為豐富市民的業餘生活增添了不少色彩,不過在數字電視剛剛起步的萌芽階段,還有多的不足和缺點需要改進 按照國際慣例,數字電視機頂盒(SET-TOP-BOX,簡稱STB)分為數字地面STB、數字衛星STB、美國、歐洲和亞洲等國視為數字電視發展的機頂策略 DRM採用的是許可證管理策略,由數字電視信號運營商對節目源進行加密,在用戶通過機頂盒發出節目接收請求之後系統會自動檢查是否經過許可,而認證的方式也同樣是通過IC等帶有帳號、密碼等信息的進行的,不過DRM管理的規相當繁多:Windows Media的DRM、開放移動聯盟OMA推出的DRM 1.0.0規、UT-DRM、NDS、SecureMedia、WideVine、BesDRM等,規的不統一使其並不被大多數有限數字電視運營商所接受 由於數字電視信號必須通過機頂盒才能接收,同時採用了用戶身份認證的防盜用方式,所以有網數字電視節目只有一部電視機搭配一部機頂盒才能夠正常觀看,在目前大多數市民家中同時擁有一部以上電視的這一情況下,如果希望每部電視機都能夠收看數字電視的話必須購買數量相對應的機頂盒,這在一定程度上家中了消者觀看數字電視的成本,於是有一些廠家開始在有網數字電視共享上開始下功夫,紛紛推出名為數字電視機頂盒共享器的產品,以此實現對數字電視信號的共享 目前的數字電視機頂盒共享器共有有網和無網兩種,有網的共享器只需要將共享器與機頂盒接駁,並且通過音視頻信號網將它與其它電視的AV介面接駁就可以使用,而無網的共享器則包括與機頂盒互聯的信號發射器和與電視互聯的信號接收器 機頂盒共享器的功能介紹上將這種產品的優點共分為多顯示終端信號共享和節約用兩大類,對於大多數購買這種產品的消者來說,可能最能夠吸引他們的是通過共享器可以節約機頂盒的購買用和電視信息點播,有了省作為最大賣點之後,這種產品自然更受關注 雖然這種產品具有一定的實用意義,但是我們仔細看看就會發現這種所謂的共享器實際上就是一個音視頻信號分配器,與機頂盒連接的介麵包括了復合視頻輸入和模擬立體聲音頻輸入這兩個介面,而用於輸出信號的則包括了復合視頻信號輸出和.毫米信號輸出介面,並沒有能夠直接發送及接受智能用戶信息的介面,這也就意味著即使是通過這樣的共享器接駁其它電視之後也並不能獨立選台,換句話說,如果客廳中的電視在通過機頂盒播放中央一套的電視節目,那麼其它房間的另一台電視也同樣只能夠播放中央一套的電視節目 無網機頂盒共享其與歐洲的DVB標准、北美國家的ATSC標准及日本的ISDB標准三種標准中,對於CA部分都作了簡單的規定,並提出了三種不同的加擾方式。歐洲DVB組織提出了一種稱之為通用加擾演算法(Common Scrambling Algorithm)的加擾方式,由DVB組織的四家成員公司授權,ATSC組織使用了通用的三迭DES演算法,而日本使用了松下公司提出的一種加擾演算法。通用加擾演算法是DVB標准組織推薦的對於TS流的標准加擾演算法。目前,在歐洲的數字廣播節目中普遍採用了這個演算法。我國目前商業化的CA中,TS節目的加擾也基本上是採用的這個演算法。如果從破解的角度,攻破這個演算法的意義要遠遠大於破解智能和攻破CA系統本身 、對控制字的加密演算法一般採用RSA以及DES演算法,各家CA廠商各不相同。值得一提的是DVB里有一個規定,提到的同密技術要求每個CA系統可以使用不同的加密系統加密各自的相關信息,但對節目內容的加擾必須採用同一個加擾演算法和加擾控制字,可以方便多級運營商的管理,為多級運營商選擇條件接收系統提供了靈活性。這就為黑客攻破智能創造了條件 、對加密體制,不同廠家的系統差別很大,其技術大體有兩種: 一種是以愛迪德系統為代表的密碼循環體制,另一種是以NDS系統為代表的利用專有演算法來進行保護,由於牽涉到系統安全性,廠家一般不會公開。因此從破解角度,對系統的破解是難度也是比較大的 第一章:CA智能的破解與反制 第一節 對於CA智能的破解分為兩種, 1、從硬體破解的角度,完全地仿照正版來定製IC; 、從破解的方向,將正版的程序讀出,最後將程序寫入IC中,就變成與正無差別的D了 仿製正版,可以將IC的觸點剝離下來,再將保護的塑料蝕掉,暴露出元件和內部電路連接,就可以繪製成電原理圖,最後交給能訂制生產的IC的廠家生產。這些仿製還有一個冠冕堂皇的名稱叫「反向工程」。國內在深圳和廈門等地都有能生產定製IC的廠家,在利益的驅使下,他們往往不會過問敏感問題 IC中的元件如果是通用元件,通常可以通過IC的功能原理的分析來確定,雖然困難,但總是可以最終確定。例如深圳目前直接使用流在市面上的ROM10與ROM11來製成D,ROM10與ROM11實際上是XX系統正版的「基礎」,這些具有與正版相同的硬體基礎,至於怎麼流落到社會上的不得而知,但有一個事實就是大家應該都收到過安裝衛星電視的簡訊,這是個可以想像的到的異常龐大的地下產業! 繼續:IC中的元件如果是專用元件,確定元件的事情就變得極其困難和十分渺茫了。那麼這個時候硬體仿製的路走不通了,那麼看看模擬的路能不能走得通 再看模擬的路能不能走得通前,首先闡明模擬的路能不能走得通有不同的判斷標准 如果僅以在一段時段中,模擬的D與正版都具有相同的條件收視功能來判斷,那麼無疑,從D的實踐來看,模擬已經成功了 但如果以任何時段中,模擬的D與正版都具有相同的功能,特別是對抗反制的功能來判斷,那麼我要說,同樣無疑,模擬是不可能成功的 因此我們僅承認這種事實就夠了:自動對抗新的反制,使D與正版一樣免除後顧之憂,肯定是D研究的終極目標。但是即便達不到這個目標,只要能保證一段時間的模擬成功,CA破解的商業介值就依然存在! 補充說明反制:由於D的成功,尤其是帶AU(自動換Key0Key1)的D程序的廣泛擴散,正版服務商感到了巨大的壓力,逐步開始採用種種反制手段,讓D版的AU實效 我們先研究一下這個反制是個什麼東東:學習和搞嵌入式控制器開發的人都用過模擬器,如「偉福」系列的MCS-1的模擬器等。大家一定知道硬體模擬與模擬存在一個本質區別,即IO功能的不同。一條取埠引腳值的指令就足以區分是硬體模擬還是模擬了。硬體模擬可以真實地取到引腳上的實際輸入,而模擬得到的只能是不會變化的內存模擬值
利用這個原理實現的反製程序分為兩部分,前面的部分通過IO埠的訪問,區別出是真的硬體存在,還是模擬;後半部分對非法的模擬簡單地返回主程序,不能解開Key0Key1;對正版,則修改Key0Key1,使之正確,然後返回主程序並保存key,保存的Key0Key1用於ECM的解碼 從歷次搜集的反制EMM中的方法中,可以將反制歸納為兩種,一種是從硬體或上區別D與正版,從而產生條件分支指令,使D模擬的程序失效;另一種是調用D中不可能有的,只有正版硬體才具備的MAP子程序,使D無法執行正確的程序 先介紹前一種方法: 使用硬體埠區別正版與模擬的反制方法,由於具有特殊性能的埠數的限制,因此不可能有多種變化,一旦Hacker知道了反制的EMM結構與原理,很容易就可以避開埠判斷的指令,直接轉到修改Key0Key1部分。這雖然並不是程序指令的直接模擬,只能算是功能模擬,卻可以使已知反制失效 另外你也許會提出一些其他辦法,如目前的一些Nagra系統在下行的EMM命令中加入了甄別真偽和「殺」指令,對於「正改」,毫不留情地清除中程序並且讓它成為廢 我可以說,為了對抗「殺」,這類「正改」的程序如果採用Block技術,可以抵抗多數殺指令,同樣能夠使這類「正改」得以安全使用

⑵ 中興深圳無線研究部演算法工程師怎麼樣

中興新地是中興旗下的通信器材公司,從事通訊配套產品開發、生產和銷售,為中興提供通信產品吧.!.公司待遇還算可以的,生產工程師主要就是做產品檢測,技術改良和質量檢查方面的工作。

⑶ 從感測器到演算法原理,機器人視覺避障原來是這樣的

避障是指移動機器人在行走過程中,通過感測器感知到在其規劃路線上存在靜態或動態障礙物時,按照 一定的演算法實時更新路徑,繞過障礙物,最後達到目標點。


避障常用哪些感測器?

不管是要進行導航規劃還是避障,感知周邊環境信息是第一步。就避障來說,移動機器人需要通過感測器 實時獲取自身周圍障礙物信息,包括尺寸、形狀和位置等信息。避障使用的感測器多種多樣,各有不同的原理和特點,目前常見的主要有視覺感測器、激光感測器、紅外感測器、超聲波感測器等。下面我簡單介紹一下這幾種感測器的基本工作原理。

超聲波

超聲波感測器的基本原理是測量超聲波的飛行時間,通過d=vt/2測量距離,其中d是距離,v是聲速,t是 飛行時間。由於超聲波在空氣中的速度與溫濕度有關,在比較精確的測量中,需把溫濕度的變化和其它因素考慮進去。


上面這個圖就是超聲波感測器信號的一個示意。通過壓電或靜電變送器產生一個頻率在幾十kHz的超聲波脈沖組成波包,系統檢測高於某閾值的反向聲波,檢測到後使用測量到的飛行時間計算距離。超聲波感測器一般作用距離較短,普通的有效探測距離都在幾米,但是會有一個幾十毫米左右的最小探測盲區。由於超聲感測器的成本低、實現方法簡單、技術成熟,是移動機器人中常用的感測器。超聲波感測器也有一些缺點,首先看下面這個圖。


因為聲音是錐形傳播的,所以我們實際測到的距離並不是 一個點,而是某個錐形角度范圍內最近物體的距離。

另外,超聲波的測量周期較長,比如3米左右的物體,聲波傳輸這么遠的距離需要約20ms的時間。再者,不同材料對聲波的反射或者吸引是不相同的,還有多個超聲感測器之間有可能會互相干擾,這都是實際應用的過程中需要考慮的。

紅外

一般的紅外測距都是採用三角測距的原理。紅外發射器按照一定角度發射紅外光束,遇到物體之後,光會反向回來,檢測到反射光之後,通過結構上的幾何三角關系,就可以計算出物體距離D。

當D的距離足夠近的時候,上圖中L值會相當大,如果超過CCD的探測范圍,這時,雖然物體很近,但是感測器反而看不到了。當物體距離D很大時,L值就會很小,測量量精度會變差。因此,常見的紅外感測器 測量距離都比較近,小於超聲波,同時遠距離測量也有最小距離的限制。另外,對於透明的或者近似黑體的物體,紅外感測器是無法檢測距離的。但相對於超聲來說,紅外感測器具有更高的帶寬。

激光

常見的激光雷達是基於飛行時間的(ToF,time of flight),通過測量激光的飛行時間來進行測距d=ct/2,類似於前面提到的超聲測距公式,其中d是距離,c是光速,t是從發射到接收的時間間隔。激光雷達包括發射器和接收器 ,發射器用激光照射目標,接收器接收反向回的光波。機械式的激光雷達包括一個帶有鏡子的機械機構,鏡子的旋轉使得光束可以覆蓋 一個平面,這樣我們就可以測量到一個平面上的距離信息。

對飛行時間的測量也有不同的方法,比如使用脈沖激光,然後類似前面講的超聲方案,直接測量佔用的時間,但因為光速遠高於聲速,需要非常高精度的時間測量元件,所以非常昂貴;另一種發射調頻後的連續激光波,通過測量接收到的反射波之間的差頻來測量時間。


圖一


圖二

比較簡單的方案是測量反射光的相移,感測器以已知的頻率發射一定幅度的調制光,並測量發射和反向信號之間的相移,如上圖一。調制信號的波長為lamda=c/f,其中c是光速,f是調制頻率,測量到發射和反射光束之間的相移差theta之後,距離可由lamda*theta/4pi計算得到,如上圖二。

激光雷達的測量距離可以達到幾十米甚至上百米,角度解析度高,通常可以達到零點幾度,測距的精度也高。但測量距離的置信度會反比於接收信號幅度的平方,因此,黑體或者遠距離的物體距離測量不會像光亮的、近距離的物體那麼好的估計。並且,對於透明材料,比如玻璃,激光雷達就無能為力了。還有,由於結構的復雜、器件成本高,激光雷達的成本也很高。

一些低端的激光雷達會採用三角測距的方案進行測距。但這時它們的量程會受到限制,一般幾米以內,並且精度相對低一些,但用於室內低速環境的SLAM或者在室外環境只用於避障的話,效果還是不錯的。

視覺

常用的計算機視覺方案也有很多種, 比如雙目視覺,基於TOF的深度相機,基於結構光的深度相機等。深度相機可以同時獲得RGB圖和深度圖,不管是基於TOF還是結構光,在室外強光環境下效果都並不太理想,因為它們都是需要主動發光的。

像基於結構光的深度相機,發射出的光會生成相對隨機但又固定的斑點圖樣,這些光斑打在物體上後,因為與攝像頭距離不同,被攝像頭捕捉到的位置也不相同,之後先計算拍到的圖的斑點與標定的標准圖案在不同位置的偏移,利用攝像頭位置、感測器大小等參數就可以計算出物體與攝像頭的距離。而我們目前的E巡機器人主要是工作在室外環境,主動光源會受到太陽光等條件的很大影響,所以雙目視覺這種被動視覺方案更適合,因此我們採用的視覺方案是基於雙目視覺的。

雙目視覺的測距本質上也是三角測距法,由於兩個攝像頭的位置不同,就像我們人的兩隻眼睛一樣,看到的物體不一樣。兩個攝像頭看到的同一個點P,在成像的時候會有不同的像素位置,此時通過三角測距就可以測出這個點的距離。與結構光方法不同的是,結構光計算的點是主動發出的、已知確定的,而雙目演算法計算的點一般是利用演算法抓取到的圖像特徵,如SIFT或SURF特徵等,這樣通過特徵計算出來的是稀疏圖。

要做良好的避障,稀疏圖還是不太夠的,我們需要獲得的是稠密的點雲圖,整個場景的深度信息。稠密匹配的演算法大致可以分為兩類,局部演算法和全局演算法。局部演算法使用像素局部的信息來計算其深度,而全局演算法採用圖像中的所有信息進行計算。一般來說,局部演算法的速度更快,但全局演算法的精度更高。

這兩類各有很多種不同方式的具體演算法實現。能過它們的輸出我們可以估算出整個場景中的深度信息,這個深度信息可以幫助我們尋找地圖場景中的可行走區域以及障礙物。整個的輸出類似於激光雷達輸出的3D點雲圖,但是相比來講得到信息會更豐富,視覺同激光相比優點是價格低很多,缺點也比較明顯,測量精度要差 一些,對計算能力的要求也高很多。當然,這個精度差是相對的,在實用的過程中是完全足夠的,並且我們目前的演算法在我們的平台NVIDIA TK1和TX1上是可以做到實時運行。


KITTI採集的圖


實際輸出的深度圖,不同的顏色代表不同的距離

在實際應用的過程中,我們從攝像頭讀取到的是連續的視頻幀流,我們還可以通過這些幀來估計場景中 目標物體的運動,給它們建立運動模型,估計和預測它們的運動方向、運動速度,這對我們實際行走、避障規劃是很有用的。

以上幾種是最常見的幾種感測器 ,各有其優點和缺點,在真正實際應用的過程中,一般是綜合配置使用多種不同的感測器 ,以最大化保證在各種不同的應用和環境條件下,機器人都能正確感知到障礙物信息。我們公司的E巡機器人的避障方案就是以雙目視覺為主,再輔助以多種其他感測器,保證機器人周邊360度空間立體范圍內的障礙物都能被有效偵測到,保證機器人行走的安全性。

避障常用演算法原理

在講避障演算法之前,我們假定機器人已經有了一個導航規劃演算法對自己的運動進行規劃,並按照規劃的路徑行走。避障演算法的任務就是在機器人執行正常行走任務的時候,由於感測器的輸入感知到了障礙物的存在,實時地更新目標軌跡,繞過障礙物。

Bug演算法知乎用戶無方表示

Bug演算法應該是最簡單的一種避障演算法了,它的基本思想是在發現障礙後,圍著檢測到的障礙物輪廓行走,從而繞開它。Bug演算法目前有很多變種, 比如Bug1演算法,機器人首先完全地圍繞物體,然後從距目標最短距離的點離開。Bug1演算法的效率很低,但可以保證機器人達到目標。

Bug1演算法示例

改進後的Bug2演算法中,機器人開始時會跟蹤物體的輪廓,但不會完全圍繞物體一圈,當機器人可以直接移動至目標時,就可以直接從障礙分離,這樣可以達到比較短的機器人行走總路徑。


Bug2演算法示例

除此之外,Bug演算法還有很多其他的變種, 比如正切Bug演算法等等。在許多簡單的場景中,Bug演算法是實現起來比較容易和方便的,但是它們並沒有考慮到機器人的動力學等限制,因此在更復雜的實際環境中就不是那麼可靠好用了。

勢場法(PFM)

實際上,勢場法不僅僅可以用來避障,還可以用來進行路徑的規劃。勢場法把機器人處理在勢場下的 一個點,隨著勢場而移動,目標表現為低谷值,即對機器人的吸引力,而障礙物扮演的勢場中的一個高峰,即斥力,所有這些力迭加於機器人身上,平滑地引導機器人走向目標,同時避免碰撞已知的障礙物。當機器人移動過程中檢測新的障礙物,則需要更新勢場並重新規劃。

上面這個圖是勢場比較典型的示例圖,最上的圖a左上角是出發點,右下角是目標點,中間三個方塊是障礙物。中間的圖b就是等勢點陣圖,圖中的每條連續的線就代表了一個等勢位的一條線,然後虛線表示的在整個勢場裡面所規劃出來的一條路徑,我們的機器人是沿著勢場所指向的那個方向一直行走,可以看見它會繞過這個比較高的障礙物。

最下面的圖,即我們整個目標的吸引力還有我們所有障礙物產生的斥力最終形成的一個勢場效果圖,可以看到機器人從左上角的出發點出發,一路沿著勢場下降的方向達到最終的目標點,而每個障礙物勢場表現出在很高的平台,所以,它規劃出來的路徑是不會從這個障礙物上面走的。

一種擴展的方法在基本的勢場上附加了了另外兩個勢場:轉運勢場和任務勢場。它們額外考慮了由於機器人本身運動方向、運動速度等狀態和障礙物之間的相互影響。

轉動勢場考慮了障礙與機器人的相對方位,當機器人朝著障礙物行走時,增加斥力, 而當平行於物體行走時,因為很明顯並不會撞到障礙物,則減小斥力。任務勢場則排除了那些根據當前機器人速度不會對近期勢能造成影響的障礙,因此允許規劃出 一條更為平滑的軌跡。

另外還有諧波勢場法等其他改進方法。勢場法在理論上有諸多局限性, 比如局部最小點問題,或者震盪性的問題,但實際應用過程中效果還是不錯的,實現起來也比較容易。

向量場直方圖(VFH)

它執行過程中針對移動機器人當前周邊環境創建了一個基於極坐標表示的局部地圖,這個局部使用柵格圖的表示方法,會被最近的一些感測器數據所更新。VFH演算法產生的極坐標直方圖如圖所示:


圖中x軸是以機器人為中心感知到的障礙物的角度,y軸表示在該方向存在障礙物的概率大小p。實際應用的過程中會根據這個直方圖首先辨識出允許機器人通過的足夠大的所有空隙,然後對所有這些空隙計算其代價函數,最終選擇具有最低代價函數的通路通過。

代價函數受三個因素影響:目標方向、機器人當前方向、之前選擇的方向,最終生成的代價是這三個因素的加權值,通過調節不同的權重可以調整機器人的選擇偏好。VFH演算法也有其他的擴展和改進,比如在VFH+演算法中,就考慮了機器人運動學的限制。由於實際底層運動結構的不同,機器的實際運動能力是受限的,比如汽車結構,就不能隨心所欲地原地轉向等。VFH+演算法會考慮障礙物對機器人實際運動能力下軌跡的阻擋效應,屏蔽掉那些雖然沒有被障礙物占據但由於其阻擋實際無法達到的運動軌跡。我們的E巡機器人採用的是兩輪差動驅動的運動形式,運動非常靈活,實際應用較少受到這些因素的影響。

具體可以看 一下這個圖示:

類似這樣傳統的避障方法還有很多,除此之外,還有許多其他的智能避障技術,比如神經網路、模糊邏輯等。

神經網路方法對機器人從初始位置到目標位置的整個行走路徑進行訓練建模,應用的時候,神經網路的輸 入為之前機器人的位姿和速度以及感測器的輸 入,輸出期望的下一目標或運動方向。

模糊邏輯方法核心是模糊控制器,需要將專家的知識或操作人員的經驗寫成多條模糊邏輯語句,以此控制機器人的避障過程。比如這樣的模糊邏輯:第一條,若右前方較遠處檢測到障礙物,則稍向左轉;第 二條,若右前方較近處檢測到障礙物,則減速並向左轉更多角度等等。


⑷ 關於部署的一些經典演算法

根據部署方式的不同,節點部署演算法可分可為 確定性部署 和 隨機性部署 兩大類。確定性部署通常應用於環境友好或網路狀態較為穩定的應用中,感測器節點根據應用需求被置於經過計算和安排後所確定的位置上,通過將節點部署問題抽象為數學問題中的線性規劃問題,以網路性能或成本最優化為目標而提出解決方案[19];而隨機部署則較為適用於環境惡劣或人工無法到達的監控環境中,感測器節點通常以拋灑的方式隨機分布在目標區域內,節點位置往往是無法確定的。

確定性部署相比隨機部署來說具有較優的網路性能,但在規模較大且應用環境十分惡劣的實際部署應用中,確定飢凳顫性部署往往佔用了較高的人力成本和時間成本,而隨機部署則充分體現了其簡單和高效的優點,但同時,目標區域的覆蓋性能卻無法得到保證。

確定性部署被廣泛應用於水下感測器網路。針對水下三維環境的節點部署問題,Pori等人提出了從二維空間到三維空間部署策略的適應性演算法,文獻[20]圍繞著三維空間內的節點部署問題和規劃,提出了一系列有效構建三維網路拓撲結構的規則,通過轉換為二維問題來實現三維空間的節點部署問題。

在文獻[21]中,作者通過計算得出網格部署模型下,滿足基本網路覆蓋和連通所需要爛敗的活動節點數目,該演算法為節點部署提供了理論基礎,缺點是該方法只可適用於二維環境下的節點部署,無法滿足水下無線感測器網路這種具有三維特性的應用需求。

最大平均覆蓋演算法(MAX_AVG_COV) 與 最大最小覆蓋演算法(MAX_MIN_COV) [22]的提出是基於網格部署模型,通過貪心演算法策略進行節點部署,根據前驅節點的位置信息,決定下一個節點的布置位置。兩種演算法都旨在實現最佳網路覆蓋,最大平均覆蓋演算法(MAX_AVG_COV)的目標是最大化網格點的平均覆蓋效果,演算法考慮的是整體網路的覆蓋效果;而最大最小覆蓋演算法(MAX_MIN_COV)的目標是使得網路中覆蓋效果較差的網格點的覆蓋效果最大化,演算法從優先改善網路局部性能的角度出發,優先把感測器放在性能最差的點上。兩種演算法用於概率感知模型,節點對目標事件的感知概率隨著目標事件與節點間距離而變化,演算法未能充分考慮冗餘覆蓋的問題,使得網路性能未能達到最佳表現,同時,兩種演算法復雜都較高,為 O(n^4)。

在文獻[22]的基礎上,藺智挺等學者提出了一種整體-局部增進演算法[23],該演算法的特點是網路初始化後,演算法迭代運行,粗行並且每次運行都放置一個感測器到感測器區域中,直到目標區域內所有點都滿足覆蓋要求或是已配置的感測器數目已達到能配置的感測器的數目的極限時才停止。在每次迭代過程中,演算法尋找使網路整體有效覆蓋性能改變最大的點,剔除局部冗餘,提升了網路的整體性能。

當目標區域的環境十分惡劣時,比如戰爭區域、災害防禦地區、或是人類無法靠近的深海等,又或者在進行大規模的網路部署時,節點數目巨大,分布密集,這樣的條件下採用確定性部署方式進行網路部署是不實際的甚至不可行的,此時,唯一可採用的方式是利用飛機、大炮等工具將節點以隨機方式拋灑至目標區域,節點自組織成網路。

2001 年,作者 González-Banos 在文獻[24]中提出了一種基於藝術畫廊看守問題的隨機部署策略,根據密度公式將感測器節點的位置以極坐標的表示方式建立了一種 R-random 的部署模型,它使用 R 來表示感測器節點與匯聚基站的距離。由於藝術畫廊看守問題旨在解決有限邊界內的最少覆蓋問題,因此該文獻在容錯方面具有較好的性能,模擬實驗表明了 R-random部署節點提升了整個感測器網路的可靠性。由於網路都採用多跳方式傳輸數據,因此越靠近基站的節點其能耗則越大,所以需在基站周圍部署密度較大的節點以實現大量冗餘節點,替代那些因能耗殆盡而死亡的節點,以此提升網路生存期,並保障數據的連通性。

在文獻[25]中,作者提出了一種加權的節點隨機配置演算法,解決了在不同的區域內節點耗能速率不同的問題,也就是增加中繼節點密度,使更多的中繼節點分擔負載,這樣可以延長網路的平均生命周期。但改演算法將大量的中繼節點部署於距離基站較遠的位置,因此網路的連通性將會受到影響。

雖然採用隨機部署方式從某種程度上可提高部署效率並減少人工成本,但節點在網路中的相對坐標無法確定,因而這種部署方式無法保證目標區域具有良好的覆蓋效果。因此在確定性部署與隨機部署二者之間的選擇上,Zhang H [26]圍繞著確定性部署與隨機部署兩種方式究竟孰優孰劣的問題,分析並研究了實現一定程度的覆蓋度所需的節點數目,作者分別考查了泊松分布、均勻隨機分布、網格分布三種部署策略下維護網路 K 覆蓋所需的節點密度,文章最後指出,採用網格部署方式所需的節點密度小於另外兩種隨機部署策略所需的節點密度,證明了網格部署策略在同等條件下所需的節點數目要優於隨機部署策略。

在第二章,我們論述了部署方案的評價指標分別有良好的區域覆蓋能力、數據信息的可達性和較長的網路生存期。本節將針對部署演算法的這三個評價指標的優化對象的不同,從基於覆蓋的部署、基於網路連通的部署和基於能量有效性的部署三個類別來對現有演算法研究成果進行論述。

實現目標區域的覆蓋面積最大化是無線感測器網路部署問題的基本目標,因此區域覆蓋也已經成為了許多學者研究的出發點。針對目前 WSNs 應用中經濟成本和客觀環境的限制,在文獻[27]中,作者研究了隨機部署方式下有限無線感測器網路在目標區域內的覆蓋概率的最大值和最小值,並提出了線性網路環境下實現最大覆蓋概率的部署策略,但該部署策略僅適用於線性網路下對移動目標的監測環境。文獻[28]將區域覆蓋問題劃分為面積覆蓋、點覆蓋和柵欄覆蓋問題三大類並分別進行了闡述,面積覆蓋問題主要研究的是如何實現覆蓋面積最大化的問題;點覆蓋旨在考查實現網路中個別目標的覆蓋問題;柵欄覆蓋的研究目標是如何降
低未知入侵發生的概率,它涉及運動檢測。

文獻[29]使用網格方法來進行覆蓋率的計算,覆蓋率的估算通過目標區域中被節點所覆蓋的網格數與目標區域的網格總數量之比實現,目標區域所劃分的網格數目決定了覆蓋率的計算復雜度和結果的精確度,網格被劃分得越細,最後計算所得的覆蓋率其精確度越高,當然計算過程的開銷也更大,如圖 3.1 所示,同樣 6 個節點,網格劃分為 4×4 時所計算得出的覆蓋率為 100%,而劃分為 8×8 時所得的覆蓋率為 98%。

文獻[10]針對水下無線感測器網路的應用特性,提出一種節點可自我進行深度調節的演算法,節點通過深度調節機制調整其在水下的深度,以實現水下三維環境覆蓋率的最大化。初始階段被部署與水底環境的各個感測器節點通過各自的 ID 號選取簇首節點,簇首節點負責通知該簇內其他節點的調節深度,通過判斷節點間是否存在覆蓋重疊區域來對節點進行分組管理,存在覆蓋重疊的節點彼此分至不同的組號中,組號決定了節點將來被分配至水中的深度;待分組結束後,節點根據自己所在的組號移至水中相應的深度。該演算法假設節點在水下環境只具備垂直方向上的移動性,由於簇首擔當了對簇內其他成員節點轉發管理指令的職責,因而造成了簇首節點的能耗將大於成員節點,而簇首節點的選舉在只可在網路初始階段即節點處於水底二維環境下進行,若簇首節點的死亡將造成整個簇內成員節點的癱瘓。

良好的網路連通性能夠保證感測節點所採集到的信息准確及時的傳遞到使用終端。目前的研究文獻中,關於網路連通性的問題多是在實現覆蓋的前提下,通過增大節點通信半徑來實現的,例如當 RT是 RS的比例 r>1 時,只需實現良好的網路覆蓋,節點之間的連通性就能得到保障。然而,在節點通信能力相比感知能力較差的情況下,例如 RT=RS的情況下,網路的連通性能則無法得到保障。

文獻[15]圍繞著多連通問題展開研究,結合三維空間部署特性和對點陣模式的研究,提出了三維空間下實現 1-連通、2-連通 3-連通、4-連通的部署模型。文章所提的部署模型基於點陣模式,通過對相應模型中節點的通信半徑和感知半徑之間關系的研究,考查節點部署位置對網路中 K 連通效果的影響,該文所提出的最優模型實際是以 RT/RS比例為前提,在相應的RT/RS比例關系下,對應相應的模型,其最優性限制於節點通信半徑與感知半徑間的比例關系。

節點的分布密度和其在網路中所處的位置通常會直接影響到整體網路的生命周期,在節點分布過於密集的情況下,數據通信鏈路容易出現擁塞,使得網路傳輸負載失衡,從而造成通信負載瓶頸;另外,由於網路多採用多跳方式進行數據轉發,因此在節點均勻分布的情況下,靠近基站的節點的能量耗損速度相對較快,從而造成整個網路的能量瓶頸問題。

文獻[30]研究了具有最大生存期節點的部署問題。作者提出一種模型使得每個節點可以周期性地向基站發送數據報告。將每個周期數據採集所需的能耗作為衡量網路生命周期長短的標准,作者把問題轉化為通過平衡節點負載,最小化每個節點每輪的平均能耗。文章假設網路採用大量的感測節點來傳送探測數據,並且謹慎的選擇後繼節點使得數據傳送所需的總能量最小。一種有效的演算法是重新部署節點,從而形成最有效的拓撲結構。節點按其接近興趣點的程度,被按降序挑選出來,演算法在所有的感測器節點之間迭代,在每一步迭代中,感測器節點檢查自己是否能作為後繼節點傳輸數據。新地址的選擇是基於運輸流量,實際上,節點的重新部署是通過接近下游鄰節點的方式以降低能量消耗。只有在網路的覆蓋性不受影響的情況下,才允許重新部署感測器節點[31]。

在文獻[32]中,節點在「休眠」-「活躍」兩種狀態間轉換,在滿足應用需求的前提下,非必要節點進入休眠狀態,而其餘節點繼續保持活躍狀態繼續為網路服務;若因節點能量耗盡而退出網路,或應用需求的改變使得當前活躍節點數量無法滿足應用需求,休眠節點進入活動狀態。作者提出了一種可根據網路狀態對節點進行動態管理的協議,以實現應用所規定的覆蓋率和連通度目標,並對節點狀態進行管理。通過幾何關系的研究,考查覆蓋率和連通率間的關系,並結合 SPAN 協議為網路覆蓋率和連通率提供保障。

文獻[33]研究了節點密度對網路生命期的影響,作者從部署角度考慮,分析得出網路生命期的解析公式。並通過研究發現網路生命期並非隨節點數量的增加而成比例的增長,因此需要仔細篩選一定數量的節點來平衡網路的成本。考慮到當第一個節點死亡時網路就會中斷,作者將問題轉化為確定節點的數目並確定它們的位置來保持網路長時間運行。最後提出了兩步的解決方案。首先,固定感測器節點的數量,通過多變數非線性問題來解決網路的優化部署,使其達到最長的網路生命期;然後,減少感測器節點數量同時實現最長網路生命期。該文獻以固定感測器節點數目為前提,考察節點在網路中的位置,以形成生命期最長的網路拓撲結[31]。

靜態網路的運行模式通常是通過預先設定的路由線路傳遞數據,在進行節點部署工作之前,首先根據應用特性和節點在網路中所發揮的作用來確定其在網路中所處的位置,待部署方案確定之後,方案將獨立於網路的狀態並且貫穿於整個網路生命周期內。在目前的應用中,可將節點按功能大致地分為四類:感測節點、中繼節點、簇首節點和基站節點(匯聚節點)。

靜態部署演算法的缺點僅在網路初始階段進行節點位置預判斷,而節點的最佳位置的評估往往與網路的數據傳輸率、節點的感知能力、數據路徑距離大小等因素息息相關,靜態部署方式往往不考慮節點部署後的移動情況,因此無法根據應用需求對網路部署進行修補以改善網路性能。

文獻[34]對異構網路下的節點進行確定性部署分析,採用分簇下的節點部署方案,網路中存在兩種節點,一種是普通節點(Regular Sensor Nodes, R-SN),這類節點受通信、存儲能量和計算方面的限制。另一類是高端復雜節點(High-endsophisticated sensor nodes,H-SN),即簇頭節點,這類節點具有充分的資源。

在某些情況下網路狀態是變化的,例如當新節點的加入或某節點能量耗盡時,網路拓撲結構和網路生存期會相應地發生變化,而靜態部署策略並未能考慮到網路運行的這些動態變化,因此,為了適應網路的這種變化以實現網路性能的優化,需考慮採用動態方式。

在文獻[35]中,節點具有移動性,待部署於目標區域後,各節點利用各自的排斥力朝著與鄰節點相反的方向移動直至節點所受的來自各方向的排斥力達到平衡,因而這種方法減少了節點間的覆蓋重疊區域。然而這也必然增加了節點的能耗,同時,該文獻並未考慮網路的連通性。2005 年,作者 Howard 在文獻[35]的基礎上延伸了對網路連通率的研究[36],考查節點通信范圍內的鄰居節點數目並以節點間的吸引力來保證網路的連通性能。文獻[35,36]演算法的優點是執行起來簡單易行,無須對環境進行預處理,且演算法具有較強的魯棒性,適用於大規模的節點部署應用;缺點是網路過於依賴節點的移動性,節點的能耗將是一個十分嚴重的問題。

類似地,Zou 和 Chakrabarty 學者所提出的 VFA 演算法也是基於節點移動功能模塊的增加[37],然而不同於文獻[35]採用的一次性對節點進行移動,VFA 首先進行移動的模擬模擬,在確定移動後節點所處的位置後,節點一次性地移至該點,節點間移動距離的計算通過簇首節點完成,節點不單具有排斥力,還具有相互間的吸引力,在節點間距過密是通過排斥力擴大覆蓋面積;當節點間距過疏時通過吸引力減少覆蓋漏洞。該演算法簡單易用,可實現目標區域快速覆蓋,部署效率較高,演算法復雜度根據節點數目和目標區域面積變化,在劃分為 n×m個網格的給定區域內部署 k 各節點的演算法復雜度為 O(nmk)。

文獻[9]引入一種新的感測器網路結構,提出了基於表面隨機配置的水下無線感測器網路節點部署方法:在進行網路初始配置時,在水平面上隨機布置一定數量的節點,然後根據每個節點調整空間內的鄰居節點深度安排其自身深度,盡可能使水下三維空間得到充分的覆蓋。

⑸ 我想成為C++編程高手,該學什麼課程

1、《計算機組成原理》(熟悉)
2、《數據結構》(掌握)
3、《操作系統》(了解->熟悉)
4、《C語言程序設計》(掌握)
5、《編譯原理》(了解原理)
6、《匯編語言》(了解)
7、《計算機網路》(了解)
8、《軟體工程》(了解)
9、《關系資料庫》(熟悉)
10、《The C++Languege 》(掌握)
11、《面向對象設計》(掌握;結合C++學習)

window程序設計
深入淺出MFC

⑹ 《Compilers Principles》txt下載在線閱讀全文,求百度網盤雲資源

《Compilers Principles編譯原理》(Alfred V. Aho)電子書網盤下載免費在線閱讀

鏈接: https://pan..com/s/1uTWbyl7EEuUO1EgQpbxOkg

提取碼: by1p

書名:Compilers Principles編譯原理

作者:Alfred V. Aho

豆瓣評分:9.2

出版社:機械工業出版社

出版年份:2011-1

頁數:1009

內容簡介:

本書是編譯領域無可替代的經典著作,被廣大計算機專業人士譽為「龍書」。本書上一版自1986年出版以來,被世界各地的著名高等院校和研究機構(包括美國哥倫比亞大學、斯坦福大學、哈佛大學、普林斯頓大學、貝爾實驗室)作為本科生和研究生的編譯原理課程的教材。該書對我國高等計算機教育領域也產生了重大影響。 第2版對每一章都進行了全面的修訂,以反映自上一版出版20多年來軟體工程。程序設計語言和計算機體系結構方面的發展對編譯技術的影響。本書全面介紹了編譯器的設計,並強調編譯技術在軟體設計和開發中的廣泛應用。每章中都包含大量的習題和豐富的參考文獻。 本書適合作為高等院校計算機專業本科生和研究生的編譯原理與技術課程的教材,也可供廣大計算機技術人員參考。

作者簡介:

Alfred V.Aho,美國歌倫比亞大學教授,美國國家工程院院士,ACM和IEEE會士,曾獲得IEEE的馮·諾伊曼獎。著有多部演算法、數據結構、編譯器、資料庫系統及計算機科學基礎方面的著作。

Monica S.Lam,斯坦福大學計算機科學系教授,曾任Tensilica的首席科學家,也是Moka5的首任CEO。曾經主持SUIF項目,該項目產生了最流行的研究用編譯器之一。

Ravi Sethi,Avaya實驗室總裁,曾任貝爾實驗室高級副總裁和Lucent Technologies通信軟體的CTO。他曾在賓夕法尼亞州立大學,亞利桑那州立大學和普林斯頓大學任教,是ACM會士。

Jefirey D.Ullman斯坦福大學計算機科學系教授和Gradiance CEO。他的研究興趣包括資料庫理論、資料庫集成、數據挖掘和利用信息基礎設施教學等。他是美國國家工程學院院士、IEEE會士,獲得過ACM的Karlstrom傑出教育獎和Knuth獎。

熱點內容
oracle資料庫命令 發布:2025-04-22 19:47:55 瀏覽:563
python異或運算符 發布:2025-04-22 19:45:21 瀏覽:831
網路為什麼改不了伺服器 發布:2025-04-22 19:44:38 瀏覽:535
js壓縮base64 發布:2025-04-22 19:29:53 瀏覽:199
颶風加密工具 發布:2025-04-22 19:27:50 瀏覽:640
發票江蘇伺服器地址 發布:2025-04-22 19:21:29 瀏覽:34
編譯器路徑錯誤 發布:2025-04-22 18:53:30 瀏覽:38
王者榮耀伺服器地址被屏蔽 發布:2025-04-22 18:46:25 瀏覽:637
光遇的安卓和蘋果有什麼區別 發布:2025-04-22 18:46:23 瀏覽:422
b編譯執行 發布:2025-04-22 18:44:13 瀏覽:457