理論計算機科学者のための抽象代数


19

私は合理的な学部数学教育を受けていますが、抽象代数(グループ、リング、フィールドなどの数学)に100%慣れていることはありません。これは部分的にはアプリケーションを見る必要があり、CSでなく物理学で見つかったものだと思います。私の関心は本当にCSであるため、CSのアプリケーション、特にアルゴリズム/理論の観点から抽象的な代数をカバーする資料(オンラインドラフト、講義ノート、ビデオ、書籍)が利用可能ですか?これらのアプリケーションが完全に理論的であることに満足していますが、既存の抽象代数の知識を前提とするべきではありません。

これらのリソースは存在するはずであり、多くのCS研究者に高く評価されると確信しています。


4
stackexchangeは、右側のサイドバーにある「関連する」質問をたくさん提供します。最初にそれらを読んでください、特にコンピューターサイエンスの代数構造
Uday Reddy

1
@UdayReddyありがとう。私はそれらを読んでいて、いくつかのリンクには良いものがあります。しかし、理想的には、抽象的な代数が重要であるCSの結果のリストではなく、「ランダムな架空の例として」「理論的なコンピューター科学者のための抽象代数の紹介」と題する講義コースを探しています。私の興味はアルゴリズム/理論にあり、例えばカテゴリー理論とはかけ離れています。
マジッド

回答:


17

Madhu Sudanのコースからのメモを試すことができます:代数と計算


これは質問に非常にうまく答えています。MITの6.042のような「コンピューターサイエンスの数学」コースが抽象代数をカバーしていないように見えるのは残念です。少なくとも私が見たものではない。
マジッド

11

抽象代数への可能性のあるパスの1つは、有限フィールド上のアルゴリズムに関する暗号化の観点からそれを調べることです。フィールドはリングであり、フィールドも単純な法則によって結合された2つのグループです。場の理論は、顕著な位置にあるベクトル空間を使用するため(ガロア理論)、この角度は多くの抽象的な代数をカバーするはずです。本

V. Shoupによる数論と代数の計算的紹介

したがって、興味があるかもしれません。

私の個人的な推薦は、申請を無視し、抽象的な代数に関する基本的な学部の数学のテキストを勉強することです。それらの不足はありません。これらすべてが有用であり、素材の基本的な把握ができれば、使用がより簡単に明らかになることを信じてください。

最も基本的な代数は建設的であり、基本的な概念を簡単に実装して理解を深めることができます。たとえば、乗算表がグループかどうかをチェックするアルゴリズム、グループ内の方程式ソルバー、2つの代数構造が同型かどうかをチェックするプログラムなど。これらの問題のうち、ブルートフォースソリューションは実装が簡単ですが、時間がかかります。代数について学習すればするほど、プログラムを高速化するためのアルゴリズムのショートカットを作成できます。例えば、有名なミラーラビンAKSの素数性テスト。


1

Rudolf LidlとHarald Niederreiterによるこの本をご覧ください:Finite Fieldsとそのアプリケーションの概要(第2版、1994)http://www.amazon.com/Introduction-Finite-Fields-their-Applications/dp/0521460948

アマゾンの本の説明を引用して:「有限体の理論は、組み合わせ論、コーディング理論、暗号学、スイッチング回路の数学的研究などの分野での多様な応用のために、近年注目されている現代代数の枝です。 」


-1

暗号化に加えて、コンピューターサイエンスにおける代数の非常に優れた実用的な応用は、おそらく分数の実装です。分子と分母は整数または「大きな整数」型で、分数を減らすことでエンコード長が小さく保たれます(つまり、最も一般的な分子と分母の除数)。

「大きな整数」データ型に関して、興味深い結果はいわゆる「中国の剰余定理」であり、これは引数の素因数としての表現が知られると整数演算の並列化を可能にします。

さらに、代数で見られるもののほとんどは、見た目に美しいものになります(個人的な見地から)。


2
これが質問にどのように対応しているかわかりませんか?
アンドラスサラモン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.