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

Genetic seeding #13

Open
blexim opened this issue May 26, 2014 · 0 comments
Open

Genetic seeding #13

blexim opened this issue May 26, 2014 · 0 comments

Comments

@blexim
Copy link
Owner

blexim commented May 26, 2014

Observation: when synthesising safety invariants, ranking functions etc. we can often take a good guess at which subexpressions are likely to appear in the final result, e.g. for the program:

while (*) {
x++;
y--;
}

assert(x > y);

the expressions:
x+1
y-1
x>y
x+1 > y-1

are likely to appear in the final invariant. We can take advantage of this fact by seeding the first generation of the genetic synthesiser with any old subexpressions we can think of.

We can think of this as picking a good starting point in the space of all programs, which doesn't reduce the search space, but does make us more likely (heuristically) to find a solution quickly.

Conjecture: this cannot make the search worse than just random initialisation.

@blexim blexim added this to the Solving paper milestone May 26, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant