Added information about the scaling factors of each method
This commit is contained in:
parent
8df54fcbf8
commit
bb145bcee4
@ -48,10 +48,13 @@
|
||||
\label{fig:plot1}
|
||||
\end{figure}
|
||||
\par
|
||||
Both algorithms appear to scale linearly with the number of words (after words of length 2), and the genetic algorithm consistently requires many more time steps (approximately an order of magnitude) than the hill climbing algorithm to find the words. The reason for the spike in the genetic algorithm for words of length 2, as well as the overall relative performance of the algorithm, may be one of the central tenants of the genetic algorithm; to replicate and propagate the correct/desirable features of solutions at each step, to solutions in the proceeding steps. For each iteration of solutions, this means favouring the reoccurrence of correct letters in the following iteration's solutions. This becomes problematic for generating words, as they are typically short (compared to the alphabet size) and do not often contain a high number of repeating letters.
|
||||
Both algorithms appear to scale linearly with the number of words (after words of length 2), with the genetic algorithm consistently requiring many more time steps than the hill climbing algorithm to generate correct words. After fitting each set of data to a linear model, the hill climbing algorithm exhibits a scaling factor (gradient) of 5.57, and the genetic algorithm has a scaling factor of 31.6 (time steps per additional letter). The genetic algorithm appears to scale at approximately 6 times the rate of the hill climbing algorithm.
|
||||
\\
|
||||
\par
|
||||
The reason for the spike in the genetic algorithm for words of length 2, as well as the overall relative performance of the algorithm, may be one of the central tenants of the genetic algorithm; to replicate and propagate the correct/desirable features of solutions at each step, to solutions in the proceeding steps. For each iteration of solutions, this means favouring the reoccurrence of correct letters in the following iteration's solutions. This becomes problematic for generating words, as they are typically short (compared to the alphabet size) and do not often contain a high number of repeating letters.
|
||||
\\
|
||||
\par
|
||||
In order to assess the \textit{rate} at which each method correctly finds a word, the fitness (percentage of correct letters) of the hill climbing algorithm (Figure \ref{fig:fitness1}) and the genetic algorithm (Figure \ref{fig:fitness2}) were recorded at every iteration for a four letter word. These plots indicate that for a four letter word, the fitness increases much faster (takes less iterations) for the hill climbing algorithm than the genetic algorithm. Figure \ref{fig:fitness2} exhibits a linear growth, while Figure \ref{fig:fitness1} presents a much steeper linear (near super linear) growth before finding the correct word. This may also be due to the aforementioned property of the genetic algorithm disagreeing with the formulation of many words; the encouragement of repetitive patterns/letters.
|
||||
In order to further explore the \textit{rate} at which each method correctly finds a word, the fitness (percentage of correct letters) of the hill climbing algorithm (Figure \ref{fig:fitness1}) and the genetic algorithm (Figure \ref{fig:fitness2}) were recorded at every iteration for a four letter word. These plots indicate that for a four letter word, the fitness increases much faster (takes less iterations) for the hill climbing algorithm than the genetic algorithm. Figure \ref{fig:fitness2} exhibits a linear growth, while Figure \ref{fig:fitness1} presents a much steeper linear (near super linear) growth before finding the correct word. This may also be due to the aforementioned property of the genetic algorithm disagreeing with the formulation of many words; the encouragement of repetitive patterns/letters.
|
||||
\\
|
||||
\begin{figure}[H]
|
||||
\includegraphics[scale=0.55]{chart-1}
|
||||
|
Reference in New Issue
Block a user