科学网

 找回密码
  注册

tag 标签: 蒙特卡洛

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

摩纳哥公园纪行
gaoguanzhong 2018-7-1 02:21
作者 高关中(德国汉堡)2018/6/23 在法国东南角的海滨城市尼斯,参加过 欧华文学会第二届国际论坛后,我们一些文友趁便到 摩纳哥公园(Principauté de Monaco)一游。 背山面海的袖珍国 摩纳哥在尼斯以东,相距只有10多公里。大巴半个小时就就到了。走下车一看,这里既无边防检查,又无海关。人们讲的是法语,招牌上用的是法文,简直就像在法国一样,没搞错吧?但是看看执勤的警察,戴着白色的八角帽,而不是法国警察的圆筒帽。再看看房顶上飘扬的国旗,是上红下白两色旗,而不是法国的三色旗。这才明白,的确到了另一个国度。 摩纳哥是世界上著名的袖珍国,只比梵蒂冈大一些。但梵蒂冈不过是天主教教皇的一块特殊领地,与通常所说的国家不完全一样。所以,做为联合国190多个成员国之一的摩纳哥堪称是世界上最小的国家。那么摩纳哥到底有多大呢?说起来真难以置信,它只有2个多平方公里,相当于半个北京颐和园。令摩纳哥人骄傲的是,他们的国土已比20多年前扩大了四分之一,因为70年代以来,通过填海造陆,摩纳哥增加了四五十公顷的宝贵土地。从地形上看,这个小国依山傍海,三面被位于法国境内巍峨的阿尔卑斯山所环绕,一面濒临碧波万顷的地中海。整个国土呈狭长形,像个烟斗,实际上是两个小山崖拥着一个小海湾。东西沿海岸展开,长约3公里。南北则只有五六百米宽,最窄处仅300米。有人曾开玩笑说:要是在这里进行射击比赛的话,一弹脱靶可能招致国际纠纷。 摩纳哥有约4万人口,听起来不算多。但聚集在这弹丸之地上,密度也就相当可观了。每平方公里超过2万人,竟是世界上人口最稠密的国家。居民中摩纳哥人只有5千人,法国人倒有一万二,意大利人也超过5千,英国人、德国人、美国人甚至阿拉伯人也不少。摩纳哥居民不需要缴纳所得税,难怪许多外国阔佬都要想方设法,在这里住下来,或者,至少报个户口。 人口这么密,地方这么小,除了公园绿地以外,几乎就都是建筑了,而且朝天空发展,30层以上的楼房有的是。有人说这里像纽约的曼哈顿,我看更像香港的中环或九龙的尖沙嘴,只是小一些而已。 别看国家小,人们习惯上都把它分做4个城市,首都也叫摩纳哥,人口一千多,东边是公司、商店集中的拉康达明,人口1.2万。再向东便是世界闻名的赌城蒙特卡洛,居民1.4万。另外在首都西边还有一座填海造起的新城叫芳特维尔,约两千居民。其实这个国家总共才有四个天安门广场大,这四个城市不过是四片街区而已,早已融为一体,并没有明显的分界,也没有各自的市政府。 摩纳哥连一块田地都没有,靠什么过活呢?说起来小国却自有“天相”,上帝给了它最好的气候。看看天空,艳阳高照,晴空万里,像这样的日子一年有280天。这里又有各式各样的休闲和游憇设备,因此不论是夏天或冬季,都成为欧洲的观光胜地之一。 悬崖顶上的王宫 我们首先参观了摩纳哥大教堂,这是历任公爵加冕、大婚、乃至驾崩后的安息之处,金碧辉煌不说,还有公爵的御座呢。 王宫所在的摩纳哥心脏建在悬崖顶上一块经过平整的土地上,又叫罗舍老城(Rocher,悬崖之意)。沿汽车路上山太远。警察给我指了条石阶步行道,可以抄近路。气喘嘘嘘地爬到山顶,眼前豁然开朗,出现一个宽阔的广场。广场北侧便是一座小巧精致的王宫(Palais Princier)。其实摩纳哥国君自知国小,并不称王,头衔只是公爵(或译亲王)。王宫译做公爵府似乎也可以。这座宫殿系由13世纪的小城堡改建而成,四周是高大的石墙和塔楼,石墙上建有一个个城垛和许多乌黑的射出孔。后来又在宫前增建了一座有外廊和露台的文艺复兴式三层大厦。宫内设有金碧辉煌的宝座厅,并收藏有大量名画、古币和邮票。国君外出时,王宫开放给公众参观。可惜我来的不巧,只见塔楼上高高飘扬着御旗,表示公爵现在宫内。无法入内一饱眼福,只好买几张画片留念。沿着宫外广场再走走,看到东北角上摆着几排威风凛凛的古代大炮和几堆摆成金字塔形的铁球炮弹。这一切使人们想起摩纳哥饱经沧桑的历史。一切都是从这里开始的。 据传说,摩纳哥为希腊神话中一位英武盖世的英雄赫拉克勒斯所建。在一次征战中,他途径此地,为这里美丽的景色所吸引,驻马欣赏,留恋不已,并断然于一处悬崖之上建造了一座城堡,将之命名为“赫拉克勒斯——摩纳基”。这当然不是信史。比较可靠的是:腓尼基人、希腊人、迦太基人都曾乘船来过这里。罗马名将凯撒曾从这里率军下海出征希腊。1297年意大利人格里马尔迪带兵来到此地。他们扮成僧侣,骗得把守城堡的卫士打开大门。从此,格里马尔迪家族成为这里的统治者。至今,摩纳哥国徽上画有两个持剑的僧侣,纪念这段历史。 素有地中海珍珠之称的摩纳哥小国寡民,常是大国垂涎的目标,历史上几度被外国侵略或呑并。直到1861年,法国才承认了它的独立。但在1919年,两国又签订了一个条约,规定,一旦摩纳国公爵逝世而没有后裔,摩纳哥将并入法国。自从这个条约签订以来,摩纳哥历代君主都把生儿育子问题看做头等大事。当今王宫的主人兰尼埃三世就为此大伤脑筋。他年轻时与一位美丽的欧洲女影星热恋并打算结婚。可是这位名星经检查认为无生育能力,兰尼埃只好忍痛割爱。而这位女星嫁给别人之后偏偏生了孩子,这无疑在兰尼埃的感情上留下一道伤痕。所幸,兰尼埃不久后认识了美国好莱坞影后葛丽絲·凯莉小姐。1956年,她嫁给兰尼埃,成为摩纳哥王宫的女主人。两年后,阿尔贝王子诞生,这无疑使摩纳哥的国脉得以再延续下去。举国上下狂欢庆祝,着实热闹了一番。 当了王后之后葛丽絲也为摩纳哥的旅游业带来了繁荣。她每到一地都不忘向世人宣传一番,还主演了一部风光影片《摩纳哥一瞥》。本来并不为人注意的蕞尔小国一下子变得热闹起来,来观光的游客也越来越多。如今,这里每年接待的游人超过20万。对这些游客来说,王宫广场是最重要的参观景点之一,重头戏则是每天中午的王宫换岗。只见王宫广场上来自世界各地的游客里三层外三层。有的举起摄像机,有的拿着照像机。有的让小孩骑在脖子上,等待着换岗仪式的开始。11点55分一到,王宫钟塔的钟声响起,在鼓号兵的引导下,10名卫兵向着宫殿行进,在卫兵的岗位前与站岗的卫兵互致敬礼后交换位置。12点正,钟声再度响起,下岗的卫兵同样在鼓号手的引导下,朝着王宫对侧的建筑物退下。这些身穿红黑制服的卫兵,干净而俐落的动作,给参观者留下了清晰而深刻的印象。 海洋馆揽胜 看完王宫卫队换岗,便步行下山。沿途便是摩纳哥古城的市区,街道不宽,房子也都不超过三四层楼高,但都非常精巧别致。街面极为干净,几乎看不到一絲尘埃。边看边走,经过一座白石砌就的大教堂,不觉间又进入一处花草茂盛的大公园,叫圣马丁公园(Jardins St-Martin)。这儿生长着各种亚热带植物,如棕榈、木兰、橄榄、无花果等树木,还有许多灌木和花卉,红黄白紫,色泽各异,看了令人赏心悦目。 出了公园,就到了遐尔闻名的海洋学博物馆(Musée Océanographique)。博物馆大楼是一座白色的石头建筑,矗立在濒临地中海的一座断崖上,巍峨壮丽,是摩纳哥一大名胜,又是世界海洋研究的学术基地。整个建筑长100米,临海一面高87米,连同地下室共三层,巧妙地镶嵌在巨大的岩石之间,就象是从岩石里长出来的一般。 大楼入口面向城市,二楼正面是一排8米高,用整块石头雕成的白石石柱。石柱之间铭刻着12艘为海洋科学作出过贡献的考察船的名字。其中有摩纳哥公爵阿尔贝一世进行航海考察用过的“燕子号”(Hirondelle)。这艘快艇搜集了大量的海生动物和海藻标本,为筹建海洋馆打下了基础。 阿尔贝一世酷爱海洋科学,在他的推动下,海洋馆于1910年建成开放。在这座宏伟的大厦里,一切都令人联想到海洋。大厦的正门和门楣上,雕着神话中的人鱼公主和海神。海兽和海鱼的形象,连电灯的吊架也制成海蜇或其他海生动物的样子。 我参观过这家博物馆。走进宽敞的门厅,右手是报告厅兼电影馆,左边是海洋动物陈列厅,里面摆满了海兽和海鱼的骨骼标本。大厅正中陈列着完整的鲸鱼骨架,竟长达20米。二楼的中厅是阿尔贝一世纪念厅,“燕子号”考察船的模型陈放在这里,这不是一般的小艇,看样子是上千吨的大船。船上还建有实验室呢:二楼左首是海洋地理和器具陈列厅。一进门首先看到从天花板和墙壁上垂下来的各种形状的鱼网,有巨大的拖网,也有捕捉浮游动物的小网,小网是用细得连在跟前也很难看出来的线编织的。不看到这些独特的陈列品,很难想象世界上各民族竟有如此巧妙的各式捕鱼工具。陈列室的大部分展品是海洋学家们考察研究用的仪器和设备。参观了这些展品,可以了解到,一百多年来海洋科学经历了多么复杂而又迅速的发展过程。这里有两个香槟酒瓶,系在一条半米长的绳子的两端,其中一个装着一些沙,作测锤用,另一个空瓶则漂浮在水面上。摩纳哥考察队乘坐“燕子号”研究墨西哥湾暖流的时候就是用的这种浮子。他们每隔一海里投放一个浮子,共投了1675个。每个浮子里都放一张纸条,请求发现浮子的人把它的方位和发现的时间通知摩纳哥。这里还展出了许许多多现代海洋地理学方面应用的仪器和设备,如水位自记仪和水流波动自记仪等。二楼右首是实用海洋陈列厅,这里的陈列品说明海洋是一个巨大的宝库。玻璃柜里陈列着各种有经济价值的海鱼,鲸油、鱼肥和饲料鱼粉。一条13米长的枪乌贼(鱿鱼)和北极熊标本尤其引人注目。 海洋馆的地下室辟作水族馆。大大小小90多个水池和玻璃水柜中,展示着海洋生物的大千世界。地中海的水生动植物更是一应俱全,还有来自热带海域的鲜艳珊瑚。在这里参观,犹如漫游于神秘的海底世界。孩子们更是兴奋异常,看着这千奇百怪的鱼虾,久久不願离去。 蒙特卡洛面面观 别离海洋馆,没走多远,看到一座普通的三层小楼。顶上飘扬的旗帜引起了我的注意。仔细一看,这里原来是国务府(Ministère d'Etat),相当于国务院。摩纳哥是个君主立宪国,并与法国结成关税与货币同盟。公爵要根据巴黎方面的推荐任命一位国务大臣,处理国事,由三位顾问辅佐,他们分别领导内政、财经、公共工程与社会事务三个部门。据说议会、各部甚至监狱全都集中在这幢小楼里。 汽车三转两转,终于来到海湾。这里是游船之港。四方形港池里停泊着一排排整齐的帆船和豪华游艇,有的正在扬帆出海。回过头来看,高层建筑及宽阔的马路依山而建,显示出现代化山城的气势。这里的道路迂回曲折,有些地方坡度甚大,发生过多次车祸,王后葛丽絲就是1982年在一次车祸中丧生的。但是,这样的路段对赛车好手来说也许更有刺激性吧,早在1929年,摩纳哥就开始举办蒙特卡洛一级方程式汽车大赛(Grand Prix)。所谓一级方程式是指赛车汽缸容积最大可达350 0毫升,这是一种高级别的速度赛。由几条马路组成的环形赛车道长3.366公里,赛车在比赛中要跑78圈,共262.6公里。流线型赛车的时速可达270公里,真可谓风驰电掣。一旦夺魁,则由公爵亲自授于奖杯,荣耀非常。现在,蒙特卡洛大奖赛已成为世界锦标赛的16个赛程之一,每年5月份举行。每逢赛事,路边临时搭起的看台上都是人山人海,热闹异常。通过电视转播,比赛还吸引了全世界的亿万观众。 沿着赛车的大街道东去,随地势缓缓升高,又登上了小国的另一个山崖,只见东南两面海天一色,风光极为优美。赌城蒙特卡洛(Monte-Carlo)就在这一片,中心坐落着西方世界闻名的豪华大赌场(Casino)。这个赌场为双层宫殿式建筑,上有钟楼、塔厅和拱形亭阁,还装饰着不少人物雕塑。庭前飘扬着一面面红白两色的摩纳哥旗。成行的棕榈、整齐的花坛,把环境打扮得清幽雅致,周围环绕着刻意仿古的宾馆酒店,显示出奢华的气氛。出入赌场的大多是富豪之属,一般游客也能进大厅看热闹,但要过安检。 蒙特卡洛赌场的故事,要追溯100多年。那时查理三世特许建立第一家赌场,设在港口附近一家私宅里,但经营不得法,十分萧条。使这种沮丧局面一变而为辉煌成功的魔术师是布朗克。这位德国人是一位经营赌场的老手。在公爵的支持下,增加资本,创辟了蒙特卡洛 的特殊气氛,并给它安上了一个不带赌博的名称——摩纳哥海浴会所。布朗克尽其所能在赌厅上大事修饰,他也建筑了平坦的马路,加以蒙特卡洛澄莹的空气,浅蓝海洋以及金色阳光更帮助了这个赌国的勃兴。到1880年左右,赌场重建,由巴黎歌剧院的建筑师加尼埃设计。自那时以来,赌场已经过三度扩充了。各国赌客都受到吸引,湧来光顾。 对于整个世界来说,蒙特卡洛成了灯红酒绿,奢华放荡生活的象征。英国名作家毛姆对此地的评价是:为鬼鬼祟祟人物而设的阳光灿烂之地。随着各色人等的光临,富有传奇色彩的怪事不时出现。 一个美女在26岁生日那天,对轮盘上的26号下了重注,居然赢大钱,但最后因贪胜不知输,输得一干二净,气愤下跳崖自杀。 有一位英国演员输光了钱,用茄汁涂满头,施苦肉计放空枪“自杀”,赌场的人把钞票塞满他的口袋,以免人说他因赌而死。他竟连头也忘记抹,跳起身又进赌场继续搏杀。 1979 年夏天,蒙特卡洛赌场有过一次世纪豪赌。当时世界油价狂涨,石油生意大赚其钱。有一批阿拉伯酋长来到赌场,他们从午夜起在轮盘赌前坐下,按最高额下注。到了次日上午,他们赢了240万美元。阿拉伯人认为命运女神偏爱上他们了,还要继续赌下去。但不到两小时,他们便输掉140万,然后一路下滑,又过了两个小时,他们不仅输光了赢来的钱,还倒输掉了380万美元。 摩纳哥政府从赌博利润中抽头,财源滚滚而来,但也深知赌博之害,因此绝对禁止本国人到赌场赌博,近年来赌场生意已今不如昔,来自博场的收入在国家财政中的比例已下降到4%。为了发展国内经济,摩纳哥也注意开拓其他行业。在新区芳特维尔开办了不少中小工厂,并鼓励发展金融业、会议业,增加旅游业的吸引力。目前,每10个就业人口中,工业方面占2人,商业2人,旅馆业2人,银行运输业1人,其他行业3人。经济结构有了较大的转变。人均国民生产总值达到2.5万美元,已跃居欧洲前列。 中午,我们又乘大巴离开了摩纳哥。虽然只是半天时间的走马观花,但这个美丽的袖珍国度,人们扬长避短发展经济的能力,都给我留下了深深的印象。 12 张照片见 http://blog.sina.com.cn/s/blog_a065430e0102y94a.html
个人分类: 欧洲各地|840 次阅读|0 个评论
0026:蒙特卡洛求定积分三种方法的理解
热度 1 cwhe10 2017-7-5 22:45
蒙特卡洛主要思想就是采用粒子(大多是均匀分布生成的随机数,称为粒子)将积分符号转化为求和,从而实现快速求解目的 。定积分求解主要有三种方法:随机投点法、平均值法、重要抽样法: 问题描述:如何求exp(x)在0到1上面的定积分? 1)随机投点法 a)首先,在x= 时,max(exp(x))=e,所以矩形面积为1*e; b)然后,在矩形里面,均匀生成粒子(均匀分布生成的随机数,随机数范围为 ),对于某个具体的粒子x,当xexp(x)时,标记一次,做好记录,循环N次,看记录之和sum,然后得到概率P=sum/N c)最后,用P*矩形面积=所求的面积. 2)平均值法 其大致思想是,大家都回到把曲线划分很多小段,然后在每段上取exp(xi)*deta,然后累加就得到了所求的面积,故平均值法采用分成很多段(N很大),然后每段长度(X轴)为detaX,则面积为求和exp(xi)*detaX,然后除以N取得均值。 3)重要抽样法 思想:通过构造一个新的函数g(x)(函数有具体的分布函数和良好的表达形式,可采用拟合法求得),然后对目标函数f(x)的求积分,转化为对 *g(x)求积分,由于g(x)分布函数容易,所以生成均匀粒子,对粒子进行处理(根据g(x)的分布函数处理),从而运动平均值法处理 本人邮箱: cwhe_10@163.com 欢迎大家一起交流! 参考文献: 1.《粒子滤波原理及应用-MATLAB仿真》-黄小平。 2. http://www.scratchapixel.com/lessons/mathematics-physics-for-computer-graphics/monte-carlo-methods-in-practice/monte-carlo-integration 3.http://blog.csdn.net/yang090510118/article/details/39901099
13084 次阅读|2 个评论
蒙特卡洛生物体系模拟软件包集合贴
flowball 2016-5-3 15:49
除Rosetta外,还有很多,列表备查。 towhee http://towhee.sourceforge.net/ 老牌经典mc程序,没用过。 http://robotics.stanford.edu/~itayl/mcs/ 相对简单的一个mc程序,代码清晰(但不符合标准c,编译出问题)。包含基本的rotamer还有eef1溶剂模型实现。 http://cbbp.thep.lu.se/activities/profasi/ 高效的主链采样,粗粝模型。 http://www.phaistos.org/home/Main_Page 比较新颖的基于统计模型的主链生成算法。可以用于结构预测。 最后来一个wiki列表 https://en.wikipedia.org/wiki/List_of_software_for_Monte_Carlo_molecular_modeling
个人分类: monte carlo|4472 次阅读|0 个评论
压缩大运算和大的中间存储
热度 1 liuhong59 2013-1-28 10:26
地震数据成像的核心技术问题是压缩大运算和大的中间存储。地震数据成像的复杂过程,会产生很大计算量和存储量。目前地震成像的有效的算法,都具有运算相对小和中间存储相对少的特点,从而适应CPU和GPU的结构。大计算量和存储量也是电脑围棋的难题,因此地震成像和电脑围棋可能可以探索相互借鉴。蒙特卡洛+剪枝程序改进了电脑围棋,我没有编过电脑围棋程序。从对电脑围棋Zen的讨论看,打劫技巧需要改进,听说台灣師範大學資訊工程研究所黃士傑的打劫论文改进了Pachi。Zen的作者近两年说花了很多时间改进死活。死活问题也许需要数学技巧,如何合并超大的搜索空间,可否借助群的表示?每一种下法,可以认为是一个群,群的分解可以简化其表示。群是加法、乘法、轮换、置换、旋转等操作的数学抽象。简单说,群-配置了二元运算的集合,符合结合律,存在幺元和逆元.
4207 次阅读|3 个评论
FM 小学数学概率题(5)用面积算概率
wcybcn 2012-12-3 06:07
嗯,面积。 我记得自己第一次接触用面积来处理小学数学问题是 求两个自然数的最大公约数所用的辗转相除法。 题干: 假设 硬币半径 为3/8 , 一个盒子底部, 底部用笔画了 一个边长为1 的正方形, 假设盒子的设计使得随便往里面投一枚硬币,硬币落入底部后即使是处在最外围的情况下都会与 正方形擦边。求每投一枚硬币, 硬币完整落入正方形中的概率。 解答: 考虑当硬币全在方块中的时候,必然覆盖到中心一块面积,可考虑硬币分别在四个角落的情况,求其中的公共面积。最后用必然会覆盖到的公共面积除以正方形总面积,就是硬币会完整落入正方形中的概率。 面积的方法也是后来蒙特卡洛方法的雏形,当然本题中比较难为小学生的是小学生估计很难手算出那个必然会覆盖的面积,只好尽量约等于一个小正方形来估算概率至少大于多少。。比如1/16。
个人分类: 厚积薄发|213 次阅读|0 个评论
蒙特卡洛方法
yunyue 2012-10-27 11:30
首先,蒙特卡洛方法是一种数值计算方法,其次,它的理论基础是概率论和数理统计 下面先看两个例子,都是转来的哈: 1、在广场上画一个边长一米的正方形,在正方形内部随意用粉笔画一个不规则的形状,呃,能帮我算算这个不规则图形的面积么?蒙特卡洛 (Monte Carlo) 方法便是解决这个问题的巧妙方法 : 随机向该正方形内扔 N ( N 是一个很大的自然数)个黄豆,随后数数有多少个黄豆在这个不规则几何形状内部,比如说有 M 个。那么,这个奇怪形状的面积便近似于 M/N , N 越大,算出来的值便越精确。 2、蒲丰投针: 1777年法国科学家 蒲丰 提出的一种计算 圆周率 的方法——随机投针法,即著名的蒲丰投针问题。   这一方法的步骤是:   1) 取一张白纸,在上面画上许多条间距为d的平行线。   2) 取一根长度为l(ld) 的针,随机地向画有平行直线的纸上掷n次,观察针与直线相交的次数,记为m   3)计算针与直线相交的概率p. 由概率学知 p=m/n; 同时,他也证明了 p=2l/(πd) π为圆周率 那么,通过这个投针实验,就可以计算出圆周率的近似值。当增加实验次数时,近似值越精确。 、、、、、、 由以上的两个例子,蒙特卡洛计算方法的本质是:通过做随机试验的方式,用不确定的值来逼近确定的值。为什么要这样?因为现实中,有些确实的值,我们很难或无法得到。 那么不确定的值是怎么来的呢?做随机实验,可以得到某事件发生的概率,而这个概率,和某确定值有联系。 目前,这个随机实验可以在计算机上模拟进行,这样允许做次数非常高的模拟。 下面就引用一下比较标准的定义吧,理解了上面的知识,就不难理解这个定义了: Monte Carlo方法的基本思想是 首先 建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量. 然后 通过模拟一统计试验, 即多次随机抽样试验 (确定 m和 n) ,得到实验结果,统计出某事件发生的百分比.只要试验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义. 最后, 利用建立的概率模型,求出要估计的参数.蒙特卡洛方法属于试验数学的一个分支.(或另一种说法,根据概率模型和对其抽样后,需要确定一个随机变量,做为所求解的估计量。) 注:关于第二步的模拟实验,模拟实验其实是随机抽样,和现实实验是不一样的,既然由计算机完成,本质就是计算了。关于随机抽样,也就是计算出一系列值,做为实验的结果;而这些值,来自服从某一分布的随机变量。 为什么需要一系列值呢?因为第一步得出的是概率模型,而概率一般由频率来示,而数学期望是样本均值来表示,频率和样本均值都是由实验结果的数值计算得到的。 有一种方法是直接抽样法,前提是得到均匀分布U(0,1)的一个值,之后通过公式 计算得到来自任意分布的一个值。了解了这个,上面就好理解了。 1、20世纪的十大算法 http://blog.sciencenet.cn/u/huguanhu 2 . 百度蒲丰投针
10400 次阅读|0 个评论
求学—量子蒙特卡洛方法
热度 1 zhangpengju 2012-6-19 23:14
有童鞋或者老师做蒙特卡洛模拟的么? 本人想认真学习一下蒙特卡洛方法,求助中。
5394 次阅读|6 个评论
[转载]动力学蒙特卡洛方法(KMC)及相关讨论
ywmucn 2012-5-18 12:00
转自: http://www.quantumchemistry.net/content/%E5%8A%A8%E5%8A%9B%E5%AD%A6%E8%92%99%E7%89%B9%E5%8D%A1%E6%B4%9B%E6%96%B9%E6%B3%95kmc%E5%8F%8A%E7%9B%B8%E5%85%B3%E8%AE%A8%E8%AE%BA 动力学蒙特卡洛方法(KMC)及相关讨论 星期二, 2010-05-11 01:05 — satchel1979 动态模拟在目前的计算科学中占据着非常重要的位置。随着计算能力和第一原理算法的发展,复杂的动态参数(扩散势垒、缺陷相互作用能等)均可利用第一原理计算得出。因此,部分复杂的体系动态变化,如表面形貌演化或辐射损伤中缺陷集团的聚合-分解演变等,已可以较为精确的予以研究。KMC——动力学蒙特卡洛方法(kinetic Monte Carlo)原理简单,适应性强,因此在很多情况下都是研究人员的首选。此外,KMC在复杂体系或复杂过程中的算法发展也非常活跃。本文试图介绍KMC方法的基础理论和若干进展。 KMC方法基本原理 在原子模拟领域内,分子动力学(molecular dynamics, MD)具有突出的优势。它可以非常精确的描述体系演化的轨迹。一般情况下MD的时间步长在飞秒( s)量级,因此足以追踪原子振动的具体变化。但是这一优势同时限制了MD在大时间尺度模拟上的应用。现有的计算条件足以支持MD到10 ns,运用特殊的算法可以达到10 s的尺度。即便如此,很多动态过程,如表面生长或材料老化等,时间跨度均在s以上,大大超出了MD的应用范围。有什么方法可以克服这种局限呢? 当体系处于稳定状态时,我们可以将其描述为处于 维势能函数面的一个局域极小值(阱底)处。有限温度下,虽然体系内的原子不停的进行热运动,但是绝大部分时间内原子都是在势能阱底附近振动。偶然情况下体系会越过不同势阱间的势垒从而完成一次“演化”,这类小概率事件才是决定体系演化的重点。因此,如果我们将关注点从“原子”升格到“体系”,同时将“原子运动轨迹”粗化为“体系组态跃迁”,那么模拟的时间跨度就将从原子振动的尺度提高到组态跃迁的尺度。这是因为这种处理方法摈弃了与体系穿越势垒无关的微小振动,而只着眼于体系的组态变化。因此,虽然不能描绘原子的运动轨迹,但是作为体系演化,其“组态轨迹”仍然是正确的。此外,因为组态变化的时间间隔很长,体系完成的连续两次演化是独立的,无记忆的,所以这个过程是一种典型的马尔可夫过程(Markov process),即体系从组态 到组态 , 这一过程只与其跃迁速率 有关。如果精确地知道 ,我们便可以构造一个随机过程,使得体系按照正确的轨迹演化。这里``正确''的意思是某条给定演化轨迹出现的几率与MD模拟结果完全一致(假设我们进行了大量的MD模拟,每次模拟中每个原子的初始动量随机给定)。这种通过构造随机过程研究体系演化的方法即为动力学蒙特卡洛方法(kinetic Monte Carlo, KMC) 。 指数分布与KMC的时间步长 在KMC模拟中,构造呈指数分布的随机数是一个相当重要的步骤。这一节中我们对此进行讨论。 因为体系在势能面上无记忆的随机行走,所以任意单位时间内,它找到跃迁途径的概率不变,设为 。因此在 区间内,体系不发生跃迁的概率为 类似的,在 区间内,体系不发生跃迁的概率为 以此类推,当 时,在 区间内,体系不发生跃迁的概率为 因此,当 趋于 时,体系不发生跃迁的概率为 (1) 这一行为类似于原子核的衰变方程。从方程(1)我们可以得到单位时间内体系跃迁概率 。从方程(1)的推导过程可以看出体系的跃迁概率是一个随时间积累的物理量,因此 对时间积分到某一时刻 必然等于 ,也即 。因此我们立即可以得到 (2) 是体系处于态 时所有可能的跃迁途径的速率 之和,即 (3) 对于每个具体的跃迁途径 ,上述讨论均成立。因此,我们可以定义单位时间内体系进行 跃迁的概率 为 (4) 单位时间内体系的跃迁概率呈指数分布这一事实说明KMC的时间步长 也应是指数分布。因此我们需要产生一个指数分布的随机数序列。这一点可以非常容易的通过一个(0,1]平均分布的随机数序列 转化得到: 从而 (5) 最后一步是因为 和 的分布相同。 也可以通过上述步骤从方程(4)得到。 计算跃迁速率 过渡态理论(TST) 决定了KMC模拟的精度甚至准确性。为避开通过原子轨迹来确定 的做法(这样又回到了MD的情况),一般情况下采用过渡态理论(transition state theory, TST)进行计算 。在TST中,体系的跃迁速率决定于体系在鞍点处的行为,而平衡态(势阱)处的状态对其影响可以忽略不计。如果大量的相同的体系组成正则系综,则在平衡状态下体系在单位时间内越过某个垂直于 跃迁途径的纵截面的流量即为 。简单起见,假设有大量相同的一维双组态(势阱)体系,平衡状态下鞍点所在的假想面(对应于流量最小的纵截面)为 ,则TST给出该体系从组态 A 迁出到 B 的速率为 (6) 方程(6)中 表示在组态 A 所属态空间里对正则系综的平均。 表示只考虑体系从组态 A 迁出而不考虑迁入 A 的情况(后一种情况体系也对通过纵截面的流量有贡献)。根据普遍公式 设体系的哈密顿量 为 ,即可分解为动能和势能,同时设粒子坐标 时体系处于组态 A 。则方程(6)可写为 (7) 上式中无限小量 是为了将 函数全部包含进去。最后一项对于 函数的系综平均可以直接通过Metropolis Monte Carlo方法计算出来:计算粒子落在 范围内的次数相对于Metropolis行走总次数的比例 。方程(7)最后等于 (8) 将上述讨论扩展到3维情况非常直接,这里只给出结果,详细讨论请参阅文献 : (9) 其中 是纵截面方程, 代表3维情况中粒子流动方向与截面 法向不平行对于计数的影响。 简谐近似下的过渡态理论(hTST) 虽然上一节已经给出了TST计算跃迁速率的方法,但是在具体工作中, 更多地是利用简谐近似下的过渡态理论(harmonic TST, hTST)通过解析表达式给出。根据TST,跃迁速率 为 (10) 其中 为在跃迁 中体系在鞍点和态 处的自由能之差 将上式代入方程(10),可以得到 (11) hTST认为体系在稳态附近的振动可以用谐振子表示,因此其配分函数是经典谐振子体系的配分函数。分别写出体系在态 和鞍点处的配分函数 和 : 根据Boltzmann公式, (12) 并将配分函数代入,则方程(11)得 (13) 方程(13)在通常的文献上经常可以见到。声子谱可以通过Hessian矩阵对角化或者密度泛函微扰法(DFPT)求出,而 就是 的势垒,可以通过NEB或者drag方法求出。因此,方程(13)保证了可以通过原子模拟(MD或者DFT方法)解析地求出 。事实上这个方程有两点需要注意。首先虽然方程(10)中出现了普朗克常数 ,但是在最终结果中 被抵消了。这是因为TST本质上是一个经典理论,所以充分考虑了统计效应后 不会出现 。其次,方程(13)表明对于每一个跃迁过程,鞍点处的声子谱应该单独计算。这样会大大增加计算量,因此在绝大部分计算中均设前置因子为常数,不随跃迁过程而变化。具体数值取决于体系,对于金属而言,一般取 Hz。 KMC几种不同的实现算法 点阵映射 到目前为止,进行KMC模拟的所有理论基础均已具备。但是前面所进行的讨论并没有联系到具体的模型。KMC在固体物理中的应用往往利用点阵映射将原子与格点联系起来。从而将跃迁(事件)具象化为原子 格点关系的变化。比如空位(团)/吸附原子(岛)迁移等等。虽然与实际情况并不完全一致,但这样做在很多情况下可以简化建模的工作量,而且是非常合理的近似。很多情况下体系中的原子虽然对理想格点均有一定的偏离,但是并不太大( ),因此这种原子 点阵映射是有效的。这种做法的另一个好处是可以对跃迁进行局域化处理。每条跃迁途径只与其近邻的体系环境有关,这样可以极大的减少跃迁途径的数目,从而简化计算 。需要指出的是,这种映射对于KMC模拟并不是必须的。比如化学分子反应炉或者生物分子的生长等等,这些情况下根本不存在点阵。 无拒绝方式 KMC的实现方法有很多种,这些算法大致可以分为拒绝(rejection)和无拒绝(rejection-free)两种范畴。每种范畴之下还有不同的实现方式。本文只选择几种最为常用的方法加以介绍。 I. 直接法 直接法(direct method)是最常用的一种KMC算法,其效率非常高。每一步只需要产生两个在 之间平均分布的随机数 和 。其中 被用来选定跃迁途径, 确定模拟的前进时间。设体系处于态 ,将每条跃迁途径 想象成长度与跃迁速率 成正比的线段。将这些线段首尾相连。如果 落在线段 中,这个线段所代表的跃迁途径 就被选中,体系移动到态 ,同时体系时间根据方程(5)前进。总结其算法如下: 根据方程(4)计算体系处于态 时的总跃迁速率 ; 选择随机数 ; 寻找途径 ,满足 ; 体系移动到态 ,同时模拟时间前进 ; 重复上述过程。 需要指出的是,虽然一般步骤4中的 根据方程(5)生成,但是如果将其换为 并不会影响模拟结果。在文献 和 中均采用这种方式。 II. 第一反应法 第一反应法(first reaction method, FRM)在思路上比直接法更为自然。前面说过,对于处于稳态 的体系而言,它可以有不同的跃迁途径 可以选择。每条途径均可以根据方程(4)给出一个指数分布的"发生时间" ,也即从当前算起 第一次发生的时间。然后从 中选出最小值(最先发生的"第一反应"),体系跃迁到相应的组态 ,模拟时间相应地前进 。总结其算法如下: 设共有 条反应途径,生成 个随机数 ; 根据公式 ,给出每条路径的预计发生时间; 找出 的最小值 ; 体系移动到态 ,同时模拟时间前进 ; 重复上述过程。 可以看出,这种算法的效率比直接法低下,因为每一步KMC模拟需要生成 个随机数。通常情况下KMC模拟需要 步来达到较好的统计性质,如果每一步都需要生成 个随机数,则利用这种方法需要一个高质量的伪随机数发生器,这一点在 比较大时尤为重要。 III. 次级反应法 次级反应法(next reaction method, NRM)是FRM方法的一种衍生方法,其核心思想是假设体系的一次跃迁并不会导致处于新态的体系对于其他跃迁途径的舍弃(比如充满可以发生 种化学反应的分子,第一种反应发生并不会造成别的反应物的变化),这样体系还可以选择 中的次小值 ,从而跃迁到态 ,模拟时间前进 。如果这次跃迁还可以满足上述假设条件,再重复上述过程。理想情况下,平均每一步KMC模拟只需要生成1个随机数。这无疑会大大提高效率以及时间跨度。但是实际上NRM的假设条件很难在体系每次跃迁之后都得到满足,在固体物理的模拟中尤其如此,因此其应用范围集中于研究复杂化学环境下的反应过程。 试探-接受/拒绝方式 这一大类算法虽然在效率上不如直接法,但是它们所采用的试探-接受/拒绝在形式上更接近Metropolis MC方法,而且可以很方便的引入恒定步长,即 固定。因此有必要进行详细的介绍。 IV. 选择直接法 选择直接法在决定体系是否跃迁方面和Metropolis MC方法形式上非常相像,均是通过产生随机数和预定的阈值比较决定事件是否被采纳。具体算法如下: 设共有 条反应途径,选择反应速率最大值 ,设为 。生成在 均匀分布的随机数 ; 设 ; 如果 ,则体系跃迁至新态 ,否则保持在态 ; 模拟时间前进 ; 重复上述过程。 这种方法的长处在于每一步只需要生成一个随机数。但是缺点也很明显,对于反应速率相差太大,尤其是只有一个低势垒途径(与其他途径相比 过大)的体系来讲,这种方法的效率会非常低下。某些情况下,这种低效率问题可以通过如下方法改进:将全部途径按照 的大小分为几个亚组,每个亚组选定一个上限 。但是这一步骤在整个KMC模拟过程中可能需要重复很多次,因此并不能完全解决问题。事实上低势垒在KMC中是个普遍的问题。这一点在后面还要简要提及。 V. 恒定步长法 与上述四种方法不同,恒定步长法(constant time step method, CTSM)中体系的前进时间是个给定的参数\cite{dawnkaski}。在理想情况下,CTSM与直接法效率相同,每一步只需产生两个随机数。具体算法如下: 给定恒定时间步长 ; 将所有途径 (共有 个)设为长度恒为 的线段,生成在 均匀分布的随机数 ,选择途径 ; 生成在 均匀分布的随机数 ,如果 ,则体系跃迁至新态 ,否则保持在态 ; 模拟时间前进 ; 重复上述过程。 实际模拟中, 需要满足(1)小于 (见"第一反应法"),以及(2)对于 最大的途径,接受率大致在0.5。其中第一个条件保证了所有的迁移途径发生概率都小于1,第二个条件则保证体系演化的效率不会过于低下。CTSM是非常行之有效的一类KMC算法,但是选择 时需要特别的注意以保证效率。 决定于具体体系以及模拟温度。这在一定程度上增加了CTSM的实现及使用难度。 低势垒问题 前面已经指出,低势垒的途径需要特别注意。如果体系在演化过程中一直存在着势垒较其他途径低很多的一个或几个途径,会对模拟过程产生不利的影响。这个问题被称之为 低势垒问题 。低势垒途径对于KMC模拟最直接的影响就是大大缩短了模拟过程所涵盖的时间跨度。这一点可以从方程(5)中看出。更为深刻的影响在于,这些由低势垒的途径联系起来的组态会组成一个近似于封闭的族。体系会频繁的访问这些态,而其他的对于体系演化更为重要的高势垒途径被选择的概率非常低,这显然会降低KMC的模拟效率。例如,吸附原子在高指数金属表面扩散,其沿台阶的迁移所对应的势垒要远低于与台阶分离的移动。这样,KMC模拟的绝大部分时间内吸附原子都在台阶处来回往复,而不会选择离开台阶在平台上扩散。这显然不是我们希望看到的情形。一种解决办法是人为地将这些低势垒加高以降低体系访问这些组态的几率,但是无法预测这种干扰是否会造成体系对于真实情况的严重偏离。另一种选择是利用NRM或者CTSM进行模拟,但是其效果如何尚待检测。 如果考察体系的势能面,这类低势垒的途径一般处在一个"超势阱"之中。体系在这个超势阱中可以很快的达到热平衡,所需时间要短于从其中逸出的时间。如果可以明确的知道超势阱所包含的组态以及从超势阱逸出的所有途径,我们就可以按照Boltzmann分布合理的选择其中一条途径,使得体系向前演化。但是如何确定哪些组态包含在超势阱之中以及体系是否已在其中达到热平衡本身就是两个难题。对于第一点,Mason提出可以利用Zobrist密钥法标定访问过于频繁的组态 ;Novotny则提出通过建立及对角化一个描述体系在这些组态间演化的传递矩阵来解决第二点 。对这个问题的详细讨论已超出了本文的讨论范围,请参阅文献 以及 。 实体动力学蒙特卡洛方法 OKMC 上述的KMC都假设任何时候原子均处于其理想点阵格子上。但是很多情况下这种点阵映射是无效的,比如间隙原子或者位错。这类结构缺陷的运动在材料的辐射损伤和老化过程中扮演着非常重要的角色。而且与单个原子或者空位的运动相比,这类缺陷的运动时间跨度更长,也更为复杂,比如间隙原子团和空穴的湮没,间隙原子团的解构/融合,或者位错的攀移/交滑移等等。传统的KMC算法很难有效的处理这类问题,一方面是因为时间跨度太大,另一方面这类缺陷各自均可视为独立的实体(object),其运动更近似于系统激发,因此单个或几个原子运动的积累效果很多情况下并不能有效地反应这些实体的整体运动。实体动力学蒙特卡洛方法(Object kinetic Monte Carlo, OKMC)就是为了处理这类问题而被提出的。OKMC在算法上与普通的KMC完全一样。需要注意的地方是在OKMC中并不存在原子点阵。所有的实体在一个真空的箱子中按照其物理实质离散化运动,比如位错环的最小移动距离是其Burgers矢量大小,方向则为Burgers矢量方向;空位的移动距离为第一近邻或第二近邻的原子间距,等等。模拟过程中我们需要追踪该实体的形心,从而决定其位置、移动距离等等。此外,OKMC中对于跃迁速率 的确定也和普通的KMC有所区别。本文前面已经指出, 可以表达为 的形式。普通的KMC假定 为常数,不同途径的 由 决定。但是在OKMC的模拟中, 的直接确定非常困难,因此一般的策略是对于特定的事件(包括实体自身的运动以及不同实体间的反应等),跃迁势垒 保持恒定,而将前置因子 视为实体规模(所包含的原子/空位数目)的函数,通过MD模拟得出,一般而言可以表示为形如 的表达式,其中 和 是拟合参量, 是实体规模。最后需要注意的是在OKMC的模型中,实体有空间范围,因此需要一个额外的参数 来表征其空间半径(假设为球形分布,否则 的数目多于一个)。在模拟不同实体间的反应时,需要特别考虑其形心的间距,如果小于"反应距离",即 ,反应一定进行,否则认为两个实体互相独立。 Domain利用OKMC研究了Fe-Cu合金的辐射损伤 ,在模拟中考虑了间隙原子(空位)的聚合、间隙原子(空位)团的发射、间隙原子-空位湮没、空位团对杂质的捕获、表面对于空位(团)的捕获、甚至辐射轰击引起的间隙原子(空位)萌生、增殖等等事件。从中可以看出,对于OKMC,一个棘手的问题是需要预先想到所有的事件。此外,OKMC所需要的所有参量基本上不可能通过原子模拟直接获得,人为的设定参数不可避免。这些参数会在多大程度上决定OKMC的准确程度无法预先得知。需要根据现有的实验数据进行修改、调试。这些困难都限制了OKMC的普及。但是如前所述,这种方法可以有效地进行大尺度的时间(天)和空间模拟( m以上),而且对于缺陷的描述更为直接和符合直观,因此在材料研究中同样占有重要的地位。 KMC的若干进展 等时蛙跳算法( -leap KMC) 引入这类算法前,我们先简要介绍两个常用的离散分布:泊松分布(Poisson Distribution, PD)以及二项式分布(Binomial Distribution, BD)。 泊松随机数 定义为给定事件发生率 以及观测时间 下事件发生的数目。如果用 代表给定的发生数目,则 恰好等于 的概率是一个泊松分布: (14) 也即如果产生一个泊松随机数序列 ,则这个序列符合泊松分布PD。需要指出, 是无界的,范围是任意非负整数。 与其类似,二项式随机数 定义为重复 次独立的成功率均为 的伯努利实验的成功数。如果给定成功数 ,则 恰好等于 的概率是一个二项式分布: (15) 为了和本文中的标号一致,我们将跃迁 的成功率 表示为 ,将方程(15)重新写为 (16) 与PD不同,BD中的 是有界的,为0到 之间的任意整数。 可以看出,如果将这两种随机数理解为给定跃迁路径(发生率为 )在一定的时间步长( )内发生的次数,则可以立即运用于粒子数空间 内的KMC中,其时间范围可以得到很大提高。这就是等时蛙跳算法 -leap KMC 。 -leap KMC方法最早由Gillespie提出,通过PD ,在给定时间步长 下决定每个跃迁途径 发生的次数 ,然后将体系移到这些跃迁累计发生后产生的新态。因为每一步模拟体系不止发生一次跃迁,所以模拟的速度可以大大加快。我们以多种反应物在化学反应炉中的演化为例加以详细说明。 设在炉内共有 种分子 ,在时刻 各自的个数为 ,则在粒子数空间 中 构成一个矢量 ,或称为一个组态 。总共有 种反应路径 。对于给定的 ,反应速率 是占据态 的函数。此外,我们单独定义一个矢量 ,其中 由 通过反应 而得,即 。因此 的元素 代表反应 所引起的 种分 子的数目变化。由此建立算法如下: VI. PD- -leap KMC 给定恒定时间步长 ; 对于每条反应途径 按照方程(14)生成泊松随机数序列 ,按照模拟步数从序列中找出每种反应发生的次数 ; 按照 更新体系; 模拟时间前进 ; 重复上述过程。 Gillespie仔细考虑了 的选择条件,称为蛙跳条件(leap condition): (17) 其中 如前所述, 没有上限,因此即使 满足方程(17),在模拟过程中也可能会出现某种分子总数为负数的情况,这显然不符合实际,也是PD- -leap KMC的一个弱点。Tian和Burrage提出可以用二项式分布BD取代PD,因为 有上限,所以可以有效的解决这个问题。此外,他们对于某种分子参与多种反应的情况也进行了考虑,从而提高了 -leap KMC的稳定性和普适性。其算法如下: VII. BD- -leap KMC 给定恒定时间步长 ,满足 ; 对于每条反应途径 按照方程(16)生成二项式随机数序列 ,按照模拟步数从序列中找出每种反应发生的次数 ;如果有某种分子 同时参与了 和 ,则首先生成 然后通过 确定 的发生次数; 按照 更新体系; 模拟时间前进 ; 重复上述过程。 步骤1、2中出现的 是参与反应 的各类分子的个数的最小值,即 此外Gillespie,Tian和Burrage还考虑用预测 时刻体系状态的方法来进一步提高精度。具体请参阅文献 。如果 -leap算法和OKMC结合起来可以进一步加大模拟的时间尺度,但是目前还没有这方面工作的介绍。 基于即时动态分析的KMC方法(on-the-fly KMC) 到目前为止,所有的KMC都是在模拟之前建立好所有可能的跃迁途径。但是实际上"所有"是很难达到的目标。因为很多途径远离一般的直觉,而且在演化过程中体系有可能寻找到新的途径。因此,跃迁途径应该随着体系的演化而不断更新,是动态的过程。Henkelman和Jönsson将途径搜索和KMC结合起来,提出了即时动态的KMC方法 on-the-fly KMC :在每一个稳态(势阱)处,选定一个激活原子(一般是近邻不饱和的原子),在以其为中心的局部区域内引入呈高斯分布的随机位移,即加入扰动,然后利用dimer方法 寻找所有可能的跃迁途径。建立起即时的途径库之后再通过普通KMC算法进行模拟。显然,这种方法的计算量非常大,需要一个有效的标识方法来识别所有已经遇到过的途径以避免重复计算。Trushin提出可以利用包括至激活原子第三壳层的所有格点(顺时针排列)的占据与否(分别标记为1和0)来构建二进制数,从而根据始态和终态的标号来唯一地标识某条途径 ,例如,激活原子标为"1",其第一壳层的原子标记为"2","3", ," ",依此类推,然后将原子的标号" "作为二进制的数位 ,这样,每一个稳态都有唯一的一个二进制数与之对应。虽然仍不完善,但是这种方法具有非常清晰的逻辑结构,具有良好的扩展性。 和 KMC方法 一般情况下KMC的大部分时间花费在选择途径上。如果采用普通的方法,即循环叠加 直至 从而选择 ,这种情况下计算用时与途径数目 呈线性增长,即 算法。按照二叉树安排不同数目的 之和可以改进到 : 将所有 作为树叶(不足2整数次幂的叶子由0填补),每两片叶子之和作为父节点,依次类推直至树根 。一株二叉树构建完毕后,生成一个随机数 ,由树根开始寻找 ,若 不大于左子节点 ,沿左分支向下寻找;否则设 ,沿右分支向下寻找,直至树叶 ,体系按途径 演化。 Slepoy和Thompson等进一步提出分流-拒绝(composition-rejection, CR)方法以实现搜索用时与途径总数无关的 算法 :(1)先找出 和 ,按照( )将 条途径分为 个组, ,(2)然后生成随机数 ,按照上述二叉树寻找 所落入的组别 ,(3)再生成两个随机数 和 ,设 ,其中 为该组中包含的途径数, ,如果 ,则选择途径 ,否则重复步骤(3),直至有一条途径被选中为止。可以看出,CR算法虽然搜索速度很快,但是每一步KMC需要产生至少4个随机数( 用于确定前进时间),因此需要高质量的随机数发生器。不过对于跃迁途径复杂的体系演化而言,CR的 效率无疑是很有吸引力的。 A.F. Voter, Radiation Effects in Solids (Springer 2006) p. 1-24. H. Eyring, J. Chem. Phys. 3 , 107 (1935). P. Kratzer, Multiscale Simulation Method in Molecular Science (NIC Serices, Vol. 42 , Forschungszentrum, Jülich 2009) p. 51-76. E.J. Dawnkaski, D. Srivastava and B.J. Gamson, J. Chem. Phys. 102 , 9401 (1995). A.F. Voter and J.D. Doll, J. Chem. Phys. 80 , 5832 (1984). A.F. Voter, Phys. Rev. B 34 , 6819 (1986). D.R. Mason, T.S. Hudson and A.P. Sutton, Comp. Phys. Comm. 165 , 37 (2005). M.A. Novotny, Phys. Rev. Lett. 74 , 1 (1994); Erratum 75 , 1424 (1995). C. Domain, C.S. Becquart and L. Malerba, J. Nucl. Mater. 335 , 121 (2004). D.T. Gillespie, J. Chem. Phys. 115 , 1716 (2001). T. Tian and K. Burrage, J. Chem. Phys. 121 , 10356 (2004). G. Henkelman and H. J\'{o}nsson, J. Chem. Phys. 115 , 9657 (2001). G. Henkelman and H. J\'{o}nsson, J. Chem. Phys. 111 , 7010 (1999). O. Trushin, A. Karim, A. Kara and T.S. Rahman, Phys. Rev. B 72 , 115401 (2005). M.A. Gibson and J. Bruck, J. Phys. Chem. A 104 , 1876 (2000). A. Slepoy, A.P. Thompson and S.J. Plimpton, J. Chem. Phys. 128 , 205101 (2008).
个人分类: 原理|6072 次阅读|0 个评论
《蒙特卡洛》——一部优秀的小制作影片
热度 1 陈安博士 2012-1-6 10:17
  我一看到《蒙特卡洛》的海报就喜欢上了,并且猜测它一定是部好看的小制作影片。   果然,还真是。   相比于影片主要部分的蒙特卡洛之旅,其实前面更好玩的是巴黎之旅,三位美国姑娘报了一个巴黎的旅行团,结果,旅行团烂得不行,几乎可以和中国的旅行团相媲美。反正都是许诺的都没有兑现,其中一个镜头是拿着宣传的旅馆房间的传单对照着实际的住处,简直就是一个Demo一个真实版——差别大了去了。   打开旅馆的窗户,发现对面一个胖大的男人正在浴盆里洗澡,肚子大到浴盆根本盛不下。   这是巴黎设计的问题,据说当年为了显示巴黎的浪漫,故意把浴缸涉及成了对着大街的模式,好让巴黎的浪漫能够深入到日常人的生活中去,尤其是美人沐浴还能隐约看到,让人馋的痒痒。   更有趣的是,登埃菲尔铁塔,三个姑娘还在上面,旅行团已经上车走人了,三个姑娘拼命跑下来,车却刚好离去——把她们郁闷得够呛。   后面的故事其实一般,无非是因为其中一个姑娘长得象某名媛,所以引来误会,她们甚至搭乘私人班机去了蒙特卡洛,有王子帅哥啥啥的伺候着,爽得不行。   再联想起自己的巴黎之行,我乐得多次合不拢嘴,我这人是个很容易被逗乐的人,即便听一个听了10遍的老笑话,都会笑得不行,而这次基本都是半新的笑料,当然忍不住地笑开了花。   如果你有机会,建议看看这部电影。这个和我以前看《我的盛大希腊婚礼》有点接近。   当然,最后的结果都是各自收获了完美的爱情,这样的结局让人感动,为这个愈发显得没有爱只有欲的世界增添了一些亮色。
