SATã¯å¿ãæŽããŠãããã®ã§ããã§ã«ãšãŠãè¯ãã§ã
ãã¢ããœãïŒ ãªãªãžãã« ïŒ
ã¯ããã«
ããã©ãŒã§ã¯ããã§ã«å€ãã®èšäºãP察ã®åé¡ã«åãçµãã§ããŸãã NPããã³SATisfiabilityåé¡ã ãã ãããããã®ã»ãšãã©ã¯ãæãéèŠãªè³ªåã®ããã€ãã«çããŠããŸããã ãã®åé¡ãç§ãã¡ã«ãšã£ãŠæ¬åœã«éèŠãªã®ã¯ãªãã§ããïŒ æ±ºå®ããããã©ããªããŸããïŒ ããã¯ãã¹ãŠã©ãã«åœãŠã¯ãŸããŸããïŒ ãããŠããããäœã§ãããã«ã€ããŠå°ãªããšãäžè¬çãªèããæã€å¿
èŠãããã®ã¯ãªãã§ããïŒ

ãã[1ã2ã3ã4ã5ã6ã7]ã§æãæ³šç®ã«å€ããäœåã詳现ã«åæãããšãäžæ¹ã§ãèšç®ã®è€éãã®åéã®ç¥èãæã€äººã
ã¯æ ¹æ¬çã«æ°ããããšãåŠã¶ããšãã§ããªãããšã«æ³šæããŠãã ããäžããããèšäºã äžæ¹ããããã®èšäºã¯ãŸã å
¬éãããŠããŸããã èŠåºãã®å³ã¯ãåé¡ãæç¢ºã«ç€ºããŠããŸããçè§£ããŠããªã人ãããããäœãã¯ã£ããããŠããªã人ããã§ã«ããã«ã€ããŠèããããšããã人ã¯ãããå¿
èŠãšããŸããã
ãã®èšäºã«ã¯2ã€ã®ç®æšããããŸãã1ã€ç®ã¯ãåé¡ã®äžè¬çãªèãæ¹ã瀺ããŠè³ªåã«çããããšã1ã€ç®ã¯ãã®åé¡ã«ã€ããŠç¥ã£ãŠããã¹ãçç±ïŒ1ã€ç®ïŒã2ã€ç®ã¯äž»é¡ã«èå³ã®ãã人ã«ãšã£ãŠè峿·±ããæé·ã®ãããã®è³æãæäŸããããšã§ããããã¯ã®ãããªãç ç©¶ã«åœ¹ç«ã€å ŽåããããŸãïŒç¬¬2éšïŒã
èšäºã®æ§é
èªã¿ããããæäœããããããã«ãèšäºã®å
å®¹ã®æŠèŠãç°¡åã«èª¬æããŸãã
- å
¬éè³æ
- SATãç§ãã¡å
šå¡ã«ãšã£ãŠéèŠãªã®ã¯ãªãã§ããïŒ ã¢ããªã±ãŒã·ã§ã³/è峿·±ãNPã¿ã¹ã¯ãšSAT
- SATããã³NPã®å®å
šæ§ã®æŽå²
- SATãNPããã³Pã®çŽæçãªå®çŸ©
- ã©ããªã£ãã... PïŒ= NPãP = NP
- 2-SATã¯å€é
åŒïŒã¢ã«ãŽãªãºã ãšçŽæ
- èãã課é¡
- å°éè³æïŒæ¬¡ã®ã·ãªãŒãºãåç
§ïŒ
- æ£åŒãªå®çŸ©ã NPããã³CoNPã®å¯ââè§£æ§åé¡ã®é察称æ§
- 2 + p-SATã¯å€é
åŒã§ããïŒ
- è€éãã®å€æ°æ°ãžã®äŸå
- P察 NPãã©ãããã°ããã§ããïŒ ã©ãã«æžãïŒ
- 衚çŸã§ããªãå®çïŒããããã®èšäº[ 3 ]ãæåŠãæåŸ
ããçç±
- çŸä»£ã®SATãœã«ããŒã«ã€ããŠ
- äœãèªãïŒ
- èãã課é¡
å
責äºé
ãã®äœåã¯äžè¬çãªææã§ãããSATã®åé¡ã«ç²Ÿéããããšã®ã¿ãç®çãšããŠããŸãã èšç®ã®è€éããšSATã¯ç§ã®ç ç©¶ã®äž»ãªæ¹åã§ã¯ãããŸããããé¢é£ããç§åŠåéã«ãããããçãããå Žåã¯åžžã«æå®ãããæ
å ±æºãåç
§ããŠãã ããã
å
¬éè³æ
SATãç§ãã¡å
šå¡ã«ãšã£ãŠéèŠãªã®ã¯ãªãã§ããïŒ çšé
ãã®è³ªåã«çããã«ã¯ããŸããæ°åŠçåé¡ãç§ãã¡ã®ç¥èãªãã«æ¥åžžç掻ã«ã©ã®ãããªåœ±é¿ãäžããã®ãããããŠãããã®åé¡ãã©ã®ããã«SATã«é¢ä¿ããã®ããçè§£ããå¿
èŠããããŸãã
ããã«ç§ãã¡ã®åšãã§çºçããã¿ã¹ã¯ã®ãªã¹ãããããããããSATãšã©ã®ããã«é¢ä¿ããããè¿°ã¹ãŠããŸãã
- ãŸããRSAæå·åã¢ã«ãŽãªãºã ã«ã€ããŠèª¬æããŸã ãããã¯ãéè¡ååŒã®å®å
šæ§ã確ä¿ããå®å
šãªæ¥ç¶ãäœæããããã«äœ¿çšãããŸãã RSAã¢ã«ãŽãªãºã ã¯ãSATã䜿çšããŠããããã³ã°ãã§ããŸãã
- å€ãã®æšå¥šã·ã¹ãã ïŒããšãã°ãNetflixã®äžéšãšããŠïŒã¯ãããŒã«è¡ååè§£ã¢ã«ãŽãªãºã ã䜿çšããŠã³ã³ãã³ããæšå¥šããŸãã ãã®ãããªè¡åã®æé©ãªåè§£ã¯ãSATã䜿çšããŠèŠã€ããããšãã§ããŸãã
- ããã»ããµéã§ã¿ã¹ã¯ãæé©ã«åæ£ããã¿ã¹ã¯ã¯ãSATã䜿çšããŠè§£æ±ºã§ããŸãã 倿°ã®èšç»ã¿ã¹ã¯ãSATã«åæžãããŸããããšãã°ã ãªãŒãã³ã·ã§ããã¹ã±ãžã¥ãŒãªã³ã°ã§ã¯ãã¿ã¹ã¯ïŒãžã§ãïŒãç¹å®ã®æ®µéïŒç¹å®ã®äœæ¥è
ã«ãã£ãŠå®äºããïŒãééããå¿
èŠãããããã¹ãŠã®ã¿ã¹ã¯ã®åèšåŠçæéãæå°éã«æããå¿
èŠããããŸãã
- NASAã¯ãSATã«çŽæ¥ãªã³ã¯ãããã¢ãã«æ€æ»æ¹æ³ã䜿çšããŠã ãœãããŠã§ã¢ä»æ§ãšããŒããŠã§ã¢ã¢ãã«ãæ€èšŒããŸã ã
- äžè¬çãªk-meansã¯ã©ã¹ã¿ãªã³ã°æ³ïŒk-meansæ³ïŒã¯ãSATã䜿çšããŠè§£æ±ºã§ããŸãã
- ã°ã©ãã«é¢é£ããè峿·±ãã¿ã¹ã¯ã®ã»ãšãã©ïŒããšãã°ããœãŒã·ã£ã«ãããã¯ãŒã¯ã§ã¯ãã°ã©ãã¯ãŠãŒã¶ãŒéã®åæ
ã®é¢ä¿ã§ãïŒã¯ã誰ããããããã®å人ã§ããæå€§ã®ã³ãã¥ããã£ã®æ€çŽ¢ã§ããã°ã©ãäžã®æé·ãã¹ãä»ã®å€ãã®ã¿ã¹ã¯ã®æ€çŽ¢ã¯ãSATã䜿çšããŠè§£æ±ºã§ããŸãã ã¢ã¹ã¯ã¯å°æ¹ã®ç掻ã®ã¿ã¹ã¯ïŒã ãã§ãªãïŒïŒãã¿åéè»ã®ã¹ã±ãžã¥ãŒã«ããŸãšããŠããã¹ãŠã®ãã¿åéãã€ã³ããæçæéã§1åå·¡åããããã«ããŸãã ããžã¹ãã£ã¯ã¹ã®å€æ°ã®ã¿ã¹ã¯ã¯ã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ãã®ããããã§ãã ã³ãã¯ã¿ã¯æšæºãšããŠå®çŸ©ãããŠããŸãïŒ
- xãšyã¯ã以äžã®å Žåã«ã®ã¿ïŒç°¡æœã«ããããã«ãIFFãèšè¿°ããŸã-xãtrueã§ãyãtrueã®å Žåã®ã¿ïŒãå€å
žçãªãANDã
- 倿°x \ yã®å°ãªããšã1ã€ãçã§ããå ŽåãxãŸãã¯yã¯çãå€å
žçãªãORã
- -x trueãx falseãå€å
žçãªåŠå®
- xâyãfalseã®å Žåãxãtrueã§ãyãfalseã®å ŽåãäŸãèããŸã
ãéšãéã£ãŠããããèã¯æ¿¡ããŠããã
éšãéã£ãŠããŠïŒx trueïŒãèããŸã 也ããŠããïŒy falseïŒå Žåã«ã®ã¿ãã¹ããŒãã¡ã³ãã¯falseã§ãã
ãã©ãŒãã¥ã©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ã€ãçã§ããããšãå¿
èŠã§ãã åé¡ã解決ããç°¡åãªæ¬äŒŒã³ãŒããæžããŸãããã
åæïŒç¯ïŒ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察NPSAT-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]
ã¢ã«ãŽãªãºã ã®è€éããç¥ã