lcz

1009 Reputation

11 Badges

5 years, 211 days
changsha, China

MaplePrimes Activity


These are replies submitted by lcz

@mmcdara 

There may be a better way to find one (not all) minimum cut set . And a slightly better way to find all of them may be referred to the following paper. 

Its implementation can refer to the source code of  kcutsets from netwokx package of paython . https://networkx.org/documentation/stable/_modules/networkx/algorithms/connectivity/kcutsets.html#all_node_cuts

@tomleslie Thank you very much. Just for fun, we don't have to be graph theorists. My study focus on graph structure, not algorithm. So my knowledge of algorithm complexity is limited to some public sources. Intuitively, I think it might not be too expensive to find one, but it may (will?) be difficult to find all of them.

From the link https://en.wikipedia.org/wiki/K-vertex-connected_graph, we know that the vertex-connectivity of an input graph G can be computed in polynomial time (roughly speaking, even if the graph is large, the cost of time does not increase much). So my guess is that determining a minimum vertex cut set  is also in  polynomial time. But in what way, I haven't really thought about it, maybe depth first algorithm here  is useful.

The vertex-connectivity of an input graph G can be computed in polynomial time in the following way[2] consider all possible pairs  of nonadjacent nodes to disconnect, using Menger's theorem to justify that the minimal-size separator for  is the number of pairwise vertex-independent paths between them, encode the input by doubling each vertex as an edge to reduce to a computation of the number of pairwise edge-independent paths, and compute the maximum number of such paths by computing the maximum flow in the graph between  and  with capacity 1 to each edge, noting that a flow of  in this graph corresponds, by the integral flow theorem, to  pairwise edge-independent paths from  to .

@tomleslie Sorry, I didn't explain the problem clearly. I mean that  the vertex connectivity of a graph is just a  integer but  I want to find a special vertex set.

By the definition of  vertex connectivity(https://mathworld.wolfram.com/VertexConnectivity.html), there is a vertex cut  set in the graph whose cardinality is equal to the connectivity. 

And that's what I want to find,  is cut vertex set which cardinality  is equal to the vertex connectivity. (Look for them all, not just onel  is another matter.) So here's the Mathematica code, and of course this is just an example, maybe we can look at it manually, but I'm thinking in general.

g = CompleteGraph[{2, 2, 2, 2}, VertexLabels -> All, GraphLayout -> "StarEmbedding"]; 
FindVertexCut[g]
HighlightGraph[g, %]


{1, 2, 3, 4, 7, 8}

By the way, for some reason, the pictures I inserted on this platform keep getting lost recently, so I uploaded them as attachments.

cutvetexset.pdf

This requirement is fundamental in graph theory, and I think Maple should provide it.

Some links that might be useful:

@Carl Love I'm not clear about many of the simplified rules. So sometimes it works and sometimes it doesn't. I wonder if there are any materials or books that cover general rules to study. Many times, I just try my luck.

@TechnicalSupport  Thanks, and I see the color option in the layoutoptions, but I don't see the edge thickness, which is weird.

restart:
with(ColorTools):
with(GraphTheory):
g:=ConvertGraph("GsaCB{");
DrawGraph(g, layout = interactive, layoutoptions = [neutral_color = "pink", initial = spring])

@Carl Love What you said is just what I wanted to say. When  we set that selectform= graph, we can filter them  further by some property. As follows, we can obtain all planar graphs from  all 7-vertex non-IsomorphicGraphs.

with(GraphTheory):
n:= 7:
L:=  Array([GraphTheory:-NonIsomorphicGraphs(n, output=graphs, outputform= graph,  restrictto=connected, selectform= graph
    select= (A-> IsPlanar(A))
)]):
numelems(L)# https://oeis.org/A003094

646

As for the adjacency matrix of graph, we can also do some filtering. For example, according to the following theorem, we can choose which graphs in n-vertex Non-IsomorphicGraphs  have the maximum numbers of  closed walks of length k.

But when we set selectform= bits, I feel like we have to convert to graph format or adjacency matrix of graph itself for further screening out the desired graph, which is not very efficient. Unless we get some properties of the graph directly from the bits very quickly.

And that's what I'm asking: what's  advantage of bits.  tomleslie's answer makes me understand that maple provides a memory/speed tradeoff, but I think maybe we can get more.

 

 

@克里斯托弗2222 

Thank you, hope Maple will have.

@mmcdara 
This is a nice operation that indirectly labels the axis of rotation.

@Rouben Rostamian   Adding tickmarks may be difficult. But the picture below is the one I want more.

@Rouben Rostamian  Good way and thank you!

@Kitonum This is really a good solution, but if k is large, it doesn't seem to work very well in for-loop.

@tomleslie Thank you very much for your detailed explanation.  

@tomleslie Thank you for your reply. First of all, I still don't know the difference between posint  and positive  functions. I feel they are similar.

Second, I am curious about why Maple can determine that a number is an integer. Is it because any integer is given an inherent integer property in Maple in advance?   Pure curiosity, of course.  And one potential value is whether users can define their own types like integers.

@acer The function 'print' is surprisingly effective. It even makes me wonder why showstat exists.

interface(prettyprint=2):
print(PlaneDual)
First 7 8 9 10 11 12 13 Page 9 of 16