コンピュータサイエンス

コンピュータサイエンスの学生、研究者、実務家のためのQ&A

1
(木)言語がブチを認識できないことを証明する
私はツリーオートマトンについてのいくつかのノートをレビューしていて、教授が不完全に残した証拠を結論づけようとしています。ステートメントは次のとおりです。 しましょう A={a,b}A={a,b}A = \{a,b\} そして T={t∈TωA∣every path in t contains a finite number of a}T={t∈TAω∣every path in t contains a finite number of a}T = \{t \in T_A^{\omega} \mid \text{every path in $t$ contains a finite number of $a$}\}。証明してくださいTTT ブチは認識できません。 次のツリーのサブセットを定義できます tn⊆Ttn⊆Tt_n \subseteq T どこ t∈tnt∈tnt \in t_n 持っている …

1
クック・レビンの定理が相対論的でないことをどのように示すことができますか?
以下は私が行き詰まっているエクササイズです(ソース:Sanjeev AroraとBoaz Barak、その宿題ではありません)。 神託があることを示す あAAそして、ある言語は、リダクションを計算するマシンがへのアクセスを許可されている場合でも、が3SATに多項式時間に還元可能ではありません。L∈NPあL∈NPAL \in NP^ALLLあAA 私が試したのは、を問題解決のオラクルにして、。 この割り当てにより、を保証し、オラクルが還元を実行するマシンに提供されない場合、は3SATに還元できません。インスタンスをマップするには、オラクルがリダクションマシンに提供されている場合でも、文字列を検索する必要があります。しかし、これはこの場合多項式の削減がないことの証明のようには見えません。あAAL={1ん|∃⟨M、w⟩st|⟨M、w⟩|=ん そしてチューリングマシンMはwで停止します}L={1n|∃⟨M,w⟩s.t.|⟨M,w⟩|=n and Turing machine M halts on w}L=\{1^n | \;\exists \; \langle M,w \rangle \; \text{s.t.} \; |\langle M,w \rangle|=n \; \text{ and Turing machine M halts on w} \} L∈NPあL∈NPAL \in NP^{A}LLL1ん1n1^n2ん2ん2^n同じ例を使用してそれを証明する方法はありますか?より簡単な例はありますか?

1
等式タイプ別名J公理の消去規則
私はラムダ計算のインタープリターを実装していますが、今度は等式タイプを追加したいと思います。それの導入ルールは簡単ですが、除去ルールは私にはかなりあいまいです。この stackoverflowスレッドを見つけましたが、J公理を1文だけで説明しています。どのように直感的に理解できますか?

3
なぜほとんど(またはすべて)の多項式時間アルゴリズムが実用的ですか?
私は最近、論文の興味深いコメントを読んで、数学がいかに奇妙に役立つかを知りました。これは、多項式時間が実際に効率的である必要がないことを述べています(たとえば、は多項式時間ですが、効率的ではありません)。しかし、多項式時間のすべてのアルゴリズムも、多くてもなどのように、現実的であるとは言えませんか?私の質問は次のとおりだと思います:O(n999999999999999999999)O(n999999999999999999999)O(n^{999999999999999999999})O(n4)O(n4)O(n^4) これは意外ですか? 多項式時間であるが実用的ではないアルゴリズムの例はありますか?

1
セット頂点からセットへの最短経路を見つける方法
私がグラフ、頂点のサブセット、および頂点の2番目のセット持っている場合、 2セット?つまり、すべての -パスの中で最短のパスを探しています。すべてのエッジの重みが正であると仮定することもできます。G=(V,E)G=(V,E)G=(V,E)S⊂VS⊂VS \subset VS′⊂(V∖S)S′⊂(V∖S)S' \subset (V\setminus S)SSSS′S′S' これが私がこれまでこの問題に取り組んだ方法です: 前の操作でフロイドワーシャルアルゴリズムを適用して計算されたグラフの距離行列情報がすでにあります。(d)(d)(d)GGG 次に、各頂点についてすべての頂点を反復処理し、行列最小値を持つペアを見つけます。SSSS′S′S'(s1,s2)(s1,s2)(s_1,s_2)ddd 次にダイクストラのアルゴリズムを使用してと間の最短経路を計算し、頂点セットと接続します。s1s1s_1s2s2s_2SSSS′S′S' これと同じ結果を達成するためのより効率的な方法はありますか?

