| When developing new optimization algorithms and prototyping different formulations of energy functions to be optimized, the algorithms don't usually work the first time you run your program :). Feel free to comment on any of the questions below: 1. What do you do if you checked the correctness of the underlying math several times, checked that there is no bug in your code, and checked that the constants/weights should be correct, but when you run the code, it still "doesn't work"? 2. How do you figure out the right *combination* of the constants? Is it eventually just endless trial-and-error until you are lucky enough to find a correct combination or do you automate searching for the correct set of constants? 3. How do you know when to keep trying and when to admit the problem is too difficult (after a week, month, year, 5 years of trying)? 4. You finally found the correct set of parameters and your codes seems to produce a plausible result. But how do you know that there isn't a slight mistake either in the math or a bug in the implementation, which causes the results not to be up to their full potential? 5. Do even top researchers with excellent track record end up in dead-ends sometimes? How to they get out of them? Every time I read a paper, I admire that the authors were able to find a correct set of constants and develop a working code. It seems like finding a needle in a haystack. What keeps you motivated even after a long period of trying? |