Metropolis演算法求解積分問題

2021-10-11 20:54:55 字數 517 閱讀 9260

計算機圖形學技術 見 計算機圖形學技術

metropolis演算法有兩種計算積分時的產生隨機數的方法:

這裡metropolis演算法是依賴於第一種情況:已知目標概率分布,從中得到樣本

markov鏈的最基本性質:當前狀態僅取決於前乙個狀態。

基於當前隨機數 a 產生新的隨機數 b

該隨機數 b 以一定概率被接受或者拒絕

接受的 b 作為下一次迭代的隨機數,拒絕則使用當前隨機數 a 作為用作下一次迭代的隨機數

假如我們要產生符合概率密度為p(x)的分布:

初始化:選擇乙個對稱的概率密度函式g(x) (這樣才能保證條件概率密度g(x|y)=g(y|x)) 例如正態分佈,柯西分布等。選擇乙個起始樣本點

迭代:(第n次迭代)

直觀上看,產生的一系列隨機數中,概率分布p(x)越高的區域,隨機數的數量越高。

設對稱的概率密度函式g(x)的條件概率

所以:因為g(x)是對稱的函式,所以

所以該分布就是平穩的。

通過字首積和字尾積求解除自身以外陣列的乘積

給你乙個長度為 n 的整數陣列 nums,其中 n 1,返回輸出陣列 output 其中 output i 等於 nums 中除 nums i 之外其餘各元素的乘積。示例 輸入 1,2,3,4 輸出 24,12,8,6 說明 請不要使用除法,且在 o n 時間複雜度內完成此題。高階 你可以在常數空間...

A 演算法求解迷宮

cpp view plaincopy include include include using namespace std 方向向量 int direc 4 2 封閉,開放列表標記 enum flag 最小堆節點類 堆優先順序為 f g h g為當前的路徑長 h為估計當前位置到目標位置開銷探測 當...

Sudoku DLX演算法求解

h ifndef dlx sudoku h define dlx sudoku h include using namespace std define rr 729 81 9 define cc 324 81 4 struct node dlx 演算法求數獨的解 class cdlxsudoku ...