1
すべてのバルーンに当たる光線の最小数を計算するための貪欲な戦略
以下の最小ザップ問題は、「Greedy Algorithm」に関するJeff Ericksonの講義の演習11 です。 最小ザップ問題は、次のようにより正式に述べることができます。セットを考えるCCC の nんn 平面内の円。それぞれが半径と (x,y)(x,y)(x, y) 中心の座標。すべての円と交差する原点からの光線の最小数を計算します CCC。あなたの目標は、この問題の効率的なアルゴリズムを見つけることです。(下図の「9-balloons-with-4-rays」の例を参照してください) 質問:風船と交差しない光線を発射することが可能だとします。この特別な場合の最小ザップ問題を解決する貪欲なアルゴリズムを説明および分析します。 この問題への取り組みに問題があります。貪欲なアプローチは、ほとんどの円と交差して再帰する光線を使用することだと思いましたが、これは間違っていると言われました。どうしてこれなの? そして、風船と交差しない光線があるという事実の意味は何ですか?いくつかの最適なソリューションがこの事実を使用していることを証明するはずですか? どんな助けもいただければ幸いです!私は最近アルゴリズムを学び始めました:) hengxinの回答に基づくアルゴリズム:https ://cs.stackexchange.com/a/52293/42816 数学的帰納法による証明 注:O(n log n)実装を使用しませんでした 次に、数学的帰納法を使用して、このアルゴリズムの正確性を証明します。私たちの貪欲なアルゴリズムは最適解よりも悪いことはできないことを示します。 しましょう S′S′S'私たちの貪欲なアルゴリズムによって発射された光線のセットになります。しましょうSSS 別の最適なソリューションによって撮影された光線のセットである。 私たちの基本ケースはいつですか n=1n=1n = 1。破壊するオブジェクトは1つだけであり、貪欲なアルゴリズムは1つのレイを使用しますが、これもたまたま最適です。これはチェックアウトです。 ここで、帰納法の仮説について、貪欲なアルゴリズムが最大で nnn オブジェクト。 ここで、最初の光線が αα\alpha の S′S′S' それよりも悪いことはできません SSS。 今考えてみましょう n+1n+1n+1オブジェクトの状況。次に、並べ替えますS′S′S' そして SSS による αα\alpha、時計回り。今から発生する最初の光線を調べてみましょうαα\alpha時計回り。にS′S′S'、この最初の光線、それを呼び出します R′R′R'、おそらくそれよりも悪いことはできません SSS、 あれを呼べ RRR、私たちの貪欲なアルゴリズムは、この光線が最初のオブジェクトを含むほとんどのオブジェクトと交差することを示しているため、 αα\alpha。したがって、RRR …


1
コンピュータビジョン/機械学習における「機能」と「記述子」の違いは何ですか?
私はに類似した複数の時間の文章を読んだことがあります 最後に、標準的な画像分類では、SIFT記述子に基づく単語の特徴が、高性能にとって重要であることが判明しています。最初に、画像全体の標準グリッドポイントで標準SIFTディスクリプターを計算します。 出典:「条件付きランダムフィールドとグローバル分類を使用したマルチクラス画像セグメンテーション」、Nils Plath、Marc Toussaint、中島真一 記述子とは何ですか?SIFTは、画像を操作して機能を提供するアルゴリズムだと思いました(ベクトル。ここで、は、固定サイズの画像とSIFTアルゴリズムのパラメーターに対して固定されています)?RんRn\mathbb{R}^nんnn

3
1対1の暗号で安全なビットシャッフル
入力項目(Nバイト)を指定して、これを出力(まだNバイト)にマップする関数を探しています。関数は以下の性質を持つ必要があります。 すべての入力が一部の出力にマップされ、2つの入力が同じ出力にマップされないように、1対1にする必要があります。 出力要素が与えられた場合、たとえマッピングが完全にわかっていても、その出力につながる入力を推測するのは難しいはずです。 そのような機能はありますか?詳細はどこで確認できますか?

1
空の文字列のみを含む言語のクラス?
L={ϵ}L={ϵ}L = \left \{ \epsilon \right \} 明らかにこの言語は有限なので、これは通常の言語でなければなりません。 すべての通常の言語は状況依存なので、はCSLです。 我々はのための文法を定義することができます:として 以来今 CSLで、この文法は文脈依存文法でなければなりません。しかし、文脈依存文法の定義から:LLLLLL S→ϵS→ϵS\rightarrow \epsilonLLL 文脈依存文法とは、各プロダクションの左側が右側より長くない文法です。 しかし、ここ |S|>|ϵ||S|>|ϵ|\left | S \right | > \left | \epsilon \right | これは矛盾しています。 私はここで何が悪いのか理解できません。

1
「状態」が許容されない場合、関数型言語を使用して命令型言語ですべてを実行できますか?
私はMITのコンピュータープログラムの構造と解釈(SICP)を読んでいました。私が理解したのは、純粋な関数型プログラミング言語では、ローカルな状態などは存在しないということです。SICP、pg 230は言う: 「この本の最後の2つの章で行ったように、割り当てを使用しないプログラミングは、関数型プログラミングと呼ばれています。」 私は命令型プログラミングのバックグラウンドを持っており、実際のシステム(単純な銀行やライブラリ管理ソフトウェアなど)をモデル化して、状態を意識せずにプログラムを作成する方法を理解できていないようです。 関数型プログラミングに状態の概念がない場合、どうすればよいですか?

