Số chu kỳ trong đồ thị


9

Có bao nhiêu chu kỳ trong một đồ thị đỉnh sao cho đồ thị không có chu kỳ .Ck (k3)nCm (m>k)

Ví dụ: , , thì đồ thị sẽ có nhiều nhất hai để sẽ không có bất kỳn=5k=3C3GCk(k>3).

Tôi nghĩ rằng có chu kỳ sẽ ở đó thỏa mãn các điều kiện trên.O(n)

Ai đó có thể giúp tôi không.


2
bạn đang nói về chu kỳ gây ra đỉnh? rời rạc chu kỳ?
Igor Shinkar

1
Câu trả lời có thể phụ thuộc vào tính chẵn lẻ của . Ví dụ, hãy xem xét một vụ nổ cân bằng của 5 chu kỳ. Biểu đồ này không chứa 6 chu kỳ, nhưng nó chứa gây ra 5 chu kỳ. mkΘ(n5)
Igor Shinkar

5
@IgorShinkar Tôi đọc câu hỏi là "số tối đa là bao nhiêuk -cycles trong một n đồ thị -vertex mà không có m -cycle cho bất kỳ m>k ?" vì vậy m không phải là một tham số, nó được định lượng toàn cầu
Sasho Nikolov

Tôi giả sử bạn đang nói về chu kỳ cảm ứng (lỗ). Nếu bạn muốn số lượng tối thiểu, chắc chắn là 0, một biểu đồ trống. Nếu bạn muốn số lượng tối đa, đó là n ^ 3 cho k = 3 (xem xét một biểu đồ hoàn chỉnh).
Yixin Cao

@YixinCao Với k = 3, Nếu bạn xem xét một đồ thị hoàn chỉnh với các đỉnh 'n' thì chúng ta sẽ có chu kỳ có độ dài lớn hơn 3. Tôi đang tìm số chu kỳ tối đa k trong đồ thị sao cho đồ thị không chứa bất kỳ chu kỳ nào dài hơn k
Kumar

Câu trả lời:


5

Nó không phải là trừ khi k = 3 . Đối với k chẵn, độ dài tối đa của một chu kỳ trong đồ thị lưỡng cực hoàn chỉnh K n , k / 2k và số chu kỳ độ dài k( kO(n)k=3kKn,k/2kk. Chẳng hạn,K2,ncó số bậc 4 gồm 4 chu kỳ, nhưng không có chu kỳ nào dài hơn 4.(k2-1)!nk/2= =Θ(nk/2)K2,n

Mặt khác, với bất kỳ liên kết ràng buộc nào trên độ dài của chu kỳ dài nhất, số lượng tam giác thực sự là O ( n ) . Đây là một bằng chứng nhanh: trong một cây tìm kiếm sâu đầu tiên, mỗi cạnh đi từ phía dưới hai điểm cuối của nó đến tổ tiên nhiều nhất là k - 1 bước lùi, do đó, bất kỳ lá nào của cây đều có độ lớn nhất là k - 1 và thuộc về nhất ( k - 1kÔi(n)k-1k-1 hình tam giác. Bây giờ loại bỏ lá và cuộn cảm.(k-12)


vâng, bạn đúng :)
virgi

1

Tôi đã viết một chương trình clingo ngắn để kiểm tra các giá trị nhỏ (nó có thể xử lý nhanh các đồ thị lên đến 7 đỉnh. Ngoài ra, việc nối đất có thể mất khá nhiều thời gian):

Tôi có cái bàn này

                            n (vertices)
                         3   4   5   6   7

                      3  1   1   2   2   3

                      4      3   3   6  10

k (cycle length)      5         12  12  12

                      6             60  60

                      7                360

Đây là chương trình:

num(1..n).
is_sym_order(empty,0).
ncontains(empty,K) :- num(K).
is_sym_order(cons(K,empty),1) :- num(K).
last(cons(K,empty), K) :- num(K).
is_sym_order(cons(K,S),M+1) :- is_sym_order(S,M), ncontains(S,K), last(S,L), K > L.
ncontains(cons(K,S), J) :- J != K, ncontains(S,J), is_sym_order(cons(K,S),_).
last(cons(K,S), L) :- last(S,L), is_sym_order(cons(K,S),_).
sec_last(cons(A,S),A) :- is_sym_order(cons(A,S),2).
sec_last(cons(K,S), SL) :- sec_last(S,SL), is_sym_order(cons(K,S),_).
is_sub_order(cons(A,S), M) :- A > SL, sec_last(S,SL), is_sym_order(cons(A,S), M).

vertex(1..n).
{is_edge(V,W)} :- vertex(V), vertex(W), V < W.
sym_edge(V,W;W,V) :- is_edge(V,W).

is_path(cons(V,empty)) :- vertex(V).

is_path(cons(A,cons(B,S))) :- is_path(cons(B,S)), sym_edge(A,B), is_sym_order(cons(A,cons(B,S)),_).
is_cycle(cons(A,S)) :- is_path(cons(A,S)), is_edge(V,A), last(S,V), is_sub_order(cons(A,S),M), M >= k.

:- is_cycle(S), is_sub_order(S,M), M > k.
prim_cycle(S) :- is_cycle(S), is_sub_order(S,k).
:~ not is_cycle(S), is_sub_order(S,k).[1,S]

num_cycs(C) :- C = #count{is_cycle(S):is_cycle(S)}.
#show is_edge/2.
#show num_cycs/1.
#show prim_cycle/1.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.