个人分类: 艺论|4126 次阅读|0 个评论
快感快感
热度 1 JRoy 2011-11-3 09:07
%%很多东西沉下去心去做,才发现很简单 是夜,偶然的一个冲动,觉得老是遗传算法遗传算法的提,结合粒子滤波怎么样?(虽然自己做的只是粒子滤波) 一鼓劲,晚上从7点多到10点多 蒙特卡洛链 MCMC,遗传算法GA 和粒子群PSO 都在粒子滤波框架下实现了 其中就GA强化粒子滤波的方法稍微多调了两圈,MCMC和PSO的都不过两次成功,效果很不错 日了去了,快感快感....... 晚上bitter庆祝一下 丫的,要是换在一年前,我都不敢去想把它们都做出来,更不要提一晚上。问题就出在这,不敢想上,更没有意愿去做 这说明什么:很多时候我们都是吓怕的,而且都是被自己吓怕的 (如果你不承认是吓得话,那就是给自己“找借口”怕了) 你去做,真的发现很简单,不是我在得瑟 这三个程序,我一点别的程序也没参考,就看三个方法的基本原理;事实上,如果我看了别人的程序,反倒可能出不来了 因为世界上,总有80%的人看着别人的光艳跟着跑,老是被落下。是的,老是被落下 不只是技术
个人分类: 科研笔记|3572 次阅读|2 个评论
[转载]关于蒙特卡洛(Monte Carlo)方法的详细讨论和基于EXCEL与Crystal
chunhuizhang 2011-10-27 02:13
http://blog.sina.com.cn/s/blog_6a656bb40100pn43.html
0 个评论
性质传递、社会动力学、蒙特卡洛
yanghualei 2011-9-16 07:55
随着某种参量的改变,如果某事物序列无尽的趋近于某特定事物,进而收敛,则正在改变的事物列的某种性质会传递到被收敛的事物上。 而传递的这部分性质,是此事物在收敛的过程中相继转变为其他事物所都具备的,也就是此性质是 改变中的不变量 。这可以用定义在一空间上收敛函数列来说明,如果一函数列在此空间上连续并且收敛于定义在此空间上的一函数,则被收敛的函数也连续。 如果要建立 社会动力学 ,把自然科学中的力概念引入社会分析中,则必须考虑一个量,就是类似自然界中质量的概念,其在自然界的受力分析中,其是一个惯性量,是事物保持原状态的能力。如对某两个行业投入相同的资本,也可以看做一个力,此力看做买力或者卖力,因为不同的商品性质,如单价和数量不同,最终作用这个卖力或买力后,其价格变化的幅度也将不同。 个人理解:“对于力的社会含义就是激励,而激励一般表征为利润。而类似质量的惯性量就是资本量,或称为成本”。 有一 蒙特卡洛 的方法,挺感兴趣的,以前认为估计的参数的方法用数据,但这种方法估计参数的方法也是用数据,但这种数据的来源比较特殊。其是自己设计一个随机实验,其借助概率的方法获得。基本原理是:“ 若某参数与一个概率有关,且此概率可通过做实验获得(概率是事件发生的频率),则通过设计的社会随机实验,用频率估计概率,用概率估计参数,进而获得参数的近似值”。
个人分类: 交叉科学|3319 次阅读|0 个评论
一个蒙特卡洛的程序
Kupeprntlkn 2011-5-8 17:31
一个蒙特卡洛的程序
前两天帮人写了一个关于蒙特卡洛对价格估算的程序,用MATLAB和C++实现,具体算法如下: 下面上传它的MATLAB程序,C++程序相应做些修改就可以,但要考虑到循环数组以及累加的实现,没有用指针实现。 Monte.m
个人分类: 科研相关|1459 次阅读|0 个评论
[转载]如何使用Maple进行Black-Scholes 期权定价?
COMSOLFEM 2011-3-2 17:22
Black-Scholes 期权定价模型 本文使用了三种不同的方式计算期权定价,经典的 Black-Scholes 模型、蒙特卡洛模拟( Monte Carlo )、和 Black-Scholes 微分方程。 —— 模型和原文献 » 下载 用户资源 中文资料下载 Maple 用户论坛 Maple 应用下载中心 Maple Primes - 在线支持 Maple 和 MapleSim 试用申请 Black-Scholes Model In this application example, we want to compute the option price using three different methods. The first method is to derive the analytical solution to the option price based on the classical Black-Scholes model. Next, we compute the option price through Monte Carlo simulation based on the Black-Scholes model for stock price estimation. Finally, we use the Black-Scholes differential equation model to estimate the option price.
个人分类: 用户故事|3111 次阅读|0 个评论
蒙特卡洛方法——求圆周率
sboyer 2010-11-30 22:10
半径为1的圆(假定圆心为坐标原点)面积为 (以下用pi表示 ),作圆外接正方形(各边与坐标轴平行),则正方形面积为4。设(X,Y)服从该正方形中的二维均匀分布,则随机分布点位于圆内的概率P=pi/4,于是pi=4*P,对于概率P可用蒙特卡洛方法模拟计算,下面给出一个简例。 n=input('请输入随机数个数'); x=2*(rand(1,n)-0.5); y=2*(rand(1,n)-0.5); r=sqrt(x.^2+y.^2); r(r=1)=1; r(r1)=0; pai=4*sum(r)/n;
个人分类: 科研笔记|8990 次阅读|0 个评论
[转载]蒙特卡洛方法——一维无穷限积分
sboyer 2010-11-29 16:26
本文转载自: http://blog.macro2.org/2010-10/%e4%b8%80%e7%bb%b4%e6%97%a0%e7%a9%b7%e9%99%90%e7%a7%af%e5%88%86-%e8%92%99%e7%89%b9%e5%8d%a1%e6%b4%9b%e6%96%b9%e6%b3%95.html 一维无穷限积分-蒙特卡洛方法 前一篇Blog介绍了基于 quad() 函数计算无穷上下限积分的内容,此处我们介绍使用蒙特卡洛模拟的方法计算无穷上下限积分。关于蒙特卡洛方法的原理此处仅简要表述,不作详细展开。原始的积分形式是: 然后我们选择一种随机数分布,这个分布要求满足能够完整覆盖 区间,用g(x)来表示这个随机分布的概率密度函数(PDF),于是有下列的变换 然后我们就只要生成 区间内的符合g(x) 分布的一系列随机数 (x1, x2, ) ,计算 f(x)/g(xi) 的值,最后求平均值即可。例如计算: 可以选择 之间的均匀分布,此时g(x)=1/2, 于是需要用随机数计算的函数值为 exp(-x)/(1/2),代码此处就不写了。 上面我们看到了,如果 是有限区间,问题很好解决,只要生成就在此区间上的均匀分布即可,可是如果 是无穷区间呢? 均匀分布是不行的,这是我们可以选择一个无穷区间分布,常用的分布可以选用正态分布(不是因为它计算起来最简单,而是因为这种分布的随机数用得最多)。这里我们遇上一个麻烦,就是正态分布的PDF(概率密度函数)很复杂,接下来我们用 N(x) 来表示这个概率密度函数: 标准状态分布的mu=0, sigma=1; 我们可以在 Matlab 中定义标准正态分布的概率密度函数 N() : N=@ ( x ) ( exp ( -x.^ 2 / 2 ) / sqrt ( 2 * pi ) ) ; 例如我们要计算积分 需要计算的函数是exp(-x)/N(x),编程代码不是很复杂,生成一个随机数并计算上述函数的代码如下: f2=@ ( x ) ( exp ( -x.*x ) ) ; x= randn x = - 2.25884686100365 f2 ( x ) /N ( x ) ans = 0.195488047891914 我们用向量化的方法一次性生成很多个(N=10000) 随机数,最后求平均值就是蒙特卡洛方法计算得到的积分值了。 X= randn ( 100000 , 1 ) ; result=f2 ( X ) ./N ( X ) ; mean ( result ) ans = 1.7774572958693 由于正态分布取值区间是 , 如果要计算 就需要添加一个判断语句,将生成的标准正态分布随机数序列中的不在 区间内的X对应的 f(x) 的值全部计算为0即可(注意,这样做效率不高,因为如果直接设置为0的X占的比重很大的话,会造成一定的空间浪费,解决这个问题很简单,用数学上的条件分布推导一下就可以了。 代码: X= randn ( 100000 , 1 ) ; result= zeros ( size ( X ) ) ; result ( X= 1 ) =f2 ( X ( X= 1 ) ) ./N ( X ( X= 1 ) ) ; ans = 0.358940545480455
个人分类: 科研笔记|5354 次阅读|0 个评论
[转载]二十世纪著名算法
热度 1 jroy 2010-11-27 10:30
二十世纪是计算机和信息科学开启和飞速发展的时期,各种算法应运而生。可以说,算法的发展仍将继续,而且将会进入更宽广的领域,解决更复杂的问题。正如 Henry Petroski 调侃所言:“ 计算机软件产业最为惊人的成就,是其持续不断地放弃硬件产业的惊人成果和稳定性。 ” 未来的算法发展将会给人类进步带来更为深远影响。在此回顾一下二十世纪影响较为巨大的一些算法, 作为对下一个百年(剩余的九十年)的期待。 二十世纪七大算法: 1946年 蒙特卡洛方法; 1951年 矩阵计算的分解方法; 1959~1961年 计算矩阵特征值的QR算法; 1962年 快速排序算法; 1965年 快速傅利叶变换算法; 1977年 整数关系探测算法; 1987年 快速多极算法。 【另一版本】 二十世纪最好的十大算法: 20世纪最好的算法,计算机时代的挑选标准是对科学和工程的研究和实践影响最大。下面就是按年代次序排列的20世纪最好的10个算法。 1. Monte Carlo方法 1946年,在洛斯阿拉莫斯科学实验室工作的John von Neumann,Stan Ulam和Nick Metropolis编制了Metropolis算法,也称为Monte Carlo方法。Metropolis算法旨在通过模仿随机过程,来得到具有难以控制的大量的自由度的数值问题和具有阶乘规模的组合问题的近似解法。数字计算机是确定性问题的计算的强有力工具,但是对于随机性(不确定性)问题如何当时并不知晓,Metropolis算法可以说是最早的用来生成随机数,解决不确定性问题的算法之一。 2. 线性规划的单纯形方法 1947年,兰德公司的Grorge Dantzig创造了线性规划的单纯形方法。就其广泛的应用而言,Dantzig算法一直是最成功的算法之一。线性规划对于那些要想在经济上站住脚,同时又有赖于是否具有在预算和其他约束条件下达到最优化的能力的工业界,有着决定性的影响(当然,工业中的“实际”问题往往是非线性的;使用线性规划有时候是由于估计的预算,从而简化了模型而促成的)。单纯形法是一种能达到最优解的精细的方法。尽管理论上讲其效果是指数衰减的,但在实践中该算法是高度有效的——它本身说明了有关计算的本质的一些有趣的事情。 3. Krylov子空间叠代法 1950年,来自美国国家标准局的数值分析研究所的Magnus Hestenes, Eduard Stiefel和Cornelius Lanczos开创了Krylov子空间叠代法的研制。这些算法处理看似简单的求解形为Ax=b的方程的问题。当然隐藏的困难在于A是一个巨型的n*n 矩阵,致使代数解x=b/A是不容易计算的(确实,矩阵的“相除”不是一个实际上有用的概念)。叠代法——诸如求解形为Kx(k+1)=Kx(k)+b-Ax(k)的方程,其中K 是一个理想地“接近”A 的较为简单的矩阵——导致了Krylov子空间的研究。以俄罗斯数学家Nikolai Krylov命名的Krylov子空间由作用在初始“余量”向量 r(0)=b-Ax(0)上的矩阵幂张成的。当 A是对称矩阵时,Lanczos找到了一种生成这种子空间的正交基的极好的方法。对于对称正定的方程组,Hestenes 和Stiefel提出了称为共轭梯度法的甚至更妙的方法。过去的50年中,许多研究人员改进并扩展了这些算法。当前的一套方法包括非对称方程组的求解技巧,像字首缩拼词为GMRES和Bi-CGSTAB那样的算法。(GMRES和Bi-CGSTAB分别首次出现于1986和1992 SIAM journal on Scientific and Statistical computing(美国工业与应用数学学会的科学和统计计算杂志)。 4. 矩阵计算的分解方法 1951年,橡树岭国家实验室的A1ston Householder系统阐述了矩阵计算的分解方法。研究证明能把矩阵因子分解为三角、对角、正交和其他特殊形式的矩阵是极其有用的。这种分解方法使软件研究人员能生产出灵活有效的矩阵软件包。这也促进了数值线性代数中反复出现的大问题之一的舍入误差分析问题。 (1961年伦敦国家物理实验室的James Wilkinson基于把矩阵分解为下和上三角矩阵因子的积的LU分解,在美国计算机协会(ACM)的杂志上发表了一篇题为“矩阵逆的直接方法的误差分析”的重要文章。) 5. Fortran最优编译程序 1957年,John Backus在IBM领导一个小组研制Fortran最优编译程序。Fortran的创造可能是计算机编程历史上独一无二的最重要的事件:科学家(和其他人)终于可以无需依靠像地狱那样可怕的机器代码,就可告诉计算机他们想要做什么。虽然现代编译程序的标准并不过分――Fortran I只包含23,500条汇编语言指令――早期的编译程序仍然能完成令人吃惊的复杂计算。就像Backus本人在1998年在IEEE annals of the History of computing 发表的有关Fortran I,II, III的近代历史的文章中回忆道:编译程序“所产生的如此有效的代码,使得其输出令研究它的编程人员都感到吓了一跳。” 6. 矩阵本征值计算的QR算法 1959—61年,伦敦Ferranti Ltd.的J.G. F. Francis找到了一种称为QR算法的计算本征值的稳定的方法。本征值大概是和矩阵相连在—起的最重要的数了,而且计算它们可能是最需要技巧的。把—个方阵变换为一个“几乎是”上三角的矩阵――意即在紧挨着矩阵主对角线下面的一斜列上可能有非零元素――是相对容易的,但要想不产生大量的误差就把这些非零元素消去,就不是平凡的事了。QR 算法正好是能达到这一目的的方法,基于QR 分解, A可以写成正交矩阵Q 和一个三角矩阵R 的乘积,这种方法叠代地把 A=Q(k)R(k) 变成 A(k+1)==Q(k)R(k) 就加速收敛到上三角矩阵而言多少有点不能指望。20世纪60年代中期QR 算法把一度难以对付的本征值问题变成了例行程序的计算。 7. 快速分类法 1962:伦敦Elliott Brothers, Ltd.的Tony Hoare提出了快速(按大小)分类法.把n个事物按数或字母的次序排列起来,在心智上是不会有什么触动的单调平凡的事。智力的挑战在于发明一种快速完成排序的方法。Hoare的算法利用了古老的分割开和控制的递归策略来解决问题:挑一个元素作为“主元”、把其余的元素分成“大的”和“小的”两堆(当和主元比较时)、再在每一堆中重复这一过程。尽管可能要做受到严厉责备的做完全部N(N-1)/2 次的比较(特别是,如果你把主元作为早已按大小分类好的表列的第一个元素的话!),快速分类法运行的平均次数具有O(Nlog(N)) 的有效性,其优美的简洁性使之成为计算复杂性的著名的例子。 8. 快速Fourier变换 1965年,IBM的T. J. Watson研究中心的James Cooley以及普林斯顿大学和AT&T贝尔实验室的John Tukey向公众透露了快速Fourier变换(方法)(FFT)。应用数学中意义最深远的算法,无疑是使信号处理实现突破性进展的FFT。其基本思想要追溯到Gauss(他需要计算小行星的轨道),但是Cooley—Tukey的论文弄清楚了Fourier变换计算起来有多容易。就像快速分类法一样,FFT有赖于用分割开和控制的策略,把表面上令人讨厌的O(N*N) 降到令人满意的O(Nlog(N)) 。但是不像快速分类法,其执行(初一看)是非直观的而且不那么直接。其本身就给计算机科学一种推动力去研究计算问题和算法的固有复杂性。 9. 整数关系侦查算法 1977年,BrighamYoung大学的Helaman Ferguson 和Rodney Forcade提出了整数关系侦查算法。这是一个古老的问题:给定—组实数,例如说x(1),x(2),…,x(n) ,是否存在整数a(1),a(2),..,a(n) (不全为零),使得 a(1)x(1)+a(2)x(2)+…+a(n)x(n)=0 对于n=2 ,历史悠久的欧几里得算法能做这项工作、计算x(1)/x(2) 的连分数展开中的各项。如果x(1)/x(2) 是有理数,展开会终止,在适当展开后就给出了“最小的”整数a(1)和a(2) 。欧几里得算法不终止——或者如果你只是简单地由于厌倦计算——那么展开的过程至少提供了最小整数关系的大小的下界。Ferguson和Forcade的推广更有威力,尽管这种推广更难于执行(和理解)。例如,他们的侦查算法被用来求得逻辑斯谛(logistic)映射的第三和第四个分歧点,b(3)=3.544090 和 b(4)=3.564407所满足的多项式的精确系数。(后者是120 阶的多项式;它的最大的系数是257^30 。)已证明该算法在简化量子场论中的Feynman图的计算中是有用的。 10. 快速多极算法 1987年,耶鲁大学的Leslie Greengard 和Vladimir Rokhlin发明了快速多极算法。该算法克服了N体模拟中最令人头疼的困难之一:经由引力或静电力相互作用的N个粒子运动的精确计算(想象一下银河系中的星体,或者蛋白质中的原于)看来需要O(N*N) 的计算量——比较每一对质点需要一次计算。该算法利用多极展开(净电荷或质量、偶极矩、四矩,等等)来近似遥远的一组质点对当地一组质点的影响。空间的层次分解用来确定当距离增大时,比以往任何时候都更大的质点组。快速多极算法的一个明显优点是具有严格的误差估计,这是许多算法所缺少的性质。
个人分类: 分享|5596 次阅读|2 个评论
蒙特卡洛应用的一个小例子
agri521 2010-7-7 14:08
在2006年,看到一篇文献中介绍,使用蒙特卡洛方法与模型结合进行品种(株型)设计。我就开始注意这种方法。今天我使用一个小例子说明一下这种方 法究竟是个什么东东。 蒙特卡洛方法也称为随机模拟方法或统 计试验方法,它的基本思想是,为了判别预测对象的未来发展,首先建立一个概率模型或随机过程,使它的参数等于问题的解,然后通过对模型,或过程的观察抽样 试验,来计算所求参数的统计特征, 最后给出所求解的近似值。 摘自 应用蒙特卡洛方法对黑龙江创业农场水稻单产变化的预测, 生物数学学报, 2003 我们使用蒙特卡洛方法估算一下油田的可采储量。 第一步:分析影响因子,获取估算模型。 第二步:分析估算模型参数的分布类型及取值范围。 第三步:借助工具,实现随机抽样,对模型求解。 在这里我们使用的是R语言,你也可以使用SAS语言,Matlab等,也可以使用Excel或蒙特卡洛专用软件。 ##加载软件包 require(Runuran) ##含油面积 A 均匀分布 A - runif(5000,min=1500,max=3000) ##水饱和度Swi 均匀分布 Swi - runif(5000,min=0.15,max=0.25) ##原油体积系数Boi 均匀分布 Boi - runif(5000,min=1.1,max=1.3) ##孔隙度(%)phi 三角分布 phi - urtriang(n=5000,a=0.13,m=0.20,b=0.26,lb=0.13,ub=0.26) ##采收率RF 三角分布 RF - urtriang(n=5000,a=0.3,b=0.45,m=0.4,lb=0.3,ub=0.45) ##油层厚度h 三角分布 h - urtriang(n=5000,a=50,b=130,m=100,lb=50,ub=130) ## 容积法估算可采储量 Np - 7758*A*h*phi*(1-Swi)*RF/Boi 第四步:对模型结果进行统计分析 注:在R语言中,我找到三个三角分布随机数生成函数,分别在软件包CircStats、Runuran和mc2d中。 require(CircStats) rtri(n,r) require(Runuran) urtriang(n=,a=,b=,m=,lb=a,ub=b) require(mc2d) triangular(n,min=,mod=,max=) install.packages(mc2d) 本例选自:刘清志,马二领。用Excel实现油气可采储量估算的蒙特卡洛模拟分析,技术经济,2009,28(9):63-87
个人分类: 统计计算|13524 次阅读|1 个评论
生活中的决定与数值计算方法
chemicalbond 2010-4-25 23:19
杨玲决定读博士,赵薇决定把自己嫁出去 , 冯小刚和徐帆为玉树重建捐款 20 万,美国决定进攻伊拉克,等等,都是人们或者某个集体,在每天的活动中作出的决定。 每个星期天早上 9 点的 CBS 节目 SUNDAY MORNING 是我最喜欢的电视节目。今天的一个主题是关于 DECISION 。看完之后,我也就决定了要写这篇文章。 人生就是一个接一个的决定过程。小的方面讲是可以是个简单的决定,比如晚上该吃点啥,大的方面讲完全可以算是决策,比如关于婚姻大事的决定。决定过程是如何进行的?其本质不外乎是大脑的一些计算过程。 数值计算中有很多不同的算法,似乎我们的大脑也在反复地应用它们。下面简单地提及分子模拟中常见的几种方法。 蒙特卡洛 是一种常见的算法,它既考虑了一定的随机性,也加上了一些约束条件,在实际中有广泛的应用;它的名字暗示该方法是有风险的,不过,如果约束条件过硬,出牌的次数够多,成功的机会还是蛮大,该赌的时候就得赌一把。 分子动力学模拟 的本质上就是牛顿第二定律的数值解。给定初始的位置和时间步长,根据各原子受力大小和方向,便可以决定下一步运动的方向和位移;因为它模拟的是 自然 的物理过程,这个方法有很多优势,尤其是对于含有大量自由度的生物大分子。不过由于它的机械性,其结果往往取决于初始条件的设置,在生活中用它来做决定更不可取,否则便成了随波逐流了,非常消极。 机器学习 是一种近年来非常流行的算法,它主要是应用统计的一些原理对已知的信息进行分析,再把结论用来分析未知的世界。这种方法一般适用于含有多变量的大量相关数据的体系,而那些变量之间的关系并不明朗。显然,这种方法得出的结果也不一定是完全可靠的,尤其是测试组(未知)数据和训练组(已知)数据之间没有太多的共性。这种方法几乎老少皆知,因为每个人的生活中都在不断地积累经验,再把它用来指导以后的生活。 哪种方法更有效,大概要看具体的情况,很多时候是综合应用不同的方法。对于一个成熟的方法,只有输入的信息量足够多,足够真实,那么得到满意的输出结果是不难的。否则,只能给出一个信噪比很小的值得怀疑的结论。 实际生活中,人们在做决定前,也在有意无意地进行应用类似上面的那些算法。不过有的人是因为算法不好,或者信息不够,就容易犹豫不决,优柔寡断,而有些人要么因为经验丰富,要么因为大脑的内存大运算速度快,便很容易做出果断的正确的决定,比如早年神机妙算的诸葛孔明,和未来人们生活中的各类机器人。 有人认为 日常生活中的智能化机器人 将是下一个 BIG THING , 至少是其中之一。期待着那一天早日到来,并且象个人电脑一样廉价,至少它可以每天给我搓搓背,再聪明点的话就应该知道如何逗人开心。 至少那些活在理论上是可以训练的。
个人分类: 科普与新知|3127 次阅读|1 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-14 07:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部