chiark / gitweb /
strategy: new, wip
[topbloke-formulae.git] / strategy.tex
index 6f5de70..6fb4b4f 100644 (file)
@@ -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}