This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Using edge cuts
to find Euler tours and Euler families in hypergraphs

Mateja Šajna111Corresponding author. Email: [email protected]. Mailing address: Department of Mathematics and Statistics, University of Ottawa, 150 Louis-Pasteur Private, Ottawa, ON, K1N 6N5, Canada.   and Andrew Wagner
University of Ottawa
Abstract

An Euler tour in a hypergraph is a closed walk that traverses each edge of the hypergraph exactly once, while an Euler family is a family of closed walks that jointly traverse each edge exactly once and cannot be concatenated. In this paper, we show how the problem of existence of an Euler tour (family) in a hypergraph HH can be reduced to the analogous problem in some smaller hypergraphs that are derived from HH using an edge cut of HH. In the process, new techniques of edge cut assignments and collapsed hypergraphs are introduced. Moreover, we describe algorithms based on these characterizations that determine whether or not a hypergraph admits an Euler tour (family), and can also construct an Euler tour (family) if it exists.

Keywords: Hypergraph; Euler tour; Euler family; edge cut; edge cut assignment; collapsed hypergraph; algorithm.

1 Introduction

It is common knowledge that a connected graph admits an Euler tour — that is, a closed walk traversing each edge of the graph exactly once — if and only if the graph has no vertices of odd degree. The notion of an Euler tour can be generalized to hypergraphs in the obvious way, and has been studied as such in [5, 1]. In addition, Bahmanian and Šajna [1] also introduced the notion of an Euler family, which is a family of closed walks that jointly traverse each edge of the hypergraph exactly once and cannot be concatenated. For a connected graph, an Euler family precisely corresponds to an Euler tour; for general connected hypergraphs, however, the two notions give rise to two rather distinct problems: Euler family, which is of polynomial complexity [1], and Euler tour, which is NP-complete [5]. The question of how to reduce the search for an Euler family or tour in a hypergraph to smaller hypergraphs is thus particularly pertinent in the case of Euler tours.

An Euler tour (family) is called spanning if it traverses every vertex of the hypergraph. In [6], Steimle and Šajna showed how to use certain vertex cuts to reduce the problem of finding a spanning Euler tour (family) in a hypergraph HH to some smaller hypergraphs derived from subhypergraphs of HH. In the present paper, with the same goal in mind, we shall use edge cuts instead. This new approach represents a major improvement over the results from [6]. First, it can be used for general Euler tours and families, not just for spanning Euler tours and families. Second, while the main results from [6] apply only to hypergraphs with vertex cuts of cardinality at most two, the present approach applies to edge cuts of any size, and hence to all hypergraphs, as every non-trivial hypergraph has an edge cut. In addition, we introduce new elegant techniques of edge cut assignments and collapsed hypergraphs, which will be useful in problems beyond the scope of this paper.

After reviewing the terminology and providing some basic tools in Section 2, we shall introduce edge cuts in Section 3, and the first main tool — edge cut assignments — in Section 4. The key result of this section is Theorem 4.4, where we show that a hypergraph admits an Euler family (tour) if and only if there exists an edge cut assignment such that the associated hypergraph admits an Euler family (tour). This theorem forms the basis of all reduction results and algorithms.

In Section 5, we present our first main reduction result. Namely, in Theorems 5.2 and 5.3 we show that a hypergraph HH with a minimal edge cut FF admits an Euler family (tour) if and only if certain subhypergraphs of H (obtained from the connected components of H\FH{\backslash}F) admit an Euler family (tour).

We begin Section 6 by introducing a collapsed hypergraph of a hypegraph HH; that is, a hypergraph obtained from HH by “collapsing” (identifying) the vertices in a given subset of the vertex set of HH. We then present our second main reduction result. In Theorem 6.2, we show that a hypergraph HH admits an Euler family if and only if certain collapsed hypergraphs obtained via an edge cut assignment admit Euler families. The analogous result for Euler tours is presented in Corollaries 6.3 and 6.4; the former contains the proof of necessity, while the latter contains the proof of sufficiency, but requires an additional assumption.

Each of Sections 5 and 6 concludes with a description of pertinent algorithms that determine whether or not a hypergraph admits an Euler family (tour). Since all of our proofs are constructive, the algorithms can easily be modified to construct an Euler family (tour) if one exists.

2 Preliminaries

We begin with some basic concepts related to hypergraphs, which will be used in later discussions. For any graph- and hypergraph-theoretic terms not defined here, we refer the reader to [3] and [2], respectively.

A hypergraph HH is an ordered pair (V,E)(V,E), where VV is a non-empty finite set and EE is a finite multiset of 2V2^{V}. To denote multisets, we shall use double braces, {{.}}\left\{\!\!\left\{.\right\}\!\!\right\}. The elements of V=V(H)V=V(H) and E=E(H)E=E(H) are called vertices and edges, respectively. A hypergraph is said to be trivial if it has only one vertex, and empty if it has no edges. The size of a hypergraph H=(V,E)H=(V,E) is |H|=eE|e||H|=\sum_{e\in E}|e|.

Let H=(V,E)H=(V,E) be a hypergraph, and u,vVu,v\in V. If uvu\neq v and there exists an edge eEe\in E such that u,veu,v\in e, then we say that uu and vv are adjacent (via the edge ee); this is denoted uHvu\sim_{H}v. If vVv\in V and eEe\in E are such that vev\in e, then vv is said to be incident with ee, and the ordered pair (v,e)(v,e) is called a flag of HH. The set of flags of HH is denoted by F(H)F(H). The degree of a vertex vVv\in V is the number of edges in EE incident with vv, and is denoted by degH(v)\deg_{H}(v), or simply deg(v)\deg(v) when there is no ambiguity.

A hypergraph H=(V,E)H^{\prime}=(V^{\prime},E^{\prime}) is called a subhypergraph of the hypergraph H=(V,E)H=(V,E) if VVV^{\prime}\subseteq V and E={{eV:eE′′}}E^{\prime}=\left\{\!\!\left\{e\cap V^{\prime}:e\in E^{\prime\prime}\right\}\!\!\right\} for some submultiset E′′E^{\prime\prime} of EE. For any subset VVV^{\prime}\subseteq V, we define the subhypergraph of HH induced by VV^{\prime} to be the hypergraph (V,E)(V^{\prime},E^{\prime}) with E={{eV:eE,eV}}E^{\prime}=\left\{\!\!\left\{e\cap V^{\prime}:e\in E,e\cap V^{\prime}\neq\emptyset\right\}\!\!\right\}. Thus, we obtain the subhypergraph induced by VV^{\prime} by deleting all vertices in VVV-V^{\prime} from VV and from each edge of HH, and subsequently deleting all empty edges. For any subset EEE^{\prime}\subseteq E, we denote the subhypergraph (V,EE)(V,E-E^{\prime}) of HH by H\EH{\backslash}E^{\prime}, and for eEe\in E, we write H\eH{\backslash}e instead of H\{e}H{\backslash}\{e\}. For any multiset EE^{\prime} of 2V2^{V}, the symbol H+EH+E^{\prime} will denote the hypergraph obtained from HH by adjoining all edges in EE^{\prime}.

A (v0,vk)(v_{0},v_{k})-walk of length kk in a hypergraph HH is an alternating sequence W=v0e1v1W=v_{0}e_{1}v_{1}\ldots vk1ekvkv_{k-1}e_{k}v_{k} of (possibly repeated) vertices and edges such that v0,,vkVv_{0},\ldots,v_{k}\in V, e1,,ekEe_{1},\ldots,e_{k}\in E, and for each i{1,,k}i\in\{1,\ldots,k\}, the vertices vi1v_{i-1} and viv_{i} are adjacent in HH via the edge eie_{i}. Note that since adjacent vertices are by definition distinct, no two consecutive vertices in a walk can be the same. It follows that no walk in a hypergraph contains an edge of cardinality less than 2. The vertices in Va(W)={v0,,vk}V_{a}(W)=\{v_{0},\ldots,v_{k}\} are called the anchors of WW, vertices v0v_{0} and vkv_{k} are the endpoints of WW, and v1,,vk1v_{1},\ldots,v_{k-1} are the internal vertices of WW. We also define the edge set of WW as E(W)={e1,,ek}E(W)=\{e_{1},\ldots,e_{k}\}, and the set of anchor flags of WW as F(W)={(v0,e1),(v1,e1),(v2,e2),,(vk1,ek),(vk,ek)}F(W)=\{(v_{0},e_{1}),(v_{1},e_{1}),(v_{2},e_{2}),\ldots,(v_{k-1},e_{k}),(v_{k},e_{k})\}. Walks WW and WW^{\prime} in a hypergraph HH are said to be edge-disjoint if E(W)E(W)=E(W)\cap E(W^{\prime})=\emptyset, and anchor-disjoint if Va(W)Va(W)=V_{a}(W)\cap V_{a}(W^{\prime})=\emptyset.

A walk W=v0e1v1vk1ekvkW=v_{0}e_{1}v_{1}\ldots v_{k-1}e_{k}v_{k} is called closed if v0=vkv_{0}=v_{k} and k2k\geq 2; a trail if the edges e1,,eke_{1},\ldots,e_{k} are pairwise distinct; a path if it is a trail and the vertices v0,,vkv_{0},\ldots,v_{k} are pairwise distinct; and a cycle if it is a closed trail and the vertices v0,,vk1v_{0},\ldots,v_{k-1} are pairwise distinct. (Note that in [2], a “trail” was defined as a walk with no repeated anchor flags, and a walk with no repeated edges was called a “strict trail”. In this paper, we shall consider only strict trails, and hence use the shorter term “trail” to mean a “strict trail”.)

A walk W=v0e1v1vk1ekvkW=v_{0}e_{1}v_{1}\ldots v_{k-1}e_{k}v_{k} is said to traverse a vertex vv and edge ee if vVa(W)v\in V_{a}(W) and eE(W)e\in E(W), respectively. More specifically, the walk WW is said to traverse the edge ee via vertex vv, as well as traverse vertex vv via edge ee, if either evev or veve is a subsequence of WW.

Vertices uu and vv are connected in a hypergraph HH if there exists a (u,v)(u,v)-walk — or equivalently, a (u,v)(u,v)-path [2, Lemma 3.9] — in HH, and HH itself is connected if every pair of vertices in VV are connected in HH. The connected components of HH are the maximal connected subhypergraphs of HH without empty edges. The number of connected components of HH is denoted by c(H)c(H).

An Euler tour of a hypergraph HH is a closed trail of HH traversing every edge of HH, and a hypergraph is said to be eulerian if it either admits an Euler tour or is trivial and empty. An Euler family of HH is a set of pairwise edge-disjoint and anchor-disjoint closed trails of HH jointly traversing every edge of HH. Clearly, an Euler family of cardinality 1 corresponds to an Euler tour, and vice-versa. An Euler family \cal F of HH is said to be spanning if every vertex of HH is an anchor of a closed trail in \cal F, and an Euler tour of HH is spanning if it traverses every vertex of HH.

The following two observations will be frequently used tools in the rest of the paper. Their easy proofs are omitted.

Lemma 2.1

Let HH be a hypergraph with connected components Hi,H_{i}, for iIi\in I. Then the following hold.

  1. (i)

    If, for each iIi\in I, we have that HiH_{i} has an Euler family i{\mathcal{F}}_{i}, then iIi\bigcup_{i\in I}{\mathcal{F}}_{i} is an Euler family of HH. If each i{\mathcal{F}}_{i} is spanning in HiH_{i}, then {\mathcal{F}} is spanning in HH.

  2. (ii)

    If HH has an Euler family {\mathcal{F}}, then {\mathcal{F}} has a partition {i:iI}\{{\mathcal{F}}_{i}:i\in I\} such that, for each iIi\in I, we have that i{\mathcal{F}}_{i} is an Euler family of HiH_{i}. If {\mathcal{F}} is spanning in HH, then i{\mathcal{F}}_{i} is spanning in HiH_{i}, for each iIi\in I.

Lemma 2.2

Let H1H_{1} and H2H_{2} be hypergraphs such that V(H1)V(H2)V(H_{1})\subseteq V(H_{2}) and there exists a bijection φ:E(H1)E(H2)\varphi:E(H_{1})\to E(H_{2}) satisfying eφ(e)e\subseteq\varphi(e) for all eE(H1)e\in E(H_{1}). Then the following hold.

  1. (i)

    If H1H_{1} has an Euler family 1{\mathcal{F}}_{1}, then H2H_{2} has an Euler family 2{\mathcal{F}}_{2} obtained from 1{\mathcal{F}}_{1} by replacing each edge ee with φ(e)\varphi(e).

  2. (ii)

    If H2H_{2} has an Euler family 2{\mathcal{F}}_{2} such that for all eE(H2)e\in E(H_{2}) we have that ee is traversed in 2{\mathcal{F}}_{2} via vertices in φ1(e)\varphi^{-1}(e), then H1H_{1} has an Euler family 1{\mathcal{F}}_{1} obtained from 2{\mathcal{F}}_{2} by replacing each edge ee with φ1(e)\varphi^{-1}(e).

Lemma 2.2 also gives rise to the following tool, to be used in our algorithms.

Corollary 2.3

