একটি গ্রাফে চক্রের সংখ্যা


9

কত চক্র Ck (k3) একটি আছে n ভার্টেক্স গ্রাফের মতো গ্রাফের কোনও চক্র থাকে না Cm (m>k)

উদাহরণ স্বরূপ n=5, k=3তারপরে গ্রাফের সর্বাধিক দুটি হবে C3তাই তাই G কোন হবে না Ck(k>3).

আমি ভাবছি যে আছে O(n) চক্রগুলি উপরে অবস্থার সন্তুষ্টিজনক হবে।

কেউ আমাকে সাহায্য করতে পারেন.


2
আপনি কি ভারটেক্স-প্ররোচিত চক্র সম্পর্কে কথা বলছেন? চক্র বিরক্তি?
ইগর শিংকার

1
উত্তরটির সমতার উপর নির্ভর করতে পারে mk। উদাহরণস্বরূপ, একটি 5-চক্রের সুষম ব্লো-আপ বিবেচনা করুন। এই গ্রাফটিতে কোনও 6-চক্র নেই, তবে এতে রয়েছেΘ(n5)প্ররোচিত 5-চক্র।
ইগর শিংকার

5
@ ইগরশিংকার আমি "সর্বাধিক সংখ্যার সংখ্যাটি" হিসাবে প্রশ্নটি পড়েছি kসাইকেলে একটি n-ভারটেক্স গ্রাফ যে নেই mযে কোনও জন্য m>k? "তাই mকোনও প্যারামিটার নয়, এটি সর্বজনীনভাবে পরিমাণযুক্ত
সাশো নিকোলভ

আমি ধরে নিয়েছি আপনি প্ররোচিত চক্র (গর্ত) সম্পর্কে কথা বলছেন। আপনি যদি সর্বনিম্ন সংখ্যা চান তবে এটি অবশ্যই 0, একটি খালি গ্রাফ। আপনি যদি সর্বোচ্চ সংখ্যা চান তবে এটি কে = 3 এর জন্য n ^ 3 (সম্পূর্ণ গ্রাফটি বিবেচনা করুন)।
Yixin Cao

@ ইয়িক্সিনকাও কে = 3 এর জন্য, আপনি যদি 'এন' শীর্ষক সমেত একটি সম্পূর্ণ গ্রাফ বিবেচনা করেন তবে আমাদের চক্র থাকবে যার দৈর্ঘ্য ৩ এর বেশি I কে
কুমার

উত্তর:


5

এইটা না O(n) যদি না k=3। জন্যk এমনকি, সম্পূর্ণ দ্বিপক্ষীয় গ্রাফে একটি চক্রের সর্বাধিক দৈর্ঘ্য Kn,k/2 হয় k, এবং দৈর্ঘ্যের সংখ্যা-k চক্র হয় (k21)!nk/2=Θ(nk/2)। এই ক্ষেত্রে,K2,n 4 টি চক্রের একটি চতুর্ভুজ সংখ্যা রয়েছে, তবে 4 টির বেশি চক্র নেই।

অন্যদিকে, যে কোনও ধ্রুবক সীমাবদ্ধতার জন্য k দীর্ঘতম চক্রের দৈর্ঘ্যে, ত্রিভুজগুলির সংখ্যাটি আসলে O(n)। এখানে একটি দ্রুত প্রমাণ রয়েছে: গভীরতম প্রথম অনুসন্ধানের গাছে প্রতিটি প্রান্তটি তার দুটি প্রান্তের নীচ থেকে সর্বাধিক পূর্বপুরুষের কাছে যায়k1 পদক্ষেপগুলি পিছনে, তাই গাছের কোনও পাতায় সর্বাধিক ডিগ্রি থাকে k1এবং সর্বাধিক ত্রিভুজগুলির অন্তর্গত । এবার পাতাটি সরিয়ে আনুন।(k12)


হ্যাঁ, আপনি ঠিক বলেছেন :)
কুমারী

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.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.