×

Loading...

@Vancouver

Topic

This topic has been archived. It cannot be replied.
  • 枫下家园 / 望子成龙 / 数学和CS的关系一例 +1

    经常有网友对CS与数学的关系有疑问。我同意当一般码工不需要多少数学知识。

    但是有些程序就会编不出来了。。。

    举个例子。桌上放了一个拳头大的,光亮的不锈钢球。球面会反映出周围物体的影像。从不同的角度,或不同的距离去看球,看到的反射图像还会不同。

    现在要求编个程序,把这个不锈钢球的图像映射能力还原出来。看看该怎么下手?

    • 这种情况,MIT 的顶尖CS 毕业生也写不出来。特殊情况需要数学家配合,他们把方程解出来,再由CS implement. +4

      很多程式,都是按照数学家或者专业人士把可行方案搞出来,再由CS 来干活。把CS 神话了可不行。
      • 这是以前滑铁卢CS的同学的一个coop项目。问题解决得很好。
        • 你咋知道是他自己搞出来的?很多时候,都是借助外力,查资料,有了公式,CS 才能干活。 +4
          • 这是我儿大二的暑假实习时,同组的另一个滑大学生的项目。这个项目的难度还只能算中等。不骗你。 +1
            • 我相信你说的是事实。我想说的是, 里面的公式方程式应该是有现成的,这个学生research 能力强,能找到正确的公式而已。不太相信他能自己从头研发出新公式。所以,与他的数学能力没太大关系。 +6
              • 有几家公司都在研究类似的问题,当然有参考文献。这个项目后来好像也在顶级计算机视觉大会上发了文章。
              • 需要相關的數學知識才能看懂資料,公式。然後加以應用和改善,這與數學能力有很大的關係,很多學生綫性代數都沒學好。 +2
            • 很高兴这边CS大学生能处理这样的问题。同时狠狠打脸,那些自以为会写两行code, 就以为是CS资深从业人员了。 +1
    • Market上有很多现成的工程软件可以直接解决这类数学问题,也有专门的公司会来开发。就像你炒个鱼香肉丝但没有锅,你可以去店里买,而不是烧铁自己打一口锅。各类商品有各类工种来做。 +4
      • 一般是买不到,公司才需要自己开发吧
        • 如果没有的话,小小的项目没多少钱,给个大学读研的就可以搞定。码工还是该做码工的活 +3
    • 码工的工作就是对现实世界建模,很多时候是对domain或business的理解。当然也会有domain要求有很多的数学背景,但那只是特例而已。
      • 越是有挑战性的岗位,CS与数学的界线越模糊。
    • 这是CS 非常常见的应用案例,简直就是textbook的使用。同理也可以写一个按照MRI 成像的结果,推测癌症,Alzheimer's, 甚至预测脑中风的程序。只要医学界有确定的算法,CS 就是程序实现而已。这里不是CS 厉害,是临床实践,医生,和成像技术厉害。 +4
      • 医学界的算法是对连续世界的描述,比如“边缘模糊”,但落实的到计算机算法上,就是要在离散的像素影像中,提取模糊,这个是CS需要做的了。现代医学,很多随着CS发展的。MRI等就是CS和医学交叉学科。
        • 医学成像技术来说,你描述的是CT这类x射线切片的技术,但MRI 不是切片,而是磁场引起的细胞核共振以后转换出电磁波,经一系列信号转换(模拟转数字,复杂处理,最后数字转模拟)以后的成像。最开始的信号源其实是模拟的连续的。

          不过我前面幻想的是成像以后的片子分析。目前MRI出片以后,还是需要有经验的医生看片来诊断。如果有已知算法来根据图像算出诊断,病人就可以实时知道结果,后续的安排也可以减少等待时间。

          当然,说起来容易,而病情诊断是一个非常复杂的综合过程,需要的数据远远超过几张片子。随着更多更全面的临床试验和研究,加之大规模计算能力的提高,大数据的普及,有朝一日希望可以实现。

    • 如果不去游戏公司,这类东西 99.9999 % 的人不需要知道 +2
      • 还就不是游戏公司。
      • 人傢做視覺方向的研究,以後目標是視覺,AI方面的領軍人物,哪是馬工。
    • 这不就是最简单的入射ray tracing么?而且球表面的norm非常简单。就是复杂一点的difussion ray tracing 也不难,大三图形学最基本的东西啊。那个时候是做的是计算klein bottle的表面norm。 +4
      • 我不好把实际具体项目写出来,简化了很多。是不同形状的光滑曲面反射。
        • ray tracing谁做项目是用球的要得0分的。。。。ray tracing复杂度基本取决于normal vector计算难度。 +6
    • 这种问题,辅导班出身的的程序员估计是搞不出来的。
      • 普通的CS 學生也是弄不出來的,包括華大. +1
        • 99%的大厂码工也搞不出来。 +1
        • .....这就是csc3字头的计算机图形学的学期作业罢了,而且要求必须有difussion ray tracing的东西,不能是简单的入射式。 +7
          • 如果有專門學過的是可以做的。不太清楚這方面的,感覺是專門做圖形,圖像研究生做的事情。
            • 对的,一般是PhD在读的学生做这个。
              • phd都是研究算法优化,并不是做你所谓的画个镜面反光的玻璃球面。特别是定normal移0向量的优化,因为不规则图形的定0是通过路径迭代产生的,迭代复杂度特别高。 +7
                • 我当然知道PhD学生在做什么,只是不习惯故意用一些大多数人不明白的词汇来表达而已。
            • 图形学研究生还在做这种表面ray tracing就太low B了.....图形学研究生基本都要求改进各种图形压缩算法, 如何改进离散反余弦傅立叶变换的复杂度,特别是大规模多0矩阵的优化。实时ray tracing的博士都在做流形表面normal快速近似拟合算法。。。 +7
          • 这边大学CS追新东西这么快吗?本科图形学讲Ray Tracing?
        • 感觉要做好这种题目,最好是博士水平的人,或者本科生里的超级牛人去弄。码工和科学家的区别就在这里。 +2
          • 第一步先做出这个球,第二步就把球抓起来扔出去,看看球在天上飞时,映射的图像是什么样子的。这种项目挺有意思的。
    • 觉得能弄出分析个股的app不失趣味,还更有钱景 +1
      • 那个用的数学比这要难多了。
    • 毕业这么多年了,就还记得几个名词,NURBS,CSG。离开学校后,再也没用过高中以上的数学。 +1
      • 好厉害
        • 当时我们做的软件从理论和算法上比国外的高端主流产品没有什么差距,但是功能少,市场小,所以做这些项目的人后来基本都出国了,到那些大公司或者大学继续科研。做这些的,至少得是硕士。80%的人都是博士或者博士后。 +3
          • 出国搞这个的应该不错,加拿大有几家搞图像处理的公司挺有名的
    • 开发比较专业或者高级应用的时候需要数学功底的,其实很多大学讲CS放在数学系下也就是说明CS跟数学很有关系的,大学都不傻
    • 数学主要是抽象能力,数学好CS大多都能学好的