数学三大危机啊。。。

如果你说的是小数点点错位置了,那么说的应该是1999年美国宇航局泰坦四号搭载“军事星”号卫星发射失败的事故。计划发射入同步轨道(约为海拔三万五千千米),实际只发射到中地轨道(约为海拔一万多至两万多千米)。&br&&br&如果你说的是小数点之后若干位算错了,那么说的应该是1991年海湾战争中爱国者导弹拦截飞毛腿导弹失败的事故(导弹是由火箭搭载的)。单次误差为0.(小数点后第八位出现错误),积累100小时后误差0.34秒,结果是拦截偏差六百米。&br&&br&参考资料:&br&&a class=& external& href=&http://klabs.org/DEI/lessons_learned/aerospace_corp/lessons_from_mistakes.pdf& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&klabs.org/DEI/lessons_l&/span&&span class=&invisible&&earned/aerospace_corp/lessons_from_mistakes.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&&a href=&http://en.wikipedia.org/wiki/List_of_Titan_launches& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&List of Titan launches&i class=&icon-external&&&/i&&/a&&br&&a href=&https://www.ima.umn.edu/~arnold/disasters/patriot.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Patriot Missile Failure&i class=&icon-external&&&/i&&/a&
如果你说的是小数点点错位置了,那么说的应该是1999年美国宇航局泰坦四号搭载“军事星”号卫星发射失败的事故。计划发射入同步轨道(约为海拔三万五千千米),实际只发射到中地轨道(约为海拔一万多至两万多千米)。如果你说的是小数点之后若干位算错了,那…
&p&谢谢邀请。&br&&br&我高中侥幸在某超级中学的理科班就读,身边大牛无数,有IMO(国际数学奥林匹克)满分金牌的,有全国女子赛第二名的,后来也遇到了即使高考失误照样拿省级状元的。然后好多大学本科都在哈佛、耶鲁、MIT、剑桥等名校。我自己虽然很弱,但是也还凑合。所以斗胆来回答一下。&br&&br&以下是正文。就说说高中的情况。大学本人不是数学系的,暂且不论。&/p&&br&&p&——————&/p&&p&&br&(1)&b&大牛们确实从不听课&/b&,&b&不过这个是指一般难度的课。&/b&&/p&&br&&p&别说他们了,我不觉得自己很强,但是听普通的数学课简直是浪费时间啊,一学期的课自己看看一周就差不多了。不过,我们高中时基本是专门开数学竞赛课的,这个课难度很大,大神们会听,不过大神们依然听得不太认真,一堂课中真正的关键点可能只有5~10分钟,剩下的其实都是废话。&/p&&br&&p&实际上,到了一定的层次,听99%的数学课都不如“&b&自学-答疑-举一反三&/b&”的流程有效。就我个人而言,即使进了大学以后,与其说认真听课,不如花一半的时间自学,剩下一半的时间做些别的想做的事情。&/p&&p&&br&(2)&b&这并不意味着他们不勤奋&/b&。&/p&&br&&p&即使是那位IMO满分的同学,他高中时也做了不止一遍的《高中数学精编》,而且每一页的题都会做,这里面有很多基础的题,也有一些难题。&b&真正强大的人,基础都非常扎实&/b&。他们只是做题更快一些而已,比如一两个星期刷一本200页的书(这并不难,参见第4条)。&br&&br&(3)&b&大神们做数学题都是自发而自然的&/b&。&/p&&br&&p&他们从不觉得自己要勤奋学数学,因为热爱,感觉不到刻意地追求勤奋。讨论数学问题是大家茶余饭后的爱好而已,互相间可以争得面红耳赤,只为追求正确漂亮的结果。不知道旁人看来是不是觉得有些二,不过我们都乐在其中。&/p&&br&&p&以我自己为例(我不是大神),高中时我觉得自己很懒很不勤奋,但现在进了大学以后回头看,自己当时居然无意识地做了那么多题!&/p&&br&&p&总结一下,&b&与其说天道酬勤,不如说天道酬“痴”&/b&。&br&&br&(4)&b&举一反三,详略得当,十分重要&/b&。&/p&&br&&p&个人建议:&b&千!万!不!要!盲!目!采!用!题!海!战!术!&/b&题海战术是破坏思维体系的!&/p&&br&&p&正确的方法是:认真地做一点经典的题目(基础题的话《高中数学精编》就很推荐,竞赛的话《走向IMO》足够经典),多思考,多拓展。以后在非考试状态下遇到类似的题目,可以不必完整地做下来,脑海里过一遍就好!做了题只会让我们拘泥于实际上没有什么意义的细节,浪费时间还破坏体系!&/p&&br&&p&详细地讲,我们所谓的“做了很多题”,除了完整做完的以外,还有两类:&/p&&br&&p&① 觉得该题的思路比较重要,于是在脑海里过了一遍过程,不知道结果,但知道自己一定做得出。Ok,不用继续做了。可以省下70%的时间。&/p&&p&② 一眼就看出答案了,虽然知道过程解释清楚可能比较复杂,但是确信自己一定能做出来。Ok,也不用继续做了。(以我个人为例,讲课时,很多组合数学的竞赛题,老师题还没抄完,我就看出结果了,然后感觉过程写下来大概会比较麻烦,但是自己一定能写出来,于是就无视了。)&/p&&br&&p&现在的高考训练方式根本不适合天赋很好的人。我自认天赋还行,刚刚进入高三的时候数学水平稳稳地140+,被迫进入高考模式,题海了一年以后经常上不了140了,高考也考得不好。唉,说多了都是泪啊~&/p&&br&&p&(5)&b&大神们的学数学之路是不能复制的。&/b&&/p&&br&&p&希望之前说的东西没有误导大家。虽然爱迪生曾经说过曾有“天才是有1%的灵感和99%的汗水”,但是后人指出这1%其实是至关重要的(感谢 &a data-hash=&fb48448aba44bb3bee35b2a301cf032e& href=&/people/fb48448aba44bb3bee35b2a301cf032e& class=&member_mention& data-editable=&true& data-title=&@& data-tip=&p$b$fb48448aba44bb3bee35b2a301cf032e&&@&/a&&a class=&internal& href=&/people/GodElstein&&GodElstein&/a&指出原来的引用有误)。对于不同的牛人,学习的方式还是大有区别的,打好基础后,有些人喜欢刷难题,有些人喜欢空想一些有趣的问题,有的人喜欢思考一道题的多种解法,有些人喜欢不求甚解,但这并不影响他们都成为大神。作为普通人,我们还是应该多思考,脚踏实地,找到适合自己的方法,盲目地模仿大神会死得很惨的。&/p&
谢谢邀请。我高中侥幸在某超级中学的理科班就读,身边大牛无数,有IMO(国际数学奥林匹克)满分金牌的,有全国女子赛第二名的,后来也遇到了即使高考失误照样拿省级状元的。然后好多大学本科都在哈佛、耶鲁、MIT、剑桥等名校。我自己虽然很弱,但是也还凑合…
她虽然不是数学系的 但是也算是数学大牛了。&br&&br&当年跟她一起选了群论课,我们一起写作业一起讨论。她看到我一道题的答案之后惊呼:“你这也算证明?!”于是我默默地看了看她那道题怎么写的,立刻被她严谨的数学语言所折服了,我那种所谓的“物理学家的证明”方式跟她相比简直就是国产山寨机跟iPhone之间的差距...于是只好果断全部划掉然后抄抄抄... 这种事情发生的频率太多以至于差不多是常态吧。&br&&br&后面一个学期她跑去选了个数学系的【常微分方程的定性理论】,我觉得这个主题也蛮有意思于是也跟着蹭了一下... 前两周我还勉强有点懂也有点不懂,问过她之后还是明白了一点东西的... 蹭到了第三周实在是哭了,根本不知道老师在黑板上干什么,她在旁边听得津津有味下课还跑去跟老师讨论问题... 于是我果断弃课,完全跟不上她的步伐了... &br&&br&后来还有一次她偶然过来跟我一起听我老板上的理论力学,老板那节课主要是讲的 Hamiltonian Chaos 之类的东西,其中用简洁的语言简单介绍了一下 KAM Theorem。这个定理正好也是她所熟悉的,于是她开始跟我吐槽我老板讲的太不严谨了太不科学了 而且不讲这个定理的证明大家怎么能真正理解呢 这跟科普书有神马区别... 我老板因此对她有了深刻印象 然后抱歉的说道:啊我知道似乎不太严谨不过要按照她的想法讲 KAM Theorem 的证明的话三节课都讲不完。。。。。。&br&&br&我平时反正从来不用担心她会跟别的男生跑了什么的,我只是会担心她会因为太沉迷数学而没时间理我。
她虽然不是数学系的 但是也算是数学大牛了。当年跟她一起选了群论课,我们一起写作业一起讨论。她看到我一道题的答案之后惊呼:“你这也算证明?!”于是我默默地看了看她那道题怎么写的,立刻被她严谨的数学语言所折服了,我那种所谓的“物理学家的证明”…
来自子话题:
从定义上讲,帕累托最优描述的是一种资源最优化配置的状态。正如上面各位知友所说,在帕累托最优的条件下,是没有办法在不让某一参与资源分配的一方利益受损的情况下,令另一方获得更大利益的。&br&&br&试着用两个最简单的例子来说明这个问题。&br&&br&&b&举例1:&/b&&br&假设现在有两个人,甲和乙,分10块蛋糕,并且两个人都喜欢吃蛋糕。10块蛋糕无论在两个人之间如何分配,都是帕累托最优,因为你想让某一个人拥有更大利益的唯一办法是从另一个人手里拿走蛋糕,导致的结果是那个被拿走蛋糕的人利益受损。&br&&br&&b&举例2:&/b&&br&假设现在有两个人,甲和乙,分10块蛋糕10个包子。甲喜欢吃蛋糕而乙喜欢吃包子,而且甲讨厌吃包子,乙讨厌吃蛋糕(甲包子吃得越多越不开心,乙蛋糕吃得越多越不开心)。这种情形下,帕累托最优应当是:把10块蛋糕全部给甲,把10个包子全部给乙。因为任何其他的分配都会使得至少一个人手里拿着一些自己讨厌的东西,比如甲拥有10块蛋糕以及2个包子,乙拥有8个包子。这个时候,如果把2个包子从甲的手里转移到乙的手里,甲和乙都变得比原来更开心了,同时这样的转移并不会使得任何一方的利益受损。
从定义上讲,帕累托最优描述的是一种资源最优化配置的状态。正如上面各位知友所说,在帕累托最优的条件下,是没有办法在不让某一参与资源分配的一方利益受损的情况下,令另一方获得更大利益的。试着用两个最简单的例子来说明这个问题。举例1:假设现在有两…
适合Lisp和Haskell。&br&&br&我是认真的。&br&=============&br&下面认真答题。&br&&br&首先我认为这个问题没有意思。因为,&b&&u&学会一门语言不是目标,计算机语言只是实现我们想法的手段&/u&。&/b&所以,没有&b&&u&适合&/u&&/b&学哪一门语言,只有我们&b&&u&需要&/u&&/b&哪一门语言&b&。&/b&所以,这个问题就相当于,我是广东人,适合学俄语还是法语,答案是,看你想去俄国还是法国。&br&&br&所以我回答的问题,其实是“&b&&u&数学好在学哪一门语言时更有优势&/u&&/b&”或者“&b&&u&哪一门语言中数学比较重要&/u&&/b&”。这里我没有限定在Java和C++,因为可能是题主暂时只知道Java和C++,但其实应该不介意了解更多语言。&br&&br&当然,如果题中数学好指的是高中数学成绩好,或者说“初等代数”好,那确实“学程序语言和数学没关系”。但这样也至少说明对数学有兴趣,很有可能对抽象代数继续有兴趣,那也还是有意义的。&br&&br&那么,我的答案是Lisp和Haskell,当然还包括其他&b&&i&functional&/i&&/b&语言。我这里保留的functional的英文,没有说是“函数式语言”,不是装逼,是因为这个词,在数学里有另外一个广为人知名字:“&b&泛函&/b&”。(不过下面我直接说函数式语言了跟顺口一点。。。。)&br&&br&之所以说数学好学函数式语言更有优势。是因为1)相较其他语言,函数式语言和数学“&b&更像&/b&”,2)函数式语言&b&更依赖&/b&数学。&br&&br&说函数式语言和数学更像,最基本的就是“函数”。要注意,虽然都叫函数,但是其实二者是完全不一样的。数学中的函数是一个从定义域到值域的映射,而计算机语言中的“函数”至少包括两个意思:procedure和function(Pascal中就是分开的两个概念,呃。。。说出Pascal是不是就等于暴露了OI历史。。。),function还可以粗略的等于从参数的空间到返回值的空间的映射关系,但procedure完全就是程序跳转到另一个位置去执行,和“函数”这个东西基本没有任何关系。而在学C的时候,我们叫着函数,却基本都把它理解成procedure。既是是有输入有输出的函数,还有和数学中函数的一个最大的不同:确定性,或者说,副作用。&br&&br&一般来说,数学中的函数是一个从定义域到值域的确定的映射关系。换言之,确定的输入总产生确定的输出。但是过程式语言中这一点完全无法保证,例如允许对函数外的变量进行修改。而纯函数式语言中通常要求函数保证无副作用(比如通过强制变量不可变),这样保证了语言中函数和数学中的函数的一致性。&br&&br&再举个可能不太恰当的例子:在纯函数语言中,通常变量不可变。于是,困惑了无数小白的诸如“a=a+1”这样违背数学常识的语句也不太可能出现了。&br&&br&因为语言中的函数和数学中的函数统一了,递归这个概念也好理解多了。因为递归不再是“一段代码调用本身”这么拗口的概念,就是数学中的递归定义或者递推公式而已。&br&&br&再者,配合函数式语言中常见的模式匹配,函数式语言仅仅是“看上去”,也更像数学。比如Erlang中实现斐波那契数列:&br&&div class=&highlight&&&pre&&code class=&language-erlang&&&span class=&nf&&fib&/span&&span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&)&/span&&span class=&o&&-&&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&
&span class=&nf&&fib&/span&&span class=&p&&(&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&&span class=&o&&-&&/span&&span class=&mi&&1&/span&&span class=&p&&;&/span&
&span class=&nf&&fib&/span&&span class=&p&&(&/span&&span class=&nv&&N&/span&&span class=&p&&)&/span&&span class=&o&&-&&/span&&span class=&n&&fib&/span&&span class=&p&&(&/span&&span class=&nv&&N&/span&&span class=&o&&-&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&&span class=&o&&+&/span&&span class=&n&&fib&/span&&span class=&p&&(&/span&&span class=&nv&&N&/span&&span class=&o&&-&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&br&基本就是数学定义。&br&&br&然后,泛函。数学上,&b&泛函&/b&通常是指定义域为函数的函数,而函数式语言中,函数是first-class的,即和普通变量一样,函数可以操作函数。看,又和数学统一了。使用函数式语言,完全就是从数学的角度看问题了。这种操作在C和Java中不能直接实现。当然,C可以使用指向函数的指针,Java通常借助一个接口。但这样,都是&b&&u&从机器的角度&/u&&/b&思考,或者&b&&u&从面向对象的角度&/u&&/b&思考,而不是&b&&u&从数学的角度思考&/u&&/b&。&br&&br&另外,学习函数式语言也确实需要数学基础。&br&&br&过程式语言,包面向对象语言等等,都可以用&b&&u&图灵机&/u&&/b&来理解,但是函数式编程则不然,理解好函数式编程你需要理解&b&&u&lambda演算&/u&&/b&,然后不可避免需要&u&&b&形式系统&/b&&/u&的推理和证明,这些还真的需要数学基础。而Haskell更进一步,即使不碰monad,至少需要&b&&u&集合论&/u&&/b&的知识甚至部分&b&&u&泛函(向量空间)&/u&&/b&的知识,而如果涉及到monad,没有&b&&u&抽象代数&/u&&/b&和&b&&u&范畴论&/u&&/b&的概念基本很难真正理解。(是的我要承认我还没有真正理解)&br&&br&综上,如果数学好,“&b&适合&/b&”学函数式语言,而我所举的,是其中两个典型。另外有人提到clojure,我认为clojure可以视为Lisp的一种方言。其他推荐学习的函数式语言包括Erlang和OCaml。&br&&br&然后再来回答一下原来的问题,如果以后会搞计算机,那这两门语言&b&都跳不过&/b&&b&&u&去&/u&&/b&,但是两者选其一,建议先学Java,因为C++太复杂(抱歉我是C++黑,不争论)。但是,更建议&b&&u&C和Lisp&/u&&/b&。&br&&br&学C,推荐的教程只有一本:《&a href=&http://zh.wikipedia.org/wiki/C& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&C&i class=&icon-external&&&/i&&/a&程序设计语言》,作者K&R,不要去看任何其他的书。&br&学Lisp,推荐的教程也不用多说:《计算机程序的构造和解释》。&br&&br&然后,虽然我大部分时间会使用Python,但我坚决不同意一个专业的程序员从Python入门。虽然Python上手很快,但是无益于理解&b&&u&计算机的运作方式&/u&&/b&,也无益于理解&b&&u&程序的数学本质&/u&&/b&。当然,Python是个好语言,(Perl?哈哈哈哈,逃~)。&br&&br&&b&说这么多,不是表达Lisp和Haskell比Java和C++高端,或者Java和C++是&/b&&b&inferior languages。C/Java/C++应用比函数式语言广泛毋庸置疑,而函数式语言学习的更大好处其实是学习其中的思想不是为了工程应用(大多数情况下,Lisp在人工智能领域应用很广)。数学和机器都是计算机的一部分,对机器感兴趣,就去学C,学体系,对数学感兴趣,就去学Lisp,学计算理论,最后会发现,殊途同归。只不过,选择一样的时候,记得对另一样保持好奇心。&/b&&br&&br&&br&&b&计算机很好玩的!!!!!我们不要再(让别人乱)黑了好不好!!!!!&/b&&br&&br&最后,也别全信《黑客与画家》,那就是一本Lisp软文集。。&br&&br&嗯哼~
适合Lisp和Haskell。我是认真的。=============下面认真答题。首先我认为这个问题没有意思。因为,学会一门语言不是目标,计算机语言只是实现我们想法的手段。所以,没有适合学哪一门语言,只有我们需要哪一门语言。所以,这个问题就相当于,我是广东人,适…
谢邀~&br&&br&“亲爱的《星际穿越》看不懂怎么办?”&br&&br&“没事啦,听说校门口对面开了家寿司店,我们去尝尝吧”&br&&br&“不嘛不嘛,你给我讲讲呗!啥是四维空间、五维空间?”&br&&br&“好吧,我们生活的空间其实就是四维的,出了空间上前后、左右、上下三个方向,我们还有时间上的前后”&br&&br&“嗯……”&br&&br&“所谓五维空间,就是再加一根轴,这样你就可以通过这根轴,从时间的一个点跳到另一个点了”&br&&br&“嗯……没懂”&br&&br&“就比如说一张纸上生活着一只蚂蚁,你用水围一个圈,它的活动范围一下子就被缩小了,但一个圈并不能困住人类,因为纸上蚂蚁某种程度上可以看做二维生物,所以二维的几何体可以限制它,但是人类是三维生物,所以只有三维的几何体才有意义。假如有四维生物,他们看我们的保险箱就像我们看围住蚂蚁的圈一样。”&br&&br&“所以他们可以偷偷拿走你保险箱里的东西咯?”&br&&br&“准确的说他们拿不起来,就像你不可能拿起一张没有后厚度的纸一样,这个就是维数的阻隔。从测度论意义上说,二维的在我们眼里都是零测集,我们在四维生物眼里也是零测集……刚刚那个例子不太好,这么说,他们拿不走你的东西就像你没法拿起自己的影子”&br&&br&“……”&br&&br&“总得来说呢……”&br&&br&“亲爱的……”&br&&br&“嗯?”&br&&br&“我们去吃寿司好不好?”&br&&br&“那好吧~”
谢邀~“亲爱的《星际穿越》看不懂怎么办?”“没事啦,听说校门口对面开了家寿司店,我们去尝尝吧”“不嘛不嘛,你给我讲讲呗!啥是四维空间、五维空间?”“好吧,我们生活的空间其实就是四维的,出了空间上前后、左右、上下三个方向,我们还有时间上的前…
一句话,&b&独立事件的概率不能加。&/b&&br&&br&&br&来和我重复一遍,&b&独立事件的概率不!能!加!&/b&&br&&br&&br&就是这样。
一句话,独立事件的概率不能加。来和我重复一遍,独立事件的概率不!能!加!就是这样。
来自子话题:
我还真研究过这个问题!&br&看看我做的东西:&br&&img data-rawheight=&2666& data-rawwidth=&1888& src=&/3d68e9dd10fb_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1888& data-original=&/3d68e9dd10fb_r.jpg&&这个东西包括声源跟踪和图像识别。&br&我制作了声源跟踪的精度很差,只能做到1°左右,而且必须有很大的声音才行。对蚊子的声音没有反应……改进方向:必须要提高麦克风的灵敏度,而且要想办法过滤掉环境的背景声音,而且把采样率提高到目前声卡的50倍才能有足够的分辨率。&br&图像识别想看到蚊子也非常困难,因为蚊子很小,速度很快,室内的灯很暗。改进方向:高速、高清摄像机,彻底改善室内照明系统。&br&这是我这个东西失败的主要原因。现在这个东西不能用于打蚊子,但是可以用于视频会议中对准发言者。&br&打蚊子这个东西的关键是要发现蚊子、准确找到位置。激光对准、伺服跟踪也需要一定技术,但是相对于寻找蚊子准确位置来说是比较容易的。&br&打蚊子的激光功率在100~200mW即可。人不能直视。&br&&br&--------------------补充-------------------&br&看了评论。&a href=&/people/choir-glee& class=&internal&&Choir Glee&/a&提出了超声波定位的方法,这或许可行,虽然我没有尝试过定位这么小的东西,但是可以研究一下蝙蝠的原理。&br&&a href=&/people/fang-zhou-52-92& class=&internal&&方舟&/a&提出了用盐枪代替激光的方法。我感觉这个比较可行,盐枪所需的精度可以更低一些。&br&&br&&br&微软、西雅图实验室之类的做的那个东西的原理,我猜测是这样的:寻找蚊子的东西类似于光电门。新闻中说:“首先,红外线发光二极管会射出红外线,照射到对面的逆反射条再反射回来,形成一个光回路,被CCD接收。如果有任何物体遮挡住反射光线,CCD就会捕捉到物体的影子,交由计算机进行图像分析,整个过程的原理与一些银行或博物馆的安全系统很像。”&br&蚊子必须在特定的光照区域内才能被发现。类似于光电门,或者超市防止偷商品的那个门,或者机场火车站的安检门。这个东西寻找蚊子,应该不能在房间内任意的位置寻找……总不能到处都贴上逆反射条吧。&br&&br&&br&回应&a href=&/people/haozhi-yang-41& class=&internal&&haozhi yang&/a&:关于图像识别,必须要:1.有良好的光照,2.摄像机足够清晰、可以看到蚊子。这个东西有实现的可能,但必须是基于这两点的。&br&&br&回应&a href=&/people/stirwl& class=&internal&&柿西红&/a&,&a href=&/people/fang-zhou-52-92& class=&internal&&方舟&/a&,&a href=&/people/shi-hao-20-38& class=&internal&&时号&/a&,&a href=&/people/haozhi-yang-41& class=&internal&&haozhi yang&/a&等等:关于声源定位的方法,不只是声卡的问题。评论中提到的“四个驻极体话筒-&带通滤波-&放大-&鉴相-&增量控制 ”,就很接近我用的方法……我的麦克风是特制的,有放大和滤波的功能,声卡只不过是AD转换,然后我在计算机中进一步处理,包括滤波、鉴相、增量控制等等,甚至还有谱分析、相关分析等等。有GCC,TDOA,超前效应之类的都尝试了,可以削弱一定的混响、噪声等等,但是还是不够。这个东西需要一个更先进的算法,不是普通的计算能解决的……&br&&br&&br&这是我在知乎的回答中第一个讨论这么热烈的。非常感谢大家。说明一下:这个东西不是山寨、技术宅的产品。这个东西在中国仪器仪表学会主办的“中国(国际)传感器创新大赛”获过奖,是个非常正经、严肃的产品。当然,最终不是以打蚊子的名义评审的,我们是以摄像置中、自动摄像等应用评审的,用于视频会议、远程教育、地震搜救等等领域。如&a href=&/people/lin-jia-hui-99& class=&internal&&林家辉&/a&、&a href=&/people/pan-zhang-yi& class=&internal&&潘彰一&/a&、&a href=&/people/samuel-80-39& class=&internal&&Samuel&/a&等等的猜测。&br&&br&&a href=&/people/stirwl& class=&internal&&柿西红&/a&和&a href=&/people/du-gong-13& class=&internal&&杜工&/a&等人都提到了带通滤波,把蚊子的频段取出来。&br&————补充——————&br&&a href=&/people/su-ge-66& class=&internal&&苏格&/a&
回复 &a href=&/people/du-gong-13& class=&internal&&杜工&/a&&br&
我的经验一个带通滤波是远不够的,snr太低,而且室内小环境又不满足自由场,单靠线性处理手段基本没戏。&br&&br&我非常支持苏格这个观点!
我还真研究过这个问题!看看我做的东西:这个东西包括声源跟踪和图像识别。我制作了声源跟踪的精度很差,只能做到1°左右,而且必须有很大的声音才行。对蚊子的声音没有反应……改进方向:必须要提高麦克风的灵敏度,而且要想办法过滤掉环境的背景声音,而…
来自子话题:
说几个很常用但容易被初学者忽略的吧。&br&&br&&b&1. 转置但不共轭&/b&&br&&div class=&highlight&&&pre&&code class=&language-text&&b = a.'
&/code&&/pre&&/div&&br&&b&2. 得到列向量&/b&&br&&div class=&highlight&&&pre&&code class=&language-text&&b = a(:)
&/code&&/pre&&/div&相应的,得到行向量就是&br&&div class=&highlight&&&pre&&code class=&language-text&&b = a(:).'
&/code&&/pre&&/div&&br&&b&3. 清除并更新所有 class 的定义&/b&&br&&div class=&highlight&&&pre&&code class=&language-matlab&&&span class=&n&&clear&/span& &span class=&n&&classes&/span&
&/code&&/pre&&/div&当你修改了某些 class 的定义时,需要调用此命令——仅仅 clear all 是不够的。&br&&br&&b&4. 忽略某些返回参数&/b&&br&&div class=&highlight&&&pre&&code class=&language-text&&[~, idx] = max(a)
&/code&&/pre&&/div&忽略最大值,只返回最大值的索引。&br&【注】&br&这种语法是在 Matlab 7.9 (2009b) 中引入的,在此之前的版本不支持这种用法。如果你使用早期版本,可以使用如下写法:&br&&div class=&highlight&&&pre&&code class=&language-matlab&&&span class=&p&&[&/span&&span class=&n&&tmp&/span&&span class=&p&&,&/span& &span class=&n&&idx&/span&&span class=&p&&]&/span& &span class=&p&&=&/span& &span class=&n&&max&/span&&span class=&p&&(&/span&&span class=&n&&a&/span&&span class=&p&&);&/span& &span class=&n&&clear&/span& &span class=&n&&tmp&/span&
&/code&&/pre&&/div&或者一句话搞定&br&&div class=&highlight&&&pre&&code class=&language-text&&[idx, idx] = max(a)
&/code&&/pre&&/div&不过第二种写法不见得每个人都会喜欢。&br&&br&&b&5. 去除长度为 1 的维度(常用于 3D 矩阵转为 2D)&/b&&br&&div class=&highlight&&&pre&&code class=&language-matlab&&&span class=&n&&b&/span& &span class=&p&&=&/span& &span class=&nb&&squeeze&/span&&span class=&p&&(&/span&&span class=&n&&a&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&Simulink 的 save to workspace 模块经常得到一个 [m x 1 x n] 的三维矩阵,直接使用非常不便。使用 squeeze 后,会将其转换为 [m x n] 的二维矩阵。&br&&br&&b&6. 代码运行耗时显示&/b&&br&&div class=&highlight&&&pre&&code class=&language-matlab&&&span class=&n&&tic&/span&&span class=&p&&;&/span& &span class=&n&&some_code_to_run&/span&&span class=&p&&();&/span& &span class=&n&&toc&/span&
&/code&&/pre&&/div&tic/toc 会在 Matlab 命令行中打印出两条命令之间的代码的运行耗时。更详细的代码效率分析,可以使用 profile 命令。&br&&br&&b&7. 电脑跑分&/b&&br&&div class=&highlight&&&pre&&code class=&language-matlab&&&span class=&n&&bench&/span&
&/code&&/pre&&/div&只能用于相同版本的 Matlab 下电脑之间的比较。&br&&br&&b&8. 记录命令行命令&/b&&br&&div class=&highlight&&&pre&&code class=&language-matlab&&&span class=&n&&diary&/span& &span class=&n&&on&/span&
&span class=&c&&% Lots of my Matlab commands here.&/span&
&span class=&n&&diary&/span& &span class=&n&&off&/span&
&/code&&/pre&&/div&使用 diary 好处是运行结果也会被记录下来,并且以纯文本方式存储,方便编辑。更正式的报告,则推荐使用 publish。&br&&br&&b&9. 反转向量&/b&&br&&div class=&highlight&&&pre&&code class=&language-matlab&&&span class=&n&&b&/span& &span class=&p&&=&/span& &span class=&nb&&fliplr&/span&&span class=&p&&(&/span&&span class=&n&&a&/span&&span class=&p&&)&/span&
&span class=&c&&% For row-vector a.&/span&
&span class=&n&&b&/span& &span class=&p&&=&/span& &span class=&nb&&flipud&/span&&span class=&p&&(&/span&&span class=&n&&a&/span&&span class=&p&&)&/span&
&span class=&c&&% For column-vector a.&/span&
&span class=&n&&b&/span& &span class=&p&&=&/span& &span class=&n&&wrev&/span&&span class=&p&&(&/span&&span class=&n&&a&/span&&span class=&p&&)&/span&
&span class=&c&&% For any vector a.&/span&
&span class=&n&&b&/span& &span class=&p&&=&/span& &span class=&n&&a&/span&&span class=&p&&(&/span&&span class=&k&&end&/span&&span class=&p&&:&/span&&span class=&o&&-&/span&1&span class=&p&&:&/span&1&span class=&p&&);&/span& &span class=&c&&% This is the implementation of function wrev.&/span&
&/code&&/pre&&/div&&br&&b&10. 去除数据中的 NaN&/b&&br&&div class=&highlight&&&pre&&code class=&language-text&&a(isnan(a)) = []
&/code&&/pre&&/div&对于 inf 和 -inf,使用 isinf 命令。
说几个很常用但容易被初学者忽略的吧。1. 转置但不共轭b = a.'
2. 得到列向量b = a(:)
相应的,得到行向量就是b = a(:).'
3. 清除并更新所有 class 的定义clear classes
当你修改了某些 class 的定义时,需要调用此命令——仅仅 clear all 是不够的。4. 忽…
不定期更新,知道的anecdotes委实太多,恐怕这个答案写不下,谁知道怎么搞个专栏呢。。。&br&&br&1、Leray是个法国数学家,原来是做分析,搞方程的,大家都知道方程这东西应用十分之多,其中之一就是可以拿来做军事相关的。Leray在二战中被德国俘虏,德国人得知他是数学家之后问他具体是研究什么的,他心想不能说自己是搞方程的,不然必定被抓去让造导弹啊什么的,他想了想决定回答一个数学中最没有应用(no offense,但我猜很多人以此为荣哈哈)的分支,代数。。。&br&&br&故事还没完,他后来真的在集中营里面研究代数,发展出了sheaf theory,以及谱序列。后来二战结束,他被放了出来,开始发表他的工作,谱序列的部分大家一直都看不懂。直到后来,伟大的Serre在博士期间弄明白了谱序列,发展出了他自己的Serre‘s Spectral Sequence,并且计算了许多球面同伦群,从而(当然也不只因为这个啦)在28岁拿到了菲尔兹奖,成为了史上获得该奖的时候最年轻的数学家。顺带一提,那一届ICM的菲尔兹奖获得者只有Kodaira与Serre,Weyl在给他们颁奖的时候说他俩做的工作是他这辈子一直梦寐以求却无法得门而入的。&br&&br&2、Yang-Mills方程,这是最近听学长说的一个故事。千禧年七大难题之一就是他,价值百万。与这个故事紧密联系的是一个几何与物理特别强的学校,纽约州立大学石溪分校。Yang自然是伟大的杨振宁啦,当时是Stony Brook的物理学教授,他当时在考虑gauge theory,然后关于fibre bundle有点问题,然后跑去数学系问当时的系主任也就是Simons(一位传奇数学家,他的故事是another story啦)。Simons跟他说建议他去读Steenrod几年前刚写好的Topology of Fibre Bundles,有过问别人问题的经验的人都知道,我们最讨厌的回答就是别人推荐你去读一本专著,于是杨当时就又跑去问Stony Brook的另一位数学教授,Mills。Mills就基本上把那本书里面的东西都讲了一遍,于是后来著名的Yang-Mills方程就这么问世了。这个故事貌似有点问题,一如@唐新所言,Stony Brook是在Yang-Mills发表之后才建立的大学。然而Fibre Bundle那本书的确是比Y-M要早就问世的,故而他评论中说的那时候还没有Fibre Bundle的概念也是不对的。&br&&br&3、接下来说一下历史上某些重大事件对数学界的影响。这里要说的是苏联解体。要知道苏联的Moscow大学学派一直是数学界最顶尖的数学团体(之一?),虽然苏联那边像我们一般也是学术行政化,但是在几位有点权谋的数学大师支撑下,他们的数学事业还是发展的特别厉害。到了91年底,苏联解体。这个事情的影响当然是方方面面的,对数学界有什么影响呢?大量的苏联数学家离开了苏联,去往西方国家拿教职。但是我们知道每个国家在数学这个学科上面的投资基本上不会有什么大的波动的,故而每年空出来的教职数量基本不会变。大家可以想象一下,你作为一个刚毕业的PhD,要去在学术界找工作,本来你竞争对手是和你差不多的刚毕业的PhD,结果现在要跟一群在苏联功成名就的一流数学家(其中还有不少Fields Medalists或者后来成为了Fields Medalists的学界巨擘)竞争工作,那是相当的凶残啊。。。据说在那之前数学界都没什么人会毕业之后去做Postdoc的,结果打那以后基本上所有PhD都不可能直接找到tenure track而必须要先做一站Postdoc了。当然即使这样,还是有大量的PhD无法在学界存活下去,大家可以猜猜他们后来去了哪里?。。。。他们上街(Wall Street)去了。。。哦,听说物理学界也是类似的情况。。。&br&&br&4、说到上街,当然要提的是街上最著名的数学家,之前说到过的Simons啦。他是陈省身的学生,一位著名的几何学家,和Chern合作出Chern-Simons Invariants。30几就成了Stony Brook的数学系主任,但是不知为什么,某天他突然不想做数学了。接下来开始的是传说部分了,传说他去找陈省身先生,问说自己不想做数学了,不知道接下来该去从政还是从商,然后陈先生给建议说,从政要求特别聪明才行,你没那么聪明,还是去搞金融吧。于是世界上少了一个活跃的数学家,多了一个亿万富翁。传说他的文艺复兴对冲基金会不招一般的数学PhD,只招tenure prof(只是玩笑话罢了,不过确实有几个tenure prof 辞职去了他那儿)。其实从某个角度来说他离开数学界之后对数学界的贡献不比之前少,他在Stony Brook砸钱建了一座Simons Center of Geometry and Physics,那儿的研究员都给特别高的工资,传说别人问他要给那里的postdoc多少工资,他霸气的回答道,我不管给多少工资,只要比其他学校都高就行了。。。然后他还在多年前投了一亿设立了Simons基金,拿来在美国几个著名高校提供20多个Postdoc与PhD的资助。貌似两年前这笔钱花光了,故而那段时间之后申请数学PhD与PhD毕业后找工作都格外的艰难。&br&&br&5、大家都知道当年苏联和美国搞冷战,于是双方的数学界往来不太多。一位台湾数学家李天岩,在美国与他的导师合作出了一个著名的定理,就是假设 f 是一个从实数到实数的连续映射,如果 f 有周期为3(即复合 f 三次回到自身,满足f(f(f(x)))=x的x)的点,则 f 有任意的周期点(即对于所有的正整数n, f 复合n次都有不动点)。这个颇似咱们道德经里面说的“三生万物”,所以这个定理有个很好听的中文名,就叫做“三生混沌”(Period Three Implies Chaos),本来这个结果十分漂亮。但是后来苏联解体,两边开始有往来,大家才发现这个三生混沌的结果居然是更早的时候一位苏联数学家&br&Sharkovskii的一个定理的简单推论(亦有说法说是西方早就知道这个结果但是由于政治原因故意忽略之)。当然前面那个三生混沌论文里面第一次提出了混沌的定义,还是十分了不得的。&a href=&http://en.wikipedia.org/wiki/Sharkovskii%27s_theorem& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Sharkovskii's theorem&i class=&icon-external&&&/i&&/a&;&a href=&http://en.wikipedia.org/wiki/Tien-Yien_Li& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&en.wikipedia.org/wiki/T&/span&&span class=&invisible&&ien-Yien_Li&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&;&a href=&http://en.wikipedia.org/wiki/Chaos_theory& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Chaos theory&i class=&icon-external&&&/i&&/a&。&br&&br&呼,写了好多,等有人点赞了再写吧。。。。&br&&br&=============================更新==============================&br&&br&7、Grothendieck是上世纪一位伟大的数学家,他在40岁左右的时候突然宣布退出数学界。这其中的来龙去脉是一个精彩的故事。他童年的时候饱受二战的折磨,曾经被关在集中营,故而他十分痛恨战争。他在后来成为了一个反战分子,一个无政府主义者。关于他反战,这里有三个小故事。&br&&br&在某次国际数学家大会上,Pontryagin(著名前苏联数学家)在做报告,讲微分方程,讲到后来他开始讲应用,一开口就是假设有几架飞机我们想用导弹把它们打下来之类的。那时候Grothendieck恰好在台下听,他顿时大怒,然后。。。冲上讲台去抢Pontryagin的话筒,不让他讲国防相关的东西。&br&&br&后来美国悍然对越南发动越南战争,Grothendieck就跑去越南支援越南,在越南那边挖的地道里给越南数学家们讲数学。。。&br&&br&最后他发现自己供职的IHES所用的经费中居然有一部分是法国军方出资的,于是他愤然辞职,并宣布退出数学界。当然他退出的时候好像还抨击了一下学术界的一些不当行为,大概是和数学界决裂的样子。&br&&br&8、这个故事是听我学长讲的。在之前的背景下,过了20年左右,就是在Grothendieck60岁诞辰之际。许多怀念Grothendieck的数学家们纷纷发文来庆祝,其中也有不少人是当初被他喷过的,这些文章被收录在文集The Grothendieck Festschrift里面,大概是数学界与Grothendieck讲和的意思吧。故事就与这个文集第三卷中的一篇文章&a href=&/chapter/10.-_10& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Higher Algebraic K-Theory of Schemes and of Derived Categories&i class=&icon-external&&&/i&&/a&有关。大家可以打开链接看看文章的作者,R.W.Thomason是一位数学家,但是另一位作者Thomas Trobaugh则貌似都没听说过的样子。事实上Thomas Trobaugh不是一个数学家,他是R.W.Thomason的一位好友,在那篇文章问世的很多年前就已经自杀了。据说这篇文章是某天R.W.Thomason在梦中梦到了Thomas Trobaugh跟他说怎么构造Higher Algebraic K-Theory of Schemes,然后他醒来之后按照梦中他好友所说一步步的来做,于是这篇文章就问世了,为了纪念他的好友,R.W.Thomason就把Thomas Trobaugh的名字也放了进去。哈哈哈,我很喜欢这个故事。&br&&br&9、之前说到了Pontryagin,我觉得不得不提他的几个故事,其中也有些他的黑历史啦。提到盲人数学家,大家多半会想到的是Euler。其实Pontryagin也是一位盲人数学家,是上世纪的一位伟大的数学家。但他做研究的运气着实差了点。他曾经研究过球面同伦群的计算,主要用的是framed cobordism的方法,但是这个东西很多时候在两个球面维数相差不大(1或者2)的时候还可以用,但一旦维数相差太大的时候就很难看清了。他就是在运用framed cobordism的时候失误计算错了某个球面同伦群,当时大家都还不知道,结果后来Serre(参见故事1)的论文出来之后,发现Pontryagin当年算错了。Pontryagin受此打击,从那以后就没怎么计算同伦群了。&br&&br&还有,Whitney研究了一些Fibre Bundle的示性类,之后S.S.Chern(陈省身)与Pontryagin几乎同时开始研究向量丛的示性类,然而Pontryagin运气比较差,Chern是从复数开始研究的,Pontryagin却是从实数开始研究,于是Chern class就有一些很好的性质,而Pontryagin class就没那么好。现在Chern class就比Pontryagin class重要许多(当然后者也很重要就是了)。&br&&br&=============================更新==============================&br&&br&怎么突然又有一堆人点赞了,那我再来分享几个故事吧。&br&&br&10、这很可能只是一个段子。如前所述,Grothendieck是一个伟大的数学家,他当时做的都是特别抽象的东西,于是就有这么一个段子。说是某天Grothendieck在台上作报告,讲的无比抽象,毫无例子,台下的听众们都听的一头雾水。于是在最后的提问环节一个数论学家问了Grothendieck一个问题:“您这个理论能否应用在数论里面呢?” Grothendieck答道:“可以啊,先找一个素数,比如说。。。57。。。”
当然,这个估计是为了体现Grothendieck是超级抽象不考虑例子的数学家。然而我前些日子听一位学长说其实Grothendieck脑子里面装了一些highly nontrivial的例子来检验自己的理论的,未知真假。&br&&br&11、来个励志的。让我们来说说一位也是堪称传奇的数学家Smale吧。他在本科阶段就是数学专业,这位少年据说在本科的时候特别不务正业,最喜欢干的事情是坐在屋顶上看太阳。。。后来他成绩实在太差了,于是系主任还专门跟他说你再这样下去就不能毕业啦,他就大受刺激,奋发图强认真学习。最后证明了大于等于5维的Poincare猜想,拿了Fields。我时常拿这个故事激励自己,我相信人只要智商过了数学的准入门槛,那么最后取得的成就几乎取决于你的努力程度。&br&&br&哦说点Smale的轶闻,他从做拓扑改到了做动力系统,之后他不知怎么迷上了巴西美食,据说每年会有一大半时间是在巴西度过的。不知道巴西美食啥滋味,真好奇哟(⊙o⊙)
不定期更新,知道的anecdotes委实太多,恐怕这个答案写不下,谁知道怎么搞个专栏呢。。。1、Leray是个法国数学家,原来是做分析,搞方程的,大家都知道方程这东西应用十分之多,其中之一就是可以拿来做军事相关的。Leray在二战中被德国俘虏,德国人得知他是…
谢邀。&br&&br&首先你要明确自己的方向:是要做更偏向于业务分析(包括金融、电商、互联网等等)的&b&数据分析师&/b&,还是要做更偏向于技术的&b&数据挖掘工程师&/b&。你可以把这两个方向看成游戏里的转职分支(本来想写严肃一点但还是没忍住=。= 不过该严肃的地方我会严肃的,不会误导你),前者是圣骑后者是托姆勇士(答主你够了=。=)。鉴于我不了解你的个人情况,因此把两者都列一下,你可以做参考:&br&&br&&b&数据分析师&/b&(圣骑,精髓是知识面的广泛性和快速学习的能力,本人走这个路线)&br&基础属性(&b&知识体系&/b&):力量(统计学相关内容),敏捷(干活快,反应快,总是慢半拍的分析师不好混……),体力(真的是得有个好身体=。=分析师很累的),智力(不说了……),感知(业务理解能力,快速学习能力),魅力(沟通协调能力);&br&擅长武器(&b&分析工具&/b&):钉头锤(EXCEL,泛用性高,日常问题70%以上能解决掉),盾牌(SQL,有最好没有也成,用双手武器呗=。=),长剑(SPSS/SAS,一把也成两把也成,但你总得有一把),大剑(R,用好了理论上讲可以代替之前的所有工具,不会用也能干活),等等(matlab,state,python,都可以学学,尤其是python,学会之后抓取和清洗数据);&br&擅长防具(&b&其他工具&/b&):重甲(PPT,这是立身之本);&br&职业能力(&b&软实力&/b&,虽然题主说的是硬实力但是圣骑路线实在是需要靠软实力吃饭啊):圣光(靠展现逻辑和各种数据可视化晃瞎听众的眼,给己方撑腰),交涉(让工程师帮你取数据,串分析的逻辑线讲故事忽悠听众,跟客户斗智斗勇,都得靠一张嘴),等等。&br&&br&&b&数据挖掘工程师&/b&(托姆勇士,你要专精某些武器了,还得会造会修理,简单来说就是写代码……曾想转这个职业但失败了的人捂脸飘过……)&br&基础属性(&b&知识体系&/b&):力量(数学基础,统计学基础,算法基础,以上都得懂原理),敏捷(也要快),体力(这个要写代码,更要好身体),智力(同上),感知(技术知识学习能力,需求理解能力),魅力(沟通能力差点也问题不算太大,可以走纯技术路线,当然有更好);&br&擅长武器(&b&挖掘工具&/b&):这个要看你想练什么,常用几种武器:大斧(Python,能解决的问题多),大剑(R,解决问题犀利),战锤(Hadoop,都挖掘工程师了怎么着也得挖掘大数据吧,GB起步的那种),等等(这部分我用过的少,可能说的不全,不过以上这三种比较常见,据说有用C语言做数据挖掘的,只能膜拜);&br&擅长防具(&b&其他工具&/b&):有没有都行,你穿个重甲(PPT)也成,穿个中甲(process等可视化工具)也成,穿个轻甲(信息图)也成,不穿护甲多拿几件武器也成(=。=);&br&职业能力(这可是&b&硬实力&/b&):制造武器(建模,工具化,写代码,写算法),修复武器(改进模型,改进工具,改进代码,改进算法=。=),等等。&br&&br&以上是不严肃的部分(其实也挺严肃的啊,干货不少了=。=),以下说点严肃的,顺便回答你另外几个问题:&br&&br&1、本科毕业能不能做数据分析师?&br&能做,而且两个路线都能走,进市场研究(咨询公司,广告公司)和互联网(阿里等)行业不难,但进银行极其困难(银行是典型的学历论行业,研究生以下想进入难上加难,而且去小银行没有意义,数据太少),本科毕业的话真对金融业感兴趣,可以考虑外包公司(Teradata,华胜天成这种给金融业做数据挖掘外包的,不过基本都要托姆……啊呸,数据挖掘工程师);&br&&br&2、看什么书来补行业知识?&br&行业知识对数据分析师更重要一些,说有多重要都不为过。具体看什么书,请用知乎搜索(不是不告诉你,主要是我给你推荐也不权威=。=可以看看各行业大牛知友的推荐);&br&&br&3、考研有用么?国内外有什么学校做数据挖掘好?&br&考研对数据挖掘工程师的作用更大一些(数学基础更好,算法更扎实),对数据分析师意义一般(分析师是靠项目经验喂出来的,我自己就是本科,发现这个路线对经验的需求实在是高,有学历没经验(两年以下)的人市场需求比较少,多数公司都要求三年以上经验了);&br&至于学校这事……能肯定告诉你的就是,国外学校理念和算法先进,但是回国不太好使(汉字语义分析卡死无数外国英雄好汉);国内学校本地化比较好。&br&&br&再提醒题主一下:方向一定要先定好,两个方向虽然都研究数据,但是需要的能力差别还是不小的,万一加错点了不太好改(=。=)。&br&&br&最后祝题主能在这个外人看上去枯燥和神秘的领域找到自己的乐趣(学习和工作的时候没有乐趣真的撑不下去的……)。
谢邀。首先你要明确自己的方向:是要做更偏向于业务分析(包括金融、电商、互联网等等)的数据分析师,还是要做更偏向于技术的数据挖掘工程师。你可以把这两个方向看成游戏里的转职分支(本来想写严肃一点但还是没忍住=。= 不过该严肃的地方我会严肃的,不…
老见到有人提这种问题,OK,我也回答一下吧。&br&&br&首先,要有一点前提共识,0.99999...只是一个记法,其实表示的是 1-1/10^n,当 n 趋向于无穷时的极限是吧?要连这个都不承认,我无话可说。&br&&br&有了这个前提,那无非就是要证明 1-1/10^n 在 n 趋向无穷的时候,极限是1。这个证明就简单了,用 ε δ 语言证明一下就是了:&br&&br&对任意 ε
0,我们都可以找到一个大于 log(1/ε)/log(10) 的自然数 N ,对任意 n
N,&br&abs(1-1/10^n -1) = 1/10^n
ε。&br&&br&上面这段话就证明了 1-1/10^n 在 n 趋向无穷的时候,极限是1。也即证明了 0.999999....= 1。
老见到有人提这种问题,OK,我也回答一下吧。首先,要有一点前提共识,0.99999...只是一个记法,其实表示的是 1-1/10^n,当 n 趋向于无穷时的极限是吧?要连这个都不承认,我无话可说。有了这个前提,那无非就是要证明 1-1/10^n 在 n 趋向无穷的时候,极限…
来自子话题:
谢邀。&br&如果只是指的矿工的话。你所需要解决的问题大部分就是两套体系:&br&Stochastic Calculus(随机微积分)&Statistical Learning(统计学习)。&br&前者是理论方法后者是统计方法。&br&&br&矿工的工作范围很宽,前,中,后台各不同,具体而言buyside和sellside在细节工作上也不会一样,但是我这里举例仅仅说做辅助决策的,因为这一些系列的工作比较有通用性,大家做的都差不多。&br&&br&随机微积分涉及的核心就是随机过程的建立和解析求解。&br&包括以下几块.&br&通过对标进行定位,然后给出符合研究标的随机过程,利用比如鞅理论,Jump理论,隐马尔科夫过程建立随机过程模型。&br&通过已知且可用的历史数据,进行数值估测。这里涉及一些参数估计方法,包括最大似然估计,
概念广义矩估计,MCMC,Logit,等等&br&随机过程的解析做好后,就可以开始做分析,以此过程来判断趋势,预测定价等等。这需要一些数值方法,比如树模型,MC模型,求积,离散化模型,傅里叶转换,网格,蒙特卡洛,最优化,有限差分等等。。&br&最后结果再反馈到获利决策上去。&br&&br&而统计学习,则包罗计量经济中涉及的方法、时间序列分析和各种机器学习方法,类似于抛开一切事实假设,求纯粹的数值解。&br&主要在于:&br&时间序列。&br&比如:可以使用var模型来描述其分布;或者用Cointegration定义一群时间序列变数,来整合性观察相互关系;ARIMA模型拟合时间序列,预测该时间序列未来值。等等一大堆东西。。&br&而除了这些以外,你还需要对模型工具的特性有一个底,比如GARCH模型虽然能够在计算量不大的时候更简练地描述ARCH过程,但是不能解释股票收益和收益变化波动之间出现的负相关现象,且因为其假定非负,因而导致模型震荡的可能。这些你需要在考量的时候,心里明白。&br&机器学习。&br&简单应用的话,比如支持向量机,贝叶斯分类机提供分类法,PPT方法分析目标和属性的相关性等等。&br&和数据挖掘结合的话,比如神经网络,遗传算法都能够得到应用。&br&&br&最后回归到贝叶斯分析和贝叶斯统计上来,当然贝叶斯模型依赖的是靠谱的模拟方法。。。&br&&br&差不多就这么多吧,矿工基本上是金融行当对于数学要求最全的了,大部分职位都不需要要求这么高,懂一些计量方法就是了。。&br&金融毕竟不是一个完全数理支撑的行当,人类游戏的残酷性体现在人性不可知,这是所有数理方法都不可能模拟的,更何况数学本来就不是为金融而生的玩意儿。。
谢邀。如果只是指的矿工的话。你所需要解决的问题大部分就是两套体系:Stochastic Calculus(随机微积分)&Statistical Learning(统计学习)。前者是理论方法后者是统计方法。矿工的工作范围很宽,前,中,后台各不同,具体而言buyside和sellside在细节工…
(欧几里德及其他很多度量空间中)&b&两点之间直线&/b&(测地线)&b&最短。证毕……&/b&&br&(严格凸赋范空间中)这是距离定义的一环。&br&(普通读者请忽略括号中的内容。)
(欧几里德及其他很多度量空间中)两点之间直线(测地线)最短。证毕……(严格凸赋范空间中)这是距离定义的一环。(普通读者请忽略括号中的内容。)
小数维自相似结构可以实现&br&将一个立方体等分成27份小立方体,移去每一面中心的小立方体和最中心的小立方体。&br&将余下的每一份小立方体重复以上操作,经过无限次可以得到一个介于2D与3D之间的物体,具有无限的表面积。&br&&img src=&/7e95dca6c338cbdbdd6d_b.jpg& data-rawwidth=&800& data-rawheight=&228& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&/7e95dca6c338cbdbdd6d_r.jpg&&
小数维自相似结构可以实现将一个立方体等分成27份小立方体,移去每一面中心的小立方体和最中心的小立方体。将余下的每一份小立方体重复以上操作,经过无限次可以得到一个介于2D与3D之间的物体,具有无限的表面积。
Fourier analysis。&br&&br&许多人非要说《复变函数与积分变换》里面就讲了fourier analysis,这让我想到了在数学物理方法课上无意间听到旁边的物理系大二小朋友们的对话:“PDE真简单啊,不知道那些数学家们分析这些方程有啥意思。”哈哈哈,我又想到了上小学的表弟看见我在看Hartshorne,以为《代数几何》和他那本《代数与几何》讲的是同一个东西,还被他狠狠的鄙视了一顿呢。&br&&br&数学分析里面讲了一丢丢的傅里叶级数,数理方法里面也讲了一点点的傅里叶级数和傅里叶变换解方程,PDE里面也讲了一些傅里叶变换。但是本科好像很少会把这整个来龙去脉介绍清楚。&br&&br&事实上傅里叶分析可算是现代分析这一块的源头了,我们来看看从中可以发掘出多少东西吧:&br&一、圆上的函数分解成e^inx的级数和即所谓的傅里叶展开,这个推广到一般的群上就是紧李群的character theory,放到有限群(尤其是有限阿贝尔群),我们就能拿来证明Dirichlet's theorem,我觉得是解析数论里面第一个我能看懂并震惊我的定理。&br&二、傅里叶变换,我在学调和分析的时候,不断地接触到Fourier transform。最重要的是我们要考虑傅里叶变换像函数和原函数之间的关系,首先我们有Heisenberg不等式,而这个所谓的Heisenberg不等式就可以导出Heisenberg测不准原理(这个要懂一点量子物理。。),然后到泛函分析,我们可以探讨L^p函数傅里叶变换之后是什么(L^q函数,p,q共轭,这个是所谓的插值定理),以及temperate distribution变换之后是什么,Schwartz函数变换之后是什么,Sobolev space变换之后是什么。如果进行一些细致的local analysis,我们知道Sobolev lemma,which implies regularity of elliptic operator。这可算是几何分析里面十分重要的东西,先验估计的前提。&br&三、一些十分有意思的应用,具体可参见Stein和Shakarchi的Fourier analysis的第四章(我没记错吧?)。可以拿来证明等周不等式,Weyl's equadistribution等等。&br&四、interplay with复分析,可以得到Paley-Wiener theory,发展到后来可以变到概率论里面,或者配合上泛函分析我们可以证明Wiener's tauberian theorem。事实上Wiener's tauberian也可算作我之前说的考察傅里叶变换原函数和像函数的关系的一个例子。&br&五、可以拿来构造反例,比如用所谓的缺项级数来构造连续但处处不可微函数。&br&&br&其实还有很多,但我觉得我已经举出足够多的证据表明我们其实需要一门傅里叶分析来打开真正学分析的大门了。哪怕是我所在的本科学校几乎80%的本科生的课都是分析方面的,傅里叶分析也没有教,其实数学分析只用上一年的,但是数学分析上一年半是所谓的“传统”,没人愿意改。。。所以建议学有余力的人,在大二上的时候好好看看Stein和Shakarchi的Fourier analysis.
Fourier analysis。许多人非要说《复变函数与积分变换》里面就讲了fourier analysis,这让我想到了在数学物理方法课上无意间听到旁边的物理系大二小朋友们的对话:“PDE真简单啊,不知道那些数学家们分析这些方程有啥意思。”哈哈哈,我又想到了上小学的表…
浏览一遍高票答案,感觉存在着一种学数学好啊,专业随便转啊,转哪儿虐哪儿啊,楼主捡到宝啊。。。&br&我不知道为什么会有这么一种让我不理解的论调=。=正像我亲耳听到过一个北大数学学院的和一个中科院生物物理所的人说,&b&咱实在混不下去,大不了就练练编程当码农呗,收入也挺可观的,养家糊口没问题。&/b&&br&好吧,在这里爆一个粗口,扯jb蛋~计算机是一门需要极其勤奋的靠经验积累的科目,编程水平和你投入时间多少非常非常相关,不是一个你数学好,你会写写for循环,会些if你就叫会编程。&br&&br&1. 计算机系学生到底什么强&br&我开始以为计算机是通过积累可以给我们更多编程相关经验,以及学到设计模式,例如生产者-消费者的多线程模型之类;后来发现好像不是,&b&我现在比我大二时候,更更更厉害的一点是我发现,我可以快速学习编程语言,快速学习某一种第三方库的用法。&/b&这才是计算机系的人真正在编程中提高的能力,&b&超强的搜索引擎搜索能力,超强的开源代码使用能力,以及通过大量编程得到的编程能力。&/b&&br&&b&总结起来一句话:本科四年,我只学会了Google~&/b&&br&&br&&br&2. 其实数学只对计算机科研有帮助&br&我会说如果我们学校数学系想保送计算机系,只能博士不能研究生!!!说到底我们社会需要螺丝钉,也需要方向盘,方向盘只有一个,而螺钉在社会这个滚滚向前的机器上确有无数个,的确,数学极好的人掌握着方向盘,给我们指明了未来的学科发展方向,然而更多的人是在确定方向后,默默耕耘,做社会这个精密仪器的螺丝。&b&所以,其他答主所说的,去哪个领域统治哪个,只是你真把数学学的炉火纯青了,学明白了。然而,我觉得能做到这点,不光靠勤奋,更靠天赋。&/b&&br&&b&总结起来一句话:计算机的就业岗位要比数学多很多,不过数学学得好的人真的对社会的贡献好大好大。&/b&&br&&br&3.我个人感觉数学比计算机更靠天赋&br&&b&我相信上帝是公平的,给每个人的都是一样多的。但我更相信,我们在分配技能点的时候,每个人点的不一样。而数学是一个很靠天赋技能点的人。&/b&高中时候,是我看别人笨,这么简单的你都不会,大学是别人看我笨,为什么你这题还问我。在投入相同时间的基础上,我发现我对数学抽象世界的理解,仅局限于这题我做过,所以我考试能做对这个层面= =。。。&br&&b&总结起来一句话:认清自己智商是学习数学的不二法则。&/b&&br&&br&&br&我读完了大学,我数学不能说很差,可以说平庸吧,基本上,我相关方向的论文的数学部分我都可以快速看懂,然而我不能自创。这可能是计算机系培养上差于数学系的,我们把数学当工具。但我们从来不创造工具,就是捡别人造出来的。所以,我建议所有数学系想搞计算机的人尊崇两个法则来决定个人发展:&b&1.你真的有天赋搞数学,那你就先把数学学好,然后去读计算机Ph.D,你会为计算机科学做出极大的贡献。2.你发现你数学也就那样,那赶紧转专业,或者平时做大量的工程,每写一行代码,你的水平就提高一层~~&/b&&br&&b&其实 &a data-hash=&a64c54e8bfd537dd7bee7& href=&/people/a64c54e8bfd537dd7bee7& class=&member_mention& data-editable=&true& data-title=&@郑梓豪& data-tip=&p$b$a64c54e8bfd537dd7bee7&&@郑梓豪&/a&是个数学系搞计算机应该比较有心得的人,可以和他交流~&/b&&br&&br&&br&&b&P.S. 计算机系的人也会数学,数学系的人也会编程。到底应该把数学当成编程的工具(编程要求高),还是要把编程当做数学实现的工具(数学要求高)。纯看个人兴趣,以及个人能力~~~&/b&
浏览一遍高票答案,感觉存在着一种学数学好啊,专业随便转啊,转哪儿虐哪儿啊,楼主捡到宝啊。。。我不知道为什么会有这么一种让我不理解的论调=。=正像我亲耳听到过一个北大数学学院的和一个中科院生物物理所的人说,咱实在混不下去,大不了就练练编程当码…
&p&(大论文在一个公式上卡了近一个月的苦逼过来吐槽)&br&
题主一点没错,我也常常有这种坑爹的感觉。&/p&&p&&br&
我把教材分为两类:作者自己知道在写什么的,作者自己也不知道在写什么的。&/p&&p&后一种常见于国内圈钱教材,东抄抄,西凑凑,不跳跃都难。这种教材扔掉比较好。&/p&&p&前一种,你可以看到作者思维的发展。概念的引出、公式推导都有联系:先提出什么,引入什么,在什么情况下忽略什么得到什么。&br&
但这种教材有很强的个人风格,是否易读就取决于你和作者是否契合。&/p&&p&&br&
以热力学为例,第一次接触看看 Atkins 物化前几章就可以了,反正自己是小白,只想迅速又系统的了解学科概况。&br&
而继续挖下去,就会觉得很多公式的推导十分不严谨,导致无法搞清适用范围。这时就会觉得:还是王竹溪那本老书好,推导清晰,一个新式子是从哪几个老式子来的写得清清楚楚。&br&
陈浩同学总说嗑药都是越嗑越重的,追求严谨没有限度。当开始思考:这个体系能不能严谨到脱离物理图像,仅用数学建立呢?看朗道的时机就成熟了。&/p&&br&&p&因此无法 follow 一本书的思路,可能是书太烂根本没有思路,也可能是作者太大神不屑照顾小白的感受。看书随缘,气场不合,再好的书对你也没有帮助。丢一本朗道给刚从生物转行过来的小白,估计就打击得他/她/我从此绝了转行的念头。反之同理,习惯数学思维的人去看 Atkins 也会觉得各种跳跃各种不靠谱。&/p&&br&&p&题主同学,我罗嗦这么多,中心思想其实就一个啦:&br&
你该换书了。&/p&
(大论文在一个公式上卡了近一个月的苦逼过来吐槽)
题主一点没错,我也常常有这种坑爹的感觉。
我把教材分为两类:作者自己知道在写什么的,作者自己也不知道在写什么的。后一种常见于国内圈钱教材,东抄抄,西凑凑,不跳跃都难。这种教材扔掉比较好。前一…
因为熵增,正态分布实际上是自然界倾向于产生最大无序程度的一种表现。在给定均值和方差的分布中,正态分布是让熵最大的分布。证明如下:&img data-rawheight=&598& data-rawwidth=&473& src=&/b945bb94f5ad077ddc8e8_b.jpg& class=&origin_image zh-lightbox-thumb& width=&473& data-original=&/b945bb94f5ad077ddc8e8_r.jpg&&&br&&img data-rawheight=&575& data-rawwidth=&466& src=&/2e1fd197cba79efcfa4e032_b.jpg& class=&origin_image zh-lightbox-thumb& width=&466& data-original=&/2e1fd197cba79efcfa4e032_r.jpg&&&br&&br&证明来自:&a href=&/p/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&变分法与乘子法:以最大熵推导正态分布&i class=&icon-external&&&/i&&/a&,谢谢 &a class=&member_mention& href=&/people/0cd271ee9a03672aaffacbd7fd0731b6& data-hash=&0cd271ee9a03672aaffacbd7fd0731b6& data-tip=&p$b$0cd271ee9a03672aaffacbd7fd0731b6&&@张秉宇&/a& 提醒
因为熵增,正态分布实际上是自然界倾向于产生最大无序程度的一种表现。在给定均值和方差的分布中,正态分布是让熵最大的分布。证明如下:证明来自:,谢谢
谢邀。&br&&br&这是一个&b&非常有趣&/b&的问题,刚才我大约花了一个多小时研究,&b&意外地得到非常炫酷的结论。&/b&&br&下面我将尽可能用简洁的语言论述我的解决过程,语言通俗,中学生也应该可以毫无压力地看懂。&br&&br&如果你对这类问题有所了解,你会知道这是 &a href=&/view/1101962.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Nim游戏&i class=&icon-external&&&/i&&/a& 的一种,属于&b&游戏规则十分简单,连幼儿园小朋友都能看懂,但是策略上并不容易的问题&/b&。并且,如果你涉猎过类似的问题,你会知道,该问题有一个非常有名的 anti 问题(反命题)——&br&&br&&ul&&li&&b&命题1&/b&:三堆数量随机的石头,两个人轮流从其中一堆中拿走任意数量的石头,拿走最后一块者&b&胜&/b&&br&&/li&&/ul&&br&这个 anti 问题的解决方案就是大名鼎鼎的 “&a href=&/view/674171.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&异或&i class=&icon-external&&&/i&&/a&大法”。&br&可以参见 &a href=&/archives/563& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Nim游戏的必胜策略和Xor运算的神奇应用&i class=&icon-external&&&/i&&/a&
(&a data-hash=&7410f0cbac4b82c4553fb9dfe8e3d128& href=&/people/7410f0cbac4b82c4553fb9dfe8e3d128& class=&member_mention& data-editable=&true& data-title=&@physixfan& data-tip=&p$b$7410f0cbac4b82c4553fb9dfe8e3d128&&@physixfan&/a&),下面我用简洁地语言阐述一下。&br&&br&简单地说,就是将三堆石头的块数化为二进制,再进行 “异或运算”(&img src=&/equation?tex=%5Coplus+& alt=&\oplus & eeimg=&1&&),&br&(异或运算的规则是,对于每一位:&img src=&/equation?tex=0%5Coplus+0%3D0%0A& alt=&0\oplus 0=0
& eeimg=&1&&,&img src=&/equation?tex=0%5Coplus+1%3D1%0A& alt=&0\oplus 1=1
& eeimg=&1&&,&img src=&/equation?tex=1%5Coplus+0%3D1%0A& alt=&1\oplus 0=1
& eeimg=&1&&,&img src=&/equation?tex=1%5Coplus+1%3D0%0A& alt=&1\oplus 1=0
& eeimg=&1&&)&br&然后,先手一方只要保持三个数进行“异或”后结果是 0 就可以获胜,而对于三个数初始异或结果为 0 的情况,则是后手获胜 。&br&&br&比如,初始时,石头数三堆的石头数是 2、3、5,而&img src=&/equation?tex=2%3D%5Cleft%28+10+%5Cright%29+_%7B2%7D+& alt=&2=\left( 10 \right) _{2} & eeimg=&1&&,&img src=&/equation?tex=3%3D%5Cleft%28+11+%5Cright%29+_%7B2%7D+& alt=&3=\left( 11 \right) _{2} & eeimg=&1&&,&img src=&/equation?tex=5%3D%5Cleft%28+101+%5Cright%29+_%7B2%7D+& alt=&5=\left( 101 \right) _{2} & eeimg=&1&&,&br&而&img src=&/equation?tex=10%5Coplus+11%5Coplus+101%3D%B2%7D+& alt=&10\oplus 11\oplus 101=(100)_{2} & eeimg=&1&&,在十进制下,这个数是 4,所以先手只要从 5 块石头中取走 4 块即可获胜。由于当所有的数的异或值等于零时,二进制的每一位都出现偶数次,所以必然可以办到。&br&&br&再如,初始时,石头数三堆的石头数是 3、4、7,而&img src=&/equation?tex=3%3D%5Cleft%28+11+%5Cright%29+_%7B2%7D+& alt=&3=\left( 11 \right) _{2} & eeimg=&1&&,&img src=&/equation?tex=4%3D%5Cleft%28+100+%5Cright%29+_%7B2%7D+& alt=&4=\left( 100 \right) _{2} & eeimg=&1&&,&img src=&/equation?tex=7%3D%5Cleft%28+111+%5Cright%29+_%7B2%7D+& alt=&7=\left( 111 \right) _{2} & eeimg=&1&&,而&img src=&/equation?tex=11%5Coplus+100%5Coplus+111%3D0+& alt=&11\oplus 100\oplus 111=0 & eeimg=&1&&,所以,这是后手方必胜的情况。&br&&br&以上就是 anti 问题的基本解法。&br&&br&&b&Nim 游戏的有趣之处在于,对于一个问题 anti 问题,其结论通常并不是相反的,而往往要给出一种截然不同的策略。有些问题的 anti 问题,其复杂度和原问题完全不在一个层面上。&/b&&br&比如:&a href=&/question/& class=&internal&&一种NIM游戏(Kayles misère 反常开勒司游戏),先手方在N为多少时的必胜策略? - 计算机&/a&&br&&br&但今天过后,我意外地发现,这个著名问题的 anti 问题,也就是本问题——&br&&br&&ul&&li&&b&命题2&/b&:三堆数量随机的石头,两个人轮流从其中一堆中拿走任意数量的石头,拿走最后一块者&b&输&/b&&/li&&/ul&&br&居然……(先不剧透)&br&&br&********************&br&&br&当我开始思考这个问题时,我很快就发现,这题并不容易,从数学上完全没有思路……T_T&br&&br&&img src=&/8ce60e98ecdabbb6a205_b.jpg& data-rawwidth=&265& data-rawheight=&301& class=&content_image& width=&265&&&br&&br&貌似只能暴力求解了。&br&&br&于是我动用了计算机,花十分钟用好几个月没用过的 Java 写了一个烂烂的小程序(不必看懂,可直接看解释)——&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kn&&import&/span& &span class=&nn&&java.util.*&/span&&span class=&o&&;&/span&
&span class=&kn&&import&/span& &span class=&nn&&java.io.*&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&class&/span&
&span class=&nc&&NimThreeNumbers&/span&&span class=&o&&{&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&void&/span& &span class=&nf&&main&/span&&span class=&o&&(&/span&&span class=&n&&String&/span&&span class=&o&&[]&/span& &span class=&n&&args&/span&&span class=&o&&)&/span& &span class=&kd&&throws&/span& &span class=&n&&IOException&/span&&span class=&o&&{&/span&
&span class=&kd&&final&/span& &span class=&kt&&int&/span& &span class=&n&&nMax&/span&&span class=&o&&=&/span&&span class=&mi&&50&/span&&span class=&o&&;&/span&
&span class=&kt&&int&/span& &span class=&n&&x&/span&&span class=&o&&,&/span&&span class=&n&&y&/span&&span class=&o&&,&/span&&span class=&n&&z&/span&&span class=&o&&,&/span&&span class=&n&&w&/span&&span class=&o&&;&/span&
&span class=&n&&String&/span& &span class=&n&&s&/span&&span class=&o&&=&/span&&span class=&k&&new&/span& &span class=&n&&String&/span&&span class=&o&&(&/span&&span class=&s&&&&&/span&&span class=&o&&);&/span&
&span class=&n&&String&/span& &span class=&n&&s2&/span&&span class=&o&&=&/span&&span class=&k&&new&/span& &span class=&n&&String&/span&&span class=&o&&(&/span&&span class=&s&&&&&/span&&span class=&o&&);&/span&
&span class=&kt&&boolean&/span&&span class=&o&&[][][]&/span& &span class=&n&&threeDArray&/span&&span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&kt&&boolean&/span& &span class=&o&&[&/span&&span class=&n&&nMax&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&][&/span&&span class=&n&&nMax&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&][&/span&&span class=&n&&nMax&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&];&/span&
&span class=&c1&&//initialize&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&x&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&o&&;&/span&&span class=&n&&x&/span&&span class=&o&&&=&/span&&span class=&n&&nMax&/span&&span class=&o&&;&/span&&span class=&n&&x&/span&&span class=&o&&++){&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&y&/span&&span class=&o&&=&/span&&span class=&n&&x&/span&&span class=&o&&;&/span&&span class=&n&&y&/span&&span class=&o&&&=&/span&&span class=&n&&nMax&/span&&span class=&o&&;&/span&&span class=&n&&y&/span&&span class=&o&&++){&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&z&/span&&span class=&o&&=&/span&&span class=&n&&y&/span&&span class=&o&&;&/span&&span class=&n&&z&/span&&span class=&o&&&=&/span&&span class=&n&&nMax&/span&&span class=&o&&;&/span&&span class=&n&&z&/span&&span class=&o&&++){&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&x&/span&&span class=&o&&][&/span&&span class=&n&&y&/span&&span class=&o&&][&/span&&span class=&n&&z&/span&&span class=&o&&]=&/span&&span class=&kc&&true&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&mi&&0&/span&&span class=&o&&][&/span&&span class=&mi&&0&/span&&span class=&o&&][&/span&&span class=&mi&&0&/span&&span class=&o&&]=&/span&&span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&x&/span&&span class=&o&&=&/span&&span class=&mi&&0&/span&&span class=&o&&;&/span&&span class=&n&&x&/span&&span class=&o&&&=&/span&&span class=&n&&nMax&/span&&span class=&o&&;&/span&&span class=&n&&x&/span&&span class=&o&&++){&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&y&/span&&span class=&o&&=&/span&&span class=&n&&x&/span&&span class=&o&&;&/span&&span class=&n&&y&/span&&span class=&o&&&=&/span&&span class=&n&&nMax&/span&&span class=&o&&;&/span&&span class=&n&&y&/span&&span class=&o&&++){&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&z&/span&&span class=&o&&=&/span&&span class=&n&&y&/span&&span class=&o&&;&/span&&span class=&n&&z&/span&&span class=&o&&&=&/span&&span class=&n&&nMax&/span&&span class=&o&&;&/span&&span class=&n&&z&/span&&span class=&o&&++){&/span&
&span class=&k&&if&/span&&span class=&o&&(&/span&&span class=&n&&z&/span&&span class=&o&&==&/span&&span class=&mi&&0&/span&&span class=&o&&)&/span&
&span class=&n&&z&/span&&span class=&o&&++;&/span&
&span class=&k&&if&/span&&span class=&o&&(&/span&&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&x&/span&&span class=&o&&][&/span&&span class=&n&&y&/span&&span class=&o&&][&/span&&span class=&n&&z&/span&&span class=&o&&]){&/span&
&span class=&n&&s&/span&&span class=&o&&+=&/span& &span class=&n&&x&/span&&span class=&o&&+&/span&&span class=&s&&& &&/span&&span class=&o&&+&/span&&span class=&n&&y&/span&&span class=&o&&+&/span&&span class=&s&&& &&/span&&span class=&o&&+&/span&&span class=&n&&z&/span&&span class=&o&&+&/span&&span class=&s&&&\n&&/span&&span class=&o&&;&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&w&/span&&span class=&o&&=&/span&&span class=&n&&z&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&;&/span&&span class=&n&&w&/span&&span class=&o&&&=&/span&&span class=&n&&nMax&/span&&span class=&o&&;&/span&&span class=&n&&w&/span&&span class=&o&&++){&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&x&/span&&span class=&o&&][&/span&&span class=&n&&y&/span&&span class=&o&&][&/span&&span class=&n&&w&/span&&span class=&o&&]=&/span&&span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&x&/span&&span class=&o&&][&/span&&span class=&n&&z&/span&&span class=&o&&][&/span&&span class=&n&&w&/span&&span class=&o&&]=&/span&&span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&y&/span&&span class=&o&&][&/span&&span class=&n&&z&/span&&span class=&o&&][&/span&&span class=&n&&w&/span&&span class=&o&&]=&/span&&span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&w&/span&&span class=&o&&=&/span&&span class=&n&&y&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&;&/span&&span class=&n&&w&/span&&span class=&o&&&=&/span&&span class=&n&&z&/span&&span class=&o&&;&/span&&span class=&n&&w&/span&&span class=&o&&++){&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&x&/span&&span class=&o&&][&/span&&span class=&n&&w&/span&&span class=&o&&][&/span&&span class=&n&&z&/span&&span class=&o&&]=&/span&&span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&y&/span&&span class=&o&&][&/span&&span class=&n&&w&/span&&span class=&o&&][&/span&&span class=&n&&z&/span&&span class=&o&&]=&/span&&span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&for&/span&&span class=&o&&(&/span&&span class=&n&&w&/span&&span class=&o&&=&/span&&span class=&n&&x&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&;&/span&&span class=&n&&w&/span&&span class=&o&&&=&/span&&span class=&n&&y&/span&&span class=&o&&;&/span&&span class=&n&&w&/span&&span class=&o&&++)&/span&
&span class=&n&&threeDArray&/span&&span class=&o&&[&/span&&span class=&n&&w&/span&&span class=&o&&][&/span&&span class=&n&&y&/span&&span class=&o&&][&/span&&span class=&n&&z&/span&&span class=&o&&]=&/span&&span class=&kc&&false&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&n&&BufferedReader&/span& &span class=&n&&in1&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&BufferedReader&/span& &span class=&o&&(&/span& &span class=&k&&new&/span& &span class=&n&&StringReader&/span& &span class=&o&&(&/span&&span class=&n&&s&/span&&span class=&o&&));&/span&
&span class=&n&&PrintWriter&/span& &span class=&n&&out1&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&PrintWriter&/span& &span class=&o&&(&/span& &span class=&k&&new&/span& &span class=&n&&BufferedWriter&/span& &span class=&o&&(&/span& &span class=&k&&new&/span& &span class=&n&&FileWriter&/span& &span class=&o&&(&/span&&span class=&s&&&NimThreeNum.txt&&/span&&span class=&o&&)));&/span&
&span class=&k&&while&/span&&span class=&o&&((&/span&&span class=&n&&s2&/span&&span class=&o&&=&/span& &span class=&n&&in1&/span&&span class=&o&&.&/span&&span class=&na&&readLine&/span&&span class=&o&&())!=&/span& &span class=&kc&&null&/span&&span class=&o&&)&/span&
&span class=&n&&out1&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&n&&s2&/span&&span class=&o&&);&/span&
&span class=&n&&out1&/span&&span class=&o&&.&/span&&span class=&na&&close&/span&&span class=&o&&();&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&br&程序的思路是 “&b&筛法&/b&”,属于动态规划的一种。&br&&br&思路如下——&br&&br&把三堆石头的数量化作一个三维数组(x,y,z)(&img src=&/equation?tex=x%5Cleq+y%5Cleq+z& alt=&x\leq y\leq z& eeimg=&1&&),现在我已经知道 三堆石头分别是(0,0,1)是 显然是后手胜,那么,我留下这组数,把所有一步操作能达到这个状态的数组都筛去:包括(0,0,z)(z&1)和(0,1,z)(z&0);&br&&br&从剩下的数中在找到没有被筛去的最小的数组 (0,2,2),再把所有一步操作能达到这个状态的数组都筛去:包括(0,2,z)(z&2)和(2,2,z)(z&1)……&br&&br&(下图是比较简单的二维情况,将这个三角形拓深,就是三维情况了)&br&&img src=&/81f983a0caacfbb733d04f_b.jpg& data-rawwidth=&447& data-rawheight=&103& class=&origin_image zh-lightbox-thumb& width=&447& data-original=&/81f983a0caacfbb733d04f_r.jpg&&&br&以此类推,最后剩下的那些数组,就是&b&后手必胜&/b&的情况。你看,这个筛法 和大名鼎鼎的 质数筛选法(&a href=&/view/1425379.htm& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&埃拉托斯特尼筛法&i class=&icon-external&&&/i&&/a&)是有异曲同工之妙的。&br&&br&嗯,跑出来的结果是这样的(部分结果)——&br&&img src=&/b793c3d16a9eb82ca7fb3c_b.jpg& data-rawwidth=&1000& data-rawheight=&207& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&/b793c3d16a9eb82ca7fb3c_r.jpg&&&br&我设置的 z 是不大于 50 的,当我观察到最后一组结果是(31,47,48)时,我心里“咯噔”了一下,因为,31 是 2 的 5 次方减1啊!&br&于是,我下意识地将三个数“异或”了一下,居然是0!&br&然后,我把所有的结果都“异或”了一下,发现——&br&&b&除了(0,0,1)和(1,1,1)以外,所有的结果竟然都是0!&/b&&br&&br&&br&我的第一反应:&b&这不可能!&/b&&br&&br&我的第二反应:&b&在这背后,一定有不可告人的秘密!&/b&&br&&br&我的第三反应:&b&这看似巧合的结果背后,必然蕴含了一些永恒的定律!&/b&&br&&br&&br&于是我开始思考,那个大名鼎鼎的原命题(命题1),如果我并不知道异或大法,我应该怎么解决。&br&&br&思考刚开始就结束了——&b&显然用相同的筛法啊!&/b&&br&&br&这种筛法所留下的,是后手必胜的情况。&br&&br&对于命题2,“筛法” 留下的第一组数是(0,0,1),然后是 (0,2,2)、(0,3,3)……&br&接下来是(1,1,1)、(1,2,3)、(1,4,5)……&br&&br&对于命题1 呢?“筛法” 留下的第一组数 (0,0,0),然后是(0,1,1)、(0,2,2)、(0,3,3)……&br&接下来呢? 是(1,2,3)、(1,4,5)……&br&&br&&b&发现了没? 除了 命题1 的(0,0,0)和(0,1,1),以及 命题2 的(0,0,1)和(1,1,1),剩下的结果,都是一模一样的啊!&/b&&br&&br&你看,两个完全相反的命题,可是用同一种筛法解决的。虽然初始条件不同,但是筛了几次以后,剩下的第一组数居然意外地变得相同了(是(1,2,3)),那么,接下来,筛法所剩下的数,也显然是一样的啊!&br&&br&所以,对于游戏者,必胜策略是这样的:&br&&br&前半部分和
命题1 完全相同,直到剩下(1,2,3)或(0,2,2)等后,策略开始转变为向(1,1,1)或(0,0,1)靠拢。&br&&br&当堆数大于3时,策略类似。&br&&br&*************************&br&&br&&b&完全相反的命题,居然有近乎完全相同的取胜策咯!&/b&&br&&br&这就是这个 Nim 游戏的奥妙所在。&br&&br&当然,这些看似反直觉的奥妙,都最终归功于数学呀!&br&&br&*************************&br&&br&P.S. 这是一个外行人写的,表述上显然不够规范,规范的表述,以及更为通用的解法,就留给数学系和计算机系的大神吧。
谢邀。这是一个非常有趣的问题,刚才我大约花了一个多小时研究,意外地得到非常炫酷的结论。下面我将尽可能用简洁的语言论述我的解决过程,语言通俗,中学生也应该可以毫无压力地看懂。如果你对这类问题有所了解,你会知道这是
的一种,属于游戏规…

我要回帖

更多关于 世界七大数学难题 的文章

 

随机推荐