X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke-formulae.git;a=blobdiff_plain;f=strategy.tex;h=6fb4b4f9d2b72837ccfc8b602c7696cb93c74fd6;hp=6f5de7038e64135ad22fb27456dd552e6df10eed;hb=bb9635f169e0014d28a8ba992e5ab285b1ff16ea;hpb=eacdc5333e25e51df71366d5a55ae8a6b0c5eb86 diff --git a/strategy.tex b/strategy.tex index 6f5de70..6fb4b4f 100644 --- a/strategy.tex +++ b/strategy.tex @@ -86,13 +86,32 @@ dependencies to use. This allows the specification of any desired \section{Ranking phase} -We start with $\allpatches = \{ \}$. We repeat -{\bf Rank-Recurse}($\pc_0$) until $\allpatches$ is unchanged. +We run the following algorithm: +\begin{enumerate} +\item Set $\allpatches = \{ \}$. +\item Repeatedly: +\begin{enumerate} +\item Clear out the graph $\hasdirdep$ so it has neither nodes nor edges. +\item Execute {\bf Rank-Recurse}($\pc_0$) +\item Until $\allpatches$ remains unchanged. +\end{enumerate} +\end{enumerate} {\bf Rank-Recurse}($\pc$) is: \begin{enumerate} -\item foo -\item bar +\item Add $\pc$ to $\allpatches$ if it is not there already. +\item Let $\set S_{\pcn} = h(\pcn) + \cup + \bigcup_{\p \in \allpatches} + \bigcup_{H \in h(\pn) \lor H \in h(\py)} + \{ \baseof{E} \; | \; E \in \pendsof{H}{\pcy} \} $ + +and $W = w(h(\pcn))$ + +We write $\set S = \set S_{\pcn}$ where unambiguous. +\item While $\exists_{S \in \set S} S \ge W$: + +Update $W \assign S$ and $\set S \assign \set S \, \backslash \{ S \}$ \end{enumerate} \section{Planning phase}