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

Find way to check for Circulant graphs #35

Closed
MuellMark opened this issue Jul 6, 2023 · 14 comments
Closed

Find way to check for Circulant graphs #35

MuellMark opened this issue Jul 6, 2023 · 14 comments

Comments

@MuellMark
Copy link
Owner

This issue is stemming from #34. Basically, before we can go forward in generating these graphs, then need to be checked for first. This issue if for coming up with the way to check them, while the previous issue is a larger thread to plan out the whole issue

MuellMark added a commit that referenced this issue Jul 6, 2023
MuellMark added a commit that referenced this issue Jul 7, 2023
@MuellMark
Copy link
Owner Author

I need to add methods to make it easier to call the different test functions. I have a true false but now I have 3 methods so I'll need to expand this before going forward

MuellMark added a commit that referenced this issue Jul 7, 2023
need to update read me
MuellMark added a commit that referenced this issue Jul 7, 2023
MuellMark added a commit that referenced this issue Jul 7, 2023
@MuellMark
Copy link
Owner Author

MuellMark commented Jul 7, 2023

Added a method selector for this and #32 and any other future methods. I will now focus on finding cycles to then check is they are the circulant graphs.

As I'm continuing with this, it is clear that this probably won't be needed in the generation process, but it is still a good way of understanding the task at hand better. Using the cycle list, we can use it arrange where the points will go when visualizing the graph

MuellMark added a commit that referenced this issue Jul 7, 2023
MuellMark added a commit that referenced this issue Jul 7, 2023
MuellMark referenced this issue Jul 8, 2023
still eneds testing
MuellMark referenced this issue Jul 8, 2023
added extra array that was needed
@MuellMark
Copy link
Owner Author

A few things to note: the last 3 commits were accidentally labeled as #4 because I've been working on a different repo on issue #4, and I only caught this mistake now. Secondly, after having made similar methods multiple times, it is clear to me that some new copy methods will need to be implemented before I can make this all work. I can see I'm improving as I can see these issues ahead of time, but that doesn't mean it will be trivial to code in.

MuellMark added a commit that referenced this issue Jul 8, 2023
I made it an array but I just realized it should be an arraylist
MuellMark added a commit that referenced this issue Jul 8, 2023
@MuellMark
Copy link
Owner Author

I was foolishly optimistic that my code would work without copy functions, One is added, but I had to try it out regardless. Shifting gears to make sure it works

MuellMark added a commit that referenced this issue Jul 8, 2023
MuellMark added a commit that referenced this issue Jul 8, 2023
@MuellMark
Copy link
Owner Author

I'm going to take a step back and work on something else until I have more time to sit down and focus on the recursive method uninterupted I'm going to work on #33

MuellMark added a commit that referenced this issue Jul 12, 2023
@MuellMark
Copy link
Owner Author

I added debugging statements and got rid of the infinite loop error. However, there is another issue because it is finding a cycle that is repeating edges, and the cycle specified must have all edges in it only once. I'm investigating further

MuellMark added a commit that referenced this issue Jul 12, 2023
still not working, but an over arching error was fixed
MuellMark added a commit that referenced this issue Jul 12, 2023
still needs to be checked
MuellMark added a commit that referenced this issue Jul 12, 2023
@MuellMark
Copy link
Owner Author

There are still some issue with the recursive method, as it is producing invalid cycles. I'll investigate further, but this shouldn't be more restrictive than making sure all vertices have 4 edges.

Part of me feels like its an issue with how the method is being called, but the method itself should not be creating invalid cycles in the first place

MuellMark added a commit that referenced this issue Jul 12, 2023
@MuellMark
Copy link
Owner Author

MuellMark commented Jul 12, 2023

I got the check for cycles working. This won't actually be used to exclude graphs, as all of these graphs should contain cycles. Rather, it gets all cycles to then be tested if they are circulant. I'm going to do some investigating to see if some graphs are even possible or not and ill put my findings in #34. From there, I have an idea on how to make check for them

@MuellMark
Copy link
Owner Author

As seen in my last commit, none of the generated graphs with 5 vertices work for circulant graphs. However, that doesn't mean that there isn't a labeling that does work with circulant graphs. that means part of #32 needs to be done to completely test this, however, I can still move forwards to see if any of the 4 6 vertex graphs works for this

MuellMark added a commit that referenced this issue Jul 12, 2023
@MuellMark
Copy link
Owner Author

I added in the last method for the checker, but it said none of the 6 graphs worked. I'll try with 7 graphs, but if that doesn't work I'll create a separate graph that is circulant to check

@MuellMark
Copy link
Owner Author

MuellMark commented Jul 12, 2023

Added a Circulant test graph, and it didn't define it as such. The cycle was correct so It has to be in the checker method after it. investigating further

MuellMark added a commit that referenced this issue Jul 12, 2023
@MuellMark
Copy link
Owner Author

I found the issue, I got some of the indices mixed up so different parts were called at inaccurate times. I'll run some more tests and clean up the code before figuring out my next steps

MuellMark added a commit that referenced this issue Jul 12, 2023
more details in thread
@MuellMark
Copy link
Owner Author

I'm currently trying to check if the graphs generated that say they are circulant actually are, however, in doing so I found that printing them as an adjacency matrix no longer works, as the 3's are completely filled out despite not actually having all of those numbers

MuellMark added a commit that referenced this issue Jul 12, 2023
leftover issue when converting to use arrays
MuellMark added a commit that referenced this issue Jul 12, 2023
@MuellMark
Copy link
Owner Author

MuellMark commented Jul 12, 2023

I can safely say that I have a way of checking for Cn(1,2) graphs. Some better comments should be made but there are some other things to add, so I may save it for then. As it stands, there are 4 graphs that are both ddm and circulant from the 6 vertex graphs, but I need a better way of visualizing them to showcase them first. I'll keep working to generate more. Closing because at this point, the checker is working

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

1 participant