Let H=(V,E)H=(V,E) be a hypergraph, and GG an even graph with V(G)VV(G)\subseteq V and E(G)EE(G)\subseteq E. Then the following hold.

  1. (i)

    HH has an Euler family if and only if H\E(G)H{\backslash}E(G) does.

  2. (ii)

    Assume GG is connected and CC is a cycle (graph) on the vertex set V(G)V(G). Then HH has an Euler tour if and only if (H\E(G))+E(C)\left(H{\backslash}E(G)\right)+E(C) does.

Proof.

  1. (i)

    Assume HH has an Euler family {\mathcal{F}}. Let GG_{{\mathcal{F}}} be the graph with vertex set VV and E(G)={{ψ(e):eE}}E(G_{{\mathcal{F}}})=\left\{\!\!\left\{\psi(e):e\in E\right\}\!\!\right\}, where ψ(e)={x,y}\psi(e)=\{x,y\} if {\mathcal{F}} traverses ee via its vertices xx and yy. By Lemma 2.2(ii), the graph GG_{{\mathcal{F}}} has an Euler family, and hence is even. Therefore G\E(G)G_{{\mathcal{F}}}{\backslash}E(G) is even and possesses an Euler family, and hence by Lemma 2.2(i), the hypergraph H\E(G)H{\backslash}E(G) possesses an Euler family.

    Conversely, assume that H\E(G)H{\backslash}E(G) admits an Euler family 1{\mathcal{F}}_{1}, and let G{\mathcal{F}}_{G} be an Euler family of GG. Then an Euler family of HH is obtained from 1G{\mathcal{F}}_{1}\cup{\mathcal{F}}_{G} is by concatenating any closed trails with a common anchor.

  2. (ii)

    Let H=(H\E(G))+E(C)H^{\prime}=\left(H{\backslash}E(G)\right)+E(C).

    Assume HH has an Euler tour TT. Let GTG_{T} be the graph with vertex set VV and E(GT)={{ψ(e):eE}}E(G_{T})=\left\{\!\!\left\{\psi(e):e\in E\right\}\!\!\right\}, where ψ(e)={x,y}\psi(e)=\{x,y\} if TT traverses ee via its vertices xx and yy. By Lemma 2.2(ii), the graph GTG_{T} has an Euler tour, and hence is even and connected. Let GT=(GT\E(G))+E(C)G_{T}^{\prime}=\left(G_{T}{\backslash}E(G)\right)+E(C). Then GTG_{T}^{\prime} is a connected even graph, and hence admits an Euler tour. By Lemma 2.2(i), the hypergraph HH^{\prime} admits an Euler tour.

    The converse is obtained similarly, interchanging the roles of HH and HH^{\prime}, and those of GG and CC.

a

3 Edge cuts in hypergraphs

As in graphs [3], an edge cut in a hypergraph H=(V,E)H=(V,E) is a (multi)set of edges of the form [S,VS]H[S,V-S]_{H} for some non-empty proper subset SS of VV. Here, for any S,TVS,T\subseteq V, we denote

[S,T]H={{eE:eS and eT}}.[S,T]_{H}=\left\{\!\!\left\{e\in E:e\cap S\neq\emptyset\mbox{ and }e\cap T\neq\emptyset\right\}\!\!\right\}.

An edge ee in a hypergraph HH is said to be a cut edge of HH if c(H\e)>c(H)c(H{\backslash}e)>c(H). Thus, an edge ee is a cut edge if and only if {e}\{e\} is an edge cut.

Lemma 3.1

Let H=(V,E)H=(V,E) be a hypergraph and FE.F\subseteq E. Then H\FH{\backslash}F is disconnected if and only if HH has an edge cut FFF^{\prime}\subseteq F.

Proof. Assume H\FH{\backslash}F is disconnected, let H1H_{1} be one connected component of H\FH{\backslash}F, and S=V(H1)S=V(H_{1}). Then F=[S,VS]HF^{\prime}=[S,V-S]_{H} is an edge cut of HH contained in FF.

Conversely, assume HH has an edge cut FFF^{\prime}\subseteq F, where F=[S,VS]HF^{\prime}=[S,V-S]_{H} for SV\emptyset\subsetneq S\subsetneq V. Then H\FH{\backslash}F has no edge intersecting both SS and VSV-S, so it is disconnected. a

As we shall see in the next lemma, minimal edge cuts — that is, edge cuts that are not properly contained in other edge cuts — have a very nice property that will be much exploited in subsequent results. Note that, for a hypergraph H=(V,E)H=(V,E) and its subhypergraph HH^{\prime}, we say that an edge eEe\in E intersects HH^{\prime} if eV(H)e\cap V(H^{\prime})\neq\emptyset.

Lemma 3.2

Let H=(V,E)H=(V,E) be a hypergraph. An edge cut FF of HH is minimal if and only if every edge of FF intersects each connected component of H\FH{\backslash}F.

Proof. Assume FF is a minimal edge cut of HH. Suppose H1H_{1} is a connected component of H\FH{\backslash}F, and fFf\in F is such that ff does not intersect H1H_{1}. Let S=V(H1)S=V(H_{1}) and F=F{f}F^{\prime}=F-\{f\}. Then [S,VS]HFF[S,V-S]_{H}\subseteq F^{\prime}\subsetneq F, contradicting the minimality of FF. Thus every edge of FF intersects each connected component of H\FH{\backslash}F.

Conversely, assume each edge of FF intersects every connected component of H\FH{\backslash}F. Suppose FF^{\prime} is an edge cut of HH and FFF^{\prime}\subsetneq F. Take any fFFf\in F-F^{\prime}. Since ff intersects every connected component of H\FH{\backslash}F, the hypergraph H+f=H\FH+f=H{\backslash}F^{\prime} is connected. Hence by Lemma 3.1, the set FF^{\prime} contains no edge cut of HH, a contradiction. Hence the edge cut FF is minimal. a

In our algorithms, it will be helpful to find minimal edge cuts containing edges of cardinality at least 3. The proof of the next lemma explains how this can be done.

Lemma 3.3

Let H=(V,E)H=(V,E) be a connected hypergraph, and ee^{\ast} an edge of HH of cardinality at least 3. Then HH admits a minimal edge cut FF^{\ast} such that eFe^{\ast}\in F^{\ast} or FF^{\ast} has no edges of cardinality less than 3.

Proof. Fix a vertex xex\in e^{\ast}, and let F={{eE:xe}}F=\left\{\!\!\left\{e\in E:x\in e\right\}\!\!\right\}. Then FF is an edge cut; let H1,,HkH_{1},\ldots,H_{k} be the connected components of H\FH{\backslash}F. Without loss of generality, we may assume that ee^{\ast} intersects H1H_{1}.

Let F1={{eF:eV(H1)}}F_{1}=\left\{\!\!\left\{e\in F:e\cap V(H_{1})\neq\emptyset\right\}\!\!\right\}, so eF1e^{\ast}\in F_{1}. Since vertices of H1H_{1} are disconnected from vertex xx in H\F1H{\backslash}F_{1}, by Lemma 3.1, there exists a minimal edge cut FF1F^{\ast}\subseteq F_{1}.

Let H0,H1,,HH_{0}^{\ast},H_{1}^{\ast},\ldots,H_{\ell}^{\ast} be the connected components of H\FH{\backslash}F^{\ast}. Observe that, without loss of generality, we may assume that xV(H0)x\in V(H_{0})^{\ast}, while H1,,H{H1,,Hk}H_{1}^{\ast},\ldots,H_{\ell}^{\ast}\in\{H_{1},\ldots,H_{k}\}.

If 2\ell\geq 2, then by Lemma 3.2, each edge of FF^{\ast} has cardinality at least 3. Hence we may assume that =1\ell=1. If H1=H1H_{1}^{\ast}=H_{1}, then eFe^{\ast}\in F^{\ast}, and we are done. Otherwise, each edge in {\mathcal{F}}^{\ast} contains xx, as well as a vertex in H1H_{1} and a vertex in H1H_{1}^{\ast}, and hence has cardinality at least 3.

We conclude that eFe^{\ast}\in F^{\ast} or each edge of FF^{\ast} has cardinality at least 3, as claimed. a

4 Edge Cut Assignments

We are now ready to present the first of the two main tools that we shall use to study eulerian properties of hypergraphs via their edge cuts; namely, an edge cut assignment α\alpha associated with an edge cut FF of a hypergraph HH, which maps each edge of FF to an unordered pair of connected components (or, more generally, unions of connected components) of H\FH{\backslash}F.

Note that, for a finite set II, we denote the set of all unordered pairs of elements in II, with repetitions in a pair permitted, by I[2]I^{[2]}; that is, I[2]={ij:i,jI}I^{[2]}=\{ij:i,j\in I\}. Thus, |I[2]|=12n(n+1)|I^{[2]}|=\frac{1}{2}n(n+1).

Definition 4.1

