タグ付けされた質問 「algebra」

13
理論計算機科学における代数構造の使用
私はソフトウェアの専門家であり、個人研究用の代数構造に関する調査を書いており、これらの構造が理論的コンピューターサイエンス(およびそれよりも程度は低いが、コンピューターサイエンスの他のサブフィールド)でどのように使用されるかの例を作成しようとしています。 グループ理論の下で、私は形式言語の構文モノイドと、並列/並行コンピューティングのトレースと履歴モノイドに出会いました。 リング理論の観点から、グラフ処理とセミリングベースの解析のためのセミリングフレームワークに出会いました。 私の研究では、モジュール理論から代数構造の使用法をまだ発見していません(そしてそうしたいと思っています)。 さらなる例があり、それらを見つけるのに適切な場所を探していないだけだと思います。 理論的なコンピューターサイエンス(およびコンピューターサイエンスの他のサブフィールド)で一般的に見られる上記のドメインの代数構造の他の例は何ですか?あるいは、これらのトピックをカバーする可能性のある、どのジャーナルまたは他のリソースを推奨できますか?

12
TCSのグレブナーベース?
誰もがグレブナー基底の理論的計算機科学への興味深い応用を知っていますか? グレブナー基底は、一般にNP困難な問題である多変量多項式を解くために使用されます。TCSまたはTCS関連分野(組み合わせ論、コーディング理論)で効率的なアルゴリズム/構築/証明を提供するために、扱いやすい特別なケースが使用されているかどうか疑問に思っていました。

12
理論計算機科学の代数指向ブランチ
私は代数の非常に強い基盤を持っています、すなわち 可換代数、 ホモロジー代数、 場の理論、 カテゴリー理論、 現在、代数幾何学を学んでいます。 私は数学の専攻で、理論的なコンピューターサイエンスに移行する傾向があります。上記のフィールドを念頭に置いて、どのフィールドが理論的なコンピューターサイエンスの最も適切なフィールドに切り替えられるでしょうか?つまり、上記の分野を追求することによって得られた理論と数学的成熟度は、どの分野で有利に使用できますか?


2
タイプスペースの対数またはルート演算とは何ですか?
私は最近、計算の2つの二重性:負のタイプと分数タイプを読んでいました。このペーパーでは、合計タイプと製品タイプを拡張し、タイプa - bとにセマンティクスを提供しますa/b。 加算および乗算とは異なり、べき乗、対数、および根の1つではなく2つの逆関数があります。関数型(a→b)が型理論的なべき乗である場合、型a → b(またはb^a)が与えられたlogb(c)場合、その型または型を持つとはどういう意味a√cですか? 対数と根を型に拡張するのは理にかなっていますか? もしそうなら、この分野で何か仕事がありましたか?また、その影響を理解する方法に関する良い方向性は何ですか? カリー・ハワード通信が私を助けてくれることを期待して、私は論理でこれに関する情報を調べてみましたが、役に立ちませんでした。

4
データ構造同型
免責事項:私はCS理論家ではありません。 抽象代数から来て、私は同型に等しいものを扱うことに慣れていますが、この概念をデータ構造に変換するのに問題があります。最初に、まっすぐに設定された理論的な全単射射影で十分だと思っていましたが、私は非常に急速に壁にぶつかりました。 より制限的な(しかしより便利な)定義はありますか?(そうでない場合、なぜですか?)「構築されたデータ構造」のカテゴリの標準的な定義はありますか?

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

2
カテゴリ理論/抽象代数と計算の複雑さを組み合わせた理論はありますか?
カテゴリ理論と抽象代数は、関数を他の関数と組み合わせる方法を扱います。複雑性理論は、関数の計算がいかに難しいかを扱います。これらの研究分野が自然なペアのように見えるので、これらの研究分野を組み合わせた人を見たことがありません。誰もこれをやったことがありますか? やる気を起こさせる例として、モノイドを見てみましょう。操作がモノイドの場合、操作を並列化できることはよく知られています。 たとえば、Haskellでは、加算が次のような整数のモノイドであると簡単に定義できます。 instance Monoid Int where mempty = 0 mappend = (+) ここで、0〜999の合計を計算する場合、次のように順番に実行できます。 foldl1' (+) [0..999] または、並行して行うことができます mconcat [0..999] -- for simplicity of the code, I'm ignoring that this doesn't *actually* run in parallel しかし、このモノイドの並列化は、mappendが一定の時間で実行されるためにのみ意味があります。これが当てはまらない場合はどうなりますか?たとえば、リストは、mappendが一定の時間(またはスペース)で実行されないモノイドです。これが、Haskellにデフォルトの並列mconcat関数がない理由です。最適な実装は、モノイドの複雑さに依存します。 これらの2つのモノイドの違いを説明する便利な方法があるはずです。その後、これらの違いでコードに注釈を付け、モノイドの複雑さに応じて、使用する最適なアルゴリズムをプログラムが自動的に選択できるようにする必要があります。

