Skip to content

Commit

Permalink
final pass through checklist
Browse files Browse the repository at this point in the history
  • Loading branch information
Jason2Brownlee committed Jan 25, 2011
1 parent 4a3a120 commit 431f811
Show file tree
Hide file tree
Showing 10 changed files with 20 additions and 24 deletions.
2 changes: 1 addition & 1 deletion book/a_evolution/differential_evolution.tex
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ \subsection{Procedure}
% I/O
\KwIn{\Membera, \Population, \NumParameters, \WeightingFactor, \CrossoverRate}
\KwOut{\Sample}
% Algorithm
% Algorithm
\Repeat{\Memberb $\neq$ \Membera}{\Memberb $\leftarrow$ \RandomMemeber{\Population}\;}
\Repeat{\Memberc $\neq$ \Membera $\vee$ \Memberc $\neq$ \Memberb}{\Memberc $\leftarrow$ \RandomMemeber{\Population}\;}
\Repeat{\Memberd $\neq$ \Membera $\vee$ \Memberd $\neq$ \Memberb $\vee$ \Memberd $\neq$ \Memberc}{\Memberd $\leftarrow$ \RandomMemeber{\Population}\;}
Expand Down
2 changes: 1 addition & 1 deletion book/a_evolution/evolution_strategies.tex
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ \subsection{Heuristics}
% What are the guidelines for the application of a technique to a problem instance?
\begin{itemize}
\item Evolution Strategies uses problem specific representations, such as real values for continuous function optimization.
\item The algorithm is commonly configured such that $1 < \mu < \lambda < \infty$.
\item The algorithm is commonly configured such that $1 \leq \mu \leq \lambda$.
\item The ratio of $\mu$ to $\lambda$ influences the amount of selection pressure (greediness) exerted by the algorithm.
\item A contemporary update to the algorithms notation includes a $\rho$ as $(\mu/\rho,\lambda)-ES$ that specifies the number of parents that will contribute to each new candidate solution using a recombination operator.
\item A classical rule used to govern the amount of mutation (standard deviation used in mutation for continuous function optimization) was the $\frac{1}{5}$-rule, where the ratio of successful mutations should be $\frac{1}{5}$ of all mutations. If it is greater the variance is increased, otherwise if the ratio is is less, the variance is decreased.
Expand Down
2 changes: 1 addition & 1 deletion book/a_neural/lvq.tex
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ \subsection{Heuristics}
\item There should be sufficient training iterations to expose all the training data to the model multiple times.
\item The learning rate is typically linearly decayed over the training period from an initial value to close to zero.
\item The more complex the class distribution, the more codebook vectors that will be required, some problems may need thousands.
\item Multiple passes of the LVQ training algorithm are suggested for more robust usage, where the first pass has a large learning rate to prepare the codebook vectors and the second pass has a low learning rate and runs for a long time (perhaps 10$\times$ more iterations).
\item Multiple passes of the LVQ training algorithm are suggested for more robust usage, where the first pass has a large learning rate to prepare the codebook vectors and the second pass has a low learning rate and runs for a long time (perhaps 10-times more iterations).
\end{itemize}

% The code description provides a minimal but functional version of the technique implemented with a programming language. The code description must be able to be typed into an appropriate computer, compiled or interpreted as need be, and provide a working execution of the technique. The technique implementation also includes a minimal problem instance to which it is applied, and both the problem and algorithm implementations are complete enough to demonstrate the techniques procedure. The description is presented as a programming source code listing.
Expand Down
2 changes: 1 addition & 1 deletion book/a_swarm/ant_colony_system.tex
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ \subsection{Taxonomy}
% To what fields of study does a technique belong?
The Ant Colony System algorithm is an example of an Ant Colony Optimization method from the field of Swarm Intelligence, Metaheuristics and Computational Intelligence.
% What are the closely related approaches to a technique?
Ant Colony System is an extension to the Ant System algorithm (Section~\ref{sec:ant_system}) and is related to other Ant Colony Optimization methods such as Elite Ant System, and Rank-based Ant System.
Ant Colony System is an extension to the Ant System algorithm and is related to other Ant Colony Optimization methods such as Elite Ant System, and Rank-based Ant System.

