理論計算機科学における代数構造の使用


67

私はソフトウェアの専門家であり、個人研究用の代数構造に関する調査を書いており、これらの構造が理論的コンピューターサイエンス(およびそれよりも程度は低いが、コンピューターサイエンスの他のサブフィールド)でどのように使用されるかの例を作成しようとしています。

グループ理論の下で、私は形式言語の構文モノイドと、並列/並行コンピューティングのトレースと履歴モノイドに出会いました。

リング理論の観点から、グラフ処理とセミリングベースの解析のためのセミリングフレームワークに出会いました。

私の研究では、モジュール理論から代数構造の使用法をまだ発見していません(そしてそうしたいと思っています)。

さらなる例があり、それらを見つけるのに適切な場所を探していないだけだと思います。

理論的なコンピューターサイエンス(およびコンピューターサイエンスの他のサブフィールド)で一般的に見られる上記のドメインの代数構造の他の例は何ですか?あるいは、これらのトピックをカバーする可能性のある、どのジャーナルまたは他のリソースを推奨できますか?


12
これはかなり広大なようです。あらゆる種類の代数構造(グループ、リング、セミリング、セミグループ、フィールド)は、理論的なコンピューターサイエンスに現れ、特定のサブコンポーネントを見つけるのに苦労するほど広まっています。また、ハッシュやその他の多くのランダム化されたフィンガープリント法のための有限フィールドを忘れないでください。
スレシュヴェンカト

3
おそらく、表現できるものなら何でもコンピューターサイエンスで使用できます!
vs

回答:


46

私の印象では、概して、伝統的な代数はコンピューターサイエンスでの使用にはかなり具体的すぎるということです。そのため、コンピューター科学者は、より弱い(したがって、より一般的な)構造を使用するか、従来の構造を一般化して、ニーズに合うようにします。また、カテゴリー理論をよく使用します、数学者は代数の一部とは考えていませんが、なぜそうなのかわかりません。トポロジーは高次の側面を処理する可能性があるのに対し、代数は一般に一次であるため、従来の数学を「代数」と「トポロジー」に分離した分岐として不便で、無意味でさえ見つけます。そのため、コンピューターサイエンスで使用される構造には、代数とトポロジが混在しています。実際、代数よりもトポロジに近い傾向があると思います。「代数」と「論理」への推論の連帯は、私たちの観点からは別の無意味な区分です。なぜなら、代数は方程式の特性を扱い、論理は他のすべての種類の特性も扱うからです。

あなたの質問に戻ると、セミグループとモノイドは、オートマトン理論で非常に激しく使用されています。Eilenbergは2巻のコレクションを作成しましたが、2番目のコレクションはほぼ完全に代数です。彼は4巻を計画していたと言われていますが、彼の年齢ではプロジェクトを終了できませんでした。Jean-Eric Pinは、この本の多くの最新版をオンラインブックに掲載しています。オートマトンは「モノイドモジュール」(モノイドアクションまたは「アクション」とも呼ばれます)であり、コンピューターサイエンスの一般性の適切なレベルにあります。従来のリングモジュールは、おそらく具体的すぎます。

格子理論は、表示的意味論の開発における主要な力でした。コンピュータ科学者が数学者と共同で連続格子を開発、それらをドメインに一般化したときに、トポロジーが格子理論に混合されました。ドメイン理論はコンピューター科学者自身の数学であり、伝統的な数学には知識がありません。

ユニバーサル代数は、データ型の代数仕様を定義するために使用されます。そこに着いたコンピュータ科学者は、より一般的なプロパティを扱う必要性をすぐに発見しました。条件付き方程式(方程式ホーン節とも呼ばれます)および一次論理プロパティ。ご指摘のとおり、代数はモデル理論に統合されました。

カテゴリ理論は、型理論の基礎です。コンピューター科学者はさまざまな計算現象に対処するための新しい構造を発明し続けているため、カテゴリー理論はこれらすべてのアイデアを配置する非常に快適なフレームワークです。また、カテゴリ理論によって可能になる構造も使用します。この構造は、ファンクターカテゴリなどの「従来の」数学には存在しません。また、代数は、モナド代数的効果の理論の使用において、カテゴリーの観点から写真に戻ってきます。 代数の双対であるCoalgebrasも多くの応用を見つけます。

