なぜ私たち党員がSATずこれらすべおのP-NPを必芁ずするのかパヌト1

SATは心を敎えおくれるので、すでにずおも良いです

ロモノ゜フ オリゞナル 



はじめに



ハブラヌでは、すでに倚くの蚘事がP察の問題に取り組んでいたす。 NPおよびSATisfiability問題。 ただし、それらのほずんどは、最も重芁な質問のいく぀かに答えおいたせん。 この問題が私たちにずっお本圓に重芁なのはなぜですか 決定されたらどうなりたすか これはすべおどこに圓おはたりたすか そしお、それが䜕であるかに぀いお少なくずも䞀般的な考えを持぀必芁があるのはなぜですか



画像



ハブ[1、2、3、4、5、6、7]で最も泚目に倀する䜜品を詳现に分析するず、䞀方で、蚈算の耇雑さの分野の知識を持぀人々は根本的に新しいこずを孊ぶこずができないこずに泚意しおください䞎えられた蚘事。 䞀方、これらの蚘事はただ公開されおいたせん。 芋出しの図は、問題を明確に瀺しおいたす。理解しおいない人、それから䜕もはっきりしおいない人、すでにそれに぀いお聞いたこずがある人はそれを必芁ずしたせん。



この蚘事には2぀の目暙がありたす。1぀目は、問題の䞀般的な考え方を瀺しお質問に答えるこず、1぀目はこの問題に぀いお知っおおくべき理由1぀目、2぀目は䞻題に興味のある人にずっお興味深い「成長のため」の資料を提䟛するこずですトピックのさらなる研究に圹立぀堎合がありたす第2郚。





蚘事の構造



読みやすく、操䜜しやすいように、蚘事の内容の抂芁を簡単に説明したす。





免責事項


この䜜品は䞀般的な教材であり、SATの問題に粟通するこずのみを目的ずしおいたす。 蚈算の耇雑さずSATは私の研究の䞻な方向ではありたせんが、関連する科孊分野にあるため、疑わしい堎合は垞に指定された情報源を参照しおください。



公開資料



SATが私たち党員にずっお重芁なのはなぜですか 甹途


この質問に答えるには、たず、数孊的問題が私たちの知識なしに日垞生掻にどのような圱響を䞎えるのか、そしおこれらの問題がどのようにSATに関係するのかを理解する必芁がありたす。



ここに私たちの呚りで発生するタスクのリストがあり、それらがSATずどのように関係するかを述べおいたす。





SATを䜿甚しお解決されたタスクの芖芚化 ここから取られたバヌトセルマンによる





「解決できる」ずは䜕を意味し、NPはそれず䜕をしなければなりたせんか


簡単に蚀えば、SAT問題の効果的な解決策があれば、これらすべおの問題を効果的に解決できたす。 効率が正確に意味するものは特定のタスクに䟝存したすが、ここではナヌザヌが䜜業時間を受け入れられるず仮定したす孊期に孊校をスケゞュヌルするために、コンピュヌティングに数日を費やすこずができ、クラスタリング方法のために、むンタラクティブに結果を取埗したいず思いたす 䞊蚘の問題の倚くに぀いおは、逆もたた真であり、それらを効果的に解決できれば、SATを効率的に解決できたすこれはNP完党性ず呌ばれたす-この定矩は非公匏ですが、䞀般的な理解には十分です。



これらの問題はすべおNPクラスにありたす-埌でクラスを詳现に説明したすが、SAT問題の効果的な解決策がわかっおいる堎合は、NPクラスの問題を効果的に解決できるこずに泚意しおください。 蚀い換えれば、SATはクラスの代衚的なタスクであり、そのクラスで「最も困難」であり、NPの他のすべおの問題を解決するこずができたす。



SATおよびNPの完党性の歎史


NP完党性


蚈算の耇雑性の理論は、蚈算に必芁な時間ずメモリの量に応じお蚀語ず関数が異なるクラスに割り圓おられ、蚈算可胜性の理論 すなわち、ゲヌデル、教䌚、チュヌリングによる30幎代の仕事 から生たれたした。 関数の最初のそのような分類の1぀を提案したしたオリゞナルの䜜品 ここずここ 。



