Constraint Satisfaction Problems 2
๐๏ธ YOUTUBE
COMPSCI 188 - 2018-09-06
๐๏ธ MATERIAL
CS 188: Introduction to Artificial Intelligence, Fall 2018
๐๏ธ 2022-02-04
Note
- CSP
- ๋ณ์, ๋๋ฉ์ธ, ์ ์ฝ ์กฐ๊ฑด(๋ช
์์ , ์์์ , unary, binary, n-ary)์ผ๋ก ๊ตฌ์ฑ
- ๋ชฉํ: (๋ชจ๋ , ์ต๊ณ ์) ํด๊ฒฐ์ฑ
์ฐพ๊ธฐ โ ํ๋์ ํด๊ฒฐ์ฑ
์ฐพ๊ธฐ๋ก๋ ์ถฉ์กฑ
- Backtracking search
- DFS ์ฌ์ฉ fringe ์ ํ ๋ฐ ํ์ฅ
- ๊ฒ์ ํธ๋ฆฌ โ๊น์ดโ ๋นจ๋ฆฌ ํํค์น๋ฉด์ ํด๊ฒฐ์ฑ
์ฐพ๊ธฐ
- backtracking์ ํตํด์ ๋ณ์ ํ ๋น ๊ฐ ํ์ธ
- Filtering: failure์ ์กฐ๊ธฐ์ ํ์งํ๋ ๋ฐฉ๋ฒ
- Ordering: ๋ณ์๋ minimum, ๊ฐ์ maximum ์ฒดํฌ. MRV, LCV
- Structure: ๋ฌธ์ ์์ฒด์ ๊ตฌ์กฐ
- Arc Consistency
- backtracking ์ฌ์ฉ ์ NP-hard(๋ชจ๋ ๋
ธ๋ ํ์ธํด์ผ ํจ
- arc(tail โ head) ๊ฐ ํ์ธ์ผ๋ก failure์ ๋น ๋ฅด๊ฒ ํ์
- consistency๊ฐ ์ ์ง๋๋๋ก tail ๊ฐ์ ๋๋ฉ์ธ์์ ์ ๊ฑฐ
- tail ๋๋ฉ์ธ ๋ณ๊ฒฝ ์ดํ tail์ด ๊ฐ๋ฆฌํค๋ head์ ๋๋ฉ์ธ์ ๋ค์ ํ ๋ฒ ํ์ธ
- ๋๋ฉ์ธ ์์๊ฐ ์ฌ๋ผ์ง๋ฉด failure(forward checking๋ณด๋ค ํ๋จ ์๋ ๋น ๋ฆ)
- ์ฐ์ฐ ์ ๋๊ฐ ํผ(A*์ tradeoff์ ์ ์ฌ)
- pair์ ๊ดํ ํ์ธ์ด๋ฏ๋ก 3-ary ๋ฑ์ ๊ดํด ํ์ธ ๋ถ๊ฐ โ backtracking์ ํตํด ๊ฐ์งํด์ผ ํจ
- K-Consistency
- 1-Consistency(Node Consistency): ๊ฐ ๋
ธ๋ ๋๋ฉ์ธ์ด ๋
ธ๋์ unary ์ ์ฝ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ ๊ฐ์ง
- 2-Consistency(Arc Consistency): ๊ฐ ๋
ธ๋ ํ์ด์์ ํ ๋
ธ๋์ ๋ํ consistentํ ํ ๋น์ด ๋ค๋ฅธ ๋
ธ๋์๋ ํ์ฅ๋ ์ ์์
- K-Consistency: ๊ฐ k ๊ฐ์ ๋
ธ๋์์ k-1 ๊ฐ์ ๋ํ consistentํ ํ ๋น์ด k๋ฒ์งธ ๋
ธ๋์ ๋ํด ํ์ฅ๋ ์์์
- K๊ฐ ์ปค์ง ์๋ก ์ฐ์ฐ ๋น์ฉ ์ฆ๊ฐ
- Strong K-Consisteny: k-1, k-2, ..., 1 consistent โ Strong n-consistency๋ backtracking ์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ ์๋ฏธํ๋ค.
- Problem Structure
- independent subproblems โ connected components of constraint graph
- ๋ณ์ n๊ฐ๋ก ๊ตฌ์ฑ๋ ๊ทธ๋ํ๊ฐ ๋ณ์ c๊ฐ๋ฅผ ๊ฐ์ง ํ์ ๋ฌธ์ ๋ก ๋ถ๋ฆฌ๋ ์ ์์
- divide and conquer
- Tree-Structured CPSs:
- Nearly Tree-Structured CSPs
- Tree Decomposition
- mega-variables๋ก ์ด๋ฃจ์ด์ง ํธ๋ฆฌ ๊ตฌ์กฐ ๊ทธ๋ํ ์์ฑ
- ๊ฐ mega-variable์ ์๋ณธ CSP์ ์ผ๋ถ๋ถ์ ์ธ์ฝ๋ฉํ ๋ฌธ์
- ํ์ ๋ฌธ์ ๋ consistentํ ํด๊ฒฐ์ฑ
์ ๋ณด์ฅํจ
- ์ ์ฒด ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์ โ์ผ๋ถโ ๋ฌธ์ ๋ฅผ โ๋ชจ๋โ ํ์ด์ผ ํ๋ ๊ฒ๊ณผ ๋์ผ
- ๋
๋ฆฝ์ ์ผ๋ก ํด๊ฒฐ โ ๊ฐ mega variable์์ ๋ณ์์ ๋ํ ํ ๋น์ด legalํ์ง ๊ฒ์ฌํ๋ค.
- Iterative Improvement
- local search๋ ๋ชจ๋ ๋ณ์๋ฅผ ํ ๋นํ๋ค.
- ์ถฉ์กฑ๋์ง ์์ ์ ์ฝ ์กฐ๊ฑด์ผ๋ก ํ ๋นํ๋ค.
- ๋ณ์ ๊ฐ์ ๋ค์ ํ ๋นํ๋ค. ๊ทธ edge์์ ๊ณ์ํด์ ๊ฐ์ ํ ๋นํ๋ค.
- ๋ณ์ ์ ํ์ ์ ์ฝ ์กฐ๊ฑด๊ณผ ์ถฉ๋ํ๋ ๋ณ์๋ฅผ ๋ฌด์์๋ก ํํ๋ค.
- ๊ฐ ์ ํ์ ์ถฉ๋์ด ๊ฐ์ฅ ์ ์ ํด๋ฆฌ์คํฑ ๋น์ฉ ํจ์๋ฅผ ํํ๋ค.
- ํน์ ๋ณ์ ํ ๋น ์ดํ ๋ค์ ์ถฉ๋์ด ์ผ์ด๋๋ฉด ๋ค์ ๊ทธ ๋ณ์์ ๊ฐ์ ํ ๋นํ๋ค.
- ์ผ๋ถ ์กฐ๊ฑด์์ ๋งค์ฐ ๊ฐ๋ ฅํ๊ณ ๋งค์ฐ ์๋๊ฐ ๋น ๋ฅธ ์๊ณ ๋ฆฌ์ฆ
- R = # constraints / # variables ํน์ ๋น์จ์ critical ratio ์กด์ฌ โ ๋๋ถ๋ถ์ ์ผ์์ CSP๋ critical ratio์ ์๋ค๋ ํ๊ณ
- Hill climbing
- state ํ์ ์ global maximum๊ณผ local maximum ๊ตฌ๋ณ์ ์ธ๋ถ์ ์ ๋ณด ์์ด ํ๋จ ๋ถ๊ฐ๋ฅ
- simulated annealing ์๊ณ ๋ฆฌ์ฆ์ ํตํด local maximum์์ ๋ฒ์ด๋ ์ ์๋ค.
- T๊ฐ ์ถฉ๋ถํ ์ฒ์ฒํ ๊ฐ์ํ๋ฉด optimal state๋ก ์๋ ดํ๋ ๊ฒ ๋ณด์ฅ๋๋ค.
- ์คํ ์๊ฐ์ด ์ถฉ๋ถํ ๊ธธ์ด์ง๋ฉด โ๋ ๋์โ ์ธ๋์์ ๋ ์ค๋ ๋จธ๋ฌด๋ฅด๋ ๊ฒ ์ํ์ ์ผ๋ก ๋ณด์ฅ๋๋ค(ํ์ค์ ์ผ๋ก๋ donwhill์ ๊ณ์ ๊ฐํ ์๋ ์์).
Review
- Arc consistency์ ๊ดํด ์ค์ฌ์ ์ผ๋ก ๊ณต๋ถํ๋ค. identification ๋ฌธ์ ์์ ๋๋ฉ์ธ์ ๊ฐ์ ์ ๊ฑฐํด failure์ ์กฐ๊ธฐ์ ๊ฐ์งํ๋ ์ฃผ์ํ ์๋ฆฌ๋ก์ Strong K-consistency๊น์ง ๊ฐ ๊ฒ ์์ด arc ์ ๋๋ง ํ๋๋ผ๋ backtracking๊ณผ ํจ๊ป ์์ฒญ๋ CSP์ ์ฐ์ฐ ๋น์ฉ์ ์ค์ด๋ ์ญํ ์ ๋งก๋๋ค.