計算幾何学の研究者がBSS / real-RAMモデルを好む理由は何ですか?


40

バックグラウンド

実数の計算は自然数の計算よりも複雑です。実数は無限のオブジェクトであり、実数は数え切れないほど多くあるため、実数は有限アルファベット上の有限文字列で忠実に表現できないからです。

ラムダ計算、チューリングマシン、再帰関数などのさまざまな計算モデルが同等であることが判明している有限文字列上の古典的な計算可能性とは異なり(少なくとも文字列上の関数の計算可能性について)、さまざまな計算モデルが提案されています互換性のない実数。たとえば、古典的なチューリングマシンモデルに最も近いTTEモデル([Wei00]も参照)では、実数は無限入力テープ(チューリングのオラクルのような)を使用して表され、比較を決定することはできません。与えられた2つの実数の間の等式関係(有限時間)。一方、RAMマシンモデルに類似したBBS / real-RAMモデルでは、任意の実数を格納できる変数があり、比較と等式はモデルのアトミック操作の1つです。このような理由から、多くの専門家は、BSS / real-RAMモデルは現実的ではなく(少なくとも現在のデジタルコンピューターでは実装できない)、TTEまたは効果的なドメイン理論モデルのようなTTEに相当する他のモデルを好むと言います。 Ko-Friedmanモデルなど

場合は、私が正しく理解し、で使用されている計算のデフォルトのモデル計算幾何学は、あるBSS(別名リアルタイムRAM、参照[BCSS98])モデル。

一方で、計算幾何学(LEDAなど)のアルゴリズムの実装では、代数的数値のみを扱っており、より高いタイプの無限オブジェクトまたは計算は関係していないようです(これは正しいですか?)。したがって、私は(おそらく素朴に)有限文字列上の古典的な計算モデルを使用してこれらの数値を処理し、通常の計算モデル(これはアルゴリズムの実装にも使用されます)を使用して正確さと複雑さを議論できるようですアルゴリズムの。


質問:

計算幾何学の研究者がBSS / real-RAMモデルの使用を好む理由は何ですか?(BSS / real-RAMモデルを使用する理由特定の計算幾何学)

前の段落で言及した(おそらく素朴な)アイデアの問題は何ですか?(計算の古典的なモデルを使用し、計算幾何学で代数的数への入力を制限する)


補遺:

アルゴリズムの問​​題の複雑さもあります。BSS/ real-RAMモデルで次の問題を決定するのは非常に簡単です。

二組の所与の及びは正の整数の、 ある?ST
sSs>tTt

それを解決するための効率的な整数RAMアルゴリズムは知られていませんが。例についてはJeffEに感謝します。


参照:

  1. Lenore Blum、Felipe Cucker、Michael Shub、Stephen Smale、「複雑さと実際の計算」、1998
  2. Klaus Weihrauch、「計算可能な分析、序論」、2000

3
ところで、明らかでない場合、平方根の合計問題は非常に自然な幾何学的解釈を持っています:2つの多角形のパスの長さを整数座標の頂点と比較したい場合に解決する必要があるものです。
デビッドエップスタイン

回答:


42

まず第一に、計算幾何学者はそれをBSSモデルとは考えていません。実際のRAMモデルは、マイケルシャモスが1978年の博士論文(計算幾何学)で定義したもので、間違いなくこの分野を開始しました。Franco Preparataは、1985年に出版された最初の計算幾何学の教科書にShamosの論文を修正し、拡張しました。実際のRAMは、1983年にBen-Orによって定義された代数計算ツリーモデルと同等です(均一性を除いて、Pascalの答えを参照してください!)。 、Shub、およびSmaleの取り組みは、1989年に、リアルRAMが確立されたかなり後に発表され、計算幾何学コミュニティによってほぼ完全に無視されました。

計算幾何学のほとんどの(古典的な)結果は、組み合わせ幾何学の問題に大きく結びついています。そのため、座標が積分または代数的であるという仮定は(せいぜい)無関係な注意散漫です。ネイティブと言えば、任意の点、線、円などを、それらについて物事を証明するときにファーストクラスのオブジェクトと考えることは完全に自然に思えます。

ほとんどの(古典的な)幾何学的アルゴリズムでは、この態度は実際にも妥当です。平面幾何問題のほとんどのアルゴリズムは、非常に少数の幾何プリミティブの上に構築されます。点は点左または右にありますか?上、下、または点と通る線上?内側、外側、または点によって決定される円上?セグメントと交点の左または右?これらの各プリミティブは、入力座標で低次多項式の符号を評価することにより実装されます。(したがって、これらのアルゴリズムは、より弱い代数的決定で記述することができますpqqrq,r,sqrst ツリーモデル)。入力座標が整数である場合、これらのプリミティブは定数の精度を上げるだけで正確に評価できるため、実RAMと整数RAMでの実行時間は同じです。