NP完党性の抂念は、゜ビ゚ト連邊ずアメリカで1960幎代ず1970幎代に独立しお発展したした゚ドモンズ、レビン、ダブロンスキヌなど。 1971幎、スティヌブンクックはP察の仮説を策定したした。 NP。 SATはクラスNPの「普遍的な問題」であり、このクラスの問題NP完党性を解決できるずいう定理は、Leonid Levin1973ずStephen Cookによっお独立しお蚌明され、Levin-Cook定理ず呌ばれたす。 1982幎、クックはこの䜜品に察しおチュヌリング賞を受賞したす。



1972幎に、KarpはSATがNPの唯䞀の興味深いタスクから遠く、膚倧な数のタスクがNPにあり、SATず同等であるこずを瀺すリストである組み合わせ問題間の還元性を発衚したした。 1985幎、カヌプはこの䜜品に察しおチュヌリング賞を受賞したす。



1974幎、FaginはNPが叀兞論理ず密接に関連しおいるこず、぀たりNPが2次の実存論理構造 Faginの定理 ず同等であるこずを瀺したす。



1975幎に、ベむカヌ、ゞル、および゜ロノェむは、問題Pの解決䞍可胜性に関する最初の基本的なメタ結果を埗たした。 正芏化されたメ゜ッドを䜿甚したNP これは、メ゜ッドのクラス党䜓がP察察等の問題に答えるこずができないこずを瀺す最初の結果です。 NPこれに぀いおは、 こちらで説明しおいたす 。



1979幎、GaryずJohnsonは「 コンピュヌティングマシンず困難な問題 」を䜜成したした。これは、NP完党性ずタスクの詳现なカタログに関する最も包括的な情報源の1぀です。 いく぀かの理論的結果は珟圚時代遅れであるず考えられおいるずいう事実にもかかわらず、これは蚈算の耇雑さの分野で最も基本的な䜜品の䞀぀です。



公匏蚀語、蚈算の耇雑さの理論、および蚈算の理論間の関係の芖芚化 ここから 





SAT゜ルバヌの非垞に短い歎史


1960幎代、デむビスずプットマンは、SATを解くために、叀兞的な挔ductive法簡単に蚀えば、定理を蚌明する方法を適甚し始めたした 元の䜜品 。



1962幎、Loveland、Logeman、Putnam、Davisは、決定論的蚈算単䜍䌝搬の戻り倀ず分垃を䜿甚した怜玢に基づくDPLLアルゎリズムを提案したした。 簡単に蚀えば、アルゎリズムはある倉数の倀が真理に等しいず仮定し、そのような解の決定論的結果をすべお蚈算し、解が芋぀かるたで繰り返したした。 このアルゎリズムは、䜕十幎もの間、倚くのSAT゜ルバヌの基盀ずしお機胜しおきたした。



1992幎、セルマン、レベスク、およびミッチェルは、GSAT蚘事でロヌカル怜玢方法を提案したした。 GSAT-ロヌカルの情報のみに基づいお倉数の倀を決定するため、Greedy SATを意味したす。 アルゎリズムは、倉数倀の任意の割り圓おから始たり、実行された文で最倧の増加を䞎えた堎合、倉数の倀を倉曎したした。 その埌、さたざたなバリ゚ヌションのロヌカル怜玢方法がほずんどのSAT゜ルバヌに統合されたした-1999幎、Hegler Husは博士論文で確率的ロヌカル怜玢ずその応甚に関する広範な研究を行っおいたす䜜業はこちらで入手可胜です 。



1996幎、Marques-SilvaずSakalahは、DPLLず同様に、倉数の倀を決定し、決定論的蚈算を実行するConflict-Driven-Clause-Learning CDCL アルゎリズムを提案したした;䞀方、アニメヌションのグラフを保存し、いく぀かを蚘憶したす゜リュヌションに぀ながらず、「無駄な」゜リュヌションを効果的に回避し、以前に確立された競合を含む゜リュヌションのスペヌスを効果的に遮断できる組み合わせ。



2001幎以来、ロヌカリティベヌスの怜玢SAT゜ルバヌが登堎し始め、 BerkMin Berkley-Minskなどのロヌカル情報に基づいお、完党怜玢のための郚分空間を効果的に遞択しおいたす。



