Searchers and Optimisers

Haskell commentary on the implementation of Tractable and Practicable Inducers/Searchers and Optimisers

The searchers and optimisers defined in the practicable inducers below are discussed in appendix ‘Search and optimisation’ P1139. Searchers, $\mathrm{searchers}(\mathcal{X})$, encapsulate partial or complete traversal of some search set by neighbourhood. There are two sub-types of searcher, (i) tree searchers and (ii) list searchers. Both types have (i) some set $X \subset \mathcal{X}$ to search, (ii) an initial subset of the search set $R \subseteq X$, and (iii) a total neighbourhood function $N$ on the search set. Tree searchers have a total neighbourhood function having a domain equal to the search set and a range of subsets of the search set, $N \in X :\to \mathrm{P}(X)$. List searchers have a neighbourhood function having a domain equal to the powerset of the search set and a range of subsets of the search set, $P \in \mathrm{P}(X) :\to \mathrm{P}(X)$. Both types generate a searched set $\mathrm{elements}(Z) \subseteq X$ where $Z \in \mathrm{searchers}(X)$.

The set of optimisers is a subset of searchers, $\mathrm{optimisers}(\mathcal{X}) \subset \mathrm{searchers}(\mathcal{X})$, which constrain the application of the neighbourhood function, $N$, by post-applying an inclusion function $I \in \mathrm{P}(X) :\to \mathrm{P}(X)$.

The maximisers is a subset of the optimisers, $\mathrm{maximisers}(\mathcal{X}) \subset \mathrm{optimisers}(\mathcal{X} \times \mathbf{R})$, which constrain the search set to real-valued functions. Examples of maximiser inclusion functions are $I =\mathrm{max}$ and $I = \mathrm{top}(n)$.


top