constraint networks 2.2~2.3

29
1 Constraint Networks 2.2~2.3 月月 月 57 月月月月月 M2 月 月月 西

Upload: phelan-orr

Post on 03-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

Constraint Networks 2.2~2.3. 5月7日 上田研究室 M2  西村 光弘. 2.2 Numeric and Boolean Constraints. 2.1.2 ( P27 )で取り扱った関係の記述を、より簡潔 で扱いやすいように記述する ↓  算術制約やブーリアン制約を用いる 算術制約:より簡潔な表現 ブーリアン制約:禁止されるタプルを表現. 2.2.1 Numeric Constraint. 算術式で制約を簡潔に表現する 例: 4-queens problem 全ての2つの変数x i とxj(図の縦列) ∀ i,j に対し、 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Constraint Networks 2.2~2.3

1

Constraint Networks 2.2~2.3

5月7日上田研究室

M2  西村 光弘

Page 2: Constraint Networks 2.2~2.3

2

2.2 Numeric and Boolean Constraints

2.1.2 ( P27 )で取り扱った関係の記述を、より簡潔

で扱いやすいように記述する         ↓

 算術制約やブーリアン制約を用いる

算術制約:より簡潔な表現ブーリアン制約:禁止されるタプルを表現

Page 3: Constraint Networks 2.2~2.3

3

2.2.1 Numeric Constraint

算術式で制約を簡潔に表現する例: 4-queens problem全ての2つの変数x i とxj(図の縦列)∀i,j に対し、横列が同じでない → xi≠ xj斜めの場所にない → l xi – xj l≠l i - j lRij = {(xi, xj) l xi Di, xj Dj, ∈ ∈ xi≠ xj and l xi – xj l≠l

i - j l }

Page 4: Constraint Networks 2.2~2.3

4

Numeric Constraint もう一つの例  + α

変数領域を整数の有限部分集合にする 2つの変数の間の2項制約を線形不等式の結

合で表す  ( 3xi + 2xj < 3 )∧( -4xi + 5xj < 1 )

Crypto-arithmetic Puzzles上記の線形制約を用いて簡単に定式化できる

“integer liner program”

SEND+MOREMONEY

同じ文字は同じ数字が隠されている数字は0~9

Page 5: Constraint Networks 2.2~2.3

5

2.2.2 Boolean Constraints

制約問題の変数が2値である場合、関係を記述するのによく Boolean 制約を使う

例: Alex, Bill, Chris を party に招待する場合A =命題“ Alex は party に来る”( B,C も同様)とする

わかっていること・ Alex が来るなら Bill も来る・ Chris が来るなら Alex も来る

  (A → B) (C → A)∧→

( ¬ A B) (∨ ∧ ¬ C A)∨

↓ 同じ意味

Page 6: Constraint Networks 2.2~2.3

6

例: Alex, Bill, Chris を party に招待する Chris が来るとしたら Bill は来る?

命題論理命題理論 φ = C (A→B) (C→A)∧ ∧ Chris が来るとしたら、 Bill が来るかどうか→Bill が来ないと仮定して矛盾が生じるかどうか

を見るつまり、 φ∧ ¬ B を解いて満たされるかをチェッ

ク            ↓この場合は矛盾が示されるので、“ Bill は来る”

Page 7: Constraint Networks 2.2~2.3

7

CNF (conjunction normal form)

CNF =論理積標準形 命題変数・・・ P,Q,R で表す。取りうる値は{ true, false } or { 1, 0 } Clause( 節 ) ・・・命題変数と選言記号( disju

nction )を用いて α 、 β などで表すα =( P Q R∨ ∨ )  ( P Q R T∨ ∨ ∨ )→( α T∨ )と略記( α Q∨ )∨( β∨ ¬ Q )→( α β∨ ) CNF ・・・ clause の集合を φ で表すφ ={ α1, ・・・ ,αt }

Page 8: Constraint Networks 2.2~2.3

8

CNFと SAT( propositional satisfiability

problem) CNF は、変数が命題( true or false )であるよ

うな制約ネットワークでよく見られる補足説明CNF theory φ =( A B∨ )∧( C∨ ¬ B )→変数3つ、制約( clause )2つ制約 A B∨ は関係 RAB = [(1,0),(0,1),(1,1)] を表す

SAT は命題充足可能性問題 CNF 理論が model を持つかどうかを決定することmodel =どの clause の規則も破らないように、変数に真値を割り当てたもの 関連する制約問題で矛盾しないかどうかを決定す

ること

Page 9: Constraint Networks 2.2~2.3

9

Primal constraint graph

命題理論 φ の構造を interaction graph で描画・・・ G( φ )

無向グラフ ノードは各命題変数 エッジは同 clause にある変数の各ペア

G(φ)={(¬ C) ,( A B C∨ ∨ ) ,(¬ A B E∨ ∨ ) ,(¬ B C D∨ ∨ )}

B

A

E

C

DFigure2.8

