日の目を見なかった問題たち その2 --- パズル好きの貴兄に辛口の一献を ---

駒澤大学 文学部 自然科学教室
上原 隆平
uehara@jaist.ac.jp

はじめに

LAの会誌30号で私は、勝手に『日の目を見なかった問題たち』と銘打った シリーズ物をはじめました。それはこんな感じで、はじまっています。

とてもオモシロイ、心に響くものがあるにもかかわらず、いろいろな理由から ついに日の目をみずに終わってしまった問題。みなさんもこうした問題を一つ くらい持っているのではないでしょうか?(…中略…)そんな下心を抱きながら、 勝手に『日の目を見なかった問題たち』シリーズをはじめることにしました。
本稿では勝手にはじめたこのシリーズの第2回目をやらせてもらいます (『その3』は、どなたか引き継いで下さい)。 最近、会誌担当の NTT の田中さんが結婚されたそうで、 今回はお祝いを兼ねて『まだ日の目を見てない問題』を紹介することにします。 つまりうまく料理すれば日の目を見られるかもしれない、という問題です。

ここで取り上げるのはパズルの話です。一般化したXXパズルが NP 完全になる、 とか、制限されたグラフ上のXX問題は NP 完全になる、とか言った話が好きな 方、特にこういう証明の gadget 作りがたまらなく好きだ、という方、お楽し み下さい。

倉庫番

図1:倉庫番のゲーム画面
sample
パズルの好きな人、あるいは私と同年代で、かつてパソコン小僧であった人で あれば『倉庫番』というゲームをご存じだと思います。 人工知能の方で「倉庫番の面白い問題を作る」といった方向からの研究もされ ている[MMH98j]ので、こうした経路でご存じの方もいらっしゃ るかもしれません(ついでに WWW で調べてみたら[MMH96]や [JS98]なんてのもひっかかりました。 人工知能の方ではそれなりにタイムリーなのかもしれません)。 パズルの画面は図1.のような感じです。 (これは私の愛機上で動く、xsok-1.02 on FreeBSD 版で 最初に出てくる問題です。最初の面なのにいきなり難しい…。) ゲームの目的は、人間を操作して、すべての荷物を与えられたゴールポイント に移動することです。人間は荷物を一つ、しかも押すことしかできません。 荷物を手前にひっぱったり、二つ以上同時に押すことはできません。 つまりコーナーに押し込んでしまったらその時点で終わりです。 また人間も一つの場所を占めるので、スキマのないところは通れません。 もちろん壁を押してもびくともしません。

本稿ではこの倉庫番を一般化し、n×nの盤面に拡張したゲームを考え ます。つまり「与えられたn×nの大きさの倉庫番の盤面が解を持つか どうか判定せよ」という問題を考えます。もちろん図1.の答は Yes です。これが意外と難しいので、ちょっと考えてみて下さい。

『一般化された一人ゲーム?そりゃぁ、やっぱりNP完全でしょう』
と思ったそこのあなた、アマいです。結末がソレでは、 LA の会誌にはちと役不足です。 実はこのゲームが NP に属するかどうか、まだよくわかりません。 このあたりが本稿の『隠し味』なので、じっくりと堪能して下さい。

一般化倉庫番は NP 完全か??

『NP完全問題』は、文献[GJ79]などを調べればいくらでも見つけること ができますが、典型的な問題をよく観察すると、ある共通した特徴があります。 それは、端的に言えば『ステップが一つ進むごとに、問題のナニカが単調に 減少する』というものです。例えばグラフの彩色問題であれば、ステップが一 つすすめば、彩色されていない頂点や辺が一つ減ります。 一人ゲームの例をあげれば、 文献[Iwa95,UI90]のHi-Qでは、 ステップが一つ進めば盤面上の石が必ず一つ減ります。

倉庫番はこうした特徴を持ちません。つまり人間をぐるぐる移動させたり、 荷物を一生懸命移動させたりしても、かならずしも盤面上の手数は減りません。 また一度ゴールポイントにおいた荷物を再度どけたりすることも可能です。 こうした特徴を上手に使えば、倉庫番はもっと上位のクラスに関する 完全問題であることが示せそうな気がしています。私自身は

