非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い...

31
非隣接性を有する 組合せパズルの計算複雑さ 8回組合せゲーム・パズル ミニ研究集会 201331日(金) 浅野 竜男 大阪電気通信大学大学院 上嶋 章宏 大阪電気通信大学大学院

Upload: others

Post on 27-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

非隣接性を有する

組合せパズルの計算複雑さ

第8回組合せゲーム・パズル ミニ研究集会

2013年3月1日(金)

○ 浅野 竜男 大阪電気通信大学大学院

上嶋 章宏 大阪電気通信大学大学院

Page 2: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

発表の流れ

•背景・目的: • NP完全性とASP完全性

•対象とするパズル

• LITS (連結性あり) :NP完全,ASP完全

• のりのり,島国 (非連結性あり) :NP完全

• ASP完全性の証明方法

• 既知のASP完全問題からの多項式時間一対一還元

• NP完全性を示し,別解問題に多項式時間還元

•まとめと今後の課題

2 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 3: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

NP完全とASP完全の違い

• NP完全: 解の存在性を判定

• プレイヤーの立場

• 求解が困難

• ASP完全: 別解の存在を判定

• パズル製作者の立場(唯一解を保証)

• 求解が困難(別解問題がNP完全)

• 想定解をヒントにしても別解の計算が困難

入力:ある問題例 と その解,

質問:与えられた解以外の解が存在するか?

別解問題(Another Solution Problem)

別解は?

3 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 4: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

紹介するペンシルパズルゲーム

1

2

LITS 島国 のりのり

隣接性 非隣接性

4 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 5: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

LITSのルール

• 2x2 以外の4細胞生物をブロックに配置

• 各ブロックに1生物

• ブロックを跨がず配置

• 配置された生物全体が連結

• 2x2の配置マスが生じない

• 同生物同士は非隣接

http://www.nikoli.co.jp/ja/puzzles/lits.html

5 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 6: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

「のりのり」のルール

• 2細胞生物をブロックに配置

• ブロックを跨いで配置可能

• 生物は非隣接

http://www.nikoli.co.jp/ja/puzzles/norinori.html

• 各ブロックには配置マスが2マス

6 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 7: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

島国のルール

• 指定個の をブロックに配置

• 各ブロックに最低1つの

• 隣接ブロックでは 数が異なる

• 国(ブロック内の全 )同士は非隣接

• ブロック内の全 は連結

• 数字付きブロックは 数を指定

(ニコリ本誌には117号から125号まで掲載)

1

2

1

2

7 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 8: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

先行研究と本研究の結果 • 格子盤面サイズを一般化した問題の計算複雑さ

• LITS

• 「同生物同士は非隣接」条件なし: ASP完全 [ McPhail, 2007]

• 「同生物同士は非隣接」条件あり: ASP完全 New!

• のりのり,島国 (先行研究なし) : NP完全 New!

• 生物,国の“非隣接性”がASP完全性の証明を困難に

1

2

LITS のりのり

島国

全体での連結性は必要

8 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 9: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

x1 x2

x3

y

1 1 1 1

1 0 1 1

0 0 1 0

0 1 0 0

0 0 0 0

: : : :

: : : :

x1 x2 x3 y

入力:nの入力変数x1, x2, …, xn と1つの出力yを持つ論理回路C,

質問:回路Cの出力yを1とするような,n個の入力変数の割り当てが存在するか?

論理回路Cを各パズル上でシミュレート

●構成部品

入力部,出力部,ワイヤー部,分岐部,

NOT回路部,AND回路 / NAND部,調整部

Circuit-SAT からの還元 [S.Cook, 1971]

9 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 10: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

ワイヤー部の設計方針

• 配置タイルの“非隣接”条件(反発・斥力)による信号の伝搬

• LITS: 同生物は非隣接,2x2の配置マスなし

• のりのり: 生物は非隣接,ブロックには配置マスが2マス

• 島国: 国は非隣接,隣接ブロックの国サイズが異なる

• タイル間の斥力だけでは,2値信号を制御できない

• 2重のワイヤーで,相互に補完

1

2

LITS のりのり

島国

10 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 11: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

ワイヤー部の設計イメージ

• LITS,のりのり,島国: ブロックにタイルを割り当てる問題

