13-11
06

恶趣味调侃一则。。

没事先来水一篇日常。。。

今天办公室坐我前面的一位博士生突然伸着懒腰说:

唉,我都摸透了现在那些发论文的模式了,如果我数学功底好的话,我已经有20篇论文了。。。

然后我说:

我给你讲一则故事吧。。


阅读全文…

分类: 标签:
13-11
02

生命游戏&兰顿蚂蚁

最近在这里看到看到了一个开源的软件——Golly,这个主要就是研究生命游戏的,正所谓:科研软件!!【这个还有IOS上的应用】

这个说起来我想起来本科曾经用C++和opencv画过兰顿蚂蚁。。。

生命游戏,其实就是一个元胞自动机,或者叫细胞自动机(元胞自动机的第一次接触还是在本科看一位师兄写的前一届的数模论文上面看到的,用元胞自动机来分析病毒的感染问题!当时觉得很有意思,专门去接触过一下下。。),回到正题,生命游戏,名为游戏,其实就是一个零玩家的“游戏”,维基百科曰:

The “game” is a zero-player game

什么意思呢?就是说,这个游戏的结局只取决于“游戏”初始化的状况而已;起始,决定结局!那为什么叫做游戏呢?这能说这个起名字的人对这个游戏,爱得深沉!!嘛~其实这个东西还真的挺好玩的,变化太多,乐趣无穷~

简单介绍一下这个所谓的生命游戏吧,这个游戏其实就是模拟一个二维世界中的点的变化,在一个二维世界中,初始化所有点的状况,每个点只有两种状态:死,或者活!然后下一时刻,每个点的状况只取决于上一时刻这个点周围八个点的状态而已,具体如下:

  1. 周围(指周围八个点)如果只有少于等于一个点的状态是活,那么这个点下一时刻变成!可以认为是人口太少导致的。
  2. 周围如果有两个点是活的,那么下一时刻状态不变
  3. 如果有超过三个是活着的,那么下一时刻这个点会变成的状态,可以认为是竞争!
  4. 如果一个点是的,但是周围恰好有且仅有三个是活的,那么下一时刻这个点会变成的,原因可以理解为再生。

嗯,就是这样一个简单的规则,但是却可以变化出无穷的好玩的东西来。 阅读全文…

分类: Note 标签: ,
13-10
30

抓取豆瓣相册图片——Mathematica版

之前写了一篇利用Scrapy去豆瓣“盗图”的文章,然后昨晚研究了一下mathematica,发现,其实它也可以做。。。当然,不能跟专业的Scrapy比,但是没有配置Scrapy环境或者懒得去搞那么复杂的东西的少年们,可以试一下Mathematica,而且mathematica因为在字符串匹配上和Python有着莫大的差距,所以一定把网页源文件爬下来后,如果有复杂的字符串操作需求,搞不好Mathematica会更强大。。但是,再说一句,这个不是专业的。。。

我们依旧以《海女》为例【顺便祭奠一下我那篇跳票了一个月的影评。。。】,首先分析网页源文件,在这之前,你要获得源文件,Mathematica有两种方法,一个是Import导入html,一个是URLFetch,但是我试了一下,两个都不怎么好使,其中Import导入的html会帮你排好版,但是排好版有什么用?而且图片的信息全部丢了,而后者URLFetch返回的就是原封不动的纯文本源代码,但是SCrapy的经验是,我们需要一个类似XPath一样的树状结构,搜了一下,Mathematica有一种变量XMLElement,他就是可以结构化源文件的东西,要怎么获得呢?嗯,还是Import,但是用XMLObject转一下~ 阅读全文…

13-10
27

随机数重复长度の研究

前言:过了那么久。。。我终于发现。。。我的数学真的快不行了。。。

好吧,事情是这样子的,突然一个基友(@白菜)问了我一个问题,他用matlab产生了一组随机数,规模很大,但是程序按照他的预期,应该是不希望出现重复的随机数,然后问我大概一般多长会出现重复。

然后我一看,额,这尼玛不是一道概率题么。。

然后就算了一下:

虽然那个基友程序跑的是0~1之间的随机数,但是不要紧,我们可以用整数来模拟:假设随机数的生成是1~N之间的一个均匀分布;

那么第一个数就出现重复的概率是:0

第二个数就出现重复的概率是:\(\dfrac{1}{N}\)

第三个数才出现重复的概率是:\(\dfrac{N-1}{N}\times\dfrac{2}{N}\)

第四个的话就是:\(\dfrac{N-1}{N}\times\dfrac{N-2}{N}\times\dfrac{3}{N}\)

第k个数就出现重复的概率自然就是:\(\dfrac{N-1}{N}\times\dfrac{N-2}{N}\times…\times\dfrac{N-k+2}{N}\times\dfrac{k-1}{N}\)

其中k最大只能取到N+1,然后把上面最后的表达式化简一下就是: 阅读全文…

分类: 数学 标签: , ,
13-10
26

某全国大型连锁酒店数据简析。。。

前阵子实验室某师弟(@小毛驴)从互联网上下载到了某名为RJ的全国大型连锁酒店的2KW条开房数据,在其强(bèi)烈(wǒ)要(suǒ)求(qǔ)下,我勉(xìng)为(gāo)其(cǎi)难(liè)地拿了这份数据。。。然后随(rèn)随(rèn)便(zhēn)便(zhēn)地剖析了一下。。。

