コンピュータサイエンス

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

1
一貫性は、ヒューリスティックも許容されることをどのように示唆していますか?
ヒューリスティック関数h(n)h(n)h (n)は... ノードnnnからゴールまでの推定コストが、そのサクセサステップコストにn′n′n'サクセサからゴールまでの推定コストを加えた値より大きくない場合、一貫性があります。 h(n)h(n)h(n)が目標状態への真のコストを過大評価しない場合に許容されます。 私の人工知能コースの教科書には、一貫性は許容性よりも強いと書かれていますが、それを証明するものではなく、数学的な説明をするのに苦労しています。


5
ゴールドバッハ予想とビジービーバーの数字?
背景:私はコンピューターサイエンスの完全な素人です。 私はここでビジービーバーの数字について読んでいて、次の文章を見つけました: 人類は、BB(6)の値はもちろん、BB(7)の値またはシーケンス内のそれ以上の数値を知ることはありません。 確かに、すでにトップ5および6ルールの競合他社は私たちから逃れています。私たちは、それらが人間の観点でどのように「機能する」かを説明することはできません。創造性が彼らのデザインを吹き込んだとしても、それは人間がそこに置いたからではありません。これを理解する1つの方法は、小さなチューリングマシンでさえ、数学的問題をコード化できることです。Goldbachの推測を考えてみましょう。4以上のすべての偶数は、2つの素数の合計である:10 = 7 + 3、18 = 13 + 5。推測は1742年以来証明に抵抗しました。しかし、100個のルールでチューリングマシンを設計できます。推測。次に、BB(100)を知っていれば、原則としてこのマシンをBB(100)ステップで実行し、停止するかどうかを判断して、Goldbachの推測を解決できます。 アーロンソン、スコット。「大きな番号に名前を付けることができるのは誰ですか?」誰が大きい番号に名前を付けることができますか?Np、nd Web。2016年11月25日。 著者は、有限数の計算で無限に多くの数に関する声明であるゴールドバッハ予想を証明または反証できると著者が示唆しているように思えます。何かが欠けていますか?

1
POSIX BREはすべての標準言語を表現できますか?
POSIX.1-2008で定義されている「Basic Regular Expressions」は代替をサポートしていないようですa|b(ただし、一部のgrep実装はエスケープバージョンを認識しますが\|)。 定義上、通常の言語は結合の下で閉じられているため、これはPOSIX BREが有限オートマトンよりも表現力が低いことを意味しますか?または、他の構造を使用して交互をシミュレートする方法はありますか?

1
動的論理と時相論理の違い
違いを見つけるために、ウィキペディアの時相論理に関する以下のアサーションに遭遇しました: ダイナミックロジックと多くの共通の機能を共有するモーダルロジックの別のバリアントは、Pnueliが「内生」ロジックと特徴づけるものであり、他は「外生」ロジックであるという点で、上記のすべてのロジックと異なります。これにより、Pnueliは、時間の経過とともに単一のグローバルな状況が変化する普遍的な行動フレームワーク内で時相論理アサーションが解釈されることを意味しましたが、他のロジックのアサーションは、彼らが話す複数のアクションの外部で行われます。内生的アプローチの利点は、環境が時間とともに変化するとき、何が何を引き起こすかについて基本的な仮定を行わないことです。その代わりに、時相論理式は、システムの2つの無関係な部分について話すことができます。実際には、時間アサーションの通常の論理結合は、時間ロジックの同時合成演算子です。並行性に対するこのアプローチの単純さにより、同期、干渉、独立性、デッドロック、ライブロック、公平性などの側面を備えた同時システムについて推論するために、時相論理が選択のモーダルロジックになりました。 かなり違いを実感できませんでした。動的ロジックは、時間ロジックだけでなく、引数内のすべての時間駆動の側面をカバーできませんか? それとも、なぜ動的システムが同時システムを処理しないのですか? ケースをクリアしていただけますか?

3
すべての自己修正アルゴリズムを非自己修正アルゴリズムでモデル化できますか?
命令を変更できる任意のコンピュータープログラムがある場合、命令を変更できないプログラムでそのプログラムをシミュレートすることは可能ですか? 編集: 私はstackexchangeに新しいので、ここで新しい質問をすることができるかどうかはわかりませんが、ここに行きます:わかりました。今、私は疑問に思っています:最も効率的な(そしてどの程度)問題を解決するために最も効率的な自己修正アルゴリズムを使用するのが、入出力同等の最も効率的な非自己修正アルゴリズムに対してですか?

1
RAMは独自のゲーデル数を計算できますか?
RAMのGödel番号を取得するには、コマンドのリストにし、このリストを整数にします。 だから、私は「独自のゲーデル数を返すRAM()には情報xが必要なので、整数はxより大きくなるため、独自のゲーデルを返さない」と考えました。数。"xxxxxxxxx しかし、その後、RAMのコードに100000 ... 000を書き込む代わりにを計算するなど、特定の数値に対して圧縮を実行できることに気付きました。おそらく、ゲーデル数は10 9999ではありませんが、少なくともそうである可能性があります。10999910999910^{9999}10999910999910^{9999} 質問:独自のゲーデル数を計算するRAMはありますか?そのようなことがありますか?

2
スケジューリング問題のこの特殊なケースは線形時間で解決できますか?
学生のアリスは、今後数週間にわたって多くの宿題をします。宿題の各項目には、ちょうど1日かかります。また、各アイテムには期限があり、期限に間に合わなかった場合、成績にマイナスの影響があります(実数、比較可能性のみを想定した場合のボーナスポイント)。 (期限、成績への影響)のリストを指定して、成績への悪影響の合計を最小化する、その日のうちに宿題を行うスケジュールを計算する関数を作成します。 すべての宿題は最終的に行われなければなりませんが、彼女がアイテムの締め切りに間に合わなかった場合、彼女がそれを遅らせることは重要ではありません。 別の定式化では: ACME corpは、顧客に水を供給したいと考えています。彼らはすべて1つの上り坂に沿って住んでいます。ACMEには、通り沿いにいくつかの井戸があります。各井戸には、1人の顧客に十分な水が供給されます。顧客は、提供する金額を変えて入札します。水は下り坂でしか流れません。提供する顧客を選択して、収益を最大化します。 バケットの並べ替えを使用して期限を並べ替えることができます(または、既に期限で並べ替え済みであると仮定します)。 グレードの影響を降順に並べ替えれば、貪欲なアルゴリズムで問題を簡単に解決できます。その解決策はO(n log n)に勝るものはありません。 Median of Mediansとランダム化線形最小スパニングツリーアルゴリズムに触発され、単純なスケジューリング/フローの問題を(ランダム化?)線形時間でも解決できると思います。 を探しています: (潜在的にランダム化された)線形時間アルゴリズム または、線形時間は不可能であるという議論 踏み台として: 期限までにどの項目を実行できるかを知るだけで、完全なスケジュールを線形時間で再構築するのに十分であることをすでに証明しました。(この洞察は、証明書についてのみ質問している2番目の定式化の根底にあります。) 単純な(積分!)線形プログラムでこの問題をモデル化できます。 このプログラムの双対性を使用すると、双対プログラムの解も与えられている場合、候補の提案された解の最適性を線形時間で確認できます。(両方の解は線形のビット数で表すことができます。) 理想的には、グレードの影響の比較のみを使用し、そこでの数値を想定しないモデルでこの問題を解決したいと考えています。 この問題には2つのアプローチがあります。1つは期限とインパクトを使用したトレープに基づいており、もう1つはランダムピボット要素の選択とインパクトによるアイテムの分割に基づいています。どちらもO(n log n)を強制する最悪の場合、またはパフォーマンスを低下させますが、両方のパフォーマンスを低下させる単純な特殊なケースを作成することはできませんでした。

2
Co-NPにFACTORが含まれているのはなぜですか?
PRIME、COMPOSITE、FACTOR、およびそれらが複雑さの点でどのように関連しているかという問題に頭を悩ましています。私は、PRIMEがAKSの素数性テストによってにあることが示されていることを理解しています。これはCOMPOSITEでも同様に機能すると考えています。PPP FACTORについては、 FACTOR={(m,r):∃s such that1&lt;s&lt;r and s divides m}FACTOR={(m,r):∃s such that1&lt;s&lt;r and s divides m}FACTOR = \{(m,r) :\;\; \exists s \text{ such that} 1<s<r \text{ and } s \text{ divides } m\} 私が読んだものから、それがであるように思わ。証明書はrより小さいmの素約数で構成されるため、N Pであることがわかります。しかし、(多項式時間で)そのような素因数がないことをどのような証明書で証明できますか?NP∩Co−NPNP∩Co−NPNP \cap Co-NPNPNPNPmmmrrr

3
2つの正規表現操作だけでは表現できない通常の言語
すべての正規言語は正規表現で表現できると思っていました(言語が正規の場合は正規表現で表現できます)が、そのためには3つの正規操作(連結、結合、スター)がすべて必要であると言われました保持する。 たとえば、共用体と連結の正規表現操作(3つのうち2つ)しか使用できない場合、これら2つだけでは説明できない通常の言語があると言われました。 Kleeneスターとユニオンだけで同じです。これのいくつかの例は何ですか?


