計算で実数はどのように指定されますか?


27

これは基本的な質問かもしれませんが、私はナッシュ平衡計算や線形縮退テストなどのテーマに関する論文を読んで理解しようとしており、入力として実数がどのように指定されているのかわかりませんでした。たとえば、LDTに特定の多項式の下限があると記載されている場合、実数は入力として扱われるときにどのように指定されますか?


1
ここで興味のある議論を見つけることができます:en.wikipedia.org/wiki/Computable_number
ジョセフマルケビッチ

誰かがこれらの論文を無料のダウンロード可能な電子書籍にまとめる必要があります。
ディラワー14年

回答:


34

Kavehの受け入れられた答えに同意しません。線形計画法とナッシュ均衡では、浮動小数点が許容される場合があります。しかし、浮動小数点数と計算幾何学は非常にひどく混ざり合っています。丸め誤差はアルゴリズムの組み合わせの仮定を無効にし、頻繁にそれらをクラッシュさせます。より具体的には、多くの計算幾何学アルゴリズムは、特定の値が正、負、ゼロのいずれであるかをチェックするプリミティブテストに依存しています。その値がゼロに非常に近く、浮動小数点の丸めにより符号が間違っている場合、悪いことが起こる可能性があります。

代わりに、入力はしばしば整数座標を持つと想定され、中間結果はオーバーフローを回避するのに十分な精度の有理数または代数として正確に表現されることがよくあります。これらの数値の浮動小数点近似を使用して計算を高速化できますが、符号テストで正しい答えが得られるように、数値がゼロから十分に離れていることが保証される場合に限ります。

計算幾何学のほとんどの理論的アルゴリズムの論文では、入力が正確な実数であり、プリミティブが入力値の低次多項式の根の符号の正確なテストであると仮定することにより、この問題は回避されます。しかし、幾何学的アルゴリズムを実装する場合、これはすべて非常に重要になります。


Kavehの答えの一部が気に入ったので、計算の代替モデルがあることを示唆しました。これは、私が見ている論文で読んだものと一致しているように思えたからです。そうは言っても、私は答えを本当に知りませんでした...私は今のところカベの答えを受け入れていません。私は実際、代数的数がそれと関係があるのではないかと疑っていました。とにかく、私の質問に時間を割いてくれてありがとう...答えを受け入れる前に、私は考えて、さらに読みます。
フィリップホワイト

私はそれがCGの良いモデルであるとは言いませんでした、私のポイントは、著者が入力が実数であると言っても、実際の実数ではないということです。他の人にCGを含めるべきではないことに同意します。私は非常に少数のCG論文を読みましたが、理論上のCG論文で確立されたBSSモデルはありますか?
カベ

1
私の無知を許してくれますが、BSSは何の略ですか?
フィリップホワイト

1
BSSモデルは、任意の実数が利用可能であると仮定する理論モデルです。CGで行われることには、一般に代数的数に制限されるモデルの実際の実装が含まれます。また、CGの実装は、操作あたりのユニットコストとはほど遠いものです。したがって、それらは同じものではありません。たとえば、LEDA実数モデル、citeseerx.ist.psu.edu / viewdoc /…を
David Eppstein

10
@Kaveh:いいえ。幾何学的アルゴリズムは、合理的な入力だけでなく、任意の実際の入力に対して、実際のRAMモデルで正しく設計されています。特に、実際のRAMではささいなプリミティブを使用するが、(現実的な)整数RAMの効率的なアルゴリズムは知られていないため、正確に実装できない幾何学的アルゴリズムがあります。二組を考える:最良の例は、平方根の問題の和であるTで、正の整数のΣ S S STsSs>tTt
ジェフ


8

これはあなたの質問に対する直接的な答えではなく、ラファエルへのより多くの回答です。最近、コインダクションを使用した実数計算を指定するかなりの作業がありました。このトピックに関する記事をいくつか紹介します。

実数計算の全範囲をカバーすることはほとんどありませんが、さまざまな問題を解決するための進歩が行われています。


1
R

いい視点ね。共帰納的アプローチの限界が何かわかりません。このアプローチはまだ始まったばかりです。
デイブクラーク

7

実数の計算の計算の複雑さは、Blum、Cucker、Shub、およびSmaleによって考慮されています。本の部分的な説明は次のとおりです。

古典的な計算理論は、ゲーデル、チューリング、教会、およびクリーネの研究に起源を持ち、理論計算機科学の非常に成功したフレームワークでした。しかし、この本の論文は、ほとんどのアルゴリズムが実数アルゴリズムである現代の科学計算の不十分な基盤を提供するというものです。この本の目標は、古典理論の主要なテーマを統合し、数学、数値解析、科学計算の問題により直接的に適用できる計算の形式理論を開発することです。途中で、著者は次のような基本的な問題を検討します:マンデルブロ集合は決定可能ですか?単純な2次マップの場合、ジュリアは停止セットを設定しますか?ニュートンの本当の複雑さは何ですか?方法?多項式のステップ数でナップザック問題を決定するアルゴリズムはありますか?ヒルベルト・ヌルステルレンサッツは難治性ですか?4次多項式の実数ゼロを見つける問題は難解ですか?線形計画法は実数よりも扱いやすいですか?

