我是一名计算机科学专业的学生,正在学习抽象代数,特别是Group theory
。
我正在编程大约5年,而且我从未使用过我在抽象代数中学到的东西。
编程和抽象代数之间的背景是什么?我真的要知道。
答案 0 :(得分:1)
群论在密码学中非常重要,例如,特别是非对称加密方案中的有限群,如RSA和El Gamal。它们使用基于整数乘法的有限群。但是,在密码学中也存在其他不那么明显的组,例如椭圆曲线。
群论的另一个应用,或者更具体地说,是有限域,是校验和。广泛使用的校验和机制CRC基于有限域GF(2)的多项式环中的模运算。
群论的另一个更抽象的应用是函数式编程。事实上,所有这些应用程序都存在于任何编程语言中,但函数式编程语言,尤其是Haskell和Scala(z),通过为代数结构提供类型类来接受它,例如Monoids,Groups,Rings,Fields,Vector Spaces等等。 。显然,这样做的优点是可以以非常通用的高级方式指定函数和算法。
在元级别上,我还会说,对这样的基础数学的理解对于任何计算机科学家来说都是必不可少的(对于计算机程序员来说不是那么重要,对计算机科学家来说也是如此),因为它会塑造你的整个思维方式,是更高级数学的必要条件。如果你想做3D图形工作或编程工业机器人,你将需要线性代数,而对于线性代数,你应该至少知道一些抽象代数。
答案 1 :(得分:1)
我认为小组理论和编程之间没有任何背景......或者说你的问题没有任何意义。有代数编程的应用,反之亦然,但它们本质上并没有相互联系,也没有互相帮助。
如果你是一个试图解决一些有趣的抽象代数问题的计算机科学家,那么有许多枚举和分类问题可以从几何群理论中的计算方法中受益,这是当前的一个热门话题,这里是一个非常全面的研究人员和问题清单(至少3年前)
http://www.math.ucsb.edu/~jon.mccammond/geogrouptheory/people.html
流行的问题包括有限群体,传递置换群的分类,莫比乌斯函数,多环生成系统和这些
http://en.wikipedia.org/wiki/Schreier - Sims_algorithm
http://en.wikipedia.org/wiki/Todd - Coxeter_algorithm
这个问题给了我许多不眠之夜
http://en.wikipedia.org/wiki/Word_problem_for_groups
现有的代数系统包括GAP和MAGMA
最后是一个很好的参考