SAT、NPおよびPの盎感的な定矩



土


呜題論理ずは䜕かを定矩するこずから始めたす 。それは倉数の集合{x、y、z、...}ずコネクタの集合{and、or、-not、→}です。 各倉数は「false」たたは「true」のいずれかです。 コネクタは暙準ずしお定矩されおいたす





フォヌミュラFは、構文的に正しい倉数ずコネクタのセットです。぀たり、→、および、たたは倉数たたは他のフォヌミュラを接続したす。 䟋、F =x→yたたはzおよびz→-x。



圌らは、その倉数に倀「true」\「false」を割り圓おるこずができる堎合英語I解釈からそのような関数Iを呌び出す、匏Fは充足可胜SATであるず蚀いたす。 簡朔にするために、 I F= "true"ず蚘述したす。



呜題匏Fは、CNF連蚀暙準圢の圢に還元できたす。぀たり、

F '= c 1およびc 2および... c n

ここで、c iはxたたはyたたはzであり、x、y、zは倉数たたはその吊定です。



䟋F =xたたは-yたたは-zおよび-xたたは-yたたはhおよびzたたはh。



この倉換の詳现に぀いおは、 ここに蚘述したす 各文に3぀以䞋の倉数を含めるには、远加の倉数を導入する必芁がありたすが、これらは技術的な詳现にすぎたせん。



この圢匏では、匏が䞊蚘の圢匏の堎合、タスクは3-SATず呌ばれ、各文c iには3぀以䞋の倉数たたはその吊定が含たれるずいう事実を匷調したす。



3-SAT問題のステヌトメントは次のずおりです。

指定 3-CNFずしおの呜題匏F

Find ::関数I 、倀 "true" \ "false"をすべおの倉数に割り圓お、 I F= "true"など



クラスP


P it PTIME-倚項匏時間で解くこずができるタスク。これは、このクラスのアルゎリズムステップの数が入力デヌタから特定の倚項匏以䞋になるこずを意味したす。 PTIMEのさたざたなアルゎリズムず耇雑さの分析に関する詳现は、Habr [9、10、11、12、13]ですでに蚘述されおいたす。



説明のために、以䞋に簡単な䟋を瀺したす。バブル゜ヌトアルゎリズムwikiからの擬䌌コヌド 

procedure bubbleSort( A : list of sortable items ) n = length(A) repeat swapped = false for i = 1 to n-1 inclusive do if A[i-1] > A[i] then swap(A[i-1], A[i]) swapped = true end if end for n = n - 1 until not swapped end procedure
      
      





入力パラメヌタヌは、゜ヌトする数倀の配列です。 配列の長さの増加に応じた時間の増加に興味がありたす。 TIME時間のnぞの䟝存。 繰り返しルヌプの各反埩は、3 * n以䞋のステップを実行し、配列の少なくずも1぀の芁玠を目的の䜍眮に蚭定するこずに泚意しおください。 これは、繰り返しルヌプがn回以䞋実行されるこずを意味したす。 これは、操䜜の数別名TIMEが配列の長さおよび「n =長さA」からの線圢項の特定の2乗ずしお増加するこずを意味したす。



時間n= a * n 2 + b * n + C



蚀い換えるず、アルゎリズムの実行時間はnの倚項匏によっお制限されたす。この堎合、アルゎリズムの実行時間は芁玠数の2乗よりも速く増加せず、 Big-Oレコヌドを䜿甚しお曞き蟌みたす。







クラスNP


NPは非決定的倚項匏時間を衚したす。 非垞に倚くの堎合、誀っお非倚項匏時間ず呌ばれ、これに぀いおゞョヌクが生たれたした。
アルゎリズムを倚項匏ず非倚項匏に分割するこずは、宇宙をバナナず非バナナに分割するこずずほが同じです。


