- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
発表资料-电気通信大学
OBDDを用いたナンバーリンクの解法 古妻浩一?武永康彦 (電気通信大学) 研究の背景 二分決定グラフ(Ordered Binary Decision Diagram : OBDD) 論理関数の効率的表現方法 本研究 ナンバーリンクを論理関数で表し、OBDDを用いて解を求める 与えた問題の正当性の判定 OBDD(二分決定グラフ) 論理関数の表現方法の一つ 変数の順序を決めた順に変数節点が現れる 特長 変数順序を決めると、OBDDの表現が一つに定まる 実用的な論理関数をコンパクトに表現 関数同士の論理演算を少ない計算量で実現 ナンバーリンクのルール1 入力 m×nの盤面に1からsまでの数字をそれぞれ2つずつ盤面上のマスに与える 数字を与えた点を基点と呼ぶ ナンバーリンクのルール2 ナンバーリンクの符号化 盤面の数字をrビットの2進数で符号化(空白は0) 繋がれたマスは同じ数字を割り当てる ナンバーリンクの符号化2 論理変数を : マス(i,j)上の数字のkビット目が1 : 〃 が0 と定義 解の制約条件 ある解(後述する)を求める関数 基点の接続条件 関数C1の表す条件 基点(i,j)に数字tを割り当てる 上下左右のうち、1方向だけ同じ数字をとるそれ以外の方向には違う数字をとる 4方向についての論理和をとる 基点でないマスの接続条件 関数C2の表す条件 マス(i,j)に対して上下左右のうち、2方向はマス(i,j)と同じ数、それ以外は異なる数を割り当てる 全ての選び方について論理和をとる 得られる解について 得られる解について2 短絡解を許す制約条件 問題の正当性の判定 問題の正当性の判定 短絡解を許さない場合にただ一つ解を持つがそれが正当解でないとき、(つまり線のループを持つとき)短絡解を許す場合の条件では必ず複数の解を持つ(線のループは空白と同等であるため) 接続条件の適用順序 基点でない点の接続条件を適用順序を変更してBDDの最大サイズの変化を観察する 適用順序の実験3 基点の周囲を先に適用するだけではサイズは大幅に増加してしまった 今後の課題 接続条件(論理式の詳細1) 接続条件(論理式の詳細2) 参考文献 ニコリ「ペンシルパズル本⑩ ナンバーリンク1」 * ナンバーリンク : パズルの一種 決まった解法が知られていない 例:f = x1x2 + x2x3 1 x1 x2 x2 x3 0 1 0 1 0 1 0 0 1 1 2 1 2 解の条件 1つのマスに上下左右のうち2つを結ぶ直線、または折れ線が一本だけ引かれる 同じ数字の基点のマス同士を線で結ぶ 全ての線は2つの基点同士を結ぶ 基点以外の全てのマスに線を引く 全て満たすなら 正当解 1 2 1 2 1 2 1 2 3、4を満たさない(空白を許す)解は短絡解 1 3 2 2 1 3 01 00 01 11 10 11 10 11 01 01 01 11 例:マス(i,j)に数字1001(2)を割り当てる j i 1001 j i C1:基点における接続条件 C2:基点でない点における接続条件 CONNECT(P,S) = 1 となるような充足解を求める ことで解を得ることができる。 i j t SET:マス(i,j)に値tを割り当てる関数 S1-S4:マス(i,j)の左(上右下)に値tを割り当てる関数 i j M1-M4:マス(i,j)の値と左(上右下)の値が一致することを表す関数 1 2 1 2 3 3 ?明らかに短絡解が存在する場合 1 2 1 2 3 3 この場合には正当解を得られない 線のループが存在する場合 上のようなことが起こりうる 正当解の条件のうち「全ての線は2つの基点同士を結ぶ」という条件を除いた解が得られることになる 1 1 2 3 2 3 01 01 11 11 11 11 10 11 10 11 10 11 基点でないマスの接続条件において、0を割り当てても良いようにするつまりマスの空白を許す条件 0 i j i j または 短絡解を許す場合と許さない場合の両方について唯一の解を持つ 正当な問題の定義 唯一の正当解を持ち、 短絡解を持たない問題 両方の場合で正当解を唯一つ持つことが正当な問題の条件となる 解を求める実験 8×8 その1 実際に問題を与えて解を求めた 41,412 1.7秒 許す 10,393 0.2秒 許さない OBDDサイズ 実行時間 短絡解 466,246 20.9秒 許す 23,540 0.7秒 許さない
文档评论(0)