790 likes | 984 Views
制約充足問題. 2003/04/28 1G00P139-1 若槻聡一郎. 2.5 記号を用いた制約充足問題. クロスワードパズル 性質に関する推論 ・時間的なもの ・空間的なもの 多面体の分析 などに用いることができる. 例2.8 クロスワードパズル. 1~8 を変数とみなす 空欄に以下の単語が入る HOSES,LASER,SAILS, SHEET,STEER HEEL,HIKE,KEEL,KNOT, LINE AFT,ALE,EEL,LEE,TIE. 制約充足問題としての解法.
E N D
制約充足問題 2003/04/28 1G00P139-1 若槻聡一郎
2.5 記号を用いた制約充足問題 • クロスワードパズル • 性質に関する推論 ・時間的なもの ・空間的なもの • 多面体の分析 などに用いることができる
例2.8 クロスワードパズル 1~8を変数とみなす 空欄に以下の単語が入る • HOSES,LASER,SAILS, SHEET,STEER • HEEL,HIKE,KEEL,KNOT, LINE • AFT,ALE,EEL,LEE,TIE
制約充足問題としての解法 • 変数はそれぞれ文字数が決まっている(1,2,3,8は5文字、4,5は4文字、6,7は3文字) • 2つの単語が交差するところは同じ文字でなくてはならない(1の3文字目と2の1文字目は同じ文字、など)
制約充足問題としての解法(2) 以上のことを考えながら、制約を課していく。 例えば1と2の間には次のような制約ができる。 C1,2 := {(HOSES,SAILS),(HOSES,SHEET), (HOSES,STEER),(LASER,SAILS), (LASER,SHEET),(LASER,STEER)}
制約充足問題としての解法(3) これらの制約を考えていくと、以下のような解が得られる。
性質に関する推論 • ある出来事が起こった正確な時間、物体の位置などに関する推論を行うとき、それらを具体的に数値化してしまうと考えられる選択肢が無限になってしまう →それらを抽象的な記号として考えることで有限個の選択肢で考えることができる!
例2.9 時間に関する推論 ・あるミーティングに関する問題 ・おのおのの人物はある連続した期間ミーティングに出席していた • Jonesがいる間にミーティングが始まった • Whiteがいる間にミーティングが終わった • Whiteはミーティングが始まった後に到着した • SmithはJonesがいなくなった後に到着した • BrownとWhiteはSmithがいるときに会話をした →このときJonesとWhiteは話すことは可能だったか?
問題の解釈 • ミーティングに参加している間の行動についてはいろいろ考えられる(誰かと話す、昼休みを取る、電話を受ける、などなど) →これらの行動をイベント(event)と総称する • これらのイベントは切れ目のない有限の時間とする
問題の解釈(一例) • 問題の条件から、以下の解釈が考えられる(実線はその人が出席していた時間帯を表す)
時間の記号表現について • すべての人の出席時間帯は以下のDの形で表される 以下では、Aがいた時間帯を(abegin , aend)、Bがいた時間帯を( bbegin < bend )とおく
二つの時間の関係について • 二人が出席していた時間の関係としては以下にあげる13個の可能性が考えられる ・before, after ・meets, met-by ・overlaps, overlapped-by ・starts, started-by ・during, contains ・finishes, finished-by ・equals
A before B, B after A ・aend < bbegin
A meets B, B met-by A ・aend = bbegin
A overlaps B, B overlapped-by A ・ abegin < bbegin ・ aend < bbegin ・ aend < bend
A starts B, B started-by A ・ abegin = bbegin ・ aend < bend
A during B, B contains A ・ bbegin < abegin ・ aend < bend
A finishes B, B finished-by A ・ bbegin < abegin ・ aend = bend
A equals B ・ abegin = bbegin ・ aend = bend
TEMP, REAL-OVERLAP • 前述の2つの時間の関係の全体集合をTEMPとする • AとBが時間を「共有」していた、ということのみを示す制約をREAL-OVERLAPとする。(これは、before、after、meets、met-by以外の9つの制約の結合として得られる) ・ abegin < bend ・ bbegin<aend
問題の解法(その1) • 1個1個のイベントを変数(variable)とする • イベントと変数名は以下のようになる • この変数を用いて適当な制約を定義する
制約(ミーティング×人物) • 問題文からミーティングと人物に関する3つの制約がわかる ①(〔overlaps〕∪〔contains〕∪〔finished-by〕)(J, M) ②〔overlaps〕(M, W) ③〔REAL-OVERLAP〕(M, S) ※Brownについては問題文からミーティングにいたかどうかわからないので言及しない
制約からわかること ①Jbegin < Mbegin ,Mbegin < Jend ②Wbegin < Mend ,Mend < Wend ,Mbegin < Wbegin ③ Mbegin < Send ,Sbegin < Mend (MとSはある長さの時間を「共有」していた)
制約(人物×人物) • 同じく人物間の制約もわかる ①〔before〕(J, S) →Jend < Sbegin ②〔REAL-OVERLAP〕(B, S) → Bbegin < Send ,Sbegin < Bend ③〔REAL-OVERLAP〕(B, W) → Bbegin < Wend , Wbegin < Bend ④〔REAL-OVERLAP〕(S, W) → Sbegin < Wend , Wbegin < Send
問題の解決 • 質問は、「 JonesとWhiteは話すことは可能だったか? 」 →これは、〔REAL-OVERLAP〕(J,W)をみたすような解が存在するか?ということと同じ • この問題では、 Jbegin < Wend は常に成り立ち、 Wbegin < Jend が成り立つ場合も考えられるので、この質問に関する回答はYESである
問題の解法(その2) • この解き方では、変数は、3つのイベントから導かれる(3つのイベントA,B,Cがあり、AとBの関係、BとCの関係は既知とする。ここからAとCの関係が導かれるというもの) • 例えば〔overlap〕(A,B)、〔before〕(B,C)の場合は〔before〕(A,C)となる • これを(overlap, before, before)のように書く
問題の解法(その2) • このような3つの時間関係の集合はすべてTEMP×TEMP×TEMP(以下T3と表記)の部分集合(subset)として表される • T3は409個の要素からなる
時間関係における選言命題 • 選言命題(before∨meetsなど)によって、状況を部分的に知ることができる。 • 時間関係における選言命題では、AとBの間の関係がわかっていれば、BとAの関係も一意に決まる(例えばAとBの関係がbefore∨meetsならばBとAの関係はafter∨met-byとなる)
制約充足問題の定義(1) • n個(n>3)のイベントがあるとき、2個のイベントの選び方はnC2通り考えられる • イベントi, j(i, j ∈[1…n], i<j)間に実際に成り立つ時間関係をxi,j、成り立ち得る時間関係の集合をDi,jとおく(このときxi,j∈Di,j,、Di,j⊆TEMP)
制約充足問題の定義(2) • 同様に、3つのイベントの選び方はnC3通り考えられる • イベントi, j, k(i, j, k ∈[1…n], i<j<k)間にできる制約をCi,j,kとおくと Ci,j,k:= T3∩(Di,j× Dj,k×Di,k)
問題から読み取れる制約 • この問題ではJ,M,B,S,Wの5つのイベントがあるので、10種類のxが存在する 問題文から以下のことが読み取れる • xJ,M∈{overlaps, contains, finished-by} • xM,W∈{overlaps} • xJ,M∈ REAL-OVERLAP
問題から読み取れる制約(2) • xJ,S∈{before} • xB,S∈ REAL-OVERLAP • xB,W∈ REAL-OVERLAP • xS,W∈ REAL-OVERLAP • 残りのxはTEMP
問題の解決 • 問題で聞いているのはxJ,W∈ REAL-OVERLAPとなるようなxJ,Wが存在するかということ • →これは存在する( ∵xJ,W∈ TEMP) • 具体例はCJ,M,W := (contains, overlaps,overlaps)など(∵overlaps∈REAL-OVERLAP)
例2.10 空間に関する推論 ・2軒の庭付きの家と道に関する問題 ・2軒の家が道路によってつながっている ・1つ目の家は庭に囲まれているか庭の境界に接している ・2つ目の家は庭に囲まれている ・このとき2つ目の家の庭と道路の関係はどう推論できるか?
2つの物の関係について • 以下の8つが考えられる disjoint, meet, equal, covers, coveredby, contains, inside, overlap
RCC8(Region Connection Calculus with 8 relations) • 2つの物の関係の全体集合 • ここでは3つの物の関係を考える • これはRCC8× RCC8× RCC8(以下S3と表記)の部分集合(subset) • RCC8の要素は193個
制約充足問題の定義 • 問題に出てくる「物体」をH1(1つ目の家)、G1(1つ目の家の庭)、H2(2つ目の家)、G2(2つ目の家の庭)、R(道路)とおく • 物体A, B間に実際に成り立つ位置関係をxA,B、成り立ち得る位置関係の集合をDA,Bとおく(このときxA,B∈DA,B,、DA,B⊆RCC8)
制約充足問題の定義(2) • 同様に、物体A, B, C間にできる制約をCA,B,Cとおくと CA,B,C:= S3∩(DA,B× DB,C×DA,C)
問題から読み取れる制約 • xH1,G1∈{inside, coveredby} • xH2,G2∈{inside} • xH1,H2∈{disjoint} • xH1,R∈{meet} • xH2,R∈{meet}
問題から読み取れる制約(2) • xG1,G2∈{disjoint, meet} • xH1,G2∈{disjoint, meet} • xG1,H2∈{disjoint, meet} • xG1,R∈ RCC8 • xG2,R∈ RCC8
問題の解法 • この場合はG2とRの関係なので、G2とH2とRについて考えれば十分である(H1とG1はあまりG2とRの関係に影響してこない) • CG2,H2,R:= S3∩(contain×meet ×DG2,R)なので、G2とRの関係xG2,Rとして考えられるのは、 xG2,R∈{contains, covers, overlap}である
例2.11 多面体の分析 • 以下の直線によって作られた2つの物体がどんな形の立体に対応するか
接点(junction) • 接点には4種類あり、各々の接点は2つか3つの辺を持っている • 左からL字型、fork型、T字型、arrow型
4つのラベル • 辺の性質を明確にするため、+、-、→、←の4つのラベルを使う • +(convex)は2つの見える面の間を移動するときに270°かかるもの • -(concave)は2つの見える面の間を移動するときに90°かかるもの • 矢印(boundary)は一方の面が隠れているときに書く
ラベルの使用例 • 矢印は隠れてない方の面が矢印の進行方向右側に来るように書いていく
解釈の仕方 • 解釈の仕方は1つに限定する必要はない (Fig2.13の場合辺ACとAEは、立体が「浮いている」と考えれば→、「壁にかかっている」と考えれば-と解釈できる)
解釈の仕方(2) • 辺ABは+にも-にもなりうる (立方体と考えればABは明らかに+だが、面ABCDを底面とする箱の一部(AEとDGにつながる面が欠落したもの)と考えれば-とみなせる) • ただし、後者の考え方のときは適応する立体がない(後者の解釈の仕方だとC,E,Gにつながるfork型の接点が欠落している)
接点とラベルの関係 • Huffmanさんが発見した、立体が存在しうる状況においての接点とラベルの関係 →これらを使うと制約充足問題の観点から議論できる!
問題の解法(1) • 接点を変数、辺を制約とする • 2つの接点に関する制約を変換テーブルを用いて作っていく • 例えば、接点AとBは辺ABを共有しているので、クロスワードのときと同じように、共有する部分は同じ物にしなければならない • だが、クロスワードとは少し勝手が異なる (+や-の場合はよいが、矢印を使うときはABとBA(接点の場所)で逆になる)