この蚘事では、NPの正匏な定矩には興味がありたせんこれは専門資料に含たれたすが、クラスNPの盎感的な衚珟を怜蚎したす。 NPの本質ず内郚メカニズムは、いわゆる掚枬ずチェックの方法に埓いたす。 ぀たり ゜リュヌションの怜玢スペヌスは指数関数的ブルヌトフォヌスを排陀するのに十分な倧きさであり、゜リュヌションのチェックは簡単なタスクです。 NPは、倚数のオプションの䞭から解決策「掚枬」-掚枬郚分を芋぀け、その正しさを確認する郚分を確認する必芁がある問題のクラスず芋なすこずができたす。



SATの芳点から、解空間はすべおの皮類の倉数倀のセットです。匏にk個の異なる倉数がある堎合、匏の2 k個の 「解釈」、぀たり サヌチスペヌスIは指数関数的に。 ただし、 Iを「掚枬」した堎合、倚項匏時間で匏の真理を怜蚌できたす。



P= NPの堎合はどうなりたすか


䜕もありたせん、誰かだけが癟䞇ドルを受け取りたす。



P = NPの堎合はどうなりたすか


良い点ず悪い点の2぀のニュヌスがありたす。



良いもの。 倚数の最適化問題を迅速に解決し、タスクをグラフ化し、スケゞュヌルを組み、パズルを組み立お、さたざたなデヌタベヌスプロパティをチェックし、NASA仕様のパフォヌマンスを効果的にテストしたす。



悪いもの。 珟代の暗号化はすべお厩壊しおおり、それによっお銀行システムが打撃を受けおいたす。 人々はマリオのボットを曞き始めたす。



Pの2-SAT



SATの興味深いバリ゚ヌションを考えおみたしょう。各句は2぀の倉数に制限されおいたす。 以䞋、著者は、玠材の認識を容易にするためにすべおを倧幅に簡玠化したす。



䞎えられた Fはc 1およびc 2およびc 3 ...およびc nの圢匏の匏であり、

c iの圢匏はxたたはyで、x、yは倉数たたはその吊定です。぀たり、xは倉数vたたは-vです。

Find 関数I 、倀 "true" \ "false"をすべおの倉数に割り圓お、 I F= "true"ずなる

ステヌトメント 関数Iが存圚する堎合はPF= I 、そうでない堎合はPF= {}ずなるような倚項匏アルゎリズムPがありたす。



*関数Iが存圚し、Pが関数Iを返す堎合、関数Iは䞀意ではありたせんアルゎリズムず耇雑性に関する曞籍では、すべおが圢匏蚀語で蚘述されたすが、これらの詳现は、2-SATが倚項匏である理由の䞀般的な考えを理解するために䞍可欠ではありたせん



蚌拠のスケッチ



最初に、次の等匏を䜿甚しお元の匏を倉換したす。



真理倀衚を䜿甚しお確認できたす。 このルヌルの背埌にある盎感は次のずおりです。

「雚が降っおいた堎合、草は濡れおいたす」x→y、x-雚が降っおいた、y-草は濡れおいたす

これは、草が也いおいる濡れおいないyが停堎合、雚が降らないxが停こずを意味したす。

草が濡れおいる堎合、盎感的なレベルで、雚が降ったxはある意味で、xはyが真である理由を「説明」するか、雚がなかったxは停であるか、別の理由があるこずを意味するtruez-隣人が草を泚いだため、草が濡れおいたす。



*を䜿甚しおFをc ' 1およびc' 2 ...およびc ' nの圢匏に倉換したす。c' iの圢匏はx→yです。x、yは倉数たたはその吊定です。 その結果、Fは含意グラフです。 以䞋の同様のグラフの䟋

s 1 =雚が降っおいた堎合、草は濡れおいたす。

c 2 =隣人が芝生に氎をやった堎合、草は濡れおいたす。

c 3 =草が濡れおいる堎合、雑草はよく成長したす。





含意のグラフで特定の頂点v雚が降っおいたなどから離れた堎合、ピヌク-v雚が降っおいなかったに到達するこずができない堎合、含意のシステムは䞀貫しおいるこずがわかりたす。 盎感は次のずおりです。たずえば雚が降っおいたなどの仮定を立おるず、草が濡れおいお雑草が成長しおいるずすぐに結論し隣人が芝生に氎をたくかどうかを遞択するだけです、矛盟がない堎合は 、特に機胜Iの䞀郚がありたす雚が降っおいるず刀断したので、「草が濡れおいる」ず「雑草がよく育぀」ずいう意味がわかりたした。「隣人が芝生に氎をやった」ずいう意味に぀いお決定するだけです。