Let HH be a connected hypergraph with a minimal edge cut FF, and let {Vi:iI}\{V_{i}:i\in I\} be a partition of V(H)V(H) such that each ViV_{i} is a union of the vertex sets of the connected components of H\FH{\backslash}F.

  • A mapping α:FI[2]\alpha:F\to I^{[2]} is called an edge cut assignment (associated with FF and HH) if, for all fFf\in F, we have that α(f)=ij\alpha(f)=ij implies that fVif\cap V_{i}\neq\emptyset and fVjf\cap V_{j}\neq\emptyset, and α(f)=i\alpha(f)=i implies that |fVi|2|f\cap V_{i}|\geq 2.

  • An edge cut assignment α:FI[2]\alpha:F\to I^{[2]} is called standard if ViV_{i}, for each iIi\in I, is the vertex set of a connected component of H\FH{\backslash}F.

  • Given an edge cut assignment α\alpha, we define, for each eE(H)e\in E(H),

    eα={e(ViVj) if eF and α(e)=ije if eF.e^{\alpha}=\left\{\begin{array}[]{ll}e\cap\left(V_{i}\cup V_{j}\right)&\mbox{ if }e\in F\mbox{ and }\alpha(e)=ij\\ e&\mbox{ if }e\not\in F\end{array}\right..
  • A hypergraph HαH^{\alpha}, defined by

    V(Hα)=V(H)andE(Hα)={{eα:eE(H)}},V(H^{\alpha})=V(H)\quad\mbox{and}\quad E(H^{\alpha})=\left\{\!\!\left\{e^{\alpha}:e\in E(H)\right\}\!\!\right\},

    is called the hypergraph associated with HH and the edge cut assignment α\alpha.

  • A multigraph GαG^{\alpha} with vertex set V(Gα)=IV(G^{\alpha})=I and edge multiset E(Gα)={{α(f):fF}}E(G^{\alpha})=\left\{\!\!\left\{\alpha(f):f\in F\right\}\!\!\right\} is called the multigraph associated with the edge cut assignment α\alpha. Thus α\alpha can be viewed as a bijection FE(Gα)F\to E(G^{\alpha}).

The usefulness of these concepts will be conveyed in the following three observations, the last of which yields necessary and sufficient conditions for a hypergraph to admit an Euler family (tour) via an edge cut assignment α\alpha and the associated hypergraph HαH^{\alpha}.

Lemma 4.2

Let HH be a connected hypergraph with a minimal edge cut FF, and let {Vi:iI}\{V_{i}:i\in I\} be a partition of V(H)V(H) into unions of the vertex sets of the connected components of H\FH{\backslash}F. Furthermore, let α:FI[2]\alpha:F\to I^{[2]} be an edge cut assignment. If HαH^{\alpha} has an Euler family (tour), then so does GαG^{\alpha}.

Proof. Let {\mathcal{F}} be an Euler family of HαH^{\alpha}, and {\mathcal{F}}^{\prime} the subset of {\mathcal{F}} consisting of all closed trails that traverse at least on edge of FF. Take any closed trail TT\in{\mathcal{F}}^{\prime}. Then, without loss of generality, TT is of the form T=v0T0v0f0αv1T1v1f1αv2vk1Tk1vk1fk1αv0T=v_{0}T_{0}v_{0}^{\prime}f_{0}^{\alpha}v_{1}T_{1}v_{1}^{\prime}f_{1}^{\alpha}v_{2}\ldots v_{k-1}T_{k-1}v_{k-1}^{\prime}f_{k-1}^{\alpha}v_{0} for some f0,,fk1Ff_{0},\ldots,f_{k-1}\in F and (vi,vi)(v_{i},v_{i}^{\prime})-trails TiT_{i} in HiH_{i}, for i{0,,k1}i\in\{0,\ldots,k-1\}. Obtain the sequence TαT^{\alpha} from TT by replacing each subsequence viTiviv_{i}T_{i}v_{i}^{\prime} with ii, and each edge fiαf_{i}^{\alpha} with α(fi)\alpha(f_{i}). Then TαT^{\alpha} is a closed trail in GαG^{\alpha}, and {Tα:T}\{T^{\alpha}:T\in{\mathcal{F}}^{\prime}\} is an Euler family of GαG^{\alpha}.

Moreover, if TT is an Euler tour of HαH^{\alpha}, then TαT^{\alpha} is Euler tour of GαG^{\alpha}. a

Lemma 4.3

Let HH be a connected hypergraph with a minimal edge cut FF, and let {Vi:iI}\{V_{i}:i\in I\} be a partition of V(H)V(H) into unions of the vertex sets of the connected components of H\FH{\backslash}F.

  1. (i)

    Suppose HH has an Euler family {\mathcal{F}}. Let α:FI[2]\alpha:F\to I^{[2]} be an edge cut assignment defined by α(f)=ij\alpha(f)=ij if the edge fFf\in F is traversed by a trail in {\mathcal{F}} via a vertex in ViV_{i} and a vertex in VjV_{j} (where i=ji=j is possible). Then the hypergraph HαH^{\alpha} has an Euler family obtained from {\mathcal{F}} by replacing each fFf\in F with fαf^{\alpha}.

  2. (ii)

    Conversely, if for some edge cut assignment α:FI[2]\alpha:F\to I^{[2]}, the associated hypergraph HαH^{\alpha} has an Euler family α{\mathcal{F}}^{\alpha}, then HH has an Euler family obtained from α{\mathcal{F}}^{\alpha} by replacing each fαf^{\alpha}, for fFf\in F, with ff.

Proof.

  1. (i)

    Define a bijection φ:E(Hα)E(H)\varphi:E(H^{\alpha})\to E(H) by φ(eα)=e\varphi(e^{\alpha})=e, for all eE(H)e\in E(H). Then eαφ(eα)e^{\alpha}\subseteq\varphi(e^{\alpha}) for all eαE(Hα)e^{\alpha}\in E(H^{\alpha}). By Lemma 2.2(ii), since each edge ee of HH is traversed in {\mathcal{F}} via vertices in φ1(e)\varphi^{-1}(e), an Euler family of HαH^{\alpha} is obtained from {\mathcal{F}} by replacing each edge ee with φ1(e)\varphi^{-1}(e), which effectively means replacing each fFf\in F with fαf^{\alpha}.

  2. (ii)

    Define φ\varphi as in (i) and use Lemma 2.2(i).

a

Theorem 4.4

Let HH be a connected hypergraph with a minimal edge cut FF, and let {Vi:iI}\{V_{i}:i\in I\} be a partition of V(H)V(H) into unions of the vertex sets of the connected components of H\FH{\backslash}F. Then

  1. (i)

    HH has an Euler family if and only if for some edge cut assignment α:FI[2]\alpha:F\to I^{[2]}, each connected component of HαH^{\alpha} has an Euler family; and

  2. (ii)

    HH has an Euler tour if and only if for some edge cut assignment α:FI[2]\alpha:F\to I^{[2]}, the hypergraph HαH^{\alpha} has a unique non-empty connected component, which has an Euler tour.

Proof. Observe that, by Lemma 4.3, a hypergraph HH has an Euler family of cardinality kk if and only if for some edge cut assignment α\alpha, the associated hypergraph HαH^{\alpha} has an Euler family of cardinality kk.

  1. (i)

    Since by Lemma 2.1, HαH^{\alpha} has an Euler family if and only if each of its connected components has an Euler family, the statement follows.

  2. (ii)

    From the above observation, HH has an Euler tour if and only if HαH^{\alpha}, for some α\alpha, has an Euler tour. Since it is clear that HαH^{\alpha} has an Euler tour if and only if it has a unique non-empty connected component, which itself has an Euler tour, the statement follows.

a

We point out that Theorem 4.4 forms the basis for all other, more specific reductions, as well as for the algorithms presented in the rest of this paper.

5 Reduction using standard edge cut assignments

In this section, we shall be using only standard edge cut assignments; that is, edge cut assignments arising from partitions of the form {V(Hi):iI}\{V(H_{i}):i\in I\}, where the HiH_{i}, for iIi\in I, are the connected components of H\FH{\backslash}F, and FF is a minimal edge cut in a hypergraph HH.

Lemma 5.1

Let HH be a connected hypergraph with a minimal edge cut FF, and let HiH_{i}, for iIi\in I, be the connected components of H\FH{\backslash}F. Furthermore, let α:FI[2]\alpha:F\to I^{[2]} be a standard edge cut assignment.

  1. (i)

    If GG^{\prime} is a connected component of GαG^{\alpha}, then Hα[iV(G)V(Hi)]H^{\alpha}[\bigcup_{i\in V(G^{\prime})}V(H_{i})] is a connected component of HαH^{\alpha}.

  2. (ii)

    If HH^{\prime} is a connected component of HαH^{\alpha}, then V(H)=iJV(Hi)V(H^{\prime})=\bigcup_{i\in J}V(H_{i}) for some JIJ\subseteq I, and Gα[J]G^{\alpha}[J] is a connected component of GαG^{\alpha}.

Proof.

  1. (i)

    Let GG^{\prime} be a connected component of GαG^{\alpha}, let J=V(G)J=V(G^{\prime}) and H=Hα[iJV(Hi)]H^{\prime}=H^{\alpha}[\bigcup_{i\in J}V(H_{i})].

    Take any i,jJi,j\in J such that iGαji\sim_{G^{\alpha}}j. Then there exists fFf\in F such that α(f)=ij\alpha(f)=ij and fα=f(V(Hi)V(Hj))f^{\alpha}=f\cap(V(H_{i})\cup V(H_{j})). Since ff intersects both HiH_{i} and HjH_{j}, it follows that Hα[V(Hi)V(Hj)]H^{\alpha}[V(H_{i})\cup V(H_{j})] is connected. Therefore HH^{\prime} is connected.

    Moreover, if there exist iJi\in J, jIJj\in I-J, uV(Hi)u\in V(H_{i}), and vV(Hj)v\in V(H_{j}) such that uHαvu\sim_{H^{\alpha}}v, then for some fFf\in F we have that α(f)=ij\alpha(f)=ij, and hence iGαji\sim_{G^{\alpha}}j, a contradiction.

    We conclude that HH^{\prime} is a connected component of HαH^{\alpha}.

  2. (ii)

    Let HH^{\prime} be a connected component of HαH^{\alpha}. Since Hα=(iIHi)+{fα:fF}H^{\alpha}=\left(\bigcup_{i\in I}H_{i}\right)+\{f^{\alpha}:f\in F\}, there exists JIJ\subseteq I such that V(H)=iJV(Hi)V(H^{\prime})=\bigcup_{i\in J}V(H_{i}).

    Take any i,jJi,j\in J. Then for all uV(Hi)u\in V(H_{i}) and vV(Hj)v\in V(H_{j}) we have that uu and vv are connected in HαH^{\alpha}. It is then easy to see that ii and jj are connected in GαG^{\alpha}. Hence Gα[J]G^{\alpha}[J] is connected.

    It then follows from (i) that Gα[J]G^{\alpha}[J] is a connected component of GαG^{\alpha}.

a

We are now ready to prove our first reduction theorem, Theorem 5.2, which states that a hypergraph HH with a minimal edge cut FF admits an Euler family if and only if certain subhypergraphs of HH obtained from the connected components of H\FH{\backslash}F admit Euler families. The analogous result for Euler tours follows in Theorem 5.3.

Theorem 5.2

Let HH be a connected hypergraph with a minimal edge cut FF, and let HiH_{i}, for iIi\in I, be the connected components of H\FH{\backslash}F.

Then HH has a (spanning) Euler family if and only if there exists JIJ\subseteq I with 1|J||F|1\leq|J|\leq|F| such that

  1. (i)

    H[jJV(Hj)]H\left[\bigcup_{j\in J}V(H_{j})\right] has a non-empty (spanning) Euler family, and

  2. (ii)

    HiH_{i} has a (spanning) Euler family for all iIJi\in I-J.

Proof. Assume HH has an Euler family {\mathcal{F}}, and let α:FI[2]\alpha:F\to I^{[2]} be the edge cut assignment defined by α(f)=ij\alpha(f)=ij if the edge fFf\in F is traversed by {\mathcal{F}} via a vertex in HiH_{i} and a vertex in HjH_{j}. Then by Lemma 4.3(i), the associated hypergraph HαH^{\alpha} has an Euler family as well. Let GαG^{\alpha} be the associated multigraph, and JJ the union of the vertex sets of all non-empty connected components of GαG^{\alpha}. Since HH is connected, we have |F|1|F|\geq 1, and hence |J|1|J|\geq 1. Since HαH^{\alpha} has an Euler family, by Lemma 4.2, so does GαG^{\alpha}. Hence Gα[J]G^{\alpha}[J] is an even graph with |J||J| vertices, |F||F| edges, and minimum degree at least 2; it follows that |J||F||J|\leq|F|.

To show (i) and (ii), let V=jJV(Hj)V^{\prime}=\bigcup_{j\in J}V(H_{j}). By Lemma 5.1(i), we have that Hα[V]H^{\alpha}[V^{\prime}] is a union of connected components of HαH^{\alpha}, and HiH_{i}, for each iIJi\in I-J, is a connected component of HαH^{\alpha}. Since HαH^{\alpha} has an Euler family, it follows from Lemma 2.1 that Hα[V]H^{\alpha}[V^{\prime}] has an Euler family, as does HiH_{i}, for each iIJi\in I-J.

It remains to show that H[V]H[V^{\prime}] has a Euler family. Define a bijection φ:E(Hα[V])E(H[V])\varphi:E\left(H^{\alpha}[V^{\prime}]\right)\to E\left(H[V^{\prime}]\right) by φ(eα)=eV\varphi(e^{\alpha})=e\cap V^{\prime}. Then eαφ(eα)e^{\alpha}\subseteq\varphi(e^{\alpha}) for all eαE(Hα[V])e^{\alpha}\in E\left(H^{\alpha}[V^{\prime}]\right), so by Lemma 2.2(i), since Hα[V]H^{\alpha}[V^{\prime}] has an Euler family, so does H[V]H[V^{\prime}]. Moreover, since H[V]H[V^{\prime}] is non-empty, this Euler family is non-empty.

Conversely, assume that there exists JIJ\subseteq I with 1|J||F|1\leq|J|\leq|F| such that (i) and (ii) hold. Let V=jJV(Hj)V^{\prime}=\bigcup_{j\in J}V(H_{j}) and H=H[V]iIJHiH^{\prime}=H[V^{\prime}]\cup\bigcup_{i\in I-J}H_{i}. Then by Lemma 2.1(i), the hypergraph HH^{\prime} admits an Euler family.

Observe that E(H)=iIE(Hi){fV:fF}E(H^{\prime})=\bigcup_{i\in I}E(H_{i})\cup\{f\cap V^{\prime}:f\in F\}. Define a bijection φ:E(H)E(H)\varphi:E(H^{\prime})\to E(H) by φ(fV)=f\varphi(f\cap V^{\prime})=f for all fFf\in F, and φ(e)=e\varphi(e)=e for all eiIE(Hi)e\in\bigcup_{i\in I}E(H_{i}). Hence eφ(e)e\subseteq\varphi(e) for all eE(H)e\in E(H^{\prime}), and since HH^{\prime} has an Euler family, by Lemma 2.2(i), the hyperhgraph HH has an Euler family as well.

It is easy to see that if the Euler family {\mathcal{F}} of HH is spanning, then so are the resulting Euler families of H[V]H[V^{\prime}] and HiH_{i}, for all iIJi\in I-J, and vice-versa. a

Theorem 5.3

Let HH be a connected hypergraph with a minimal edge cut FF, and let HiH_{i}, for iIi\in I, be the connected components of H\FH{\backslash}F.

Then HH has an Euler tour if and only if there exists JIJ\subseteq I with 1|J||F|1\leq|J|\leq|F| such that

  1. (i)

    H[jJV(Hj)]H\left[\bigcup_{j\in J}V(H_{j})\right] has an Euler tour, and

  2. (ii)

    HiH_{i} is empty for all iJi\not\in J.

Proof. Assume HH has an Euler tour TT, and let α:FI[2]\alpha:F\to I^{[2]} be the edge cut assignment defined by α(f)=ij\alpha(f)=ij if the edge fFf\in F is traversed by TT via a vertex in HiH_{i} and a vertex in HjH_{j}. Let GαG^{\alpha} be the associated multigraph. By Lemmas 4.3(i) and 4.2, respectively, the hypergraph HαH^{\alpha} and multigraph GαG^{\alpha} both have Euler tours. Hence GαG^{\alpha} has a unique non-empty connected component; let JJ be its vertex set. As in the proof of Theorem 5.2, it can be shown that 1|J||F|1\leq|J|\leq|F|.

Let V=jJV(Hj)V^{\prime}=\bigcup_{j\in J}V(H_{j}). By Lemma 5.1(i), we have that Hα[V]H^{\alpha}[V^{\prime}] is a connected component of HαH^{\alpha}, as is HiH_{i}, for each iIJi\in I-J. Since HαH^{\alpha} has an Euler tour and Hα[V]H^{\alpha}[V^{\prime}] is not empty, it follows that Hα[V]H^{\alpha}[V^{\prime}] has an Euler tour, and HiH_{i}, for each iIJi\in I-J, is empty.

Conversely, assume that there exists JIJ\subseteq I with 1|J||F|1\leq|J|\leq|F| such that (i) and (ii) hold. Let V=jJV(Hj)V^{\prime}=\bigcup_{j\in J}V(H_{j}), and H=H[V]iIJHiH^{\prime}=H[V^{\prime}]\cup\bigcup_{i\in I-J}H_{i}. Similarly to the proof of Theorem 5.2, we observe that since H[V]H[V^{\prime}] has an Euler tour and HiH_{i}, for each iIJi\in I-J, is empty, Lemma 2.1(i) shows that HH^{\prime} has an Euler tour as well. By Lemma 2.2(i), it follows that HH has an Euler tour. a

We observe that Theorem 5.3 cannot be extended to spanning Euler tours in any meaningful way. The following immediate consequence of Theorems 5.2 and 5.3 gives more transparent necessary and sufficient conditions for the existence of an Euler family and Euler tour for a hypergraph with a cut edge.

Corollary 5.4

Let HH be a connected hypergraph with a cut edge ff. Let HiH_{i}, for iIi\in I, be the connected components of H\fH{\backslash}f. Then the following hold.

  1. (i)

    HH has a (spanning) Euler family if and only if there exists jIj\in I such that

    • H[V(Hj)]H[V(H_{j})] has a non-empty (spanning) Euler family, and

    • HiH_{i} has a (spanning) Euler family for all iI{j}i\in I-\{j\}.

  2. (ii)

    HH has an Euler tour if and only if there exists jIj\in I such that

    • H[V(Hj)]H[V(H_{j})] has an Euler tour, and

    • HiH_{i} is empty for all iI{j}i\in I-\{j\}.

  3. (iii)

    HH has no spanning Euler tour.

  4. (iv)

    If HH has no vertex of degree 1, then HH has no Euler tour.


In Algorithm 5.5 below, we shall now put to use the results of Lemma 4.2 and Theorem 4.4 (applied to standard edge cut assignments), as well as Corollary 2.3 and Lemma 3.3, to determine whether a given hypergraph has an Euler family.

Algorithm 5.5

Does a connected hypergraph HH admit an Euler family?

  1. (1)

    Sequentially delete vertices of degree at most 1 from HH until no such vertices remain or HH is trivial. If at any step HH has an edge of cardinality less than 2, then HH has no Euler family — exit.

  2. (2)

    Let H[2]H^{[2]} be the graph obtained from HH by deleting all edges of cardinality greater than 2, and GG a maximal even subgraph of H[2]H^{[2]}. Delete all edges of GG from HH.

  3. (3)

    Repeat Steps (1) and (2) as needed.

  4. (4)

    If HH is a graph, then it has an Euler family if and only if it is even — exit.

  5. (5)

    Find a minimal edge cut FF containing an edge of cardinality at least 3.

  6. (6)

    Let HiH_{i}, for iIi\in I, be the connected components of H\FH{\backslash}F.

  7. (7)

    For all edge cut assignments α:FI[2]\alpha:F\to I^{[2]}:

    1. (a)

      If GαG^{\alpha} has no Euler family, then HαH^{\alpha} has no Euler family — discard this α\alpha.

    2. (b)

      For each connected component HH^{\prime} of HαH^{\alpha}:
      if HH^{\prime} has no Euler family (recursive call), discard this α\alpha.

    3. (c)

      If every connected component of HαH^{\alpha} has an Euler family, then HH has an Euler family — exit.

  8. (8)

    HH has no Euler family — exit.

Similarly, in Algorithm 5.6 below, we use Theorem 5.3 and Corollary 5.4, in addition to Corollary 2.3, Lemmas 3.3 and 4.2, and Theorem 4.4, to determine whether a given hypergraph has an Euler tour.

Algorithm 5.6

Does a connected hypergraph HH admit an Euler tour?

  1. (1)

    Sequentially delete vertices of degree at most 1 from HH until no such vertices remain or HH is trivial. If at any step HH has an edge of cardinality less than 2, then HH is not eulerian — exit.

  2. (2)

    Let H[2]H^{[2]} be the graph obtained from HH by deleting all edges of cardinality greater than 2, and GG a maximal even subgraph of H[2]H^{[2]}. For each non-empty connected component G1G_{1} of GG, replace E(G1)E(G_{1}) in HH with the edge set of any cycle on V(G1)V(G_{1}).

  3. (3)

    Repeat Steps (1) and (2) as needed.

  4. (4)

    If HH is a graph, then it is eulerian if and only if it is even and has at most one non-trivial connected component — exit.

  5. (5)

    Find a minimal edge cut FF containing an edge of cardinality at least 3. If |F|=1|F|=1, then HH is not eulerian — exit.

  6. (6)

    Let HiH_{i}, for iIi\in I, be the connected components of H\FH{\backslash}F.

  7. (7)

    Let J={iI:Hi is non-empty}J=\{i\in I:H_{i}\mbox{ is non-empty}\}. If |F|<|J||F|<|J|, then HH is not eulerian — exit.

  8. (8)

    For all edge cut assignments α:FI[2]\alpha:F\to I^{[2]}:

    1. (a)

      If GαG^{\alpha} is not eulerian, then HαH^{\alpha} is not eulerian — discard this α\alpha.

    2. (b)

      If HαH^{\alpha} has at least 2 non-empty connected components, then HαH^{\alpha} is not eulerian — discard this α\alpha.

    3. (c)

      Let HH^{\prime} be the unique non-empty connected component of HαH^{\alpha}. If HH^{\prime} is eulerian (recursive call), then HH is eulerian — exit. Otherwise, discard this α\alpha.

  9. (9)

    HH is not eulerian — exit.

Refer to caption

Figure 1: Isomorphism classes of even graphs of small size without isolated vertices.
Remarks 5.7
  1. (i)

    In both algorithms, the input hypergraph is being modified during the execution of the algorithm. However, at any step, the current hypergraph HH admits an Euler family (tour) if and only if the input hypergraph does.

  2. (ii)

    As each non-empty proper subset SS of V(H)V(H) corresponds to an edge cut, minimal edge cuts are easy to construct. If the minimal edge cut obtained in this straightforward way does not contain an edge of cardinality at least 3, then at Step (5) of both algorithms, the proof of Lemma 3.3 can be used to satisfy this requirement. Its purpose is to ensure the reduction in size of the hypergraph for the next recursive call, as explained below.

  3. (iii)

    To guarantee that the algorithms terminate, it suffices that at each iteration |H|<|H||H^{\prime}|<|H|. Some adjustments may be needed to satisfy this condition. First, when generating edge cut assignments, priority should be given to α\alpha such that α(f)=i\alpha(f)=i for some iIi\in I — for as many fFf\in F as possible in case of Algorithm 5.5, and for at least one fFf\in F in case of Algorithm 5.6. In other words, we want HαH^{\alpha} to have as many connected components as possible (while allowing a positive outcome) in the hope that the reduction in size from HH to HH^{\prime} is as large as possible.

    However, we may still need to examine α\alpha such that Hα=HH^{\alpha}=H and hence H=HH^{\prime}=H and no reduction in size has occurred. In that case, it must be that |I|=2|I|=2 — that is, H\FH{\backslash}F has just two connected components, H1H_{1} and H2H_{2} — and α(f)=12\alpha(f)=12 for all fFf\in F. We then choose fFf^{\ast}\in F such that |f|3|f|\geq 3. For all x1fV(H1)x_{1}\in f^{\ast}\cap V(H_{1}) and x2fV(H2)x_{2}\in f^{\ast}\cap V(H_{2}), we let e={x1,x2}e^{\ast}=\{x_{1},x_{2}\} and H=(H\f)+{e}H^{\prime}=(H{\backslash}f^{\ast})+\{e^{\ast}\}. Note that |H|<|H||H^{\prime}|<|H|, and HH admits an Euler family (tour) if and only if at least one such hypergraph HH^{\prime} does. If necessary, we then recursively test all such hypergraphs HH^{\prime}.

  4. (iv)

    As long as we can guarantee that the algorithms terminate, using a minimum edge cut (instead of just a minimal one) would likely be more efficient. An 𝒪(p+n2λ){\cal O}(p+n^{2}\lambda) algorithm for finding a minimum edge cut in a hypergraph HH with size p=eE(H)|e|p=\sum_{e\in E(H)}|e|, order n=|V(H)|n=|V(H)|, and cardinality of a minimum edge cut λ\lambda was described in [4].

  5. (v)

    The most time-consuming part of both algorithms is likely going to be the sequence of recursive calls to determine whether hypergraphs HH^{\prime} have an Euler family or tour. The smaller the size of the largest of the hypergraphs HH^{\prime}, the better; however, this size is impossible to predict. Instead, we suggest minimizing the number of possible edge cut assignments α\alpha to be verified. The number of all possible mappings FI[2]F\to I^{[2]} is (|I|+12)|F|{|I|+1\choose 2}^{|F|}, which indeed suggests choosing FF to be a minimum edge cut (if possible). Among minimum edge cuts FF, should we seek one that also minimizes |I||I|? We do not have a clear answer: on one hand, this approach would minimize the number of mappings α\alpha to verify; on the other hand, the expected size of the hypergraphs HH^{\prime} for our recursive calls is inversely proportional to the number of connected components of HαH^{\alpha}, which can be anywhere between 1 and |I||I|. — We shall comment more on the complexity of Algorithms 5.5 and 5.6 in Conclusion.

  6. (vi)

    The number of edge cut assignments α:FI[2]\alpha:F\to I^{[2]} resulting in an even graph GαG^{\alpha} is likely much smaller than (|I|+12)|F|{|I|+1\choose 2}^{|F|}. To give some idea of this number, we show in Figure 1, for |F|4|F|\leq 4, the isomorphism classes of the suitable graphs GαG^{\alpha} with the isolated vertices removed.

  7. (vii)

    Observe that Algorithms 5.5 and 5.6 are formulated to solve decision problems — does HH contain an Euler family (tour)? — however, since they are based on results that use constructive proofs, they can easily be adapted to construct an Euler family (tour), if it exists.

Refer to caption

Figure 2: Illustrating Example 5.8.
Example 5.8

We shall demonstrate Algorithm 5.5 using the hypergraph H=(V,E)H=(V,E) with V=6V=\mathbb{Z}_{6} and E={012,0145,1235,34}E=\{012,0145,1235,34\}. The key hypergraphs in the execution of the algorithm on HH are shown in Figure 2. In each hypergraph, each edge ee is drawn as a complete graph on the vertex set ee, using a different line style. Symbols \vee and \wedge indicate that both or either, respectively, of the two branches must lead to success, and α\alpha indicates that an edge cut assignment has been applied. Finally, adj. indicates that an adjustment has been applied in order to reduce the size of the hypergraph; see Remarks 5.7(iii). Note that some minor details are omitted for brevity.

Iteration 0. The input hypergraph is H=(6,{012,0145,1235,34})H=\left(\mathbb{Z}_{6},\{012,0145,1235,34\}\right), and we choose a minimal edge cut F={0145,1235}F=\{0145,1235\}. The hypergraph H\FH{\backslash}F has connected components H1,H2H_{1},H_{2}, and H3H_{3}, with vertex sets V(H1)=3V(H_{1})=\mathbb{Z}_{3}, V(H2)={3,4}V(H_{2})=\{3,4\}, and V(H3)={5}V(H_{3})=\{5\}. We first examine the edge cut assignment α\alpha with α(0145)=α(1235)=1\alpha(0145)=\alpha(1235)=1 (Iteration 1), and then the edge cut assignment α\alpha with α(0145)=α(1235)=12\alpha(0145)=\alpha(1235)=12 (Iteration 2).

Iteration 1. We have Hα=(6,{01,012,12,34})H^{\alpha}=\left(\mathbb{Z}_{6},\{01,012,12,34\}\right), and we need to test its two non-empty connected components (Iterations 1.1 and 1.2).

Iteration 1.1. The input hypergraph is H=(3,{01,012,12})H=\left(\mathbb{Z}_{3},\{01,012,12\}\right). We choose a minimal edge cut F={01,012}F=\{01,012\}. The hypergraph H\FH{\backslash}F has connected components H1H_{1} and H2H_{2}, with vertex sets V(H1)={0}V(H_{1})=\{0\} and V(H2)={1,2}V(H_{2})=\{1,2\}. The only edge cut assignment α\alpha such that GαG^{\alpha} is even yields α(01)=α(012)=12\alpha(01)=\alpha(012)=12, which results in Hα=HH^{\alpha}=H. Following Remarks 5.7(iii), we replace the edge 012012 first with 0101 (Iteration 1.1.1), and then with 0202 (Iteration 1.1.2).

Iteration 1.1.1. We have H=(3,{{01,01,12}})H=\left(\mathbb{Z}_{3},\left\{\!\!\left\{01,01,12\right\}\!\!\right\}\right). In Step (1), we delete vertex 2, which is of degree 1, resulting in an edge of cardinality 1. Hence HH admits no Euler family.

Iteration 1.1.2. We have H=(3,{01,02,12})H=\left(\mathbb{Z}_{3},\{01,02,12\}\right). This is an even graph, and so it admits an Euler family. Iteration 1.1 is successfully completed.

Iteration 1.2. The input hypergraph H=({3,4},{34})H=\left(\{3,4\},\{34\}\right) is rejected in Step (1). Iteration 1 is completed unsuccessfully.

Iteration 2. We have Hα=(6,{014,012,123,34})H^{\alpha}=\left(\mathbb{Z}_{6},\{014,012,123,34\}\right). There is a single non-empty connected component to be tested (Iteration 2.1).

Iteration 2.1. The input hypergraph is H=(5,{014,012,123,34})H=\left(\mathbb{Z}_{5},\{014,012,123,34\}\right). We choose a minimal edge cut F={012,014}F=\{012,014\}. The hypergraph H\FH{\backslash}F has connected components H1H_{1} and H2H_{2} with vertex sets V(H1)={0}V(H_{1})=\{0\} and V(H2)={1,2,3,4}V(H_{2})=\{1,2,3,4\}. We first test the edge cut assignment α\alpha with α(014)=α(012)=2\alpha(014)=\alpha(012)=2 (Iteration 2.1.1).

Iteration 2.1.1. We have Hα=({1,2,3,4},{12,14,123,34})H^{\alpha}=\left(\{1,2,3,4\},\{12,14,123,34\}\right). There is a single non-empty connected component to be tested (Iteration 2.1.1.1).

Iteration 2.1.1.1. The input hypergraph is H=({1,2,3,4},{12,14,123,34})H=\left(\{1,2,3,4\},\{12,14,123,34\}\right). We choose a minimal edge cut F={123,14}F=\{123,14\}. The hypergraph H\FH{\backslash}F has components H1H_{1} and H2H_{2} with vertex sets V(H1)={1,2}V(H_{1})=\{1,2\} and V(H2)={3,4}V(H_{2})=\{3,4\}. The only admissible edge cut assignment is α\alpha with α(123)=α(14)=12\alpha(123)=\alpha(14)=12, which results in Hα=HH^{\alpha}=H. Following Remarks 5.7(iii), we replace the edge 123123 first with 1313 (Iteration 2.1.1.1.1), and then with 2323 (Iteration 2.1.1.1.2).

Iteration 2.1.1.1.1. The input hypergraph H=({1,2,3,4},{12,14,13,34})H=\left(\{1,2,3,4\},\{12,14,13,34\}\right) gets rejected in Step (1).

Iteration 2.1.1.1.2. The input hypergraph is H=({1,2,3,4},{12,14,23,34})H=\left(\{1,2,3,4\},\{12,14,23,34\}\right), which is an even graph. Iterations 2.1.1.1, 2.1.1, 2.1, and 2 are thus completed successfully.

We conclude that the original input hypergraph HH admits an Euler family.

Note that Algorithm 5.6 performed on HH runs very similarly, except that Iteration 1 is omitted because HαH^{\alpha} has more than one non-empty connected component. a

6 Reduction Using Collapsed Hypergraphs

We shall now introduce our second main tool — the collapsed hypergraph — which allows for a binary-type of a reduction.

Definition 6.1

Let HH be a hypergraph, and SS a subset of its vertex set with SV(H)\emptyset\subsetneq S\subsetneq V(H). The collapsed hypergraph of HH with respect to SS is the hypergraph HS=(V,E)H\circ S=(V^{\circ},E^{\circ}) defined by

V=(VS){u} and E={{e:eE(H),|e(VS)|1}},V^{\circ}=(V-S)\cup\{u^{\circ}\}\quad\mbox{ and }\quad E^{\circ}=\left\{\!\!\left\{e^{\circ}:e\in E(H),|e\cap(V-S)|\geq 1\right\}\!\!\right\},

where

e={e if eS=(eS){u}otherwise.e^{\circ}=\left\{\begin{array}[]{ll}e&\mbox{ if }e\cap S=\emptyset\\ (e-S)\cup\{u^{\circ}\}&\mbox{otherwise}\end{array}\right..

Here, uu^{\circ} is a new vertex, which we call the collapsed vertex of HSH\circ S.

We are now ready for our second main reduction theorem, Theorem 6.2, which states that a hypergraph HH admits an Euler family if and only if some collapsed hypergraphs of HH (obtained using an edge cut assignment) admit Euler families.

Theorem 6.2

Let HH be a connected hypergraph with a minimal edge cut FF, and {V0,V1}\{V_{0},V_{1}\} a partition of V(H)V(H) into unions of the vertex sets of the connected components of H\FH{\backslash}F.

Then HH admits an Euler family if and only if there exists an edge cut assignment α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]} such that |α1(01)||\alpha^{-1}(01)| is even, and either

  1. (i)

    α1(01)=\alpha^{-1}(01)=\emptyset and Hα[Vi]H^{\alpha}[V_{i}] has an Euler family for each i2i\in\mathbb{Z}_{2}, or

  2. (ii)

    α1(01)\alpha^{-1}(01)\neq\emptyset, and for each i2i\in\mathbb{Z}_{2}, the collapsed hypergraph HαViH^{\alpha}\circ V_{i} has an Euler family that traverses the collapsed vertex uiu_{i}^{\circ} via each of the edges in {f:fα1(01)}\{f^{\circ}:f\in\alpha^{-1}(01)\}.

Proof. Let {\mathcal{F}} be an Euler family of HH, and α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]} the edge cut assignment with α(f)=ij\alpha(f)=ij if and only if the edge ff is traversed by {\mathcal{F}} via a vertex in ViV_{i} and a vertex in VjV_{j} (where i=ji=j is possible). By Lemma 4.3(i), the hypergraph HαH^{\alpha} has an Euler family as well, say α{\mathcal{F}}^{\alpha}. Since the only edges of HαH^{\alpha} that intersect both V0V_{0} and V1V_{1} are edges of the form fαf^{\alpha} with fFf\in F and α(f)=01\alpha(f)=01, it is easy to see that each closed trail in α{\mathcal{F}}^{\alpha} traverses an even number of such edges. Hence |α1(01)||\alpha^{-1}(01)| is indeed even.