% Inspiration: Motivating system
% The inspiration describes the specific system or process that provoked the inception of the algorithm. The inspiring system may non-exclusively be natural, biological, physical, or social. The description of the inspiring system may include relevant domain specific theory, observation, nomenclature, and most important must include those salient attributes of the system that are somehow abstractly or conceptually manifest in the technique. The inspiration is described textually with citations and may include diagrams to highlight features and relationships within the inspiring system.
Expand Down
2 changes: 1 addition & 1 deletion book/a_swarm/ant_system.tex
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ \subsection{Taxonomy}
% To what fields of study does a technique belong?
The Ant System algorithm is an example of an Ant Colony Optimization method from the field of Swarm Intelligence, Metaheuristics and Computational Intelligence.
% What are the closely related approaches to a technique?
Ant System was originally the term used to refer to a range of Ant based algorithms, where the specific algorithm implementation was referred to as Ant Cycle. The so-called Ant Cycle algorithm is now canonically referred to as Ant System. The Ant System algorithm is the baseline Ant Colony Optimization method for popular extensions such as Elite Ant System, Rank-based Ant System, Max-Min Ant System, and Ant Colony System (Section~\ref{sec:ant_colony_system}).
Ant System was originally the term used to refer to a range of Ant based algorithms, where the specific algorithm implementation was referred to as Ant Cycle. The so-called Ant Cycle algorithm is now canonically referred to as Ant System. The Ant System algorithm is the baseline Ant Colony Optimization method for popular extensions such as Elite Ant System, Rank-based Ant System, Max-Min Ant System, and Ant Colony System.

% Inspiration: Motivating system
% The inspiration describes the specific system or process that provoked the inception of the algorithm. The inspiring system may non-exclusively be natural, biological, physical, or social. The description of the inspiring system may include relevant domain specific theory, observation, nomenclature, and most important must include those salient attributes of the system that are somehow abstractly or conceptually manifest in the technique. The inspiration is described textually with citations and may include diagrams to highlight features and relationships within the inspiring system.
Expand Down
2 changes: 1 addition & 1 deletion book/a_swarm/bees_algorithm.tex
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ \subsection{Taxonomy}
% To what fields of study does a technique belong?
The Bees Algorithm beings to Bee Inspired Algorithms and the field of Swarm Intelligence, and more broadly the fields of Computational Intelligence and Metaheuristics.
% What are the closely related approaches to a technique?
The Bees Algorithm is related to other Bee Inspired Algorithms, such as Bee Colony Optimization, and other Swarm Intelligence algorithms such as Ant Colony Optimization (Sections \ref{sec:ant_system} and \ref{sec:ant_colony_system}) and Particle Swarm Optimization (Section~\ref{sec:pso}).
The Bees Algorithm is related to other Bee Inspired Algorithms, such as Bee Colony Optimization, and other Swarm Intelligence algorithms such as Ant Colony Optimization and Particle Swarm Optimization.

% Inspiration: Motivating system
% The inspiration describes the specific system or process that provoked the inception of the algorithm. The inspiring system may non-exclusively be natural, biological, physical, or social. The description of the inspiring system may include relevant domain specific theory, observation, nomenclature, and most important must include those salient attributes of the system that are somehow abstractly or conceptually manifest in the technique. The inspiration is described textually with citations and may include diagrams to highlight features and relationships within the inspiring system.
Expand Down
21 changes: 8 additions & 13 deletions book/a_swarm/bfoa.tex
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ \subsection{Taxonomy}
The Bacterial Foraging Optimization Algorithm belongs to the field of Bacteria Optimization Algorithms and Swarm Optimization, and more broadly to the fields of Computational Intelligence and Metaheuristics.
% What are the closely related approaches to a technique?
It is related to other Bacteria Optimization Algorithms such as the Bacteria Chemotaxis Algorithm \cite{Muller2002}, and other Swarm Intelligence algorithms such as Ant Colony Optimization and Particle Swarm Optimization.
There have been many extensions of the approach that attempt to hybridize the algorithm with other Computational Intelligence algorithms and Metaheuristics such as Particle Swarm Optimization (Section~\ref{sec:pso}), Genetic Algorithm (Section~\ref{sec:genetic_algorithm}), and Tabu Search (Section~\ref{sec:tabu_search}).
There have been many extensions of the approach that attempt to hybridize the algorithm with other Computational Intelligence algorithms and Metaheuristics such as Particle Swarm Optimization, Genetic Algorithm, and Tabu Search.

% Inspiration: Motivating system
% The inspiration describes the specific system or process that provoked the inception of the algorithm. The inspiring system may non-exclusively be natural, biological, physical, or social. The description of the inspiring system may include relevant domain specific theory, observation, nomenclature, and most important must include those salient attributes of the system that are somehow abstractly or conceptually manifest in the technique. The inspiration is described textually with citations and may include diagrams to highlight features and relationships within the inspiring system.
Expand Down Expand Up @@ -114,35 +114,30 @@ \subsection{Procedure}
% Algorithm

\Population $\leftarrow$ \InitializePopulation{\NumCells, \ProblemSize}\;

