なぜ計算可能な関数は継続的ですか?


7

私はラムダ計算の意味論的意味について読みやすい文書書いているところです。そのために、CPO、単調性、連続性を紹介します。CPOはセットですM 半順序で および下部要素必要、における最小要素であると上限以上の存在(毎鎖用)で。関数 2のCPOの間に、すべてのための場合は、単調である以下が成り立ちます。Md0d1d2...MfMNa,bM

abf(a)f(b)

関数 2のCPOの間で、それが単調であり、すべてのチェーンのためならば、連続している、我々が持っていますfMNd0d1d2

f(iNdi)=iNf(di).

これらの定義の意味について読者に良い直感を与えたいと思います。ただし、書き留めることができるものはありません。彼の本»言語«(1993)プログラミングの正式な意味でのグリン・ウィンスケルに続き、として読まれなければなら近いを意味し、(ページ72)できるだけ多くの情報として、少なくとも持っています。これにより、出力に関する詳細情報(122ページ)に入力に関する詳細情報を反映する単調関数になります。これは私には幾分理解できます。ただし、継続性の説明は私には明確ではありません。ababba

後で説明するように、計算可能な関数は、計算可能な関数の出力における情報の単位の出現は、入力における有限数の情報の単位の存在にのみ依存するべきであるという考えに従って、連続でなければなりません。

(73ページ)

これは、セクション8.2(121〜123ページ)のストリームの例、またはこの回答を読んだ後でも、まだわかりません。

だから私の最後の質問は、計算可能な関数が連続的であることを読者にどのように納得させるのですか?なぜありませんで計算機能ではない連続は?

計算能力や固定小数点理論の厳密な導入を必要としない答え/例を提供していただければ幸いです。私はそれらに集中したくないからです。また、ラムダ計算とその意味論的な意味論を事前に知る必要がない場合は、それらの前に単調性と連続性を導入する必要があるので(そうしなければならないので)、すばらしいでしょう。

編集:計算可能というのは、チューリング計算可能という意味です。Winskelsの計算可能ページ337ページの定義を誤解している場合は、訂正してください。これは、チューリング計算可能として明示的に定義されているわけではなく、同等の方法で(少なくとも私の目では)です。

また、私の問題を説明しようとしている別の情報源を指摘したいと思います。しかし、それでもWinskelからのストリームの例と基本的に同じであるため、その例はわかりません。

編集2:それはまた、すべての計算可能な関数が単調であること、つまり非単調な計算可能な関数が存在しないことを示すために私が問題を理解するのを助けるのに良いスタートです。

回答:


9

「計算可能は意味する」を説明する方法はいくつかありますが、ここではそのような2つの説明をします。

チューリングマシンが連続マップを計算する

入力テープに書き留められる可能性のある無限の入力を受け取るチューリングマシンがあるとします。結果は出力テープに書き込まれ、出力セルは1回だけ書き込みます。実用的なテープがあります。機械は永久に稼働し、出力セルがいっぱいになる可能性があります。これはタイプ2マシンとして知られています。(他の種類のマシンの議論も同様ですが、より単純になります。)

以下は明らかです:マシンが出力セルに書き込むとき、そのポイントまでの動作は入力テープの有限部分にのみ依存します。これは、有限の多くの計算ステップで入力ヘッドを移動できなかったという単純な理由によりますある時点を過ぎた。したがって、その時点までに与えられたテープと一致するすべての入力テープは、マシンが同じ出力セルに同じ答えを書き込む原因になっていました。

しかし、入力テープと出力テープのスペースに正しいトポロジを配置すると、これは連続性の形式です。

まず、セットにトポロジを配置します Σテープセルに書き込むことができるシンボルの数。このために、個別のトポロジを選択します。テープはシンボルの無限シーケンスなので、の要素はΣωの製品である Σの。その上に製品トポロジーを配置しましょう。

基本的なオープンセットが Σω 製品トポロジーの形式は U(a0,,an1)={αΣωi<n.αi=ai}、 どこ a0,,aiΣ。つまり、基本的なオープンセットは、シーケンスの最初の部分を指定された値に修正します。a0,,an

次に、関数が f:ΣωΣωマシンによって計算された実際には連続です。基本的なオープンセットを取るV=U(a0,,an1) そしてましょう W=f1(V)。確認する必要がありますW開いています。この目的のために、αW。基本的なオープンセットを見つけた場合W そのような αWW、それで終わりです。

なぜなら αW、 我々は持っています f(α)U。したがって、入力時α マシンは、で始まる出力テープを生成します a0,a1,,an1。それがこれらの細胞を書き出すときまでに、それはせいぜい最初に検査したk 一部の入力のセル kN。取るかもしれませんW:=U(α0,,αk) そしてそれを確認する αWW。それは明らかですαW。証明するWW いずれかを取る βW そしてそれを観察する f(α) そして f(β) 最初に同意する n出力の値。これは、f(β)V それゆえ βW、 要求に応じ。

