最大SATのための基本的なランダム化アルゴリズムにおけるランダム化/デラドイ化の目的

cs.stackexchange https://cs.stackexchange.com/questions/127703

  •  29-09-2020
  •  | 
  •  

質問

WilliamsonとShmoysの設計Max SATのための基本的なランダム化アルゴリズムとそれをデラメオーズする方法。アルゴリズムは、各変数1(true)を確率1/2と0(false)で確率1/2に割り当てられています。言い換えれば、全ての解決策の空間からランダムに均一にサンプリングする。それらはこれが1/2近似であることを示しています。

その後、5.2で、条件付き期待方法を使用してそれをデラメーション化する方法を説明します。 (私はここではここでのプロセスを説明しません。)

私の質問は、なぜこのようにしてDerandomizingを悩ませますか?あるいは、最初の場所でアルゴリズムをランダムにするのはなぜですか?

同様に良いアルゴリズムは、すべての変数を決定的に設定する1つのライナーであると思われます。これは入力としていくつかの最大SATインスタンスを与えられるようです。節の半分を満たすことを期待しています。私にとって、ランダムアルゴリズムの分析は、いかなる固定推測が「良い」と言っていると言っているようです。 (私たちのランダムなアルゴリズムが本質的に良好であることを示すのではなく、)それでは、最初の場所でランダム化とデラドマを実行するプロセスを経ているのですか?

事前にありがとう!

役に立ちましたか?

解決

その差は、ランダム化されたアルゴリズムが任意の入力で予想される1/2近似を保証することです。対照的に、決定論的な「全変数を真の変数に設定する」アルゴリズムがゼロ句を満たす入力(すなわち、MAX - SATのインスタンス)を構築することは容易である。

ランダム化されたアルゴリズムのためのサンプルスペースは、一連の補助ランダムビットを超えていることを忘れないでください。 入力を介して想定される確率分布はありません。無作為化アルゴリズム設計の典型的な目標は、期待に応じて扱われるすべての入力に対するものです。 (仮定された入力分布に対するアルゴリズムの動作の分析は、と呼ばれます。。)

補助ランダムビットとは何ですか?

ランダム化されたチューリングマシン $ m_1 $ があるとします。 $ n $ のインスタンスで実行されます。 $ t(n)$ 時間以外の場合、 $ r(n)\ le t(n)$ ランダムな決定このマシンを決定論的 Turing Machine $ M_2 $ に回して、2つの入力テープがあります。入力文字列 $ x $ の長さ $ n $ 、文字列 $ r $ の長さ $ r(n)$ 。文字列 $ r $ は、補助ランダムビットの私たちの文字列です。チューリングマシンが作ることのある「ランダムな」決定を決定します。ランダム化されたチューリングマシンの実行 $ m_1(x)$ が確率 $ p $ を受け入れると言うとき、これは設定されていると言うのと同じです $$ A(x)=left \ {r \ | \ R \ in \ {0,1 \} ^ {r(| x |)}、M_2(x、r )\ text {} \ right \} $$ $ m_2(x、r)$ のののの $ P= | A(x) / 2 ^ {| X |}すべての $ r $ 文字列のセットの$

ノンド決定論的チューリングマシンの類似の構造を見た場合、ここで何が起こっているのかを認識するかもしれません。 NPマシンは、それ自体の多くのコピーを指数関数的に分岐するノンドメトリックなマシンとして考えることができます。しかし、入力文字列が言語の場合は、入力文字列と「証明」文字列の両方が必要な決定論的 Verifier マシンと考えることもできます。 プルーフストリングは機械を受け入れるようにします。

この決定論的検証機のこの下から地球の概念について考えることは、指数関数的に分岐機や可能な世界のような非常に抽象的なアイデアについて考えるのではなく、与えられた入力に機械を受け入れることができます。 。そして、CO-NP、PP、BPP、☞Pなどの複雑さクラスを簡単に定義しやすくなります。これらはすべて、本質的に「NPは異なる受け入れ規則を使用しています」。例えば:

  • npは、多項式 - 時間検証者が存在する言語のセット $ l $ $ m_2 $ < / span> $ r $ 文字列が存在する場合、 $ x \ x \ x \ x \ x \ x \ x \ $ m_2(x、r)$ の承認( $ r $ 文字列の長さが多項式 $ R(| X |)$ )。
  • bppは、多項式-Time Verifier Machine $ m_2(x)が存在する言語のセット $ l $ です。 r)$ $ x \ in l $ $ m_2(x、r)$ $ r $ 文字列と $ x \ notin l $ の少なくとも∞を受け入れます。その $ m_2(x、r)$ は、 $ r $ 文字列の最大∞を受け入れます。 $ R $ の長さは、多項式 $ r(| x |)$ によって制限されています。

注: $ r $ の長さを必要とするかどうかは問題ではありません $ r(n)$ または $ r(n)$ は、より短い文字列のみを許可します。可能な文字列の数を一定の要因で増やします。

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top