1

私は疑問に思っていましたが、APIを定義してTMチューリングマシンへの入力として提供することは可能ですか?出力はコードcまたは他の自然/プログラミング言語になりますか?

そうではないと思いますが、縮小などで正式に表示するにはどうすればよいですか?

4

1 に答える 1

5

あなたの質問は、プログラム仕様(あなたが「API」と呼んでいるもの)を取り込んで、あるプログラミング言語でプログラムを出力するプログラム(言い換えれば、チューリングマシン)を書くことが可能かどうかを尋ねているようです。これに対する答えは「もちろん」です。いくつかの例を見てみましょう。

  1. 入力仕様をCプログラムとして記述し、プログラムをCで出力したいとします。このチューリングマシンプログラムを「コピー」と呼び、任意の言語で簡単に実装できます(またはcpコマンドラインでコマンドを使用できます)。

  2. 入力仕様をCプログラムとして記述し、プログラムをアセンブリコードで出力したいとします。私はこのチューリングマシンプログラムを「コンパイラ」と呼んでおり、任意の言語で実装できます(または、既存のCコンパイラをダウンロードできます)。

  3. 入力仕様を英語で記述し、プログラムをCで出力したいとします。このTuring Machineプログラムを「ソフトウェアエンジニア」と呼び、人間を学校に送ることで人間の脳に実装します(または雇うこともできます)。既存のソフトウェアエンジニア)。

ここでの教訓は、チューリングマシンは人間ができることは何でもできるということです(そして人間はチューリングマシンができることは何でもできます)。しかし、人間のように汎用的なコンピュータプログラムを書くのは本当に、本当に、本当に難しいです。

于 2012-08-16T02:35:29.610 に答える