HongJiapeng的个人博客分享 http://blog.sciencenet.cn/u/HongJiapeng

博文

胡思乱想与科研

已有 2255 次阅读 2014-8-26 10:33 |系统分类:科研笔记

       这两天我比较能胡思乱想,不过真的静下心来想想的时候,就慢慢明白了自己真的是在胡思乱想了。

       具体情况是这样的,突发的想法让我拿到一个句子就向分析一下它的结构和语义。起初,没有想太多,我就仔细地分析了三个句子。把句子按照事件发生的几个要素进行拆分。这对于人来说没有什么困难的地方。但是,我突然间在想,如果机器来理解这句话会是怎样呢?于是我陷入了乱想中,想着如果能够让机器把一个句子解析出事件所需要的几大要素,那机器不是就相当于“理解”了这句话了吗?

       想想还真有点小激动,于是,在胡思乱想中,我完全没有考虑可行性,就开始添加我所谓的那些叫做“方法”/“类”的东西,比如:


  • 时间:@time()

  • 地点:@place()等等。

   当我胡思乱想地越多,我就越发“猖狂”,甚至还想到了这些所谓的“方法”还不足以满足分析句子的需要,最好是定义一些覆盖面更广的“方法”。比如:我们通常所说的地点是具体的实在的地点,但是有些句子中还会出现一些“抽象”的地点,比如:



  • 下午,小明在QQ上聊天。

   这个句子的地点是“QQ”?这像是一个“抽象”的地点。当然,你可以说句子把地点隐藏了,真实的地点应该是小明此刻身处的地点,有可能是家里,也有可能是网吧等等。于是,我又不顾是否可行,是否能够程序化,假设了一个所谓的@abstractPlace()“方法”出来。当然,你可以想想还有其他的所谓的“抽象”的方法。一时间感觉自己研究成果还行,至少那个时候自己感到特别充实!


       胡思乱想达到巅峰的时候,我还专门探讨了两种评论的区别:


  • @comment() 这是别人让自己给出观点,一般出现在疑问句中。

  • @consensus() 这是别人提出自己的观点。

   真是感觉越来越深入了。然后在某个时刻,不知道哪根筋正常了,开始质疑自己,我做了几天的这个东西真的有用吗?首先,我自己实现不了,我没办法让机器把句子按照那些规则去拆分!其次是即使拆分了,这套方法用到什么地方?这个问题想了想,感觉可以用于机器记忆中,当然,又开始胡思乱想了。用这种特定的语言可以让机器快速地调取这些记忆!而且,机器读取这些语言之后会懂得怎样去回答一些问题,因为这些结构化的语言可以让机器理解问题的本质!!我真是太聪明了!以上纯属瞎扯,胡思乱想!


       后来进一步意识到自己真的是在胡思乱想之后,我觉得放弃研究这个不切实际的东西了。(或许是我比较愚蠢,放弃研究才是在胡思乱想?Who knows。。。)然后我开始思考科研和这次的胡思乱想的区别。其实,已经不止一次胡思乱想了。以前就曾经在没有求证过别人是否做过的前提下,胡思乱想了一套不完整的定义复数大小的方法,起因是为了把牛顿迭代法应用到求方程近似复根上。当然,如你所知,最后没成功。

       那么胡思乱想跟科研究竟有什么区别呢?胡思乱想就是什么都可以,你可以是有目的的思考,也可以是没有目的的思考,任思想任意游走。而且,胡思乱想是不需要代价的,是在未经求证的前提下,不考虑是否切合实际就进行的思考。而科研是有目的,而且目的性比较强的一种思考探索。通常是有比较科学、严谨的方法支撑整个思考探索过程。两者还是有比较大的差别的。

       当然,我不觉得我这次的胡思乱想是没有科学、严谨的方法支撑的探索过程。实际上,在胡思乱想的时候,我还是比较注重逻辑性的,那套语言是按照某种我目前能想到的最好的框架进行设计的,当然,它还不能算一套,因为极度不完整。

       从我自认为的定义中还是可以看出科研跟胡思乱想是有联系的,至少两者都是一个思考探索的过程。而胡思乱想又比较自由,天马行空又何尝不可!科研则比较严谨,一般比较难跟天马星空扯上关系。但是,如果把两者结合起来呢?也就是说在思考探索的过程中,我们把思维拓宽一点,天马行空一点,或许会有很多新的想法就浮现了。无需怀疑,这些新的想法中大部分是bad idea。毕竟是不考虑实际、天马行空得到的。但是可能会有符合实际的想法也说不定,或者说,这个时候因为本身的局限性觉得不切实际,但是后来人觉得想法不错!这还是有可能的。

       举个高中的例子:(下面的方法属于原创)


  • 求直线 y = -2x + 20 与两个坐标轴所围成闭区域的整点(横纵坐标都是整数)的个数。

       这个问题一点都不难,因为你可以把图像画出来再数一数。就像这样:



       这一数就能得到答案是121。当然你不一定是数出来的,因为你可能发现了按照 x = k (k = 0,2,...,10)来数的话刚好构成等差数列,于是很快就算出来了。但这毕竟不是一个好办法,因为换一条直线,可能就不成等差数列了。而且当截距比较大的时候,直接数是不切实际的,点太多了。

       不过,如果你初中的时候把数学课本的课外拓展阅读部分也看了的话,如果你遇到这个题的时候正好在胡思乱想,而且你从网格开始思想游走到了那个你曾经读过的那篇计算网格多边形的面积方法的文章,那么有可能你会有下面这样的想法:



  • 网格多边形面积的计算公式是(假设网格长度单位都是1):S = a + 0.5b - 1,其中a表示多边形内部的格点数,b表示多边形边界上的格点数,S表示多边形的面积。

  • 这题求整点数其实就是求a+b,于是你由三角形面积(0.5*10*20 = 100)就可以算出 a + 0.5b= 101,再算一下b就结果就出来了,当然,这里b的计算还要算斜边上的整点数。由y = -2x + 20知,x取遍0-10的整数,y都是整数,因此斜边整点有11个,而两条直角边分别有21、11个,当然三条边在两两相交的点分别计算了两次,因此还要减去3。于是b = 40。所以a+b=101+0.5*40=121。

   这是一个通用方法。而且计算会快很多。这个例子说明了胡思乱想还是能够得到一些切合实际的内容的。


       所以,搞科研的在毫无头绪的时候胡思乱想,天马行空一下,或许会有意想不到的收获。但是像我这样一味地游走于天马行空之中,那是会跌进万劫不复的深渊的。

       好吧,我又开始胡思乱想了!




https://blog.sciencenet.cn/blog-1748154-822372.html

上一篇:瞎扯 · 语义分析与理解
下一篇:SWOT分析的进一步模型化以及在个人决策中的作用
收藏 IP: 202.38.236.*| 热度|

1 谷安辉

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

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

GMT+8, 2024-5-8 16:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部