我是一個計算機科學專業的學生,我正在學習的東西是抽象代數,尤其是Group theory
。抽象代數和編程之間的上下文
我編程了大約5年,我從來沒有用過像抽象代數學的東西。
編程和抽象代數之間的上下文是什麼?我真的必須知道。
我是一個計算機科學專業的學生,我正在學習的東西是抽象代數,尤其是Group theory
。抽象代數和編程之間的上下文
我編程了大約5年,我從來沒有用過像抽象代數學的東西。
編程和抽象代數之間的上下文是什麼?我真的必須知道。
羣論在密碼學中非常重要,例如特別是RSA和El Gamal等非對稱加密方案中的有限羣。這些使用基於整數相乘的有限組。然而,還有其他一些不太明顯的用於密碼學的組,例如橢圓曲線。
羣論的另一個應用,或者更具體的說是有限域,是校驗和。廣泛使用的校驗和機制CRC基於有限域GF(2)的多項式環中的模運算。
羣論的另一個更抽象的應用是函數式編程。實際上,所有這些應用程序都以任何編程語言存在,但函數式編程語言(特別是Haskell和Scala(z))通過爲諸如Monoid,Groups,Rings,Fields,Vector Spaces等代數結構提供類型類來支持它。這樣做的好處顯而易見,函數和算法可以用非常通用的高層次方式來指定。
在meta層面上,我也會說對這種基本數學的理解對於任何計算機科學家來說都是至關重要的(對於計算機程序員而言,對計算機科學家來說不是那麼重要)整個思維方式,對於更高級的數學是必要的。如果你想做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
終於一個很好的參考