MicheleCazzola / CI2024_lab1

0 stars 0 forks source link

Lab1 Comment Review #1

Closed Lorkenzo closed 5 days ago

Lorkenzo commented 6 days ago

Comment

Nice algorithm, it is simple but quite effective. Maybe you can try improving it by adding a more advanced tweak technique that allows to do also bigger steps where needed. In fact it tweaks only one element for each iteration, and moreover it changes the solution only if the single mutation doesn't correspond to a lower elements coverage. So there will be many iteration where the solution is not changing at all and it could be difficult to reach the local maximum if the random starting solution is far. Sometimes could be useful to lose your way if it leads you to discover something :) !

P.S. To prevent the algorithm from slowing down so much you can try to avoid copies and just modify the array elements each time

MicheleCazzola commented 5 days ago

Thank you for your suggestions! Some strategies you have described are already implemented in the "unofficial" notebook strategies.ipynb : indeed, I have observed that simulated annealing is slightly better, but it takes too long to run and I have preferred to signficantly optimize execution time rather than hoping for a slightly cost optimization, for now. Unfortunately, avoid copies is not possible, due to python behavior in function calls :(