Suppose first that α1(01)=\alpha^{-1}(01)=\emptyset. Then Hα[Vi]H^{\alpha}[V_{i}], for each i2i\in\mathbb{Z}_{2}, is a union of connected components of HαH^{\alpha}, and hence has an Euler family by Lemma 2.1(ii).

Suppose now that α1(01)\alpha^{-1}(01)\neq\emptyset. By symmetry, it suffices to show that HαV1H^{\alpha}\circ V_{1} has an Euler family that traverses the collapsed vertex u1u_{1}^{\circ} via each of the edges in {f:fα1(01)}\{f^{\circ}:f\in\alpha^{-1}(01)\}. Let TT be a closed trail in the Euler family α{\mathcal{F}}^{\alpha} of HαH^{\alpha} that traverses an edge fαf^{\alpha}, for some fα1(01)f\in\alpha^{-1}(01). Then TT has the form

T=v0(0)f0αu0(1)T0(1)v0(1)f0αu0(0)T0(0)v1(0)uk1(0)Tk1(0)v0(0)T=v_{0}^{(0)}f_{0}^{\alpha}u_{0}^{(1)}T_{0}^{(1)}v_{0}^{(1)}f_{0}^{\prime\alpha}u_{0}^{(0)}T_{0}^{(0)}v_{1}^{(0)}\ldots u_{k-1}^{(0)}T_{k-1}^{(0)}v_{0}^{(0)}

