首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
宝塔
V2EX  ›  数学

有没有既懂写程序又懂抽象数学的同学么?

  •  
  •   ca1123 · 2015-07-11 14:47:41 +08:00 · 3586 次点击
    这是一个创建于 1594 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我觉得纯数学界的很多成果应该在编程领域潜力巨大
    比如用OOP来套群的概念的话
    那就是群的元素就是各个对象 群的运算就是这些个对象都Implement的Interface
    诸如此类 不一而足
    民那桑能不能就此谈谈想法?
    22 回复  |  直到 2015-12-04 02:24:45 +08:00
        1
    ubinexy   2015-07-11 18:07:04 +08:00
    为什么要拿面向对象的概念来说明群的概念,完全不一样啊!

    要说的话,SICP里提到的闭包的概念倒是有点像群。
        2
    wy315700   2015-07-11 18:18:41 +08:00
    群要满足封闭性、结合律、单位元和逆元。

    一个class 衍生的所有对象倒是可以组成一个群


    计算机本身到是可以套到群的概念里,因为计算机里所有的运算其实就是个有限域的运算,密码学里用的比较多。
        3
    em70   2015-07-11 18:45:06 +08:00 via Android
    计算机专业早期不是独立的,而是数学系大三选择的一个方向,现在数学系应该没有谁不会编程的吧
        4
    ca1123   2015-07-11 19:56:04 +08:00
    @ubinexy 有人说对象就是个闭包来着来着
        5
    ca1123   2015-07-11 19:57:53 +08:00
    @wy315700 群这个概念比较老了 而且脱离不了映射 描述能力有限 现在搞Category Theory似乎描述能力提升了 听说Haskell有一些范畴论的东西 但是Haskell似乎没什么人用来着 为什么呢?
        6
    ca1123   2015-07-11 19:58:46 +08:00
    @em70 两种形式科学嘛 数学系的就会点matlab mathematica什么的
        7
    wy315700   2015-07-11 20:04:49 +08:00
    @ca1123
    没了解那么高深了,学群论陆陆续续学了四次,最终还是以失败告终,
        8
    crazyxin1988   2015-07-11 20:05:30 +08:00
    数学系 C++ 都是必需课了
    我记得貌似 C++的学分 和 高代 数分 一样
    而且 有些专业课需要写代码 啊 比如 数值计算 偏微分方程
        9
    nbndco   2015-07-11 20:34:02 +08:00
    你类比的群和对象的关系完全不对……
        10
    googlefans   2015-07-11 21:45:48 +08:00
    一般到高级阶段 都会用到数学
        11
    ca1123   2015-07-11 22:28:15 +08:00
    @nbndco
    为啥呢? 愿闻其详
        12
    linxy   2015-07-12 00:20:37 +08:00 via Android   ♥ 1
    建议学学函数式语言,比如haskell。
        13
    theoractice   2015-07-12 00:59:54 +08:00
    群论是讨论定义了某种运算的集合的公有性质的,跟oop有神马关系。
    生拉硬拽的话,oop更类似于柏拉图的 Theory of forms,也就是所谓“白马非马”之类的哲学观念。
        14
    emdoe   2015-07-12 01:09:15 +08:00 via Android
    @crazyxin1988 起码我们和数分高代差的远…
        15
    monnand   2015-07-12 04:15:13 +08:00
    这个早就有人在搞了吧。楼主搜范畴论 category theory,type theory这些一大堆,他们在haskell上玩得不亦乐乎。编译原理里面很多都需要抽象数学的知识,龙书里面的data flow analysis就讲这块呢。

    简单说,programming language这个领域里很多都是搞纯数学的,比那些弄机器学习,人工智能的人还“纯”。想做抽象点的数学,在CS里大概也就是:
    - Programming language:各种语言设计的自洽性,完备性证明;程序正确性完备性证明;类型系统完备性自洽性证明;各种各样的编译器优化……
    - computer graphics:计算几何
    - Computational theory:这个就不说了……
        16
    ca1123   2015-07-12 16:19:07 +08:00
    @monnand 范畴论这个我知道 haskell在工程实践中有什么巨大的困难么? 是"Monad就是自函子上的幺半群"这种外语么?
        17
    ca1123   2015-07-12 16:20:43 +08:00
    @theoractice 群作为一种抽象,离开了具体的结构,就没有讨论的意义了...不过 OOP 和 白马非马 是怎样的联系呢?
        18
    theoractice   2015-07-12 22:11:11 +08:00
    @ca1123 我的意思是,马和白马的关系类似于抽象类和派生类。。。
        19
    ca1123   2015-07-13 15:55:36 +08:00
    @theoractice 我虽然在数学方面是个三脚猫 但是 代数里面有一个同态的概念 允许通过Kernel抛弃一部分细节 定义关系 似乎很有抽象类和派生类之间的神韵?
        20
    theoractice   2015-07-13 22:48:37 +08:00
    说到底数学就是抽象,那么涉及抽象以及抽象的抽象之类概念,都会有那么点神韵吧。
        21
    foxkiller   2015-09-13 11:48:16 +08:00 via iPhone
    英国的计算机系数学学好多。。。
    英国的数学系学的是物理。。。天天算流体力学什么的。。。

    不要问我怎么知道的(捂脸
        22
    Lumuy   2015-12-04 02:24:45 +08:00 via Android
    我觉得编程就是数学方法的具体实现,就像矩阵运算 9 一样
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1464 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 17:12 · PVG 01:12 · LAX 09:12 · JFK 12:12
    ♥ Do have faith in what you're doing.