ACM SIGACT Newsでこの本のレビューを見つけることができます。


この本はとても面白そうです、ありがとう。
フィリップホワイト

あなたが最も歓迎している。
MS Dousti

5
上記のコメントでDavid Eppsteinが言及したのとよく似た理由で、実数上の計算のBSSモデルは議論の余地があることは注目に値します。たとえば、任意の実数xおよびy に対して x <yが1つの時間ステップをとるかどうかを計算するBSS公理。対照的に、Type Two Effectivity(TTE)のようなアプローチは、実数に対する近似値を入力として取り、実数に対する関数への計算可能な近似値を出力するマシンを定義します。時間が経過するほど、入力および出力の近似値は向上します。そのアプローチは私にとってより現実的です。
アーロンスターリング

@Aaron Sterling:Type Two Effectivityの良いリファレンスを知っていますか?
ジョシュアグロチョウ

3
@Joshua Grochow:すみません、私はこれに早く着きませんでした。Kavehがリンクした本は、TTEの「Nielsen and Chuang」です。しかし、それはあまりにも多くの表記法を含んでいるので、カジュアルな読者には難解に思えます。代わりに、Vasco Brattkaの次のチュートリアルスライドをお勧めします。cca
アーロンスターリング

7

コメントに基づいて編集/修正

著者が線形計画法、Nash平衡計算における実数入力について話すとき、ほとんどの論文(実数に関する計算/複雑性のトピックではない論文)で実際に実数を意味しません。それらは有理数であり、それらの操作(代数的数)によってそれらから生じる数です。したがって、それらは有限の文字列で表されると考えることができます。

一方、論文が分析の計算可能性と複雑さに関するものである場合、彼らは通常の計算モデルを使用しておらず、実数にわたる計算/複雑さのさまざまな互換性のないモデルがあります。

論文が実数での計算のモデルを指定していない場合、それが最初のケースであると仮定できます。つまり、それらは単なる有理数です。

計算幾何学は異なります。CGのほとんどの論文では、作成者が、アルゴリズムの正確さと複雑さについて議論されているモデルを指定していない場合、BSS(別名real-RAM)モデルと見なすことができます。

モデルは現実的ではないため、実装は単純ではありません。(これは、CCAの一部の人々がKo-Friedman / TTE / Domain理論モデルを好む理由の1つですが、これらのモデルの問題は、実際には浮動小数点計算ほど速くないことです。)の正確さと複雑さBSSモデルのアルゴリズムは、実装されたアルゴリズムの正確性に必ずしも移行しません。

Weihrauchの本には、異なるモデル間の比較が含まれています(セクション9.8)。わずか3ページで、読む価値があります。

(3番目の方法もあります。これはCGにより適している場合があります。このペーパーをご覧ください。

チー・ヤップ、「EGCによる実計算の理論

ここで、EGCは正確な幾何計算です。


私が主に興味を持っている論文は、「計算のモデルを正式に定義する」という文が含まれていることを考えると、モデルを指定していると思います。この論文は「充足可能性問題の下限」と呼ばれ、線形決定木とクエリ多項式の議論があるようです。だから、それは私がそこに探していた答えだと思う...ありがとう。論文を読み直し、意味を理解できるかどうかを確認します。
フィリップホワイト

2
同意しません。これは計算幾何学の間違ったモデルです。以下の詳細な回答をご覧ください。
デビッドエップシュタイン

1
@Kaveh:浮動小数点数ではなく、有理数であると言うべきだと思います。正確な有理数は有限文字列で表現しやすく、入力が有理数の場合、多くのアプリケーション(線形計画法に関連するものなど)で中間結果も有理数になります。(もちろん、David Eppsteinが指摘したように、
comp。geom

@Jukka:そのとおりです。浮動小数点を有理数に置き換えます。
カベ

5
いや。「実数」を書くとき、私は本当に「実数」を意味し、それによって私は本当に実数を意味します。本当に。特に、@ Philipが説明している論文では、非標準分析の結果を適用できるように、アルゴリズムが任意の実際の入力に対して機能することを想定する必要があります。
ジェフ

3

一般に、彼らはそうではありません。計算モデルでは、カウント可能な数の入力(および出力と関数)のみを扱うことができます。特に、入力は有限でなければなりませんが、すべての実数が有限の表現を持つわけではありません。

ある種のオラクルは、リクエストに応じて特定の実数の次の数字を生成する(ストリームのようなもの)と推測できます。それ以外の場合は、(任意に正確な)近似値を使用する必要があります。


これが当てはまる場合、LDTはどのように実数を処理できますか?私は「r-Linear Decision Trees」について何かを読みましたが、「線形充足可能性問題の下限」という論文で彼らが何について話しているのか本当に理解していませんでした。
フィリップホワイト

チューリングマシン(または同等のconecpts)を使用できないか、使用していないに違いありません。私のように厳密/一般的ではない他の答えは、これにいくらかの光を当てるべきです。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.