인공지능

인공지능 제약조건 만족 문제

코코팡 2021. 9. 29. 18:11

제약조건 만족 문제

제약조건 만족을 하기 위한 방법은 총 두 가지가 있는데 백 트랙킹 방식과 제약 조거 건 전파 방식이 있다.

우선 이 두 가지를 설명하기 위해서 4-퀸(queen) 문제로 예시를 들어보겠다.

 

1. 백 트랙킹 탐색

백 트랙킹 탐색은 깊이 우선 탐색을 하는 것처럼 변수에 허용되는 값을 하나씩 대입하며 만족하는 값이 없으면 이전 단계에 돌아가 그 이전 단계의 변수에 다른 값을 대입하는 탐색 방식이다.

우선  이런 4x4의 게임판이 있다고 했을 때 A, B, C, D순서로 퀸을 놓을 수 있다 하였을 때 우선 A-0자리에 퀸을 놓았을 때 발생하는 이벤트는 총 네 가지이다.

하지만 여기서 2가지는 서로 퀸의 범위가 겹치기에 허용이 안되며 3번째 경우는 만족하기에 계속 탐색을 하다 보면

 

이 처럼 모든 탐색이 만족하지 않으므로 다시 맨 처음 노드로 돌아가 새로운 노드를 만든다.

하지만 새로운 노드마저도 결과적으론 게임의 승리를 하지 못하는 경우밖에 없기에 처음 루트 노드의 퀸의 위치를 바꿔 다시 탐색을 해보면

이런 식으로 탐색을 하는 것이 백 트랙킹 탐색 방식이다.

 

2. 제약조건 전파

제약조건 전파 방식은 특정 제약조건에 따라 각 변수에 허용될 수 없는 값들을 제거하는 방식이다.

위의 그림처럼 각자 놓을 수 있는 숫자를 나타내 주고 만약에 A가 1번에 위치에 퀸을 놓는다면

허용될 수 없는 위치들을 제거를 하면 이를 순차적으로 계속 진행하다 보면

결국 C에 놓을 수 없기에 다시 이전 단계로 돌아가 다시 탐색하게 된다. 

 

'인공지능' 카테고리의 다른 글

지식표현과 추론  (0) 2021.10.13
인공지능 최적화  (0) 2021.10.11
인공지능 게임에서의 탐색  (0) 2021.09.29
인공지능 정보이용 탐색  (0) 2021.09.24
인공지능 탐색과 최적화  (0) 2021.09.20