5
計算可能な数が有理数か整数かをテストすることはできますか?
計算可能な数が有理数か整数かをアルゴリズムでテストすることはできますか?言い換えれば、それは道具計算数字は機能を提供するために、そのライブラリは可能でしょうisIntegerかisRational? 私はそれが不可能であると推測し、これは何らかの形で2つの数値が等しいかどうかをテストすることができないという事実に関連していると推測していますが、それを証明する方法はわかりません。 編集:計算数はxxxの関数で与えられるfx(ϵ)fx(ϵ)f_x(\epsilon)の合理的な近似値を返すことができxxx高精度でϵϵ\epsilon:|x−fx(ϵ)|≤ϵ|x−fx(ϵ)|≤ϵ|x - f_x(\epsilon)| \leq \epsilonいずれについても、ϵ>0ϵ>0\epsilon > 0。このような関数を考えると、それがあれば、テストすることが可能であるx∈Qx∈Qx \in \mathrm{Q}またはx∈Zx∈Zx \in \mathrm{Z}?
18 computability  computing-over-reals  lambda-calculus  graph-theory  co.combinatorics  cc.complexity-theory  reference-request  graph-theory  proofs  np-complete  cc.complexity-theory  machine-learning  boolean-functions  combinatory-logic  boolean-formulas  reference-request  approximation-algorithms  optimization  cc.complexity-theory  co.combinatorics  permutations  cc.complexity-theory  cc.complexity-theory  ai.artificial-intel  p-vs-np  relativization  co.combinatorics  permutations  ds.algorithms  algebra  automata-theory  dfa  lo.logic  temporal-logic  linear-temporal-logic  circuit-complexity  lower-bounds  permanent  arithmetic-circuits  determinant  dc.parallel-comp  asymptotics  ds.algorithms  graph-theory  planar-graphs  physics  max-flow  max-flow-min-cut  fl.formal-languages  automata-theory  finite-model-theory  dfa  language-design  soft-question  machine-learning  linear-algebra  db.databases  arithmetic-circuits  ds.algorithms  machine-learning  ds.data-structures  tree  soft-question  security  project-topic  approximation-algorithms  linear-programming  primal-dual  reference-request  graph-theory  graph-algorithms  cr.crypto-security  quantum-computing  gr.group-theory  graph-theory  time-complexity  lower-bounds  matrices  sorting  asymptotics  approximation-algorithms  linear-algebra  matrices  max-cut  graph-theory  graph-algorithms  time-complexity  circuit-complexity  regular-language  graph-algorithms  approximation-algorithms  set-cover  clique  graph-theory  graph-algorithms  approximation-algorithms  clustering  partition-problem  time-complexity  turing-machines  term-rewriting-systems  cc.complexity-theory  time-complexity  nondeterminism 

3
O(n log n)時間で二乗したスパース多項式の合計を計算しますか?
次数が最大、多項式あり、非ゼロ係数の総数があると仮定し(つまり、多項式はスパースです)。多項式を計算するための効率的なアルゴリズムに興味があります。 n n &gt; m np1、。。。、pmp1,...,pmp_1,...,p_mnnnn &gt; mn&gt;mn>mnnn ∑私p私(x )2∑ipi(x)2\sum_i p_i(x)^2 この多項式の次数は最大、入力サイズと出力サイズの両方がです。の場合、時間 FFTを使用して結果を計算でき。これは任意のに対して実行できますか?何らかの違いがある場合、係数が0と1である特別なケースに興味があり、整数に対して計算を行う必要があります。O (n )m = 1 O (n log n )m &lt; n2 n2n2nO (n )O(n)O(n)m = 1m=1m=1O (n ログn )O(nlog⁡n)O(n \log n)m &lt; nm&lt;nm<n 更新。上記の高速な解決策は、高速行列乗算の進歩を意味することを理解しました。特に、場合、の係数としてで。したがって、計算は2つのベクトルの外積の計算に対応し、和計算は行列積の計算に対応します。計算に時間を使用する解がある場合、時間つの行列の行列を乗算できます。 a i k b k j x i + n j p k(x …

1
クワッドエッジデータ構造(Delaunay / Voronoi)
計算幾何学者または代数論者に対する2つの質問: 私は計算幾何学に飛び込み始めたばかりで、私はそれを愛しています=) Delaunay三角形分割アルゴリズムを実装するために、「一般的な下位区分の操作とボロノイ図の計算のためのプリミティブ」と呼ばれるGuibasとStolfiの有名な記事を読みたいと思います。私はすべての理論的なものをスキップし、時間を節約するためにクワッドエッジデータ構造の説明を読むだけです。ただし、構造が広く使用されている場合、または単に美しいからといって、記事のすべての数学を理解することは価値があると思います。 数学は私にとっては少し濃いです。私はトポロジーについて完全に無知ではありませんが、それらのエッジ代数の記述には、私が持っていない抽象代数の知識が必要です。 私の2つの質問は次のとおりです。Delaunay/ Voronoiの計算以外に、クワッドエッジ構造の他のアプリケーションはありますか。非常に強力なツールのようです。 2番目の質問。抽象代数とは何ですか?抽象代数の紹介への参照を与えていただければ幸いです。それらのエッジ代数のセクションを理解するのに十分です。 ありがとうございました!

