Closed drallensmith closed 7 years ago
I think it's reasonable to add uniform numbers as a part of the the low-level state space. (I'd prefer avoid having too many choices for different feature sets.) To minimize breakage to current agents, teammate & opponent unums can be added after all the existing features.
Code for grabbing unum can be seen in high level feature set: https://github.com/LARG/HFO/blob/master/src/highlevel_feature_extractor.cpp#L148
Ok, will do.
-Allen
Hi. I'm interested in creating an agent that will use the low-level feature space, but - at least at the start - will use the high-level actions. However, two of those actions, Pass and Mark, require uniform numbers - which are not included in the low-level feature space, despite that uniform numbers do not seem to qualify as giving further analysis like the various angles in the high-level feature space.
It would seem the best way to do this would be by adding an additional level in common.hpp (
HIGH_LEVEL_PLUS_UNUMS_FEATURE_SET
, perhaps), and use this to request a modified version of the low-level feature space via agent.cpp. I am currently considering modifying lowlevel_feature_extractor.cpp (and .h) to add aprovide_unums
boolean parameter with a default offalse
(the default being to avoid breaking existing programs such as sample_agent.cpp). Is this the best way to do this, or is there something I am missing (C++ is not a language I program in frequently, to put it mildly)?Thanks,
-Allen