はいといいえ。魔法とは対照的に、チューリングマシンが実行できることを実行でき、依然として計算と呼ばれる既知の計算モデルはありません¹。したがって、その意味で、チューリングの完全性を超えるものはありません。
一方で、「間接的な層を加えれば解決できない問題はない」という言葉はよく耳にするかもしれません。そのため、チューリング マシンに直接マッピングされる計算モデルと、一定レベルの間接性を必要とする計算モデルを区別する必要があるかもしれません。「間接的なレベルを追加する」ということは、一般的に正確な数学的概念ではありませんが、多くの特定のケースでは、間接的なレベルを観察できます。多くの場合、計算のパラダイムがチューリング計算可能であることを証明する最も簡単な方法は、チューリング マシンでそのパラダイムのインタープリターを作成することです。これはまさに間接的なレベルです。
それでは、並行性をモデル化することの意味を見てみましょう。あなたは「物事を正確に同時に実行する」能力について言及しています。これは、 parallelismと呼ばれる特定の種類の同時実行であり、同時実行に関する限り、非常に制限されたモデルです。並行性の世界は、これよりもはるかにワイルドです。それにもかかわらず、並列処理は、チューリング マシンでモデル化されたときに、何らかの形式の間接化を必要とするものを既に許可しています。
次の問題を考えてみましょう: コンピュータ プログラム A と B (ユニバーサル チューリング マシンのテープに渡された) が与えられた場合、両方を実行し、どちらかのプログラムの結果を返します。A と B の両方が非終了でない限り、プログラムは終了する必要があります。純粋にシーケンシャルな世界では、A を実行して結果を返すことができます。または、B を実行して結果を返すこともできます。しかし、A を実行することから始めて、B が終了している間に非終了プログラムになった場合、その実行戦略では問題は解決しません。同様に、B を実行することから開始した場合、A が終了しても B が終了しない可能性があるため、実行戦略では問題が解決されません。
A と B のどちらが終了するかは決定できないため、どちらを最初に実行するかを決定することはできません。ただし、チューリング マシンを変更してプログラムを並列実行する非常に簡単な方法があります。A と B を別々のテープに置き、オートマトンを複製し、2 つのうちの 1 つが終了するまで各プログラムの 1 つのステップを実行します。このレベルの処理を追加することで、並列実行の問題を解決できます。
この問題を解決するには、モデルを少し変更するだけで済みます (デュアル テープ チューリング マシンをシングル テープ マシンでモデル化するのは簡単です)。それにもかかわらず、これは [ラムダ計算](http://en.wikipedia.org/wiki/ラムダ計算) の重要な例であり、別の重要な計算モデルであるため、言及します。2 つのラムダ項を、そのうちの 1 つが正規形に達する (終了する) まで並列に縮約 (評価) する操作は、プロトキンの並列またはと呼ばれます。並列 or を実装するラムダ項 (ラムダ計算プログラム) を記述できないことが知られています。したがって、ラムダ計算は「本質的にシーケンシャル」であると言われています。
ここでラムダ計算に言及する理由は、ほとんどのプログラミング言語がプログラミング マシンよりもラムダ計算に近いからです。そのため、プログラマーとして、チューリング マシンからの洞察よりもラムダ計算からの洞察の方が重要な場合がよくあります。並列またはの例は、言語² に並行性を追加することで、元の言語では利用できない可能性を開くことができることを示しています。
チューリング マシンと本質的に同じトリックを使用して、シーケンシャル言語に同時実行性を追加することができます。つまり、スレッド A の小さな断片を実行し、次にスレッド B の小さな断片を実行する、というようにします。実際、言語でそれを行わなくても、通常はオペレーティング システムのカーネルが代わりにそれを行うことができます。厳密に言えば、これはスレッドの同時実行を提供しますが、それでも単一のプロセッサを使用します。
理論モデルとして、この種のスレッド化された実行には、決定論的であるという制限があります。. 実際、チューリング マシンで直接モデル化できるシステムはすべて決定論的です。並行システムを扱う場合、非決定論的なプログラムを記述できることが重要になることがよくあります。多くの場合、計算の複数のスレッドがインターリーブされる正確な順序は関係ありません。したがって、2 つのプログラムは、本質的に同じ計算を行うが、順序がわずかに異なる場合、同等です。単一プログラムの実行ではなく、可能なインターリーブのセットを調べることで、逐次計算のモデルから並行計算のモデルを作成できますが、管理が難しいレベルの間接計算が追加されます。したがって、並行性のほとんどのモデルは、システムに非決定性を焼き付けます。そんなことしたら、もうチューリングマシンでは走れません。
¹
この点で、思考 (私たちの脳内で起こっていること) は、それがどのように行われるのか分からず、科学的に理解されていないという意味で、依然として魔法です. 再現方法を知っているものはすべて (生物学的な意味ではありません!)、チューリング計算可能です。
²
ここで、言語には自分で定義できないすべてが含まれていることに注意してください。この意味で、標準ライブラリは「言語」の一部です。