3
計算におけるリングの形式的表現
代数的方法を使用していくつかの誘導部分グラフを検出することに関する論文を読んでいる間、エッジ理想は可換代数とグラフ理論を結びつける重要なツールであるように思われます。私は代数オブジェクトの計算に精通していないので、このトピックに関する参考文献や本はありますか?チューリングマシンでリングRを表現する際の特殊性、およびRで基本的なプロパティを決定する複雑さ(たとえば、Rの素理想の高さ)

2
高度に対称なNPまたはP完全言語がありますか?
そこに存在する、対称性基の一部ファミリー有するNP-またはP-完全言語G N(またはgroupoidをセットに(多項式時間で)が、その後、アルゴリズムの質問がよりオープンになる)作用L N = { L ∈ L ∣ | l | = n }軌道がほとんどない、つまり| L n / G n | &lt; n cは十分な大きさのnといくつかのcであり、G nLLLGnGnG_nLn={l∈L∣|l|=n}Ln={l∈L∣|l|=n}L_n = \{ l \in L \mid |l| = n \}|Ln/Gn|&lt;nc|Ln/Gn|&lt;nc|L_n / G_n| < n^cnnncccGnGnG_n効率的に生成できますか?nnn ここでのポイントは、このような言語/グループを見つけ、で多項式時間グループのアクションの下で正規形を見つけることができる場合、P T I M EによってLをスパース言語に減らすことができる特定のNの正規形を計算し、P = N PまたはL = Pであることを意味しますFPFP\mathrm{FP}LLLPTIMEPTIME\mathrm{PTIME}NNNP=NPP=NP\mathrm{P = …

3
言語の統語的モノイドとしてのモノイドの実現について
してみましょうL⊆X∗L⊆X∗L \subseteq X^{\ast}、いくつかの言語であること、そして私たちは、定義構文合同のよう u∼v:⇔∀x,y∈X∗:xuy∈L↔xvy∈Lu∼v:⇔∀x,y∈X∗:xuy∈L↔xvy∈L u \sim v :\Leftrightarrow \forall x, y\in X^{\ast} : xuy \in L \leftrightarrow xvy \in L と商モノイドX∗/∼LX∗/∼LX^{\ast} / \sim_Lあります呼ばれる構文モノイドのLLL。 さて、言語の統語的モノイドとしてどのモノイドが生じるのでしょうか?対称グループ用の言語と、基礎となる有限セット上のすべてのマッピングのセット用の言語を見つけました。しかし、他の言語については、ある言語の構文モノイドとして書くことができなかった有限モノイドがありますか? 与えられたオートマトンについて、関数構成が左から右に読み取られるときに状態の文字によって誘導されるマッピングによって生成されるモノイド(いわゆる変換モノイド)を考慮すると、最小オートマトンの変換モノイドは正確に構文モノイド。この観察は、上記の例を構築するのに役立ちました。 私はまた、任意の有限モノイドの実現が非常に簡単ではないことをしてみましょう単にの要素取り、いくつかのオートマトンの変換モノイドとしてMをのすべての発電状態として、と考えるMのアルファベットの文字とし、遷移が与えられていますQのXいくつかの状態のためのQおよび文字X、その後形質転換モノイドはと同形であるM自体(これはグループが対称群に埋め込む方法についてケーリーの定理に似ています)。MMMMMMMMMqxqxqxqqqxxxMMM

3
AESの硬度保証
多くの公開鍵暗号システムには、何らかの証明可能なセキュリティがあります。たとえば、Rabin暗号システムは、ファクタリングと同じくらい難しいと証明されています。 AESなどの秘密鍵暗号システムには、このような種類の証明可能なセキュリティが存在するのだろうか。そうでない場合、そのような暗号システムを破ることは難しいという証拠は何ですか?(試行錯誤攻撃への抵抗以外) 注: AES操作(AddRoundKey、SubBytes、ShiftRows、MixColumns)に精通しています。AESの難しさは、MixColumns操作に起因するようです。MixColumns操作は、ガロア体(および、代数)の難しい問題から難易度を継承する必要があります。実際、質問は次のように言い換えることができます。「どの難しい代数的問題がAESのセキュリティを保証するのか?」

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