1

我是一名计算机科学专业的学生,​​我正在学习抽象代数,尤其是Group theory.

我已经编程了大约 5 年,但我从未使用过抽象代数中学到的东西。

编程和抽象代数之间的上下文是什么?我真的必须知道。

4

2 回答 2

2

例如,群论在密码学中非常重要,尤其是在 RSA 和 El Gamal 等非对称加密方案中的有限群。这些使用基于整数乘法的有限群。然而,在密码学中还有其他不太明显的组,例如椭圆曲线。

群论的另一个应用,或者更具体地说,有限域,是校验和。广泛使用的校验和机制 CRC 基于有限域 GF(2) 的多项式环中的模运算。

群论的另一个更抽象的应用是函数式编程。事实上,所有这些应用程序都存在于任何编程语言中,但函数式编程语言,尤其是 Haskell 和 Scala(z),通过为诸如 Monoids、Groups、Rings、Fields、Vector Spaces 等代数结构提供类型类来接受它. 显然,这样做的好处是可以以非常通用的高级方式指定函数和算法。

在元层面上,我还要说,对任何计算机科学家(对计算机程序员而言,但对计算机科学家——绝对如此)而言,对诸如此类的基础数学的理解是必不可少的,因为它塑造了你的整个思维方式并且对于更高级的数学是必要的。如果你想做 3D 图形的东西或为工业机器人编程,你需要线性代数,而对于线性代数,你至少应该知道一些抽象代数。

于 2013-05-23T00:06:28.500 回答
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

最后是一个很好的参考

http://books.google.com/books?id=k6joymrqQqMC&printsec=frontcover&dq=finitely+presented+groups+book&hl=en&sa=X&ei=WBWUUqjsHI6-sQTR8YKgAQ&ved=0CC0Q6AEwAA#v=onepage&q=finitely%20presented%20groups%20book&f=false

于 2013-11-26T04:35:54.457 回答