एक ग्राफ में चक्रों की संख्या


9

कितने चक्र एक में देखते हैं शिखर ग्राफ ऐसी है कि किसी भी ग्राफ चक्र नहीं है ।Ck (k3)nCm (m>k)

उदाहरण के लिए , , तब ग्राफ में अधिकतम दो होंगे ताकि में कोईn=5k=3C3GCk(k>3).

मैं सोच रहा हूं कि चक्र हैं, क्या उपरोक्त शर्तों को पूरा करना संतोषजनक होगा।O(n)

क्या कोई मेरी मदद कर सकता है।


2
क्या आप शीर्ष-प्रेरित चक्रों के बारे में बात कर रहे हैं? चक्र से असहमति?
इगोर शिनकर

1
उत्तर की समता पर निर्भर हो सकता है । उदाहरण के लिए, 5-चक्र के संतुलित ब्लो-अप पर विचार करें। इस ग्राफ़ में कोई 6-चक्र नहीं हैं, लेकिन इसमें प्रेरित 5-चक्र शामिल हैं। mkΘ(n5)
इगोर शिनकर

5
@IgorShinkar मैं प्रश्न पढ़ने के रूप में "क्या की अधिकतम संख्या है एक में -cycles -vertex ग्राफ नहीं है कि से किसी के लिए चक्र ?" इसलिए एक पैरामीटर नहीं है, यह सार्वभौमिक रूप से निर्धारित हैknmm>km
साशो निकोलेव

मुझे लगता है कि आप प्रेरित चक्र (छेद) के बारे में बात कर रहे हैं। यदि आप न्यूनतम संख्या चाहते हैं, तो यह निश्चित रूप से 0 है, एक खाली ग्राफ़। यदि आप अधिकतम संख्या चाहते हैं, तो यह k = 3 के लिए n ^ 3 है (पूर्ण ग्राफ़ पर विचार करें)।
यिक्सिन काओ

@YixinCao k = 3 के लिए, यदि आप 'n' कोने के साथ एक पूर्ण ग्राफ़ पर विचार करते हैं, तो हमारे पास चक्र होगा जिसकी लंबाई 3. से अधिक है। मैं एक ग्राफ़ में लंबाई k की अधिकतम संख्या चक्रों के लिए देख रहा हूँ जैसे कि ग्राफ़ में नहीं होना चाहिए k से अधिक लंबाई का कोई भी चक्र
कुमार

जवाबों:


5

यह नहीं है जब तक कि । के लिए भी, द्विपक्षीय ग्राफ की पूरी में एक चक्र की अधिकतम लंबाई है , और length- की संख्या चक्र है । उदाहरण के लिए, में 4-चक्रों की एक द्विघात संख्या है, लेकिन 4 से अधिक चक्र नहीं है।O(n)k=3kKn,k/2kk(k21)!nk/2=Θ(nk/2)K2,n

दूसरी ओर, सबसे लंबे चक्र की लंबाई पर किसी भी निरंतर बाध्य के लिए, त्रिकोण की संख्या वास्तव में । यहां एक त्वरित प्रमाण दिया गया है: गहराई से पहले खोज पेड़ में, प्रत्येक किनारे अपने दो समापन बिंदुओं के निचले भाग से अधिकांश कदम पीछे पूर्वज तक जाता है , इसलिए पेड़ के किसी भी पत्ते की डिग्री अधिकतम और उसी के अंतर्गत आती है अधिकांश त्रिकोण। अब पत्ता निकालें और सम्मिलित करें।kO(n)k1k1(k12)


जी हाँ, आप सही कह रहे हैं :)
virgi

1

मैंने छोटे मूल्यों की जांच करने के लिए एक छोटा क्लिंगो कार्यक्रम लिखा था (यह जल्दी से 7 कोने तक के ग्राफ को संभाल सकता है। इसके अलावा, ग्राउंडिंग में काफी समय लग सकता है):

मुझे यह टेबल मिला है

                            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

यहाँ कार्यक्रम है:

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.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.