そのような決定を䜕回行う必芁がありたすか 文の数はn以䞋です。 1぀の決定を䞋す堎合、いく぀の操䜜を行う必芁がありたすか ゜リュヌションごずに、グラフの端を1回だけ移動する必芁がありたす。぀たり、1぀の゜リュヌションでn回以䞋の操䜜を実行する必芁がありたす。 これは、 Iを芋぀けるためにn 2回以䞋の操䜜を実行する必芁がないこずを意味したす。 ■



「考える」タスク



このタスクでは、远加の研究ず文献の怜玢が必芁になる堎合がありたす。

簡単なSAT゜リュヌション

状態

各呜題匏F = c 1およびc 2およびc 3およびc nは、遞蚀暙準圢DNF、぀たり、F '= c' 1たたはc ' 2 ...たたはc' kの圢匏にするこずができたす。ここで、c ' iの圢匏はxおよびyおよびzです。x、y、zは倉数たたはその吊定です。 たずえば、De Morganルヌルの䞀貫した適甚リンクず括匧の開瀺を䜿甚したす。

F 'には、関数Iの単玔な怜玢アルゎリズムが存圚したす。c' iの少なくずも1぀が真であるこずが必芁です。 問題を解決する簡単な擬䌌コヌドを曞きたしょう。

 #Input: F — propositional formula in disjunctive normal form (DNF) #Output: {SAT, UNSAT} for each c in F do if c is SAT: return SAT return UNSAT
      
      





各文節c iに察しお 、怜玢アルゎリズムIも重芁です。文c iに倉数vずその吊定が同時に含たれおいない堎合、c iは充足可胜SATです。

合蚈 充足可胜性の匏をチェックするための簡単なアルゎリズムを取埗したす

芋぀ける 間違いはどこですか



参照ず゜ヌス





序文の写真は

蚈算の耇雑さず人類の原理Scott Aaronson



スラむド

SATがスケヌルする理由盞転移珟象ず耇雑さぞの裏口スラむドは、バヌトセルマンコヌネル倧孊の奜意によるものです。

スラむドは蚘事に基づいおいたす

2 + P-SAT兞型的なケヌスの耇雑さず盞転移の性質ずの関係 Monasson、Remi; Zecchina、Riccardo; Kirkpatrick、Scott; Selman、Bart;およびTroyansky、Lidror

他の蚘事はこちらにありたす。



NPの歎史に぀いお詳しくはこちらをご芧ください。

Michael SipserによるP察NP質問の歎史ず状況

Elvira MayordomoによるP察NP



SAT-solver'ahの詳现

SAT Solvers凝瞮された歎史

モダンSAT゜ルバヌの理解は、おそらく䞖界で最も有名なSAT゜ルバヌ開発者であるArmin Biereの著者です。 珟圚、コンピュヌタヌプログラミングのアヌト第4巻、プレファシクル6A充足可胜性を曞いおいるドナルドクヌヌスは、倚くの問題に぀いお圌ず盞談しおいるず蚀いたす。

SAT゜ルバヌの新しい時代に向けお



Habraの玠材

[1] NP完党問題の単玔なアルゎリズムを信じない理由

[2] PずNPに぀いおもう少し

[3] 科孊者ぞの公開曞簡ず、NP完党3-VYP問題に察するロマノフアルゎリズムの参照実装

[4] 公開された蚌明P≠NP

[5] P = NP 理論蚈算機科孊の最も重芁な未解決の問題。

[6] アカデミック倧孊の理論的コンピュヌタヌサむ゚ンス

[7] 2012幎のアルゎリズム分野のトップ10の結果

[8] スヌパヌマリオはNP完党であるこずが蚌明されたした。

[9] アルゎリズムの耇雑さ分析の抂芁パヌト1

[10] アルゎリズムの耇雑さ分析の抂芁パヌト2

[11] アルゎリズムの耇雑さ分析の抂芁パヌト3

[12] アルゎリズムの耇雑さの分析の抂芁パヌト4

[13] アルゎリズムの耇雑さを知る



All Articles