計算可能なマップは代数的マップ間のマップとして連続的です ωCPO

まず、定義した内容は通常「ωCPO」(ω 名前の中にあるのは、チェーンのプリマだけが必要であることを示しています)

表示セマンティクスでは、データ型は ωCPO。実際、それらは代数に対応します ωCPO(これはあなたの論文にありますか?) ωコンパクトな要素がベースとなるCPO。ここにいくつかの定義があります。

定義: LetDωCPO。要素dDあるコンパクトな場合は、すべてのチェーンのために、x0x1 そのような dixi、 が存在します j そのような dxj

定義: AnωCPOは代数的ですxD その下のコンパクト要素の上限です。

コンパクトな要素の背後にある直感は、それらが「有限の情報」を含むということです。良い例はP(N)、によって順序付けられた自然数のべき集合 、ここでコンパクト要素は正確にの有限サブセットです N(運動!)。別の例:ω連続機能のCPO NN コンパクト要素は、以下に等しい部分関数です 有限な議論を除いてどこでも。

それを言うには ωCPOは代数的であり、すべての要素はそれを近似する有限の情報によって完全に決定されます。表示セマンティクスでは、データ型が代数に対応するという事実ですωCPOは、非常に異常なことをしている場合を除きます。

これで、すべての計算可能なマップが連続的である理由を説明できます。と思いますD そして EωCPOSおよび f:DE計算可能。と思いますxDeEe コンパクトであり、 ef(x)。直感的に、これは「有限の情報e 出力に表示されます f(x)"。 f 計算可能である、それが情報を計算した場合でなければならない e 限られた量の情報のみにアクセスする x、つまり、コンパクトな dD そのような dx そして ef(d)。この引数は、上記のチューリングマシンの引数と比較する必要があります。私たちは確立しました:

補題:もしf:DE 計算可能であり、 ef(x) いくつかのための xD そしてコンパクト eE、それからコンパクトがあります dD そのような dx そして ef(d)

補題を使用して、計算可能であることを示すことができます f継続的です。と思いますx0x1 のチェーンです D。なぜならf モノトーンです、私たちはすでにそれを知っています if(xi)f(ixi)、しかしまた、不平等も必要です f(ixi)if(xi)。なぜならE 代数的であり、いつでもそれを示すだけで十分です eE コンパクトで ef(ixi) その後 eif(xi)。だから仮定するef(ixi)。補題によってコンパクトが存在しますdD そのような dixi そして ef(d)。なぜならd コンパクトであり j そのような dxj、したがって、の単調性 f 我々は持っています ef(d)f(xj)if(xi)。終わりました。


使用している連続性の定義は何ですか?それは私が指定したものとどのように似ていますか?基本的なオープンセットトポロジという用語についてはよく知りません。この場合のトポロジーは注文に似ていると思いますか?
user3389669 2017

1
これらはトポロジーの基本的な概念です。トポロジーのテキストで調べてください。よくわかりません。あなたは計算可能性と継続性についての説明を書いていますが、継続性の標準的な定義に精通していませんか?(あなたが使っているのは特別な場合です。)背景とやる気を少し説明してくれれば、「走る前に歩くことを学ぶ」よりも良いアドバイスをすることができます。
Andrej Bauer

正直なところ、私はコンピューターサイエンスの学生で、修士論文を作成しています。私の仕事は基本的にラムダ計算の表記セマンティクスを構築することです(70年代前半のダナスコットのやり方)。私の主な出典は、ルドルフベルグハンメル(ドイツ語)の»Semantik von Programmierspra​​chen«です。そこから私は定義を持っています。残念ながら、その本では、連続性は不動点の理論を使用して動機付けられています。私の論文は、denotに適したドメインを構築するために本当に必要なものだけを提示する必要があります。sem。ラムダ計算なので、その部分はスキップします。
user3389669 2017

[続き]建設と証明に関する私の作業は完了しました(ギャップが開かないように既存の証明を拡張することも、私の作業の重要な側面です)。私の論文に最後の仕上げをするために、他の若いコンピューター科学者が簡単に読むことができるように、すべての定義を直感的に動機づけたいと思います。しかし、ご覧のとおり、私には直感がありません。
user3389669

3
ご説明ありがとうございます。それは非常に理にかなっています。まず、Dana ScottがCPOを使用したとは思いません。彼は連続ラティスを使用しており、私は彼のデータ型をラティスとして強くお勧めします。それはあなたにいくつかの歴史的展望を与えるでしょう-偽の歴史を作り上げることに注意してください!私の回答を補足して、CPOの継続性を動機付けます。
Andrej Bauer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.