$darkmode
DENOPTIM
CounterID.java
Go to the documentation of this file.
1/*
2 * DENOPTIM
3 * Copyright (C) 2022 Marco Foscato <marco.foscato@uib.no>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Affero General Public License as published
7 * by the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Affero General Public License for more details.
14 *
15 * You should have received a copy of the GNU Affero General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19package denoptim.logging;
20
21import denoptim.utils.MutationType;
22
28public enum CounterID
29{
30 //GENERATEDGRAPHS,
32
41
67
74
78
84
85 FITNESSEVALS, FAILEDFITNESSEVALS,
86
89
90 private String description = "";
91
92 static {
93 //GENERATEDGRAPHS.description = "Graphs generated";
94
95 NEWCANDIDATEATTEMPTS.description = "Attempts to generate a new "
96 + "candidate";
97
98 XOVERATTEMPTS.description = "Attempts to build graph by crossover";
99 FAILEDXOVERATTEMPTS.description = "Failed attempts to do build a graph "
100 + "by crossover";
101 XOVERPARENTSEARCH.description = "Attempts to find a pairs of parents "
102 + "compatible with crossover";
103 FAILEDXOVERATTEMPTS_FINDPARENTS.description = "Failed attemtps to find "
104 + "crossover partners";
105 FAILEDXOVERATTEMPTS_PERFORM.description = "Failed crossover operations "
106 + "on compatible parents";
107 FAILEDXOVERATTEMPTS_SETUPRINGS.description = "Failed attempts to setup "
108 + "rings in a crossover offspring";
109 FAILEDXOVERATTEMPTS_EVAL.description = "Failed attempt to pass graph "
110 + "evaluation test from crossover offspring";
111 FAILEDXOVERATTEMPTS_FORBENDS.description = "Crossover offsprings that "
112 + "let to forbidden ends";
113
114 MUTATTEMPTS.description = "Attempts to do build graph by mutation";
115 FAILEDMUTATTEMTS.description = "Failed attempts to do build a graph "
116 + "by Mutation";
117 MUTPARENTSEARCH.description = "Attempts to find a parent that supports "
118 + " mutation";
119 FAILEDMUTATTEMTS_PERFORM.description = "Failed mutation operation of "
120 + "parent "
121 + "that supports mutation";
122 FAILEDMUTATTEMTS_PERFORM_NOMUTSITE.description = "Mutation cannot be "
123 + "done because graph declares no mutation site";
124 FAILEDMUTATTEMTS_PERFORM_NOOWNER.description = "Mutation cannot take "
125 + "place on a vertex that has no owner";
126 FAILEDMUTATTEMTS_PERFORM_BADMUTTYPE.description = "Mutation type is "
127 + "not availaable on the requested vertex";
128 FAILEDMUTATTEMTS_PERFORM_NOCHANGEBRANCH.description = "Mutation did "
129 + "not replace the branch of a graph";
130 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK.description = "Mutation did not "
131 + "replace a vertex in a chain";
132 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_FIND.description = "Failed to "
133 + "find an alternative link vertex";
134 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_EDIT.description = "Failed to "
135 + "replace old link with new one";
136 FAILEDMUTATTEMTS_PERFORM_NODELLINK_FINDPARENT.description = "Failed to "
137 + "identify the parent of a link selected for removal.";
138 FAILEDMUTATTEMTS_PERFORM_NODELLINK_EDIT.description = "Failed to "
139 + "remove vertex and weld remaining parts";
140 FAILEDMUTATTEMTS_PERFORM_NODELETECHAIN.description = "Failed to "
141 + "remove a chain of vertexes";
142 FAILEDMUTATTEMTS_PERFORM_NOADDLINK.description = "Mutation did not "
143 + "introduce a verted between a pairs of previously "
144 + "connected vertexes";
145 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_FIND.description = "Failed to "
146 + "find an linking vertex";
147 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_EDIT.description = "Failed to "
148 + "replace edge with with new vertex and edges";
149 FAILEDMUTATTEMTS_PERFORM_NOEXTEND.description = "Mutation did not "
150 + "extend the graph";
151 FAILEDMUTATTEMTS_PERFORM_NOADDRING.description = "Mutation did not "
152 + "close a ring in the graph";
153 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NOFREEAP.description = "Rings could"
154 + "not be closed by " + MutationType.ADDRING + " because of "
155 + "no free AP on selected mutation site";
156 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NORINGCOMB.description = "Rings "
157 + "could not be closed by " + MutationType.ADDRING + " because "
158 + "no combination of rings could be fine involving the chosen "
159 + "mutation site";
160 FAILEDMUTATTEMTS_PERFORM_NODELETE.description = "Mutation did not "
161 + "delete vertex";
162 FAILEDMUTATTEMTS_SETUPRINGS.description = "Failed attempts to setup "
163 + "rings "
164 + "in a mutated offspring";
165 FAILEDMUTATTEMTS_EVAL.description = "Failed attempt to pass graph "
166 + "evaluation test from mutated offspring";
167 FAILEDMUTATTEMTS_FORBENDS.description = "Mutated offsprings that led "
168 + "to forbidden ends";
169
170 BUILDANEWATTEMPTS.description = "Attempts to do build graph from "
171 + "scratch";
172 FAILEDBUILDATTEMPTS.description = "Failed attempts to do build a graph "
173 + "from scratch";
174 FAILEDBUILDATTEMPTS_GRAPHBUILD.description = "Failed attempts to "
175 + "generate a graph";
176 FAILEDBUILDATTEMPTS_EVAL.description = "Failed attempts to pass graph "
177 + "evaluation test from newly built graphs";
178 FAILEDBUILDATTEMPTS_SETUPRINGS.description = "Failed attempt to setup "
179 + "rings in a newly generated graph";
180 FAILEDBUILDATTEMPTS_FORBIDENDS.description = "Construction of new "
181 + "graphs that led to forbidden ends";
182
183 MANUALADDATTEMPTS.description = "Number of attempts to provide a "
184 + "manually built candidate";
185 FAILEDMANUALADDATTEMPTS.description = "Failed attempts to import "
186 + "a manually built cadidate";
187 FAILEDMANUALADDATTEMPTS_EVAL.description = "Failed attempts to pass "
188 + "graph evaluation test from manually added candidates";
189
190 CONVERTBYFRAGATTEMPTS.description = "Number of attempts to import a "
191 + "candidate by converting a given molecule into a graph";
192 FAILEDCONVERTBYFRAGATTEMPTS.description = "Failed attempts to import "
193 + "a cadidate by converting a given molecule into a graph";
194 FAILEDCONVERTBYFRAGATTEMPTS_FRAGMENTATION.description = "Failed "
195 + "attempts to do fragmentation while generating a candidate "
196 + "by conversion of molecules to graphs";
197 FAILEDCONVERTBYFRAGATTEMPTS_EVAL.description = "Failed attempts to "
198 + "pass graph evaluation test from candidates imported from "
199 + "conversion of molecules to graphs";
200 FAILEDCONVERTBYFRAGATTEMPTS_TMPLEMBEDDING.description = "Failed "
201 + "attempts to "
202 + "embedd patterns in templates while generating candidates "
203 + "by conversion of molecules to graphs";
204
205 FITNESSEVALS.description = "Number of fitness evaluations";
206 FAILEDFITNESSEVALS.description = "Number of failed fitness evaluations";
207
208 DUPLICATEPREFITNESS.description = "Number of duplicate candidates "
209 + " detected prior to considering their fitness evaluation";
210 FAILEDDUPLICATEPREFITNESSDETECTION.description = "Number of failed "
211 + "attempts to compare UID with known UIDs prior to considering "
212 + "the fitness evaluation of a candidate";
213 }
214
215 private String prettyName = "";
216
217 static {
218 NEWCANDIDATEATTEMPTS.prettyName =
219 "#Attempts New Candidate";
220
221 XOVERATTEMPTS.prettyName =
222 "#Xover";
223 XOVERPARENTSEARCH.prettyName =
224 "#Xover Parents Search";
225 FAILEDXOVERATTEMPTS.prettyName =
226 "#Failed Xovers";
227 FAILEDXOVERATTEMPTS_FINDPARENTS.prettyName =
228 "#Failed Xovers_Find Parents";
229 FAILEDXOVERATTEMPTS_PERFORM.prettyName =
230 "#Failed Xovers_Perform";
231 FAILEDXOVERATTEMPTS_SETUPRINGS.prettyName =
232 "#Failed Xovers_Setup Rings";
233 FAILEDXOVERATTEMPTS_EVAL.prettyName =
234 "#Failed Xovers_Graph Filter";
235 FAILEDXOVERATTEMPTS_FORBENDS.prettyName =
236 "#Failed Xovers_Forbidden Ends";
237
238 MUTATTEMPTS.prettyName =
239 "#Mutation";
240 MUTPARENTSEARCH.prettyName =
241 "#Mutation Parent Search";
242 FAILEDMUTATTEMTS.prettyName =
243 "#Failed Mutation";
244 FAILEDMUTATTEMTS_PERFORM.prettyName =
245 "#Failed Mut_Perform";
246 FAILEDMUTATTEMTS_PERFORM_NOMUTSITE.prettyName =
247 "#Failed Mut_noMutSite";
248 FAILEDMUTATTEMTS_PERFORM_NOOWNER.prettyName =
249 "#Failed Mut_noOwner";
250 FAILEDMUTATTEMTS_PERFORM_BADMUTTYPE.prettyName =
251 "#Failed Mut_bad Mut Type";
252 FAILEDMUTATTEMTS_PERFORM_NOCHANGEBRANCH.prettyName =
253 "#Failed Mut Change Branch";
254 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK.prettyName =
255 "#Failed Mut Change Link";
256 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_FIND.prettyName =
257 "#Failed Mut Change Link_Find";
258 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_EDIT.prettyName =
259 "#Failed Mut Change Link_Edit";
260 FAILEDMUTATTEMTS_PERFORM_NODELLINK_FINDPARENT.prettyName =
261 "#Failed Mut Delete Link_Find Parent";
262 FAILEDMUTATTEMTS_PERFORM_NODELLINK_EDIT.prettyName =
263 "#Failed Mut Delete Link_Edit";
264 FAILEDMUTATTEMTS_PERFORM_NODELETECHAIN.prettyName =
265 "#Failed Mut Delete Chain";
266 FAILEDMUTATTEMTS_PERFORM_NOADDLINK.prettyName =
267 "#Failed Mut Add Link";
268 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_FIND.prettyName =
269 "#Failed Mut Add Link_Find";
270 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_EDIT.prettyName =
271 "#Failed Mut Add Link_Edit";
272 FAILEDMUTATTEMTS_PERFORM_NOEXTEND.prettyName =
273 "#Failed Mut Extend";
274 FAILEDMUTATTEMTS_PERFORM_NOADDRING.prettyName =
275 "#Failed Mut AddRing";
276 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NOFREEAP.prettyName =
277 "#Failed Mut AddRing BusyAPs";
278 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NORINGCOMB.prettyName =
279 "#Failed Mut AddRing Unclosable";
280 FAILEDMUTATTEMTS_PERFORM_NODELETE.prettyName =
281 "#Failed Mut Delete";
282 FAILEDMUTATTEMTS_SETUPRINGS.prettyName =
283 "#Failed Mut_Setup Rings";
284 FAILEDMUTATTEMTS_EVAL.prettyName =
285 "#Failed Mut_Graph Filter";
286 FAILEDMUTATTEMTS_FORBENDS.prettyName =
287 "#Failed Mut_Forbidden Ends";
288
289 BUILDANEWATTEMPTS.prettyName =
290 "#Build Anew";
291 FAILEDBUILDATTEMPTS.prettyName =
292 "#Failed Build Anew";
293 FAILEDBUILDATTEMPTS_GRAPHBUILD.prettyName =
294 "#FailedBuild_GraphBuild";
295 FAILEDBUILDATTEMPTS_EVAL.prettyName =
296 "#FailedBuild_Graph Filter";
297 FAILEDBUILDATTEMPTS_SETUPRINGS.prettyName =
298 "#FailedBuild_Setup Rings";
299 FAILEDBUILDATTEMPTS_FORBIDENDS.prettyName =
300 "#FailedBuild_Forbidden Ends";
301
302 MANUALADDATTEMPTS.prettyName =
303 "#Manual Add";
304 FAILEDMANUALADDATTEMPTS.prettyName =
305 "#Failed Manual Add";
306 FAILEDMANUALADDATTEMPTS_EVAL.prettyName =
307 "#Failed Manual Add_Eval";
308
309 CONVERTBYFRAGATTEMPTS.prettyName =
310 "#MolToGraph Add";
311 FAILEDCONVERTBYFRAGATTEMPTS.prettyName =
312 "#Failed MolToGraph Add";
313 FAILEDCONVERTBYFRAGATTEMPTS_FRAGMENTATION.prettyName =
314 "#Failed MolToGraph Add_Frag";
315 FAILEDCONVERTBYFRAGATTEMPTS_EVAL.prettyName =
316 "#Failed MolToGraph Add_Eval";
317 FAILEDCONVERTBYFRAGATTEMPTS_TMPLEMBEDDING.prettyName =
318 "#Failed MolToGraph Add_TmplEmbed";
319
320 FITNESSEVALS.prettyName =
321 "#Fitness";
322 FAILEDFITNESSEVALS.prettyName =
323 "#Fitness_Failed Fitness Eval.";
324
325 DUPLICATEPREFITNESS.prettyName =
326 "#Duplicates Pre-Fitness";
327 FAILEDDUPLICATEPREFITNESSDETECTION.prettyName =
328 "#Failed Duplicate Pre-Fitness Detection";
329 }
330
331//------------------------------------------------------------------------------
332
337 public String getDescription()
338 {
339 return description;
340 }
341
342//------------------------------------------------------------------------------
343
349 public String getPrettyName()
350 {
351 return prettyName;
352 }
353
354//------------------------------------------------------------------------------
355
356}
Identifier of a counter.
Definition: CounterID.java:29
String getPrettyName()
Returns a string representing the mane of this counter in a way that is pretty enough to be shown in ...
Definition: CounterID.java:349