$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
71
78
82
88
89 FITNESSEVALS, FAILEDFITNESSEVALS,
90
93
94 private String description = "";
95
96 static {
97 //GENERATEDGRAPHS.description = "Graphs generated";
98
99 NEWCANDIDATEATTEMPTS.description = "Attempts to generate a new "
100 + "candidate";
101
102 XOVERATTEMPTS.description = "Attempts to build graph by crossover";
103 FAILEDXOVERATTEMPTS.description = "Failed attempts to do build a graph "
104 + "by crossover";
105 XOVERPARENTSEARCH.description = "Attempts to find a pairs of parents "
106 + "compatible with crossover";
107 FAILEDXOVERATTEMPTS_FINDPARENTS.description = "Failed attemtps to find "
108 + "crossover partners";
109 FAILEDXOVERATTEMPTS_PERFORM.description = "Failed crossover operations "
110 + "on compatible parents";
111 FAILEDXOVERATTEMPTS_SETUPRINGS.description = "Failed attempts to setup "
112 + "rings in a crossover offspring";
113 FAILEDXOVERATTEMPTS_EVAL.description = "Failed attempt to pass graph "
114 + "evaluation test from crossover offspring";
115 FAILEDXOVERATTEMPTS_FORBENDS.description = "Crossover offsprings that "
116 + "let to forbidden ends";
117
118 MUTATTEMPTS.description = "Attempts to do build graph by mutation";
119 FAILEDMUTATTEMTS.description = "Failed attempts to do build a graph "
120 + "by Mutation";
121 MUTPARENTSEARCH.description = "Attempts to find a parent that supports "
122 + " mutation";
123 FAILEDMUTATTEMTS_PERFORM.description = "Failed mutation operation of "
124 + "parent "
125 + "that supports mutation";
126 FAILEDMUTATTEMTS_PERFORM_NOMUTSITE.description = "Mutation cannot be "
127 + "done because graph declares no mutation site";
128 FAILEDMUTATTEMTS_PERFORM_NOOWNER.description = "Mutation cannot take "
129 + "place on a vertex that has no owner";
130 FAILEDMUTATTEMTS_PERFORM_BADMUTTYPE.description = "Mutation type is "
131 + "not availaable on the requested vertex";
132 FAILEDMUTATTEMTS_PERFORM_NOCHANGEBRANCH.description = "Mutation did "
133 + "not replace the branch of a graph";
134 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK.description = "Mutation did not "
135 + "replace a vertex in a chain";
136 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_FIND.description = "Failed to "
137 + "find an alternative link vertex";
138 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_EDIT.description = "Failed to "
139 + "replace old link with new one";
140 FAILEDMUTATTEMTS_PERFORM_NODELLINK_FINDPARENT.description = "Failed to "
141 + "identify the parent of a link selected for removal.";
142 FAILEDMUTATTEMTS_PERFORM_NODELLINK_EDIT.description = "Failed to "
143 + "remove vertex and weld remaining parts";
144 FAILEDMUTATTEMTS_PERFORM_NODELETECHAIN.description = "Failed to "
145 + "remove a chain of vertexes";
146 FAILEDMUTATTEMTS_PERFORM_NOADDLINK.description = "Mutation did not "
147 + "introduce a verted between a pairs of previously "
148 + "connected vertexes";
149 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_FIND.description = "Failed to "
150 + "find an linking vertex";
151 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_EDIT.description = "Failed to "
152 + "replace edge with with new vertex and edges";
153 FAILEDMUTATTEMTS_PERFORM_NOEXTEND.description = "Mutation did not "
154 + "extend the graph";
155 FAILEDMUTATTEMTS_PERFORM_NOADDRING.description = "Mutation did not "
156 + "close a ring in the graph";
157 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NOFREEAP.description = "Rings could"
158 + "not be closed by " + MutationType.ADDRING + " because of "
159 + "no free AP on selected mutation site";
160 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NORINGCOMB.description = "Rings "
161 + "could not be closed by " + MutationType.ADDRING + " because "
162 + "no combination of rings could be fine involving the chosen "
163 + "mutation site";
164 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING.description = "Attempt to "
165 + "close rings by fusions was not successful.";
166 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING_NOFREEAP.description =
167 "Not enough free APs to procede with ring formation by ring "
168 + "fusion";
169 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING_NOSITE.description = "No site"
170 + "for fused ring formation found.";
171 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING_NOBRIDGE.description = "No "
172 + "ring-fusion bridge found.";
173
174 FAILEDMUTATTEMTS_PERFORM_NODELETE.description = "Mutation did not "
175 + "delete vertex";
176 FAILEDMUTATTEMTS_SETUPRINGS.description = "Failed attempts to setup "
177 + "rings "
178 + "in a mutated offspring";
179 FAILEDMUTATTEMTS_EVAL.description = "Failed attempt to pass graph "
180 + "evaluation test from mutated offspring";
181 FAILEDMUTATTEMTS_FORBENDS.description = "Mutated offsprings that led "
182 + "to forbidden ends";
183
184 BUILDANEWATTEMPTS.description = "Attempts to do build graph from "
185 + "scratch";
186 FAILEDBUILDATTEMPTS.description = "Failed attempts to do build a graph "
187 + "from scratch";
188 FAILEDBUILDATTEMPTS_GRAPHBUILD.description = "Failed attempts to "
189 + "generate a graph";
190 FAILEDBUILDATTEMPTS_EVAL.description = "Failed attempts to pass graph "
191 + "evaluation test from newly built graphs";
192 FAILEDBUILDATTEMPTS_SETUPRINGS.description = "Failed attempt to setup "
193 + "rings in a newly generated graph";
194 FAILEDBUILDATTEMPTS_FORBIDENDS.description = "Construction of new "
195 + "graphs that led to forbidden ends";
196
197 MANUALADDATTEMPTS.description = "Number of attempts to provide a "
198 + "manually built candidate";
199 FAILEDMANUALADDATTEMPTS.description = "Failed attempts to import "
200 + "a manually built cadidate";
201 FAILEDMANUALADDATTEMPTS_EVAL.description = "Failed attempts to pass "
202 + "graph evaluation test from manually added candidates";
203
204 CONVERTBYFRAGATTEMPTS.description = "Number of attempts to import a "
205 + "candidate by converting a given molecule into a graph";
206 FAILEDCONVERTBYFRAGATTEMPTS.description = "Failed attempts to import "
207 + "a cadidate by converting a given molecule into a graph";
208 FAILEDCONVERTBYFRAGATTEMPTS_FRAGMENTATION.description = "Failed "
209 + "attempts to do fragmentation while generating a candidate "
210 + "by conversion of molecules to graphs";
211 FAILEDCONVERTBYFRAGATTEMPTS_EVAL.description = "Failed attempts to "
212 + "pass graph evaluation test from candidates imported from "
213 + "conversion of molecules to graphs";
214 FAILEDCONVERTBYFRAGATTEMPTS_TMPLEMBEDDING.description = "Failed "
215 + "attempts to "
216 + "embedd patterns in templates while generating candidates "
217 + "by conversion of molecules to graphs";
218
219 FITNESSEVALS.description = "Number of fitness evaluations";
220 FAILEDFITNESSEVALS.description = "Number of failed fitness evaluations";
221
222 DUPLICATEPREFITNESS.description = "Number of duplicate candidates "
223 + " detected prior to considering their fitness evaluation";
224 FAILEDDUPLICATEPREFITNESSDETECTION.description = "Number of failed "
225 + "attempts to compare UID with known UIDs prior to considering "
226 + "the fitness evaluation of a candidate";
227 }
228
229 private String prettyName = "";
230
231 static {
232 NEWCANDIDATEATTEMPTS.prettyName =
233 "#Attempts New Candidate";
234
235 XOVERATTEMPTS.prettyName =
236 "#Xover";
237 XOVERPARENTSEARCH.prettyName =
238 "#Xover Parents Search";
239 FAILEDXOVERATTEMPTS.prettyName =
240 "#Failed Xovers";
241 FAILEDXOVERATTEMPTS_FINDPARENTS.prettyName =
242 "#Failed Xovers_Find Parents";
243 FAILEDXOVERATTEMPTS_PERFORM.prettyName =
244 "#Failed Xovers_Perform";
245 FAILEDXOVERATTEMPTS_SETUPRINGS.prettyName =
246 "#Failed Xovers_Setup Rings";
247 FAILEDXOVERATTEMPTS_EVAL.prettyName =
248 "#Failed Xovers_Graph Filter";
249 FAILEDXOVERATTEMPTS_FORBENDS.prettyName =
250 "#Failed Xovers_Forbidden Ends";
251
252 MUTATTEMPTS.prettyName =
253 "#Mutation";
254 MUTPARENTSEARCH.prettyName =
255 "#Mutation Parent Search";
256 FAILEDMUTATTEMTS.prettyName =
257 "#Failed Mutation";
258 FAILEDMUTATTEMTS_PERFORM.prettyName =
259 "#Failed Mut_Perform";
260 FAILEDMUTATTEMTS_PERFORM_NOMUTSITE.prettyName =
261 "#Failed Mut_noMutSite";
262 FAILEDMUTATTEMTS_PERFORM_NOOWNER.prettyName =
263 "#Failed Mut_noOwner";
264 FAILEDMUTATTEMTS_PERFORM_BADMUTTYPE.prettyName =
265 "#Failed Mut_bad Mut Type";
266 FAILEDMUTATTEMTS_PERFORM_NOCHANGEBRANCH.prettyName =
267 "#Failed Mut Change Branch";
268 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK.prettyName =
269 "#Failed Mut Change Link";
270 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_FIND.prettyName =
271 "#Failed Mut Change Link_Find";
272 FAILEDMUTATTEMTS_PERFORM_NOCHANGELINK_EDIT.prettyName =
273 "#Failed Mut Change Link_Edit";
274 FAILEDMUTATTEMTS_PERFORM_NODELLINK_FINDPARENT.prettyName =
275 "#Failed Mut Delete Link_Find Parent";
276 FAILEDMUTATTEMTS_PERFORM_NODELLINK_EDIT.prettyName =
277 "#Failed Mut Delete Link_Edit";
278 FAILEDMUTATTEMTS_PERFORM_NODELETECHAIN.prettyName =
279 "#Failed Mut Delete Chain";
280 FAILEDMUTATTEMTS_PERFORM_NOADDLINK.prettyName =
281 "#Failed Mut Add Link";
282 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_FIND.prettyName =
283 "#Failed Mut Add Link_Find";
284 FAILEDMUTATTEMTS_PERFORM_NOADDLINK_EDIT.prettyName =
285 "#Failed Mut Add Link_Edit";
286 FAILEDMUTATTEMTS_PERFORM_NOEXTEND.prettyName =
287 "#Failed Mut Extend";
288 FAILEDMUTATTEMTS_PERFORM_NOADDRING.prettyName =
289 "#Failed Mut AddRing";
290 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NOFREEAP.prettyName =
291 "#Failed Mut AddRing BusyAPs";
292 FAILEDMUTATTEMTS_PERFORM_NOADDRING_NORINGCOMB.prettyName =
293 "#Failed Mut AddRing Unclosable";
294
295 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING.prettyName =
296 "#Failed ring fusion";
297 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING_NOFREEAP.prettyName =
298 "#Failed ring fusion no_free_AP";
299 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING_NOSITE.prettyName =
300 "#Failed ring fusion no_site_compatible";
301 FAILEDMUTATTEMTS_PERFORM_NOADDFUSEDRING_NOBRIDGE.prettyName =
302 "#Failed ring fusion no_bridge";
303
304 FAILEDMUTATTEMTS_PERFORM_NODELETE.prettyName =
305 "#Failed Mut Delete";
306 FAILEDMUTATTEMTS_SETUPRINGS.prettyName =
307 "#Failed Mut_Setup Rings";
308 FAILEDMUTATTEMTS_EVAL.prettyName =
309 "#Failed Mut_Graph Filter";
310 FAILEDMUTATTEMTS_FORBENDS.prettyName =
311 "#Failed Mut_Forbidden Ends";
312
313 BUILDANEWATTEMPTS.prettyName =
314 "#Build Anew";
315 FAILEDBUILDATTEMPTS.prettyName =
316 "#Failed Build Anew";
317 FAILEDBUILDATTEMPTS_GRAPHBUILD.prettyName =
318 "#FailedBuild_GraphBuild";
319 FAILEDBUILDATTEMPTS_EVAL.prettyName =
320 "#FailedBuild_Graph Filter";
321 FAILEDBUILDATTEMPTS_SETUPRINGS.prettyName =
322 "#FailedBuild_Setup Rings";
323 FAILEDBUILDATTEMPTS_FORBIDENDS.prettyName =
324 "#FailedBuild_Forbidden Ends";
325
326 MANUALADDATTEMPTS.prettyName =
327 "#Manual Add";
328 FAILEDMANUALADDATTEMPTS.prettyName =
329 "#Failed Manual Add";
330 FAILEDMANUALADDATTEMPTS_EVAL.prettyName =
331 "#Failed Manual Add_Eval";
332
333 CONVERTBYFRAGATTEMPTS.prettyName =
334 "#MolToGraph Add";
335 FAILEDCONVERTBYFRAGATTEMPTS.prettyName =
336 "#Failed MolToGraph Add";
337 FAILEDCONVERTBYFRAGATTEMPTS_FRAGMENTATION.prettyName =
338 "#Failed MolToGraph Add_Frag";
339 FAILEDCONVERTBYFRAGATTEMPTS_EVAL.prettyName =
340 "#Failed MolToGraph Add_Eval";
341 FAILEDCONVERTBYFRAGATTEMPTS_TMPLEMBEDDING.prettyName =
342 "#Failed MolToGraph Add_TmplEmbed";
343
344 FITNESSEVALS.prettyName =
345 "#Fitness";
346 FAILEDFITNESSEVALS.prettyName =
347 "#Fitness_Failed Fitness Eval.";
348
349 DUPLICATEPREFITNESS.prettyName =
350 "#Duplicates Pre-Fitness";
351 FAILEDDUPLICATEPREFITNESSDETECTION.prettyName =
352 "#Failed Duplicate Pre-Fitness Detection";
353 }
354
355//------------------------------------------------------------------------------
356
361 public String getDescription()
362 {
363 return description;
364 }
365
366//------------------------------------------------------------------------------
367
373 public String getPrettyName()
374 {
375 return prettyName;
376 }
377
378//------------------------------------------------------------------------------
379
380}
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:373