そのため、コンピュータサイエンスには「代数」の幅広い応用がありますが、従来の代数の教科書に見られるような代数ではありません。

追記:カテゴリー理論が代数であるという具体的な意味があります。 モノイドは代数の基本構造です。連想性を持ち、アイデンティティを持つバイナリの「乗算」演算子で構成されます。カテゴリー理論はモノイドの要素に「タイプ」を関連付けることによって、これを一般化。タイプが一致する場合にのみ要素を「乗算」できますおよび場合、です。たとえば、行列には乗算演算があり、モノイドになります。ただし、行列(およびa X Y b Y Z a b X Z n × n m × n m na:XYa:XYb:YZab:XZn×nm×nmn異なる可能性があります)カテゴリを形成します。したがって、モノイドは、単一のタイプを持つカテゴリの特殊なケースです。リングは、単一のタイプを持つ付加的なカテゴリの特殊なケースです。モジュールは、ソースカテゴリとターゲットカテゴリが単一のタイプを持つファンクタの特殊なケースです。など。カテゴリ理論は型付き代数であり、その型は従来の代数よりも無限に適用性を高めます。


24
カテゴリー理論家は代数をカテゴリー理論の一部と考えています。代数論者はカテゴリー理論を代数の一部と考えています。論理学者は、両者ともおかしいと思っています。
ジェフ

4
純粋数学でのトポロジーと代数の間の相互作用の多くは...そこにある
Sashoニコロフ

16
これは良い答えですが、「レジメンテーション」と「サイロ文化」についてのあなたのコメントは誤解を招くと思います。代数、トポロジ、およびロジックが統一されているように見える理由は、関心のある質問に対して、これらの主題のあなたに関連する部分が非常に密接に絡み合っているためです。しかし、たとえば、複素数上の4次元多様体を分類しようとすると、数学者が行う従来の区別の有用性がすぐにわかります。それはすべてあなたが解決しようとしている問題に依存します。
ティモシーチョウ

3
個人的には、数学やコンピューターサイエンスの研究文化についてあなたが作るほとんどすべての推論に完全に困惑しています。@TimothyChowが指摘するように、さまざまな種類の問題に対処するためにさまざまなサブフィールドが開発されたため、さまざまなツールが開発されました。さまざまなサブフィールドからツールを持ち込むことが理にかなっており、人々がそれを認識している場合、相互作用があります。例は、例えば、代数に関する講義ノートで見つけるのが難しくありません。
サショニコロフ

3
コンピュータサイエンスのサイロ文化が少ないことに関しては、私も反対します。私は、PLの研究者がなぜこの重機をすべて必要とするのか、何のためにそれを使用するのか、どの問題を解決するのか、なぜ気にする必要があるのか​​、私にはまったく分かりません。多分それは私自身の無知だが、私は...ほとんどの複雑さの理論家とalgorithmicistsはこれらの質問に対する答えを知っている疑い
Sashoニコロフ

23

TCSでのグループ理論の私のお気に入りのアプリケーションは、バリントンの定理です。あなたは見つけることができます複雑さのブログで、この定理の博覧会を、そのポストのコメントセクションでバーリントンの博覧会。


2
+1:多くの人がそれを複雑性理論の最も驚くべき結果の一つと考えています。:)
Kaveh

15

グループ、リング、フィールド、およびモジュールは、計算トポロジーのどこにでもあります。特にカールソンとゾモロディアンの[ex:1 ]の(多次元)永続的相同性に関する研究を参照してください。


@JeffE、リンクをお願いします。
-scaaahu

1
@JeffE、私のコメントは不快なものではありませんでした。はい、Googleの使い方を知っています。私のポイントは、CarlssonとZomorodianによって書かれた特定の記事があり、それは永続的な相同性の概要のようなものだろうか?ある場合は、お知らせください。ありがとう。
-scaaahu

