Skip to content

Commit aec96fd

Browse files
committed
documentation update
1 parent 9e2723f commit aec96fd

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/main/java/org/cicirello/experiments/cyclemutation/CycleMutationExperimental.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import java.util.concurrent.ThreadLocalRandom;
2525

2626
/**
27-
* <p>This class implements cycle(&alpha;) mutation on permutations, where one mutation
27+
* <p>This class implements the Cycle(&alpha;) form of cycle mutation on permutations, where one mutation
2828
* generates a random permutation cycle. Given the original parent permutation and
2929
* its mutant, a permutation cycle can be defined as follows. Imagine a graph with
3030
* n vertexes, where n is the permutation length. Now consider that for each index
@@ -40,7 +40,7 @@
4040
* hypothetical graph described above, there would be edges from 1 to 4, 4 to 3, and 3 to 1,
4141
* a cycle of length 3.</p>
4242
*
43-
* <p>The cycle(&alpha;) version of cycle mutation chooses the cycle size randomly from {2, 3, ..., n} where
43+
* <p>The Cycle(&alpha;) version of cycle mutation chooses the cycle size randomly from {2, 3, ..., n} where
4444
* cycle length k is chosen with probability proportional to &alpha;<sup>k-2</sup>. It then generates
4545
* a random permutation cycle of length k. The combination of k elements is chosen uniformly at
4646
* random from all possible combinations
@@ -52,7 +52,14 @@
5252
* are given significantly higher probability.
5353
* The average case runtime of a single call to the
5454
* {@link #mutate(Permutation) mutate} method is O(min(n, ((2-&alpha;)/(1-&alpha;))<sup>2</sup>)).
55-
* Calls where the random cycle length is small (e.g., 2 or 3) will run in constant time.</p>
55+
* Thus, provided &alpha; is not close to 1, the average runtime is a constant depending upon
56+
* the value of &alpha;.</p>
57+
*
58+
* <p>Cycle mutation in both of its forms, including Cycle(&alpha;), was introduced in the following article:</p>
59+
*
60+
* <p>Vincent A. Cicirello. 2022. Cycle Mutation: Evolving Permutations via Cycle Induction.
61+
* <i>Applied Sciences</i>, 12, 11, Article 5506 (May 2022).
62+
* <a href="https://doi.org/10.3390/app12115506">https://doi.org/10.3390/app12115506</a></p>
5663
*
5764
* @author <a href=https://www.cicirello.org/ target=_top>Vincent A. Cicirello</a>,
5865
* <a href=https://www.cicirello.org/ target=_top>https://www.cicirello.org/</a>

0 commit comments

Comments
 (0)