for some vertices v0(0),u0(0),v1(0),u1(0),,uk1(0)V0v_{0}^{(0)},u_{0}^{(0)},v_{1}^{(0)},u_{1}^{(0)},\ldots,u_{k-1}^{(0)}\in V_{0} and u0(1),v0(1),u1(1),v1(1),,vk1(1)V1u_{0}^{(1)},v_{0}^{(1)},u_{1}^{(1)},v_{1}^{(1)},\ldots,v_{k-1}^{(1)}\in V_{1}; for some edges f0,f0,f1,f1,,fk1α1(01)f_{0},f_{0}^{\prime},f_{1},f_{1}^{\prime},\ldots,f_{k-1}^{\prime}\in\alpha^{-1}(01); and for iki\in\mathbb{Z}_{k}, for some (ui(0),vi+1(0))(u_{i}^{(0)},v_{i+1}^{(0)})-trails Ti(0)T_{i}^{(0)} in Hα[V0]H^{\alpha}[V_{0}] and (ui(1),vi(1))(u_{i}^{(1)},v_{i}^{(1)})-trails Ti(1)T_{i}^{(1)} in Hα[V1]H^{\alpha}[V_{1}]. Let TT^{\circ} be the sequence obtained from TT by replacing each subsequence of the form vi(0)fiαui(1)Ti(1)vi(1)fiαui(0)v_{i}^{(0)}f_{i}^{\alpha}u_{i}^{(1)}T_{i}^{(1)}v_{i}^{(1)}f_{i}^{\prime\alpha}u_{i}^{(0)} with vi(0)fiu1fiui(0)v_{i}^{(0)}f_{i}^{\circ}u_{1}^{\circ}f_{i}^{\prime\circ}u_{i}^{(0)}. Then TT^{\circ} is a closed trail in HαV1H^{\alpha}\circ V_{1}, and it traverses the collapsed vertex u1u_{1}^{\circ} via each of the edges of the form ff^{\circ} for fα1(01)f\in\alpha^{-1}(01) such that TT traverses fαf^{\alpha}. If we additionally define T=TT^{\circ}=T for all closed trails TαT\in{\mathcal{F}}^{\alpha} that do not traverse any edges of the form fαf^{\alpha}, for some fα1(01)f\in\alpha^{-1}(01), then it is clear that {T:Tα}\{T^{\circ}:T\in{\mathcal{F}}^{\alpha}\} is a family of closed trails in HαV1H^{\alpha}\circ V_{1} that jointly traverse each edge exactly once, and also traverse the collapsed vertex u1u_{1}^{\circ} via each of the edges in {f:fα1(01)}\{f^{\circ}:f\in\alpha^{-1}(01)\}. To obtain an Euler family, we just need to concatenate all those closed trails in this family that traverse the collapsed vertex u1u_{1}^{\circ}.

To prove the converse, let α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]} be an edge cut assignment such that |α1(01)||\alpha^{-1}(01)| is even, and either (i) or (ii) holds.

Suppose first that (i) holds. Since α1(01)=\alpha^{-1}(01)=\emptyset, for each i2i\in\mathbb{Z}_{2}, the hypergraph Hα[Vi]H^{\alpha}[V_{i}] is a union of connected components of HαH^{\alpha}, and by Lemma 2.1, since each of Hα[V0]H^{\alpha}[V_{0}] and Hα[V1]H^{\alpha}[V_{1}] admits an Euler family, so does HαH^{\alpha}. By Lemma 4.3(ii), it follows that HH admits an Euler family.

Suppose now that (ii) holds and |α1(01)|=2k|\alpha^{-1}(01)|=2k. For each i2i\in\mathbb{Z}_{2}, let α1(01)={f0(i),f1(i),,f2k1(i)}\alpha^{-1}(01)=\{f_{0}^{(i)},f_{1}^{(i)},\ldots,f_{2k-1}^{(i)}\}. By assumption, the collapsed hypergraph HαV1iH^{\alpha}\circ V_{1-i} admits an Euler family (i){\mathcal{F}}^{(i)} that traverses the collapsed vertex u1iu_{1-i}^{\circ} via each of the edges ff^{\circ}, for fα1(01)f\in\alpha^{-1}(01). Let T(i)T^{(i)} be the unique closed trail in (i){\mathcal{F}}^{(i)} that traverses u1iu_{1-i}^{\circ}. Then, without loss of generality, T(i)T^{(i)} must be of the form

T(i)=v0(i)(f0(i))u1i(f1(i))v1(i)T1(i)v2(i)(f2(i))v2k1(i)Tk(i)v0(i)T^{(i)}=v_{0}^{(i)}\,\,(f_{0}^{(i)})^{\circ}\,\,u_{1-i}^{\circ}\,\,(f_{1}^{(i)})^{\circ}\,\,v_{1}^{(i)}\,\,T_{1}^{(i)}\,\,v_{2}^{(i)}\,\,(f_{2}^{(i)})^{\circ}\ldots\,\,v_{2k-1}^{(i)}\,\,T_{k}^{(i)}\,\,v_{0}^{(i)}

for some vertices v0(i),v1(i),,v2k1(i)Viv_{0}^{(i)},v_{1}^{(i)},\ldots,v_{2k-1}^{(i)}\in V_{i} and, for j=1,2,,kj=1,2,\ldots,k, some (v2j1(i),v2j(i))(v_{2j-1}^{(i)},v_{2j}^{(i)})-trails Tj(i)T_{j}^{(i)} in Hα[Vi]H^{\alpha}[V_{i}]. (Here, subscripts are evaluated modulo 2k2k.)

Let π:2k2k\pi:\mathbb{Z}_{2k}\to\mathbb{Z}_{2k} be a bijection such that fπ(j)(1)=fj(0)f_{\pi(j)}^{(1)}=f_{j}^{(0)}, for all j2kj\in\mathbb{Z}_{2k}. We thus have that vπ(j)(1)fj(0)v_{\pi(j)}^{(1)}\in f_{j}^{(0)}, for all j2kj\in\mathbb{Z}_{2k}.

We now link the (v2j1(0),v2j(0))(v_{2j-1}^{(0)},v_{2j}^{(0)})-trails Tj(0)T_{j}^{(0)} and (v2j1(1),v2j(1))(v_{2j-1}^{(1)},v_{2j}^{(1)})-trails Tj(1)T_{j}^{(1)}, for j=1,2,,kj=1,2,\ldots,k, into a family 𝒯{\cal T} of closed trails in HαH^{\alpha} using the edges (fj(0))α(f_{j}^{(0)})^{\alpha}, for j2kj\in\mathbb{Z}_{2k}. In particular, the new closed trails will traverse each edge (fj(0))α(f_{j}^{(0)})^{\alpha} via anchors vj(0)v_{j}^{(0)} and vπ(j)(1)v_{\pi(j)}^{(1)}.

