초기 값 제약
초기 값 제약
FD 변수의 초기 도메인을 설정하는 술어들을 설명해요.
본문
fd_domain/3, fd_domain_bool/1
Templates
fd_domain(+fd_variable_list_or_fd_variable, +integer, +integer)
fd_domain(?fd_variable, +integer, +integer)
fd_domain_bool(+fd_variable_list)
fd_domain_bool(?fd_variable)
Description
fd_domain(Vars, Lower, Upper)은 Vars의 각 요소 X를 Lower..Upper 안의 값을 취하도록 제약해요. 이 술어는 일반적으로 변수의 초기 도메인을 구간으로 설정하는 데 사용돼요. Vars는 단일 FD 변수(또는 단일 Prolog 변수)일 수도 있어요.
fd_domain_bool(Vars)는 fd_domain(Vars, 0, 1)과 동일하며 불리언 FD 변수를 선언하는 데 사용돼요.
Errors
- Vars가 변수가 아니지만 부분 리스트 —
instantiation_error - Vars가 변수도 FD 변수도 정수도 리스트도 아님 —
type_error(list, Vars) - Vars 리스트의 어떤 요소 E가 변수도 FD 변수도 정수도 아님 —
type_error(fd_variable, E) - Lower가 변수 —
instantiation_error - Lower가 변수도 정수도 아님 —
type_error(integer, Lower) - Upper가 변수 —
instantiation_error - Upper가 변수도 정수도 아님 —
type_error(integer, Upper)
Portability: GNU Prolog 술어.
fd_domain/2
Templates
fd_domain(+fd_variable_list, +integer_list)
fd_domain(?fd_variable, +integer_list)
Description
fd_domain(Vars, Values)은 리스트 Vars의 각 요소 X를 리스트 Values 안의 값을 취하도록 제약해요. 이 술어는 일반적으로 변수의 초기 도메인을 값 집합으로 설정하는 데 사용돼요. Vars의 각 변수의 도메인은 희소 표현을 사용해요. Vars는 단일 FD 변수(또는 단일 Prolog 변수)일 수도 있어요.
Errors
- Vars가 변수가 아니지만 부분 리스트 —
instantiation_error - Vars가 변수도 FD 변수도 정수도 리스트도 아님 —
type_error(list, Vars) - Vars 리스트의 어떤 요소 E가 변수도 FD 변수도 정수도 아님 —
type_error(fd_variable, E) - Values가 부분 리스트이거나 변수인 요소 E를 가진 리스트 —
instantiation_error - Values가 부분 리스트도 리스트도 아님 —
type_error(list, Values) - Values 리스트의 어떤 요소 E가 변수도 정수도 아님 —
type_error(integer, E)
Portability: GNU Prolog 술어.