同様の理由で、ほとんどの人がソートアルゴリズムを考えるとき、彼らは気にしないの長いデータは完全に注文した宇宙から来て、任意の二つの値が一定時間内に比較できるもので、彼らはソートしています。

そのため、コミュニティは、「実際の」幾何学的アルゴリズムの設計とその実用的な実装との間の懸念を分離しました。したがって、LEDAやCGALなどのパッケージの開発。正確な計算に取り組んでいる人にとっても、基礎となるモデルの一部として正確な実際の計算を使用する実際のアルゴリズムと、物理計算デバイスのその他の無関係な制限によって個別の計算を使用することを強制される実装との間には違いがあります。

たとえば、この世界観の中で、計算幾何学で最も重要な未解決の問題は、線形計画法のための多項式時間アルゴリズムの存在です。いいえ、楕円体と内点法はカウントしません。シンプレックスアルゴリズムとは異なり、これらのアルゴリズムは、制約行列が合理的でない限り、終了するとは限りません。(非有理な制約行列によってのみ表現できる凸型ポリトープの組み合わせタイプがあるため、これ重要な制限です。)そして、制約行列が合理的であっても、それらのアルゴリズムの実行時間は、の関数によって制限されません。入力サイズ(次元 #constraints)。×

代数計算ツリーモデルに実際に大きく依存しているため、物理コンピューターに正確かつ効率的に実装できない幾何学的アルゴリズムがいくつかあります。良い例の1つは、単純なポリゴンの最小リンクパスです。これは、実際のRAMで線形時間で計算できますが、正確に表現するには最悪の場合には2次ビット数必要です。別の良い例は、Chazelleの階層的切断です。これは、シンプレックス範囲検索で知られている最も効率的なアルゴリズムで使用されます。これらの切り取りは、三角形のセットの階層を使用します。各レベルの三角形の頂点は、前のレベルの三角形のエッジを通る線の交点です。したがって、入力座標が整数であっても、これらの三角形の頂点座標は、無限の代数の数です。それにもかかわらず、挿し木を構築して使用するためのアルゴリズムは、座標を一定時間で正確に操作できると想定しています。

だから、私の短い、個人的に偏った答えはこれです:TTE、ドメイン理論、Ko-Friedman、および「現実的な」実数計算の他のモデルはすべて、計算幾何学コミュニティが全体的に気にしない問題に対処します。


9
おそらく、全体としては成功しているものの、この観点からいくつかの奇妙な歪みが生じ、たとえば、複数のポリログ(n)パラメトリック検索アルゴリズムがはるかに単純な対数(数値精度)バイナリ検索アルゴリズムよりも優先されることを付け加える必要があります。
デビッドエップシュタイン

全順序ドメインへの関心の制限は、古典的な生成するので、あなたは、ソート言及すべきであることをそれの興味深いという抽象化障壁を破ることで殴らすることができ下限は、(参照cstheory.stackexchange.com/questions/を608 /…その他)。計算幾何学にそのような例はありますか?Ω(nlogn)
ジョシュアグロチョウ


1
@David Eppstein:非常に興味深い!:あなたは私の他の質問への答えとして、それを投稿したいと思いますcstheory.stackexchange.com/questions/608/...
ジョシュアGrochow

15

実際のRAM / BSSモデルが代数的計算ツリーモデルと同等であることは、完全に真実ではありません。後者は、多項式の深さのツリーが指数関数的なサイズになるため、より強力です。これにより、不均一な情報をエンコードする余地が大きくなります。たとえば、Meyer auf der Heideは代数(線形)決定木がサブセット和などの困難な問題を効率的に解決できることを示しましたが、これは実際のRAM / BSSモデルでは(推測的に)不可能です。


1
素晴らしい点!!
ジェフ

4

ジェフの素晴らしい答えに対するコメントは次のとおりです。

線形プログラミングアルゴリズムの複雑さのギャップ(組み合わせ対連続)に対処するために、条件、近似、および丸めの概念が提案されました。問題インスタンスの条件は、出力の精度に対する入力の小さな摂動の影響を推定します。条件の概念は、アランチューリングによって最初に導入されました。Jim Renegarは、線形プログラムの条件の概念を導入しました。

L. BLUM、実数上のコンピューティング:チューリングはニュートンを満たし、 THE AMS、VOLUME 51の告知、NUMBER 9、(2004)、1024年から1034年

A.チューリング、マトリックスプロセスの丸め誤差、Quart。J.メカ。適用 数学。1(1948)、287〜308

J. RENEGAR、条件数を線形計画法の複雑性理論に組み込む、SIAM J. Optim。5(1995)、506–524

F. CUCKER、J。PEÑA、有限精度機械で多面体円錐システムを解くための主双対アルゴリズム、SIAM Journal on Optimization 12(2002)、522–554。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.