Page 10: Constraint Networks 2.2~2.3

10

2.2.3 Combinatorial Circuits Diagnosis

Boolean 命題言語は回路を表すのによく使われる 回路の診断作業は制約充足問題として定式化され

うる 定式化の方法

変数と各ゲート( AND 、 OR 、 XOR )を関連づける Boolean 制約によって、各ゲートの input と output の関

係を記述する 観測される output から、回路の振る舞いが適切か

間違いかを確認する

Page 11: Constraint Networks 2.2~2.3

11

2.3 Properties of Binary Constraint Networks

今まで出てきた制約を処理する概念は Binary Network のために紹介された

   Binary Network は役に立つ        ↓なぜかというと・・・

後の章にでてくる制約の一般的理論を理解するのに役に立つから

この 2.3 節では binary constraint network の特徴について書いてある

Page 12: Constraint Networks 2.2~2.3

12

2.3.1 Equivalence and Deduction with Constraints

制約を計算する主な概念は constraint deduction ↓初期の制約集合から、新しい制約集合を推論すること例:幾何制約x>yとy>zからx>zを推論する

推論された新しい制約を加えた集合は、初期の集合と同等の constraint network を生み出す

Page 13: Constraint Networks 2.2~2.3

13

例: graph-coloring problem

各ノードは変数 x 1、 x 2、 x 3

それぞれ同じ domain { red, blue } Not-equal 制約

R21=R32= {( blue, red ) , ( red, blue )} エッジのない x1 と x3 の関係は universal relation

R13={(red, blue),(blue, red),(red, red),(blue, blue)}

制約からの解は2つで ρ123={(red, blue, red)(blue, red, blue)} そこから推論される x 1と x 3の関係は、新しい制約 R’13=

{(red, red)(blue, blue)} を作る( deduction ) 元の制約集合を R、 R’13 を加えた制約集合を R’とすると、

この Rと R’は同値であると言える( equivalence )

redundant

図の説明

Page 14: Constraint Networks 2.2~2.3

14

図: graph-coloring

redblue

redblue

redblue

redblue

redblue

redblue

R=

x2

≠ ≠ ≠ ≠

R’=

x1 x3 x1 x3

x2

(a) (b)

Figure2.10

Page 15: Constraint Networks 2.2~2.3

15

Redundancy と Equivalence を一般的に言うと

Redundancy 制約ネットワークからある制約を取り除いても解

の全ての集合が変わらない時の、そのある制約のこと

Equivalence 2つの制約ネットワークにおいて

同じ変数の集合の上で制約ネットワークが定義されている

同じ解の集合を表現できる

Page 16: Constraint Networks 2.2~2.3

16

定義 2.2 Composition

制約推論は Composition を通して達成されるRxy,Ryz(binary or unary constraint) があるとして、 compositi

on Rxy ・ Ryz から2項関係 Rxz を作る   Rxz={(a,b) l a Dx, b Dz c Dy ∈ ∈ ∃ ∈              such that (a,c) Rxy and (c,b) Ry∈ ∈

z}composition の計算の定義を join と projection を使って定式

化   Rxz = Rxy ・ Ryz = π{x,z}(Rxy   Ryz)

例: R’ = π{x1,x3}(R12   R23) = {(red,red),(blue,blue)}

projection join

Page 17: Constraint Networks 2.2~2.3

17

図: join and projection

R12

blue redred blue

x1 x2

R23

blue redred blue

x2 x3

R12   R23

x1 x2 x3

blue red bluered blue red

↓join

  →projection

R13 = π{x1,x3}(R12   R23)

blue bluered red

x1 x3

Page 18: Constraint Networks 2.2~2.3

18

例 2.2 composition 0-1matrix

2 項関係を 0-1matrix で表現すると、 composition は Boolean matrix の掛け算になる

R12 =red blue

red blue

0 11 0

R23 =red blue

red blue

0 11 0

=red blue

red blue

1 00 1

0 11 0

0 11 0

1 00 1=×R12・ R23 = R13 =

Page 19: Constraint Networks 2.2~2.3

19

2.3.2 The Minimal and the Projection Networks

問題提起どんな関係も binary constraint network として表現されるか? ↓答え

多くの場合は表現できない(特別なケースだけ表現できる)                ↓なぜなら

異なる関係の数 > 異なる binary constraint network の数                ↓どうするか

Binary projection network によって関係を近似する

Page 20: Constraint Networks 2.2~2.3

20

定義 2.3 projection network

初期の関係 ρ

↓ 変数の各ペアーで ρ を projection する

Projection network の関係 P(ρ)

P(ρ) は network P = (X, D, P) で定義されるD={Di}, Di=πi(ρ), P={Pij},Pij=πxi,xj(ρ)

Page 21: Constraint Networks 2.2~2.3

21

例 2.3 projection network

ρ123={(1,1,2),(1,2,2),(1,2,1)}

