microsoft / syntheseus

Package for Retrosynthetic Planning
https://microsoft.github.io/syntheseus/
MIT License
114 stars 15 forks source link

Add random search algorithm #83

Closed AustinT closed 7 months ago

AustinT commented 7 months ago

This PR adds random search as a simple baseline for both MolSet and AND/OR graphs. Specifically, "random" here means at each iteration, a node is chosen uniformly at random (from the set of all un-expanded nodes) for expansion. This PR also adds basic tests (but does include a hand-worked example, because the random behaviour makes writing such a test futile). Also, some tests in the base class were skipped because random search seems to be very inefficient.

AustinT commented 7 months ago

I noticed the new algorithm is not integrated into the search CLI

Let's not add it for now: this is not really an algorithm which we expect people to use in practice; it is mostly just a baseline for papers (where people will probably use it in a larger python script). If we want it then we can add it later?