亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 3.txt

?? 許多情況下
?? TXT
字號:
很多算法的每一個計算步驟都是固定的,而在下面我們要討論的概率算法,允許算法在執行的過程中隨機選擇下一個計算步驟。許多情況下,當算法在執行過程中面臨一個選擇時,隨機性選擇常比最優選擇省時。因此概率算法可在很大程度上降低算法的復雜度。
概率算法的一個基本特征是對所求解問題的同一實例用同一概率算法求解兩次可能得到完全不同的效果。這兩次求解問題所需的時間甚至所得到的結果可能會有相當大的差別。一般情況下,可將概率算法大致分為四類:數值概率算法,蒙特卡羅(Monte Carlo)算法,拉斯維加斯(Las Vegas)算法和舍伍德(Sherwood)算法。
數值概率算法常用于數值問題的求解。這類算法所得到的往往是近似解。而且近似解的精度隨計算時間的增加不斷提高。在許多情況下,要計算出問題的精確解是不可能或沒有必要的,因此用數值概率算法可得到相當滿意的解。
蒙特卡羅算法用于求問題的準確解。對于許多問題來說,近似解毫無意義。例如,一個判定問題其解為“是”或“否”,二者必居其一,不存在任何近似解答。又如,我們要求一個整數的因子時所給出的解答必須是準確的,一個整數的近似因子沒有任何意義。用蒙特卡羅算法能求得問題的一個解,但這個解未必是正確的。求得正確解的概率依賴于算法所用的時間。算法所用的時間越多,得到正確解的概率就越高。蒙特卡羅算法的主要缺點就在于此。一般情況下,無法有效判斷得到的解是否肯定正確。
拉斯維加斯算法不會得到不正確的解,一旦用拉斯維加斯算法找到一個解,那么這個解肯定是正確的。但是有時候用拉斯維加斯算法可能找不到解。與蒙特卡羅算法類似。拉斯維加斯算法得到正確解的概率隨著它用的計算時間的增加而提高。對于所求解問題的任一實例,用同一拉斯維加斯算法反復對該實例求解足夠多次,可使求解失效的概率任意小。
舍伍德算法總能求得問題的一個解,且所求得的解總是正確的。當一個確定性算法在最壞情況下的計算復雜性與其在平均情況下的計算復雜性有較大差別時,可以在這個確定算法中引入隨機性將它改造成一個舍伍德算法,消除或減少問題的好壞實例間的這種差別。舍伍德算法精髓不是避免算法的最壞情況行為,而是設法消除這種最壞行為與特定實例之間的關聯性。
本文簡要的介紹一下數值概率算法和舍伍德算法。
首先來談談隨機數。隨機數在概率算法設計中扮演著十分重要的角色。在現實計算機上無法產生真正的隨機數,因此在概率算法中使用的隨機數都是一定程度上隨機的,即偽隨機數。
產生隨機數最常用的方法是線性同余法。由線性同余法產生的隨機序列a1,a2,...,an滿足
a0=d
an=(ban-1+c)mod m n=1,2.......
其中,b>=0, c>=0, d>=m。d稱為該隨機序列的種子。
下面我們建立一個隨機數類RadomNumber,該類包含一個由用戶初始化的種子randSeed。給定種子之后,既可產生與之相應的隨機數序列。randseed是一個無符號長整型數,既可由用戶指定也可由系統時間自動產生。const unsigned long maxshort=65536L;
const unsigned long multiplier=1194211693L;
const unsigned long adder=12345L;
class RandomNumber
{     private:
      //當前種子
      unsigned long randseed;
  public:
      //構造函數,缺省值0表示由系統自動產生種子
      RandomNumber(unsigned long s=0);
      //產生0-n-1之間的隨機整數
      unsigned short Random(unsigned long n);
      //產生[0,1)之間的隨機實數
      double fRandom(void);
};
RandomNumber::RandomNumber(unsigned long s)
{     if(s==0)
      randseed=time(0);
  else
      randseed=s;
} 
unsigned short RandomNumber::Random(unsigned long n)
{     randseed=multiplier*randseed+adder;
  return (unsigned short)((randseed>>16)%n);
} 
double RandomNumber::fRandom(void)
{     return Random(maxshort)/double(maxshort);
} 
函數Random在每次計算時,用線性同余式計算新的種子。它的高16位的隨機性較好,將randseed右移16位得到一個0-65535之間的隨機整數然后再將此隨機整數映射到0-n-1范圍內。
對于函數fRandom,先用Random(maxshort)產生一個0-(maxshort-1之間的整型隨機序列),將每個整型隨機數除以maxshort,就得到[0,1)區間中的隨機實數。
下面來看看數值概率算法的兩個例子:
1.用隨機投點法計算π
設有一半徑為r的圓及其外切四邊形,如圖所示。向該正方形隨機投擲n個點。設落入圓內的點在正方形上均勻分布,因而所投入點落入圓內的概率為πr^2/4r^2,所以當n足夠大時,k與n之比就逼近這一概率,即π/4。由此可得使用隨機投點法計算π值的數值概率算法。具體實現時,只需要在第一次象限計算即可。