\For{$l=0$ \KwTo \EliminationDispersalSteps}{

\For{$k=0$ \KwTo \ReproductionSteps}{

\For{$k=0$ \KwTo \ReproductionSteps}{
\For{$j=0$ \KwTo \ChemotaxisSteps}{
% perform chemotaxis and swim steps
\ChemotaxisAndSwim{\Population, \ProblemSize, \NumCells, \SwimSteps, \StepSize, \DA, \DW, \HR, \WR}\;
\ForEach{\Cell $\in$ \Population} {
\If{\Cost{\Cell} $\leq$ \Cost{\Best}} {
\Best $\leftarrow$ \Cell\;
}
}
\ChemotaxisAndSwim{\Population, \ProblemSize, \NumCells, \SwimSteps, \StepSize, \DA, \DW, \HR, \WR}\;
\ForEach{\Cell $\in$ \Population} {
\If{\Cost{\Cell} $\leq$ \Cost{\Best}} {
\Best $\leftarrow$ \Cell\;
}
}
}
% perform reproduction
\SortByCellHealth{\Population}\;
\Selected $\leftarrow$ \SelectByCellHealth{\Population, $\frac{\NumCells}{2}$}\;
\Population $\leftarrow$ \Selected\;
\Population $\leftarrow$ \Selected\;
}

% perform elimination and dispersal
\ForEach{\Cell $\in$ \Population} {
\If{\Rand{} $\leq$ \ProbElimination} {
\Cell $\leftarrow$ \CreateCellAtRandomLocation{}\;
}
}
}

\Return{\Best}\;
% end
\caption{Pseudocode for the BFOA.}
Expand Down
2 changes: 1 addition & 1 deletion book/a_swarm/pso.tex
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ \subsection{Taxonomy}
% To what fields of study does a technique belong?
Particle Swarm Optimization belongs to the field of Swarm Intelligence and Collective Intelligence and is a sub-field of Computational Intelligence.
% What are the closely related approaches to a technique?
Particle Swarm Optimization is related to other Swarm Intelligence algorithms such as Ant Colony Optimization (Sections \ref{sec:ant_system} and \ref{sec:ant_colony_system}) and it is a baseline algorithm for many variations, too numerous to list.
Particle Swarm Optimization is related to other Swarm Intelligence algorithms such as Ant Colony Optimization and it is a baseline algorithm for many variations, too numerous to list.

% Inspiration: Motivating system
% The inspiration describes the specific system or process that provoked the inception of the algorithm. The inspiring system may non-exclusively be natural, biological, physical, or social. The description of the inspiring system may include relevant domain specific theory, observation, nomenclature, and most important must include those salient attributes of the system that are somehow abstractly or conceptually manifest in the technique. The inspiration is described textually with citations and may include diagrams to highlight features and relationships within the inspiring system.
Expand Down
2 changes: 1 addition & 1 deletion book/c_advanced/testing_algorithms.tex
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ \subsubsection{Unit Tests}

\begin{itemize}
\item \emph{Deterministic}: Directly test the function in question, addressing questions such as: does \texttt{onemax} add correctly? and does \texttt{point\_mutation} behave correctly?
\item \emph{Probabilistic}: Test the probabilistic properties of the function in question, addressing questions such as: does \texttt{random\_bitstring} provide an expected 50/50 mixture of $1$s and $0$s over a large number of cases? and does \texttt{point\_mutation} make an expected number of changes over a large number of cases?
\item \emph{Probabilistic}: Test the probabilistic properties of the function in question, addressing questions such as: does \texttt{random\_bitstring} provide an expected 50/50 mixture of 1s and 0s over a large number of cases? and does \texttt{point\_mutation} make an expected number of changes over a large number of cases?
\end{itemize}

The tests for probabilistic expectations is a weaker form of unit testing that can be used to either provide additional confidence to deterministically tested functions, or to be used as a last resort when direct methods cannot be used.
Expand Down
7 changes: 4 additions & 3 deletions web/generate.rb
Original file line number Diff line number Diff line change
Expand Up @@ -822,9 +822,10 @@ def process_pseudocode(lines, caption=nil)
i, j = (sub.index("{")+1), sub.rindex("}")
p2 = sub[i...j]
line = ""
add_line(line, "#{depth}#{pseudocode_keyword("Repeat")}<br />")
add_line(line, "#{depth}\t#{pseudocode_keyword(p2)}\\;<br />")
add_line(line, "#{depth}#{pseudocode_keyword("Until")} #{pseudocode_keyword(p1)}\\;")
# only used in DE!
add_line(line, "\t#{pseudocode_keyword("Repeat")}<br />")
add_line(line, "\t#{pseudocode_keyword(p2)}\\;<br />")
add_line(line, "#{pseudocode_keyword("Until")} #{pseudocode_keyword(p1)}\\;")
end
# for
if starts_with?(line.strip, "\\For")
Expand Down

0 comments on commit 431f811

Please sign in to comment.