この論文から始めることをお勧めします。(申し訳ありませんが、私の以前のコメントは求められていませんでした。)
ジェフ

@JeffE、わかった、まさに私が探していたもの。ありがとう。
scaaahu

14

グラフの接続性を計算するためのアルゴリズムFOCS2011から)は、非常に便利で実用的です。グラフのs-> t接続性を計算するために、著者は、有限フィールドから描画されたエントリを持つランダムベクトルをsの外縁に割り当てるアルゴリズムを提供し、その後、ランダムを取ることでグラフのすべての縁に同様のベクトルを構築します線形結合、最後にtのインエッジに割り当てられた結果ベクトルのランクを計算することにより接続性を発見します。


ポインタと概要をありがとう!これはFOCS 2011からのものです:dx.doi.org/10.1109/FOCS.2011.55
アンドラスサラモン

12

格子と固定点は、プログラムの分析と検証の基礎にあります。格子理論の高度な結果は、固定小数点の計算や近似などのアルゴリズムの問​​題に関係しているため、めったに使用されませんが、格子理論の研究は異なる焦点を持っています(トポロジ、双対性理論などへの接続)。初期の抽象解釈論文では、基本的な格子理論を使用しています。Roberto Giacobazziと彼の共同研究者の研究は、より高度な結果を使用しています。

分散コンピューティングでは、不可能な結果の有名なファミリーが代数トポロジーの方法を使用して導出されました(Maurice HerlihyとNir Shavitの研究を参照)。

[編集:トポロジーのコンピューターサイエンスへの応用をご覧ください。]


12

ユニバーサル代数は、制約充足問題の複雑さを研究する重要なツールです。

たとえば、二分法予想では、大まかに言って、有限領域での制約充足問題はNP完全解または多項式時間可解であると述べています。Ladnerの定理により、P = NPでない限り、NPにはPではなくNP完全ではない問題があることに注意してください。また、実際に発生するほとんどの問題がNP完全またはPに分類される理由を説明します。

二分法は、バイナリドメインCSP(シェーファー)およびターナリードメインCSP(ブラトフ)、無向グラフへの準同型(HellおよびNesetril)など、いくつかの特殊なケースで証明されました。しかし、一般的なケースはかなり開かれています。攻撃の主要なラインの1つは、ユニバーサル代数によるものです。非常に大雑把に(そして私は間違いなくこの分野の専門家ではありません!)CSPのポリモーフィズムをCSPのドメイン上の関数として定義します。ある意味でのCSPのポリモーフィズムのセットは、その複雑さを捉えています。たとえば、CSP AがCSP Bのすべてのポリモーフィズムを許可する場合、AはBに対して多項式時間還元可能です。ポリモーフィズムのセットは代数を形成し、その構造はアルゴリズムの定義/簡約の表示に役立ちます。たとえば、CSPの多型代数がべき等であり、単項型を許可する場合、CSPはNP完全です。dem等性は、一般性を失うことなく多かれ少なかれ行うことができる単純化された仮定です。代数がi等で単項型を認めないCSPが多項式時間で解けることを示すと、二分法予想が証明されます。

:Bulatovの調査を参照してくださいhttp://www.springerlink.com/content/a553847g6h673k05/を


11

TCSの異なる部分からの2つのアプリケーションを次に示します。

セミリングは、データベース(特に出所に必要なアノテーション)のモデリングに使用されます。また、多くの場合、評価された制約充足の評価構造にも使用されます。これらのアプリケーションの両方で、自然に半環構造につながる方法で個々の値を一緒に結合する必要があり、結合性と1つの半環演算が他に分散します。モジュールに関するクエリに関しては、一般に、どちらのモノイドもこれらのアプリケーションで逆関数を持ちません。


10

リング、モジュール、および代数多様体は、エラー修正、より一般的にはコーディング理論で使用されます。

具体的には、Reed-SolomonコードとChinese Remainderコードを一般化する抽象的なエラー修正スキーム(代数幾何コード)があります。スキームは基本的に、メッセージをリングRから取得し、Rの多くの異なる理想を法とする剰余を取ることでエンコードすることです。

