Skip to content
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

Question about probabilistic guarantees over multiple runs #54

Open
fanosta opened this issue May 17, 2024 · 3 comments
Open

Question about probabilistic guarantees over multiple runs #54

fanosta opened this issue May 17, 2024 · 3 comments

Comments

@fanosta
Copy link
Contributor

fanosta commented May 17, 2024

Hi,

I was wondering how the probabilistic guarantees are affected by runnnig ApproxMC on the same model multiple times. I'm thinking that if the seed is the same, we get the same result every time as ApproxMC is designed to be deterministic. But what about multiple runs of the same problem with different seeds? Can these be treated as independent random experiments?

Best,
Marcel

@msoos
Copy link
Collaborator

msoos commented May 19, 2024

I would suggest to simply change epsilon and delta rather than running it multiple times. But yes, both should improve with multiple runs with different seeds. However, @AL-JiongYang has already published code that gives significantly better guarantees for ApproxMC and has been published last year. Once he merges his code change, you should be able to get much better guarantees with the same effort! @AL-JiongYang -- Can you please merge your changes? This is needed by users, as per above.

I hope the above helps! I'll let @AL-JiongYang close this issue once he merged his changes,

Mate

@AL-JiongYang
Copy link
Contributor

Hi Marcel,

Mate's suggestion is correct. It's better to change the epsilon and delta if you only want a stronger guarantee from multiple runs.

To answer your question directly: yes, you are right.

Running ApproxMC on the same problem with different seeds can be treated as independent random experiments. Currently, we use a user-specified random seed to maintain reproducibility, but ideally, we want the seed to be randomly determined by, e.g. the system time, where each run becomes an independent random experiment.

I hope this helps and let me know if you have more questions.

Best,
Jiong

@fanosta
Copy link
Contributor Author

fanosta commented May 21, 2024

Thank you for the detailed answers 👍

Getting better guarantees for the same effort does sound nice. Especially, if it would also allow me to count larger problems in reasonable time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants