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

計算可能性理論、別名再帰理論に関する質問

4
固定小数点コンビネーター(Yコンビネーター)の明確で直感的な派生?
(型なし)ラムダ計算()の固定小数点コンビネータFIX(別名Yコンビネータ)は次のように定義されます:λλ\lambda FIX≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))≜λf.(λx.f (λy.x x y)) (λx.f (λy.x x y))\triangleq \lambda f.(\lambda x. f~(\lambda y. x~x~y))~(\lambda x. f~(\lambda y. x~x~y)) 私はその目的を理解しており、アプリケーションの実行を完全にトレースできます。最初の原理からFIXを導き出す方法を理解したいです。 ここに私がそれを自分で導き出そうとしたときに得られる限りです: FIXは関数です:FIX ≜λ…≜λ…\triangleq \lambda_\ldots FIXは、別の関数fffを使用して再帰的にします。FIX ≜λf.…≜λf.…\triangleq \lambda f._\ldots 関数fの最初の引数は、関数fffの「名前」であり、再帰的アプリケーションが意図されている場合に使用されます。したがって、fの最初の引数の出現はすべてfff関数で置き換えられる必要があり、この関数はfの残りの引数を期待する必要がありますfff(fffが1つの引数を取ると仮定しましょう):FIX ≜λf.…f (λy.…y)≜λf.…f (λy.…y)\triangleq \lambda f._\ldots f~(\lambda y. _\ldots y) これは、推論の「一歩を踏み出す」方法がわからない場所です。小さな楕円は、FIXがどこに欠けているかを示します(ただし、それを「実際の」FIXと比較することによってしか知ることができません)。 私は既にタイプとプログラミング言語を読んでいますが、それは直接派生しようとせず、代わりに派生物についてリトルスキーマーを読者に紹介しています。私もそれを読みましたが、その「派生」はあまり役に立ちませんでした。さらに、直接的な派生ではなく、非常に具体的な例の使用と、\ lambdaに適切な再帰関数を記述するためのアドホックな試みλλ\lambdaです。


7
すべてのチューリング完全言語は交換可能ですか
プログラミングの方法は知っていますが、CS理論の初心者です。 この答えによると チューリング完全性は、計算可能性の抽象的な概念です。言語がチューリング完全である場合、他のチューリング完全言語が実行できる計算を実行できます。 そして、チューリング完全言語で書かれたプログラムは、別のプログラムで書き直すことができます。 OK。意味あり。Cをアセンブリに翻訳(コンパイル)できます(そして、私は毎日それを行います!)。また、アセンブリをCに翻訳できます(Cで仮想マシンを書くことができます)。同じことが他の言語にも当てはまります。任意の言語をアセンブリにコンパイルし、別の言語で記述されたVMで実行できます。 しかし、チューリング完全言語で書かれたプログラムを別のプログラムで書き直すことはできますか? アセンブリにLIGHTBUTTONオペコードがある場合はどうなりますか?私は物理的に電球のないシステム(言語)でその言語をエミュレートすることはできません。 OK。つまり、コンピューター理論を扱っているので、物理的なデバイスの制限については話していません。 しかし、乗算を持たないデバイスはどうでしょうか?分割?私の知る限り(これはmath.SEの問題ですが)、加算と減算を使用して乗算をエミュレートすることはできません(もちろん、除算はエミュレートできません)[1]。 では、「完全な言語のチューリング」(加算、減算、およびジャンプが可能)は、加算、減算、乗算、およびジャンプが可能な別の言語をどのようにエミュレートしますか? 編集 [1]。任意の実数上。

4
停止問題の決定不能性の証明
停止問題の決定不能性の証拠を理解するのに苦労しています。 がプログラムが入力で停止するかどうかを返す場合、なぜと両方にのコードを渡す必要があるのですか?H(a,b)H(a、b)H(a,b)aaabbbPPPaaabbb にと任意の入力(などを入力できないのはなぜですか?H()H()H()PPPxバツx

5
NPでこの決定できない問題がないのはなぜですか?
明らかにNPには決定できない問題はありません。ただし、ウィキペディアによると: NPは、答えが「はい」であるインスタンスが決定論的チューリングマシンによって多項式時間で検証可能な[..証明]を持つすべての決定問題のセットです。 [...] 多項式時間で実行される問題の検証者が存在する場合にのみ、問題はNPにあると言われます。 ここで、次の問題を検討してください。 ディオファントス方程式が与えられた場合、整数解はありますか? 解決策を考えると、それはそれが本当にいることを多項式時間で検証するのは簡単ですですソリューション:ちょうど式に数字を差し込みます。したがって、問題はNPにあります。ただし、この問題を解決することは決定できないことが有名です! (同様に、「このプログラムはN番目のステップで停止する」という「はい」解決策はNステップで検証できるため、停止の問題はNPにあるはずです。) 明らかに、私の理解には何か問題がありますが、それは何ですか?

6
素人向けの再帰的および再帰的に列挙可能な言語定義
この質問は、コンピューターサイエンススタック交換で回答できるため、理論的なコンピューターサイエンススタック交換から移行されました。 6年前に移行され ました。 私は、再帰的で再帰的に列挙可能な言語の多くの定義に出会いました。しかし、私はそれらが何であるかを完全に理解できませんでした。 誰かが簡単な言葉で彼らが何であるかを教えてもらえますか?

4
忙しいビーバーは人間に知られている最も急速に成長している機能ですか?
この質問は、コンピューターサイエンススタック交換で回答できるため、理論的なコンピューターサイエンススタック交換から移行されました。 7年前に移行され ました。 この興味深い質問がありました。人に知られている最も急速に成長している機能は何ですか?それは忙しいビーバー? などの関数を知っていますが、この関数はよりもゆっくりと成長し、はよりもゆっくりと成長します、これはよりもゆっくりと成長します。その後、関数を組み合わせてすることができそれはよりも速く成長します。2 x x !x x(x x)!x xx2x2x^22x2x2^xx!x!x!xxxxx^x(xx)!(xx)!(x^x)!xxxxx^x 次に、よりもはるかに速く成長するアッカーマン関数などの再帰関数に到達します。それから、忙しいビーバー関数についての人々は、アッカーマン関数よりもさらに速く成長します。(x x)!B (x )A(x,x)A(x,x)A(x,x)(xx)!(xx)!(x^x)!B(x)B(x)B(x) 現時点では、忙しいビーバーよりも速く成長する他の機能は聞いていません。忙しいビーバーよりも早く成長する可能性のある他の機能がないということですか?(脇の要因からなど、等)A (B (x )、B (x ))B(x)B(x)B(x)A(B(x),B(x))A(B(x),B(x))A(B(x), B(x))

4
なぜ計算可能な関数は再帰関数とも呼ばれますか?
計算可能性理論では、計算可能関数は再帰関数とも呼ばれます。少なくとも一見、日常のプログラミングで「再帰的」と呼ばれるもの(つまり、自分自身を呼び出す関数)と共通点はありません。 計算可能性の文脈における再帰の実際の意味は何ですか?これらの関数が「再帰的」と呼ばれるのはなぜですか? 言い換えると、「再帰性」の2つの意味の関係は何ですか?

6
チューリングの「ハルティング問題‍」を解決するアルゴリズム
この質問は、コンピューターサイエンススタック交換で回答できるため、理論的なコンピューターサイエンススタック交換から移行されました。 7年前に移行され ました。 「アランチューリングは、1936年に、考えられるすべてのプログラム入力ペアの停止問題を解決する一般的なアルゴリズムが存在できないことを証明しました。」 私はのために停止問題を解決するための一般的なアルゴリズムを見つけることができますいくつかの可能なプログラム入力ペアを? プログラミング言語(複数の言語)を見つけることができます。この言語のすべての種類のプログラムに対して、プログラムが終了するか永久に実行されるかを決定できますか?

5
関数型言語のチューリングが完全なのはなぜですか?
主題に関する私の限られた理解はおそらく間違っていますが、これは私がこれまでのところ理解していることです: 関数型プログラミングは、Alonzo Churchが策定したLambda Calculusに基づいています。 命令型プログラミングは、教会の学生であるアランチューリングによって作成されたチューリングマシンモデルに基づいています。 ラムダ計算は、チューリングマシンと同じくらい強力で 能力があります。つまり、計算能力は同等です。 関数型プログラミングがチューリングマシンではなくLambda Calculusに基づいている場合、なぜそれらの一部(またはすべて)がチューリング完全であると記述され、ラムダ完全などではないのですか?「チューリング完全性」という用語は、チューリングマシンにとって特別な意味がありますか、それとも単なる言葉ですか。 最後に、命令型言語がチューリングマシンに基づいており、コンピューターが基本的に無限メモリのないチューリングマシンである場合、現代のPCで機能するプログラミング言語よりもパフォーマンスが高いことを意味しますか? その場合、ラムダ計算機と同等のものは何でしょうか? これは3つの別個の質問のように見えますが、それらはすべて密接に関連しており、それぞれが最初の有効な質問である前の質問に依存しています。

3
コルモゴロフの複雑さの近似
コルモゴロフの複雑さについて何かを研究し、VitanyiとLiのいくつかの記事と本を読んで、正規化圧縮距離の概念を使用して著者のスティロメトリーを検証しました(各著者がどのようにテキストとグループ文書を書くかを類似性によって識別します)。 その場合、データコンプレッサーをチューリングマシンとして使用できるため、データコンプレッサーを使用してコルモゴロフの複雑さを近似しました。 データ圧縮とプログラミング言語(ある種のコンプレッサーを記述する)に加えて、コルモゴロフの複雑さを近似するために他に使用できるものはありますか?使用できる他のアプローチはありますか?


2
「自然な」決定不能な言語はありますか?
決定できない「自然な」言語はありますか? 「自然」とは、文字列のプロパティによって直接定義された言語を意味し、機械や同等のものを介してではありません。以下のような言語のルックス言い換えれば、 どこMは TMで、DFA(または正規-EXP)、PDA(または文法)、など。、そしてLはない自然。しかし、L = { x y … ∣ x はy …の接頭辞です}は自然です。L = { ⟨ M⟩ | ... }L={⟨M⟩∣…} L = \{ \langle M \rangle \mid \ldots \}MMMLLL L = { x y… ∣ x はyの接頭辞… }L={バツy…∣バツ yの接頭辞です…}L = \{xy \ldots \mid x \text{ is a prefix of y} …

5
計算のより高いレベルの説明に逃げることにより、停止問題を「解決」できますか?
最近、停止問題の決定不能性に関するチューリングの証明がラッセルの理髪師のパラドックスに非常に似ているという興味深い類推を聞いたことがあります。 だから私は不思議に思いました:数学者は最終的に、Cantorの素朴な定式化からより複雑な公理系(ZFC集合論)に移行し、重要な除外(制限)と途中での追加を行うことで、集合論を一貫させることに成功しました。 したがって、チューリングマシンよりも強力で表現力のある一般的な計算の抽象的な記述を試してみて、それを使用して、実存的証明または場合によっては停止問題を解決するためのアルゴリズムを取得することもできます任意のチューリングマシン?

1
非決定性から余分な力を獲得しないコンテキストフリー言語用のマシン
計算のマシンモデルを検討する場合、通常、チョムスキー階層は(順番に)、有限オートマトン、プッシュダウンオートマトン、線形境界オートマトン、およびチューリングマシンによって特徴付けられます。 最初と最後のレベルでは1(正規言語と帰納的可算言語)、それは我々が決定論的または非決定的なマシンを考慮するかどうかのモデルのパワーに違いはない、すなわちのDFAは、NFAのに相当し、DTMのは非関税措置と同等である2。 ただし、PDAとLBAの場合、状況は異なります。決定論的PDAは、非決定論的PDAよりも厳密に小さい言語セットを認識します。また、決定論的LBAが非決定論的LBAと同程度に強力であるかどうかも重要な未解決の問題です[1]。 これは私の質問を促します: 文脈自由言語を特徴付けるが、非決定論が余計な力を加えない機械モデルはありますか?(そうでない場合、この理由を示唆するCFLのプロパティがありますか?) (私には)文脈自由言語が何らかの形で非決定性を必要とすることは証明できないと思われますが、決定論的なマシンで十分な(既知の)マシンモデルはないようです。 拡張の質問は同じですが、状況依存言語の場合です。 参照資料 S.-Y. 黒田、「言語のクラスと線形境界オートマトン」、情報と制御、7:207-223、1964。 脚注 コメントに対する補足的な質問ですが、チョムスキー階層のレベル(セットを含めることで順序付けされている)が0から3ではなく、3から0になっている理由はありますか? 明確にするために、私は認識のみできる言語について話している。明らかに、複雑さの問題は、このような変更によって根本的な影響を受けます。

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