1. vray 1.5sp2 中間接照明中出現的brute force (BF演算法)是什麼原理原來的蒙特卡洛演算法呢
比較簡單的有隨機抽樣,通過坐標的變換產生球面,圓面,正方體面等等所需要的抽樣。在某些計算機模擬過程中,可以隨機產生雜訊,比如說水中花粉隨機行走之類的問題,可以用來隨機產生外界水分子的作用力,用來模擬現實情況。當然也可以用這種方式來近似某些科學計算,最簡單的例子就是近似計算積分。對於某些計算機無法完全枚舉的優化問題,也可以用蒙特卡洛方法得到較好的解,常見的比如模擬退火,量子退火等優化方法,都用到了蒙特卡洛演算法。
2. 什麼時候用bf演算法好,什麼時候用kmp演算法好
如果待匹配的模式串中重復的字元很少,用bf就OK了,正常的字元串差不多都是這樣的
在模式串中有很多重復的子串時,kmp效率比bf高很多
3. bf演算法是什麼
BF演算法,即暴力(Brute Force)演算法。
是普通的模式匹配演算法,BF演算法的思想就是將目標串S的第一個字元與模式串T的第一個字元進行匹配,若相等,則繼續比較S的第二個字元和 T的第二個字元;若不相等,則比較S的第二個字元和T的第一個字元,依次比較下去,直到得出最後的匹配結果。BF演算法是一種蠻力演算法。
如果一個多位數並且包含以上所有可能字元的密碼,其組合方法一定多的驚人,且每增加一位數,密碼組合數量會以數十倍指數成長,破譯的時間也會更長,有時可能長達數十年(即便考慮電腦性能依摩爾定律的進步),甚至更久。
由於窮舉法破解所消耗的時間不小於完成破解所需要的多項式時間,故從密碼學角度考慮,不認為窮舉法是有效的破解方法。
字典攻擊
破譯一個相當長度並且包含各種可能字元的密碼所耗費的時間相當長,其中一個解決辦法就是運用字典。所謂「字典攻擊」就是使用預先製作好的清單,例如:英文單字、生日的數字組合、以及各種常被使用的密碼,等等,利用一般人習慣設置過短或過於簡單的密碼進行破譯,很大程度上縮短了破譯時間。
防護手段
最重要的手段是在構建系統時要將系統設計目標定為即便受到暴力破解的攻擊也難以被攻破。以下列舉了一些常用的防護手段:
1、增加密碼的長度與復雜度。
2、在系統中限制密碼嘗試的次數。
3、密碼驗證時,將驗證結果不是立即返回而是延時若干秒後返回。
4、限制允許發起請求的客戶端的范圍。
5、禁止密碼輸入頻率過高的請求。
6、將密碼設置為類似安全令牌那樣每隔一定時間就發生變化的形式。
7、當同一來源的密碼輸入出錯次數超過一定閾值,立即通過郵件或簡訊等方式通知系統管理員。
8、人為監視系統,確認有無異常的密碼試錯。
9、使用雙因子認證,例如用戶登錄賬號密碼時,系統同時發送簡訊到用戶的手機,用戶需輸入簡訊內的認證碼。