Projection network P(ρ)P12={(1,1),(1,2)}, P13={(1,2),(1,1)}P23={(1,2),(2,2),(2,1)}

P(ρ) からの全ての解は sol(P(ρ))sol (P(ρ))={(1,1,2),(1,2,2),(1,2,1)}

一般的にはこのようにうまく戻らない例2.4へ

Page 22: Constraint Networks 2.2~2.3

22

例 2.4 定理 2.1ρ sol(P(ρ))⊆

初期の関係 ρ Projection network P(ρ)P12={(1,1),(1,2),(2,1),(2,2)}P23={(1,2),(2,2),(1,3)}P13={(1,2),(2,3),(2,2)}

x1 x2 x3

1 1 21 2 22 1 32 2 2

x1 x2 x3

1 1 21 2 2

2 1 32 2 2

2 1 2

余分な解が増えた

sol(P(ρ))

Page 23: Constraint Networks 2.2~2.3

23

定理 2.2 ¬∃ R’, ρ sol(⊆ R’) sol(P(ρ))⊂

Projection network P(ρ) は ρ を表現するのに、最も厳しい上限の binary network である 説明は前頁( P21 )の図を参照

問題提起P(ρ) は sol(ρ) を表現するのに最も厳しい関係記述かどうか?

Page 24: Constraint Networks 2.2~2.3

24

定義 2.4 “tighter than” network relationship

同じ変数の集合を持つ、2つの binary networkを Rと R’として、R’が Rと比べ少なくても同じ tight さである⇔全ての i,j に対し、 R’ij R⊆ ij

例:資料 P14 の graph-coloring 図 2.10 の (a) と (b)が上の Rと R’に相当する

説明:意味論的に同等で同じ解が得られるのに、 Rより R’  のほうが条件が厳しい

Page 25: Constraint Networks 2.2~2.3

25

定義 2.5 intersection on networks

2 つの network Rと R’の intersection ( R∩R’)は binary network である。(明らか)

命題 2.1 2つの同等な network Rと R’があるなら、

R∩R’はそれらと同等な network である R∩R’は両方より少なくとも tight である

Page 26: Constraint Networks 2.2~2.3

26

例 2.5  命題 2.1 の例題説明

資料 P14の graph-coloring 図の関係で、(b)の R 2

3の≠制約を取り除いた Rと R’の intersection を考える R :

R12=R23= {( blue, red ) , ( red, blue )} R13={(red, blue),(blue, red),(red, red),(blue, blue)}

R’ : R12= {( blue, red ) , ( red, blue )} R13= {( blue, blue ) , ( red, red )} R23={(red, blue),(blue, red),(red, red),(blue, blue)}

R∩R’ (minimal network) R12= R23= {( blue, red ) , ( red, blue )} R13= {( blue, blue ) , ( red, red )}

Page 27: Constraint Networks 2.2~2.3

27

定義 2.6 minimal network

R 0 と同等の全ての network の集合を{ R 1,…, R l } ρ = sol(R 0)

R 0 の minimal network はM(R 0)=M(ρ)=∩   R i と定義される

定理 2.3全ての binary network R に対し、ρ = sol(R), M(ρ) = P(ρ) が成り立つ命題 2.2If (a,b) M∈ ij then t sol(M)∃ ∈ such that t[i]=a, t[j]=b

li=1

Page 28: Constraint Networks 2.2~2.3

28

2.3.3 Binary-Decomposable Network

例 2.6

ρ は binary constraint network で表現可能 projected な関係である πxyzρ は binary network で表現不可能

なぜなら πxyzρ sol(P(π⊂ xyzρ)) 定義 2.7

関係が binary-decomposable であるとは、その関係がbinary constraints で表現可能であるということ

ρ =

x y z t a a a a

a b b b b b a c

πxyzρ=

x y z

a a a a b b b b a

Page 29: Constraint Networks 2.2~2.3

29

図 2.11 M13={(2,1),(3,4)}

R12={(1,3),(1,4),(2,4),(3,1),(4,1),(4,2)}

R13={(1,2),(1,4),(2,1),(2,3),(3,1),(3,4),(4,1),(4,3)}

R14={(1,2),(1,3),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,2),(4,3)}R23={(1,3),(1,4),(2,4),(3,1),(4,1),(4,2)}R34={(1,3),(1,4),(2,4),(3,1),(4,1),(4,2)}

↓ 1

2

3

4

x1 x2 x3 x4

R13’={(1,2),(2,1),(3,4),(4,2),(4,3)}R13’’={(1,4),(2,3),(2,1),(3,4),(4,1)}R13’’’={(1,4),(2,1),(3,4),(4,3)}R13’’’’={(2,1),(4,1),(3,2),(2,3),(3,4),(1,4)}

↓M13 = R13∩R13’∩R13’’∩R13’’’∩R13’’’’ = {(2,1),(3,4)}

R13={(1,2),(1,4),(2,1),(2,3),(3,1),(3,4),(4,1),(4,3)}