ブックマーク問題を解く鍵はアルゴリズムと時間計算量だ!20世紀、急速に進化・発展したコンピュータの世界。コンピュータに計算させるためのプログラム、その基になるアルゴリズムの理論が誕生した。アルゴリズム、そして計算量の理論から生まれた多項式時間(P)で解けるとは。(NP)で解けるとはどういうことか。修士課程まで、純粋数学を勉強してから、電電公社(現NTT)の研究所に就職し、情報科学に転向した。その後、東大教養学部に戻った頃から、アルゴリズムの理論(計算量の理論、第3章で解説する)が急速に拡がり、発展途上の分野の研究に参加できたのは、ありがたいことであった。私はどちらかというと、たとえば「データを小さい順に並べ替える」というような「実用性がある、理論的にはやさしい問題」に興味があったので、P≠NP問題のようにむずかしい問題にはあまり関心がなかった。それが1990年に京都で開かれた国際数学者会議で、ロシアの若い数学者ラズボロフがP≠NP問題でネヴァンリンナ賞を受賞した関係で、あわてて少し勉強するはめになった。後に、講談社の小澤久さんから「ブルーバックスで、P≠NPの解説を書かないか」とお誘いを受けた。この問題については一般向けのよい解説書がなかったので、うっかり引き受けてしまったが、なかなか書き始める気力がわかず、ずるずると引き延ばしていた。昨年「一般向けの、実にひどい解説書」が出たために、急に元気が出て書き始め、何とかまとめることができた。本書の核心部分は、第4章前半に「NPの概念のポイント」として挙げた「3つのインチキ」で、雑誌『科学』(岩波、2007年10月号)で書いたことであるが、今でもわかりやすい説明ではないかと思う。第5章第3節も、前記「実にひどい解説書」による誤解を予防・解毒するために力を入れて書いたのであるが、最初は原著者の意図も取り入れようとして、私まで毒に染まって、不正確な書き方になっていた。)に原稿を見ていただき、懇切丁寧なご教示をいただいたおかげで、誤りは解消できた、と思う。度重なるメールのやりとりに辛抱強くお付き合いいただいたお二人に、深く感謝したい。本書のまとめの段階では、講談社の善戝康裕さんにお世話になった。原稿の細部まで細かく検討された校閲担当の方々にもたいへん有益なご指摘を頂き、感謝している。それでもまだ私が見落とした誤りは残っているに違いないが、そのあたりは読者の皆様のご叱正をお願いしたい。オフィシャルウェブサイト。