一般化された倉庫番はPSPACE完全
だろう、と確信しています。 『なぜそう思うか』はここではヒミツにしてしまいます。 文献[Kas87]に載っているPSPACE完全問題を眺めると、なんとなく似た構 造をもった問題を見つけることができます、とだけ言っておきましょう…。 ありがちな一人ゲームはたいがい NP 完全で、 ありがちな二人ゲームはたいがい PSPACE 完全であることを考えれば、 この結果はそれなりに味わい深いのではないでしょうか。

蛇足

図2:Gadget たち
reduction
これで終わってしまっては、なんとなく尻つぼみなので NP困難であること くらいは証明しておきましょう。 こうした gadget を上手に組み合わせれば、そのうち PSPACE 完全であることも証明できるかもしれません。 ここでは以下のNP完全問題を倉庫番に還元することにします [Iwa95,Ple79]。

入力:
すべての頂点の次数が3の有向平面グラフG
問題:
Gはハミルトン閉路をもつか?
この問題は非常に扱いやすく、グラフはたった2種類の頂点、つまり (入次数1,出次数2)の頂点(タイプA)と、 (入次数2,出次数1)の頂点(タイプB)だけを含むとして一般性を失いません。 つまり頂点に対する gadget を2種類と、辺に対する gadget と、 それ以外のおまけの gadget を作ればよいことになります。 実際の gadget を図2.に示します。還元の方法は以下の通りです。 普通ならこのあたりで、入力グラフの例と、それから作成されたゲームのパター ンを示すものですが、ここでは力尽きて省略します。

与えられたグラフがハミルトン閉路を持つときは、 以下の方法に従うと、倉庫番も解を持つことが証明できます。

一方、ハミルトン閉路を持たない場合は、倉庫番の方も、 どうやってもすぐ手詰まりになってしまいます。 これは、よ〜く見て考えるとわかります。 かなりの手抜きではありますが、以上で NP 困難であることは証明できました。

蛇足の爪

倉庫番が PSPACE 完全であることは、どうすれば証明できるのでしょう。 ここではいいかげんな観測を書いて終わりにすることにします。

本稿の前の方では、文献[Kas87]に載っているPSPACE完全問題を眺めると、 なんとなく似た構造をもった問題を見つけることができます、と書いてありま すが、これは実は7.2章の『一人石置きゲーム問題』をさしています。 石置きゲームでは、一つの共通の石を踏み台にして、 他の石が次々とこれを飛び越えていくようなルールを作ることができます。 これを倉庫番で実現しようとすると『一つの荷物をずぅっと押していくと、そ の連鎖反応で、他の荷物をどんどん運び出せるような gadget』が上手に作れ れば、なんとかなりそうです。 私の場合は、この部分がボトルネックになって、 とりあえずペンディングして、それっきりになっています。

蛇足の爪の垢

もし『倉庫番がXX完全である』ことが証明できたらどうかご一報下さい。 「共著にしろ」とか「謝辞に書け」とか、そんなケチ臭いことはいいません。 もしXXがPSPACE 以外だったら、何かおごらせて下さい。

[MMH98j]
村瀬 芳生, 松原 仁, 平賀 譲.「倉庫番」の問題の自動作成. 情報処理学会論文誌, 39(3), 1998.
[Kas87]
笠井琢美.計算量の理論.近代科学社, 1987.
[Iwa95]
岩田茂樹.NP完全問題入門.共立出版, 1995.
[GJ79]
M.R. Garey and D.S. Johnson. Computers and Intractability --- A Guide to the Theory of NP-Completeness. Freeman, 1979.
[JS98]
A. Junghanns and J. Schaeffer. Sokoban: Evaluating Standard Single-Agent Search Techniques in the Presence of Deadlock. In AI-98, pages 1-15. LNAI Vol. 1418, Springer-Verlag, 1998.
[MMH96]
Y. Murase, H. Matsubara, and Y. Hiraga. Automatic Making of Sokoban Problems. In PRICAI-96, pages 592-600. LNAI Vol. 1114, Springer-Verlag, 1996.
[Ple79]
J. Plesník. The NP-completeness of the Hamiltonian Cycle Problem in Planar Digraphs with Degree Bound Two. Information Processing Letters, 8(4):199-201, 1979.
[UI90]
R. Uehara and S. Iwata. Generalized Hi-Q is NP-Complete. The Transactions of the IEICE, E73(2):270-273, 1990.

Last modified: Fri Nov 8 16:41:41 EST 2002
by R.Uehara (uehara@jaist.ac.jp)
Valid HTML 4.0!