Finally, let

=((0){T(0)})((1){T(1)})𝒯.{\mathcal{F}}=\left({\mathcal{F}}^{(0)}-\{T^{(0)}\}\right)\cup\left({\mathcal{F}}^{(1)}-\{T^{(1)}\}\right)\cup{\cal T}.

Since for each i2i\in\mathbb{Z}_{2}, the closed trails in (i){T(i)}{\mathcal{F}}^{(i)}-\{T^{(i)}\} traverse all edges of Hα[Vi]H^{\alpha}[V_{i}] that are not traversed by T(i)T^{(i)}, and the closed trails in 𝒯{\cal T} traverse all edges of Hα[V0]Hα[V1]H^{\alpha}[V_{0}]\cup H^{\alpha}[V_{1}] that are traversed by T(0)T^{(0)} or T(1)T^{(1)}, as well as all edges in {fα:fα1(01)}\{f^{\alpha}:f\in\alpha^{-1}(01)\}, we conclude that {\mathcal{F}} is an Euler family of HαH^{\alpha}.

It then follows by Lemma 4.3(ii) that HH admits an Euler family. a

Observe that in the proof of sufficiency in Theorem 6.2 we have no control over the number of closed trails in the family 𝒯{\cal T}; hence the analogous result for Euler tours does not hold in general. A weaker result is proved below: necessity is guaranteed by Corollary 6.3, while sufficiency is proved in Corollary 6.4 with an additional assumption on the edge cut assignment. This additional assumption, however, always holds for edge cuts of cardinality at most 3.

Corollary 6.3

Let HH be a connected hypergraph with a minimal edge cut FF, and {V0,V1}\{V_{0},V_{1}\} a partition of V(H)V(H) into unions of the vertex sets of the connected components of H\FH{\backslash}F.

If HH admits an Euler tour, then there exists an edge cut assignment α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]} such that |α1(01)||\alpha^{-1}(01)| is even, and either

  1. (i)

    α1(01)=\alpha^{-1}(01)=\emptyset and, without loss of generality, Hα[V0]H^{\alpha}[V_{0}] has an Euler tour and Hα[V1]H^{\alpha}[V_{1}] is empty, or

  2. (ii)

    α1(01)\alpha^{-1}(01)\neq\emptyset, and for each i2i\in\mathbb{Z}_{2}, the collapsed hypergraph HαViH^{\alpha}\circ V_{i} has an Euler tour that traverses the collapsed vertex uiu_{i}^{\circ} via each of the edges in {f:fα1(01)}\{f^{\circ}:f\in\alpha^{-1}(01)\}.

Proof. Let TT be an Euler tour of HH, and α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]} the edge cut assignment with α(f)=ij\alpha(f)=ij if and only if the edge ff is traversed by TT via a vertex in ViV_{i} and a vertex in VjV_{j} (where i=ji=j is possible). We establish that |α1(01)||\alpha^{-1}(01)| is even just as in the proof of necessity in Theorem 6.2.

By Lemma 4.3(i), the hypergraph HαH^{\alpha} has an Euler tour as well. If α1(01)=\alpha^{-1}(01)=\emptyset, then HαH^{\alpha} is disconnected. Hence without loss of generality, Hα[V0]H^{\alpha}[V_{0}] has an Euler tour and Hα[V1]H^{\alpha}[V_{1}] is empty.

Suppose now that α1(01)\alpha^{-1}(01)\neq\emptyset. Following the proof of necessity in Theorem 6.2, we can show that for each i2i\in\mathbb{Z}_{2}, the Euler tour TT of HH gives rise to an Euler tour TiT_{i}^{\circ} of HαViH^{\alpha}\circ V_{i} that traverses the collapsed vertex uiu_{i}^{\circ} via each of the edges in {f:fα1(01)}\{f^{\circ}:f\in\alpha^{-1}(01)\}. a

Corollary 6.4

Let HH be a connected hypergraph with a minimal edge cut FF, and {V0,V1}\{V_{0},V_{1}\} a partition of V(H)V(H) into unions of the vertex sets of the connected components of H\FH{\backslash}F. Assume that there exists an edge cut assignment α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]} such that |α1(01)|{0,2}|\alpha^{-1}(01)|\in\{0,2\}, and either

  1. (i)

    α1(01)=\alpha^{-1}(01)=\emptyset and, without loss of generality, Hα[V0]H^{\alpha}[V_{0}] has an Euler tour and Hα[V1]H^{\alpha}[V_{1}] is empty, or

  2. (ii)

    α1(01)\alpha^{-1}(01)\neq\emptyset, and for each i2i\in\mathbb{Z}_{2}, the collapsed hypergraph HαViH^{\alpha}\circ V_{i} has an Euler tour that traverses the collapsed vertex uiu_{i}^{\circ}.

Then HH admits an Euler tour.

Proof. If α1(01)=\alpha^{-1}(01)=\emptyset, then Hα=Hα[V0]Hα[V1]H^{\alpha}=H^{\alpha}[V_{0}]\cup H^{\alpha}[V_{1}], and since Hα[V1]H^{\alpha}[V_{1}] is empty and Hα[V0]H^{\alpha}[V_{0}] admits an Euler tour, so does HαH^{\alpha}. By Lemma 2.2(ii), it follows that HH admits an Euler tour.

The case α1(01)\alpha^{-1}(01)\neq\emptyset is similar to the proof of sufficiency in Theorem 6.2, assuming Condition (ii). We have α1(01)={f0(0),f1(0)}={f0(1),f1(1)}\alpha^{-1}(01)=\{f_{0}^{(0)},f_{1}^{(0)}\}=\{f_{0}^{(1)},f_{1}^{(1)}\}. By assumption, for each i2i\in\mathbb{Z}_{2}, the collapsed hypergraph HαV1iH^{\alpha}\circ V_{1-i} admits an Euler tour T(i)T^{(i)} that traverses the collapsed vertex u1iu_{1-i}^{\circ}, necessarily via the edges ff^{\circ}, for fα1(01)f\in\alpha^{-1}(01). Then T(i)T^{(i)} must be of the form

T(i)=v0(i)(f0(i))u1i(f1(i))v1(i)T1(i)v0(i)T^{(i)}=v_{0}^{(i)}\,\,(f_{0}^{(i)})^{\circ}\,\,u_{1-i}^{\circ}\,\,(f_{1}^{(i)})^{\circ}\,\,v_{1}^{(i)}\,\,T_{1}^{(i)}\,\,v_{0}^{(i)}

for some vertices v0(i),v1(i)Viv_{0}^{(i)},v_{1}^{(i)}\in V_{i} and a (v1(i),v0(i))(v_{1}^{(i)},v_{0}^{(i)})-trail T1(i)T_{1}^{(i)} in Hα[Vi]H^{\alpha}[V_{i}].

Since either fj(0)=fj(1)f_{j}^{(0)}=f_{j}^{(1)} or fj(0)=f1j(1)f_{j}^{(0)}=f_{1-j}^{(1)} for j2j\in\mathbb{Z}_{2}, linking the (v1(0),v0(0))(v_{1}^{(0)},v_{0}^{(0)})-trail T1(0)T_{1}^{(0)} and (v1(1),v0(1))(v_{1}^{(1)},v_{0}^{(1)})-trail T1(1)T_{1}^{(1)} using the edges (f0(0))α(f_{0}^{(0)})^{\alpha} and (f1(0))α(f_{1}^{(0)})^{\alpha} clearly results in a closed trail TT in HαH^{\alpha} that traverses all edges of HαH^{\alpha} traversed by T(0)T^{(0)} and T(1)T^{(1)}, as well as the edges (f0(0))α(f_{0}^{(0)})^{\alpha} and (f1(0))α(f_{1}^{(0)})^{\alpha}. We conclude that TT is an Euler tour of HαH^{\alpha}.

By Lemma 4.3(ii), we have that HH admits an Euler tour. a

Observe that in the case |F|3|F|\leq 3, Corollary 6.4 gives a full converse to Corollary 6.3.

In Theorem 6.2 and Corollaries 6.3 and 6.4, we seem to be translating the problem of finding an Euler family (tour) to a different problem, namely, of finding an Euler family (tour) that traverses a specified vertex via each of the specified edges. In the next lemma, we show that an algorithm to find the former can be used to find the latter as well.

Lemma 6.5

Let HH be a hypergraph, uV(H)u\in V(H), and FE(H)F\subseteq E(H) such that each edge in FF is incident with the vertex uu. Construct a hypergraph HH^{\prime} from HH as follows: for each edge fFf\in F such that |f|3|f|\geq 3,

  • adjoin a new vertex ufu_{f}, and

  • replace ff with edges f=(f{u}){uf}f^{\prime}=(f-\{u\})\cup\{u_{f}\} and ef={uf,u}e_{f}=\{u_{f},u\}.

Then HH has an Euler family (tour) traversing vertex uu via each edge in FF if and only if HH^{\prime} has an Euler family (tour).

Proof. Let F3={fF:|f|3}F_{\geq 3}=\{f\in F:|f|\geq 3\}.

Assume {\mathcal{F}} is an Euler family of HH traversing vertex uu via each edge in FF. For each closed trail TT in {\mathcal{F}}, obtain a sequence TT^{\prime} by replacing each subsequence of the form fufu in TT (where fF3f\in F_{\geq 3}) with the subsequence fufefuf^{\prime}u_{f}e_{f}u, and each subsequence of the form ufuf (where fF3f\in F_{\geq 3}) with the subsequence uefuffue_{f}u_{f}f^{\prime}. It is clear that ={T:T}{\mathcal{F}}^{\prime}=\{T^{\prime}:T\in{\mathcal{F}}\} is an Euler family of HH^{\prime}.

Conversely, if {\mathcal{F}}^{\prime} is an Euler family of HH^{\prime}, then it must traverse each edge of the form efe_{f}, for fF3f\in F_{\geq 3}, via either the subtrail fufefuf^{\prime}u_{f}e_{f}u or the subtrail uefuffue_{f}u_{f}f^{\prime}. For each closed trail TT^{\prime}\in{\mathcal{F}}^{\prime}, obtain a sequence TT by replacing each subsequence of the form fufefuf^{\prime}u_{f}e_{f}u (where fF3f\in F_{\geq 3}) with fufu, and each subsequence of the form uefuffue_{f}u_{f}f^{\prime} (where fF3f\in F_{\geq 3}) with ufuf. It is then easy to see that ={T:T}{\mathcal{F}}=\{T:T^{\prime}\in{\mathcal{F}}^{\prime}\} is an Euler family of HH that traverses vertex uu via each edge in F3F_{\geq 3}, as well as via each edge in FF3F-F_{3}, as the edges in the latter set are of cardinality 2.

Since in both parts of the proof we have ||=|||{\mathcal{F}}|=|{\mathcal{F}}^{\prime}|, the statement for Euler tours holds as well. a


We shall now describe an algorithm based on Theorem 6.2, Lemma 6.5, and Corollary 2.3 that determines whether a hypergraph admits an Euler family.

Algorithm 6.6

Does a connected hypergraph HH admit an Euler family?

  1. (1)

    Sequentially delete vertices of degree at most 1 from HH until no such vertices remain or HH is trivial. If at any step HH has an edge of cardinality less than 2, then HH has no Euler family — exit.

  2. (2)

    Let H[2]H^{[2]} be the graph obtained from HH by deleting all edges of cardinality greater than 2, and GG a maximal even subgraph of H[2]H^{[2]}. Delete all edges of GG from HH.

  3. (3)

    Repeat Steps (1) and (2) as needed.

  4. (4)

    If HH is a graph, then it has an Euler family if and only if it is even — exit.

  5. (5)

    Find a minimal edge cut FF.

  6. (6)

    Let HiH_{i}, for iIi\in I, be the connected components of H\FH{\backslash}F.

  7. (7)

    Find a bipartition {V0,V1}\{V_{0},V_{1}\} of V(H)V(H) into unions of V(Hi)V(H_{i}), for iIi\in I.

  8. (8)

    For all edge cut assignments α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]}:

    1. (a)

      If |α1(01)||\alpha^{-1}(01)| is odd — discard this α\alpha.

    2. (b)

      If α1(01)=\alpha^{-1}(01)=\emptyset: if Hα[V0]H^{\alpha}[V_{0}] and Hα[V1]H^{\alpha}[V_{1}] both have Euler families (recursive call), then HH has an Euler family — exit.

    3. (c)

      If α1(01)\alpha^{-1}(01)\neq\emptyset: if HαV1H^{\alpha}\circ V_{1} and HαV0H^{\alpha}\circ V_{0} both have Euler families (recursive call) that traverse the collapsed vertex via each of the edges of the form ff^{\circ}, for fα1(01)f\in\alpha^{-1}(01), then HH has an Euler family — exit.

  9. (9)

    HH has no Euler family — exit.

The analogous algorithm for Euler tours, Algorithm 6.7 below, relies on Corollary 6.4 and Lemma 6.5, as well as Theorem 5.3 and Corollaries 5.4 and 2.3. If the hypergraph has no edge cut satisfying the assumptions of Corollary 6.4, then Algorithm 5.6 is invoked.

Algorithm 6.7

Does a connected hypergraph HH admit an Euler tour?

  1. (1)

    Sequentially delete vertices of degree at most 1 from HH until no such vertices remain or HH is trivial. If at any step HH has an edge of cardinality less than 2, then HH is not eulerian — exit.

  2. (2)

    Let H[2]H^{[2]} be the graph obtained from HH by deleting all edges of cardinality greater than 2, and GG a maximal even subgraph of H[2]H^{[2]}. For each non-empty connected component G1G_{1} of GG, replace E(G1)E(G_{1}) in HH with the edge set of any cycle on V(G1)V(G_{1}).

  3. (3)

    Repeat Steps (1) and (2) as needed.

  4. (4)

    If HH is a graph, then it is eulerian if and only if it is even and has at most one non-trivial connected component — exit.

  5. (5)

    Find a minimum edge cut FF. If |F|=1|F|=1, then HH is not eulerian — exit.

  6. (6)

    Let HiH_{i}, for iIi\in I, be the connected components of H\FH{\backslash}F.

  7. (7)

    Let J={iI:Hi is non-empty}J=\{i\in I:H_{i}\mbox{ is non-empty}\}. If |F|<|J||F|<|J|, then HH is not eulerian — exit.

  8. (8)

    For all bipartitions {V0,V1}\{V_{0},V_{1}\} of V(H)V(H) into unions of V(Hi)V(H_{i}), for iIi\in I
    and for all edge cut assignments α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]}:

    1. (a)

      If |α1(01)||\alpha^{-1}(01)| is odd — discard this α\alpha.

    2. (b)

      If |α1(01)|=0|\alpha^{-1}(01)|=0: if Hα[V0]H^{\alpha}[V_{0}] is empty and Hα[V1]H^{\alpha}[V_{1}] has an Euler tour, or vice-versa (recursive call), then HH has an Euler tour — exit.

    3. (c)

      If |α1(01)|=2|\alpha^{-1}(01)|=2: if HαV1H^{\alpha}\circ V_{1} and HαV0H^{\alpha}\circ V_{0} both have an Euler tour that traverses the collapsed vertex (recursive call), then HH has an Euler tour — exit.

  9. (9)

    Use Algorithm 5.6.

Remarks 6.8
  1. (i)

    Remarks 5.7(i) and 5.7(vii) apply to Algorithms 6.6 and 6.7 as well.

  2. (ii)

    In Step (5) of Algorithm 6.7, we chose to find a minimum edge cut — see Remark 5.7(iv) — in the hope of finding an edge cut of cardinality at most 3; in this case, a reduction using Corollary 6.4 is guaranteed, and Step (9) is not reached in this call.

  3. (iii)

    As in Algorithms 5.5 and 5.6 — see Remarks 5.7(iii) — a few adjustments may be necessary to guarantee that Algorithms 6.6 and 6.7 indeed terminate.

    For any hypergraph H=(V,E)H=(V,E), let |H|3=eE,|e|3|e||H|_{\geq 3}=\sum_{e\in E,|e|\geq 3}|e| and |H|2=eE,|e|=2|e||H|_{2}=\sum_{e\in E,|e|=2}|e|, and call |H|3|H|_{\geq 3} the relevant size of HH. Since the problem of existence of an Euler family (tour) is computationally easy for graphs (Step (4) in both algorithms), for either algorithm to terminate, it suffices that each recursive call be performed on a hypergraph HH^{\prime} with |H|<|H||H^{\prime}|<|H| or |H|3<|H|3|H^{\prime}|_{\geq 3}<|H|_{\geq 3}. (Note that the use of Lemma 6.5 in Step (8c) may result in |H|2>|H|2|H^{\prime}|_{2}>|H|_{2}, but as long as |H|3<|H|3|H^{\prime}|_{\geq 3}<|H|_{\geq 3}, we are still moving in the right direction.) To guarantee such a relevant reduction, we first proceed as described in Remarks 5.7(iii), that is, favouring edge cut assignments α\alpha that yield |Hα|3<|H|3|H^{\alpha}|_{\geq 3}<|H|_{\geq 3}, and therefore |H|3<|H|3|H^{\prime}|_{\geq 3}<|H|_{\geq 3} for all recursive calls.

    However, we may need to examine an edge cut assignment α\alpha that yields |Hα|3=|H|3|H^{\alpha}|_{\geq 3}=|H|_{\geq 3}. In this case, we know that α(f)=12\alpha(f)=12 for all fFf\in F, and the recursive call involves H=HαViH^{\prime}=H^{\alpha}\circ V_{i} (for i{0,1}i\in\{0,1\}). Clearly, |H|3|H|3|H^{\prime}|_{\geq 3}\leq|H|_{\geq 3}, but suppose that |H|3=|H|3|H^{\prime}|_{\geq 3}=|H|_{\geq 3} and |H||H||H^{\prime}|\geq|H| (in other words, |H|2|H|2|H^{\prime}|_{2}\geq|H|_{2}). This situation may arise when Lemma 6.5 has been invoked or |(H\F)[Vi]||(H{\backslash}F)[V_{i}]| is small.

    If there exists fFf\in F such that |f|3|f|\geq 3, then |f|=|f||f^{\circ}|=|f| and fVi={x}f\cap V_{i}=\{x\} for some vertex xVix\in V_{i}. For each yfV1iy\in f\cap V_{1-i}, we then let ey={x,y}e_{y}=\{x,y\} and Hy=(H\f)+{ey}H_{y}^{\prime}=(H^{\prime}{\backslash}f)+\{e_{y}\}. Note that |Hy|3<|H|3|H_{y}^{\prime}|_{\geq 3}<|H|_{\geq 3}, and it is easy to see that HH^{\prime} admits an Euler family (tour) if and only if at least one such hypergraph HyH_{y}^{\prime} does. Hence, if necessary, we test all such hypergraphs HyH_{y}^{\prime}.

    Otherwise, it must be that |f|=2|f|=2 for all fFf\in F, and |H|=|H||H^{\prime}|=|H| as Lemma 6.5 was not invoked. Fix any fFf^{\ast}\in F, and let fV1i={x}f^{\ast}\cap V_{1-i}=\{x\}. For each fF{f}f\in F-\{f^{\ast}\}, we then let fV1i={yf}f\cap V_{1-i}=\{y_{f}\}, ef={x,yf}e_{f}=\{x,y_{f}\}, and Hf=(H\{f,f})+{ef}H_{f}^{\prime}=(H^{\prime}{\backslash}\{f^{\ast},f\})+\{e_{f}\}. Note that |Hf|<|H|=|H||H_{f}^{\prime}|<|H^{\prime}|=|H|, and again it is easy to see that HH^{\prime} admits an Euler family (tour) if and only if at least one such hypergraph HfH_{f}^{\prime} does.

  4. (iv)

    In Step (8) of Algorithm 6.7, we examine all bipartitions of V(H)V(H) to maximize the chance of finding an edge cut assignment α\alpha such that |α1(01)|{0,2}|\alpha^{-1}(01)|\in\{0,2\}. Observe that for a given edge cut FF such that H\FH{\backslash}F has exactly |I||I| connected components, the number of bipartitions {V0,V1}\{V_{0},V_{1}\} is 2|I|112^{|I|-1}-1, and the number of edge cut assignments α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]} is at most 3|F|3^{|F|}. Hence the loop at Step (8) of Algorithm 6.7 will be executed at most (2|I|11)3|F|(2^{|I|-1}-1)\cdot 3^{|F|} times.

  5. (v)

    For suitable bipartitions {V0,V1}\{V_{0},V_{1}\}, we expect that the reduction at Step (8) in both algorithms is the most efficient (that is, the number of recursive calls is minimized) if |V0||V_{0}| and |V1||V_{1}| are as equal as possible.

Refer to caption

Figure 3: Illustrating Example 6.9 (continued in Figure 4).

Refer to caption

Figure 4: Illustrating Example 6.9 (continued from Figure 3).
Example 6.9

We shall now demonstrate Algorithm 6.6 using the same hypergraph as in Example 5.8; that is, hypergraph H=(V,E)H=(V,E) with V=6V=\mathbb{Z}_{6} and E={012,0145,1235,34}E=\{012,0145,1235,34\}. The main hypergraphs in the procedure are shown in Figures 3 and 4. We use the same symbols as in Figure 2; in addition, the collapsed vertices are shown in grey, and new vertices are labelled a,b,c,a,b,c,\ldots. New edges arising from the use of Lemma 6.5 are drawn in the same style as their parent edges, just thinner. Note that some minor details are omitted for brevity.

Iteration 0. The input hypergraph is H=(6,{012,0145,1235,34})H=\left(\mathbb{Z}_{6},\{012,0145,1235,34\}\right), and as in Example 5.8, we start by choosing a minimal edge cut F={0145,1235}F=\{0145,1235\}, so H\FH{\backslash}F has connected components H1,H2H_{1},H_{2}, and H3H_{3} with vertex sets V(H1)=3V(H_{1})=\mathbb{Z}_{3}, V(H2)={3,4}V(H_{2})=\{3,4\}, and V(H3)={5}V(H_{3})=\{5\}. We then choose the bipartition {V0,V1}\{V_{0},V_{1}\} with V0=3V_{0}=\mathbb{Z}_{3} and V1={3,4,5}V_{1}=\{3,4,5\}, and first examine the edge cut assignment α\alpha with α(0145)=α(1235)=0\alpha(0145)=\alpha(1235)=0 (Iteration 1), and then α(0145)=α(1235)=01\alpha(0145)=\alpha(1235)=01 (Iteration 2).

Iteration 1. We have Hα=(6,{01,012,12,34})H^{\alpha}=\left(\mathbb{Z}_{6},\{01,012,12,34\}\right). As α1(01)=\alpha^{-1}(01)=\emptyset, we need to test its subhypergraphs Hα[V0]H^{\alpha}[V_{0}] and Hα[V1]H^{\alpha}[V_{1}] (Iterations 1.1 and 1.2, respectively).

Iteration 1.1. The input hypergraph is H=(3,{01,012,12})H=\left(\mathbb{Z}_{3},\{01,012,12\}\right). We choose a minimal edge cut F={01,012}F=\{01,012\}. The hypergraph H\FH{\backslash}F has connected components H1H_{1} and H2H_{2}, with vertex sets V(H1)={0}V(H_{1})=\{0\} and V(H2)={1,2}V(H_{2})=\{1,2\}, so our bipartition is {V0,V1}\{V_{0},V_{1}\} with V0={0}V_{0}=\{0\} and V1={1,2}V_{1}=\{1,2\}. The only edge cut assignment α\alpha with |α1(01)||\alpha^{-1}(01)| even is defined by α(01)=α(012)=01\alpha(01)=\alpha(012)=01, which yields Hα=HH^{\alpha}=H. As α1(01)\alpha^{-1}(01)\neq\emptyset, we need to test HαV0H^{\alpha}\circ V_{0} (Iteration 1.1.1) and HαV1H^{\alpha}\circ V_{1} (Iteration 1.1.2).

Iteration 1.1.1. We have H=({0,a},{{0a,0a}})H=\left(\{0,a\},\left\{\!\!\left\{0a,0a\right\}\!\!\right\}\right). This is an even graph, so it admits an Euler family traversing the collapsed vertex aa.

Iteration 1.1.2. We have H=({1,2,a},{12,12a,1a})H=\left(\{1,2,a\},\{12,12a,1a\}\right), with aa being the collapsed vertex. To ensure its traversal, we use Lemma 6.5, modifying the hypergraph to H=({1,2,a,b},{12,12b,1a,ab})H^{\prime}=\left(\{1,2,a,b\},\{12,12b,1a,ab\}\right). As the size of the hypergraph has increased from Iteration 1.1, while the relevant size remained the same, we replace the edge 12b12b with 2b2b (see Remarks 6.8(iii)), which results in an even graph. This successfully completes Iteration 1.1.

Iteration 1.2. The input hypergraph H=({3,4,5},{34})H=\left(\{3,4,5\},\{34\}\right) is rejected in Step (1). Iteration 1 is thus completed, but unsuccessfully.

Iteration 2. We have Hα=HH^{\alpha}=H. As |α1(01)|=2|\alpha^{-1}(01)|=2, we need to test HαV0H^{\alpha}\circ V_{0} (Iteration 2.1) and HαV1H^{\alpha}\circ V_{1} (Iteration 2.2).

Iteration 2.1. The input hypergraph is H=({0,1,2,a},{012,01a,12a})H=\left(\{0,1,2,a\},\{012,01a,12a\}\right), with aa being the collapsed vertex. To ensure its traversal, we use Lemma 6.5, modifying the hypergraph to H=({0,1,2,a,b,c},{012,01c,12b,ab,ac})H^{\prime}=\left(\{0,1,2,a,b,c\},\{012,01c,12b,ab,ac\}\right). We choose a minimal edge cut F={01c,12b}F=\{01c,12b\}. The hypergraph H\FH{\backslash}F has two connected components, yielding a single bipartition {V0,V1}\{V_{0},V_{1}\}, with V0={0,1,2}V_{0}=\{0,1,2\} and V1={a,b,c}V_{1}=\{a,b,c\}. We choose the edge cut assignment α\alpha with α(01c)=α(12b)=01\alpha(01c)=\alpha(12b)=01, which results in Hα=HH^{\alpha}=H. As |α1(01)|=2|\alpha^{-1}(01)|=2, we need to test HαV0H^{\alpha}\circ V_{0} (Iteration 2.1.1) and HαV1H^{\alpha}\circ V_{1} (Iteration 2.2.2).

