[原创] 蒙特卡罗算法 对比 拉斯维加斯算法

转载需注明出处:https://www.codelast.com/

查看本系列文章合集,请点击这里

  • 区别

讲到这里,稍微提一下,随机算法可以分为两类:蒙特卡洛算法 & 拉斯维加斯算法。
对蒙特卡洛算法来说,采样越多,越近似最优解
对拉斯维加斯算法来说,它永远给出正确解的随机化算法,总是给出正确结果,或是返回失败。
阅读更多

[原创] 蒙特卡罗方法的实例2:计算定积分

转载需注明出处:https://www.codelast.com/

查看本系列文章合集,请点击这里

为了对蒙特卡罗方法有一个直观的印象,本文再举一个实例(计算定积分),以说明蒙特卡罗方法的用途。

  • 什么是定积分

对于一个给定的正实值函数 f(x) ,它在一个实数区间 [a,b]上的定积分 \int_a^b {f(x)dx} 可以理解为在 OXY 坐标平面上,由曲线 (x,f(x))、直线 x=a,x=b以及x轴围成的曲边梯形的面积值。

阅读更多

[原创] 蒙特卡罗方法的定义、历史以及存在意义

转载需注明出处:https://www.codelast.com/

查看本系列文章合集,请点击这里

  • 定义

来自维基百科:

蒙特卡罗(洛)方法(Monte Carlo method),也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数来解决很多计算问题的方法。

也就是说,蒙特卡罗方法并不是指一种特定的算法,而是一类算法的总称,这种算法主要利用了“随机”来实现。 阅读更多

[原创] 用人话解释蒙特卡罗方法/Monte Carlo method(文章合集)

转载需注明出处:https://www.codelast.com/

蒙特卡罗(洛)方法(Monte Carlo method),也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数来解决很多计算问题的方法。
阅读更多

[原创] Flutter相关配置

转载请注明出处:https://www.codelast.com/
Flutter是什么?

Flutter是Google开源的移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。
Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。

在Ubuntu系统下,从零开始运行起来第一个Flutter程序不是那么容易的事情,有一些tricky的配置可能会浪费你很多时间。 阅读更多

[原创] 如何把一块硬盘上的Ubuntu系统完整复制到另一块硬盘上?

转载请注明出处:https://www.codelast.com/

最近我的Ubuntu台式机每隔两三天就会进入一种硬盘狂读+点击鼠标无反应的死机状态,由于SSD已经用了很多年,我非常担心它会随时挂掉,导致数据丢失的惨剧发生,于是我提前预防,买了块同品牌、同容量的SSD来替换它。但是从头开始重装系统+配置各种软件的过程实在太痛苦了,所以我决定做一次全盘复制,这样就能省去很多时间。
阅读更多

[原创] 如何用Jackson解析含有转义字符的JSON到Java对象?

转载请注明出处:https://www.codelast.com/

如果一个JSON字符串里有一个字段,它的值又是一个完整的JSON字符串,那么这时候,它可能会含有转义字符。举个例子,我们有一个文件  codelast.json,它的内容为一行字符串:

{"aaa":"{\"ccc\":\"ccc\",\"ddd\":\"ddd\"}","bbb":{"ccc":"ccc","ddd":"ddd"}}

现在要用Jackson解析它为一个Java对象,怎么做?
阅读更多

[原创] MAC配置(杂)

转载请注明出处:https://www.codelast.com/

(1)在MAC里安装Ubuntu虚拟机,使用共享文件夹
宿主机:MAC OS
虚拟机:Ubuntu 16.04
首先在Virtualbox软件里设置好永久性的共享文件夹,但你会发现Ubuntu里根本看不到设置的共享文件夹,原因是你需要在虚拟机中安装Virtual Guest Additions软件,方法:Devices->Insert Guest Additions CD Image...,然后Ubuntu就会自动开始安装Virtual Guest Additions软件,安装好之后重启Ubuntu虚拟机,你会看到在Ubuntu文件管理器的左栏中多了一个共享文件夹的链接,不要以为此时就大功告成了,事实上现在还不能用,只要你一点击它,就会提示没有权限,原因是你需要在Ubuntu虚拟机中把你的当前用户添加到vboxsf用户组中:

sudo adduser codelast vboxsf

然后重启Ubuntu虚拟机,再点击共享文件夹试试看,问题解决。
阅读更多

[原创] Ubuntu终端使用Privoxy代理

转载请注明出处:https://www.codelast.com/

在Ubuntu下,除了浏览器之外,为了能在系统全局层面上自动使用代理访问那些“不存在的网站”,有一个常用的做法就是,在Chrome的SwitchyOmega插件里的“自动切换”情景模式下“导出PAC”,得到一个PAC文件,放在磁盘的某个路径下(假设为:/home/codelast/OmegaProfile__.pac),然后在Ubuntu系统的网络设置里如下设置:
阅读更多

[原创] 解决MAC OS的"ssh-add: illegal option -- K"错误

转载请注明出处:https://www.codelast.com/

今天在MAC OS上用 brew install openssh 之后,再用iTerm2打开一个新窗口的时候,都会提示以下错误:

ssh-add: illegal option -- K

usage: ssh-add [options] [file …]

在我的例子中,是由于安装openssh之后装上了一个新的ssh-add程序,和MAC OS原来自带的ssh-add有些不一样,MAC自带的ssh-add程序包含-K参数,而openssh带的那个ssh-add没有-K参数,因此不能识别,从而造成了错误。

阅读更多