Hamiltonovská kružnice Cvičení k předmětu MA007 Matematická logika, podzim 2009 Tomáš Brázdil a Jan Krčál Definice 1. Orientovaný graf je dvojíce G = (V, E), kde V je soubor vrcholů a E C V2 je soubor orientovaných hran mezi vrcholy. Definice 2. Nechi G = (V, E) je orientovaný graf a n = \V\. Hamiltonovská kružnice (HK) v orientovaném grafu G je posloupnost vrcholů vq, v i, ..., vn taková, že 1. pro všechna 0 < i < n piati («j, vi+i) G E 2. pro všechna 0 < i < j < n platí v^ ^ v j 3. v0 = vn Cvičení. Nechi G je orientovaný graf takový, že n = \V\ > 2. Zadejte formuli ip takovou, že platí ip je splnitelná -<=> G obsahuje Hamiltonovskou kružnici (1) a ip lze sestrojit v polynomiálním čase. Poznámka. Naším úkolem je tedy redukovat problém Hamiltonovské kružnice na NP-úplný problém splnitelnosti výrokových formuli (SAT) v polynomiálním čase. Protože n > 2, graf G obsahuje HK právě tehdy, když graf (V, E\ {(w, u) \ u G V}) (tedy G bez smyček) obsahuje HK. Budeme předpokládat, že pro každé u G V platí (w, u) ^ E (jinými slovy, že G neobsahuje smyčky). Dále budeme předpokládat, že pro každé u e V existuje alespoň jedno v G V takové, že (w, v) G E. Klíčem k řešení je následující alternativní charakterizace HK v grafu G. Definice 3. Řekneme, že soubor hran K G E je HK pokud splňuje následující podmínky: A. pro každé u G V existuje právě jedno v G V takové, že (w, v) G K (tedy každý vrchol u G V má právě jednu výstupní hranu v K). B. \Jl=íKl = V x V 1 (tedy pro každou dvojící vrcholů w, v G V platí, že existuje cesta "po hranách z K" z vrcholu u do vrcholu v) Lemma 1. G obsahuje HK právě když existuje soubor hran K C E, který je HK. ^^Pro dané soubory hran K, L C E definujeme K ■ L := {(u, v) | =!iu G V : (u, w) G K a (w, v) G L} Definujeme K1 = K a pro í > 1 definujeme ííl+1 := Kz ■ K. (Všimněte si, že Kz ■ K = K ■ Kz, a že (u, v) G Kz právě tehdy, když v grafu (V, K) existuje orientovaná cesta délky í z -u do v.) 1 Důkaz. Nechť vq, v\, • • • vn je HK. Nyní soubor K = {(v0, ví), (vi, v2), ■ ■ ■, (vn-í, vn), (vn, v0)} je zřejmě HK dle Definice 3. Naopak, nechť K je HK. Definujme posloupnost vrcholů vq,v\, ... ,vn kde • vo je libovolný vrchol • pro každé 0 < i < n je Vi+i unikátni vrchol splňující (ví, Vj+i) G K Ukážeme, že u> = vq, v\, ..., vn je HK. Z podmínky A. plyne, že dennice u> je korektní, protože každé vi má právě jednu výchozí hranu v K. Zbývá dokázat podmínky 1. - 3. z Definice 2. Podmínka 1. plyne přímo z definice u> a z K C E. Podmínky 2. a 3. vyplynou snadno z následujícího tvrzení: Pokud pro nějaká 0 < i < j < n platí v i = Vj, pak pro každé 1 < £ < n platí {u | (ví, u) G Ke} C {ví, vi+1,..., Vj} (2) Důkaz povedeme indukcí vzhledem k i. Pokud i = 1, pak díky podmínce A., {u | (ví,u) G Ke} = {u | (ví,u) £ K} = {vi,vi+1} C {vi,vi+1,.. .,Vj} Předpokládejme, že (2) platí pro £ a uvažme £+1. Nechť (vi,u) G Ke+1. Ukážeme, že m G {ví, vi+i,..., Vj}. Jelikož (vi: u) G Ke+1 = Ke ■ K, existuje w e V takové, že (ví,w) G K£ a (w,u) G if. Z indukčního předpokladu (který aplikujeme na (ví,w)) obdržíme, že w G {ví,Ví+\, ..., Vj}, tedy w = vj. pro nějaké i < k < j. Z definice u> plyne, že pokud k < j, pak u = Vk+i a pokud k = j, pak u = Vj+i. Tedy u G {Vi,Vi+l,...,Vj}. Nyní můžeme snadno dokázat podmínky 2. & 3. z Definice 2. Nejprve předpokládejme, že podmínka 2. není splněna, tedy že existují 0 < i < j < n taková, že ví = Vj. Potom ovšem (2) implikuje, že existuje nejvýše j — i < n vrcholů u e V takových, že (ví, u) G U"=i ^i coz Je ve sporu s podmínkou B. Nyní předpokládejme, že podmínka 3. není splněna, tedy že vn ^ vq. Z Dirichletova principu plyne, že musí existovat 0 < i < j < n taková, že Ví = Vj. Z»„^ vq plyne buď i > 0 nebo j < n. Pak ovšem z (2) plyne, že existuje nejvýše j — i < n vrcholů u e V takových, že (vi: u) G U™=i ^i což je ve sporu s podmínkou B. D Díky Lemmatu 1 zřejmě stačí zkonstruovat formuli ip, která je splnitelná právě tehdy, když existuje množina K, která je HK dle Definice 2. Nejprve musíme určit, jaké výrokové proměnné budeme ve formuli ip používat. Pro každou hranu (u, v) G E zavedeme výrokovou proměnnou Xuv. Každá valuace v nám potom bude zadávat množinu hran K1J = {(u,v)eE\v(Xuv) = l} Formuli
) = 1 právě tehdy, když Kv je HK. Potom Lemma 1 implikuje, že