• 2重のワイヤー(イメージ): 上下列で信号の伝達を実現

• 真偽逆転した信号では,主導権が逆転

• ASP完全性の証明ガジェットとしても機能可能

• LITS: 1x13サイズのブロックx2

• のりのり: 1x4サイズのブロックx2

• 島国: 1x3サイズのブロックx2

斥力

斥力 斥力

斥力

11 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 12: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

2入力・1出力の論理ゲートの設計方針

• 例: ( 0, 1 ),( 1, 0 ),( 1, 1 ) ,( 0, 0 )を2分割(3対1)

• 出力を定める領域,手薄な領域: 配置に自由度

• 全体での“連結性”を活かし制御 (非隣接系パズルでは苦手)

( 1, * )

( *, 1 )

( 0, 0 )

12 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 13: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

非隣接系パズルでの自由度

• 基本的には,配置タイル間の“斥力”に頼った構造

• 2入力・1出力のゲート設計: 信号集約のための“遊び”が必要

• 周囲から影響を受けない領域が存在してしまう = “遊び”(?)

( 1, * )

( *, 1 )

( 0, 0 )

13 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 14: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

LITS – 部品紹介

(偽)

(真)

ワイヤー部 NAND部

14 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 15: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

(偽)

(真) LITS – ワイヤー部

15 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 16: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

LITS – NAND部

(真)

(真)

(偽)

NO

T部

16 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 17: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

(真)

(真)

NO

T部

LITS – NAND部

(偽)

17 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 18: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

島国 – 部品紹介

(偽)

(真)

ワイヤー部 AND部

18 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 19: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

2 1

1 2

2 1

1 2

2 1

1 2

2 1

1 2

島国 – ワイヤー部

(偽)

(真)

2013/3/1 19 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 20: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

2 1 2 1 2

1 2 1 2

5 8 1

4

2 2 1

7 1 2

1 2

4 3

2 1 2 1 5

1 2 1 2 (真)

(偽)

2013/3/1

島国 – AND部

(偽)

20 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 21: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

2 1 2 1 2

1 2 1 2

5 8 1

4

2 2 1

7 1 2

1 2

4 3

2 1 2 1 5

1 2 1 2 (真)

(真)

(真)

2013/3/1

島国 – AND部 21 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 22: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

のりのり – 部品紹介

(偽)

(真)

ワイヤー部 AND部

22 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 23: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

(偽)

(真)

のりのり – ワイヤー部

2013/3/1 23 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 24: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

のりのり – AND部

2013/3/1 24 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 25: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

のりのり – AND部

(偽)

(真)

2013/3/1 25 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 26: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

真 偽

のりのり – AND部

(偽)

(真)

2013/3/1 26 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 27: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

27

(真)

(真)

のりのり – AND部

2013/3/1 第8回組み合わせゲームパズルミニ研究集会 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 28: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

28

(真)

(真)

のりのり – AND部

2013/3/1 第8回組み合わせゲームパズルミニ研究集会 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 29: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

(真)

(真)

のりのり – AND部

2013/3/1 29 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 30: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

まとめと今後の課題(1)

• 3つのペンシルパズルの計算複雑さを解明

• LITS (全体連結系): NP完全,ASP完全

• のりのり,島国 (非隣接系): NP完全

• 配置タイルの制限,ブロックサイズ制限,国サイズ制限

• 非隣接系パズルでの,他と影響し合わない孤立領域の存在

• 孤立領域内での“差し替え”で,別解の構成は容易?

1

2

LITS のりのり

島国

30 2013/3/1 第8回組み合わせゲームパズルミニ研究集会

Page 31: 非隣接性を有する 組合せパズルの計算複雑さ · np完全とasp完全の違い •np完全: 解の存在性を判定 •プレイヤーの立場 •求解が困難

まとめと今後の課題(2)

• 非隣接系パズルでの,他と影響し合わない孤立領域の存在

• 孤立領域内での“差し替え”で,別解の構成は容易?

• 彩色問題における,色名の読み替えによる別解の要領

• NP完全ではあるが,ASPは効率的に解ける?

1

2

LITS のりのり 島国

31 2013/3/1 第8回組み合わせゲームパズルミニ研究集会