Скільки циклів є в а вершинна графіка така, що на графіку немає жодного циклу .
Наприклад , , тоді графік матиме максимум два так, що не матиме жодної
Я думаю, що є цикли будуть там задовольняти вищевказаним умовам.
Може хтось мені допоможе.
Скільки циклів є в а вершинна графіка така, що на графіку немає жодного циклу .
Наприклад , , тоді графік матиме максимум два так, що не матиме жодної
Я думаю, що є цикли будуть там задовольняти вищевказаним умовам.
Може хтось мені допоможе.
Відповіді:
Це не так хіба що . Для навіть, максимальна тривалість циклу в повному двопартійному графіку є , і кількість довжини- циклів є . Наприклад, має квадратичне число 4-циклів, але немає циклів довше 4.
З іншого боку, для будь-якої постійної пов'язаної на тривалість найдовшого циклу дійсно є кількість трикутників . Ось швидкий доказ: у першому глибинному дереві пошуку кожен край переходить від нижньої його двох кінцевих точок до максимум предка кроки назад, тому будь-який листок дерева має максимум ступеня і належить максимум трикутників. Тепер видаліть листочок і індукуйте.
Я написав коротку програму чілінго для перевірки малих значень (вона може швидко обробляти графіки до 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.