リストデコードの世界では、Guruswamiの最近の論文が、折り畳まれたリードソロモンコードをリストデコードする線形代数法を提供します。 。部分空間回避セットを構築できます。このセットは空間全体とほぼ同じ大きさですが、すべての低次元アフィン部分空間との交差点は小さくなります。メッセージがメッセージ空間内の部分空間回避セットから来るように制限すると、Guruswamiのスキームはナイスリストサイズを保証するアルゴリズムを提供します。これまでのところ、部分空間回避セットの明示的な構成は、DvirとLovettの今後のSTOC論文であるSubspace Evasive Setsでのみ提供されています。 そして、特定のアフィン多様体を使用して(およびデカルト積自体を使用して)セットを構築します。


6

ラムジー理論をチェックしてください-基本的に、多くのオートマトンと形式言語理論の根底にあるピジョンホール原理の重要な一般化です(または、ピジョンホール原理はラムジー理論の最も単純なケースです)。基本的に、非常に不規則な構造であっても、それらが十分に大きい場合、必然的に多くの秩序が含まれることになります。ピジョンホールの原理を超えた小さな例として、6人を連れて行った場合、3人はお互いを知っているか、3人はお互いを知らないことに注意してください。

この論文は、コンピュータサイエンスとのつながりを始めるのに最適な場所のように見えますが、もっとグーグルで検索できます。基本的な性質は代数的ではなく組み合わせ的ですが、代数や理論的なCSに多くの用途があります。

また、発明者であるフランク・ラムジーの物語もチェックしてください-経済学と哲学、数学で根本的でさえ革命的な貢献をした真に驚くべきポリマスであり、多くは26歳で死ぬまでずっと感謝されていませんでした-考えてみたまえ!実際、ラムジー理論の基礎であるラムジーの元の定理は、数学的論理のより大きな目的を持つ論文の単なる補題でした。


2
これは古典的な極値の組み合わせです。代数との関係はどこにあるのでしょうか?(私は
ラムジー

SAk>=2nwA+neSw=xu1...unyx,yAu¯i=e

グラフ理論はもちろん、ラムジー理論とtcsの関連性については異議を唱えていません。OPが代数とラムゼイ理論の応用について尋ねたのは、通常、代数、afaikに関連するものではないということです。あなたには、いくつかの接続ラムジー理論を持っているように見えるので、しかし- >代数- > TCSは念頭に置いて、多分あなたはあなたの答えにそれを追加することができます
Sashoニコロフ

@Sasho-ラムゼイ理論が代数の話題ではないということを意味するなら、私の答えはオフベースです、あなたは100%正しいです。私の答えをおaびします。私の心は、規律と学際の境界を容易に越える傾向があると思います。しかし、それはそれよりも悪いです。ラムジー理論は決して「代数構造」ではありません。私の答えを自由に投票してください。よろしく。
デビッドルイス

ダウンボウティングは論理的かもしれませんが、極度の組み合わせ論が大好きなので、私は行きません:)ところで、対称なので、あなたは私の質問についての考えを与えている
Sashoニコロフ

5

多くの対称性を持つ問題の分析は、グループ理論を使用することで容易になります。例は、ルービックキューブのようなもののアルゴリズムを見つけることです。詳細はわかりませんが、神の数が20であることを証明するには、いくつかの深刻なグループ理論的枝刈りが必要です。別のコンテキストでは、nautyのようなグラフ同型問題の実用的なソルバーは、グラフの自己同型グループを使用します。


また、グラフ同型のアルゴリズム[Luks '81; Babai--Luks '82]で最もよく知られている保証(つまり、理論上は機能しますが、実際には非効率的かもしれません)は、有限の単純なグループの分類を呼び出すこともあり、グループ理論を多用します。
ジョシュアグロチョウ


1

関数型プログラミングでは、問題の最も一般的でエレガントな抽象化は、本質的に代数的(またはカテゴリー論的)であることがよくあります。モノイド、半、ファンクター、モナド、F代数、F代数など。補題)たまたま計算内容と有用性があります。

また、ホモトピー型理論があります。これは、代数的トポロジー設定で型理論を解釈します。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.