1. Constraint Satisfaction Problem
 - Variable과 Domain 사이의 제약조건을 통해 미리 Variable에 대한 Domain을 제한하여 수행 속도를 올리는 방법

2. Map-Coloring Problem

 - 위처럼 나눠져 있는 지도에서 3개의 색으로 인접한 구역의 색과 겹치지 않도록 칠하는 방법이 있는지를 구하는 문제
 - Constraint graph를 통해 인접하는 구역을 표현할 수 있고, 해당 그래프를 이용해 색칠 하는 것이 가능

3. Varieties of Constraints
 - Variable의 수에 따라 분류 가능
 - Unary constraints : 하나의 변수를 특정 도메인으로 제약하는 Constraint
 - Binary constraints : 두개의 변수로 제약하는 Constraint
 - higher-order constraints : 3개 이상의 변수로 제약하는 Constraint

4. Cryptarithmetic

       T W O
    + T W O
    -----------
     F O U R
 - 같은 문자의 경우 같은 숫자이며 해당 연산 결과와 맞는 경우가 있는지 찾는 문제
 - Constraint를 정의하여 문제 풀이 가능

5. Real-world CSPs
 - Assignment Problems : 누가 어떤 과목을 강의 할지
 - Timetabling problems : 어떤 class를 언제 어디서 강의 할지
 - Transportation scheduling : 배송을 효율적으로 하는 방법

6. Backtracking search
 - 가능한 경우의 수를 모두 해보는 방식으로 graph에서 dfs방식으로 탐색.
 - 모든 경우의 수를 탐색하므로 정확한 결과를 얻을 수 있지만 필요 없는 계산이 너무 많음.(Cost가 높다)

7. Most constrained variable
 - 가장 단순한 방법으로 가능한 경우의 수 중 가장 빠른 것 부터 적용하는 방법

8. Most constraining variable
 - 가장 많은 연관성(제약)을 가진 곳부터 Domain을 할당하는 방식

9. Least constraining value
 - Domain 중 영향을 가장 적게 주는 value를 선택하는 방식.

10. Forward checking
 - 특정 variable의 value를 정해주고 난 뒤, constraint에 의해 value가 선택되지 않은 variable의 domain이 바뀌게 되는데,
   바뀔 때 마다 Domain을 바꿔 주어서 연산을 줄이는 방식

11. Arc consistency
 - 특정 Variable의 value가 정해졌을 때, constraint에 의해 value가 선택되지 않았을 경우 variable의 domain이 바뀌게 되고,
   해당 Domain의 남은 수가 1개일 경우 해당 value만 가능하므로 이 value를 선택했을 경우를 가정해 다시 Domain을 계속 줄여나가는 방식
 - AC-3 알고리즘이라고 불린다.




'AI' 카테고리의 다른 글

[AI] Semantic Web  (0) 2017.06.07
[AI] Knowledge Representation  (0) 2017.06.07
[AI] Game Playing  (0) 2017.04.17
[AI] Genetic Algorithm  (0) 2017.04.17
[AI]3장 Heuristic Search Tech.  (0) 2017.04.13

+ Recent posts