-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hypervolume plus versus uncrowded hypervolume UHVI #14
Comments
It's in the appendix: |
I think they are the same when you compute them on a set of points (but @naceee should confirm). The improvement part is different though and I'm unsure what is the best course of action to clarify that. |
Hello. From my understanding, the "hypervolume plus" is what we do in COCO, i.e. normalization first wrt. ideal and nadir and then using the uncrowded hypervolume (improvement). In this sense, the two are not the same, I would say. |
Damn, now that you mention it, I'm not sure we are doing any normalization ... |
This would be a great feature to have, actually. If the ideal point is provided (in addition to the reference point, which is required for HV computation anyway), the results would be normalized ... |
I don't think that by default there should be any normalization. And maybe, there even cannot be any reasonable normalization if no ideal and nadir point are known (any normalization, "relative", to the so-far-seen archive will be void and difficult, if not even impossible to revert as soon as new points come in). |
Sounds doable. Making it more modular, it could also be a simple wrapping function class which can be called with an |
Getting back to the original issue, it seems the phrase
is not entirely correct and should be amended, right? |
I was not familiar with uncrowded hypervolume for a set only, but those two could be the same thing |
This is not the reference you were using, right? Could you give the pointer? Here, it's called In the above given reference we have
As Dimo pointed out, it is defined with a normalization which we don't have in the archive module. We should be as concise as possible. If it is correct (and |
I agree. Then also the indicator for constraint problems is wrong, as we don't do any normalization there either. |
Let me try to clarify. In the I_CMOP paper, where we extended I_HV+ to constrained cases, we renamed I_HV+ to I_MOP to make it easier to follow the various indicators we defined (we also had an I_SOP indicator, an I_CSOP indicator and proposed the I_CMOP indicator). To "go back to origins" I suggested we use the original name I_HV+ here instead. I missed the issue with the references - we should of course reference the I_HV+ paper for this indicator, not the I_CMOP paper (which I imagine we need to reference anyway for the I_CMOP indicator). However, note that I_MOP and I_HV+ are both exactly the same - they both use normalization, it just looks like I_MOP doesn't because this is not contained in the snippet. So, we still have the problem that the implementation here is not I_HV+ (nor I_MOP), but the non-normalized I_HV+. I would prefer we offer the normalized and non-normalized versions for the I_HV+ indicator (I recently needed the normalized one and was kind of a pain to have to do the normalization myself). In addition to being really useful, it would also be actually easier to explain.
That needs to be fixed, as without normalization it doesn't make much sense, I'm afraid. |
I tend to prefer to first fix and merge the current pull request and only then integrate new functionality, but in the end it's up to you. In either case, we need to explain what |
I was looking at the new readme file
https://github.com/CMA-ES/moarchiving/pull/13/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
which starts with:
The text was updated successfully, but these errors were encountered: