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ã€ãçã§ããããšãå¿ èŠã§ãã åé¡ã解決ããç°¡åãªæ¬äŒŒã³ãŒããæžããŸãããã
#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] ã¢ã«ãŽãªãºã ã®è€éããç¥ã