2
P
これは非常に馬鹿げた(または明白すぎて明言できない)質問のように思えます。しかし、ある時点で混乱しています。 私たちは、その表示することができますPが NP===場合にのみ、我々は問題の任意のインスタンス解くアルゴリズム設計することができた場合にNPを多項式時間では。 しかし、P NPであることをどのように証明できるのか、私にはわかりません。あまり関係がないかもしれないので、次のように言い訳してください。しかし、PがNPと等しくないかどうかを証明するように誰かに言うことは、神が存在しないことを証明するように誰かに言うように思えます。≠≠\neq 一連の問題があり、それらは現在の技術に関係なく、多項式の状態数を持つ非決定性有限オートマトン(NFA)で解決することはできません(これはだらしない定義です)。さらに、いくつかの重要な問題(最短パス、最小スパニングツリー、整数の合計)を多項式時間問題にするかなり大きなアルゴリズムセットがあります。1+2+⋯+n1+2+⋯+n1 + 2 + \dots + n 要するに、P NP===であると信じるなら、「多項式時間でNP問題を解くアルゴリズムを見せてください」と言うでしょう。P NPであると信じているとします。次に、あなたは正確に何を尋ねますか?あなたは私に何を見せたいですか?≠≠\neq 答えは明らかに「あなたの証拠」です。しかし、アルゴリズムが存在できないことをどのような証拠が示していますか?(この場合、NP問題の多項式時間アルゴリズム)

2
NPの通信後問題はありますか?
Sipserの著書「通信後問題に関する計算理論入門」のいくつかのページを読んだばかりで、PCPは実際にはNPにあると考えています。認証者は、次のとおりパイルの入力構成のための 連結T 1、T 2、。。。、t nを文字列tとして、b 1、bを連結する(t1/ b1、t2/ b2、。。。tn/bn)(t1/b1、t2/b2、。。。tn/bn)(t_1/b_1, t_2/b_2,...t_n/b_n)t1、t2、。。。、tnt1、t2、。。。、tnt_1, t_2,...,t_ntttb1、b2、。。。、bnb1、b2、。。。、bnb_1, b_2, ..., b_nbbbtttbbb

2
CPUアーキテクチャは手続き型ランタイムに偏っていますか?
Rustのような同時実行時のパフォーマンスを向上させるためにCPUに変更を加えることはできますか?たとえば、同時実行に役立つ分岐予測の実装またはキャッシュサイズに変更はありますか? 現在のCPU設計は、Cのような手続き型ランタイムに対してより最適化されるかもしれないという印象を持っています。 例示のために、手続き予測コードを分析する研究論文に描かれた一般化に基づいて、分岐予測が実装されました。並行性の抽象化により、既存の分岐予測アルゴリズムに悪影響を与える重要なワーキングセットがランタイムに追加されるのではないかと思っています。たとえば、forループでの予測は1つのことですが、ブランチのターゲットが常にメモリの新しい部分(グラフィック、テキストなど)である場合、常にキャッシュミスであり、ブランチはありません。それの歴史-どちらもまだ触れていないからです。 これはおそらく馬鹿げた質問です。なぜなら、コンテンツは常にRAMにあるかもしれませんが、使用されるよりも小さい桁に分岐するからです(キャッシュに読み込まれたら)。手続き型ランタイムのキャッシュおよび分岐予測子に保存されているコンテキストの観察可能な時間境界である必要があります。これは、より並列化された環境で抽象化境界として明示されます。だから私は疑問に思う...これらの境界は観察されましたか?これを分析した研究論文はありますか? CPUアーキテクチャは、同時実行コードよりも手続き型コードに偏っていますか?または、最新のCPUは汎用性が高く、高度な同時実行言語が問題になりませんか?

1
オートマトンの正規表現と文法の違い
オートマトンは初めてで、昨日だけ正規表現の簡単な紹介を受けました。正規表現を定義するさまざまなルールを読みました。しかし、正規表現と言語の文法を区別することはできません(正規表現の文法は教えられていません)。 文法は言語で有効な文字列を生成するのに役立つことを理解していますが、それが正規表現を定義するためのルールの状態です。それで、違いはどこにありますか?教授に聞いたところ、彼は正規表現は言語の最も基本的な文字列であり、文法はあらゆる言語の規則のセットであり、正規表現よりも高次であると言った。誰かがさらに詳細な情報を提供できますか?

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