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

Add Zykov and Christofides Algorithms for Chromatic Number #491

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Commits on Jun 9, 2021

  1. Add Zykov and Christofides Algorithms for Chromatic Number

    Style changes from review
    
    
    Duplicate tests already included
    
    
    Add outline for Byskov algorithm
    
    Add function to find three colourable subgraphs
    
    
    Moved three colourable processing to before Byskov
    
    
    Added declaration for Byskovs
    
    
    Handled Special case for three vertices and no maximal independent sets
    
    
    Wasn't actually getting the complement of the independent set
    
    
    Create category isDigraphAlgorithm and sub-category isDigraphColouringAlgorithm
    
    Will be used to distinguish different colouring algorithms that are available.
    Add Bound Global objects for Digraph Colouring Algorithms
    
    
    Update original functions to use new method selection
    
    
    Update test for new method selection
    
    
    Forgot to subtract set before getting the induced subgraph
    
    
    Remove from extreme test as it is far too large for these tests
    
    
    Move tests that are too slow
    
    
    Special case was not needed
    
    
    Add loop checks to Lawler and Byskov Algorithms
    
    
    Remove Extreme Tests
    
    
    Add standard tests that will run in a reasonable amount of time
    
    Not all chromatic number tests were duplicated, as some would use too much memory or take too long
    Fix formatting
    
    
    More formatting issues
    
    
    Should be the last one
    
    
    Added Documentation
    
    
    Misc Comments
    
    
    Make label match docs
    
    
    Optimise away the subdigraph use
    
    
    Remove another copy
    
    
    Fix lawler issues
    
    
    Optimise Byskov
    
    
    clarify todo
    
    
    Revert to using induced subdigraph
    
    
    Fix some linting
    
    
    Missed a few
    
    
    Fix Indent
    
    
    Add method selection objects for Zykov
    
    
    Initial algorithm skeleton
    
    
    Fill in the rest
    
    
    Forgot about edge direction
    
    
    Documentation
    
    
    Start adaptation for pruned trees
    
    
    Simplify logic
    
    
    Add tests for Zykov
    
    
    Add filters and method objects for Christofides
    
    
    Initialise variable for Christofides
    
    
    Update comments
    
    
    Initial version of Christofides implemented.
    
    
    Fixed a few syntax errors
    
    
    Fix calculation of MIS
    
    
    Remove debug print
    
    
    Cleanup christofides
    
    
    fix typo
    
    
    Convert to using Blists
    
    Need to benchmark to check improvement
    Fix formatting
    
    
    Missed some trailing whitespace
    
    
    Restart attempt at in place zykov
    
    
    Revert to just copying
    
    In place is more hassle than it's worth
    Remove redundant extra check
    
    
    Use new function for Christofides
    
    
    Fix merge issues
    
    
    Add vertex ordering to Zykov
    
    
    Add Christofides test
    
    
    Optimise clique finder used
    
    
    Fix lint
    
    
    remove duplicate bib
    
    
    Update for new method selection
    
    
    Fix test output
    
    
    Update Docs
    
    
    Remove unused reference
    
    
    Fix spelling mistake
    EwanGilligan committed Jun 9, 2021
    Configuration menu
    Copy the full SHA
    101c55d View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2021

  1. Configuration menu
    Copy the full SHA
    0a8144a View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2022

  1. Make requested changes

    Add additional explanation to Zykov
    
    Improve vertex picking for Zykov
    
    Simplify vertex picking for Christofides
    EwanGilligan committed Jan 13, 2022
    Configuration menu
    Copy the full SHA
    0af7fc2 View commit details
    Browse the repository at this point in the history