double Darts(int n)
{     static RandomNumber dart;
  int k=0;
  for(int i=1;i<=n;i++){
      double x=dart.fRandom();
      double y=dart.fRandom();
      if((x*x+y*y)<1)
        k++;
  }
  return 4*k/double(n);
} 
再簡單舉個舍伍德算法的例子。
我們在分析一個算法在平均情況下的計算復雜性時,通常假定算法的輸入數據服從某一特定的概率分布。例如,在輸入數據是均勻分布時,快速排序算法所需的平均時間是O(n logn)。但是如果其輸入已經基本上排好序時,所用時間就大大增加了。此時,可采用舍伍德算法消除算法所需計算時間與輸入實例間的這種聯系。
在這里,我們用舍伍德型選擇算法隨機的選擇一個數組元素作為劃分標準。這樣既能保證算法的線性時間平均性能又避免了計算擬中位數的麻煩。非遞歸的舍伍德型算法可描述如下:
template<class Type> Type select(Type a[], int l, int r, int k)
{     static RandomNumber rnd;
  while(true){
      if(l>=r)
          return a[l];
      int i=l, j=l=rnd.Random(r-l+1);
      Swap(a, a[j]);
      j=r+1;
      Type pivot=a[l];
      while(true)
      {
          while(a[++i]<pivot);
          while(a[--j]>pivot);
          if(i>=j)
            break;
          Swap(a, a[j]);
      }
      if(j-l+1==k)
          return pivot;
      a[l]=a[j];
      a[j]=pivot;
      if(j-l+1<k)
      {
          k=k-j+l-1;
          l=j+1;
      }
      else
          r=j-1;
  }
} 
template <class Type> Type Select(Type a[], int n, int k)
{     if(k<1||k>n)
      throw OutOfBounds();
  return select(a, 0, n-1, k);
} 
平時我們一般開始考慮的是一個有著很好平均性能的選擇算法,但在最壞情況下對某些實例算法效率較低。這時候我們用概率算法,將上述算法改造成一個舍伍德型算法,使得該算法對任何實例均有效。
不過在有些情況下,所給的確定性算法無法直接改造成舍伍德型算法。這時候就可以借助隨機預處理技術,不改變原有的確定性算法,僅對其輸入進行隨機洗牌,同樣可以得到舍伍德算法的效果。還是剛才的例子,換一種方法實現:
template<class Type> void Shuffle(Type a[], int n)
{     static RandomNumber rnd;
  for(int i=1;i<n;i++){
      int j=rnd.Random(n-i)+i;
      Swap(a, a[j]);
  }
} 
在上文里,我們對概率算法中的數值概率算法以及舍伍德算法舉例作了簡要的介紹,希望能使大家對概率算法有一個初步的認識,并且將這種思想運用到自己平時的編程中。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产 日韩 欧美大片| 97久久人人超碰| 欧美一区二区三区四区在线观看| 亚洲欧美另类小说视频| 成人激情电影免费在线观看| 久久综合资源网| 激情丁香综合五月| 精品日产卡一卡二卡麻豆| 蜜臀va亚洲va欧美va天堂| 51精品国自产在线| 蜜桃av一区二区三区| 日韩久久免费av| 奇米四色…亚洲| 欧美大片一区二区| 久久草av在线| 精品国产三级电影在线观看| 经典三级一区二区| 久久夜色精品国产噜噜av| 韩国视频一区二区| 国产午夜精品福利| 白白色 亚洲乱淫| 亚洲欧美电影一区二区| 在线国产电影不卡| 香蕉久久夜色精品国产使用方法| 欧美日本韩国一区二区三区视频| 欧美aa在线视频| 精品日本一线二线三线不卡| 狠狠色狠狠色综合| 国产精品日韩精品欧美在线| 91麻豆高清视频| 亚洲五月六月丁香激情| 欧美一区二区福利视频| 久久99九九99精品| 中文字幕第一页久久| 99久久99久久免费精品蜜臀| 亚洲综合丝袜美腿| 91精品国产91热久久久做人人 | 一区二区三区久久| 欧美日韩在线亚洲一区蜜芽| 日韩电影免费在线观看网站| 精品精品国产高清a毛片牛牛 | 欧美精品色综合| 麻豆成人av在线| 国产精品素人视频| 欧美三级韩国三级日本一级| 美女视频第一区二区三区免费观看网站| 精品美女一区二区三区| 成人福利视频在线看| 亚洲成a人片综合在线| 欧美xxxxxxxx| 成人黄色一级视频| 亚洲成a人v欧美综合天堂下载 | 精品成人一区二区| 99re亚洲国产精品| 日韩av不卡在线观看| 久久久久久久久久久黄色| 色狠狠一区二区三区香蕉| 美日韩一区二区三区| 国产精品人人做人人爽人人添| 欧美午夜精品一区| 国产一区视频导航| 亚洲视频狠狠干| 日韩视频免费观看高清在线视频| 成人激情动漫在线观看| 石原莉奈在线亚洲三区| 久久久国产精品午夜一区ai换脸| 在线视频观看一区| 激情六月婷婷综合| 一区二区三区色| 久久日韩精品一区二区五区| 色综合久久综合中文综合网| 狠狠色综合色综合网络| 亚洲自拍另类综合| 国产日产亚洲精品系列| 欧美日韩的一区二区| av亚洲精华国产精华精| 麻豆国产欧美日韩综合精品二区| 亚洲日本成人在线观看| 欧美精品一区视频| 欧美日韩视频在线一区二区| 国产精品99久久久| 天天综合天天做天天综合| 国产精品不卡一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 91久久线看在观草草青青| 国产精品综合在线视频| 日韩av网站免费在线| 亚洲精品视频免费看| 国产亚洲污的网站| 日韩丝袜美女视频| 欧美手机在线视频| 成人免费观看av| 日韩精品1区2区3区| 亚洲欧美色一区| 久久夜色精品国产欧美乱极品| 在线国产电影不卡| 成人黄色电影在线 | 日韩一区二区三区在线观看| 国产一区二区导航在线播放| 免费av成人在线| 亚洲免费av在线| 国产欧美综合在线观看第十页| 4438成人网| 在线视频观看一区| 国产一区二区三区免费播放| 亚洲精品高清在线| 日本一区二区成人在线| 日韩三级精品电影久久久| 色婷婷综合久色| 国产99久久久国产精品潘金 | 午夜欧美电影在线观看| 中文字幕中文字幕一区二区| www激情久久| 欧美一级一级性生活免费录像| 色哟哟亚洲精品| 成人性色生活片免费看爆迷你毛片| 久久电影网站中文字幕| 日韩国产精品久久久| 一区二区不卡在线播放| 国产精品美女久久久久av爽李琼| 欧美大片在线观看| 欧美一级专区免费大片| 91精品视频网| 在线成人av网站| 欧美亚洲国产一区二区三区| 成人av先锋影音| 国产91丝袜在线观看| 日本视频中文字幕一区二区三区| 午夜伊人狠狠久久| 亚洲bt欧美bt精品| 亚洲影院免费观看| 一区二区三区在线免费观看| 亚洲色图都市小说| 国产精品剧情在线亚洲| 亚洲婷婷综合久久一本伊一区| 国产午夜精品一区二区三区嫩草 | 欧美日韩国产影片| 欧美天堂亚洲电影院在线播放| 色婷婷综合久久久中文字幕| 丁香五精品蜜臀久久久久99网站 | 国产精品小仙女| 国内国产精品久久| 激情深爱一区二区| 极品美女销魂一区二区三区免费| 日韩成人伦理电影在线观看| 午夜精彩视频在线观看不卡| 亚洲丶国产丶欧美一区二区三区| 亚洲综合久久av| 亚洲国产你懂的| 婷婷一区二区三区| 蜜桃视频免费观看一区| 久草精品在线观看| 国产一区二区伦理片| 丁香婷婷综合五月| 成人aa视频在线观看| av在线不卡网| 成av人片一区二区| 欧美专区日韩专区| 欧美高清你懂得| 日韩欧美一卡二卡| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 精品综合免费视频观看| 久久99精品国产| 青青国产91久久久久久| 久久国产精品区| 国产精品一区二区x88av| 国产成人精品一区二区三区四区 | 日韩视频永久免费| 亚洲国产高清在线观看视频| 亚洲欧美一区二区三区国产精品| 一级精品视频在线观看宜春院 | 18成人在线视频| 亚洲一区电影777| 免费在线欧美视频| 国产经典欧美精品| 91捆绑美女网站| 欧美男生操女生| 久久久精品免费网站| 国产欧美日韩视频在线观看| 亚洲精品高清视频在线观看| 日韩一区欧美二区| 国产精品亚洲视频| 91色在线porny| 欧美人妖巨大在线| 日韩午夜激情视频| 亚洲婷婷在线视频| 热久久久久久久| 丁香一区二区三区| 欧美日韩一区二区三区不卡| 日韩精品在线一区二区| 国产精品视频在线看| 亚洲成人免费在线| 国产乱一区二区| 在线免费亚洲电影| 日韩一区二区免费电影| 国产亚洲欧美日韩在线一区| 亚洲成人av一区| 国产91综合网| 在线电影院国产精品| 欧美国产精品中文字幕|