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

Implement branch with weak bound #5

Merged
merged 11 commits into from
May 6, 2019
Merged

Implement branch with weak bound #5

merged 11 commits into from
May 6, 2019

Conversation

wbreeze
Copy link
Owner

@wbreeze wbreeze commented May 2, 2019

Implement the branching search using the current disagreement count as a bound.

This might try more solutions than needed, but makes the first, fully working solver and makes progress.

Required adding the majority graph to the solution graph so that it can

  • count disagreements
  • emulate the modified majority graph using the fixed solution edges

Required adding an edge lookup function to the Tarjan configuration, so it could work with the modified majority graph.

So. A couple of steps mixed in.

The majority graph in the solution graph... It might be better to invoke a callback in the solution graph on edge addition and removal, then use a third thing to stitch together the majority graph and solution graph --as the modified majority graph. Deferring that.

Decided to have the Davenport search call back when it finds a complete solution. It might call back with some less than optimal, but will converge to optimal in the callbacks. This was to keep the search out of the solution tracking business.

The test graphs that contain cycles are generating a lot of solutions because they are under-constrained. Did not validate every solution. Spot checked them and validated the last solution within the tests. Need to generate some majority graphs from actual preferences, for use in tests. Marking that as a to do. #6

@wbreeze wbreeze self-assigned this May 2, 2019
@wbreeze wbreeze merged commit 24ef9bf into master May 6, 2019
@wbreeze wbreeze deleted the branch branch May 6, 2019 20:05
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

Successfully merging this pull request may close these issues.

1 participant