近期算法笔记

算法书籍 莫队算法 最大团 最短路 A _搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A_搜索算法是最佳优先搜索的范例。 集束搜索(又名定向搜索,Beam Search)——最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只能在每个深度中发现最前面的m个最符合条件的节点,m是固定数字——集束的宽度。 二分查找(Binary Search)——在线性数组中找特定值的算法,每个步骤去掉一半不符合要求的数据。 分支界定算法(Branch and Bound)——在多种最优化问题中寻找特定最优化解决方案的算法,特别是针对离散、组合的最优化。 Buchberger算法——一种数学算法,可将其视为针对单变量最大公约数求解的欧几里得算法和线性系统中高斯消元法的泛化。 数据压缩——采取特定编码方案,使用更少的字节数(或是其他信息承载单元)对信息编码的过程,又叫来源编码。 Diffie-Hellman密钥交换算法——一种加密协议,允许双方在事先不了解对方的情况下,在不安全的通信信道中,共同建立共享密钥。该密钥以后可与一个对称密码一起,加密后续通讯。 Dijkstra算法——针对没有负值权重边的有向图,计算其中的单一起点最短算法。 离散微分算法(Discrete differentiation) 动态规划算法(Dynamic Programming)——展示互相覆盖的子问题和最优子架构算法 欧几里得算法(Euclidean algorithm)——计算两个整数的最大公约数。最古老的算法之一,出现在公元前300前欧几里得的《几何原本》。 期望-最大算法(Expectation-maximization algorithm,又名EM-Training)——在统计计算中,期望-最大算法在概率模型中寻找可能性最大的参数估算值,其中模型依赖于未发现的潜在变量。EM在两个步骤中交替计算,第一步是计算期望,利用对隐藏变量的现有估计值,计算其最大可能估计值;第二步是最大化,最大化在第一步上求得的最大可能值来计算参数的值。 快速傅里叶变换(Fast Fourier transform,FFT)——计算离散的傅里叶变换(DFT)及其反转。该算法应用范围很广,从数字信号处理到解决偏微分方程,到快速计算大整数乘积。 梯度下降(Gradient descent)——一种数学上的最优化算法。 哈希算法(Hashing) 堆排序(Heaps) Karatsuba乘法——需要完成上千位整数的乘法的系统中使用,比如计算机代数系统和大数程序库,如果使用长乘法,速度太慢。该算法发现于1962年。 LLL算法(Lenstra-Lenstra-Lovasz lattice reduction)——以格规约(lattice)基数为输入,输出短正交向量基数。LLL算法在以下公共密钥加密方法中有大量使用:背包加密系统(knapsack)、有特定设置的RSA加密等等。 最大流量算法(Maximum flow)——该算法试图从一个流量网络中找到最大的流。它优势被定义为找到这样一个流的值。最大流问题可以看作更复杂的网络流问题的特定情况。最大流与网络中的界面有关,这就是最大流-最小截定理(Max-flow min-cut theorem)。Ford-Fulkerson 能找到一个流网络中的最大流。 合并排序(Merge Sort) 牛顿法(Newton’s method)——求非线性方程(组)零点的一种重要的迭代法。 Q-learning学习算法——这是一种通过学习动作值函数(action-value function)完成的强化学习算法,函数采取在给定状态的给定动作,并计算出期望的效用价值,在此后遵循固定的策略。Q-leanring的优势是,在不需要环境模型的情况下,可以对比可采纳行动的期望效用。 两次筛法(Quadratic Sieve)——现代整数因子分解算法,在实践中,是目前已知第二快的此类算法(仅次于数域筛法Number Field Sieve)。对于110位以下的十位整数,它仍是最快的,而且都认为它比数域筛法更简单。

Read More

这个不是很讲究的博客

