So I’m currently working on a very adaptive algorithm and it’s working quite well, but I still need a way to classify useless destructors, so I can remove them.
How did other dynamic algo creators solve this?
While I think it is completely possible to do that, I usually don’t remove useless firewalls unless there are in danger.
The way I remove firewall is: considering a wisely chosen list of possible enemy attacks for the following turns, I predict the result of the action phases with and without each firewall. This way I know for each firewall if it’s presence is useless or even counterproductive.
The problem with deciding to remove firewall that seems useless, is that against most adaptive or semi-adaptive algos, that destructor could become useful later.
That is why I remove only firewall that are clearly counterproductive or in danger, and do it even more carefully when if I think that the enemy algo is adaptive.
In your example Aelgoo would not remove the destructors you listed. It could still be a good idea to implement that since we can detect that the other algo’s attacks are really repetitive with also no indications of anything tricky in their defense strategy. But as you can guess, this choice can be tricky implement, even in that case where the uselessness of those destructors is so clear from a human perspective.
Ok, thanks I might try and do the same, eventhough my pathfinding isn’t so fast yet. I just thought it would probably be a good idea, since you get cores back for removing those destructors.
For me, though I don’t use a dynamic algorithm, I previously had attempts at sophisticated removal loops, but I ended up going for a structure where I remove the least possible, and tried to build my structures in such a way that every placed firewall is or will be desirable to have somehow. If I remove something, it will only be a filter. Keep in mind that the return on investment is quite small when replacing high cost firewalls.
However there is an exception with EMP lines. In my case my algorithms always directly challenge the construction of an opposing EMP line, but if you want to rather stay out of harms way you definitely should recycle what is in range.
That being said I have seen some pretty interesting results from dynamic algos drastically restructuring their base on the go.