計算上列挙できない可算セットはありますか?


15

セットは、自然数の全単射を持つ場合はカウント可能であり、そのメンバーを列挙するアルゴリズムが存在する場合は計算可能に列挙可能です(ce)

列挙から全単射を構築できるため、計算可能な列挙可能な非有限セットはすべてカウント可能でなければなりません。

計算上列挙できない可算集合の例はありますか?つまり、このセットと自然数の間に全単射が存在しますが、この全単射を計算できるアルゴリズムはありません。


1
確立された用語は計算上数えられる。多くの人は、「countable」と「enumerable」は同義語だと言うでしょう。それに応じて質問を編集しました。
アンドレイバウアー

@AndrejBauer、計算可能かつ再帰的は同義語ですよね?
rus9384

1
@ rus9384はい。Robert Irving SoareがTuring-Post Relativized Computability and Interactive Computing(2011)で書いているように、語彙に関しては明快さが支配するはずです:1995年までに混乱は耐えられなくなりました。ブルの計算可能性と再帰に関する記事を書きました。Sym。「計算可能」を意味するために「計算可能」ではなく「再帰的」を使用すべき理由の歴史と科学的理由に関する論理(1996)。最初に、いくつかは...そのような変更を行うことが喜んでいた
デビッドTonhofer

回答:


23

列挙できない可算セットの例はありますか?

はい。自然数のすべてのサブセットはカウント可能ですが、それらのすべてが列挙可能というわけではありません。(証明:の非可算、多くの異なるサブセットがある  が、列挙子として作用することができる唯一の可算多くのチューリングマシンが。)の任意のサブセットだから  Nあなたが既に知っている帰納的可算でないことは、一例である-そのようチューリングをコーディングするすべての数字のセットとして入力ごとに停止するマシン。NN



3
これは、存在を証明ますが、例を与えるものではありません...
BlueRajaを-ダニーPflughoeft

2
@ BlueRaja-DannyPflughoeft、例を挙げることは、列挙するのと同じです。「例を挙げることができないものの例を挙げることができますか?いいえ?したがって、例をあげることができないものはありません。」それは一言で言えば数学的な構成主義です。
ワイルドカード

2
ビジービーバー機能の画像はそのようなセットでしょうか?以来Σが厳密に増加していることは自明で全単射形成Nを、しかし列挙でき一切チューリングマシンはありませんΣはΣΣNΣ
orlp

7
@Wildcardいいえ、例を挙げることは定義することと同じですよね?定義できるが、停止しないすべてのチューリングマシンのセットなど、アルゴリズムによって列挙できないセットがあります。
タナースウェット

17

はい、すべての決定不可能な(半決定的ではない)言語にはこのプロパティがあります。

たとえば、集合停止しないと考えてください L={バツMM 入力で停止しない バツ}

このセットのメンバーを列挙できるアルゴリズムがあるとします。このようなアルゴリズムが存在する場合、これを使用して、次のアルゴリズムを使用して、入力停止問題を解決できます。バツM

  • マシンxnステップ実行し、Lのn番目のメンバーを列挙することを交互に行います。MnバツnL

xで停止するか、停止しません。停止すると、最終的に停止状態に達する nが見つかります。停止しない場合、最終的には列挙でM x に到達します。MバツnMバツ

したがって、削減があり、そのような列挙は存在しないと結論付けることができます。

このような列挙は、半決定的な問題に対して存在する可能性があることに注意してください。たとえば、ステップ後のすべてのチューリングマシン実行のすべての可能なトレースを列挙することで、すべての停止マシン入力ペアのセットを列挙し、停止状態で終了しないものを除外できます。 n


数え切れないほど複雑な言語はありませんか?
rus9384

@ rus9384どういう意味かわかりません。「数えられない」はサイズの尺度です。「複雑さ」は、判断するのがどれほど難しいかの尺度です。しかし、有限文字列の不可算言語はありません。言語を不可算にする場合は、無限文字列(または不可算の「アルファベット」、またはその両方)を許可する必要があります。
デビッドリチャービー

@DavidRicherby、まあ、jmiteはすべての決定できない問題は有限の文字列で動作すると主張していますか?これは、チューリングが認識できる決定不能な問題すべてに当てはまると思います。
rus9384

@ rus9384有限のアルファベットを超える言語は可算であり、計算可能性は通常無限のアルファベットを無視します。この質問も参照してください。
jmite

1
@ rus9384はい、言語は有限アルファベット上の有限文字列のセットです。そのようなことはすべて数えられる。数えられない言語を取得したい場合、その定義から「有限」のインスタンスの一方または両方を削除する必要があります。しかし、誰かが「言語」とだけ言うと、それらは有限のアルファベット上の有限の文字列のセットを意味します。
デビッドリチャービー

7

ΣΣ={01}LΣΣ


バイナリ文字列を必ずしも扱う必要はありません。他のアルファベットよりも文字列に興味がある場合がたくさんあり、計算可能性を「再帰理論」と呼ぶ人は自然数のセットを直接扱う傾向があります。(つまり、数値自体はプリミティブと見なされ、たとえばバイナリ文字列としてエンコードされません。)
デビッドリチャービー

@DavidRicherby数週間前、あなたはYuvalsの答えに対するコメントで私に反対を主張しました。そして、これは最初の同様のケースではありません。
fade2black

Yuvalは多くの回答を投稿し、私は多くのコメントを投稿しているので、より具体的にする必要があります。私は確かに上記のコメントを支持しているので、ある時点で反対のことを言った場合、間違っていたり混乱したり、あなたが私を誤解したり、特定のシナリオなどについて話していたり​​します。あなたを混乱させてしまった場合、特に何か不明瞭または不正確なことを言ってそれをした場合、申し訳ありません!
デビッドリチャービー

2
@DavidRicherby、実際、各有限アルファベットはバイナリに減らすことができるので、それがどのように重要なのか理解できません。または、この場合(各数字に一意の記号がある)数え切れないほどのアルファベットがありますか?
rus9384

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