功能列表 这个博客的雏形很早之前就写好了,但是一直没有挂上去,主要有这几个原因:一是写的不好,很多功能都没写全,写的也不太走心;二是长得有点丑,当然,这一点也可以放在功能不全这个问题里面。总而言之,就是不太讲究。这个不讲究还体现在之前的文章Latex适配没做好,等等。 完成博客的基本功能后,准备向着知识库的方向迈进一下,做成笔记形式的东西。其实做成笔记形式的东西并不难,把接口做好,然后写几个符合自己心意的前端就好了。只不过这时间上可能有点扛不太住,所以现在web方面做点事情,等以后有时间了,再去做别的。可以参考主题。 关于web 说一点观点,web这个东西随着app的盛行,可能生存空间就像是原来的pc,或者说伴随着pc吧,流量会变得小很多。这也是没办法的事情,虽然不至于被逼死。但是不能说这个东西就不做了,不现实。web会以另一种形式存在,比如说我们喜欢的web-app【微信小程序,支付宝小程序】等等继续存在,当然,还有大家称的h5【react-native】等等。 现在的公众如果需要什么功能,可能在手机商店先搜索的概率更大一些,这也对某些新型的创业公司提出了挑战。这个事情可能被其他人提出很多次了,可能我发现的有点晚了。 以后写文章还是要先列个大纲,然后往里面填写内容,写到这里我已经忘记我之前想说什么了。 web开发依旧是猛如虎,虽然现在机器学习又炒的很热,我也很不能免俗的投入到机器学习的学习热潮之中。。 这个博客用的技术 Django,Docker,Bootstrap;以后再添加什么再说。当然,还有SQLite等。 其中我觉得最有必要吹一下的还是Docker,Docker可能需要耗费你一周的时间进行学习,当然,因人而异,最初的时候我学习这门”技术“大概就是用了一个周的时间,然后就开始了几次测试;最初是因为一些云服务商提供这个东西【免费】我猜逼着自己去学,学了之后发现用的不太好——我觉得这个事情云服务商还是要背锅的,具体我就不点名了,做的真的非常不友好。不如自己去找两本书学习一下,以学习一个虚拟化技术为目标去学习。 听说最近阿里推出了自己的容器技术,不过我没有精力看——有是的确应该有的。容器的好处就是你可以在本地搞好配置清单,或者抄一份配置清单,然后ssh到服务器上面部署一下,过程非常流畅,很舒服。 我更喜欢作为什么 我想了一下,我更喜欢作为一个原型开发工程师——这个名词是我自己的发明的,我也没有上网去查查有没有类似的名词。原型开发工程师的意思是做一些人们想要做的东西,但是实现起来没有必要做的非常彻底的东西。原型开发工程师是很痛苦的,尤其是在设计完之后开始写代码的过程。不是说设计完了,这个东西就实现了。 话说如果人工智能能够做到我设计完就能实现,还不用我非得用一些特别的领域设计语言来做的话,那真是虎的一批啊。 原型的最好处是不用在一个地方死抠着,做出东西更有成就感,也更容易致富一些。这个地方牵扯手艺的问题。手艺的问题应该作为另一篇博文来讲一下。 回学校的一些感想 嗯,来读研了。感觉研究生是非常有必要读的,尤其是本身作为二本院校的毕业生,很多知识的宽度与深度都是不够的。搞过的东西听过的课重新搞一遍,感觉是不一样的。对于有些东西实现没有头绪,现在来看看,收获了很多的思路,也把解决许多老旧的问题,感觉自己的开发水平应该又上了一个台阶。应该属于内功的部分吧。 BUG RSS feed 存在问题【修改文章后会更改文章的时间线】 目录出现小问题 这个博客应该没有多少人关注,阅读量少的可怜。但是如果你有什么想法,可以先发邮件给我。svtter#qq.com。

Read More

避免一些负能量

谈谈生活。 突然不写技术方面的东西有点不习惯——写了许多技术的小稿子,但是没有完整的写出来的,也是有点不好意思——每个人生活都是有一个理念的,不管自己意识到没有,他都在那里。 同理心(英语:Empathy),或称做換位思考、神入或共情,指站在對方立場設身處地思考的一種方式,即於人际交往过程中,能够体会他人的情绪和想法、理解他人的立场和感受,并站在他人的角度思考和处理问题。 同理心 我想着重强调一下同理心这个东西。生活中很多问题,如果有了同理心,其实可以在很大程度上避免许多问题。就送餐小哥来说,对客户有了同理心,可以理解客户可能处在许多不同的状态,比较饿,很饿,不太饿。应对这几个状态,再考虑到自己的送餐速度,应该能够在一定程度上把握客户的心情。很饿,送餐速度又很慢,对要求又没有满足,肯定心情很差。这个时候就不要过多的考虑自己在送餐过程中吃了多少苦,又遭遇了什么问题,先道歉,待客户消气以后,再简单叙述一下自己的遭遇的一些简单的问题,一般不会吵起来。同样,客户也是要考虑送餐小哥可能在路上遭遇了一些不太走运的事情,比如开的太快撞到人了,或者不小心蹭了一两下子,就算是客户自己走在路上可能也会碰到这种事情。因为选择了外卖,本身在路段上就没有彻底的保证,所以,身为客户,要一定程度上接受速度慢的问题,多一些体谅。 就我自己而言,有了同理心,在他人的角度上思考的问题,理解,消气。然后从规则制度上,考虑这个问题,究竟他有没有过失。千万不要恶语相向。这样肯定不能解决问题。 不要太容易生气 你在路上总会碰见傻逼,这是很难避免的。不要为傻逼而生气,更不要因为一句话两句话动怒。二套有句话说的很对,要根据实际情况判断自己是否表现出生气。生气伤身。 我觉得,碰见让你生气的事情,就想明白一个问题,一般能让你生气的人都是傻逼,你要是为了一个傻逼的傻逼话而生气,你就落到和他一个境地了。当然,不要用我说的这句话来规劝别人,当人的火气真上来,是拦不住的,会起反效果。 不要责备压力大,心情已经不好的人 碰见这种事情,一定要控制好情绪。有脾气不能不释放,但是一定要选择方式释放。火气已经上来了,尽量选择不伤害他人的方式发泄。否则,轻则伤人,重则伤己。当你想要责备的人已经处于压力大,心情差的状态的时候,你责备的话只会起到反效果。这个时候被责备的人不会考虑自己的过失,反而会强化自己心情不好的那些方面,从而导致问题更加扩大。 不要试图教育一些已经很傻逼的人 他不会感谢你,也不会听你的劝告。敬而远之。当然,如果是挚友,可以考虑与之交流——但是如果是一个听不进话的人,你还是闭嘴吧,别浪费自己的感情了。 确实是一些比较幼稚的想法,希望不吝赐教。 本文保留所有权力,转载请联系作者。

