3

Hamiltonicity remains NP-complete for 2-vertex-connected cubic planar bipartite graphs. What is the smallest 2- or 3-vertex-connected cubic planar bipartite graph with only one (forward and backward counted as one) Hamilton cycle (HC)?

I thought asymmetry might help, but even Frucht's graph, a non-bipartite example, seems to have more than one HC...

$\phantom{}$enter image description here enter image description here enter image description here

And if a single HC is not possible, what is the smallest number and how does the corresponding graph look like?

draks ...
  • 18,449
  • 1
    Have you seen this reference? – EuYu Nov 24 '12 at 20:44
  • @EuYu Theorem 1 shows that with most of the conditions taken away, it is still impossible. Good work. You might as well put that as an answer since no other answer is possible for this question. – GeoffDS Nov 24 '12 at 20:55
  • So, why exactly were you trying to find such graphs? – GeoffDS Nov 24 '12 at 20:55
  • @EuYu no I haven't +1 – draks ... Nov 24 '12 at 22:05
  • @Graphth, just kidding: I'd like to play around with the simplest example containing as few HCs as possible. BTW: Would you mind to share the SAGE script? Did it succeed with an explicite example? – draks ... Nov 26 '12 at 14:18
  • @draks Ah yes, I had deleted my answer so the code is gone. I have undeleted it. The problem with answering your question about examples is I think my code was wrong. I believe the code is good now but I haven't run it. It would take a very short time to run for order 8 or less, like a few seconds maybe. For order 10, still won't be too long. Once you get to order 12 and above, it might take a very long time like many minutes, or hours, or days. I don't know. – GeoffDS Nov 26 '12 at 15:09
  • It remains an open conjecture of David Barnette whether a planar 3-connected bipartite graph always has a hamiltonian circuit. – Joseph Malkevitch Nov 26 '12 at 15:34
  • @JosephMalkevitch Let's assume Barnette is right, what is the smallest example with only 4 hamiltonian cycles? – draks ... Nov 26 '12 at 15:36
  • I don't know. However, two very useful papers about this general circle of ideas are: ajc.maths.uq.edu.au/pdf/20/ocr-ajc-v20-p111.pdf and cs.anu.edu.au/~bdm/papers/HoltonCubicBipartite.pdf - Note that the 3-cube has a relatively small number of vertices but more than 4 HCs. – Joseph Malkevitch Nov 26 '12 at 16:05

2 Answers2

3

This paper here seems to suggest that this is impossible. Theorem 1 states that every cubic Hamiltonian graph has at least three Hamiltonian cycles and theorem 10 states that if the graphs are additionally bipartite then they have at least four Hamiltonian cycles.

The article contains quite a few other results which pertain to the subject and it might be of interest to you to peruse through.

EuYu
  • 41,421
1

Based on EuYu, it appears there is no such graph. I originally deleted my answer after that. But, now I put it back so the code is visible. This code will find examples of graphs that satisfy all the conditions EXCEPT the unique Hamilton cycle.

Using Sage, including the nauty generator of graphs, we can generate all graphs with 3 * ord / 2 edges easily. Of course, we only need check graphs with even order as well. So, this should go quick for graphs of small order. But, even at order 12 it might take a very long time. There are over 10 billion graphs of order 12, not sure how many have 18 edges exactly.

# ord must be even
ord = 12
num_edges = 3 * (ord/2)
# This is the string that gets put in the nauty generator to tell it which
# graphs to generate
# E.g., "12 18:18 -c" says generate order 12 graphs with 18 edges that are connected.
nauty_string = str(ord) + " " + str(num_edges) + ":" + str(num_edges) + " -c"
for g in graphs.nauty_geng(nauty_string):

    # check min degree is 3.  Since we have the constraint on edges above
    # this should guarantee the max degree is 3 as well.
    deg = g.degree()
    deg.sort()
    if deg[0] == 3:
        if g.is_bipartite():
            if g.is_planar():
                vert_conn = g.vertex_connectivity()
                if vert_conn >=2:
                    if vert_conn <=3:
                        if g.is_hamiltonian():
                            print g.graph6_string()
print "Finished with", ord
GeoffDS
  • 11,270
  • There is no cubic graph of order 9 at all, if this means number of vertices... – draks ... Nov 24 '12 at 20:37
  • @draks Yes, I know. I changed the code already to only generate cubic graphs by only looking at graphs with 3 * ord / 2 edges. – GeoffDS Nov 24 '12 at 20:38