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、使用双因子认证,例如用户登录账号密码时,系统同时发送短信到用户的手机,用户需输入短信内的认证码。