Forbidden parameter combination (source code)

= Forbidden parameter combination

A <forbidden parameter combination> is an assignment excluded from an <algorithm parameter space> by an explicit validity rule. Each individual value may be allowed, while their joint use is not. The ConfigSpace guide implements this distinction using forbidden clauses and their conjunctions.<ConfigSpace User Guide>[3rd Example: Forbidden clauses; ForbiddenAndConjunction]{ref}

For an original counting example, let mode $s\in\{A,B\}$, cache $c\in\{\mathrm{off},\mathrm{on}\}$ and worker count $w\in\{1,2\}$. There are initially eight assignments. Suppose the rules forbid both $s=A,c=\mathrm{on}$ and $c=\mathrm{on},w=2$. Each rule excludes two assignments, but they overlap on one:
$$
|\Theta_{\rm valid}|=8-(2+2-1)=5.
$$
Subtracting four without accounting for the overlap would reject an assignment twice. The count can also be checked directly: all four cache-off assignments are valid, and only $(B,\mathrm{on},1)$ survives with the cache on.

This differs from a <conditional algorithm parameter>. A condition says whether a setting is active; a forbidden rule says that an otherwise represented combination is inadmissible. An inactive setting can be irrelevant without making the parent configuration invalid.

Validity is also distinct from the <objective function>. A slow valid run has a measured performance cost; a forbidden combination lies outside the declared search domain. Giving every invalid combination an arbitrary large cost changes the mathematical model and can waste evaluations or accidentally make an invalid result appear competitive. Check the validity rule before treating a proposed configuration as an experiment.