1

この質問に対する答えが見つかりませんでした...「周期境界条件」はありますか?つまり、実行は反対側のサイトで続行されますか?それとも、実行がプログラムを離れることは違法ですか?

4

1 に答える 1

3

http://en.wikipedia.org/wiki/Befungeから

Befunge-93 仕様では、各有効なプログラムを、水平方向に 80 命令、垂直方向に 25 命令のグリッドに制限しています。これらの制限を超えるプログラムの実行は、グリッドの反対側の対応するポイントに「ラップアラウンド」します。このように、Befunge プログラムはトポロジー的にトーラスと同等です。

つまり、「古典的な」Befunge の場合、はい、ラップします。しかし、その後の開発により、それはそれほど単純ではなくなりました。

Befunge-93 プログラムは単一のスタックしか持つことができず、そのストレージ配列は制限されているため、Befunge-93 言語は、ほとんどの機械語とは異なり、チューリング完全ではありません (ただし、Befunge-93 はチューリング完全であることが示されています。無制限のスタック ワード サイズ)[3] 後の Funge-98 仕様では、プログラムのサイズ制限を取り除くことでチューリング完全性を提供しています。Funge-98 命令ポインターの動きは、一定の制限でラップアラウンドするのではなく、その創始者である Chris Lahey にちなんで「Lahey-space」と呼ばれるモデルに従います。このモデルでは、グリッドはラッピングに関して有限サイズのトーラスのように振る舞いますが、それ自体は無期限に拡張できます。

于 2012-09-30T23:50:48.130 に答える