其实因为数据量巨大,我很想用mathematica来直接分析,但是后来发现,一个文件300+M的大小,200W条数据,mathematica一读进来,不对,都还没读进来,就直接memory out了,然后机智的我想到先把数据分解,或者直接提取出我想要的那些条目,比如身份证号码啊,姓名啊,性别啊,地址啊,开房的年月日时分秒之类的,把这些保存成一个文件,显然这个文件没有那些乱七八糟的信息就会小很多。。。

但是——————首先你要有个可以读进来这些数据进行分解提取的方法。。。

显然的,这时候就是神器python的登场了,会python的同学就知道,python里面的读取文件用生成器简直无敌,你不需要将整个文件读进内存,处理到哪行就读取到哪行,保证内存使用一直恒定。。。读进每一行后,利用正则表达式提取出我想要的信息。。。 阅读全文…

13-10
21

IOS游戏Logic Square通解程序

之前在豆瓣的“东西”里面看到一块叫做《Logic Square》的IOS游戏,他们说很多人玩到入迷,所以我也就好奇下来玩一下,然后发现。。。。其实我以前玩过这一类的游戏。。大概界面就是这个样子,然后你就要往里面填写1或者0,也就是右下角的√和×;QQ20131021213122 阅读全文…

分类: 黑暗科技研究 标签: ,
13-10
21

Mathematica破解字母频率密码

好吧。。。我承认最近玩mathematica玩的有点疯。。。《あまちゃん》的影评躺在博客草稿里面躺了快一个月了。。。算了,不管了!


以前玩一个叫做World of Abstractica的字谜游戏的时候,就经常用mathematica来解决里面的一些比较坑爹的问题,反正这个游戏的规则都说了,你可以利用一切你手边的工具,包括任意软件和网络,搜索引擎等东西 …所以不能怪我。。。

好吧,扯远了,其实由于里面涉及的字谜比较多,所以mathematica的话,用的最多的还是里面的 DictionaryLookup函数,它可以返回各门语言的单词,还可以根据正则表达式之类的输入来搜索单词, 比如说下面这个WOA的例子之类的。。。

要找出由上面字母组成的单词,那么写mathematica就是一行代码的事情。。。

然后前一阵子有一天没事干,就想研究一下英文字母里面每个字母出现的频率,用的还是上面的DictionaryLookup函数来获取所有单词的信息,代码和结果如下。。。 阅读全文…

分类: Mathematica 标签:
13-10
11

任意点变换成椭圆

注!这是一篇水文,只有仿真,不讲正事儿~

这个是最近网上挺好玩的一个东西,来源是这篇论文,说白了就是一个很简单的操作,现在空间中随机生成N个点,然后把它们首尾相连,变成一个封闭的多边形,这样就得到N条线段,然后再把N条线段的中点依次相连,得到新的封闭多边形,不断重复上述过程,最后一定会变成一个椭圆;

阅读全文…

分类: 数学 标签: ,
13-10
08

玩弄Mathematica的乐器演奏功能

其实Mathematica和Matlab对数学处理上的功能都很强大,但其实我觉得它们的侧重点还是不一样的,比如对于物理系的孩子来说,计算研究那些Mathematica基本完爆Mathlab不知道多少条街,但是,对于搞信号或者算法的孩子来说,matlab里面很多内置的工具是Mathematica所无法取代的,所以其实是看人的啦。。。

在我一直看来,Matlab是一门工具,而Mathematica就是一个玩具般的存在,里面的各种功能总是让我玩得乐此不疲;因为Matlab里面你要实现什么,就中规中矩的去实现就是了,但是mathematica里面纯函数的存在,还有各式各样的奇怪的函数,交互上完全的人性化,所以可以有很多种玩法。。。【嘛~虽然最近搬砖过程中我有很刻意的取用mathematica来完成Matlab的工作,比如前阵子的那个AR谱分析的研究】。。。

然后,今天,唉,别提了,暴君的老婆菲特和另外一个女人”合体”了,搞到杭州下了差不多24个小时的雨,学校基本都被淹了,Especially紫金港那边,呵呵,所以呢,去不了实验室搬砖啦,于是就在宿舍玩mathematica,前阵子就有这个计划,mathematica的演奏音乐功能。。。

说起演奏音乐这个东西,其实我本科第一次发现mathematica很好玩,就是在于发现了这个功能,可能有些人知道,以前有人网上发不过一篇文章,用Matlab来演奏音乐,当时比较火的两个版本一个是《卡农》,一个就是《月亮之上》,但是这个原理是用matlab直接播放不同频率的声音,然后拼起来,但是不管怎么样,这个也比我不知道多少年前写的用汇编来驱动电脑蜂鸣器演奏音乐的那个强很多,毕竟至少matlab可以多声道(诶?还是应该叫多声部?)合奏,对吧。。。 阅读全文…

分类: Mathematica 标签: ,
13-10
07

Scrapy+Mathematica制作神奇宝贝图鉴书签

话说最近不是那个神奇宝贝起源开播了么?呀呀呀呀,真是的,那个BGM,那个剧情走向,真是让人把持不住啊。。。

加上之前学Python和Scrapy,很想找个什么东西来练练手,所以就决定了题目所说的那个”企划”,事实证明,这个东西其实一天就可以解决了。。。下面就是制作出来的成果啦~

阅读全文…