1
コンテキストフリー言語は、「拡張機能なし」にするために閉じられていません
言語について LLL、定義: NE(L )= { X ∈ L :Xは で任意の文字列の適切な接頭辞ではない L }NE(L)={x∈L:x is not the proper prefix of any string in L} NE(L) = \{x \in L : x \text{ is not the proper prefix of any string in } L\} この操作では、文脈自由言語が閉じられていないことを示しようとしています。私は長い間、反例、つまり言語を見つけるのに苦労してきましたLLL そのような LLL コンテキストフリーですが NE(L )NE(L)NE(L)はコンテキストフリーではなく、何も考え出されていません。調べる言語についてのアイデアやヒントをいただければ幸いです。 編集:ほとんどの文脈自由言語では、どちらかが NE(L )= …

2
長方形の封じ込めのための効率的なアルゴリズム
一連の nnn 行に間隔があり、 O(nlogn)O(nlog⁡n)O(n \log n)他の区間に含まれる区間を見つけるアルゴリズム(たとえば、Manber、「アルゴリズムを設計するための誘導の使用」、1988)。ありますかO (n ログn )O(nlog⁡n)O(n \log n) 高次元の軸整列長方形のアルゴリズム? 私はインターネットで検索して自分で考えようとしましたが、より高い次元の一般化を見つけることができませんでした。たとえば、んnn 平面上の軸に沿った長方形の場合、タスクは、他の長方形に含まれる長方形を見つけることです。

1
Entscheidungsproblemに対するTuringの回答の理解
この質問が以前に尋ねられたことをお詫びしますが、重複を見つけることができませんでした。 The Annotated Turingを読み終えたばかりで、少し混乱しています。 私の理解から、Entscheidungsproblemは、ステートメントが証明可能かどうかを判断できるアルゴリズムが存在するかどうかです。この論文では、チューリングは証明可能なすべての公式を証明するKマシンを定義しています。これはほとんど問題の解決策のようですが、後でチューリングは書いています: ゲーデルが示したことの否定が証明された場合、つまり、各Aについて、Aまたは-Aのいずれかが証明可能な場合、我々はEntscheidungsproblemの即時解を持つ必要があります。証明可能なすべての公式を連続して証明するマシンKを発明できるからです。遅かれ早かれ、KはAまたは-Aに到達します。Aに達した場合、Aが証明可能であることがわかります。-Aに達した場合、 Kは一貫しているため(ヒルベルトとアッカーマン、p.65)、Aは証明できないことがわかります。 ゲーデルの定理は、一部のステートメントは真実であるが証明できないことを示しました。私が理解していないことは、ゲーデルの結果がチューリングのKマシンがEntscheidungsproblemのソリューションになるのをどのように妨げているかだと思います。それは、Kマシンが決して遭遇しないいくつかの式があるのと同じくらい簡単ですか?それで、それは永遠に実行し続け、その式が証明不可能であると決して結論付けません。

1
ハフマンコードVS Hu–Tuckerコード
質問する前に、定義の理解から始めて、混乱を避けるために、背景を説明します。 ハフマンコードは、ハフマンのアルゴリズムによって構築されたバイナリツリーから誘導されたバイナリコードです。 Hu–Tucker Codeは、アルファベット順の検索ツリーから生成されたバイナリコードです。ウィキペディアに よると(最適なアルファベットの二分木(Hu–Tuckerコーディング)の段落を参照): 標準のハフマンコーディング問題では、任意のコードワードが任意の入力シンボルに対応できると想定されています。アルファベットバージョンでは、入力と出力のアルファベット順は同じでなければなりません。したがって、たとえば、はコード割り当てることができませんでした。ただし、代わりにまたは A = { a 、b 、c }あ={a、b、c}A = \left\{a,b,c\right\}H(A 、C) = { 00 、1 、01 }H(あ、C)={00、1、01}H\left(A,C\right) = \left\{00,1,01\right\}H(A 、C) = { 00 、01 、1 }H(あ、C)={00、01、1}H\left(A,C\right) =\left\{00,01,1\right\}H(A 、C) = { 0 、10 、11 }H(あ、C)={0、10、11}H\left(A,C\right) = \left\{0,10,11\right\}。これはHu–Tucker問題としても知られています。TCHuおよびAlan Tuckerの後に、この最適なバイナリアルファベット問題の最初の線形解を提示する論文の著者は、ハフマンアルゴリズムといくつかの類似点を持っていますが、これのバリエーションではありませんアルゴリズム。これらの最適なアルファベット二分木は、二分探索木としてよく使用されます。 私の質問は、そのような木の用途は何ですか?(アルファベットのバイナリツリー) オンラインで検索しようとしましたが、満足のいく答えが見つかりませんでした。 私はHu&Tuckerの論文の主題に関する紹介も読みました: Optimal Computer Search TreesとVariable-Length Alphabetical …

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