Iteration 2.1.1. The input hypergraph is (again) H=({0,1,2,a},{012,01a,12a})H=\left(\{0,1,2,a\},\{012,01a,12a\}\right), with aa being the newly collapsed vertex. To ensure its traversal, we use Lemma 6.5, modifying the hypergraph to H=({0,1,2,a,b,c},{012,01c,12b,ab,ac})H^{\prime}=\left(\{0,1,2,a,b,c\},\{012,01c,12b,ab,ac\}\right). We observe that this hypergraph HH^{\prime} is identical to HH^{\prime} from Iteration 2.1. Hence we perform an adjustment as advised in Remarks 6.8(iii), replacing the edge 01c01c with 0c0c.

We then choose a minimal edge cut F={0c,12b}F=\{0c,12b\}, resulting in the bipartition {V0,V1}\{V_{0},V_{1}\}, with V0={0,1,2}V_{0}=\{0,1,2\} and V1={a,b,c}V_{1}=\{a,b,c\}. The only edge cut assignment α\alpha with |α1(01)||\alpha^{-1}(01)| even is defined by α(0c)=α(12b)=01\alpha(0c)=\alpha(12b)=01, which yields Hα=HH^{\alpha}=H. As α1(01)\alpha^{-1}(01)\neq\emptyset, we need to test HαV0H^{\alpha}\circ V_{0} (Iteration 2.1.1.1) and HαV1H^{\alpha}\circ V_{1} (Iteration 2.1.1.2).

Iteration 2.1.1.1. The input hypergraph is H=({0,1,2,a},{012,0a,12a})H=\left(\{0,1,2,a\},\{012,0a,12a\}\right), with aa being the newly collapsed vertex. To ensure its traversal, we use Lemma 6.5, modifying the hypergraph to H=({0,1,2,a,b},{012,0a,12b,ab})H^{\prime}=\left(\{0,1,2,a,b\},\{012,0a,12b,ab\}\right). We choose a minimal edge cut F={0a,12b}F=\{0a,12b\}. The only possible bipartition is {V0,V1}\{V_{0},V_{1}\}, with V0={0,1,2}V_{0}=\{0,1,2\} and V1={a,b}V_{1}=\{a,b\}, and the only edge cut assignment α\alpha with |α1(01)||\alpha^{-1}(01)| even is defined by α(0a)=α(12b)=01\alpha(0a)=\alpha(12b)=01, resulting in Hα=HH^{\alpha}=H. We thus need to test HαV0H^{\alpha}\circ V_{0} (Iteration 2.1.1.1.1) and HαV1H^{\alpha}\circ V_{1} (Iteration 2.1.1.1.2).

Iteration 2.1.1.1.1. The input hypergraph is (again) H=({0,1,2,a},{012,0a,12a})H=\left(\{0,1,2,a\},\{012,0a,12a\}\right), with aa being the newly collapsed vertex. To ensure its traversal, we modify the hypergraph to H=({0,1,2,a,b},{012,0a,12b,ab})H^{\prime}=\left(\{0,1,2,a,b\},\{012,0a,12b,ab\}\right), and observe that this hypergraph HH^{\prime} is identical to HH^{\prime} from Iteration 2.1.1.1. Hence we perform an adjustment (see Remarks 6.8(iii)), replacing the edge 12b12b with 2b2b.

Iteration 2.1.1.1.1.1. The input hypergraph is H=({0,1,2,a,b},{012,0a,2b,ab})H=\left(\{0,1,2,a,b\},\{012,0a,2b,ab\}\right). In Step (1), vertex 1 is deleted, resulting in the even graph H=({0,2,a,b},{02,0a,2b,ab})H^{\prime}=\left(\{0,2,a,b\},\{02,0a,2b,ab\}\right). This successfully completes Iteration 2.1.1.1.1.

Iteration 2.1.1.1.2. The input hypergraph is H=({a,b,c},{ab,ac,bc})H=\left(\{a,b,c\},\{ab,ac,bc\}\right), with cc being the newly collapsed vertex. As HH is an even graph, it admits an Euler family that traverses the collapsed vertex. Iteration 2.1.1.1 is thus successfully completed.

Iteration 2.1.1.2. We have H=({a,b,c,d},{ab,ac,bd,cd})H=\left(\{a,b,c,d\},\{ab,ac,bd,cd\}\right), where dd is the newly collapsed vertex. Again, HH is an even graph, thus admitting an Euler family that traverses the collapsed vertex. Hence Iteration 2.1.1 is successfully completed.

Iteration 2.1.2. Identical to Iteration 2.1.1.2., successfully completing Iteration 2.1.

Iteration 2.2. The input hypergraph is H=({3,4,5,a},{34,35a,45a})H=\left(\{3,4,5,a\},\{34,35a,45a\}\right), with aa being the collapsed vertex. To ensure its traversal, we first modify the hypergraph to H=({3,4,5,a,b,c},{34,35c,45b,ab,ac})H^{\prime}=\left(\{3,4,5,a,b,c\},\{34,35c,45b,ab,ac\}\right). We then choose a minimal edge cut F={35c,45b}F=\{35c,45b\}. The hypergraph H\FH{\backslash}F has three connected components, and we choose a bipartition {V0,V1}\{V_{0},V_{1}\}, with V0={3,4,a,b,c}V_{0}=\{3,4,a,b,c\} and V1={5}V_{1}=\{5\}. Furthermore, we choose the edge cut assignment α\alpha with α(35c)=α(45b)=0\alpha(35c)=\alpha(45b)=0. As α1(01)=\alpha^{-1}(01)=\emptyset and Hα[V1]H^{\alpha}[V_{1}] is empty, we only need to test Hα[V0]H^{\alpha}[V_{0}] (Iteration 2.2.1).

Iteration 2.2.1. We have H=({3,4,a,b,c},{34,3c,4b,ab,ac})H=\left(\{3,4,a,b,c\},\{34,3c,4b,ab,ac\}\right), which is an even graph. This successfully completes Iterations 2.2 and 2.

We conclude that the original input hypergraph HH admits an Euler family.

Note that Algorithm 6.7 performed on HH runs very similarly, except that Iteration 1 is omitted because HαH^{\alpha} has more than one non-empty connected component.

7 Conclusions

In this paper, we proved several results showing that, using an edge cut of a hypergraph HH, the problem of existence of an Euler family (tour) in HH can be reduced to the analogous problem in smaller hypergraphs derived from HH. These results led to Algorithms 5.5 and 6.6 for finding Euler families, and Algorithms 5.6 and 6.7 for finding Euler tours. We shall now compare the two algorithms in each pair.

Remarks 7.1

Comparison of Algorithms 5.5 and 6.6.

  1. (i)

    In the worst case, in Algorithms 5.5 and 6.6, we need to check all edge cut assignments α:FI[2]\alpha:F\to I^{[2]} and α:F2[2]\alpha:F\to\mathbb{Z}_{2}^{[2]}, respectively. Since |I||2||I|\geq|\mathbb{Z}_{2}|, this loop will require at least as many iterations in Algorithm 5.5 as in Algorithm 6.6, and possibly many more.

  2. (ii)

    In the same loop, the number of recursive calls in Algorithm 5.5 can be anywhere between 1 and |I||I|, inclusive, while Algorithm 6.6 requires 2 recursive calls.

  3. (iii)

    The size of the input hypergraph HH^{\prime} for a recursive call in Algorithm 5.5 depends heavily on FF and α\alpha, and would be hard to estimate. In Algorithm 6.6, however, the expected size is roughly 12|H|\frac{1}{2}|H|.

  4. (iv)

    Constructing an arbitrary bipartition {V0,V1}\{V_{0},V_{1}\} in Algorithm 6.6 takes a negligible amount of time; however, if we wish to find a bipartition that, as much as possible, equalizes |V0||V_{0}| and |V1||V_{1}| — see Remark 6.8(v) — then we may need to search through all 2|I|112^{|I|-1}-1 bipartitions, and this step may increase the time complexity of Algorithm 6.6.

  5. (v)

    In Algorithm 5.5, the recursive calls use as the input the connected components of HαH^{\alpha}, while in Algorithm 6.6, the two collapsed hypergraphs need to be constructed first, and then (if FF contains edges of cardinality at least 3) further modified using Lemma 6.5. These operations, however, do not increase time complexity.

  6. (vi)

    The time complexities of Algorithms 5.5 and 6.6 can be compared in a similar way, with very similar results, as in Remark 7.2(vi) below for Algorithms 5.6 and 6.7.

Remarks 7.2

Comparison of Algorithms 5.6 and 6.7.

  1. (i)

    The main disadvantage of Algorithm 6.7 is that it may have to resort to using Algorithm 5.6 if HH has no edge cut of cardinality at most 3.

  2. (ii)

    The second disadvantage of Algorithm 6.7 is that it uses an external algorithm to find a minimum edge cut; see Remark 6.8(ii). As mentioned in Remark 5.7(iv), efficient algorithms for this problem do exist [4].

  3. (iii)

    In the worst case, the main loop in Algorithm 5.6 requires (|I|+12)|F|{{|I|+1}\choose 2}^{|F|} iterations (see Remark 5.7(v)), while the main loop in Algorithm 6.7 requires (2|I|11)3|F|(2^{|I|-1}-1)\cdot 3^{|F|} iterations (see Remark 6.8(iv)). If |I|=2|I|=2, then the two numbers are the same; however, assuming |F||F| is bounded, the number of iterations in Algorithm 6.7 grows much faster with |I||I|.

  4. (iv)

    In the same loop, Algorithm 5.6 requires 1 recursive call, while Algorithm 6.7 requires 1 or 2 recursive calls, depending on whether Step (8b) or (8c) applies, respectively.

  5. (v)

    In Algorithm 5.6, a recursive call happens only with a hypergraph HH^{\prime} that is the unique non-trivial connected component of HαH^{\alpha}, hence its size is close to the size of |H||H| (but we expect that the number of edge cut assignments α\alpha requiring a recursive call will be small). In Algorithm 6.7, the expected size of HH^{\prime} is either very close to |H||H| (if Step (8b) applies) or approximately 12|H|\frac{1}{2}|H| (if Step (8c) applies).

  6. (vi)

    For an overall comparison of time complexities, let τ(p)\tau(p) and σ(p)\sigma(p) denote the time complexity functions of Algorithms 5.6 and 6.7, respectively, where p=|H|p=|H|. To facilitate the comparison, we shall assume that at any step of the algorithm (including recursive calls) we have 1|F|k1\leq|F|\leq k and 2|I|m2\leq|I|\leq m for some constants kk and mm, and that in any recursive call, we have |H|pc|H^{\prime}|\leq\frac{p}{c} for some constant c>1c>1. In addition, we assume that Step (9) of Algorithm 6.7 is never reached. With these assumptions, we have

    τ(p)(m+12)kτ(pc)m2kτ(pc)(m2k)logcp=plogc(m2k)\tau(p)\approx{m+1\choose 2}^{k}\cdot\tau\left(\frac{p}{c}\right)\approx m^{2k}\cdot\tau\left(\frac{p}{c}\right)\approx(m^{2k})^{\log_{c}p}=p^{\log_{c}(m^{2k})}

    and

    σ(p)2m3kσ(pc)(2m3k)logcp=plogc(2m3k).\sigma(p)\approx 2^{m}3^{k}\cdot\sigma\left(\frac{p}{c}\right)\approx(2^{m}3^{k})^{\log_{c}p}=p^{\log_{c}(2^{m}3^{k})}.

    Thus, τ(p)\tau(p) and σ(p)\sigma(p) are both polynomial in pp; however, which of the polynomial orders is smaller depends on the relationship between kk and mm. Roughly speaking, logc(2m3k)=mlogc2+klogc3\log_{c}(2^{m}3^{k})=m\log_{c}2+k\log_{c}3 is smaller when kk is larger than mm, while logc(m2k)=2klogcm\log_{c}(m^{2k})=2k\log_{c}m is smaller when mm is much larger than kk.


Acknowledgement

The first author gratefully acknowledges support by the Natural Sciences and Engineering Research Council of Canada (NSERC), Discovery Grant RGPIN-2022-02994.

References

  • [1] M. A. Bahmanian and M. Šajna, Quasi-eulerian hypergraphs, Electron. J. Combin. 24 (2017), #P3.30, 12 pp.
  • [2] M. A. Bahmanian and M. Šajna, Connection and separation in hypergraphs, Theory Appl. Graphs 2 (2015), no. 2, Art. 5, 24 pp.
  • [3] J. A. Bondy, U. S. R. Murty, Graph theory. Graduate Texts in Mathematics 244, Springer, New York, 2008.
  • [4] C. Chekuri, C. Xu, Computing minimum cuts in hypergraphs, Proceedings of the Twenty-Eighth Annual ACM-SIAM Symposium on Discrete Algorithms (2017), 1085–1100.
  • [5] Z. Lonc, P. Naroski, On tours that contain all edges of a hypergraph, Electron. J. Combin. 17 (2010), # R144, 31 pp.
  • [6] Y. D. Steimle, M. Šajna, Spanning Euler tours and spanning Euler families in hypergraphs with particular vertex cuts, Discrete Math. 341 (2018), 2808–2819.