「NP困難最適化問題」という用語は、満足のいく答えを見つけるには少し広すぎるようです。
たとえば、決定問題がNP困難な最適化問題と見なされるのを妨げるものがわかりません。たとえば、ソリューションがfloor(k / N)としてスコアリングされるMAX-CNF-SAT問題を考慮すると、kは満たされた句の数とNは、インスタンス内の句の総数(多項式時間で明らかに計算可能)である場合、この式で1を生成する評価は、式全体を満たす必要があります。したがって、floor(k / N)を最大化していると仮定し、これをFLOOR-CNF-SAT最適化問題と呼びます:)
これは、TAUTOLOGYを上記の最適化問題に減らすことができることを意味します。入力を否定し、任意の解をSとして追加します。ダミー変数を追加して、FLOOR-CNF-SAT問題で初期解が0になるようにすることもできます。否定は時間的に多項式です。
次に、提案された問題のソルバーがSが最適でないと判断した場合、作成された関数に従って1を生成し、式全体を満たす評価が明らかに存在する必要があります。つまり、元の入力を満たさない評価を提供します。トートロジー。
TAUTOLOGYはco-NP-completeであることが簡単に示されるため、(人工的に作成された最適化問題を使用して)わずかに不正行為を行うことにより、「最適」問題をco-NP-completeとして確立しました。
あなた自身の議論によれば、「最適な」決定問題は共同NP困難です。なぜなら、証人として必要なのはより良い解決策だけであるためです。Sをスコアリングし、証人をスコアリングして比較します。
この削減についてはあまり気分が良くありませんが、問題のあるクラスを簡単に改善することはできません。{0、1}だけでなく、任意に高いスコアのインスタンスが必要な場合は、N * floor(k / N)を使用できます。クラスの改善は、Kごとに、スコアがすべて異なる少なくともK個の解を持つインスタンスが存在する場合にのみ、問題をNP困難最適化問題と見なすことです。
私はまだそれを通して自分の道をだますことができると思います:
次のように、N個のダミー変数をTAUTOLOGY入力に追加する削減について考えてみます。
d1 && d2 && d3 ... && dN && (S)
ここで、Sは否定された入力です。初期評価としてd1、...、dN = falseを選択しますが、スコアとして、最初のN句がすべてfalseの場合は2N -1を返す関数を指定し、それ以外の場合は満たされている句の数を返します。このような関数は、すべての句が満たされた場合にのみ2Nを返しますが、少なくともN個の異なる値を簡単に持つことができます。
スコアリング関数に複雑な規則性条件がなければ、これが得られる最善の方法であると思います。ただし、NP困難な最適化問題の定義を、候補解Sが与えられた場合に、次のような問題と見なさない限りです。多項式時間は、Sが最適であるかどうかを検証します。この場合、「最適である」は明らかにPであり、まったく面白くありません。