Read More

那些年我所用过的博客

用过的博客数不胜数,丢掉的博文也是数不过来,在这里自己做一下总结,也是防止自己忘记之前使用过的那些个博客服务。 博客名 域名 使用时间 CSDN http://blog.csdn.net/svitter 2012 – 2014 博客园 http://www.cnblogs.com/svitter 2012 – 至今 github.io http://svtter.github.io 2014 – 至今 Leanote http://svtter.leanote.com 2014 – 至今 wordpress 缺失 不记得了 awesome-python-web http://139.

Read More

阿里云使用VNC

本来想用阿里云做vnc来远程一下完成一些事情,但是无奈速度有点慢,而且源还偶尔出问题,update能不能成功完全看脸【经常碰到,没有修改过aliyun的source】。不成功的表现是,apt-get告诉我broken depends,em…. 不过不是很妨碍相关的使用【才怪】。这是官方教程。 使用vnc在官方的教程上要这样修Xstartup才行。测试环境ubuntu 14.04。 #!/bin/sh export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & gnome-panel & gnome-settings-daemon & metacity & nautilus & gnome-terminal &

Read More

饥荒搭建教程收集

don’t starve together 饥荒正版,专用服务器搭建收集。 如果没有学过CS以及相关专业就没有看的必要了。。 Linux 搭建教程。对于mod的配置没有细说。 docker docker一键配置应该是最简单的方法,但是我目前对于docker的了解实在是垃圾。。明天买个阿里云测试一下docker。 steamCommunity上的教程 比较靠谱,但是针对Windows,一般人也不会通宵达旦的开着自己的电脑吧。。大概。 Linux Screen命令 用于保持持续运行。。不过似乎可以用别的方法,例如作为系统服务运行。 顺便发现了一个BUG就是使用sh启动的时候,lua似乎会按照../的方式向上层目录寻找导致mod读取失败。所以还是老老实实进入游戏文件start吧。 饥荒Linux服务器自动更新脚本 国外有人制作了docker,不过仔细看看,似乎难度也不是很高。打算自己羞羞的写个自动更新脚本,不过感觉过于简单,没有写出来的必要。给个思路即可,利用crontab在合适的时间干掉dont…,然后走steamcmd更新下,再重新启动即可。奈何自己从未认真研究过一本小书 ,说来惭愧。不过感觉对于Linux还是有一定的了解,也算是充分利用了知识。 PS:steam官方提供了更新脚本,但是有时候不是很好用,有时候会提示缺少token起不来。不过总体没有问题。 Docker 可以在daocloud上找到写好dockfile的DST,但是此类配置需要另外再书写教程,如果我单纯的推广不知道是否对daocloud的口。 后来看了看daocloud容器数量上,社区版大概x3,但是想要一个2048需要x16,花费有些大。。所以只能放弃了。 总结 如果没有财力,不打算赚钱,做DST真是有些费力。DST优点可能在于没有图形界面,资源方面不会有问题。但是现在的本本,最少也要4G内存,一般是不会出现资源问题,然而DST服务器,如果想要不花很多钱搞一个,还是比较困难的。

Read More