我是一名计算机科学专业的学生,我正在学习抽象代数,尤其是Group theory
.
我已经编程了大约 5 年,但我从未使用过抽象代数中学到的东西。
编程和抽象代数之间的上下文是什么?我真的必须知道。
我是一名计算机科学专业的学生,我正在学习抽象代数,尤其是Group theory
.
我已经编程了大约 5 年,但我从未使用过抽象代数中学到的东西。
编程和抽象代数之间的上下文是什么?我真的必须知道。
例如,群论在密码学中非常重要,尤其是在 RSA 和 El Gamal 等非对称加密方案中的有限群。这些使用基于整数乘法的有限群。然而,在密码学中还有其他不太明显的组,例如椭圆曲线。
群论的另一个应用,或者更具体地说,有限域,是校验和。广泛使用的校验和机制 CRC 基于有限域 GF(2) 的多项式环中的模运算。
群论的另一个更抽象的应用是函数式编程。事实上,所有这些应用程序都存在于任何编程语言中,但函数式编程语言,尤其是 Haskell 和 Scala(z),通过为诸如 Monoids、Groups、Rings、Fields、Vector Spaces 等代数结构提供类型类来接受它. 显然,这样做的好处是可以以非常通用的高级方式指定函数和算法。
在元层面上,我还要说,对任何计算机科学家(对计算机程序员而言,但对计算机科学家——绝对如此)而言,对诸如此类的基础数学的理解是必不可少的,因为它塑造了你的整个思维方式并且对于更高级的数学是必要的。如果你想做 3D 图形的东西或为工业机器人编程,你需要线性代数,而对于线性代数,你至少应该知道一些抽象代数。
我认为群论和编程之间没有任何背景......或者你的问题没有任何意义。代数有编程的应用,反之亦然,但可以说它们本质上并没有联系在一起或互惠互利。
如果您是一名计算机科学家,试图解决一些有趣的抽象代数问题,那么有许多枚举和分类问题可以从几何群论中的计算方法中受益,这是目前的热门话题,这里有一个非常全面的研究人员和问题列表(至少 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
最后是一个很好的参考